GCODE: Плюшки от Павлушки

Подписаться на 3Dtoday
xedos
Идет загрузка
Загрузка
19.04.16
30144
16
RepRap
124
Статья относится к принтерам:
RepRap
Добрый день уважаемые читатели!

Сегодня хотелось бы рассказать о GCODE.
При помощи нехитрых команд, можно разнообразить скучную работу оператора 3D принтера.
Эти команды облегчают процесс настройки принтера и печати.
Данные команды будут описываться для прошивки MARLIN, возможно будет работать и на других прошивках.

Что-то, я подсмотрел, что-то придумал сам.
Почти всем этим я пользуюсь практически при каждой печати.С Вашего позволения, эти вещи я буду называть "Плюшки".

ВНИМАНИЕ: GCODE - примерный, цифры в командах не окончательные, у Вас могут быть свои.

Показана логика действий. Перед применением продумать и проконтролировать автора.


Плюшка 1. Программа калибровки стола (стол 200 х 200 мм).

Сопло ездит по 5-ти точками, ожидает там 15 секунд. В это время Вы можете подкрутить стол (регулятор высоты).

G28 X0 Y0 Z0
G90
G1 X10 Y10 F1000
G4 S15
G1 X10 Y190
G4 S15
G1 X190 Y190
G4 S15
G1 X190 Y10
G4 S15
G1 X100 Y100
G4 S15
M300 S5000 P280

----------
G28 X0 Y0 Z0 команда HOME для трех осей.
G1 - движение
XY - координаты
F - подача (скорость передвижения)
G4 S15 - пауза 15 секунд.
M300 S5000 P280 - звуковой сигнал, S - длительность, P - частота.

Плюшка 2. По окончании печати удобно:
  • для кинематики XY-Z (Ultimaker, H-BOT, COREXY) - опустить стол, что бы увидеть результат печати;
  • для кинематики XZ-Y (Prusa i2 или i3) - выкатить стол на себя, что также увидеть результат печати.
XY-Z (Ultimaker, H-BOT, COREXY):
G91
G1 Z10 F1000
G28 Y0 X0
G90
G1 Z200 F3000

----------
G91 - переходим в относительную систему координат
Z10 - опускаем стол на +10 мм
G28 Y0 X0 - паркуем головку (Home)
G90 - переходим в абсолютную систему координат
Z200 - опускаем стол до максимума

F3000 - подача (скорость)

XZ-Y (Prusa i2 или i3):
G91
G1 Z10 F1000
G28 X0
G90
G1 Y200 F1000

----------
G91 - переходим в относительную систему координат
Z10 - подымаем головку на +10 мм
G28 X0 - паркуем головку (Home)
G90 - переходим в абсолютную систему координат
Y200 - выдвигаем стол до максимума на себя

F1000 - подача (скорость)

Плюшка 3. Вытирание сопла перед перед печатью или после смены цвета пластика (замена филамента).

Подсмотрено здесь, смотреть с 6:11 мин. - https://youtu.be/_RzFC5FplmY?t=371

XZ-Y (Prusa i2 или i3):
G28 Y0 X0 Z0
G1 Z5 F1000
G90
G1 Y200
G1 Z3
G1 X40
G1 X20
G1 X40
G1 X20
G1 Z5

----------
G28 X0 Y0 Z0- паркуем головку (Home)
G90 - переходим в абсолютную систему координат
Z5 - подымаем головку на +5 мм
Y200 - выдвигаем стол до максимума на себя.
X40 и X20 - протираем сопло движениями туда-сюда.
Z3 - опускаем головку до 3 мм.

Плюшка 4. Смена пластика, при печати одним соплом.

Если Вы желаете печать разными пластиками (цветами) за одну печатную сессию одним соплом, то можно провернуть следующий финт ушами.

В слайсере вычисляем высоту слоя, который желаем печатать другим цветом.
Умножаем номер слоя на высоту слоя, получаем высоту в мм.
Пример: слой №50, высота слоя 0,2 мм, получаем 50 х 0,2 = 10 мм
Находим в GCODE строку с Z10 мм.

В этом месте вставляем следующий код:
G91
G1 Z5
G90
G1 Y10 X10 F1000
G4 S60
G91
G1 E100 F100
G92 E0
G90

----------
G1 Z5 - подымаем головку +5 мм
G4 S60 - пауза 60 секунд
G90 - переходим в абсолютную систему координат
G91 - переходим в относительную систему координат
G92 - обнуление координат пластика
G1 E100 F100 - выдавливаем 100 мм пластика, для полной смены пластика

Меняем пластик руками. Можно автоматизировать, об этом ниже.
После этого печать у Вас продолжиться с места, в котором была остановка.

Плюшка
5.
Звуковое оповещение.

У Smart Controller'а есть бипер (зуммер), им можно издавать примитивные звуки.

Начало печати один звуковой сигнал
M300 S5000 P280

Конец печати, можно пищать 3 раза или другим оповещать другим звуком.
M300 S5000 P280
G4 S1
M300 S5000 P280
G4 S1
M300 S5000 P280

----------
М300 - звуковая команда
S - частота
Р - длительность
G4 S1 - пауза 1 секунда

Плюшка 6. Протяжка пластика перед печатью.
Выпускаем нить, и смотрим на качество нити.

G91
G1 E10 F300
G90

G92 E0
----------
G90 - переходим в абсолютную систему координат
G91 - переходим в относительную систему координат
G92 E0 - обнуление координат пластика (длины)
G1 E10 F300 - выдавить 10 мм пластика на подаче 300


Плюшка 7. Частичное удаление пластика после печати.

По окончанию печати можно убрать (всосать немного пластика, ретракт).
Можно удалять пластик при холодном хотэнде.

G91
G1 E-10 F300

G90
----------
G90 - переходим в абсолютную систему координат
G91 - переходим в относительную систему координат
G1 E-10 - всосать 10 мм пластика на подаче 300


Плюшка 8. Выключение или выключение реле (пин на Mega 2560).

Пример здесь. У меня включается вентилятор обдува хотэнда и LED подсветка.

Есть мысли сделать анализатор температуры, согласно температуры включать подсветку (цветовая индикация).
Например Хотэнд или стол нагрелся:
До 60 градусов - горит желтая подсветка.
До 100 градусов - горит оранжевый свет, плавно переходит из желтого.
До 200 градусов - красный, плавно переходит из желтого.

Смотреть с 1:29 мин - https://youtu.be/rwnErrbPAuY?t=89

M42: Switch I/O pin — дает нам возможность управлять пинами на ARDUINO MEGA 2560.
Команда имеет следующий формат: M42 Номер_Пина Значение = M42 P5 S255

M42 P4 S0 — включение реле;
M42 P4 S255 — выключение реле;

Плюш ка 9. Пауза при печати (пример смотри выше).

G4 S15
----------
G4 S15 - пауза 15 секунд.


Плюшка 10. Пишем текст на экране SmartScreen, до 20-ти символов.

Я пишу в каком слайсере был сделан GCODE, Cura или Slic3r.

M117 Hello World
----------
M117 - Текст сообщения

Все эти команды, можно вписывать как в середину GCODE (руками) или в слайсерах (Slic3r и Cura) в начале и в конце GCODE файла.
qqweqqq.png
dasads.png
А какие фишки используешь ты?
Расскажи в комментариях!
Приведи полезный пример!

Подписаться на 3Dtoday
124
Комментарии к статье

Комментарии

19 Апр 21:28
0
Я для паузы использую плагин Cura. Использовал. Все чётко.
А для изменений каких то параметров печати на лету использую другой плагин.
Планирую использовать плату расширения для вентиляторов. Приедет - напишу статью.
Для смены материала есть пункт в меню. Менял. Все чётко, понравилось.
Для кода по окончании печати хотя бы написали куда его вставить надо, чтобы людям понятнее было. И про калибровку тоже.
Для чистки сопла надо что ставить - просто кодом не прочистит. ) на робофоруме тема есть.
А как на холодном хотенде пластик удалить?
И да - ПОДНИМАЕМ, а не подымаем! ;) ничего личного!
19 Апр 22:06
3
Я читал, про команду M600 - смена филамента.
Как я понял, её надо включать в прошивке и там же надо настраивать положения головы.
Хотел описать этот момент, но до конца не разобрался.

M600: Filament change pause
Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal].

Для кода по окончании печати хотя бы написали куда его вставить надо, чтобы людям понятнее было. И про калибровку тоже.
Да вроде показал на картинке. End CGODE.

Для чистки сопла надо что ставить.
Предлагаю "распилить" валенок на полоски, и приклеить.
Думаю, войлок будет хорошо очищать.
Пример можно посмотреть на видео.
Возможно он будет гореть и прожигать колею, можно сместить координату на пару мм в сторону.

А как на холодном хотенде пластик удалить?
Думаю, что не стоит пробывать его чистить на холодную.
Сопло горячее в начале и в процессе печати.
Так, что холодный вариант не рассматривается.

ПОДНИМАЕМ
Полностью с Вами согласен, моя оплошность, можно было заменить.
Хотя есть такое слово в Нашем Великом и Могучем.
https://ru.wiktionary.org/wiki/%D0%BF%D0%BE%D0%B4%D1%8B%D0%BC%D0%B0%D1%82%D1%8C
20 Апр 06:02
1
Да не, включать в прошивке М600 не надо. В Марлине по умолчанию все работает. В меню выбирается. И в Репитере есть такой пункт.
Про холодный хотенд. У вас фраза "Можно удалять пластик при холодном хотенде", на что я и задал вопрос - как?
20 Апр 13:20
1
По завершении печати, Вы вытягиваете на горячую пластик из сопла и термобарьера (командой G1 E-10 F300).
Выключаете принтер. Пластика нет в термобарьере и сопле.
И потом (позже) на холодную его можно легко извлечь руками, без прогрева.
20 Апр 16:21
0
Ага, вот что вы имели ввиду.
19 Апр 22:10
3
Очень познавательно, спасибо!:)
19 Апр 22:46
0
Опубликовал статью с таким же превью, с логотипом RepRap и жду модерации. Сейчас зашел глянуть и офигел моя статья, а название плюшки от Павлушки. Думаю че зан нафиг, а потом почитал внимательно, понял что к чему)
19 Апр 22:52
2
История выдуманная, все совпадения случайны! :D
20 Апр 01:59
0
xedos, Спасибо!
Статья очень понравилась!
21 Апр 13:01
1
P/S: Не удивляйтесь если какой то гкод не сработает (например M300 / M42...), либо он не включен в прошивке, либо его прошивка не поддерживает (старая версия или поприетарный "велосипед").

В свое время этим настрадался... Нестандарщина =(
21 Апр 13:01
1
Спасибо!
Еще! Автор! Давай еще про G код и побольше!
27 Апр 23:18
2
Насчёт первой "плюшки" считаю код нужно подкорректировать: при переходе от одной точки к другой нужно увеличить зазор между соплом и столом, потом совершить перемещение и при достижении нужной координаты X и Y снова перейти в Z0. Иначе при малом зазоре между соплом и столом во время перемещений сопло будет царапать стол.

Т.е. должно быть:

G28 X0 Y0 Z0
G90

G1 Z5 F1000
G1 X10 Y10

G1 Z0
G4 S15

G1 Z5
G1 X10 Y190

G1 Z0
G4 S15

G1 Z5
G1 X190 Y190

G1 Z0
G4 S15
G1 Z5

G1 X190 Y10
G1 Z0

G4 S15
G1 Z5

G1 X100 Y100
G1 Z0
G4 S15
M300 S5000 P280
24 Ноя 19:32
1
При регулировке стола, после как минимум десятиминутного прогрева стола и экструдера (>10 мин)
делаю "disable motors" (отключить моторы) и дальше, регулируя уровень стола, передвигаю экструдер рукой.
(пружины регулировочных винтов туговаты)
Статья хорошая ИМХО
17 Янв 18:24
0
Спасибо !!! Очень помогло в работе!:)
24 Мар 10:21
0
Было бы очень полезно узнать ск. свободных портов существует в прошивке марлин под команду M42 и вообще в др. прошивках.
Я лично использую 3 в AUX2, дальше не ходил...
28 Май 12:10
0
На Ramps есть пин PS ON. Как на нем организовать выключение питания после печати?

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

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

Anet A6 в серверном шкафу.

3Dtoday за 60 секунд от 23 октября

Японские строительные компании интересуются специализированными 3D-принтерами

Снижение цен на принтеры FlashForge

Мультики, ягодицы и 3D-принтеры: как британская студия DBLG отмечала день рождения

AEROTEX от Filamentarno! - первая партия уже в продаже!