Чпу на ардуино своими руками

Добавил пользователь Alex
Обновлено: 18.09.2024

Надо определиться, какие двигатели и какую управляющую электронику для ЧПУ будем использовать. Основным параметром, определяющим размер станка, является размер двигателя, который перемещает нижнюю платформу.

Рама самого дешевого станка с ЧПУ

Зная размеры двигателей можно сделать раму. Здесь описано, как сделать раму для станка с ЧПУ, которая подойдёт для большинства двигателей. Раму можно изготовить с использованием алюминиевого профиля и листа. Это облегчит подвижные платформы станка. Однако увеличит стоимость платформы станка с ЧПУ на Arduino. Кроме того надо учесть, для станка из алюминиевого профиля потребуется сделать утяжелённое основание, чтобы он не "прыгал" при быстрых перемещениях платформ, если вы в будущем захотите установить более "быстрые" шаговые двигатели.

Тип передачи дешевого станка с ЧПУ

Данная рама универсальна, ибо к ней можно приладить, как винтовую передачу, так и ременную. Винтовая передача дешевле и её имеет сделать смысл с самого начала. Если вас не устроит скорость, то можно легко установить ременную передачу. Как установить ременную передачу на станок с ЧПУ на Ардуино описано здесь. Для изготовления винтовой передачи достаточно 2-х подшипников, штыря с резьбой, длина которого равна длине платформы. Я использовал шпильку М6. Кроме того потребуется 6 гаек и 4 шайбы соответствующих размеров. После того, как мы определились и сделали раму, можно определиться, какую передачу будем использовать. Для винтовой передачи всё более или менее очевидно. Для ременной читаем здесь.

Электроника настольного станка с ЧПУ

Электроника простого станка с ЧПУ включает в себя шаговые двгатели, драйверы шаговых двигателей, плата Ардуино, провода.

Двигатели домашнего станка с ЧПУ

Драйверы шаговых двигателей для простого ЧПУ

Контроллер самого дешёвого станка с ЧПУ

В качестве контроллера для домашнего станка с ЧПУ используется плата Arduino UNO. Подойдёт любая модификация Ардуино. Проверялась работа на Arduino Nano, Arduino Mega и их китайских репликах.

Подключение электроники станка с ЧПУ на Arduino

Как подключить дешёвую электронику простейшего станка с ЧПУ описано здесь.

Box-1 ЧПУ v2.0 +4 ось на Arduino RAMPS 1.4 380х480х180

Фрезерные и гравировальные станки для обработки мягких материалов (дерево, пластики, мягкие металлы).

Box-1 ЧПУ v2.0 +4 ось на Arduino RAMPS 1.4 380х480х180

Здравствуйте!
Предлагаю Вашему вниманию мой второй "самодельный" станочек для квартирного использования.

Когда я только входил в курс дела ЧПУ станков, не хотел иметь отдельный ПК с LPT для того, что бы просто попробовать получится ли у меня собрать и запустить станок (так что система MACH3 отпала сразу, а про LinuxCNC вообще молчу - знал что темный лес и даже не лез). Я не был готов вкладываться ни материально, ни временно (ни того, ни другого не хватало). Но по крупицам собирал информацию, так как на то момент только началась эра 3д принтеров. У меня было 2 варианта GRBL, или 3д принтеровская прошивка.
Станок то собрал (не без приключений), но как делать на нем что-то? С большим трудом разобрался, что нужно писать УП - управляющая программа (не говоря о режимах резания, ну и т.п.) И для этого нужна CAM программа, но какую? Долго искал и остановился на Арткаме.
Но прошивка для 3д принтера никак не принимала созданную УП. Подключил GRBL и всё заработало, только не так, как хотелось. Но вопрос решился с отзеркаливанием некоторых осей.
Потом разобрался, что УП для 3Д принтера должна иметь свою "структуру" (не знаю, как это правильно называется). Так давай изучать, что с этим делом делать и полез искать. Выяснилось, что за это отвечает постпроцессор. Так давай и в эти дебри лезть. Но повезло, что в Арткаме это относительно просто, для тех функций, которые мне были нужны на тот момент. + параллельно изучал G-коды.
Так что на это всё у меня ушло примерно 5 лет ( с 2010-2015) самостоятельного поиска информации и понятий (без подсказок форумчан и кого либо), когда было желание и время.
При этом основной мотивацией являлось создавать детали для своих поделок в домашних условиях при "малых" затратах/вложениях.
Но на данном этапе я ещё всё не умею делать на нем то, что хотелось бы. Не всё перепробовал, но уже "запустил" поворотную ось.
Теперь не хватает, терпения и желания осваивать новое ПО для подготовки УП для моей прошивки (созреваю ещё), так как опять лезть в дебри нового ПО, создания УП, создание-корректировки постпроцессора под прошивку 3д принтера для 4-х осей. (и это опять уйма времени с моим-то восприятием читаемой информации)

На данном этапе удалось выяснить на своем опыте:
1) Если желаете просто "поиграться"-поучиться, то смело можно повторять мой проект за исключением заднего "хвоста" станка (к нему очень не удобно добираться чистить, или доставать улетевшую деталь) и его габарита (желательно проектировать с 2-х слоев 21мм фанеры, даже если размером будет меньше - типа так). Тогда даже алюминий можно будет спокойней погрызть.
Если у вас планируются задачи по сложней, то такая конструкция станка не подойдет. (это типа дорогой "игрушки" на которую я потратил больше 1000$ в свое время, но на сегодня я думаю можно вложится и в меньшую сумму не наступая на мои "грабли", за то будет лучше китайских станков из ал. профиля и висячих валов)
2) Шаговый двигатель (ШД) желательно выбирать NEMA23 - 57мм-вый типоразмер для подобного станка, но не приобретать слишком длинные (типа 112мм, будет влиять на скорость перемещения)
3) Выбор мощности БП для питания рассчитываем исходя из используемого драйвера. К примеру 36в номинал драйвера и 6А установлено переключателем = 216Вт и это будет с запасом на 1 ШД и на 1 драйвер (так как драйвер работает как DC-DC преобразователь, и не смотря на то что там 2 фазы), но если используется ШВП, то драйвер желательно выбирать с большим номинальным напряжениям (тогда можно будет достичь большей скорости перемещения, если она нужна, НО НЕ ПРЕВЫШАЕМ НОМИНАЛЬНОЕ НАПРЯЖЕНИЕ НА ДРАЙВЕРЕ!! т.е. если макс. напряжение 50в, то 48в БП нужно скручивать в минимум и получется 40-42в, или 36в БП немного можно докрутить).
Сейчас у меня общее потребление станка в районе 200-250 Вт и было измерено белым китайским ваттметром. (это вкл. шпиндель, работающие 3-4 ШД, плата управление с дисплеем, диодные ленты) Так что для такого станка 600Вт БП с соловой должно хватить. (даже с поворотной осью, но я бы не рисковал, так как я на драйвера подаю только 25в, ну и ESC на 6S питать от него, что бы вращать шпиндель)
4) Направляющие только на опорах 16 мм и выше, или профильные типа HIWIN 15мм. Что бы они в воздухе не висели, а опирались на станину.
5) Ремень не советую, так как он сильно пружинит, но если всё же решитесь на ремнях его делать, то нужно искать ремень по шире и с большей высотой профиля. (желательно всё же потратиться на ШВП) трапецевидными винтами не пользовался, так что не подскажу, но по наслышке - люфтят. Что приводит к поломке фрез, как и с моим ремнем.
По этому я тоже установил ШВП 1204. (но если направляющие 16 мм, то желательно уже ШВП 1604, или 1605 устанавливать)

Если не передумали - приятного чтения и просмотра. (ещё не всё структурировано и дополняется со временем)

1) Механика
Прогиб направляющего вала д12 мм на расстоянии 500 мм.
Теперь был предусмотрен вал на опоре 12 мм (SBR12 700 мм, 500 мм 300 мм + каретки).
С валами на опорах таких прогибов нет как на простых валах, но желательно хотя бы 16 мм-вые ставить. Просто в то время у человека не было в наличии 16-ки и взял 12-ки.
Так что вполне приемлемо.
Шкив - 16 зубов шаг 2,5 мм (16 * 2,5 = 40 мм за поворот)
Ремень - Т2,5 шириной 6 мм (недостаток данного ремня в применении фрезера см. ниже)
Строительная шпилька д14, шаг 2 мм по оси Z. У токаря выточил длинную гайку 30 мм.
Закуплены уже ШВП 1204, установлены 08.03.2019

2) Шум и пыль.
Теперь он закрытого типа с "окном".
Весь станок из влагостойкой фанеры, толщиной 21мм (как и первый, но лучше водостойкую фанеру использовать). Раскройку заказывал на ЧПУ станке.
Скреплен конфирматами.
Установленные мебельные газовые амортизаторы (пружины) для подъема и фиксации двери.
В двери установлено 2 оргстекла размером 558 х 378мм ну и ручка.

3) Электроника.
Наконец-то в коробе, с клеммами, кнопками и с охлаждением.
Установленные следующие компоненты:
- Клон Arduino Mega 2560 Rev3, (Прошита прошивкой Marlin для 3D принтера и управляется через Repetier-Host либо читается с карты памяти УП)
- Плата RAMPS 1.4 под Arduino Mega 2560,
- Драйвер Шагового двигателя DVR8825 (дробление шага 1/32)

- Графический дисплей 126*64 (позволяет печатать с карты памяти без компьютера - нужно переписать расширение УП с *.nc в *.gcode и скопировать на карту памяти)

- Термо-датчики NTC 3950 (один на шаговый двигатель выведен а второй прикреплен к радиатору микрошагового драйвера)

Ещё поставили мощнее предыдущего шаговые двигатели - 23HS6403 2.5A 1.1N.m
Предусмотрена проводка для Екструдера (3D принтера), разных датчиков, сервомотора (для сканирования поверхности будет опускать датчик/выключатель) и для Поворотной оси.
Так же предусмотрены отверстия для перехода на метрическую шпильку по осям Х и У.

Размер станка: 620 х 1150 х 800 мм
Вес: ~80 кг
Рабочая область: 380 х 480 х 180 мм (х у z)
После установки ШВП: 345 х 475 х 150 мм
Точность:
- по оси Z 2/6400 = 0,0003125 мм
- по оси x, y 40/6400 = 0,00625 мм
Повторяемость: в районе 0,05-0,4 мм. Показатели по всем осям одинаковые. (зависят от скорости подачи и материала)
После установки ШВП показания улучшились.
Материал обработки: дерево, пластик, мягкие металы. (3d печать, выжигание, резка лезвием, графопостроитель, гравировка печатных плат)

Шпиндель:
- переходник ER11 8 мм (с валом на 8 мм) но вал двигателя у меня 7 мм, так что отшлифовали на диаметр 7 мм. (ну и токарные работы для корпуса)

- безколлекторный двигатель Turnigy 600 H3736 1970kv (перемотанный и подключен треугольником - это примерно 1000 кв/В, или 25 000 об/мин при 25 В )

- регулятор оборотов HobbyWing Sky-Walker 60A 2-6S
- сервотестер
- блок питания Eltek FLATPACK 1500 24V/50A

7.1) Закидываете готовый код с папки УП Арткама в repetier-host (во вкладке "просмотра печати" есть кнопка "изменить код") И туда вставляете весь код (используете простой текстовый документ для открытия УП, копируете и вставляете в "изменить код")
+ добавил постпроцессор с расширением файла *.gcode , что понятен программе и можно запустить двойным щелчком по файлу с УП

Модифицированный постпроцессор для ArtCAM + с круговой интерполяцией расширение файла *.gcode для SD карты

Файлы копируем в C:\Program Files\ArtCAM 2012\postp

Вот прошивка моя, но глючная немного.
Так что перепишите основные параметры в конфигурации температуры в чистую прошивку (остальные данные заполняете относительно вашего станка)

А вот в этой установлено на 10 минут удержания ШД после завершения работы, если нужно заменить инструмент и у вас ременная передача, как у меня.
В ручную всегда можно отключить удержание ШД, или в программе, или через дисплей.
И нужно не забыть удалить с кода первую команду G92 X0 Y0 Z0 (если используете мой пост процессор), что бы продолжить обработку с новой фрезой с того же места. Главное - вынимаем первый инструмент, вставляем второй, опускаемся Z в "ноль =0" (где поверхность не фрезеровалась), касаемся фрезой поверхности и только после этого закрепляем инструмент (после этого можно приподнять, уйти фрезой в любую точку и запустить УП.), или вынимаем первый инструмент, вставляем второй, закрепляем инструмент, опускаемся, касаемся фрезой поверхности (где поверхность не фрезеровалась) и записываем в первую строку кода G92 Z0 (если коснулись фрезерованной поверхности - зная глубину, то назначаем G92 Z-2 например, или G92 Z2 смотря где находится ваш Z0 - на поверхности, или в плоскости стола).

G28 Z
G92 Z24
G91
G0 Z5
G90

Z to 0 position

Обновился до прошивки 1.1.9 (17.05.2019)

Нужно использовать хоминг, без этого не работает сканирования поверхности.
Если мешают софт лимиты, то их можно отключить командой M211 S0, что бы можно было перемещать оси в отрицательные координаты.
Включить обратно можно командой M211 S1
Поворотка и всё остальное должно работать, но со временем перепроверю. (перезалил, прошивку. не всё работало + вывод на дисплей отключения софт лимитов)
Если всё еще нужно постоянное удержание ШД, то во вкладке Configuration_adv.h находим строку DEFAULT_STEPPER_DEACTIVE_TIME и прописываем 0.
Или же всё под этой строкой заменяем на false. (я оба варианте применил и отключаю ШД через ПК, или дисплей)

С Блютус модулем Bluetooth HC-05
- программируем модуль АТ командами на 115200 скорость, и имя задаем, если хочется;
- на Rx, к модулю рекомендуют ставить делитель напряжения, что бы получить 3,3В, но где-то читал, что работает и 5в сигналом, но лучше не рисковать

Прошил при помощи XLoader прошивкой grbl_v0_9g_atmega328p_16mhz_115200.hex
Управление станком произвожу программой Grbl Controller.

Вот софт, которым я пользуюсь.

- это перемещение холостых ходов равняется рабочей подачей. (Из-за этого увеличивается время обработки.)
- проблема с круговой интерполяцией. (заметил при прохождении по вектору диаметром меньше 3 мм отображает и фрезерует квадрат)

(испытаю позже и выложу результат)
с SD карты и Repetier-Host 1.6.2 дают одинаковый результат фрезерования

Видимо в прошивке дело, буду пробовать Repetier-firmware

Но плюсов больше:
-печать с карты памяти (при наличии экрана)
-возможность менять рабочую подачу во время фрезеровки

Другим ребятам пришлось переделать вал и уже нормально сделали токарку.

Количество зубов на шестерни шаговика 20 шт. Большая шестерня 180 зубов. Редукция получится 9:1
То есть 200 шагов * 32 микрошага * 9 = 57600 микрошага/оборот патрона. (на 360 градусов)
57600/360=160 имкрошагов на 1*(градус, или же в моем случае мм)
Это значение записываем в прошивке, или EEPROM экструдера в графе мм/шаг

Ещё правда не знаю, как совмещу G-код (УП) с прошивкой Marlin.
Буду как-то разбираться, когда руки дойдут.

Успел пообщаться с человеком, который немного пояснил кое-что.
Цитирую его письмо:

у меня сейчас 5 осей. и ось 4 и 5 работают пропорционально друг другуда реализовал как на смешивающем экструдере. с помощью G кода "Т1" или "Т0" можно выбрать 4ю и 5ю ось раздельно, а с помощью G кода "М 164 можно выбрать соотношение вращения оси 4 и 5 вместе.

Да и в прошивке марлин сегодня можно запускать совместно ось хуz и еще 16 осей с названием Е1. Е16. это делается с помощью

2 сторок в прошивке в файле Configuration, нужно раскоментировать функции мультиэкструдера. они почти в самом начале.

ты как бы выбрал что у тебя один экструдер, то есть ось Е
дальше,

раскоментировав эти строчки

ты добавишь ось Е1, Е2. до 16,

обрати на это внимание, на всякий случай.

но там есть еще тонкости, суть в том, какую модель экструдера(виртуального) ты для себя выберешь, чтобы было удобно управлять этими осями.

но выбирать какую именно ось Е1 или Е3 ты в данный момент будешь использовать придется командами Т1 или аналогично Т3, ты как бы указываешь станку, что ты выбрал инструмент №1 или инструмент №3, чем и являются оси вращения и поворотные столы. но это не тот инструмент, которым является фреза, а именно оси вращения 4я и соответственно 6я ось, я инструмент обработки или тип фрезы и ее параметры ты задаешь в управляющей программе типа Визуал милл или Повер милл.


это так - для общей информациии, есть и другие способы. нужно разные типы смешивающих экструдеров использовать у некоторых одно сопло, но несколько двигателей для подачи разных цветов пластика, а некоторые экструдеры наоборот много сопел но по одному двигателю на экструдирование пластика, и в каждый такой будет всставленн свой тип пластика,

должны быть заменены на

для 4 и 5 оси по отдельности,
или на

для + 16 осей типа Е1. Е16, для совместного их использования, но тут нужно прописывать в G коде то какие оси будут крутиться в каком процентном соотношении друг с другом, с помощью того, что указывается какие цвета с помощью каких экструдеров смешиваються,

к примеру красный цвет это поворот E1 на 100% то есть на один оборот, тогда как ось E2 выполнит 50% от оси Е1, и ось Е3 сделает поворот на 30% от оси Е1.

а синий цвет с другим соотношением Е1-Е16

Для начала начну с 4-й, поворотной оси, без всяких комбо, где просто нужно дописать в коде ось Е. Для этого нужно определиться с CAM и написать для него постпроцессор.

Добрались руки до поворотки в АртКАМ-е
Вот модифицированный постпроцессор X-->B теперь же Х --> Е

Как будет ещё какой-то прогресс, буду дополнять первый пост темы и саму тему.

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

В данной статье речь пойдет о простом способе нанесении гравировки на металлическую поверхность - ЭЛЕКТРОИСКРОВЫМ способом. Это очень старая технология и она появилась вместе с изобретением электричества.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

В советское время производили бытовые гравёры по металлу и выжигатели по дереву - "ОРНАМЕНТ-1". Правда сейчас их достать довольно затруднительно.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

У них очень простая схема.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Принцип работы простой - в ручке электро искрового гравёра находится электромагнитное втягивающее реле - соленоид. Сердечник соленоида механически , жестко, связан с искровым электродом. Когда электродом(+) притрагиваемся к проводящей поверхности с которой подключен второй провод цепи (обычно "-") , то происходит замыкание цепи и по соленоиду протекает ток, в результате образуется магнитное поле - и соленоид втягивает сердечник , жестко связанный с электродом - происходит разрыв цепи питания, при этом сжимает пружину обратного хода. В момент разрыва цепи питания образуется искровой разряд между электродом и проводящей поверхностью. Температура плазмы разряда достаточно высокая, чтобы проплавить поверхность- оставить точку каверну. После разрыва цепи магнитное поле выключается и перестаёт действовать сила, втягивающая сердечник с электродом. Пружина обратного хода распрямляется, возвращая сердечник в изначальное положение и происходит контакт электрода с проводящей поверхностью и цикл повторяется, пока электрод поднесён к проводящей поверхности на расстояние рабочего хода сердечника соленоида. Параллельно соленоиду часто ставят конденсатор, чтобы образовать колебательный резонансный контур. С настроенным колебательным контуром параметры искро образования более стабильны.

На деле это выглядит так

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Или вот чертеж очень древней конструкции электроискрового карандаша

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Бывают и другие конструкции, например такие

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

В интернете очень много разных конструкций - я выбрал для повторения конструкцию на основе автомобильного втягивающего реле. Для этого нашёл в гараже старое реле управления воздушной заслонкой двигателя - оно на 12 вольт и имеет сопротивление катушки 22 ома. Новая деталь выглядит примерно так:

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Мне из этого механизма нужна только электромагнитная катушка в корпусе и втягивающий сердечник. На сердечник-шток приделал держатель электрода. Электроды, по советам сети интернет, лучше использовать -медные, железные, вольфрамовые и гафниевые. Их можно прикупить в магазинах, торгующих оборудованием для сварки и плазменной резки. Или просто использовать кусочки медной проволоки или кусок гвоздя с откушенной шляпкой подходящего диаметра.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Вид со схемой электропитания- приведен на фото ниже. Силовой трансформатор - стандартный ТН36. Он имеет несколько вторичных обмоток 6,3 вольта на 1,5 ампера каждая - их можно соединять последовательно для увеличения напряжения - 6 или 12 или 18 или 21 вольта (напряжения могут быть немного выше или ниже в зависимости от напряжения входной сети 230 вольт). Или можно соединить параллельно - тогда будет увеличен ток. После трансформатора диодный мост со сглаживающим конденсатором. На самой катушке -параллельно ей припаян конденсатор 0,025 мкф - для улучшения искрообразования. Этот конденсатор надо подбирать к каждой катушке . В зависимости от катушки - его надо подбирать в пределах 0,5 мкф - 0,01 мкф и его напряжение должно быть, раза в четыре, выше рабочего.

Фото как работает вся эта конструкция - ток ограничен сопротивлением катушки и мощностью трансформатора - у меня он получился в пределах 1-0,5 ампера.

Так как я не нашёл в сети интернет любительских конструкций для искрового гравёра пришлось мудрить самому. Самый главный вопрос - на каком программном обеспечении делать гравёр - сразу на ум приходит два пути. Первый - на основе ПО для лазерных граверов - управление по двум координатам Хи У. Второй, на основе ПО для фрезеров - управление по трём (XYZ) и более координатам. Но, для фрезера процесс подготовки управляющих кодов более трудоёмкий и сложный. И занимает в разы больше времени. Поэтому решил пытать счастья на основе конструкции для лазерного гравёра. Делал раньше конструкцию лазерного гравёра на основе ДВД компьютерного привода, поэтому для прототипа электроискрового гравёра решил использовать что то подобное, но с учётом опыта и наличия комплектующих. А в наличии были шаговые двигатели 4401 и выбраковка линейных рельс длиной по 20 см.

В итоге получился такой конструктив

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Один ремень пришлось сшивать из двух кусков - на цельный длины не хватило.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Оси Х и У - на рельсах с ремённым приводом. А Ось Z - ручная регулировка по высоте.

Напечатал нужные детальки - накладка держателя столика

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

ЧПУ электро искровой гравёр на ARDUINO NANO 3

В собранном виде получилось так

ЧПУ электро искровой гравёр на ARDUINO NANO 3

По плате управления - собрал все на ARDUINO NANO 3 и на перепаянном shield 111303. По шилду много информации на этом сайте, поэтому подробно останавливаться не буду. Залил внутреннюю прошивку GRBL F1.1.

Со схемой управления искровой головкой пришлось сильно помудрить, так как простая схема не подошла - от искровой головки в линии питания и сигнальные линии идет очень много помех. Поэтому пришлось паять ТТЛ управление с оптронной развязкой и делать раздельное питание от разных источников питания. Иначе шли сбои при выполнении программы. Также пришлось поставить дополнительный дроссель с конденсатором между блоком питания и платой управления.

Схема управления сделана на основе такой схемы

ЧПУ электро искровой гравёр на ARDUINO NANO 3

К шилду подключено по аналогии с лазерным гравёром к "Z+" и " Z-" - земля.

"Земли" (общий провод) силовых частей платы управления и искровой головки РАЗДЕЛЬНЫЕ. Подключается к шилду - вот по этой аналогии.

ЧПУ электро искровой гравёр на ARDUINO NANO 3

Управление и формирование исполняемых кодов - получилось использовать БЕСПЛАТНУЮ программу для формирования управляющих кодов для лазерных гравёров LaserGRBL.

Реальная работа представлена на видео. Это первый прототип, показывающий принципиальную возможность такого гравёра. После того , как он заработал - полезли косяки конструкции - шток реле имеет технологический зазор - поэтому он имеет люфт , что негативно сказывается на точности - т.е. конструктив электроискровой головки надо переделывать - шток удлинять и помешать в линейный подшипник. Также требуется смазывать поверхность металла для скольжения электрода по поверхности металла при гравировке - смазкой или жидкостью - я смазал просто машинным маслом. Это непонятно как сказывается на гравировке. то есть надо подбирать более лучший состав. Также -а на чём гравировать, на чем настраивать гравёр ? Я использовал жесть от консервной банки - дешево, но не самый лучший вариант - так как она покрыта оловом (бывают и другие покрытия). Покрытия у жести бывают разные - их тоже надо выбирать для лучшего результата. Жесть надо лучше ровнять. Но в принципе, рабочий ход у реле 5 мм - поэтому не очень ровная поверхность и люфты у рельсовых направляющих не сильно снижают работоспособность гравёра, но качество страдает.

Короткое видео с работой

Всем удачи и хорошего настроения.

Станки с ЧПУ - это компьютеризированные станки с числовым программным управлением, которые могут выполнять определенный набор операций в соответствии с заложенной в них программой. Подобные станки могут управляться с помощью компьютеров (наиболее сложные станки) или микроконтроллеров. Станки с ЧПУ обычно имеют в своем составе как шаговые, так и серводвигатели. К станкам ЧПУ относятся и плоттеры, которые могут рисовать какие-либо объекты по заданной программе.

Внешний вид плоттера с ЧПУ на основе Arduino Uno

В этом проекте мы рассмотрим создание самодельного (DIY) плоттера с ЧПУ на основе платы Arduino Uno. Из всех плоттеров, которые можно изготовить самому, этот является одним из самых простых. Наш самодельный плоттер сможет рисовать большинство основных форм, текстов и даже мультфильмов. Он работает примерно по такому же принципу, как и человеческая рука, но намного быстрее и точнее чем может рисовать человек. Подробно процесс функционирования этого плоттера вы можете посмотреть на видео, приведенном в конце статьи.

Работа плоттера с ЧПУ

Для работы плоттера с ЧПУ при построения графиков с ЧПУ требуется 3 оси (ось x, ось y и ось z). Оси x и y работают в унисон для создания 2D-изображения на обычной бумаге. Эти оси (x и y) расположены под углом 90 градусов друг к другу таким образом, что любая точка на плоской поверхности определяется заданным значением x и y. Ось z используется для подъема и опускания пера на плоскую бумагу.

В зависимости от того, какое изображение необходимо нарисовать, компьютер будет генерировать соответствующие координаты и отправлять их на микроконтроллер через USB-порт. Микроконтроллер интерпретирует эти координаты, а затем управляет положением двигателей для создания изображения. В качестве микроконтроллера в данном проекте мы использовали плату Arduino.

Необходимые компоненты

Аппаратные компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Шилд (плата расширения) драйвера двигателей L293D (купить на AliExpress).
  3. Старый HP/Epson принтер. Можно использовать старый компьютерный DVD привод.
  4. Мини сервомотор (купить на AliExpress).
  5. Алюминиевый лист (710mm x 710mm).
  6. Органическое стекло.
  7. Болты и гайки.
  8. Ручка.

Плата Arduino, драйвер мотора и ручка

Примечание : механическая часть этого проекта может во многом отличаться от того, что вы видите на фотографиях в этой статье. Но какую бы “механику” вы не использовали, убедитесь что в ней есть сервомотор. Мы, к примеру, не смогли найти старый DVD привод, поэтому использовали части от старого принтера для конструирования нашего плоттера.

Шаговый двигатель от старого принтера
Лист алюминия

Инструменты

Отвертка
Дрель
Режущий инструмент (ножовка)
Клей
Стендовое устройство

Программное обеспечение

Arduino IDE version 1.6.6 или новее
Processing IDE version 3.1.1 или новее (последнюю версию можно скачать здесь)
Inkscape version 0.48.5 или новее. (скачать здесь)
Grbl controller (опционально)

Основание для ЧПУ плоттера

Основание нашего плоттера – это база, к которой прикрепляются все элементы конструкции чтобы устройство получилось жестким и в то же время портативным. Для основания нашего плоттера мы использовали алюминиевый лист поскольку он легкий, прочный, его легко сгинать и резать, а еще он не ржавеет (вдруг ваши внуки через много-много лет будут рисовать на этом плоттере).

Дизайн и размеры основания показаны на следующем рисунке (все размеры указаны в мм):

Размеры основания для нашего плоттера

После проведения необходимых операций сгинания и обрезания у нас получилась следующая конструкция:

Внешний вид собранного основания для плоттера

Сборка X, Y и Z осей

Для сборки x и y осей мы использовали две опоры (люльки) от принтера. Каждая из этих частей содержит шаговый двигатель, а механизм ременной передачи используется для перемещения картриджа в прямом и обратном направлении.


Для z-оси мы использовали мини сервомотор, который мы прикрепили к y-оси с помощью клея. Этот сервомотор будет использоваться для подъема и опускания ручки (карандаша). Также необходимо сконструировать хороший поддерживающий механизм, который бы позволял свободно поднимать и опускать ручку.

Вид основания с одной установленной опорой от принтера

Вид основания плоттера с двумя установленными опорами от принтера

Платформа рисования для плоттера

В связи с огромными размерами нашей машины она может рисовать на листах бумаги формата A5. Поэтому мы вырежем платформу размера A5 (148mmx210mm) из оргстекла и приклеим ее к движущейся части x-оси нашего плоттера.

Окончательный вид нашего ЧПУ плоттера

Схема плоттера

Вставьте шилд (плату расширения) драйвера двигателей L293D в плату Arduino. Эта плата расширения может одновременно управлять двумя шаговыми и двумя серводвигателями. Присоедините к ней два шаговых двигателя как показано на рисунке. Соединения “земли” необходимо оставить не соединенными поскольку у нас двигатели биполярного типа.

Внешний вид шилда (платы расширения) драйвера мотора L293D

Также подключите мини сервомотор к разъему servo1. Подайте питание напряжением 7.5V - 9V на порт питания шилда драйвера мотора. Устройство готово к тестированию.

Написание программы управления плоттером для Arduino и тестирование проекта

Перед началом написания программы необходимо удостовериться в том, подключены ли шаговые двигатели и работают ли они корректно.

Поскольку в нашем проекте мы используем шилд драйвера двигателей L293D нам необходимо скачать библиотеку AFmotor Library. Затем добавьте ее в каталог библиотек Arduino IDE. Переименуйте его в AFMotor. Если у вас открыта Arduino IDE, то закройте ее и снова откройте (то есть перезапустите), кликните на пункт меню file -> examples -> Adafruit Motor Shield Library -> stepper. Убедитесь в том, что вы выбрали правильный COM порт и плату Arduino и затем загрузите код этого примера в вашу плату Arduino. После этого на шаговом двигателе 1 вы должны наблюдать некоторые движения.

Для того чтобы протестировать работу шагового двигателя 2 измените порт двигателя с 2 на 1 в следующем фрагменте кода и снова загрузите код примера в плату Arduino.

Читайте также: