Мой выбор : LaserGRBL + пост обработка.
Особенность в том, что среди многообразия программ подготовки кода для гравировки большая часть - платные, я их отбросил по крайней мере до тех пор пока не изучу все открытые и бесплатные аналоги. А из бесплатных остается не так уже и много (LaserWeb да LaserGRBL, из тех что я нашел на github).
LaserWeb работает, но очень не интуитивное управление и очень неудобное применение фильтров, даже отсутствует предварительный просмотр результата.
В общем мне не понравилось.
А вот LaserGRBL весьма удобная и толковая программа, одно плохо - ее заточенность под прошивку GRBL делает невозможной печать на большинстве прошивок 3D принтеров (хотя совместимость со смузи обещают).
Теперь по порядку:
- Что нам потребуется
Лазерный модуль 15W
(на самом деле это лазер 7W о чем продавец честно предупреждает, типа у всех других продавцов именно такие же, всеобщий обман )
Много это по мощности или мало - читайте ниже.
Честность продавца мне импонирует, да и доставка очень быстрая, до Питера мне пришло за 12 дней (это обычный AliExpress Standard Shipping, может просто повезло). Обращаю внимание что это модуль с фиксированным фокусом: во первых мне лень вручную фокусировать, имея полноценную управляемую координату Z, а во вторых на дополнительной фокусирующей линзе тоже теряется мощность.
Еще потребуется 3D принтер, куда мы и прикручиваем полученный модуль.
Разумеется для данной задачи подойдет любой координатный девайс, в сети часто встречаются специализированные граверы/раскройщики базирующиеся на электронике EleksMaker (два драйвера X и Y), и так же сборка ArduinoUno + CNC Driver shield (4 драйвера, применяют три XYZ ). - Подключение
Тут все банально просто: имеем три контакта +12V (красный) , GND (черный) , PWM (желтый).
Обращаем внимание что цветовая раскладка проводов отличается от привычной из блока питания компьютера.
PWM это классический инвертированный ШИМ уровня TTL (5v), когда он в нуле - лазер светит на максимуме (это для того чтобы можно было работать без шим управления просто подав питание), при постоянных 5V излучения не происходит вовсе. Дополнительно на плате, для защиты от случайного срабатывания, имеется механический выключатель.
Для управления PWM контактом нам нужно найти на электронике свободный контакт поддерживающий шим режим.
Я на RAMPS использовал контакт управления от второй серво машинки контакт D6 (первая занята для Bltouch) - Безопасность
Крайне важное указание!
Класс опасности этого лазера равен 4.
Это значит что прожечь сетчатку глаза до полной слепоты можно не только взглянув на световое пятно лазера, но и поймав отраженные от светлых поверхностей зайчики.
ПРИМЕНЯТЬ ТОЛЬКО В ЗАЩИТНЫХ ОЧКАХ (идут в комплекте), в помещении не должно быть других людей, двери должны исключать случайный вход посторонних, а рядом должны находиться первичные средства тушения огня - лучше огнетушитель, или хотя бы бутылка с водой.
Шнур питания должен быть удобно расположен и легко извлекаться из розетки для полного отключения. - Управление
Для того чтобы задействовать лазер из Gcode есть несколько вариантов.
Можно просто управлять контактом посредством команды M42
M42 P6 S0 ; выключить лазер
M42 P6 S255 ; включить лазер на максимум
M42 P6 S128 ; включить лазер на 50% мощности
второй вариант это управление лазером как шпинделем CNC
M3 S255 ; Включить на максимум
M3 S128 ; включить лазер на 50% мощности
M5 S0 ; выключить лазер
M5 ; выключить лазер
и третий вариант это вписать управление лазером прямо из кода движения G0 G1
G1 S255 ; Включить на максимум
G1 S128 ; включить лазер на 50% мощности
G1 S0 ; выключить лазер
G0 S0 ; выключить лазер
Второй и третий варианты требуют соответствующей поддержки в прошивке,
какие ключи требуется использовать в конфигурации я напишу позже, прямо в этом описании. - Варианты нанесения
Сам процесс нанесения лазерной гравировки бывает векторный (двигаем включенным лазером) и растровый (приезжаем в нужное место и кратковременным включением наносим точку).
Лазерная резка это исключительно векторный процесс.
Полезной будет таблица параметров реза/гравировки, эта таблица у всех будет своя,
но для опорных значений будет полезна.
гравировка (скорость мм/мин. /PWM )
пробка - 600/25
дерево - 600/25
сталь - 100/255 требуется чернение поверхности (маркер или краска матовая)
резка (скорость мм/мин. /PWM )
фанера 2mm - 100/255 1 проход
фанера 3mm - 300/255 10 проходов с заглублением 0.3
фанера 3mm - 100/255 3 проходов с заглублением 1 - Подготовка кода для векторной гравировки/резки
Процесс работы с векторной графикой хорошо описан в статье на 3DToday,
не буду повторяться, там нет никаких хитростей.
https://3dtoday.ru/blogs/endurance/how- ... tructions/ - Подготовка кода для растровой гравировки
А вот ради этого процесса я и затеял написание этой статьи.
Итак, качаем программу LaserGRBL https://github.com/arkypita/LaserGRBL/releases , устанавливаем и запускаем.
В настройках оставляем оптимизатор кода как GRBL а тип устройства вывода ставим emulator.
Далее можно загружать фотографию и двигая движками яркости и контраста добиться удачной плотности точек (можно наносить и линиями, но у меня не получилось, тут нужен материал который меняет цвет в зависимости от мощности, вероятно это сталь - она постепенно чернеет)
дальше выбирают параметры гравировки (самое важное скорость и мощность), а так же начальные координаты нанесения и габариты фотографии.
Создание базового кода готово, теперь его необходимо подготовить для нормального восприятия принтером.
Записываем файл Gcode "сохранить программу" и открываем записанный файл в текстовом редакторе (рекомендую notepad++, он умеет записывать и воспроизводить макросы)
Далее производим серию замен (Ctrl+H) по всему тексту:- ^X -> G1 X
- ^S -> G1 S
- ^F -> G1 F
- ( S[1-9].?.?) -> \nM3$1
Причем этот пункт требуется только в варианте управления лазером через команды шпинделя (M3 M5)
А в случае управления лазером через m42 набор замены будет другой- ^X -> G1 X
- ^S -> G1 S
- ^F -> G1 F
- ( S[1-9].?.?) -> \nM42P6$1
Для удобства рекомендую записать последовательные замены в виде макроса.