Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Создание 3D-проволочного гнущего станка на Arduino: полное руководство

В этом уроке я покажу, как построил Arduino-станок для 3D-гибки проволоки. Это классическая мехатронная система: механика, электроника, программирование. Отличный проект для студентов и новичков в мехатронике.

Смотрите видео или читайте текстовый урок.

Принцип работы

Проволока проходит через ролики-выпрямители. Шаговый двигатель (подача) точно подаёт проволоку к механизму гибки (второй шаговый + микросерво). Третий шаговый (Z-ось) поворачивает механизм гибки вокруг проволоки, создавая 3D-формы. Мозг — Arduino на кастомной PCB. Программа: функции для фигур (звезда, куб, стойка) и ручной режим через Serial Monitor.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

3D-модель станка

Проектировал в CAD. Ссылки на модель на Thangs и STL для печати. Шестерни, подшипниковые опоры, муфты — на 3D-принтере (Creality CR-10, качество отлично).

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Сборка механики

Основа: два листа МДФ 8 мм и 4 столба из фанеры 18 мм (клей + саморезы). Горизонтальные рельсы: алюминиевые трубы 16 мм (2×27 см), вертикальные — 20 мм (3×45 см). В деревянных брусьях фрезой делаем пазы под трубы.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Слайдеры: доски 21×21 см, втулки M8, подшипники 22 мм (вертикаль) и 16 мм (горизонталь). Регулировка зазора: расширил пазы, сделал перпендикулярные пробивки, затянул трёщотки для сближения рельс.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Z-ось: полая медная труба 15 мм (30 см) через подшипники 6202. Шестерня м=1.5, z=30 на втулках M3. Шаговый Z с 18-зубчатой шестернёй на кронштейне со слотами для центровки.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Подача (Feeder): NEMA 17 на верхней пластине. На вал — 3D-муфта с медной трубкой (ролик). Противоположная сторона: рычаг с подшипником, прижимаемый к ролику болтом с T-гайкой для регулировки сцепления.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Выпрямитель: 3 ролика с одной стороны, 2 с другой. Ролики — подшипники с 3D-наколенниками (прутковидные канавки). Натяжение гайками. На входе/выходе — проводники из фанеры.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Механизм гибки (Bender): на куске МДФ — NEMA 23 (отверстие 38 мм). На валу — шестерня м=2.5, z=18. Сопряжена с большой шестернёй z=30 с интегрированной пластиной под серво MG996R. Серво двигает зубчатую рейку (штырь), выходящий из шестерни — он гнёт проволоку. На рейке медная трубка (контакт), на шестерне — подшипник (эпоксидка). Штырь на рожке серво (2 М3 болта).

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Крепление биендера к Z-оси: два 3D-хомута на M6 болтах/гайках, затянутые на вал Z. Микро-концевик внизу для хоуминга биендера. Сопло 3 мм на выходе проволоки.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Электрическая схема

Создание 3D-проволочного гнущего станка на Arduino: полное руководство

3 шаговых драйвера DRV8825. Питание 12В ≥3А. Серво MG996R — отдельный стабилизатор LM7805 (5В), т.к. стабилизатор Arduino не потянет. Концевик с pull-up на цифровой пин.

Компоненты

  • Шаговые NEMA 17 (2 шт.) и NEMA 23 (1 шт.)
  • Драйверы DRV8825 (3 шт.)
  • Микро-концевик
  • БП 12В 2-3А, джек питания
  • Arduino (Uno/Nano/Mega)

Проектирование PCB

Кастомная плата в EasyEDA (двуслойная). Распиновка драйверов, выбор микрошага (перемычки), доп. концевик, свободные пины Arduino, клеммники питания.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Заказ у JLCPCB (спонсор). Качество отлично.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Сборка PCB

Pin-распайки для всего (легкое подключение/отключение). Малые детали (C, R, LM7805, клеммники) паяем напрямую. Устанавливаем драйверы и Arduino. Подключаем питание, шаговые, серво (D2, питание от LM7805). Выбираем микрошаг 1/16 (перемычки на соответствующих пинах драйверов).

Создание 3D-проволочного гнущего станка на Arduino: полное руководство
Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Arduino-код

Библиотека AccelStepper (Mike McCauley) для шаговых, Servo для серво. Пины: feeder(5,6), zAxis(7,8), bender(9,10), servo(2), концевик(11). В setup(): серво вверх (40°), макс. скорость 2000, хоуминг биендера на концевик → 0 шагов → отъезд 1400 шагов назад → новая нулевая позиция.

#include <AccelStepper.h> #include <Servo.h>
#define limitSwitch 11
AccelStepper feederStepper(1, 5, 6);
AccelStepper zAxisStepper(1, 7, 8);
AccelStepper benderStepper(1, 9, 10);
Servo servo01;
String dataIn = ""; String manualStatus = ""; int count = 0; int dist;
void setup() {
  Serial.begin(9600); pinMode(limitSwitch, INPUT_PULLUP);
  servo01.attach(2); servo01.write(40);
  feederStepper.setMaxSpeed(2000); zAxisStepper.setMaxSpeed(2000); benderStepper.setMaxSpeed(2000);
  while (digitalRead(limitSwitch) != 0) { benderStepper.setSpeed(1200); benderStepper.runSpeed(); benderStepper.setCurrentPosition(0); }
  delay(40);
  while (benderStepper.currentPosition() != -1400) { benderStepper.setSpeed(-1200); benderStepper.run(); }
  benderStepper.setCurrentPosition(0);
}

Loop(): команды из Serial: "manual", "star", "cube", "stand".

void loop() {
  String mode = Serial.readString();
  if (mode.startsWith("manual")) manual();
  if (mode.startsWith("star")) star();
  if (mode.startsWith("cube")) cube();
  if (mode.startsWith("stand")) stand();
}

Функция star() — 5-конечная звезда

Цикл 5 раз. Подача 38 мм (×48 шагов/мм). Сгиб 52° (angleConst=18), возврат, снова подача, штырь вниз, новый нулевой угол -42°, штырь вверх, сгиб 105° в другую сторону, -63°, штырь вниз. Счётчик++.

void star() {
  while (count != 5) {
    int feed = 38; int feedDistance = feed * 48;
    while (feederStepper.currentPosition() != feedDistance) { feederStepper.setSpeed(1200); feederStepper.run(); }
    feederStepper.setCurrentPosition(0); servo01.write(40); delay(200);
    int angleConst = 18;
    while (benderStepper.currentPosition() != -52 * angleConst) { benderStepper.setSpeed(-700); benderStepper.run(); }
    benderStepper.setCurrentPosition(0); delay(100);
    while (benderStepper.currentPosition() != 52 * angleConst) { benderStepper.setSpeed(1200); benderStepper.run(); }
    benderStepper.setCurrentPosition(0); delay(100);
    while (feederStepper.currentPosition() != feedDistance) { feederStepper.setSpeed(1200); feederStepper.run(); }
    feederStepper.setCurrentPosition(0); delay(100);
    servo01.write(130); delay(200);
    while (benderStepper.currentPosition() != -42 * angleConst) { benderStepper.setSpeed(-1200); benderStepper.run(); }
    benderStepper.setCurrentPosition(0); delay(200);
    servo01.write(40); delay(200);
    while (benderStepper.currentPosition() != 105 * angleConst) { benderStepper.setSpeed(700); benderStepper.run(); }
    benderStepper.setCurrentPosition(0); delay(50);
    while (benderStepper.currentPosition() != -63 * angleConst) { benderStepper.setSpeed(-1200); benderStepper.run(); }
    delay(100); servo01.write(130); benderStepper.setCurrentPosition(0); count++;
  }
}

Аналогично cube() (3 ребра, поворот Z, 2 ребра, поворот Z, сложная последовательность с штырём) и stand() (стойка). Ручной режим: команды "f<мм>" (подача), "b<угол>" или "b-<угол>" (сгиб), "z<угол>" или "z-<угол>" (Z-ось). Парсинг через substring().

if (dataIn.startsWith("f")) {
  dataInS = dataIn.substring(1); dist = dataInS.toInt(); dist *= 48;
  while (feederStepper.currentPosition() != dist) { feederStepper.setSpeed(1200); feederStepper.run(); }
  feederStepper.setCurrentPosition(0); delay(100);
}

Полный код (star, cube, stand, manual) в конце статьи. Известная проблема: выпрямитель слабо работает — при сильном затягивании теряется сцепление подачи. Решение: более жёсткий материал вместо медной трубки или другой механизм подачи.

Создание 3D-проволочного гнущего станка на Arduino: полное руководство

Надеюсь, проект понравился. Вопросы в комментариях, смотрите коллекцию Arduino-проектов.

Производственный процесс

  1. Эволюция и производство швейных машин: от изобретений XIX века к современной автоматизации
  2. Колючая проволока: история, конструкция и современное применение
  3. Премиальный станок для производства шестиугольной плетеной сетки для сельского хозяйства и птицеводства
  4. Почему станки электроэрозионной резки проволокой обеспечивают точность и экономию затрат
  5. Станки для гибки листового металла: Типы, процессы и применение
  6. Проволочная электроэрозия в Тайване: точные инсайты металлообрабатывающей индустрии
  7. Лучшие станки с проволочной ЭРО: решения точной резки из Тайваня
  8. Профессиональный станок с ЧПУ для гибки труб: точность и эффективность
  9. Станки для гибки профильных труб: экспертное руководство
  10. Продвинутый гидравлический трубогиб для точной работы в мастерской