G код как написать программу

В этой статье разберем что представляет из себя Gcode для 3d принтеров. Детально рассмотрим структуру, виды команд, принцип формирования кадров.

Итак, Gcode — это язык программирования для машин и станков с числовым программным управлением. Для 3d принтеров он формируется программой слайсером, предварительно загрузив в нее 3d модель и задав необходимые параметры печати.

По какому же принципу работает ПО для 3d печати?

Принцип по которому работает любой 3d принтер – это разбиение 3d модели на множество горизонтальных слоев. Каждый слой вне зависимости от способа его формирования (экструдером FDM принтер, лазером SLA, DLMS) разбивается на множество линий определенной толщины и ширины или формируется в виде растрового изображения если это DLP принтер. Например ширина такой линии для FDM 3d принтера – это диаметр сопла, высота это толщина слоя. Для того чтобы задать экструдеру маршрут необходимо сформировать своего рода карту. Простыми словами – этот набор команд и есть gcode, а формируется он автоматически, программой сласером типа Cura, Slick3r и т.д., при подгрузке в нее 3d модели .

G-, M-КОДЫ — #25 — БАЗОВЫЕ G-КОДЫ: G00 И G01 / Программирование обработки на станках с ЧПУ

Каждый вектор траектории в gcode описывается декартовыми координатами, по которым и перемещается экструдер. В этом файле еще описываются такие параметры как нагрев, скорость перемещения, скорость выдавливание пластика и т.д. Вообще Gcode создавался для ЧПУ станков, он имеет множество различных команд и функций. Для этих устройств G-код на много сложнее, нежели для 3d принтеров. Для sla и dlp 3d принтеров слайсеры устроены немного по другому принципу, т.к. sla иcпользую лазеры, которые управляются гальванометрами с зеркалами, а dlp — проекторы засвечивают каждый слой пятном созданным в виде растрового изображения.

Для просмотра gcode, существует удобный онлайн-инструмент http://gcode.ws/ .

Немного истории, gcode был создан компанией Electronic Industries Alliance ещё в 1960-х годах. В дальнейшем распространился по всему как стандарт для применения во всех устройствах с ЧПУ.

Итак, ваш 3 d принтер – это устройство с числовым программным управлением. Работает он в соответствии с командами которые описаны в запушенном Gcode .

Файл содержащий код имеет расширение. gcode и условно его структура выглядит следующим образом:

1. Подготовительные операции. Здесь подготавливается 3 d принтер к печати, запускаются нагрев стола, экструдера, устанавливается параметры системы координат, включается охлаждение, перемещение головки в нулевую точку отсчета, выдавливается тестовая порция пластика и другие установленные параметры.

2. Непосредственно 3 d печать объекта.

3. Заключительный этап. Перемещение экструдера и стола в исходное положение, отключение нагрева всех элементов 3 d принтера и т.д.

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

Написание управляющей программы для токарного станка с ЧПУ стойки Fanuc,цикл G71,G70,G83,G76 Урок 1

Ну а прошивка (машина воспринимает только 0 и 1) работает только по командам которые можно разделить на:

1. G – Основные (называемые в стандарте подготовительными) к оманды которые выполняют перемещение от точки к точке по прямой линии, в высоту или заданной дуге окружности определенного радиуса. Т.е. позиционирование экструдера или инструмента в пространстве.

2. М – Вспомогательные (технологические ) команды. Различные команды которые включают рабочие элементы нагрев, охлаждение, передача, считывание параметров и их вывод на дисплей и др. Это самая многочисленная группа.

3. T — смена инструмента т.е. в нашем случае переход от с первого на второй экструдер T 0, T 1.

Ниже идут параметры которые необходимо передать команде для ее выполнения. Это конкретные числовые значения:

1. X , Y , Z – координаты для позиционирования инструмента в пространстве. Могут быть целыми, дробными, отрицательными, положительными.

2. F — скорость движения печатающей головки в мм/мин.

3. S – значение температуры, время в секундах, напряжение

4. P – параметры в миллисекундах для настройки PID -контроллеров

5. Е – кол-во пластика в мм. Зависит от указанного диаметра сопла и диаметра нити. В Gcode устанавка скорость работы мотора подающий пластик в самом начале с помощью параметра F 200 [G1 F200 E10], так же в настройках самого 3 d принтера, можно увеличить обороты двигателя в %. До обнуления в каждом кадре указывается общее кол-во в мм начиная сначала. Может принимать отрицательные значения если необходимо втягивание нити.

6. H — номер нагревателя. H 0 — Для стола, H 1 — H … для экструдера и т.д.

7. R – радиус дуги

8. D – диаметр нити.

Основные команды G , которые применяются для управления 3 d принтерами:

  • G0 — Холостой ход, без выдавливания пластика. Например [G0 F5400 X92.570 Y102.081 Z0.300] – Перемещение в точку с координатами X92.570 Y102.081 Z0.300, со скоростью 5400 мм/мин.
  • G1 — Прямолинейное движение по осям X Y Z, с выдавливаем пластика Е в мм. Например [G1 F1200 X93.754 Y101.488 E0.0660] – это координаты точки куда необходимо перемеcтиться экструдеру, со скоростью 20 мм/с, при этом израсходуется 0.066 мм нити.
  • G2 и G3 – перемещение по дуге. Эта команда практически не применяется если ее не задать вручную, т.к. периметр всегда представляет из себя ломанную (поверхность состоит из треугольников), а заполнение формируется прямыми линиями. Для этой команды необходимо задать R радиус окружности дуги.
  • G4 — Пауза в секундах в S – в сек, P – миллисекундах. [G4 S15] — Останавливаемся на 15 мин.
  • G21 – значения единиц измерения в мм. Устанавливается один раз в подготовительной части.
  • G28 — Команда Home — паркуем головку. [G28 Y0 X0 Z0] – перемещение экструдера в указанные координаты.
  • G90 — Использовать абсолютные координаты . В этой команде отсчет производиться от начально нулевой точки декартовой системы координат. Устанавливается один раз в подготовительной части.
  • G91 — Использовать относительные координаты . В этой команде отсчёт производится от последней точки траектории перемещения.
  • G92 — Установить текущую заданную позицию.

Основные команды M которые применяются для управления 3 d принтерами:

Обязатльные:

  • M0 — Пауза и ожидание нажатия кнопки на LCD дисплеи (работает если в прошивку установлен параметр ULTRA_LCD) [ G0 X20 Y20 Z20 M0]
  • M17 — Подать ток на двигатели (двигатели руками не вращаются)
  • M18 — Убрать ток с двигателей (двигатели можно вращать руками, аналог M84)
  • M42 — Управлять контактами ARDUINO MEGA 2560 [ M42 P4 S255]
  • M80 — Включить питание, для ATX — блок питания
  • M81 — Выключить питания, для ATX — блок питания
  • M84 — Выключение всех осей (моторов после простоя) [M84 S10]
  • М112 — Экстренная остановка
  • M114 — Получить текущие координаты
  • M115 — Получить версию прошивки
  • M117 — Написать сообщение на экране [ M117 Best Print . ]
  • M119 — Получить статус концевиков
  • M300 — Проиграть звук [ M300 S300 P200] — S частота в Гц, P – продолжительность в миллисекундах.

Команды для SD карты

  • M20 — Прочитать SD карту (передать список файлов)
  • M21 — Инициализировать SD карту
  • M22 — Открыть SD карту
  • M23 — Выбрать файл на SD карте [ M23 3 dbenchy .gcode ]
  • M24 — Начать/возобновить печать с SD карты
  • M25 — Пауза печати с SD карты
  • M26 — Установить позицию SD карты в байтах [ M 26 S4321]
  • M27 — Узнать статус печати с SD карты
  • M28 — Записать файл на SD карту [ M28 3 dbenchy .gcode ]
  • M29 — Окончить запись файла на SD карте
  • M30 — Удалить файл с SD карты [ M30 3 dbenchy .gcode ]
  • M31 — Получить значение, сколько прошло времени с последнего M109
  • M32 — Выбрать файл на SD карте, начать печатать [ M 32 / path / 3 dbenchy # ]
  • M928 — Логирование на SD карту [ M928 3 dbenchy gcode ]
Читайте также:
На каком счете учитывать антивирусную программу

Команды для экструдер а:

  • M82 — Установить экструдер в абсолютную систему координат
  • M83 — Установить экструдер в относительную систему координат
  • M104 — Нагрева экструдера до определенной температуры [ M104 S210] – нагрев до 210 град.
  • M105 — Получить текущую температуру экструдера [ M105 S2]
  • M106 — Включение вентилятора обдува детали [ M106 S255] — мощность 100% , [ M106 S128]- мощность 50%
  • M107 — Выключение вентилятора обдува детали
  • M109 — Нагреть и удерживать температуру экструдера [M109 S210] – температура 210 град

Управление стол для 3d печати:

  • M140 — Установить температуру стола [ M140 S75] – температура 75 град.
  • M190 — Нагреть стол и удерживать температуру [M190 S70] — температура 70 град

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.75] – диаметр 1.75
  • M600 – Заменить пластик.

Вообще различных комманд великое множество, а также появляются новые, посмотреть все вы сможете тут — http://reprap.org/wiki/Gcode

А теперь разберем Gcode сформированный программой Ultimaker — Cura , 3 d модель 3 dbenchy с двумя экструдерами. Поддержки печатаем вторым экструдером.

Приложено 2 скриншота, с основными настройками и продвинутыми:

Сопоставить параметры Cura и исходных записей Gcode :

M 190 S 70.000000 – температура стола

M 104 T 1 S 210.000000

M 109 T 0 S 210.000000 — температура первого экструдера 210

M 109 T 1 S 210.000000– температура второго экструдера 210

Дальше описываются параметры первого и второго экструдера + комментарии:

Выбираются единицы измерения, система координат, точки начального отсчета.

M 117 – сообщение о начале печати, если все подготовительные операции выполнены.

M 107 – включается вентилятор.

Дальше идет формирование первого слоя LAYER 0

G0 F5400 X92.570 Y102.081 Z0.300 – Холостой ход со скоростью 90 мм/с. Обратите внимание на продвинутые настройки.

G1 F1200 X93.754 Y101.488 E0.06606 – скорость первого слоя 20 мм/с, расход нити на этот кадр 0.066 мм.

Ниже указывается скорость для структур заполнения:

G1 F4800 E18.03179

G1 F1200 X134.460 Y114.661 E18.06728

G0 F5400 X133.848 Y115.470

Смена экструдера для печати поддержек

Заключительный этап 3 d печати: Перемещение экструдера и стола в исходное положение, отключение нагрева всех элеменетов 3 d принтера и т.д.

Источник: 3dradar.ru

Основы G-кода: справочник по базовым командам для FDM 3D-принтеров

G-код или Gcode — это машинный код, то есть последовательный набор команд для 3D-принтеров, генерируемый слайсерами. В тоже время G-код нередко приходится править вручную, если слайсер не обладает соответствующим функционалом или пользователю просто необходимо изменить поведение 3D-принтера. В этой статье поделимся списком наиболее широко используемых команд.

G-Code: основы

Сразу предупреждаем, что в нашем перечне представлены только наиболее часто встречаемые команды и только для прошивки Marlin. Многие из перечисленных примеров не совпадают с командами в таких прошивках, как RepRapFirmware, Repetier или Klipper, поэтому используйте осторожно.

G-код может выглядеть устрашающе запутанно, но не волнуйтесь: немножко практики, и вы будете без труда отличать барышню в красном от криволинейной траектории второй головки с холодной экструзией.

G-Code: основы

В целом, команды разделяются на две категории — основные команды, начинающиеся с литеры G и касающиеся непосредственно построения модели, а также вспомогательные, обозначаемые литерой М и отвечающие за настройку систем 3D-принтера и различные дополнительные действия. За литерами следует нумерация команды, а затем указываются параметры действия. Например, команда G91 G0 X100 F200 означает, что от 3D-принтера требуется использовать относительную систему координат (G91) и провести холостое перемещение головки (G0) по оси X на 100 мм вправо (X100) со скоростью 200 мм/c (F200).

Примеры параметров

X — координата по оси X.

Y — координата по оси Y.

Z — координата по оси Z.

I — смещение по X при криволинейном движении.

J — смещение по Y при криволинейном движении.

E — длина экструдируемого филамента от начальной до конечной точки перемещения.

F — скорость холостого перемещения головки или укладки материала.

P — командный параметр, например время в миллисекундах.

S — командный параметр, например время в секундах, температура или напряжение.

T — выбор экструдера.

Примечание: во многих случаях некоторые параметры можно опускать, если они остаются неизменными. Например, приведенная выше команда на холостой ход полностью выглядит так: G91 G0 X100 Y000 Z000 F200, но так как перемещение по осям Y и Z не требуется, можно написать просто G91 G0 X100 F200.

Некоторые из основных команд

G0 — холостой ход, то есть без подачи материала.

G1 — координированное линейное движение.

G2 — координированное криволинейное движение по часовой стрелке.

G3 — координированное криволинейное движение против часовой стрелки.

G4 — пауза в секундах.

G10 — ретракт филамента.

G21 — перейти на измерение в миллиметрах (G20 — в дюймах).

G27 — парковка головки в указанной точке.

G28 — парковка головки «по нулям» с указанием осей.

G90 — использовать абсолютную систему координат.

G91 — использовать относительную систему координат, то есть с отсчетом от текущей позиции головки.

G92 — установить текущую позицию головки.

Пример:

T1 //переключиться с первого экструдера на второй (T1)

G0 F300 //установить скорость перемещения головки 300 мм/c

G0 X10 Y10 //переместить головку в координаты 10 по оси X и 10 по оси Y с заданной ранее скоростью (в нашем случае 300 мм/c)

G1 X80 Y15 E25 F50 //переместить головку в координаты 80 по оси X и 15 по оси Y с одновременной подачей 25 мм филамента, снизить скорость с ранее заданных 300 мм/c до 50 мм/с

Некоторые из вспомогательных команд

M0 — остановиться и ожидать пользовательской команды с дисплея, либо полностью выключиться по истечении определенного периода времени. Например, M0 P2000 или M0 S2 задает остановку, затем время ожидания ручной команды в две секунды, а затем отключение.

M17 — включить шаговые двигатели.

M18 — выключить шаговые двигатели.

M20 — прочитать список файлов на SD-карте.

M21 — активировать SD-карту.

M22 — отключить SD-карту перед извлечением.

M23 — выбрать файл на SD-карте. Пример: M23 filename.gcode.

M24 — запустить заново или продолжить (если ранее использовалась команда M25) 3D-печать файла, указанного командой M23.

M25 — приостановить 3D-печать с SD-карты (возобновляется с того же места командой

M26 — выставить позицию в файле, указывается в байтах. Указанная позиция должна точно совпадать с началом соответствующей команды в G-коде. Позволяет перепрыгивать на определенный участок кода без выполнения пропущенных команд.

M27 — узнать статус 3D-печати с SD-карты.

M28 — записать файл на SD-карту. Пример: M28 filename.gcode.

M29 — завершить запись файла на SD-карте: файл закрывается, система продолжает работу.

M30 — удалить файл с SD-карты. Пример: M30 filename.gcode.

M32 — выбрать файл с SD-карты и запустить 3D-печать.

M80 — включить блок питания ATX.

M81 — отключить блок питания ATX.

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

Читайте также:
Как добавить программу в рекомендуемые программы

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

M84 — выключить все шаговые двигатели. Пример: M84 S15 означает перевод в режим ожидания после 15-секундного простоя.

M85 — полное отключение после определенного времени простоя. Например, команда M85 S60 означает выключение после одной минуты простоя.

M104 — Установить температуру хотэнда и немедленно перейти к следующей команде. Пример: после команды M104 S220 3D-принтер начнет прогревание хотэнда, но приступит к выполнению следующих команд, не дожидаясь полного прогревания (см. также M109).

M105 — получить текущую температуру экструдера.

M106 — включить обдув. Мощность указывается в диапазоне от 0 до 255. Например, для включения обдува на 50-процентной мощности подойдет команда M106 S127.

M107 — отключить обдув.

M108 — завершить прогревание и приступить к 3D-печати (см. M109).

M109 — установить температуру хотэнда и ждать прогрева. Пример: после команды M109 S220 3D-принтер будет ждать прогревания хотэнда до 220°С, а затем приступит к выполнению следующих команд.

М112 — экстренная остановка с прекращением работы всех двигателей и нагревателей.

M114 — получить текущие координаты.

M115 — узнать текущую версию прошивки.

M117 — вывести сообщение на дисплей. Текст сообщения следует за командой, например M117 Hello.

M119 — узнать состояние концевых выключателей.

M140 — запустить прогрев столика до указанной температуры и немедленно перейти к выполнению следующих команд (см. также M190). Пример: M140 S65 означает прогрев до 65°С.

M190 — установить температуру столика и ждать полного прогрева перед выполнением следующих команд.

M200 — задает диаметр филамента. Дополнительные параметры включают D для диаметра, Т для экструдера, L для максимального потока. Например, команда M200 T0 D1.75 L12 определяет диаметр фламента как 1,75 мм для первого экструдера (T0 — первый, T1 — второй, и так далее) с максимальным объемом подаваемого материала 12 мм^3/с. Команда позволяет в том числе настраивать 3D-принтер для работы с филаментами нестандартного диаметра.

M302 — так называемая «холодная экструзия». Разрешает работу при температуре хотэнда ниже установленной. Например, команда M302 S180 позволяет 3D-принтеру работать при температуре хотэнда как минимум 180°C, даже если хотэнду задана более высокая температура. Команда M302 S0, таким образом, позволит продолжить 3D-печать вне зависимости от текущей температуры хотэнда (фактически, при любой температуре выше 0°С).

M500 — сохранить параметры в EEPROM.

M501 — прочитать параметры из EEPROM.

M502 — сброс параметров в EEPROM.

M600 — пауза для замены филамента.

M928 — запись лога на SD-карту. Пример: M928 filename.gcode.

Полный перечень доступных команд с пояснениями и примерами доступен на сайте RepRap.org по этой ссылке.

Источник: rec3d.ru

Основы G-кода для 3D печати: список и руководство

G-код — это язык программирования для числового программного управления (ЧПУ). Другими словами, это язык, на котором говорит компьютер, управляющий машиной, и он передает все команды, необходимые для движения и других действий.

Хотя G-код является стандартным языком для различного настольного и промышленного оборудования, с ним можно отлично познакомиться с помощью 3D принтера. Возможно, вы до сих пор не разбирались с этим, и это нормально, поскольку 3D-слайсеры генерируют G-код «автоматически».

Тем не менее, если вы хотите глубже понять 3D-печать, важно изучить основы G-кода. Эти знания позволят вам лучше диагностировать и контролировать процессы 3D печати, а также настроить прошивку 3D принтера, такую как RepRap или Marlin.

В этой статье мы расскажем об основах G-кода, в том числе о том, как читать, понимать и писать команды, даже если вы новичок в программировании!

Что такое G-код?

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

Хотя термин «G-код» используется для обозначения языка программирования в целом, это также один из двух типов команд, используемых в 3D-печати: «основные» и «вспомогательные» команды.

Основные командные строки отвечают за типы движения в 3D-принтере. Такие команды обозначаются буквой «G». Помимо управления движением по трем положительным осям, выполняемым печатающей головкой, они также отвечают за экструзию нити.

С другой стороны, разные команды заставляют машину выполнять не геометрические задачи. В 3D-печати такие задачи включают команды нагрева сопла и станины, а также управление вентилятором и т.п. Вспомогательные команды обозначаются буквой «M».

Синтаксис G-кода

Каждая строка с G-код командами имеет определенный синтаксис. Каждая строка соответствует только одной команде, что может привести к очень длинным кодам.

Первым аргументом любой строки является сам код команды. Как вы видели, это может быть код типа «G» или «M», за которым следует номер, идентифицирующий команду. Например, «G0» соответствует команде линейного перемещения.

Далее идут параметры, которые более точно определяют команду. Например, для команды линейного перемещения G0 можно добавить конечное положение и скорость перемещения, также обозначаемую заглавными буквами. У каждой команды есть свой набор параметров, которые мы рассмотрим ниже.

Когда вы будете читать G-код команды, вы увидите точки с запятой после букв и чисел, которые объясняют, что делает код. Вот пример строки с комментарием к коду:

G1 X25 Y5; Я комментирую код!

Программистам часто необходимо включать объяснения на понятном языке, чтобы другие программисты могли понять определенные строки или участки кода. Также может случиться так, что вы забудете, почему вы написали что-то определенным образом, в результате чего вам будет трудно снова разобраться.

Для решения этой проблемы используются комментарии к коду. Комментарии включают все (в той же строке) после точки с запятой и полностью игнорируются машиной при выполнении G-кода. Таким образом, они предназначены исключительно для глаз программистов.

Важные команды для 3D печати

Хотя существуют буквально сотни команд G-кода, в следующих нескольких разделах мы рассмотрим самые основные и важные из них. Как только вы освоитесь, вы сможете самостоятельно изучить и другие команды.

G0 и G1: линейное движение

Команды G0 и G1 выполняют линейные перемещения. По соглашению, G0 используется для движений без экструзии, таких как начальные и холостые перемещения, в то время как G1 охватывает все линейные движения с экструзией материала.

Однако обе команды работают одинаково. Параметры для G0 или G1 включают конечные положения для всех осей X, Y и Z, степень экструзии, выполняемую во время перемещения, и скорость, определяемую скоростью подачи в заданных единицах.

Пример

G1 X90 Y50 Z0.5 F3000 E1 сообщает 3D принтеру двигаться по прямой линии (G1) к конечным координатам X = 90 мм, Y = 50 мм, Z = 0,5 мм при скорости подачи (F) 3000 мм / мин. и выдавливании (E) 1 мм материала в экструдере.

Большинство линейных перемещений выполняются в пределах одного слоя, а это означает, что координата Z обычно не указывается в командной строке.

G90 и G91: абсолютное и относительное позиционирование

Команды G90 и G91 сообщают машине, как интерпретировать координаты, используемые для движения. G90 устанавливает «абсолютное позиционирование», которое обычно используется по умолчанию, а G91 — «относительное позиционирование».

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

Пример

Допустим, мы хотим переместить печатающую головку на X = 30 в строке. В режиме абсолютного позиционирования это будет выглядеть так:

G90; устанавливает абсолютное позиционирование G0 X30; перемещается в координату X = 30

Этот простой ход скажет принтеру переместить печатающую головку так, чтобы она располагалась на X = 30. Теперь, для перемещения относительного позиционирования, нам нужно знать, где печатающая головка находится в данный момент. Предположим, что это X = 10:

G90; устанавливает относительное позиционирование G0 X20; перемещается на +20 мм по оси X

G91 сначала указывает 3D принтеру интерпретировать координаты относительно текущего положения (X = 10). Зная это, достаточно просто нужно переместиться на 20 мм в положительном направлении оси X, таким образом достигнув X = 30, как нам хотелось бы.

Читайте также:
Программа чтобы удалить касперского

G28 и G29: автоматическое возвращение «в нуль» и калибровка стола

«Возвращение в исходное положение» — это процесс перемещения вплоть до физических ограничений для всех осей движения. Команда G28 выполнит эту задачу, перемещая печатающую головку до тех пор, пока не сработают концевики по всем осям.

Перемещение «в нуль» важно не только для ориентации устройства, но и для предотвращения выхода печатающей головки за границы. Команда G28 обычно выполняется перед каждым началом 3D печати.

Конкретная ось может быть индивидуально перемещена в исходное положение путем включения X, Y или Z в качестве параметров. В противном случае только G28 обеспечит перемещение в нуль по всем осям.

Пример

G28 X Y; только оси X и Y G28; в нуль по всем осям

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

По этой причине мы не будем вдаваться в подробности, касающиеся методов и параметров команд. Просто знайте, что G29 обычно отправляется после автоматического возврата в исходное положение (G28). В результате должна выполняться автоматическая калибровка стола, которая определяется прошивкой.

G29; выполнить последовательность автоматического выравнивания станины

M104, M109, M140 и M190: установка температуры

Это важные команды, которые, опять же, не связаны с движением.

Для запуска команда M104 устанавливает целевую температуру, которую должен достичь хот-энд, и удерживает ее до тех пор, пока не будет указано иное.

Некоторые из параметров включают фактическое значение температуры (S) и печатающую головку (T) для нагрева.

Пример

M104 S210; установить целевую температуру для хот-энда на 210 градусов

Эта командная строка указывает 3D принтеру нагреть хот-энд до 210 ° C. После установки целевой температуры принтер продолжит выполнение следующей командной строки, нагревая хотэнд.

В качестве альтернативы, если мы хотим подождать, пока эта цель не будет достигнута, прежде чем перейти к следующей строке, мы можем использовать команду M109.

M109 S210; установить целевую температуру горячего конца 210 градусов и ничего не делать, пока она не будет достигнута

Установка температуры стола очень похожа, но вместо этого утсанавливается с помощью команд M140 и M190:

M140 S110; установить целевую температуру стола на 110 градусов M190 S110; установить целевую температуру кровати на 110 градусов и ничего не делать, пока она не будет достигнута

M106 и M107: Управление вентилятором

Еще одна важная команда для 3D принтеров: команды M106 и M107 обеспечивают управление вентилятором.

M106 включает вентилятор и устанавливает его скорость. Это особенно полезно для вентилятора охлаждения детали, так как во время процесса 3D печати во время печати первого слоя и перемычки требуются разные скорости.

Параметр скорости должен иметь значение от 0 до 255. Значение 255 обеспечивает 100% мощности, и любое число в этом диапазоне будет указывать соответствующий процент в процентах.

Пример

M106; включить вентилятор на максимальной (100%) скорости M106 S128; включите вентилятор и установите его на 50% мощности

Несколько вентиляторов с регулируемой скоростью можно определить с помощью параметров индекса (P), поскольку каждому вентилятору присваивается индекс встроенным ПО.

Наконец, команда M107 отключит указанный вентилятор. Если индексный параметр не указан, обычно отключается частичный охлаждающий вентилятор.

Структура программы

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

Стоит отметить, что если вы используете текстовый редактор для открытия файла G-кода, созданного с помощью 3D-слайсера, возможно, он не сразу запустится с G- или M-командами. Например, такой слайсер, как Cura или Simplify3D, запускает код, включая некоторые параметры процесса печати, определенные ранее в комментариях. Эти линии не влияют на печать, а вместо этого представляют собой краткий справочник по таким параметрам, как, например, высота слоя.

Этап 1: Инициализация

Первый раздел любой программы включает в себя подготовительные задачи, необходимые для начала печати 3D модели. Ниже приведены первые шесть строк команд инициализации G-кода из фактического задания на 3D-печать.

G90 M82 M140 S80 M104 S200 G28 G29

Как мы уже теперь знаем, первая строка говорит, что при движении необходимо использовать абсолютное позиционирование, а вторая строка говорит экструдеру также интерпретировать экструзию в абсолютных единицах.

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

Некоторые процедуры инициализации (например, тот, который используется PrusaSlicer) включают в себя процесс очистки сопла или печать одной прямой линии перед переходом к процессу 3D печати.

Этап 2: 3D печать

Вот где начинается волшебство. Если вы посмотрите на нарезанный на слои файл G-кода, вы осознаете, что на самом деле невозможно понять, что на самом деле делает сопло.

3D печать — это послойный процесс, поэтому вы обнаружите, что этот этап включает в себя множество движений в плоскости XY при печати одного слоя. Как только это будет сделано, одно крошечное движение в направлении Z определит начало следующего слоя.

Вот пример того, как команды G-кода могут выглядеть на этапе 3D печати:

G1 X103.505 Y153.291 E4.5648; движение и выдавливание в плоскости XY G1 X103.291 Y153.505 E4.5804; движение и выдавливание в плоскости XY G1 Z0.600 F3000; сменить слой G1 X104.025 Y154.025 F9000; движение в плоскости XY G1 X95.975 Y154.025 E0.4133 F1397; движение и выдавливание в плоскости XY

Этап 3: перезагрузка 3D принтера

Наконец, когда 3D печать завершена, некоторые последние строки команд G-кода переводят принтер в состояние по умолчанию.

Например, сопло может перейти в заранее определенное положение, нагреватели хот энда и стола выключены, а двигатели отключены.

M107; выключить вентилятор G1 Z10; отодвиньте сопло от печати M104 S0; выключить обогрев горячего конца M140 S0; выключить обогрев кровати M84; выключить моторы

Ввод и вывод данных через терминал

До сих пор мы говорили только о том, что компьютер отправляет на 3D принтер команды G-кода (обычно передаются через SD-карту). Однако это не единственный способ коммуникации.

Некоторые программные продукты для управления 3D принтером, такие как Pronterface и OctoPrint, позволяет напрямую взаимодействовать с 3D-принтером, и в этом случае вы можете вводить команды вручную.

По понятным причинам было бы непрактично печатать что-либо, отправляя строки кодов по отдельности. Но иногда этот метод коммуникации требуется для других целей, например, для получения ценной информации для калибровки или когда в 3D принтере отсутствует дисплей.

Например, команда M105 «сообщить о температурах» извлечет текущие температуры сопла и слоя (которые затем могут отображаться чем-то вроде OctoPrint).

Эта связь также очень полезна для просмотра и изменения настроек EEPROM, которые жестко запрограммированы на уровне прошивки. Такие параметры, как шаги двигателя / мм, максимальная скорость подачи или ПИД-регулятор, можно визуализировать с помощью M503 («настройки отчета»), изменить вручную, а затем сохранить с помощью M500 («сохранить настройки»).

Написание G-кода

К настоящему времени вы должны быть в состоянии читать и понимать G-код намного лучше. Рекомендуем посмотреть в сторону следующих вариантов для углубления своих знаний:

  • онлайн-визуализация G-кода — отличный инструмент для проверки ваших навыков, поскольку вы можете писать команды G-кода и соответственно имитировать их. На самом деле это очень весело!
  • просмотр экспортированных файлов G-кода из слайсеров также должен дать вам некоторое представление о том, как G-код работает для 3D печати.
  • в качестве справочника по командам можно использовать информацию с официального сайта Marlin.

Совместимость

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru