G-code упровление лазером при перемещении

walll-es
Идет загрузка
Загрузка
21.10.2020
382
24
Вопросы и ответы

Прикрутил лазер 5,5ват незнаю тянет он эту мощьность или нет но жот довольно неплоха вполне для выжигания сгодится. В попытках найти слайсер для выжигания фоток понаходил кучу всякого борохла которое мне показалось непригодным для притера а скорей всего преднозначино для гравёров. У меня прошивка мерлин 2 комада M3 нормально управляет лазером. Итак недолго думая набрасал програмку перевода растровых картинок в G-code 

Алгоритм очень простой

1) перемещение на заданную  позицию

2) позицию включение лазера на заданую мощность согласно отенку серого

3) пауза в мили секундах

4) выключение лазера

И так далие с каждой точкой

Код одного пикселя выглядит сейчас так 

M5;

G0 X0.3 Y0 F14700;

M3 O2;

G4 P1;

Проблема в том что при таком алгоритме очень низкая скорость аж 0,8мм в секунду и даже при мощьности лазера всего 10% рисунок сильно пережоный получается

Как либо повлиять на скорость командами M201 М203 M205 пока не удолось 

Созрела идея включить перемещение непрерывно скажем по одной координаторе X и вовремя перемищения изменять мощьность лазера Но загвоздка втом что пока перямещяется головка не выполняются комады управления лазером 1) Возможно как то сделать чтоб одновременно при движении головки я мог командами както управлять лазером ? 2) Как можно повлиять на скорость исполнения команд 3) возможно существуют какиета другие решения данной задачи

Ответы на вопросы

Ответы

21.10.2020 в 11:38
0

В теории, если вы перемещаетесь по команде (G0) - движение происходит от точке к точке с ускорением и замедлением  с полной остановкой и пауза не нужна.

Если по команде (G1) - то выполняются действия от точке к точке с ускорениями и всякими джерками до минимальной скорости заданной в поршивке  и здесь уже нужна пауза.

По такому принципу работают все ЧПУ.

21.10.2020 в 11:45
0

Да пробовал я и G1 разнецы не увидел совсем Также обстоят и дела с пазой G4 P1; при P1 похоже что её нет вовсе Есть подозрение что гдето есть апоратня заложенная пауза между командами на выполнение

21.10.2020 в 12:32
0

Так параметр P это миллисекунды. Как Вы увидите 1 милисекунду? А 10 мс сможете увидеть?

Чтоб проверить, есть пауза или нет, поменяйте P на S.

21.10.2020 в 12:41
0

Увидеть можно очень просто

M3 O255;

G4 P1;

M3 O0;

или 

M3 O255;

M3 O0;

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

21.10.2020 в 11:47
0

И еще на каждую команду заводится таймер в логике, возможно попробовать поиграть с ними. 

Как вариант - подцепить лазер как еще одну ось и управлять им синхронно с перемещением (XY), как экструдером.

21.10.2020 в 12:27
0

Да вот изменил код теперь  печать 4 точек выгледят так но скорость неувеличилась абсолютно

M3 O8;

G1 X0.1 Y0 F14700; 

M3 O1; 

G1 X0.2 F14700; 

M3 O1; 

G1 X0.3 F14700; 

M3 O0; 

G1 X0.4 F14700; 

И еще на каждую команду заводится таймер в логике, возможно попробовать поиграть с ними. 

Да а где в прошивки эта можно отискать ?

21.10.2020 в 12:29
0

Да а где в прошивки эта можно отискать ?

Здесь уже не подскажу, вероятно в медленной части логике, вам нужно пообщаться с программистами.

21.10.2020 в 13:00
0

Здесь рекомендуют ШИМ вентилятора - в место М3P1 использовать М106 P1                https://marlinfw.org/docs/configuration/laser_spindle.html

21.10.2020 в 13:28
0

ШИМ вентилятора используют от безисходности у меня отдельный шим прекрасно работает правда немного мамку пришлось перепаять чтоб ШИМ ногу освобадить  Функционал материнки расширен не в ущерб как многие делают у меня вентилятор обдува работает как работал могу одновремено и M106 для вентилятора использовать и  M3 Да кстати улитка у меня на шарнире и вмомент когда работает лазер просто перенапровляю от сопла в зону фокуса для удаления дыма как рекомендуют

21.10.2020 в 13:20
0

А в прошивке включена поддержка лазера шпинделя? а то какиет о костыли вы пишете, есть программы прекрасно работающие и на грбл и на марлине (к примеру image-to-gcode)

21.10.2020 в 13:29
0

Ну раз у меня работает команда M3 значить включена :) Шпиндель в прошивке точно отключен 

image-to-gcode

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

21.10.2020 в 14:11
0

только как сконфигурирован у вас под лазер или шпиндель,если шпиндель то дикие задежки на включения и выключения, https://github.com/MarlinFirmware/Marlin/blob/0a0f211cb9faa9213abff3ec45b3c21b4b0d499a/Marlin/Configuration_adv.h#L2954

почитайте коментария к настройкам там можно включить управления мощностью с помощью команд движения без принудительных М3 Sххх

22.10.2020 в 07:53
0

Конечно у меня сконфигурировано под лазер пример мне не открыл нечего нового Но костыли мои стали намного быстрей бегать ! Итак  от безысходности чтоб понять где происходит затык я решил сделать несколько тестов сперва убрал в программе чтоб при генирации кода она невставляла задержки G4 и М3 тоже просто двиголась от точки к точке примерно это выглядело так

G1 X0.1 Y0 F14700; 

G1 X0.2 F14700; 

G1 X0.3 F14700; 

 Запустил и головка стала двигатся достаточно быстро 64мм с щагом по Х 0,1 за 3,5секунды это гдн то около 20мм/c но при этом появился сильный тремор у притера добавил комаду в начале кода M205 B2 перестала трести полностью но скорость так и не увеличелась ну и так достаточно быстро добавил в код комаду задержки 

G4 P1;

G1 X0.1 Y0 F14700;

G4 P1;

G1 X0.2 F14700;  

G4 P1;

G1 X0.3 F14700; 

и опять скорость упала до того значения что было первоночально

убираю задержку и вставляю М3 меду перемещениями 

M3 O0;

G1 X0.1 Y0 F14700;  

M3 O1;

G1 X0.2 F14700;   

M3 O128;

G1 X0.3 F14700; 

Опять тупит как с задержками скорость тупления одинаковая 0,8мм/с

У меня в прошивке включены отладочные комады M42 M43 доступны вставляю в код M42 P14 S35; эта комада посуте тоже самое что M3 O35 только на аппаратном уравне вот она какраз невызывает не каких задержек  делаю чтоб генерировался код с ней теперь он стал вглядить так 

M42 P14 S35;

G1 X0.1 Y0 ;

M42 P14 S4; 

G1 X0.2;

M42 P14 S4; 

G1 X0.3;

Работает пока максимум 21мм/c за 20минут жёт картину 640x400 шаг 0,1мм но чтоб не пережигал мощьность приходится ставить на ~30% Нарыл тут что есть такая комада как G6 которая может очень быстра упровлять двигателями но пока с ней не разобрался сильна мудрёная примеров ненашол как её использовать. Я могу конечно написать програму чтоб движение по Х была задано от начала доконца потом обратнои в этот момент дрыгать нагой лазера с заданым итервалом но это будет работать только через USB с копютера но не с SD При такой мощьности смогу жечь со скоростью 80мм/с такую картику смогу печатать не за 20 а за 5 минут

22.10.2020 в 09:47
0

Работает пока максимум 21мм/c

Поднимайте джерки, похоже они сильно тормозят, все же нужно разогнаться и тормозить на дистанции в 0.1 мм, ускорения точно не справятся. 

22.10.2020 в 13:06
0

Как же можно разогнаться на такой дистанции ? в 0,1мм  ускарения в таком режиме безразницы хоть 1000 хоть 10000 Визувльно сейчас создаётся впечатление что это типа одна комада по движению нет не вибраций не остоновок головка плавно идёт без тремора. Ладна потом с копютера буду посылать на печать сразу буду посылать комаду движение по Х до конца картинки в этот момент по таймеру буду отслеживать движение головы и дёргать нагой лазера По моим расчётам больше 80 мм/c неразгонишься просто уже мощьности лазера нехватит жечь с такой скоростью

22.10.2020 в 22:21
0

Посмотрите что у вас указано в прошивке в этих строчках:

 #define SPINDLE_LASER_POWERUP_DELAY 1000

#define SPINDLE_LASER_POWERDOWN_DELAY 1000

У меня в профиле есть статья немного связанная с этой темой.

23.10.2020 в 05:54
0

Да я знаю про это ставил 1 но потом изменил на ноль нечего не поменялось Да команда M3 S128 I; не даёт задержек очень похожа по своему действию на M42 P14 S128;  Но она в отличии M42 P14 S128;  не работает если во время движения если я посылаю команду перемещения и пытаюсь во время когда движется головка дёргать ногой лазера то только M42 P14 S128; срабатывает а M3 S128 I; ожидает остановки головки только после этого срабатывает. Сейчас у меня нет такого понятия как остановка головка перемещяется от точки к точке при этом изменяется мощность лазера если я удаляю команды управления лазером то скорость остаётся тойже приблизительно 20мм/c изменения ускарений отрыва увеличения скорости не как не влияют Я уже писал что сейчас есть идея просто запускать головку чтоб она двигалась и в этот момент ослеживать временые промежутки с компютера и изменять мощьность лазера в во время движения Хотел на аппаратно  упровлять шагами шагового двигателя командой М42 но марлин всё портит вмешиваясь в процесс управления

23.10.2020 в 08:09
0

Рассмотрите еще вариант когда лазер работает на одной мощности, а оттенки получаются изменением скорости перемещения. Когда я экспериментировал этот метод дал наилучший результат, но я использовал уже готовый софт. Метод долгий в настройке потому что для лазера нужно определить так называемый "уровень белого". Какая должна быть скорость перемещения для выставленного уровня выходной мощности. Чем мощнее лазер тем с большей скоростью он должен (может) перемещаться для получения соответствующего прожига. Также необходимо определить "уровень черного". Скорость ниже которой уже идет пережог.  И дальше создавать управляющую программу уже в этом диапазоне скоростей.

23.10.2020 в 10:11
0

но я использовал уже готовый софт.

Какой именно ? Можете прислать или дать ссылку на него ? Он для притера ? Мрлин недодержка есть ?

23.10.2020 в 13:58
0

Софт универсальный. В нем можно менять правила формирования G-кода.

24.10.2020 в 17:17
0

Да я уже сталкивался с этим слайсером это даже не слайсер а что то среднее между сласиром и языком прогромирования Там нет готовых решений для принтера на мерлине. А как подпиливать чужие макросы под себя так лтуше сразу писать своё хотя бы для личного пользования. По крайней мере знаю возможности тех языков на которых пишу

24.10.2020 в 18:57
0

На самом деле там все гораздо проще чем кажется. Нужно всего лишь подправить правило формирования G-кода. Изначально программа формирует код для "стандартных" (самых распространенных) CNC машин. Где система координат и "правила перемещения" указываются в начале кода или перед группой однотипных перемещений, а дальше только координаты, скорость и параметры работы рабочего инструмента. Для Марлина (3D-принтера) же необходимо указывать какое мы совершаем перемещение (быстрое, рабочее) в каждой отправляемой команде. Я имея только общее представление о программировании разобрался без особых усилий. Тем более там есть пояснение как это делать.

24.10.2020 в 22:52
0

Да я понял и с ней несложно разобраться но это не готовое решение а пластилин и которого что то можно слепить Мне нет смысла разберется с чужими заморочками если сам умею программировать так я хоть представляю что программа должна делать а там только догадываться приходится Я сегодня эксперементировал от 0,1мм перешол на шаг 0,3мм стала намного побыстрей работать и при этом размеры картинки вырасли да и жёг уже на полной мобильности 

14.11.2020 в 01:29

Комментарий удалён

24.10.2020 в 23:20
0

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

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Anycubic Photon Mono X

Заглушка для салона автомобиля: опыт моделирования и печати.

На что способен недорогой Лазерный гравер? (часть 2)

FlashPrint Creator 3. Очистка сопел. Нюансы конструкции.

XTLW Idex Climber 7 принтер с двумя независимыми экструдерами.

Snapmaker 2.0 A350 - Пылезащитный башмак для ЧПУ