Добрый день читатели блога Mysku, я собираюсь рассказать вам, как и для чего я приобрел комплект для сборки CNC гравера на основе Arduino Nano Board и CNC Shield V4.0. Этот кит приобретался с целью модернизации уже имеющего лазерного гравера NEJE DK-5.
После установки комплекта для сборки CNC появилась возможность:
1. использовать сторонний софт;
2. печатать градациями серого, управляя током и длительностью импульсов лазера.
Родной софт и стоковая плата управления гравером такого не позволяли.
За подробностями под кат
Итак, здесь на муське уже был обзор на
мой гравер, и на подобные граверы (
раз,
два,
три,
четыре), во всех случаях отмечались недостатки (очень серьезные) интерфейса родного ПО, идущего в качестве управляющей программы гравера.
Помимо неудобного интерфейса, отсутствует хоть сколько-то адекватная регулировка мощности лазера (есть ползунок, меняющий длительность импульса, значения которого выставляются в «попугаях»). Ток практически на всех моделях одинаковый, отсутствует термостабилизация диода (что сильно сказывается на итак не сильно надежных китайских диодах). Также необходимо отметить, что в ПО существует только одна степень прожига — для ч/б рисунков прожиг только «черного» цвета, без оттенков. Либо жжет, либо нет.
Так как лазерная тема для меня несколько новая и сколько-нибудь стоящий опыт в разработке лазерных систем отсутствует, то я выбрал готовый набор для создания ЧПУ станка (CNC kit). При выборе руководствовался форумом (форум
lasers.org.ru) и советами форумчан (Спасибо, Aslan54 !). Хочу сразу отметить, что в лоте два набора. Почему я приобрел сразу два, напишу позже. Также есть наборы CNC kit на основе CNC шилда и Arduino UNO. Отличий по производительности нет (одна и та же ATmega328), но Arduino Nano более компактная и имеет Mini-USB подключение. Также, хочу отметить, что данные CNC шилды не совместимы из-за различий в расположении гнезд расширения для Arduino (для NANO шилд версии V4 и для UNO — V2,V3 соответственно).
Сразу укажу, что есть точно такой же лот, но
одним комплектом. А также есть аналоги: комплект на основе CNC V3 shield на
UNO , так и CNC V2 shield на
UNO R3 и
gearbest.com/3d-printer-parts/pp_226883.html. В этом случае есть смысл посмотреть V3 шилд — конкретно на него больше описания, а также шилд имеет больше разведенных (и сгруппированных, подписанных) на шилде выходов — под концевики, охлаждение, дополнительное оборудование. На Nano это тоже все есть, но разведены только пины под лазер, остальное все в общих пинах. Также можно взять не комплектом, а по отдельности все компоненты:
Uno R3,
Shield V3 и в этом случае имеет смысл приобретение не драйверов А4988, а драйверов типа
DRV8825, которые имеют несколько больший рабочий ток, в том числе больший рабочий ток без радиатора охлаждения. Мне больше понравился комплект на Nano, три оси, плюс выход под лазер/шпиндель имеется, концевики осей тоже, остальное мне не нужно. Прошивки у всех шилдов совместимые, но хочу отметить, что необходимо уточнять управляющие выходы на шпиндель/лазер: обычно D11 (но для разных версиях CNC шилда могут быть разведены другиепины, например D12).
Правится в прошивке заменой пинов соответственно.
В прошивке GRBL в файле config.h ищем код:
// Enables variable spindle output voltage for different RPM values. On the Arduino Uno, the spindle
// enable pin will output 5V for maximum RPM with 256 intermediate levels and 0V when disabled.
// NOTE: IMPORTANT for Arduino Unos! When enabled, the Z-limit pin D11 and spindle enable pin D12 switch!
// The hardware PWM output on pin D11 is required for variable spindle output voltages.
// #define VARIABLE_SPINDLE // Default disabled. Uncomment to enable.
в котором указывается про использование конкретных пинов для шпинделя. Переназначить текущий пин шпинделя можно в файле cpu_map.h. Далее смотрим на код, управляющий скоростью шпинделя ( и сигналом ШИМ лазера).
So for a 5V pin, 1000
// max rpm, and 250 min rpm, the spindle output voltage would be set for the following "S" commands:
// "S1000" @ 5V, "S250" @ 0.02V, and "S625" @ 2.5V (mid-range). The pin outputs 0V when disabled.
#define SPINDLE_MAX_RPM 1000.0 // Max spindle RPM. This value is equal to 100% duty cycle on the PWM.
#define SPINDLE_MIN_RPM 0.0 // Min spindle RPM. This value is equal to (1/256) duty cycle on the PWM.
Это значит, что в зависимости от установленного значения SPINDLE_RATE выходное напряжение будет изменяться в пределах от 0 до 5 В.
При необходимости, выставляем соответственно требуемые значения для лазера. Для тех, у кого лазер с TTL управлением на 12В необходимо будет сделать конвертер уровней.
.
Описание лота. Фото посылки
Пришло все в пакете, внутри обмотано пупыркой, наборы россыпью, но каждая деталь (кроме кабелей) в отдельном антистатическом запаянном пакетике.
Вот пару фото маркировки платы. Как видно, подписаны пины Nano и самого шилда, что очень удобно.
Дефект доставки. Не могу обойти стороной небольшое безобразие, которое приключилось при доставке. Так как комплект поставляется в пакете и пупырке, то есть некоторая вероятность, что содержимое может быть повреждено. Штекерная часть плат была закрыта пенополиэтиленом, но это все равно не спасло ее от Почты России!
На фото далее загнутые контакты А4988 и CNC шилда. Все это правится пинцетом, но достаточно неприятно. Если бы я не заметил, могло быть при включении что угодно, вплоть до КЗ. Претензию еще не писал продавцам, пока в раздумьях.
.
CNC arduino kit состоит из:
1. Плата Arduino Nano;
2. Плата расширения (CNC shield V4);
3. Три драйвера А4988 для шаговых двигателей, без радиаторов.
4. Кабель для связи с компьютером USB-mini USB
Смысл комплекта заключается в том, что CNC arduino kit позволяет управлять тремя шаговыми двигателями с использованием драйверов А4988 (ток до 2А с радиатором, до 1А без радиатора, радиаторы лучше
докупить и поставить). Также на плате имеются аналоговые и дискретные разъемы для подключения внешней периферии (например, датчиков и концевиков).
Комплект в сборе.
Изначально мысли по модернизации лазерного гравера Neje высказывались в комментариях на Mysku неоднократно. Я решил попробовать модернизацию «малой кровью» — готовым набором CNC arduino kit с подключением в разъемам Neje в обход родной платы.
Фото разъемов, подключение лазера
Коннектор двигателя от Neje подключается к Х иY разъему на шилде. Распиновка разъема следующая: пара Белый и Желтый это 1А и 1В, и пара Черный и Красный — это 2А и 2В соответственно (если порядок нарушен — переверните разъем).
Обратите внимание, что выходы драйверов на плате должны подходить к коннекторам моторов. Не перепутайте сторону установке драйвера (резистором регулировки А4988 к стороне с разъемом питания платы. Nano ставиться наоборот, разъемом USB к другой стороне платы). Для драйверов DRV8825 установка наоборот. Проконтролировать можно по дорожкам и маркировке с обратной стороны плат.
Во время работы произвел замер тока в разрыве цепи питания лазерного диода при дефолтных настройках ПО (среднее время прожига). В режиме гравировки ток бы постоянен, 300 мА, при этом питание осуществлялось от 5В (замер напряжения во время работы: 4,7 В в цепи лазера).
Насколько я смог сделать вывод по трассировке платы — используется ШИМ (с выхода чипа стоит транзистор) с емкостным фильтром, который и формирует заданное напряжение питания. Ток в цепи постоянный, задается резистивной цепочкой. Изменяя параметры ШИМ, можно менять длительность импульса (время воздействия), и соответственно, степень прожига материала в гравере NEJE. Обратной связи по температуре или регулировки тока не предусмотрено.
Я решил пощадить лазерный диод и использовать драйвер тока на основе LM317. Коммутация происходит через транзистор с выхода ардуины(пин шпинделя). Ток я выставил около 130 мА, Это средний ток для данного лазерного диода, который позволит продлить часы работы. Если окажется мало, можно постепенно добавить до 300 мА. Лучше всего собрать источник питания с постоянной индикацией рабочего тока. На
форуме полно готовых схем. Можно купить готовый, на Али или Ебее ищется по ключевым словам «LM317» и «DC-DC CV CC». Слова СС и CV обозначают функцию подстройки тока и напряжения соответственно.
Софтовая часть.
На Mysku уже были обзоры на граверы (не только лазерные) с указанием возможных комбинаций ПО для обработки изображения для гравировки и его адаптации для станка (перегон в g-code). Основные — это benbox, mDraw, ArtCAM, для
конвертации в g-code: CNC Converter, StepCam, для пересылки кода: grblControl, gcodesender. Для создания изображений можно использовать Inkscape с плагином CNC-G-Code или Gcodetools.
Итак, для настройки платы потребуется скачать среду
Ардуино, прошивку
GRBL, собрать и прошить
Кстати, стоковая плата Neje не определяется средой Ардуино, то есть по мимо того, что у нее отсутствует загрузчик, плата еще и на несовместимом процессоре. Идентификаторы, указанные на скриншоте принадлежат конвертеру Winchipshead CH341.
Примеры конфигурирования прошивки в
обзоре, и еще
ссылкии
еще , и
еще). Я прошивал не самой крайней прошивкой
версии 0,8 (крайняя 0,9). Это связано с совместимостью управляющих программ, в основном меньше проблем при использовании версии 0,8 (связано с возможными ошибками типа Alarm lock).
Ориентироваться при оценке количества шагов на миллиметр для осей можно непосредственно по замерам винта шагового двигателя NEJE (разные версии — разные шаговики) и, на всякий случай, даташит на стандартный
привод.
Немного расскажу про софт. Очень удобно готовить изображения в среде
inkscape.
Перед экспортом в gcode необходимо обработать изображение: оконтурить. Команда так и называется:
Существуют несколько плагинов для для экспорта в Gcode: Gcodetools и Laser Tool plugin.
Еще способ — экспорт из Корела в формате для плоттера (*.plt) и конвертация с помощью программ типа StepCam.
На скриншоте видно, что необходимо ввести ряд настроек при конвертации. Например, за длительность импульса лазера отвечает скорость перемещения кареток (feed, mm/min, скорость для G1)
Например, при выполнении команды G1 X10 Y10 F300 лазер подойдет по координатам и выполнит импульс «со скоростью» 300, то есть значение тока будет эквивалентно 300 тысячных долей ШИМ-импульса. Значения достаточно условные, их можно подобрать в процессе наладки гравера.
Степкамом у меня получилось без данных «скорости» для лазера — дописывал вручную (F100....F1000) для тестовой картинки.
Тест печати на стоковом Neje и на Neje с установленным CNC кит и прошивкой GRBL.
Слева направо: 1. исходник, 2. стоковый Neje (видно, что прожигалось на одной «скорости»), 3. последняя — тест «оттенков серого».
Несколько неудачно выбрана фанерка для теста, она обугливается в широком диапазоне настроек (очень сухая), как только найду более плотное дерево или другой материал, тест переделаю.
Но все равно заметны «переходы» оттенков при прожиге. Это как раз разные «скорости» для шпинтеля/лазера, прописанные в gcode.
Считаю, что эксперимент по «прокачке» лазерного гравера Nеje удался.
В планах подключить в прошивке использование вентилятора для обдува зоны реза и приделать индикатор (стрелочный или ЖК модуль) тока лазерного диода.
Пока возился с гравером, понял...
… что мне маловато области «печати» в 3,5х 3,5 и второй комплект я решил использовать в качестве основы для будущего гравера формата А3.
Уже напилил профиль и напечатал каретки. Лазер в процессе сборки и отладки, позже выложу обзор, можно будет сравнить с Neje.
В заключение скажу, что для старта CNC arduino kit оказался очень удобный. Два сразу покупать конечно же ненужно, но я перестраховался. Если брать по отдельности, я бы взял драйверы StepStick.
А что, с гравером шел такой паршивый контроллер, что его перепрошить нельзя?
как вариант взять UNO за 230, CNC shield за 100р и три драйвера — это еще 150р. Итого 480р за комплект. За два посчитаете сами.
Более продвинутый комплект (позволяет работать без компьютера):
Ардуино Мега — 390р
3 драйвера — 150р
RAMPS — 250р
Дисплей 12864 — 370р
Картридер — 40р
Итого: 1200р
3dtoday.ru/blogs/aleks/3d-wifi-part-2/
Вот со шлейфом и энкодером — 650р. В таком случае кардридер не нужен (встроен в плату дисплея)
Итоговая сумма в таком случае составит ~1450р.
«раньше» видимо все были с 'большим' кварцем, а теперь даже на фотках магазинов не видел (кроме одной недо-Мини на 168)
Nano проверенные. Не раз заказывал у этого продавана.
закрылась лавочка:(
И да. Скорость UART задается в прошивке в зависимости от тактового генератора. Вы потом сами будете подбирать новую частоту передачи? Или у ИДЕ гдето есть кнопка выбора частоты МК?
Частота передачи = Частота кварца / 16* (значение регистраUBRR +1)
Тем более у меня прушеподобный, без экранов вообще ему дури хватает более чем. Вообще идеал и скорости поднимал.
Не получится.
Пародия какая то выйдет.
Хочу автоподстройку уровня стола в 3d принтере на шаговиках мелких сделать (индуктивный датчик будет делать замеры отклонений по периметру) и в прошивке наладить автоматическую проверку/подстройку перед каждой печатью.
У меня цена сложилась из необходимости ещё и общей платы под эти драйвера + arduino Uno на управление.
И при чем тут кондеры? Они там вообще не нужны ни как.
Меня смутило, что под Nano платка только на 3 драйвера ( aliexpress.com/item/CNC-shield-v4-0-motor-drive-board-compatible-with-arduino-nano/32683993943.html,searchweb201602_3_10039_10048_10057_10047_10056_10055_10037_10049_301_10059_10033_10046_10058_10032_10045_10017_10060_10061_10062_10064,searchweb201603_3&btsid=a0ae5cc9-51b4-49c8-ae74-f035280b08a8 ) и заточена сразу, как на 3d принтер с соответствующей разводкой и выводами и придётся весь код переделывать, что на мой взгляд сложнее, чем просто с нуля написать под один драйвер без концевиков и т.п. и что в этих платках есть конденсаторы.
А дальше шилд для уно. Такой переходник сделать руками 20-30 минут, надо только разъемы и макетка металлизированная.
У тебя (думаю можно) только один выход из ситуации — коннектится дуньками друг к ругу через rx/tx. И потом через g код с дуньки калибровки ты гонишь g код на дуньку принтера скажем отойти на 0/0, а потом начинаешь опускать ось/стол, а сам дунькой калибровки ловишь работу датчика (т.е. датчик подключать к ней). И потом уже ровняешь угол сервой. Потом гонишь скажем 0/мах и т.д. и т.п. Все это обменом g код. На выходе у тебя автолевелинг в самой прошивке принтера выключен и делается другой платой. Вот такой вот я вижу подход.
Калибровка ручная, отключил все от принтера, подкчлюитл плату калибровки, запустил с кнопки калибровку, дождался завершения, выключил калибровочную дуньку, покдлючил usb или что там.
Попробуйте на березовой шлифованной фанере, также можно хлоркой предварительно обработать.
Я сам сейчас немного в другую область ударился, домашний ЧПУ фрезерный станочек для электронщика.
Следующий будет лазерный, его проще сделать.
Кому интересно могу ссылкой поделиться. Скоро закончу.
Здесь правда не знаю, как его обозревать? Шильды уже обозревал.
Свой Крепыш тоже показывал. На нем кстати детальки и крою.
А вообще вот i4.ru/index.php/topic,1840.msg10562.html#new чтобы каждому не писать.
Как раз проект выложу сегодня завта. Много ноу хау получается.
здесь практика важнее теории
Да, скину. Попозже обзор сделаю, как собрать подобный гравер.
Вообще карету стандартные, есть куча вариантов. Можно даже купить в сборе. Искать по ключевым словам «v slot carriage»
В том виде что есть ничего не заработало, посмотрел на ваши фото и засомневался все ли правильно.
На вашем фото нету подключенного внешнего источника питания, то есть шаговые двигатели не работают от USB питания…
Также на плате замечены ошибки, может конечно у вас плата другая, по этому нужно уточнить.
В отличие от CNC shield V3 перемычки подают +5, а на CNC shield V4 на землю.
Также отличаются пины step и dir на шилде Ардуино перепутаны 2,3,4 на 5,6,7
В вашем тексте не указанно что это поменяли в grbl 0.8
покажите фото вашей платы и меняли ли вы номера выходов. Или может драйверу А4988 все равно где dir а где step?
«Шаговые двигатели не работают от USB питания..» — это так, особенно если двигатели на 12В. Я отдельно подавал с внешнего источника, подключал внешние на 5В и на 12В и итоге.
Драйверу не все равно. Там не только это, там еще и оба пина управления шпинделем перепутаны.
Вообще не первый раз от китайцев приходят платы под одним названием, но с разными разводками. Это бывает, когда они закупают «подешевле» у других поставщиков. Переопределяются пины в файле cpu_map.h.
Я пришел к тому, что в итогезаказал V.3 — она позволяет использовать ее без доработок.
CNC shield V4 я купил за 2.6$ сейчас цена на них на Али 6$
Видимо кто-то сделал возврат…
CNC shield V3 у меня уже была, но хотелось покомпактнее без лишних проводов и под NANO
Почему же все таки CNC shield V4 не работает с grbl 0.9
Практически на каждый запрос отвечает Error
Про разницу между версиями прошивок 0,8 или 0,9 много написано, мне проще было прошить старую версию, работоспособны обе.
Выбираю лазерный модуль на 5,5 Вт. (на 5,5 потому, что мне сказали, что более мощные полупроводниковые стоят как паровоз, и действительно жаба душит отдать 25К руб. за модуль 10-12-15 Вт, при этом без гарантии, что это реальная мощность).
Рассматриваю три предложения:
1. aliexpress.com/item/2015-new-12V-blue-purple-light-5500mW-laser-engraving-machine-module-for-high-power-laser-focusing/32518880151.html
2. aliexpress.com/item/3000mW-Blue-violet-Laser-Module-Parts-with-Holder-Heat-sink-for-Mini-Laser-Engraving-Machine-High/32617069604.html
3. aliexpress.com/item/5-5w-high-power-450NM-focusing-blue-laser-module-laser-engraving-and-cutting-TTL-module-5500mw/32559183201.html
Каждому из продавцов отправил сообщения с просьбой подтвердить, что действительно 5,5 Вт, фокусируемый и с ТТЛ.
№3 молчит.
№1 и №2 настойчиво и многократно подтверждаю, что всё так и есть.
№2 по моей просьбе даже скидку сделал на 15$.
Что скажете, стоит ли доверять? Купить №2 или дальше выбирать и мучиться?
По началу вообще не крутились шаговики, с оф.сайта GRBL пробовал разные прошивки, ни в какую. Помогли мне, в городе человек один. Долго мутюжили, в итоге всё начало работать с «GRBL_Arduino_Library_keyes». www.keyestudio.cc/h-nd-112.html
а то мучался, а надо просто поменять местами step и dir, чтоб не паять… хоть запусталось и плата работает, но на прошивке 0.9