Лазерный резак из 3d-принтера. Часть вторая, софтварная
Управление лазером.
При описании процесса настройки пришлось коснуться этой темы, но повторюсь. Управлять включением/выключением лазера мы будем крайне полезной командой M42. Ее поддерживают прошивки Sprinter, Marlin, Repetier, RepRap Firmware. Достаточно внушительный список, поэтому у большинства проблем с этим возникнуть не должно. Команда выглядит так:
M42 Px Sy, где x - номер пина, на котором сидит TTL-управление, а y - величина цикла ШИМ.
По ходу статьи я буду упоминать необходимую для каких-либо операций мощность лазера, примерное значение S для конкретного лазера можно вычислить из пропорции. Например, при требуемой мощности в 0,5Вт величина S для 1,6Вт-лазера будет равна (255/1,6)*0,5~80.
Подготовительные команды для лазерной резки/гравировки.
После того, как выставлен фокус, предпочтительно иметь файл, который будет загонять все оси в home и поднимать каретку на высоту, с которой был настроен фокус для конкретного материала. Несколько сумбурно, поэтому объясню на примере.
Предположим, я отстроил фокус на положенной пластине 1мм-текстолита при поднятой на 8мм каретке. Тогда код подготовки к резке/гравировке материала толщиной 1мм будет выглядеть следующим образом:
G28 X Y ; загоняем X и Y в home
G28 Z ; загоняем Z в home
G1 Z8 ; поднимаем каретку на 8мм
M84 ; отключаем шаговики
Z загоняется отдельно из-за включенного safe home. Если он отключен, то код сокращается до трех команд:
G28
G1 Z8
M84
Подобных файлов удобно иметь несколько штук для материалов разной толщины. Для 2мм будет 9мм-поднятие, для 3 - 10 и так далее. Фокус все равно придется отстраивать перед каждой резкой, но хотя бы меньше придется крутить кольцо отстройки.
Начальные и конечные команды в gcode-файле.
После предварительной подготовки можно начинать резку. Но ей предшествует второй этап подготовки в виде списка начальных команд в самом gcode-файле.
Вот список команд, предшествующих началу гравировки:
G28 X Y ; в отличие от 3D-печати, делающейся чаще всего на середине стола, гравировку удобнее делать с края. Потому XY загоняются в самый угол. Z остается неизменной, ее мы установили предыдущим файлом.
G1 Y43 ; дальше идет сдвиг стола, чтобы прийти в начало координат лазера. Об этом ниже.
G92 X0 Y0 ; обнуление координат после сдвига - так мы даем понять принтеру, что мы пришли в начало координат.
M42 P5 S255 ; включение вентилятора. Подробнее здесь.
Определение положения лазерного модуля относительно сопла. Когда мы отправляем все оси в home, мы это делаем для экструдера. Но лазер находится в другом месте, и начало координат для него - тоже. Положение 'нового' начала координат нам и предстоит определить. Эта операция делается один раз. Методика такая:
1. Наклеиваем кусок скотча/каптона на стол.
2. Передвигаем оси так, чтобы лазер находился над куском наклеенного скотча.
3. Пишем в Pronterface команду G92 X0 Y0 - это сбросит текущие координаты каретки в 0,0
3. Включаем лазер (M42 P6 S*), чтобы он выжег точку на скотче. 0,3-0,5Вт мощности вполне достаточно . Долго держать не надо, достаточно 3-5 секунд, и лазер можно выключить (M42 P6 S0).
4. Жмем стрелки управления осями в Pronterface так, чтобы навести сопло принтера на получившуюся точку.
5. После наведения отправляем команду M114 , она покажет текущую позицию каретки. В командной строке появится, что-то вроде X:0.00 Y:-43.00 Z:0.00. Из этого следует, что разница между началами координат для сопла и лазера равна 43мм, и чтобы прийти в начало координат лазера, нужно сдвинуть ось Y на 43мм. Поэтому итоговая команда выглядит как G1 Y43 . Пример приведен для соосного расположения экструдера и лазера относительно оси Y.
Из за того, что лазер находится дальше сопла, страдает рабочая область. Для лазерной резки она будет как раз на эти 43мм меньше. Если у вас максимальное измерение по 'пострадавшей' оси было, скажем 200мм, то для резки оно будет 157мм. Это максимальное измерение придется держать в голове, т.к. я не нашел элегантного способа задать максимальное измерение через G-code.
С конечными командами все элементарно. В конце исполняемого файла должно быть отключение лазера и обдувающего его вентилятора:
M42 P6 S0 ; отключаем лазер
M42 P5 S0 ; отключаем кулер
Итого софтварно-хардварная подготовка завершена.
О порядке работы.
После всех манипуляций у нас должно быть 3 списка команд: один поднимает каретку на высоту фокуса, второй (сдвиг стола, сброс координат...) добавляется в начало файла гравировки и третий (выключение лазера и вентилятора) добавляется в конец файла гравировки.
Порядок работы примерно следующий:
1. Выполняем команды поднятия Z на высоту фокуса.
2. Помещаем заготовку в принтер. В плане крепления заготовки по удобству офисные зажимы для бумаг вне конкуренции
3. Готовим файл резки с помощью одной из программ, описанных ниже. Если это плагин, вручную добавляем соответствующие списки команд в начало и конец gcode-файла с помощью 'Блокнота'
4. Выполняем резку. Можно как через Pronterface, так и через SD-карту.
Выжигаем уголок в начале координат.
Первое, что я рекомендую сделать - это выжечь пару линий под прямым углом в начале координат, чтобы заготовку было проще устанавливать. Файл с уголком прикладываю. Он выжжет 2 прямых линии в начале координат по X и Y длиной 10см.
Подготовка файла под ваши нужды сводится к следующему:
1. Изменить величину сдвига
2. Изменить пин вентилятора в начале и конце файла на свой
3. Изменить пин и мощность лазера на свою, это надо сделать по всему файлу. Это можно легко сделать с помощью автозамены. Мощности достаточно 0,5Вт.
Необходимые для правки команды отмечены в файле через точку с запятой.
После гравировки должно получиться вот так:
Режимы лазера для гравировки различных материалов.
К сожалению, я не могу предоставить много информации по этому поводу. Режимы подбираются только практически. Но кое-что есть:
Для гравировки по фанере: 0,7-1Вт, подача 1000-2000мм/мин.
Для выжигания по краске/резки: полная мощность, подача 100-150мм/мин
Обзор софта для работы с лазером.
Здесь вкратце расскажу о программах, которые пощупал собственноручно.
Софта для нативной работы с лазером, собранным в подобной конфигурации, не так много. Прежде чем рассматривать софт, расскажу о 2 подходах к обработке черно-белого изображения программами для перевода в g-code.
1. Растровый подход: изображение рассматривается как набор точек, и лазер построчно, точка за точкой наносит изображение на материал. Довольно медленный в работе метод, но он позволяет получить заполнение, и является единственным для гравировки фотографий.
2. Векторный подход: изображение рассматривается как набор примитивов, которые являются готовыми траекториями для лазера. Такой подход дает намного большую скорость при выполнении гравировки, но есть краеугольный камень - заполнение примитивов. Лазер выжигает только их контуры.
Программы с растровым подходом.
Плагин Raster 2 Laser для Inkscape был упомянут здесь, поэтому его описание я опущу. У плагинов для Inkscape есть один общий недостаток: нельзя автоматически вписать свои команды (сдвиг стола, обнуление осей...) в начало и в конец gcode-файла, поэтому приходится добавлять их вручную. Также не все прошивки поддерживают команды вида G01...G09 - их приходится менять автозаменой на G1, G2 и пр.
PicLaser. Кривая программа с дико страшным интерфейсом, да к тому же еще и платная (40$). Но, несмотря на страшный GUI и ворох мелких глюков, исправно делает свою работу. Демка не позволяет выводить в gcode больше половины изображения. Есть неудобный внутренний редактор изображений, я им пользоваться не рискнул. Зато есть полное удобство в плане настроек - и команды перед резкой, и после, задание команды на включение/выключение, задание максимального значения S, выбор нанесения гравировки - верикальный, горизонтальный или под углом в 45 градусов и пр.
CHPU от NikRomSoft. Неплохая программа от соотечественников, да к тому же бесплатная. Предназначена ЧПУ-фрезеров, лазерных и нихромовых граверов. Есть возможность ввести начало и конец G-code. Умеет пропускать белые участки. Есть встроенный редактор изображений.Мне она не очень понравилась. Изображение выжигается только при ходе каретки в одну сторону, а потом лазер вхолостую возвращается обратно, чтобы начать новую строку. И код приходится вручную править для того, чтобы убрать задержку на черном - она очень сильно тормозит процесс, а если выставить нулевую - на выходе получается пустой gcode-файл. Даже пропуск белого этот процесс не ускоряет. Сохраняет в формате .cnc, приходится переименовывать в .gcode вручную. С другой стороны, есть заполнение... Неоднозначные впечатления, в общем. Возможно, кто-нибудь добьется с этой прогой большего.
P.S. небольшой финт: скорость гравировки задается в предварительных командах строчкой вроде 'G1 F1000', где 1000 - это подача в мм
LaserEtch от J-Tech Photonics. Еще одна платная программа (30$). Демка, по нехорошей традиции, выдает только половину изображения в g-code. Несмотря на то, что разработчики ее позиционируют, как векторную, это не так - она просто умеет пропускать абсолютно белые участки, и перемещает каретку на них быстрее. Довольно богатое количество настроек, среди которых отмечу Fake Extrusion - она позволяет увидеть в Pronterface то, что будет выгравировано. На данный момент есть небольшой глюк при сохранении собственных gcode-команд в начале и конце файла (показан на скрине). В принципе, заменяема программой CHPU, хоть и с некоторыми оговорками.
Программы с векторным подходом.
Мной найдена только одна такая программа на данный момент:
Плагин J-Tech Photonics Laser Tool для Inkskape. Чтобы его использовать, надо векторизовать растр с помощью Inkscape. Он понимает только чисто фото с черным и белым, а не в градациях серого. Удобен тем, что может опускать каретку для каждого прохода, есть возможность задать максимальную мощность лазера, задержку перед включением (у некоторых драйверов есть soft-start). Недостатки: начало и конец кода приходится добавлять вручную, и он не умеет заполнять примитивы - только контуры. Я с помощью него делаю маски печатных плат:Как видно, он не убирает краску между дорожками. С одной стороны, это хорошо - готовая экранировка платы, с другой создает проблемы при монтаже деталей - рез довольно тонкий.
Из всего вышеперечисленного сложно что-то одно посоветовать. Оставлю за читателями выбор подходящей под их нужды программы. Или программ.
Заключение.
Итого многозадачность принтера успешно реализована. Не сказать, что обошлось без костылей, неудобств - но ведь главным было заставить все это работать вкупе. Основной проблемой мне видится недостаточное количество софта для такой узкоспециализированной задачи.
Adios
Еще больше интересных статей
3D-принтер на рельсах Core-XY 'RPD Z-Belt'
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
что означает 'ос...
Резьбовые соединения в 3D моделях
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Использование и настройка WiFi Sdcard в 3D принтере.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
В школе Черчение и геометрия м...
🤡
В каком месте ПЛА дешёвый? В с...
Всем привет. вначале кратко пр...
Мой принтер самосборный, а-ля...
Всем здравствуйте, владею прин...
Всех приветствую! Есть специал...