Найти тему
Технологии 3D печати

Что такое G-CODE? Рассказываю об основах 3D печати

Оглавление

Всем привет! Рад каждому читателю моего канала о Технологиях 3D печати!

Принцип работы G-CODE

G-CODE был составлен ещё в 1960 году компанией Electronic Industries для простого управления ЧПУ станками.

Код представляет собой жёсткое строение:

  1. Подготовительные команды
  2. Команды перемещения
  3. Режим обработки
  4. Технологические команды

Использование этого кода позволяет понимать действия аппаратуры. Оператор забивает необходимы код в виде команды, отправляет на ЧПУ станок, а станок исполняет. Передача происходит пакетно, от действия к действию.

G-CODE для 3D принтера немного отличается от прародителя. Ненужные команды были вырезаны, а необходимые для корректной работы 3D принтера добавлены. Так родился G-CODE для работы на прошивке MARLIN.

В целом, коды во многом идентичны. Хотелось бы немного приоткрыть занавес на команды и описать основные из тех, что необходимы для работы 3D принтера.

Скриншот части G-кода
Скриншот части G-кода

Команды G-CODE

G - подготовительные команды

Основные подготовительные команды:

G0 - Холостой ход, без работы инструмента [G 0 X 10]

G1 - Координированное движение по осям X Y Z E [G 1 X 10]

G4 - Пауза в секундах [G4 S15]

G28 - Команда Home - паркуем головку [G28 Y0 X0 Z0]

G90 - Использовать абсолютные координаты [G90]

G91 - Использовать относительные координаты [G91]

G92 - Установить текущую заданную позицию [G92]

M - вспомогательные технологические команды

К ним относятся команды по перемещению по координатам Осей X, Y, Z и выдавливания пластика из экструдера E.

M0 - Сделать паузу и ожидать нажатия кнопки на LCD дисплеи (работает если в прошивку установлен параметр ULTRA_LCD) [G0 X10 Y10 Z10 M0]

M17 - Подать ток на двигатели (двигатели руками не вращаются)

M18 - Убрать ток с двигателей (двигатели можно вращать руками, аналог M84)

M42 - Управление контактами ARDUINO MEGA 2560 [M42 P4 S255]

M80 - Включить питание, только для ATX - блок питания

M81 - Выключить питания, только для ATX - блок питания

M84 - Выключение всех осей (моторов после простоя) [M84 S10]

М112 - Экстренная остановка

M114 - Получить текущие координаты

M115 - Получить версию прошивки

M117 - Написать сообщение на экране [M117 Hello World]

M119 - Получить статус концевиков

Также команды на управление SD картой памяти:

M20 - Прочитать SD карту (прочитать список файлов)

M21 - Инициализировать SD карту

M22 - Использовать SD карту

M23 - Выбрать файл с SD карты [M23 filename.gcode]

M24 - Начать/возобновить печать с SD карты

M25 - Пауза печати с SD карты

M26 - Установить позицию SD карты в байтах [M 26 S 12345]

M27 - Узнать статус печати с SD карты

M28 - Записать файл на SD карту [M 28 filename . gcode]

M29 - Закончить записать файла на SD карте

M30 - Удалить файл с SD карты [ 30 filename . gcode]

M31 - Получить значение, сколько прошло времени с последнего M109

M32 - Выбрать файл с SD карты и начать печатать [M 32 / path / filename #]

M928 - Логирование на SD карту [M 928 filename . gcode]

Для экструдера используются следующие команды:

M82 - Установить экструдер в абсолютную систему координат

M83 - Установить экструдер в относительную систему координат

M104 - Ожидание нагрева экструдера до определенной температуры [M104 S190]

M105 - Получить текущую температуру экструдера [M105 S2]

M106 - Включение вентилятора обдува детали [M106 S127] - мощность 50%

M107 - Выключение вентилятора обдува детали [M 107]

M109 - Нагреть экструдер и удерживать температуру [M109 S215]

Для стола команды М:

M140 - Установить температуру стола [M140 S65]

M190 - Нагреть стол и удерживать температуру [M190 S60]

PID M301 - Записать PID параметры в EEPROM [M301 H1 P1 I2 D3]

где: H0 – стол, H1 – экструдер

M302 - Разрешить холодное выдавливание [M302 P1].

M303 - Запустить процесс PID калибровки [M303 E-1 C8 S110]

где: E-1 – стол, E0 – хотэнд, C8 – количество попыток, S – температура.

M304 – Задать PID параметры для стола [M304 P1 I2 D3]

EEPROM – внутренняя память микроконтроллера (не обнуляется при выключении)

M500 - Сохранить параметры в EEPROM

M501 - Прочитать параметры из EEPROM

M502 - Сброс параметров EEPROM

К филаментам применяют следующие команды М

M200 - Задать диаметр филамента [M200 D1.128]

M600 – Замена филамента.

Также существуют команды для установки параметров:

P - параметры команды [М300 S5000 P280]

S - параметр команды [G04 S15]

F - Параметры скорости подачи

Рассмотрим пример G-CODE

Для проверки работы команд, можно послать коды через консоль связи с принтером, к примеру в Repitier Host, есть возможность писать код и отправлять на принтер. Либо написать коды блокноте в программе Slic3r.

Предлагаю к проверке следующий код:

M190 S60 - включаем нагрев стола и ждём, пока он не нагреется до температуры 60 градусов

M109 S210 - включаем нагрев сопла и ждём, пока оно не нагреется до температуры 210 градусов

G21 - устанавливает метрическую систему координат

G90 - устанавливает абсолютную систему координат

M82 - устанавливает абсолютную систему координат для экструдера

M107 - выключаем обдув детали

M300 S5000 P280 – звуковой сигнал

G28 X0 Y0 - команда Home X Y

G28 Z0 - команда Home Z

G1 X100 Y100 Z5 F1000 - центруем сопло относительно стола

G92 E0 - обнуляет количество выдавленного пластика

G1 F300 E4 - выдавливаем 4 мм пластика со скоростью 300 мм

M117 Printing - выводит сообщение на экран

M106 S125 - включаем обдув детали со скоростью 50%

G1 Z0 - опускаем сопло на 0 мм

G1 X96.11 Y110.92 E87.55 - ездим по координатам и выдавливаем пластик

G1 Z0.2 - поднимаем сопло на 0.2 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

M140 S50 - изменяем температуру стола

.....

G1 Z4.8 - поднимаем сопло на 4.8 мм

G1 X96.11 Y110.92 E87.55 - ездим по координатам и выдавливаем пластик

G1 Z5 - поднимаем сопло на 5 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

G91 - устанавливает относительную систему координат

G1 E-5 F200 - всасывание экструдером 5 мм прутка

M104 S0 - отключением нагрев экструдера

M140 S0 - отключением нагрев стола

M107 - выключаем обдув детали

M84 - выключаем шаговые двигатели

M300 S5000 P280 – звуковой сигнал

Для оформления статьи. Яндекс картинки
Для оформления статьи. Яндекс картинки

Спасибо за внимание!

С уважением, Технологии 3D печати!

Не забывайте отблагодарить меня лайком! И подписывайтесь на канал!

Спасибо Xedos и сайту 3D Today за поставленную информацию!

#g-code #3d моделирование #3d печать #3d-принтер #3d-моделирование