Подключение мощного диодного лазера к 3D-принтеру
1.1 Введение
Появилось у меня как-то желание сделать лазерный гравер на базе 3д принтера, но хотелось гравировать не только бумагу и картон, как предлагают делать большинство инструкций в интернете с лазерами на 0.5/1 оптический ватт. Душа требовала приключений и я их нашел. В данной статье я хочу попытаться описать весь путь: подключение, настройку и методы работы. По сути, данная "инструкция" сможет помочь в большинстве случаев и не обязательно иметь такое же оборудование, единственные важные условия - это прошивка Klipper на вашем устройстве и свободный usb порт на хосте. Ссылки на все мои комплектующие, в том числе, на архив со всем необходимым я оставлю, а пока что по порядку.
Дано:
1) 3D принтер Eleegoo Neptune 3Pro под управлением прошивкой Klipper
2) хост btt pi 1.2
3) лазер laser tree LT-40W-F23 с адаптером P-DA-01
1.2 Подключение
Наверное, самая интересная и спорная часть это именно подключение лазера. Если у вас маломощный лазер с двумя проводами, то трудностей никаких, просто вешаем его на разъем вентилятора и погнали. Однако, если проводов уже больше, чем два, то тут уже интересно. Во влажных мечтах все было просто, воткнуть сигнальный провод к вентилятору (ведь он как-то управляется), а на остальные два подвести питание, но реальность жестока и схематика материнских плат такова, что управляющий ШИМ сигнал с платы имеет падающий фронт, когда для управления лазером нужен возрастающий (рисунок 1). Тут уже ну ум приходят различные инверторы (рисунок 2) или шальные мысли припаяться к дорожке на плате до мосфета (рисунок 3).
Рисунок 1 - Схема выхода на плате принтера
Рисунок 3 — Подключение до мосфета
Да, методы рабочие, но зачем нам все это, ведь придется программно ломать работу вентиляторов обдува, что вряд ли добавит качества изделиям. Перепробовав все это, я пришел к единственно верному решению - это дополнительный мсу в лице микроконтроллера rp2040 за 400р с озона.
Теперь давайте чуть детально рассмотрим подключение. Мой драйвер поддерживает сигнал до 12В с частотой до 5кГц (рисунок 4). Изначально была мысль, что 3,3В с мк будет недостаточно для открытия ключа на драйвере, однако это оказалось не так. Все прекрасно работает и необходимости усиливать сигнал нет, на то он и драйвер. На мощность лазера будет влиять скважность ШИМ сигнала, а его частоту лучше ставить максимально допустимую для вашего драйвера, так как она напрямую зависит на плавность изменения мощности. Тут немного поясню, частота это количество включений на единицу времени, а скважность - это продолжительность этих включений, соответственно отношение времени активного состояния к пассивному и можно считать за некую мощность.
Я подключал лазер через адаптер (рисунок 5), так как мне понравилась идея отдельного питания для него (нагружать бп принтера не очень хотелось). Если прям уверены в своем блоке, то пробуйте, но учтите, что кушать лазер на 5 оптических ватт будет где-то 2-3 ампера, соответственно дальше - больше. На адаптере так же присутствует физический выключатель питания лазера, что добавляет очков к безопасности от случайных включений. Я же выключатель заменил на реле, которое автоматически все выключит даже если система ляжет по какой-либо причине, для работы с подобными вещами имеет место быть.
Питается мк от 3.3В так что нужно будет ставить понижающий преобразователь, от него же питать и реле. Полная схема на рисунке 6 и на рисунке 7.
После того, как все собрано в одну кучу, нужно прошить мк как дополнительный мсу и подружить его с хостом.
1) Первым делом, нужно собрать прошивку через хост, если устанавливали Klipper, то данные действия вам уже знакомы, а для особо ленивых я оставлю файл прошивки rp2040 в архиве, поэтому вам сразу к шагу 4.
2) В терминале последовательно даем команды:
cd ~/klipper/
make menuconfig
3) Выставляем настройки как на рисунке 8.
Рисунок 8 — Настройки прошивки rp2040
Сохраняем настройки и даем команду:
make
По пути …/klipper/out находим файл klipper.uf2, сохраняем его себе (рисунок 9).
Рисунок 9 — Компиляция прошивки
4) далее подключаем rp2040 к пк, он должен определиться как флеш накопитель, а внутри будет несколько файлов от производителя, которые можно удалить.
5) закидываем прошивку внутрь, мк отключится и начнет прошиваться. Ждем секунд 10 и отключаем его от пк.
6) подключаем мк к хосту и даем команду:
ls /dev/serial/by-id/*
Эта команда прозвонит все usb выходы хоста и определит подключенные клиппер устройства с их уникальными id, который нужно сохранить (рисунок 10).
Рисунок 10 — Уникальный id устройства
7) в веб морде хоста во вкладке «система» создаем новый файл конфигурации для нашего дополнительного мсу (рисунок 11). Опять же, для ленивых этот файл будет пылиться в архиве.
Рисунок 11 — Создать файл в корневой папке
8) В файле прописываем:
[mcu rp2040]
serial: /dev/serial/by-id/
Указываем id нашего нового устойства (рисунок 12), сохраняем.
Рисунок 12 — Инициализация rp2040
Не забываем включить эту конфигурацию в основной файл printer.cfg добавив строку (рисунок 13):
[include rp_2040.cfg]
Рисунок 13 — добавление rp2040 в основную конфигурацию
9) сохраняем и перезагружаем прошивку. Если все сделали правильно, то список устройств пополнится новой строкой (рисунок 14).
По сути, программно переходить между режимами работы станка можно просто добавляя/удаляя знак # перед [include rp_2040.cfg], чтобы не держать мк все время подключенным.
Система ругается если полностью отключать печатающую голову, так как не видит показаний с датчика хотенда, это решается невероятно просто - не отключайте голову, она не будет использоваться, так и пусть болтается себе на шлейфе спокойно. У меня же завалялась плата-разветвитель на мою печатающую голову и я просто припаял резистор на место подключения датчика. Резистор должен быть того же сопротивления, что и датчик, то есть датчик NCT 100K B3950 = 100кОм.
1.3 Настройка конфига rp2040
Файл будет в архиве, но его нужно будет отредактировать, а именно вписать свой уникальный id. Самое основное в этом разделе - это настроить переход к нулевой точке заготовки, нужно это для того, чтобы связать нули станка с нулями заготовок и нулями исполняющих программ. В конфиге вы найдете стоки как на рисунке 15.
Теперь по порядку. Я для себя сделал уголок, как на рисунке 16.
Рисунок 16 — Установочный уголок
Данный уголок я цепляю за угол нагревательного стола. Стрелкой помечена точка, которая удалена на 5мм от угла в который я упираю заготовки. Наша задача совместить нули координат с нижним левым углом заготовки, так как именно этот угол считается началом координат управляющих программ.
Далее по шагам:
1) На рисунке 15 строка 14 выполняет зануление координат X и Y по имеющимся на принтере датчикам. Макрос Laser_home можно добавить на главный экран для удобства (рисунок 17). Для этого переходим в настройки интерфейса в правом верхнем углу, далее макросы и добавляем новую группу. Либо же эту команду можно постоянно прописывать в консоль, что не очень удобно.
2) Для начала выставим фокус лазера, у меня для этого в наборе были три акриловые пластинки разной толщины. Это делается вручную прокручивая винт оси Z с выключенными приводами станка.
3) Запускаем макрос, происходит зануление по датчикам и запуск приводов. Теперь нужно запустить лазер и совместить его точку с точкой на уголке, двигая лазерную голову через меню управления. Для запуска лазера на минимальной мощности даем в консоль команду M101 S1. Если подключали реле, то нужно дополнительно подать команду М1.
ВНИМАНИЕ!!! ПРИ РАБОТЕ С ЛАЗЕРОМ ПОЗАБОДЬТЕСЬ О ЗАЩИТЕ ГЛАЗ. ДЛЯ ЭТОГО ИСПОЛЬЗУЙТЕ СПЕЦИАЛИЗИРОВАННЫЕ ОЧКИ, КОТОРЫЕ ПОДБИРАЮТСЯ ПОД ДЛИНУ ВОЛНЫ САМОГО ЛАЗЕРА.
4)После того как точки совпали, смотрим на значения координат, к каждому значению прибавляем по 5 и полученные значения нужно вписать в строку 15 для каждой координаты соответственно (рисунок 15). После чего активируем строки 15, 17, 18 (удаляем # в начале строки).
5) Сохраняем файл, перезагружаем прошивку и снова запускаем макрос. Теперь лазерная голова должна сдвинуться к началу координат заготовки (рисунок18) и на табло должны быть нули по всем трем координатам.
На этом настройку оборудования можно считать завершенной.
1.4 Софт для лазерной гравировки/резки
Для себя я выделил две программы для создания управляющих джикодов:
1) Inkscape 0.91 с плагином JTP_Laser_Tool для обработки по контуру и резки.
2) ImageToGcode_1.2.9 для построчной гравировки.
Все программы будут в архиве.
Устанавливаем Inkscape, далее содержимое архива JTP_Laser_Tool_V1_10 копируем с заменой по адресу: C:\Program Files\Inkscape\share\extensions. Открываем программу и если все сделано правильно, то появится раздел как на рисунке 19.
Рисунок 19 — Установка плагина
При запуске плагина появится окно с настройками как на рисунке 20.
Как же всем этим пользоваться?
1) Первым делом установим размер холста под размеры нашей заготовки. Для этого переходим Файл – свойства документа – другой размер.
2) Теперь на холст можно перенести нужное нам изображение для обработки по контуру или резки. Масштабируем изображение и располагаем на холсте.
3) Жмем правой кнопкой мыши по изображению и Векторизовать растр. Тут можно поковыряться в настройках и подобрать лучшие настройки, это я уже оставлю вам поиграться. Жмякаем Ок, после чего появится векторная копия, так что нашу картинку можно сдвинуть и удалить с холста (главное их не перепутать, векторная копия будет выделяться по габаритам).
4) Выделяем векторную копию. Если изображений несколько, то их нужно выделить все и сгруппировать (ПКМ – сгруппировать).
5) Идем в меню наверху контур – оконтурить объект.
6) Идем в меню справа изменить заливку объекта – заливка – без заливки и дальше обводка – сплошной цвет. Так мы выделяем контур нашего рисунка и примерно поймем, как это будет выглядеть.
7) Запускаем плагин и выставляем настройки. Мои настройки представлены на рисунке 21.
Рисунок 21 — Настройка плагина
Тут уже вам нужно самим поиграться с настройками и подобрать все под себя.
8) Нажимаем применить и находим файл по указанному пути.
9) Файл можно просмотреть через Notepad++, а так же вписать в начале команды для зануления Laser_home и включения реле М1 или же запустить эти макросы вручную.
10) Далее отправляем файл в «печать».
С обработкой по контуру разобрались, теперь с построчной гравировкой.
1) Шаги 1-3 такие же.
2) Файл – экспортировать в PNG вписываем имя, выбираем путь, играемся с настройками и жмем Экспорт.
3) Открываем программу ImageToGcode. Установки она не требует. Выставляем настройки, мои на рисунке 22.
Рисунок 22 — Настройка построчной гравировки
4) Вставляем наш PNG и жмем Generate G-Code. Файл с управляющей программой появится в расположении самой программы с таким же именем файла как у PNG.
5) Дальше как в шагах 9-10.
1.5 Ссылки
Софт:
1) Inkscape нужна версия 0.91:
https://inkscape-org.translate.goog/release/inkscape-0.91/?latest=1&_x_tr_sl=auto&_x_tr_tl=ru&_x_tr_hl=en
2) Плагин JTP_Laser_Tool для версии 0.91 (у меня без VPN не открывает):
https://jtechphotonics.com/
3) ImageToGcode_1.2.9:
https://www.thingiverse.com/thing:2726163
Комплектующие:
1) Лазер с адаптером
https://sl.aliexpress.ru/p?key=G6WOG2K
https://ozon.ru/t/0b7l2x6
2) Реле
https://sl.aliexpress.ru/p?key=hzWOGRM
3) Rp2040
https://ozon.ru/t/JJQjXzA
https://sl.aliexpress.ru/p?key=HFWOGFX
4) Понижающий преобразователь
https://ozon.ru/t/5XYadrP
https://sl.aliexpress.ru/p?key=bDWOGEm
Архив:
https://disk.yandex.ru/d/uDN1ScIwG5JaDQ
Еще больше интересных статей
Проверка улучшения от Bondtech, k1/k1c upgrade kit
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Наконец у меня дошли руки поставить набор улучшений от Bondtech на при...
Elegoo Neptune 4. Печать на стекле.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Эту уже не доработаешь, но я з...
Хм... Доработать систему под 4...
Прикольно... у меня при исполь...
При печати пластиком TPU появи...
Здравствуйте, в проекте на сто...
Здравствуйте. Начал печать в в...
Приобрел себе давеча на авито...