Всем привет! Рад каждому читателю моего канала о Технологиях 3D печати!
Принцип работы G-CODE
G-CODE был составлен ещё в 1960 году компанией Electronic Industries для простого управления ЧПУ станками.
Код представляет собой жёсткое строение:
- Подготовительные команды
- Команды перемещения
- Режим обработки
- Технологические команды
Использование этого кода позволяет понимать действия аппаратуры. Оператор забивает необходимы код в виде команды, отправляет на ЧПУ станок, а станок исполняет. Передача происходит пакетно, от действия к действию.
G-CODE для 3D принтера немного отличается от прародителя. Ненужные команды были вырезаны, а необходимые для корректной работы 3D принтера добавлены. Так родился G-CODE для работы на прошивке MARLIN.
В целом, коды во многом идентичны. Хотелось бы немного приоткрыть занавес на команды и описать основные из тех, что необходимы для работы 3D принтера.
Команды 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-моделирование