G code для 3d принтера

G code для 3d принтера

Что такое gcode. Учимся читать и редактировать. Принципы формирования кадров, команды и функции.

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

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

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

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

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

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

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

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

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

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

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

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

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

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

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

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

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

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

PID (параметры для регуляторов температуры):

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

Параметры для пластиковой нити:

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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 F1200 X134.460 Y114.661 E18.06728

G0 F5400 X133.848 Y115.470

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

Источник

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

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

Добрый день уважаемые читатели!

Сегодня хотелось бы рассказать о GCODE.

При помощи нехитрых команд, можно разнообразить скучную работу оператора 3D принтера.

Эти команды облегчают процесс настройки принтера и печати.

Данные команды будут описываться для прошивки MARLIN, возможно будет работать и на других прошивках.

Что-то, я подсмотрел, что-то придумал сам.

Почти всем этим я пользуюсь практически при каждой печати.

С Вашего позволения, эти вещи я буду называть ‘Плюшки’.

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

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

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

Источник

GCODE: Основы

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Добрый день Уважаемые читатели!

GCODE: Плюшки от ПавлушкиПосле написания предыдущей статьи ко мне стали поступать вопросы на поводу G-CODE.

Решил написать пост об основах G-CODE.

Не для кого не секрет, что наш с Вами 3D принтер является простым ЧПУ станком (CNC), который просто выполняет команды оператора.

Чтобы мы с принтером понимали друг друга, умными людьми в начале 1960 годов был придуман специальный язык под названием «G-CODE» (G-код).

Программа, написанная с использованием G-кода, имеет жесткое строение.

Кадр завершается символом перевода строки (CR/LF).

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

Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.

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

Описание команд будет производится для прошивки MARLIN, возможно будет работать и на других прошивках.

Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке.

Сами команды делятся на группы:

Эти команды имеют параметры.

На пример, если головка находиться в положении X10 Y10, то при подаче команды G91

G1 X10 F1000, произойдет смещение головы на 10 мм по оси Х на скорости 1000.

Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.

Команда выполниться только один раз.

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

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

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

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

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

Данные команды можно подавать в консоли из таких программ как Pronterface или Universal-G-Code-Sender.

В Pronterface можно включить режим ответа в меню Settings / Debug communications, программа будет писать все ответы от принтера.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Или открыть файл с G-кодом в блокноте и написать все руками. =)

Чтобы не быть голословным предлагаю Вам разобрать пример G-кода программы:

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

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

Благодарю Вас за внимание!

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

GCODE: Основы

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Добрый день Уважаемые читатели!

GCODE: Плюшки от ПавлушкиПосле написания предыдущей статьи ко мне стали поступать вопросы на поводу G-CODE.

Решил написать пост об основах G-CODE.

Не для кого не секрет, что наш с Вами 3D принтер является простым ЧПУ станком (CNC), который просто выполняет команды оператора.

Чтобы мы с принтером понимали друг друга, умными людьми в начале 1960 годов был придуман специальный язык под названием «G-CODE» (G-код).

Программа, написанная с использованием G-кода, имеет жесткое строение.

Кадр завершается символом перевода строки (CR/LF).

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

Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.

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

Описание команд будет производится для прошивки MARLIN, возможно будет работать и на других прошивках.

Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке.

Сами команды делятся на группы:

Эти команды имеют параметры.

На пример, если головка находиться в положении X10 Y10, то при подаче команды G91

G1 X10 F1000, произойдет смещение головы на 10 мм по оси Х на скорости 1000.

Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.

Команда выполниться только один раз.

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

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

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

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

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

Данные команды можно подавать в консоли из таких программ как Pronterface или Universal-G-Code-Sender.

В Pronterface можно включить режим ответа в меню Settings / Debug communications, программа будет писать все ответы от принтера.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Или открыть файл с G-кодом в блокноте и написать все руками. =)

Чтобы не быть голословным предлагаю Вам разобрать пример G-кода программы:

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

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

Благодарю Вас за внимание!

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

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

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

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

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

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

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

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

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

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

Комментарии в G-коде

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 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: абсолютное и относительное позиционирование

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

Пример

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

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

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

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

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

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

Пример

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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

Пример

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

Прежде чем завершить эту статью, возможно, стоит немного поговорить о совместимости G-кода.

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

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

Надеемся, что вам понравилось это краткое руководство. Удачного кодинга и 3D печати!

Популярные статьи в разделе «Процесс 3D печати»

Источник

Макросы для 3D-принтера

Структура G-code файлов

Каждый файл GCODE можно разделить на 2 части: комментарий, встречающийся в начале программы и после команд, и сами команды. Рассмотрим на примере модели, нарезанной с помощью PrusaSlicer (Версия 2.3.0).

В первой строчке нас встречает название слайсера, его версия, дата и время слайсинга:

; generated by PrusaSlicer 2.3.0+win64 on 2021-04-22 at 12:31:50 UTC

Обратите внимание, что в самом начале строки стоит знак “точка с запятой”, он обозначает комментарий. Всё что находится в строке до него читает принтер, а на то что после он не обращает внимание.

Далее мы видим несколько строк, в которых нам показываются настройки ширины линии, которые слайсер использовал для нарезки модели. Все они являются комментариями.

; external perimeters extrusion width = 0.45mm

; perimeters extrusion width = 0.45mm

; infill extrusion width = 0.45mm

; solid infill extrusion width = 0.45mm

; top infill extrusion width = 0.40mm

; first layer extrusion width = 0.40mm

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

Совет: Многие слайсеры, при нарезке GCODE для принтера оставляют в файле комментарии, указывающие на смену слоя и/или его номер. Это поможет в ориентировании в командах при ручном редактировании.

Gcode команды

Многие заблуждаются, называя данный язык для работы 3D-принтера языком программирования. На самом деле это общепринятый формат работы с ЧПУ станками, в том числе и с 3D-принтерами. Каждая команда находится в отдельной строчке и представляет собой название команды (буква и число) и её параметры (также буквы и числа). Например, команда перемещения сопла к определенной координате с выдавливанием пластика:

G1 X101.912 Y136.607 E2.04825

Все команды подразделяются на два основных типа:

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

G-команды

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

Перемещение к нулевым координатам.

Если указаны параметры, то парковка только по указанным осям

КомандаПараметрыОписание
G0Параметры отличаются в зависимости от прошивки.Автоматическое построение карты высот стола
Переход в абсолютную систему координат (все координаты относительно нуля)
Переход в относительную систему координат (все координаты относительно нынешнего положения сопла)
Установить позицию без перемещения и выдавливания

M-команды

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

Отключение питания на двигателях

Команда обратна M17

После команды вводится названия файла

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

После команды вводится названия файла

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

После команды вводится названия файла

Удаление файла с указанным названием

Переход в абсолютные режим для экструдера

Переход в относительный режим для экструдера

Установка количество шагов на миллиметр для каждого указанного мотора

Установить температуру сопла без ожидания нагрева до заданной температуры

Вывести в консоль температуру сопла

Включить вентилятор с указанием скорости

Отмена ожидания нагрева сопла, на указанную в M109 и M190 температуру

Установить температуру сопла и ждать нагрева до заданной температуры

Экстренная остановка:
Все нагреватели отключаются
Моторы обесточиваются

Получить статус концевиков по осям, если не указаны параметры

Установить температуру стола без ожидания нагрева до заданной температуры

Установить температуру стола и ждать нагрева до заданной температуры

Установить диаметр филамента

Установка ускорений по осям

Установка рывка по осям

Установка смещения относительно концевиков

Издает звуковой сигнал с заданной частотой на протяжении указанного времени

Установить значение параметров PID для заданного нагревателя

КомандаПараметрыОписание
Подача питания на все моторы, если не указано параметров. Иначе включаются только указанные
M18

Некоторые из вышеуказанных команд можно использовать перед печатью для оценки состояния принтера, например M20 и M119. Но многие остальные команды используются для создания макросов, которые мы опишем далее.

Виды макросов для 3D-принтеров

Начальные

Все макросы данного типа предназначены для подготовки принтера перед печатью. Например, с помощью одной команды M301 можно настроить PID на принтере для разной температуры. Это может быть очень важно, так как PID зависит не только от характеристик принтера и его конструкции, но и от температуры печати. Если хотенд очень инертный, то значение PID для разных температур будут слабо отличаться, поэтому нет смысла каждый раз изменять их. Но если хотенд имеет малую инертность, то разница коэффициентов PID для разных температур достаточно велика, чтобы испортить модель из-за скачков температур. Подробнее о настройке PID вы можете прочитать в статье о выборе температуры печати на нашем сайте. Как только вы найдете значение параметров PID для температур, которыми вы чаще всего печатаете, их можно подставить в начальный GCode. В PrusaSlicer это можно сделать в окне “Настройка принтера”, внутри вкладки “Пользовательский Gcode”.

Для удобства можно создать сразу несколько профилей принтеров для разных температур.

Заправка филамента

Если при каждой печати вы меняете пластик, то для удобства можно использовать небольшой макрос для смены/заправки филамента перед печатью:

G91; установка начала координат относительно последней позиции

G1 E-100 F2400; Вытаскивание филамента
G4 S15; Пауза на 15 секунд

G1 E100 F2400; Заправка филамента

G90; Переход к абсолютным координатам

G92 E0; Установка координаты экструдера на значение ноль

Значение параметра E в двух командах G1 необходимо подобрать для вашего принтера. Если у вас боуден экструдер, то измерьте длину трубки в миллеметрах и прибавьте 30-50 миллиметров, затем полученное значение вставьте в параметр E. Если же у вас директ экструдер, то можете вставить значение 50-70мм. Весь полученный код вставьте в окно “Стартовый G-код” после стандартных команд.

Внимание: после каждого изменения не забывайте сохранять профиль!

Между слоями

В данной группе находятся макросы, прямо влияющие на процесс печати. Зачастую они вызывают наибольшую сложность из-за необходимости ручного редактирования файла GCode в блокноте или другом текстовом редакторе. Но на самом деле в этом нет ничего сложного, ведь в каждом таком файле есть комментарии, по которым можно легко найти нужный участок кода. Например можно добавить звуковой сигнал при смене слоя. Для этого необходимо использовать команду M300:

Стоит учитывать, что в принтере установлен простейший спикер, поэтому не стоит указывать частоту ниже 500 Гц, так как звук будет тише и сильно искажен. Для подбора частоты можно использовать этот сайт. Квадратная форма волны наиболее сильно похожа на звук спикера. Как только вы выберите подходящую частоту и время, полученную строку можно вставить в окно “G-код, выполняемый при смене слоя”.

Смена филамента

Данный макрос позволяет печатать одну модель несколькими цветами на принтере, имеющим один экструдер. Есть всего 2 ограничения: цвет будет меняться ровно на границе между слоями и при каждой смене слоя нужно вручную менять филамент.

В начале нужно определить место смены слоя. Для этого рассчитайте высоту, на которой находится граница между слоями. Это легко сделать по формуле:

Высота смены слоя = номер слоя * высоту слоя (в миллиметрах).

После того, как вы найдёте высоту, необходимо открыть файл Gcode и найти в нём первую строку, в которой находится параметр Z с искомой высотой слоя. Например, нам нужно изменить цвет калибровочного кубика на десятом слое, при этом мы печатаем с высотой слоя в 0.2 мм. Значит в файле Gcode нужно найти первую строчку, где есть Z5. Затем, после комментариев, который поставил слайсер, нужно вставить следующий макрос:

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

G1 Z5; поднятие сопла на 5 мм

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

G1 Y10 X10 F1000; перемещение к краю стола

G4 S60; пауза 60 секунд (в это время нужно вставить пластик)

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

G1 E100 F100; заправка пластика

G92 E0; обнуление координат экструдера

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

В итоге ваш файл должен выглядеть примерно как на изображении ниже:

Если перевести эти команды на человеческий язык: как только начнется следующий слой, принтер поднимает сопло и отодвигает его на край стола. Затем он ждёт 60 секунд, за которые вы должны заменить пластик. После этого принтер выдавит 100 мм заправленного пластика, чтобы стабилизировать поток, и продолжит печать. Данную команду можно вставлять несколько раз, но учтите: каждая смена слоя добавляет к общему времени печати 1-2 минуты и требует ваших активных действий.

Конечные

Все слайсеры в конце печати оставляют стандартные команды: поднятие сопла, выключение нагревателей и обдува. Но если идет печать нескольких моделей друг за другом, то на повторный нагрев сопла и стола будет уходить большое количество времени. Чтобы принтер не отключал нагрев, необходимо убрать команду M104 S0 из окна “Завершающий G-код”. Также увеличить удобство работы с 3D-принтером можно путем добавления макроса воспроизведения звукового сигнала в конце печати.

Звуковое оповещение

Для воспроизведения мелодии, обозначающей конец печати, необходимо добавить одну или несколько команд M300 после стандартных команд в окне “Завершающий G-код”. Например, можно вставить три последовательных писка:

Или начальную тему из Марио:

И даже музыку из Индианы Джонса:

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

Интересный факт: автор канала Make Anything сыграл мелодию из сервиса Nintendo используя 3D-принтер. Изюминкой данного видео является использование не только спикера на плате принтера, но и звука моторов и даже своеобразного маракаса, напечатанного на этом же принтере.

Особые

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

Очистка сопла

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

G28; Движение к началу координат

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

G0 Z10; поднятие сопла на “Высоту очистки”

G0 Xnnn Ynnn; перемещение к дальнему краю щётки

G0 X(nnn-10) Ynnn; перемещение к ближнему краю щётки

G28; возвращение в начало координат

Здесь вместо Xnnn и Ynnn должны находится координаты, в которых находится дальний край щетки. Например, для стола размером 200х200мм команды передвижения будут выглядеть так:

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

Внимание: щетка должна быть крепко зафиксирована, иначе при ее отделении от стола она может заблокировать механику передвижения и сломать двигатели!

Макросы в Cura

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

Для начала работы с макросами необходимо открыть окно пост-обработки. Для этого выберите в тулбаре вкладку “расширения”, затем “постобработка” и нажмите “Изменить G-код”.

Перед вами откроется окно постобработки. В левой половине будет список плагинов, справа настройки выбранного плагина. Работа с несколькими плагинами похожа на работу со слоями в фотошопе. Скрипты будут редактировать файл Gcode по порядку, то есть скрипт может влиять на вышестоящие скрипты, но не наоборот.

Далее список скриптов и их краткое описание:

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

Этот скрипт предназначен для экструдеров смешивания (например, A10M от компании Geeetech). В отличии от просто двухцветной печати, в данном экструдере возможно смешивание двух пластиков, что позволяет создавать переходные оттенки.

Создание значков для файлов Ultimaker Format Package (.ufp). Используется при внедрении слайсера в Octoprint.

Display filename and layer on LCD

Название говорит само за себя: отображение названия файла и номера слоя на экране.

Display progress on LCD

Отображение оставшегося времени печати на экране принтера

Автоматизация процесса редактирования Gcode для смены филамента.

Insert at layer change

Является аналогом окон вставки Gcode при смене слоя в PrusaSlicer

Позволяет добавить откат во время движения сопла между частями модели

Search and Replace

Удаляет указанные символы и заменяет их. Если заменять на символ “пробела”, то данный скрипт просто удаляет указанные символы

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

Use Previous Probe Measurements

Если в вашем принтере есть возможность постройки карты высот стола, то данный скрипт будет заменять повторное измерение высот на результат предыдущих измерений.

Самыми часто используемыми и полезными плагинами являются Change At Z и Search and Replace. Они покрывают 80% всех необходимых изменений в Gcode. Поэтому, даже если вы не собираетесь в ближайшее время их использовать, всё равно лучше их изучить хотя бы на поверхностном уровне.

Таблицы основных команд

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

Перемещение к нулевым координатам.

Если указаны параметры, то парковка только по указанным осям

Установка количество шагов на миллиметр для каждого указанного мотора

Команда автонастройки PID. Чем больше циклов, тем выше точность

Установить значение параметров PID для заданного нагревателя

Экстренная остановка:
Все нагреватели отключаются
Моторы обесточиваются

ВНИМАНИЕ! Если принтер выдает ошибку нагрева экструдера или стола, то команда M112 может не исправить проблему, так как зачастую данная ошибка возникает при “заклинивании” транзисторов/реле или при коротком замыкании! Лучше сразу отключить питание принтера, а затем выяснять причину ошибки.

Источник

GCODE: Основы

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Добрый день Уважаемые читатели!

GCODE: Плюшки от ПавлушкиПосле написания предыдущей статьи ко мне стали поступать вопросы на поводу G-CODE.

Решил написать пост об основах G-CODE.

Не для кого не секрет, что наш с Вами 3D принтер является простым ЧПУ станком (CNC), который просто выполняет команды оператора.

Чтобы мы с принтером понимали друг друга, умными людьми в начале 1960 годов был придуман специальный язык под названием «G-CODE» (G-код).

Программа, написанная с использованием G-кода, имеет жесткое строение.

Кадр завершается символом перевода строки (CR/LF).

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

Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.

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

Описание команд будет производится для прошивки MARLIN, возможно будет работать и на других прошивках.

Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке.

Сами команды делятся на группы:

Эти команды имеют параметры.

На пример, если головка находиться в положении X10 Y10, то при подаче команды G91

G1 X10 F1000, произойдет смещение головы на 10 мм по оси Х на скорости 1000.

Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.

Команда выполниться только один раз.

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

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

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

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

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

Данные команды можно подавать в консоли из таких программ как Pronterface или Universal-G-Code-Sender.

В Pronterface можно включить режим ответа в меню Settings / Debug communications, программа будет писать все ответы от принтера.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Или открыть файл с G-кодом в блокноте и написать все руками. =)

Чтобы не быть голословным предлагаю Вам разобрать пример G-кода программы:

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

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

Благодарю Вас за внимание!

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

G-CODE по-русски для 3D печати (Мини-справочник)

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Часто, для качественной печати, и, особенно, при подборе параметров печати, при калибровке необходимо уметь читать и править G-код.

Банальный пример: установка своих значений для «Температурной башни» или создание стартового и конечного блоков кодов в слайсерах под конкретный принтер.

Надоело искать по разным сайтам, пытаясь найти ПРАВИЛЬНОЕ описание той или иной команды и ее параметров.

Сделал себе такой мини-справочник. Буду рад, если кому еще пригодится.

Старался описать максимальное количество используемых команд, кроме совсем уж специфичных.

(Да-да, особые команды для дельт, например, уж простите, считаю специфичными и мне не нужными)

Однако, большинство команд поддерживаются всеми принтерами и прошивками.

Внимание! Соответствие команд и параметров проверены только для прошивки Marlin.

G0(G1) Xnnn Ynnn Znnn Ennn Fnnn – перемещение.

G1 – линейное рабочее перемещение

Xnnn, Ynnn, Znnn – координаты.

Fnnn – скорость перемещения в мм/мин.(эта скорость будет использ. до след. изменения).

G0 X12 (переместится на 12 мм по оси X)

G0 F1500 (Установить скорость перемещения равной 1500 мм/мин.)

G1 X90.6 Y13.8 E22.4 (Переместиться на 90.6 мм по оси X и на 13.8 мм по оси Y в тоже время выдавить 22.4 мм материала.)

G4 Pnnn (или Snnn) – ожидание.

«G4 S2» и «G4 P2000» – эквивалентны

Откат филамента в соответствии с настройками M207.

Подача / восстанавливает положение пластика в соответствии с настройками M208.

С этого момента отсчет будет вестись в дюймах/миллиметрах.

G28 – домой по всем осям.

Команда позволяет создать компенсационную(по высоте Z) сетку и использовать ее в дальнейшем при печати. Сетку можно использовать многократно, даже после выключения принтера.

После использования команды G28 сетка, созданная командой G29 «слетает».

Необходимо сохранять сетку стразу после ее создания! Для вызова сетки из памяти использовать команду М420.

Перед использованием G29 обязательно использовать G28, иначе сетка будет неверной.

Создание Mesh Bed Leveling вручную(через команды):

1. Введите G29 S0 для начала создания сетки.

2. Введите G29 S1 для установки первой точки сетки.

3. Выровняйте сопло по высоте при помощи бумажки(как обычно).

4. Введите G29 S2 для сохранения значения и перехода к новой точке

5. Повторить шаги 3 и 4, пока процедура создания не закончится.

6. Введите M500 чтобы записать полученную сетку в EEPROM.

Создание Mesh Bed Leveling при помощи меню принтера(функция должна быть активна в прошивке):

1. Выберите пункт Prepare, а после Auto home (она же команда G28).

2. Выберите пункт Prepare, а после Level Bed.

3. Ждите начала инструкций на экране. Нажмите «крутилку» на экране, при появлении надписи «Click to Begin». Голова уедет в первую точку сетки.

4. Используя «крутилку», поднимая или опуская сопло, выставите сопло по бумажке. Так же как при выравнивании стола. После того, как вы добились нужного зазора между соплом и бумажкой, нажмите на «крутилку». Голова уедет к новой точке сетки.

5. Повторяйте п.4 пока программа не пройдет все точки.

6. После окончания войдите в меню Control и выберите пункт Store memory для сохранения созданной сетки в EEPROM.

Для использования сохраненной в EEPROM сетки при печати используйте команду

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

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

Эта команда может быть использована без каких-либо дополнительных параметров.

Пример: G92 X10 E90

Двигатели можно вращать руками. Аналог команды M84

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

Указанная SD карта будет освобождена. При будующих (случайных) попытках чтения происходит гарантированная ошибка. Полезно перед извлечением SD карты.

Пример: M23 filename.gco

Принтер будет печатать из файла выбранного с помощью команды M23.

Пример: M28 filename.gco.

На SD карте создается файл, обозначенный как filename.gco (если файл существует, то он перезаписывается) и все последующие команды на принтер записываются в этот файл.

Пример: M29 filename.gco

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

Пример: M30 filename.gco. filename.gco будет удален.

Пример: M32 filename.gco.

Используется для печати с SD карты и работает так же как M23 и M24

Переводит блок питания ATX из спящего режима в рабочий режим. Не работает на электронике без спящего режима.

Позволяет экструдеру производить экструзию в абсолютных/относительных единицах

M84 Snnn X,Y,Z,E – Перевести моторы в режим ожидания

Snnn – время в секундах.

Если тайм-аут задан с помощью Snnn, эта команда просто устанавливает таймаут неактивности шагового двигателя.

Если моторы(X,Y,Z или E) не указаны, эта команда немедленно отключает все.

Если указана одна или несколько осей, эта команда немедленно отключает указанные. Например, «M84 S10» переведет шаговые двигатели в режим ожидания после 10 секунд простоя.

Xnnn, Ynnn, Znnn – шаги на единицу по осям.

Еnnn – шаги на единицу для экструдера

Примеры: M92 X87.489 Y87.489 Z87.489 или M92 E420

Позволяет устанавливать количество шагов на единицу (обычно мм) для двигаетелй. Эти значения заменяются на значения из прошивки при включении питания, если не записать их в EEPROM см. M500.

Устанавливает температуру активного экструдера 190C и сразу же возвращает управление (то есть НЕ ЖДЕТ пока экструдер достигнет заданной температуры). Еще см. М109

Получает температуру активного экструдера и горячего стола в градусах Цельсия. Температура передается на подключенный компьютер. Ответ, переданный на компьютер может выглядеть так: ok T:201 B:117

Обрывает ожидание достижения заданной командами M109 и M190 температуры, продолжает печать.

Устанавливает температуру в градусах Цельсия и ожидает ее достижения. Еще см. М104

В этом примере устанавливается номер текущей строки 123. Таким образом ожидается, что следующая строка после этой команды будет 124.

M112 – Экстренная остановка

Устанавливает температуру стола 65C и сразу же возвращает управление (то есть НЕ ЖДЕТ пока стол достигнет заданной температуры). Еще см. М190

Устанавливает температуру в градусах Цельсия и ОЖИДАЕТ ее достижения. см. М140

М200 Dnnn Tnnn – Установить РЕАЛЬНЫЙ диаметр прутка филамента.

Dnnn – диаметр в мм.

Tnnn – номер экструдера. (для одноэкструдерных принтеров можно не указывать)

Используется для вычислений реального выдавливаемого объема.

Для установки номинальных параметров см. М404.

M201 Xnnn Ynnn Znnn Ennn – Установка максимальных ускорений (в мм/сек.в кв)

Xnnn, Ynnn, Znnn – ускорения в мм/сек в кв. для осей.

Ennn – ускорения в мм/сек в кв. для экструдера.

Можно использовать только один/два из параметров.

Пример: M201 X1000 Y1000 Z100 E2000

Для сохранения параметров в EEPROM использовать M500

М202 – Установка максимального ускорения для простого(холостого) перемещения.

!Не используется в Марлин! В мм/сек в кв. Пример: M202 X1000 Y1000

М203 Xnnn Ynnn Znnn Ennn – Установка максимальной скорости (в мм/сек)

Xnnn, Ynnn, Znnn – макс.скорость для осей.

Ennn – макс.скорость для экструдера.

Можно использовать только один/два из параметров.

Пример: M203 X6000 Y6000 Z300 E10000

Для сохранения параметров в EEPROM использовать M500.

М204 Pnnn Rnnn Tnnn – Установка ускорений (в мм/сек.в кв)

Pnnn – Ускорения при печати

Rnnn – Ускорение ретракта

Tnnn – Ускорения при холостых перемещениях

Можно использовать только один/два из параметров.

Пример: M204 P800 T3000 R9000

Для сохранения параметров в EEPROM использовать M500.

М205 Xnnn, Znnn, Ennn – Установка максимальных рывков(jerk) (мм/сек)

Xnnn – рывок по осям Х и Y. (по этим осям рывки одинаковые)

Znnn – рывок по оси Z.

Ennn – рывок для экструдера.

Можно использовать только один/два из параметров.

Пример: M205 X30 Z5 – Установить рывок по X/Y = 30, по Z рывок = 5.

Для сохранения параметров в в EEPROM использовать M500.

М206 Xnnn, Ynnn, Znnn – Установка смещений относительно концевиков(ноля)

Подобие команды G92, но эти смещения можно записать в EEPROM см. М500.

Пример: M206 X10.0 Y10.0 Z-0.4

M207 Snnn Fnnn Znnn – Установка параметров ретракта (втягивание прутка)

Snnn – положительное значение ретракта в мм.

Fnnn – скорость подачи мм/сек.

Znnn – лифт(подъем) головы по оси Z в мм при ретракте. (Помогает не задеть модель)

Пример: M207 S4.0 F2400 Z0.075

Используется впоследствии для команд G10 и G11.

Для сохранения параметров в в EEPROM использовать M500.

M208 Snnn Fnnn – Параметры восстановления подачи прутка после ретракта

Snnn – положительное значение подачи в мм.

Fnnn – скорость подачи мм/сек.

Для сохранения параметров в в EEPROM использовать M500.

M209 Snnn – Вкл/выкл автоматического ретракта

Snnn – значение 1 – вкл, 0- выкл.

Используется, если слайсер не поддерживает команды G10 и G11.

Каждая команда «выдавливания» будет классифицироваться как ретракт, в зависимости от значения (положительное или отрицательное).

M218 Tnnn Xnnn Ynnn – Установка смещения головы

Xnnn, Ynnn – координаты по Х,Y.

Пример: M218 T0 X50 Y10.5

M301 Hnnn Pnnn Innn Dnnn — Записать PID параметры хотэнда(!)

Hnnn – номер экструдера. H1 – первый эксрудер(хотэнд).

Пример: M301 H1 P1 I2 D3

Для сохранения параметров в EEPROM использовать M500.

Для записи PID стола смотри М304.

M302 Snnn – Разрешить выдавливание при температуре Snnn и выше.

Пример: M302 S170 – разрешить выдавливать(включать мотор экструдера) при температуре сопла 170С и выше. М302 S0 – выдавливать при любой температуре.

M303 Ennn Snnn Cnnn — Запустить процесс PID калибровки для стола/хотэнда

Snnn – температура калибровки.

Cnnn – количество циклов калибровки. Больше циклов – точнее параметры.

Пример M303 E1 C8 S110 – калибровка PID стола при температуре 110С в течении 8-ми циклов.

Параметры PID будут выведены строкой, на экран терминала программы работающей в соединении с принтером, например Repetier-Host.

M304 Pnnn Innn Dnnn — Записать PID параметры стола(!)

Пример: M301 H1 P1 I2 D3

М301 – без параметров выведет текущие параметры.

Для сохранения параметров в EEPROM использовать M500.

Для записи PID экструдера смотри М301.

М404 Wnnn – Установка номинальной толщины филамента 1.75 или 3.

Wnnn – номинальная(теоретическая) толщина филамента в мм.

M404 – без параметров выведет текущее номинальное значение строкой.

Это значение используется для определения процентной разницы при автоматической настройке расхода в ответ на измеренную ширину нити и должно соответствовать значению, используемому для ширины нити в настройках слайсера.

Установка реальной толщины филамента см. М200.

М420 Snnn – Вкл/выкл использования сетки компенсации кривизны стола (MESH_BED_LEVELING)

Snnn – S1 вкл., S0 выкл.

M420 S1 – использовать при печати сетку компенсации кривизны стола загруженной из EEPROM.

См. G29 чтобы получить текущий статус и создать сетку компенсации кривизны стола.

М500 – Сохранение данных в EEPROM

М501 – Чтение данных из EEPROM

М600 – Команда для автоматической смены филамента

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

Наиболее важные команды G-кода

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Если ваша работа или хобби касаются станков с ЧПУ или 3D-принтеров, то понимание того, что такое G-код и как он работает, имеет важное значение для вас. Итак, в этом руководстве мы изучим основы языка G-кода, каковы наиболее важные или распространенные команды G-кода, и мы объясним, как они работают.

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

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

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

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

Как читать команды G-кода?

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

Если мы внимательно посмотрим на код, мы можем заметить, что большинство строк имеют одинаковую структуру. Кажется, что «сложная» часть G-кода — это все те числа, которые мы видим, которые являются просто координатами.

Давайте взглянем на одну строчку и объясним, как она работает.

G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

Строка имеет следующую структуру:

Наиболее важные / распространенные команды G-кода

Итак, теперь, когда мы знаем, как читать строку G-кода, мы можем взглянуть на наиболее важные или часто используемые команды G-кода. Мы узнаем, как работает каждый из них, на нескольких примерах, и к концу этого руководства мы сможем полностью понять, как работает G-код, как читать, как изменять и даже как писать наш собственный G-код. К основным командам G-кода еще можно добавить команды управления оборудованием станка с ЧПУ, которые так же называются М-код. Они отвечают за такие действия как включение шпинделя, подача СОЖ, смена инструмента и так далее.

G00 — быстрое перемещение

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

G00 не является режущим движением, и его цель — просто быстро переместить машину в желаемое положение, чтобы начать какую-либо работу, такую ​​как резка или печать.

G01 — линейная интерполяция

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

G02 — круговая интерполяция по часовой стрелке

Команда G02 указывает машине двигаться по часовой стрелке по круговой схеме. Принцип тот же что и у команды G01, и она используется при выполнении соответствующего процесса обработки. В дополнение к параметрам конечной точки здесь нам также необходимо определить центр вращения или расстояние начальной точки дуги от центральной точки дуги. Начальная точка фактически является конечной точкой предыдущей команды или текущей точкой.

Для лучшего понимания мы добавим команду G02 после команды G01 из предыдущего примера.

Итак, в первом примере у нас есть команда G01, которая перемещает машину в точку X5, Y12. Теперь это будет отправной точкой для команды G02. С помощью параметров X и Y команды G02 мы устанавливаем конечную точку. Теперь, чтобы добраться до этой конечной точки, используя круговое движение или дугу, нам нужно определить ее центральную точку. Мы делаем это с помощью параметров I и J. Значения I и J относятся к начальной или конечной точке предыдущей команды. Итак, чтобы получить центральную точку по X5 и Y7, нам нужно сделать смещение 0 по оси X и смещение -5 по оси Y.

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

Итак, здесь у нас все еще есть та же конечная точка, что и в предыдущем примере (X10, Y7), но теперь центральная точка находится в другом положении (X0, Y2). Благодаря этому мы получили более широкую дугу по сравнению с предыдущей.

G00, G01, G02 Пример — ручное программирование G-кода

Давайте посмотрим на простой пример фрезерования с ЧПУ с использованием этих трех основных команд G-кода: G00, G01 и G02.

Чтобы получить траекторию для формы, показанной на изображении выше, нам нужно выполнить команды G-кода:

Как только мы достигаем точки C (5,25), у нас есть еще одна команда G01 для достижения точки D (25,25). Затем мы используем команду G02, круговое движение, чтобы добраться до точки E (35,15) с центральной точкой (25,15). На самом деле у нас есть такая же центральная точка (25,15) для следующей команды G02, чтобы добраться до точки F (31,7). Однако мы должны отметить, что параметры I и J отличаются от предыдущей команды, потому что мы смещаем центр от последней конечной точки или точки E. Мы завершаем траекторию инструмента другой командой G01, которая выводит нас из точки F (31, 7) вернуться к пункту Б (5,5).

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G03 — круговая интерполяция против часовой стрелки

Как и G02, команда G-кода G03 определяет движение станка по круговой схеме. Единственная разница здесь в том, что движение идет против часовой стрелки. Все остальные функции и правила такие же, как у команды G02.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G20 / G21 — Выбор единиц

Команды G20 и G21 определяют единицы G-кода: дюймы или миллиметры.

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

G17 / G18 / G19 — выбор плоскости G-кода

С помощью этих команд G-кода мы выбираем рабочую плоскость станка.

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

G28 — Возвращение домой

Команда G28 указывает станку переместить инструмент в исходную точку или исходное положение. Чтобы избежать столкновения, мы можем включить промежуточную точку с параметрами X, Y и Z. Инструмент пройдет через эту точку, прежде чем перейти к контрольной точке. G28 X## Y## Z##

G90 / G91 — команды позиционирования G-кода

В абсолютном режиме инструмент всегда позиционируется от абсолютной точки или от нуля. Таким образом, команда G01 X10 Y5 переместит инструмент в эту точную точку (10,5), независимо от предыдущей позиции.

С другой стороны, в относительном режиме инструмент позиционируется относительно последней точки. Таким образом, если станок в настоящее время находится в точке (10,10), команда G01 X10 Y5 переведет инструмент в точку (20,15). Этот режим также называется «инкрементным режимом».

Другие команды G-кода

Итак, команды G-кода, которые мы описали выше, являются наиболее распространенными, но их гораздо больше. Существуют такие команды, как компенсация резца, масштабирование, системы координат заготовки, выдержка и т. Д.

Помимо G-кода, существуют также команды M-кода, которые используются при генерации реальной полноценной программы G-кода. Вот несколько распространенных команд M-кода:

В случае 3D-принтера:

Некоторым из этих команд требуются соответствующие параметры. Например, при включении шпинделя с помощью M03 мы можем установить скорость шпинделя с помощью параметра S. Итак, линия M30 S1000 будет включать шпиндель со скоростью 1000 об / мин.

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

В некоторых файлах G-кода вы также можете видеть « N ## » перед командами. Слово N просто для нумерации строки или блока кода. Это может быть полезно для идентификации конкретной строки в случае ошибки в огромной программе.

Пример простой программы G-кода

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

Описание программы G-кода:

Источник

Скрипты для помощи в калибровке стола. Изучаем G Code на практике для начинающих и не только выпуск № 1

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

Всем привет всем доброго времени суток и приятного чтения.

Давно уже собирался познакомится поближе с G-кодом, но как-то не приходило в голову для чего это мне нужно, а изучение ради изучения не интересовало. Нужна была какая-нибудь практическая задача решение которой облегчает жизнь. Вместе с тем, очень не нравится во время калибровки стола перемещаться по осям вручную. И как-то с утра потребовалось калибровать принтер и тут сложилось одно с другим и тогда решил попробовать написать скрипт для перемещения печатной головы в 4 угла стола. Сначала думал написать один скрипт для всех точек с небольшими задержками по времени в каждой. Однако исходя из личного опыта и способа калибровки решил перемещение в каждую точку сделать отдельным скриптом. Запускаю скрипты с микро-SD карты через меню принтера «печатать с SD карты». Можно конечно отправлять команды с консоли, но у меня это дольше получается, чем через меню принтера, кроме того были проблемы «подружить» компьютер и принтер и этот способ применения сильно выручал.

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

Первое моё знакомство с G-кодом было здесь: https://3dtoday.ru/blogs/steamgun/g-code-po-russki-dlya-3d-pechati-mini-spravochnik и здесь: https://youtu.be/1cD7a_iRJPk. Пересказывать своими словами хорошее изложение материала не вижу смысла, изучите сами, не маленькие уже)))). Здесь приведу лишь краткое описание тех команд, которые использовал для написания скриптов калибровки.

G90 ; переход в абсолютную систему координат, обычно установлена по умолчанию после включения питания принтера. Для полной определенности, лучше добавить команды в свой скрипт.

G28 ; автоматическая парковка всех осей

G1; перемещение имеет аргументы

Переместить печатную голову в координату Х=10 мм со скоростью 600 мм / минуту

Если надо совершить движение по двум осям одновременно, то запишем:

Движение по оси Z также можно включать в координированное движение, однако движение по оси Z происходит гораздо медленнее, чем по другим осям, поэтому рекомендуется движение по оси Z отдельной командой, например,

G1 Z0.2 F300 ; Переместить печатную голову по оси Z на 0,2мм со скоростью 300мм/мин

В зависимости от состояния стола перед калибровкой, например, вы его для чего-то снимали, может возникнуть ситуация, когда сопло сильно упрется в стол. Если на печатном столе стекло и принтер соплом в него упрется, ничего страшного не должно произойти, а если поверхность мягкая, то такая поверхность может быть повреждена, тогда в каждый скрипт надо добавить подъем головы по оси Z перед началом перемещения, скажем, на 5-10 мм и по окончании перемещения её возврат в нулевое положение. По той же причине сначала калибровку рекомендую проводить при холодном сопле и столе и только после, того как убедились, что сопло нигде не задевает стол и не проплавит поверхность, можно включать нагрев сопла и стола и проводить уже более точную калибровку. Все варианты скриптов и ссылки на готовые файлы смотрите ниже. Кроме вышеуказанного подъем оси Z удобен, что бы не сносить зажимы и прочие выступающие над поверхностью стола предметы.

Для создания первого своего скрипта взял первый попавшийся файл модели, переименовал его в point1_X10_Y10.gcode, открыл его при помощи блокнота из стандартных программ Винды. Выделил всё через Ctrl-A и заменил выделенный диапазон скриптом на G-код:

G1 X10 Y10 F5000.0 ;переползаем в первую точку

Затем этот файл переименовал в point2_X200_Y220.gcode

И написал свой второй cкрипт:

G1 X200 Y220 F5000.0 ;переползаем во вторую точку

Переименовал файл в point3_X200_Y10.gcode

G1 X200 Y10 F5000.0 ; переползаем в третью точку

Так же поступил и для четвертой точки: point4_X10_Y220.gcode

G1 X10 Y220 F5000.0 ;переползаем в четвертую точку

«Продвинутые» варианты скриптов

G28 ; Home для забывчивых

G90 ; включить абсолютную систему координат, на всякий случай

G1 Z10 F300 ; подъем головы на 10 мм над столом

G1 X10 Y10 F5000.0 ;переползаем в первую точку

G1 Z0 ; опускаем голову в нулевую координату

G1 Z10 F300 ; подъем головы на 10 мм над столом

G1 X200 Y220 F5000.0 ;переползаем во вторую точку

G1 Z0 ; опускаем голову в нулевую координату

G1 Z10 F300 ; подъем головы на 10 мм над столом

G1 X200 Y10 F5000.0 ; переползаем в третью точку

G1 Z0 ; опускаем голову в нулевую координату

G1 Z10 F300 ; подъем головы на 10 мм над столом

G1 X10 Y220 F5000.0 ;переползаем в четвертую точку

G1 Z0 ; опускаем голову в нулевую координату

Ссылка на скачивание рабочих скриптов: https://yadi.sk/d/8oni1vYE_ZavBQ

З.Ы. Регулярность подобных выпусков не обещаю, буду публикации по мере решения собственных задач.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

G-CODE по-русски (Справочник 3D-шника)

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Fockus

Администратор

М200 Dnnn Tnnn – Установить РЕАЛЬНЫЙ диаметр прутка филамента.
Dnnn – диаметр в мм.
Tnnn – номер экструдера. (для одноэкструдерных принтеров можно не указывать)
Пример: М200 D1.65
Используется для вычислений реального выдавливаемого объема.
Для установки номинальных параметров см. М404.

M201 Xnnn Ynnn Znnn Ennn – Установка максимальных ускорений (в мм/сек.в кв)
Xnnn, Ynnn, Znnn – ускорения в мм/сек в кв. для осей.
Ennn – ускорения в мм/сек в кв. для экструдера.
Можно использовать только один/два из параметров.
Пример: M201 X1000 Y1000 Z100 E2000
Для сохранения параметров в EEPROM использовать M500

М202 – Установка максимального ускорения для простого(холостого) перемещения.
!Не используется в Марлин! В мм/сек в кв. Пример: M202 X1000 Y1000

М203 Xnnn Ynnn Znnn Ennn – Установка максимальной скорости (в мм/сек)

Xnnn, Ynnn, Znnn – макс.скорость для осей.
Ennn – макс.скорость для экструдера.
Можно использовать только один/два из параметров.
Пример: M203 X6000 Y6000 Z300 E10000
Для сохранения параметров в EEPROM использовать M500.

М204 Pnnn Rnnn Tnnn – Установка ускорений (в мм/сек.в кв)
Pnnn – Ускорения при печати
Rnnn – Ускорение ретракта
Tnnn – Ускорения при холостых перемещениях
Можно использовать только один/два из параметров.
Пример: M204 P800 T3000 R9000
Для сохранения параметров в EEPROM использовать M500.

М205 Xnnn, Znnn, Ennn – Установка максимальных рывков(jerk) (мм/сек)
Xnnn – рывок по осям Х и Y. (по этим осям рывки одинаковые)
Znnn – рывок по оси Z.
Ennn – рывок для экструдера.
Можно использовать только один/два из параметров.
Пример: M205 X30 Z5 – Установить рывок по X/Y = 30, по Z рывок = 5.
Для сохранения параметров в в EEPROM использовать M500.

М206 Xnnn, Ynnn, Znnn – Установка смещений относительно концевиков(ноля)
Подобие команды G92, но эти смещения можно записать в EEPROM см. М500.
Пример: M206 X10.0 Y10.0 Z-0.4

M207 Snnn Fnnn Znnn – Установка параметров ретракта (втягивание прутка)
Snnn – положительное значение ретракта в мм.
Fnnn – скорость подачи мм/сек.
Znnn – лифт(подъем) головы по оси Z в мм при ретракте. (Помогает не задеть модель)
Пример: M207 S4.0 F2400 Z0.075
Используется впоследствии для команд G10 и G11.
Для сохранения параметров в в EEPROM использовать M500.

M208 Snnn Fnnn – Параметры восстановления подачи прутка после ретракта
Snnn – положительное значение подачи в мм.
Fnnn – скорость подачи мм/сек.
Для сохранения параметров в в EEPROM использовать M500.

M209 Snnn – Вкл/выкл автоматического ретракта
Snnn – значение 1 – вкл, 0- выкл.
Используется, если слайсер не поддерживает команды G10 и G11.
Каждая команда «выдавливания» будет классифицироваться как ретракт, в зависимости от значения (положительное или отрицательное).

М404 Wnnn – Установка номинальной толщины филамента 1.75 или 3.
Wnnn – номинальная(теоретическая) толщина филамента в мм.
Пример: M404 W1.75
M404 – без параметров выведет текущее номинальное значение строкой.
Это значение используется для определения процентной разницы при автоматической настройке расхода в ответ на измеренную ширину нити и должно соответствовать значению, используемому для ширины нити в настройках слайсера.
Установка реальной толщины филамента см. М200.

М420 Snnn – Вкл/выкл использования сетки компенсации кривизны стола (MESH_BED_LEVELING)
Snnn – S1 вкл., S0 выкл.
M420 S1 – использовать при печати сетку компенсации кривизны стола загруженной из EEPROM.
См. G29 чтобы получить текущий статус и создать сетку компенсации кривизны стола.

М500 – Сохранение данных в EEPROM
М501 – Чтение данных из EEPROM
М600 – Команда для автоматической смены филамента

Источник

Использование G-кода для 3d принтера

Для станков ЧПУ, к которым относиться 3D-принтер, используется язык программирования G-code специально разработанный компанией Electronic Industries Alliance еще в начале 1960-х годов для станков того времени, таких как фрезерные станки. И хотя 3D-печать относится к современным технологиям быстрого прототипирования, эти команды по прежнему примяются. Если сравнивать с другими языками программирования, G-код для 3d принтера отличается своей последовательной структурой, и в нем отсутствуют функции и циклы и логические команды. Для всех существующих станков используется G-код ЧПУ, с отличием в наборе уникальных команд для того или иного оборудования.

Основные команды G-кода

Все главные команды имеют начальную букву G, к примеру:

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера
Каждая из строк G-кода для 3d принтера несет определенную команду и параметры характеризующую конкретное действие оборудования.
X / Y / Z = оси координат. Они указывают на то, что экструдер должен двигаться по любой из осей X, Y или Z.
F = Скорость движения. Он используется для обозначения скорости, с которой должен двигаться экструдер 3D-принтера.
E = Экструзия нити. Он используется для обозначения количества нити, которое необходимо пропустить через сопло экструдера.
S = Температура экструдера или скорость охлаждающего вентилятора. При использовании с командами G он используется для указания температуры (в градусах Цельсия), которой должен достичь экструдер. Он также используется для регулировки скорости вентилятора, охлаждающего печатаемый объект, при использовании с командами M.
T = указать экструдер. Когда у нас более 1 экструдера, мы можем указать, какой экструдер будет использоваться в каждой конкретной команде.

Принципы кодировки команд G-code для 3D-печати

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

На какие принтеры устанавливается G-код

Достаточно большое количество известных принтеров функционируют на G-code. Код генерируется практически во всех известных слайсерах, это Slic3er, Chitubox Simplify3D, CreatWare, Cura и легко поддается редактированию с использованием обычного блокнота или Chitubox. Работа аппаратов Anet A8, 3D-принтеров с двумя экструдерами Hercules Strong DUO и профессиональных 3D-принтеров Wanhao Duplicator 6 Plus может перенастраиваться, чтобы достигнуть оптимального результата.
Возможны случаи работы оборудования на зашифрованном G-code. Примером является Zortrax и их Слайсер Z-suite, где происходит генерация файла в расширении Z-code.

Когда необходимо использование G-кода

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

Самые распространенные команды G-code

Вы можете создать несколько строк кода, комбинируя различные инструкции, составляющие язык. Каждая строка кода представляет собой инструкцию, которую должен выполнить 3D-принтер. Например, G1 X10 F3600. Эта строка кода указывает принтеру переместить экструдер в положение X = 10 мм от станины со скоростью 3600 мм / мин.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

Цифры указывают значение выполняемой G-code команды 3d принтера. Для обозначений G и M числа изменяют тип команды. Давайте посмотрим на некоторые случаи, примеры G-кода для mach3:

А теперь рассмотрим самые важные M-команды:

Итоги

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

Полезное видео

Основы G-Code для начинающих:

Источник

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

В целом, команды разделяются на две категории — основные команды, начинающиеся с литеры 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°С).

Источник

G-code, потерявшийся брат Assembler-а

Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана непосредственно с программированием станков и автоматизацией производства, я попробую заполнить этот пробел, а также объяснить, почему выбрал такой странный заголовок.

Пару слов о себе, и почему я вообще решил написать об этом. Мои рабочие обязанности заключаются, в том числе, в том, чтобы заставить любой имеющийся в компании станок с ЧПУ делать всё, что он вообще может физически. Компания — небольшая (единицы сотен сотрудников), но в арсенале — вертикальные фрезерные автоматы Haas трех разных поколений, горизонтальные фрезерные автоматы DMG Mori нескольких типов, лазерный резак Mitsubishi, токарные автоматы Citizen Cincom и куча всего еще. И весь этот зоопарк управляется программами на G-code. Изучая разные реализации этого языка, я понял, что то, что пишут в учебниках и книгах по нему — не всегда является правдой. В то же время, мне стали понятны многие аналогии между этим языком и Assembler-ом, который я изучал когда-то в институте, и на котором практически ничего серьезного никогда не написал.

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

Базовый синтаксис

Если вы хоть раз видели программу на G-code, то знаете, что это последовательность строк, которые состоят из буквенных кодов, за которыми следуют некие числа. Эти буквенные коды называются «адрес». Причина такого термина очень проста: в первых контроллерах станков программа выполнялась путем записи значений в ячейки памяти, которым были даны буквенные имена. Исполнительные устройства, в свою очередь, читали значения по этим адресам и делали то, что от них требуется. Когда мне приходится обучать операторов, я объясняю им, что контроллер, на самом деле, можно условно поделить на две части: ту, что отвечает за интерфейс с пользователем, и ту, что отвечает за работу механизмов. Они часто и физически разнесены по разным платам. А общение между ними происходит все еще через ограниченный набор этих самых ячеек памяти. Другой вопрос, что со временем, к именованным адресам, которые обозначаются буквами латинского алфавита, добавились еще численные адреса (начинающиеся с символа #), через которые осуществляется доступ к портам ввода-вывода, настройкам, специальным возможностям, и так далее.

Традиционно, когда описывают синтаксис G-code, говорят, что любая команда в программе начинается с буквы G для «подготовительных» кодов и M — для дополнительных, что номер строки начинается с буквы N, а номер программы или подпрограммы — с буквы O. Это, в принципе, правда, но не вся и не всегда.

Ветвление и циклы

Подпрограммы

Указатели, переменные, регистры

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

Если вы хоть раз видели программу на G-code для промышленного станка, вы, возможно, заметили, что в начале самой программы, а иногда — в начале каждого фрагмента или подпрограммы, отвечающей за один инструмент или один элемент детали, есть длинная строка кодов, которые вроде бы ничего не делают. Это так называемая safe line. Она нужна, потому что станок помнит свое состояние. Например, содержимое какого-то регистра может сохраняться даже после выключения и включения станка, потому абсолютно всегда имеет смысл в явном виде устанавливать желаемое состояние перед совершением каких-то операций. Это напоминает то, как в web-разработке используются Reset.css и Normalize.css. Иначе, это правило для программистов звучит как «никогда не предполагай, что станок находится в определенном состоянии, если ты его в это состояние не привел». Пренебрежение этим может стоить дорого, включая капитальный ремонт станка. При этом, наиболее надежной практикой считается именно приведение станка в искомое состояние, а не проверка, находится ли он в нем. Почему? Потому что приведение, как правило, делается одной безусловной командой, а проверка требует условного ветвления.

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

Приведение типов

Об обучении

Программированию станков с ЧПУ учат очень разными путями и с разными задачами. В одном случае, речь просто о том, чтобы научить пользоваться CAD/CAM, чтобы программист был в состоянии превратить модель (чертёж) в код, исполняемый на том или ином станке, изготавливающий деталь по модели. Это напоминает процесс обучения программированию «общего назначения» в ВУЗе, где вопросы исполнения кода, аппаратной архитектуры и написания кода на Ассемблере рассматриваются очень поверхностно. В других, заметно более редких случаях, процесс более всего напоминает обучение системному программированию, а примеры исполнения кода на конкретной архитектуре входят в него, как неотъемлемая часть. Поскольку я когда-то учился цифровой электронике, и программирование железа на низком уровне было частью этого, пусть и в довольно скромном объеме, второй вариант лично мне как-то ближе, и именно так я старался преподавать это сам, когда у меня была такая возможность.

Я вполне допускаю, что некоторые аналогии в статье могут показаться кому-то натянутыми, но я и не претендую на их точность. Речь, скорее, о сходстве «духа» упомянутых выше языков, о том, что опыт «ассемблерного мышления» может довольно сильно способствовать глубокому пониманию G-code, тогда как опыт программирования только на языках высокого уровня, отделенных от аппаратной реализации, может вызвать недоумение и даже некоторую неприязнь у того, у кого вдруг возникнет необходимость писать вручную для станков с ЧПУ.

Источник

G-code для 3D-принтера

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

G-code представляет собой программный язык для машин и станков со встроенным модулем числового программного управления.

Он был разработан компанией Electronic Industries Alliance в первой половине 1960-х годов. Программы, созданные с использованием этого кода, отличаются жесткой и предельно последовательной структурой. В G-code отсутствуют циклы, функции и логические команды, его возможности позволяют настроить оборудование только таким образом, чтобы оно исполняло лишь те действия, которые были заложены в компьютер.

G-code для 3D-принтеров может быть сформирован специальной программой – слайсером – посредством предварительной загрузки в нее 3D-модели и выставления требуемых параметров печати.

G-code в работе используют подавляющее большинство популярных принтеров. Его популярность обусловлена простотой использования и возможностью генерировать код в любых доступных слайсерах, в том числе Cura, Chitubox, Simplify3D, Slic3er и др. Редактировать написанную программу можно в обычном блокноте или NotePad++, который доступен всем пользователям операционной системы Windows.

Но бывают случаи, когда печатные устройства работают на зашифрованном G-code, например – Zortrax, использующий собственный слайсер, который генерирует файл в расширении Z-code.

Созданные таким образом файлы нельзя открыть с помощью стандартных программ и сторонних слайсеров.

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Основные команды языка

Все команды языка, относящиеся к основным, начинаются с буквы G. Они ответственны за следующие действия:

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

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

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

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Принцип работы ПО для 3D-принтера

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

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

К примеру, ширина линии для 3D-принтера, работающего на технологии FDM, должна соответствовать диаметру сопла, а высота – толщине слоя выдавливаемого материала.

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Когда использовать G-код?

Редактирование G-кода, составленного слайсерами, целесообразно в следующих случаях:

Команды G-code

К самым популярным G командам относятся:

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Команды M

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Как редактировать G-код?

Для редактирования G-code могут использоваться самые разнообразные онлайн- и офлайн-программы. Самыми популярными при этом являются:

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

Источник

G-code Index

Add a straight line movement to the planner

Add an arc or circle movement to the planner

Cubic B-spline with XYE destination and IJPQ offsets

Perform a direct, uninterpolated, and non-kinematic synchronized move

Retract the filament

Recover the filament with firmware-based retract.

Perform the nozzle cleaning procedure.

Select CNC workspace plane

Set Units to Inches.

Set Units to Millimeters.

Test the mesh and adjust.

Park the current toolhead

Auto home one or more axes.

Probe the bed and enable leveling compensation.

Probe the bed and enable leveling compensation.

Probe the bed and enable leveling compensation.

Measure Z heights in a grid, enable leveling compensation

Probe the bed and enable leveling compensation.

Probe the bed and enable leveling compensation

Probe bed at current XY location

Dock the Z probe sled.

Undock the Z probe sled.

Calibrate various Delta parameters

Modern replacement for Průša’s TMC_Z_CALIBRATION

Align multiple Z steppers using a bed probe

Run a procedure to tram the bed

Probe towards (or away from) a workpiece

Move to a specific point in the leveling mesh

Apply native workspace to the current move.

Select a workspace coordinate system

Save current position to specified slot

Return to saved position of specified slot

Calibrate probe temperature compensation

Cancel the current motion mode

Set the interpreter to absolute positions

Set the interpreter to relative positions

Set the current position of one or more axes.

Use a conductive object to calibrate XYZ backlash

Stop and wait for user

Set the spindle CW speed or laser power

Set the spindle CCW speed or laser power

Turn off spindle or laser

Turn mist or flood coolant on / off

Enable and disable the Cutter Vacuum or Laser Blower Motor.

Prevent G-code usage on the wrong machine

Disable steppers (same as M84).

List the contents of the SD Card.

Attempt to detect an SD card in the slot.

Simulate ejection of the SD card

Select an SD file to be executed

Start or resume a file selected with [`M23`](/docs/gcode/M023.html)

Pause printing from the SD card

Set the SD read position

Print SD progress to serial

Start writing to a file on the SD card

Stop writing the file, end logging.

Delete a specified file from SD.

Report the current print time.

Begin an SD print from a file.

Convert a short pathname to a long pathname.

Set SDCard file sorting options.

Set an analog or digital pin to a specified state.

Get information about pins.

Get information about pins.

Measure Z Probe repeatability.

Set current print progress percentage for LCD.

Start the print job timer.

Pause the print job timer.

Stop the print job timer.

Print statistics about print jobs.

Turn on the power supply

Turn off the power supply.

Set E to absolute positioning.

Set E to relative positioning.

Set the inactivity timeout.

Set the number of steps-per-mm, per-inch, or per-degree

Observe memory used by code

Set the state or trigger distance (in 0.1mm units) for the Bed Distance Sensor.

Set a new target hot end temperature.

Send a temperature report to the host.

Turn on the fan and set its speed

Break out of the current waiting loop

Wait for the hot end to reach its target.

Set the current line number.

Report and optionally set the debug flags.

Shut everything down and halt the machine.

Get or set the host keepalive interval.

Report the current tool position to the host.

Print the firmware info and capabilities.

Set the message line on the LCD.

Send text to serial

Report endstop and probe states to the host.

Enable endstops and keep them enabled when not homing.

Disable endstops and keep them enabled when not homing.

Get TMC Debug Info

Report fan speeds from tachometers

Save current position and move to filament change position.

Open the valve for Baricuda 1.

Close the valve for Baricuda 1.

Open the valve for Baricuda 2.

Close the valve for Baricuda 2.

Set a new target bed temperature.

Set a new target chamber temperature.

Set a new target laser coolant temperature.

Set material presets in the LCD menu.

Set temperature units to Celsius, Fahrenheit, or Kelvin.

Set the color of the RGB(W) LED, backlight, or LED strip.

Periodically auto-report position to serial

Auto-report temperatures to host periodically.

Set a single mix factor for a mixing extruder.

Save the current mix as a virtual tool.

Set all mix factors for the mixing extruder.

Set a Gradient Mix

Wait for the bed to reach target temperature.

Wait for the chamber to reach target temperature.

Wait for the probe temperature sensor to reach a target

Set a new target laser coolant temperature.

Set the diameter for volumetric extrusion.

Set acceleration and frequency limits for print moves.

Set maximum feedrate for one or more axes.

Set the starting acceleration for moves by type.

Set some advanced settings related to movement.

Apply a persistent offset

Set options for firmware-based retraction.

Firmware-retraction recover settings.

Enable / disable auto-retraction.

Set and/or get the software endstops state

Set length and speed for filament swapping

Set the offset of a hotend (from hotend 0).

Set the global feedrate percentage.

Set the flow percentage, which applies to all E moves.

Wait for a pin to have a given state.

Trigger a camera shutter

Set and/or get the LCD contrast.

Set and/or get the LCD Sleep Timeout.

Set and/or get the LCD brightness.

Send data to the I2C bus.

Request and echo bytes from the I2C bus.

Set or get a servo position.

Set servo deploy and/or stow angles

Detach a servo until its next move

Babystep one or more axes

Play a single tone, buzz, or beep.

Set PID values for a hotend.

Set minimum extrusion temperature, allow cold extrusion.

Auto-tune the PID system to find stable values.

Set PID values for the heated bed.

Set (or report) custom thermistor parameters

Set MPC values for a hotend.

Set micro-stepping for drivers that support it

Directly set the micro-stepping pins

Turn the case light on or off, set brightness

Источник

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть третья, ПО и G-code

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

ПО для работы можно разделить по уровню абстракции снизу вверх: прошивка драйверов двигателей, «стойка ПУ» или замещающий ее программно-аппаратный комплекс на базе ПК или МК, CAM — ПО, строящее траекторию движения инструмента и преобразующее ее в G-код, и CAD.

Наиболее низкоуровневое ПО — прошивка драйверов двигателей, которая преобразует сигналы шага и направления (step/dir) для шаговых двигателей либо скорость/направление для серводвигателей в значения напряжения и тока, подаваемые на обмотки двигателей; его мы не выбираем и не модифицируем, по крайней мере в обсуждаемом случае.

Следующий уровень — «стойка» — программно-аппаратный комплекс, преобразующий строки кода в сигналы для драйверов. Тут уже интересней, по крайней мере на этапе выбора станка (или выбора компонентов для самостроя) мы можем остановиться как на промышленных стойках начального уровня (GSK, Washing, бэушные старые сименсы и фануки), так и на сочетании интерфейсных плат (от банального LPT и опторазвязанной китайской красной платы до MESA) с ПО — LinuxCNC, Mach3, NCStudio и прочих. Лично у меня большой положительный опыт с LinuxCNC и NCStudio; несмотря на простоту и того и другого, с обработкой по готовому простому G-коду нотации ISO-7bit они справляются на ура. У промышленных стоек есть преимущество в гибкости настройки приводов и возможности подключения большого количества периферии, а так же возможность работать по расширенным G-кодам (циклам) и макропрограммам, но при нынешней доступности КАМ-систем и штучном производстве это не нужно.

Уровнем выше идут CAM (computer aided manufacture) программы — ПО для создания траекторий, описывающих прохождение инструмента в заготовке. И вот тут у нас начинается полный разброд и шатание. С одной стороны, бесплатного или условно-бесплатного CAMа мало. Чтобы не сказать вообще нет пристойного. Да, есть плагин для Inkscape, есть какие-то нестабильные чудеса пятилетней давности, есть триальный фьюжн, есть плагины для CADов… Кстати, по поводу совсем простых, на раскроечный роутер мы долго прикручивали G-CodeTools для Inkscape, но так и не смогли достичь приемлимых скоростей связки оператор-плагин. В результате купили CamBam+ за смешные по меркам рынка 150 долларов и наслаждаемся. А так — все из дешевого или бесплатного либо под совсем простые обработки, либо глюк на глюке и глюком погоняет. Мы перепробовали кучу всего в демках и ломаных версиях, в результате провели переговоры с жабой и финдиректором, и купили PowerMill — по отзывам и пережитым в процессе перебора эмоциям, пожалуй, оптимальным для небольшого производства инструменте. Уже позже на нас вышли замечательные товарищи из SprutCAM, дали демку, и мы с ужасом обнаружили, что переплатили примерно в 20 раз — почти все наши потребности закрываются вполне демократичным SprutCAM Mach3. Купили, конечно (типа про запас по подарочной цене), но потом нашли пару недостатков, так что используем исключительно ПМ.

Чуть не забыл: промежуточным этапом между g-code и CAM выступает постпроцессор — когда-то отдельная программа, а ныне встроенный модуль всякого пристойного CAMа. Это та самая штука, которая преобразует траекторию CAM в код конкретного станка. О постпроцессоре стоит знать только что он есть, и что у него есть описание, привязанное к конкретной нотации кода, воспринимаемой станком. Условно, некоторые станки просят нумерацию строк, некоторые — «;» в конце каждой строки, некоторые вообще русскими буквами команды принимают, ну и так далее. Для рассматриваемых станков (домашние фрезеры) вне зависимости от того, MACH3, LinuxCNC или NCStudio пойдет стандартный постпроцессор fanuc0i 3axis.

Ну и самый высокий уровень — CAD, он уже совсем далек от станка. Тут выбор почти бесконечен, и даже посвободней, чем в 3D-принтерах, благо фрезеровка идет до поверхности, и на входе CAM может быть не твердотельная модель, а граничная поверхность. Нормальные CAMы почти всеядны и с одинаковым удовольствием втягивают модели из чего попало — от 3DMAX до SolidWorks.

Несколько раз начинал я писать про g-code, но каждый раз забрасывал. С одной стороны, полный g-code неоднозначен, по крайней мере в части циклов: даже разные серии станков одного производителя могут трактовать g-коды разным образом, а в основных кодах все и так понятно. С другой — современная CAM-система позволяет оператору вообще не знать g-кода как класса, обходясь дерганьем мышкой по окошечкам компа. Но когда один из наших операторов (хороший кстати, ВО, опыт и все такое) не справился с задачей «сделать тестовую прогу, которая 1000 раз прогонит шпиндель вверх-вниз на 30 мм», я понял, что хотя бы общее понимание быть должно. Даже если не писать простые программки, то хотя бы чтобы разобрать и отдебажить что там нам постпроцессор написал.

Во-первых, стоит знать, что g-code идет кадрами, каждая строка — кадр. Код

даст переход по линии, соединяющей текущее местоположение и точку x10y20, а код

даст переход по ломаной — сначала в точку (текущее положение, x10), а потом уже в точку x10y20.

Кстати, на втором примере мы можем увидеть свойство модальности: мы можем не писать G1 в начале второй строки, ибо G1 — модален и стойка поймет кадр без кода как дублирующий код предыдущего. Если бы мы пытались пройти по дуге (G2/G3) и так же вторую часть перенесли бы на следующую строку — стойка бы интерпретировала эту строчку как новый кадр G1.

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

И расшифровка: G17 (работаем в плоскости XY) G21 (единицы — миллиметры) G40 (отмена компенсации длины инструмента) G49 (отмена компенсации радиуса инструмента) G54 (работа в первой системе координат) G80 (отмена ранее запущенных постоянных циклов) G90 (работа в абсолютной системе координат). После такой лошадиной дозы команд любой станок очищается от всех возможных грехов, оставшихся с предыдущих обработок, и готов к работе над вашим проектом. Даже если ваш станок не знает ничего про коррекции, не стесняйтесь — на фоне тела программы эти несколько байт сильно размера программе не добавят, станок чужеродные коды просто проигнорирует, зато точно все будет хорошо.

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

Разве что G54 — обозначение работы в первой системе координат. Дело в том, что почти любая стойка по умолчанию поддерживает машинную систему координат (с нулем на концевых датчиках, обычно в углу рабочего стола), и до 6 дополнительных систем координат, задаваемых пользователем. Зачем? Когда Вы работаете в CAM, Вы задаете произвольную нулевую точку — в верхнем левом ближнем углу (так правильней) или в центре заготовки, и вся траектория описывается от этой точки. Если бы станок умел работать только в машинной СК, приходилось бы либо ставить заготовку углом в машинный ноль, либо в CAM задавать ноль в неясной точке, вымерянной относительно реального расположения детали. Зачем целых 6 систем координат? Ну тоже все просто, хотя и реже используется: если стол позволяет установить несколько заготовок, имеет смысл объединить обработки: сначала пройти все заготовки одной фрезой, потом поменять фрезу и снова пройти по всем, ну т.д. Тут и приходит на помощь разные СК: вместо того, чтобы сращивать модели в CAM, можно обозначить разные СК для заготовок и в начале каждой обработки прописать, в какой СК работаем.

Теоретически при ручном написании программы еще может помочь команда G90/G91: выбор абсолютной или относительной системы координат. Тут все тоже боль-мень просто: в G90 станок переходит по заданным в строке координатам, а в G91 — по добавленным к текущим координатам. Так что станок, стоящий в точке X10Y10 на строку G90 G1 x20 перейдет в точку X20, а на строку G91 G1 X20 — в точку X30.

Следующая группа — коды перемещений. Тут все просто, по крайней мере на обсуждаемых станках:

G0 — холостые перемещения, выполняются на максимальной установленной в стойке скорости. Стоит учитывать, что G0 не всегда дает линейное движение, в некоторых стойках при команде G0 X200 Y300 при нахождении в точке X0Y0 рабочий инструмент сначала уходит под 45 градусов в точку X200Y200, и потом по прямой — в Y300. Имеет смысл проверить, как это происходит на Вашем станке, не зная этой тонкости можно случайно врезаться в крепеж или заготовку.

G1 — линейная интерполяция. Тут еще проще, станок движется всегда по прямой между текущей точкой и точкой, обозначенной в коде. Команда предполагает синтаксис G1 X20Y30Z10 F1000, где F — скорость движения в единицах станка (чаще — миллиметры в минуту, но иногда и мм/сек или еще что-нибудь экзотическое). Скорость — модальна, т.е. если Вы указали скорость один раз, она будет действительна для всех последующих строк G1/G2/G3, даже если они разделены, например, G0 или другими кодами.

G2/G3 — круговая интерполяция по часовой или против часовой стрелке. Допустимы два варианта определения: при нахождении станка в точке X0Y0 формат G2 X10Y10R20 построит дугу между текущей точкой и точкой X10Y10 с радиусом 20, формат G2 X35Y25 I20J-5 построит дугу между текущей точкой и X35 Y25 с центром в точке X(текущая точка)+20 Y(текущая точка)-5.
Теоретически, в продвинутых стойках встречается масса других интерполяций — от синуса до гиперболы, но в наших станках и при наличии CAMа это неактуально.

Ну и еще несколько кодов, которые входят в систему ISO 7bit, но не являются g-кодами. Это M03 (включение шпинделя) с аргументом S (скорость вращения), M05 — остановка шпинделя, M07/09 — подача и отключение СОЖ, и M30 — окончание программы.

Фух. Как-то сумбурно и затянуто получилось, но это действительно может оказаться полезным. На этом прощаюсь, в следующей серии я напишу немножко по материалам для домашнего ЧПУ-фрезера и опишу процесс построения обработки в PowerMill.

Источник

Скрипты для калибровки шагов экструдера. Изучаем G Code на практике для начинающих и не только выпуск № 2

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Всем привет всем доброго времени суток и приятного чтения.

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

Берем первый попавшийся файл модели, переименовал его в calibr_extruder.gcode,

И записываем простой скрипт

M302 S0 ; отключаем защиту от холодного экструдирования

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

G1 E300 F200 ; выдавить 300 мм пластика

Запускаю скрипты с микро-SD карты через меню принтера «печатать с SD карты».

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

Затем для контроля повторяем скрипт и замеряем выдавленный пластик.

Видео Дмитрия Соркина https://youtu.be/Mga_ezYDTNI

Ссылка на скачивание файла скрипта: https://yadi.sk/d/H4N_MYq3XiXYPQ

Скрипты калибровки стола: https://yadi.sk/d/8oni1vYE_ZavBQ

Статья о скриптах для калибровки стола: https://3dtoday.ru/blogs/c8d29bfd40/skripty-dlya-pomoshhi-v-kalibrovke-stola-izucaem-g-code-na-praktike-dlya-nacinayushhix-i-ne-tolko-vypusk-1

З.Ы. Регулярность подобных выпусков не обещаю, буду публикации по мере решения собственных задач.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

G коды для 3d принтера

Самые распространенные команды G-code

Вы можете создать несколько строк кода, комбинируя различные инструкции, составляющие язык. Каждая строка кода представляет собой инструкцию, которую должен выполнить 3D-принтер. Например, G1 X10 F3600. Эта строка кода указывает принтеру переместить экструдер в положение X = 10 мм от станины со скоростью 3600 мм / мин.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

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

Цифры указывают значение выполняемой G-code команды 3d принтера. Для обозначений G и M числа изменяют тип команды. Давайте посмотрим на некоторые случаи, примеры G-кода для mach3:

Справка! G20 устанавливает размеры в дюймах, а G21 – в миллиметрах.

А теперь рассмотрим самые важные M-команды:

Какие бывают G-коды

Программы с G-кодом пишутся в виде текстового формата, каждую строчку называют кадром. Кадр состоит из буквенного символа – это адрес и цифра, в которой выражено числовое значение. Коды бывают основными и вспомогательными. На основе такой программы работает токарный и фрезерный станок с ЧПУ.

Команды группы G называют подготовительными. Они задают движение рабочих элементов на станке с определенной скоростью. Скорость может быть круговой или линейной. Также G-код используется для обработки отверстий и резьбы. Еще одной функцией является управление параметрами и координатными системами аппаратуры.

Основные команды программы направлены на выполнение следующих функций:

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Символы бывают разными: М выполняет вспомогательные функции, такая команда необходима для смены инструмента, вызова подпрограммы и ее завершения, S – это функция основного движения, F – подача, Т, D, Н являются выражением функций инструмента.

Значение символа зависит от вида станка с ЧПУ. Программирование осуществляется на основе этих кодов.

Когда необходимо использование G-кода

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

Популярные команды G-code

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G28 — вернуться в исходное положение

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

G1 — линейное движение

С этой команды начинается около 95% строк в файле для печати. Команда G1 задает и направление перемещения печатающей головки. В этой же строке может содержаться команда E, которая указывает, сколько филамента (в миллиметрах) необходимо протолкнуть в сопло. Также в строке можно указать команду F, которая задает скорость движения в миллиметрах в минуту.

Пример: G1 X30 E10 F1800 — протолкнуть 10 мм филамента в экструдер, пока печатающая головка перемещается на 30 мм по координате X со скоростью 1800 мм/мин.

G92 — установить текущее положение

Команда задает текущее положение осей. Одно из наиболее распространенных применений команды — это ось E (положение филамента). Если переопределить текущее положение нити, то все будущие команды будут определяться по новому значению. Обычно это делается в начале каждого слоя.

Пример: G92 E0 — установить текущее положение нити в качестве нулевого.

M104 и M109 — температура экструдера

Команды M104 и M109 задают температурные значения в градусах Цельсия (S) для экструдера (экструдеров). При использовании команды M104 3D-принтер может производить другие действия в процессе нагрева. Команда M109 указывает принтеру не предпринимать других действий, пока не будет достигнута заданная температура. При использовании 3D-принтера с двумя экструдерами используются команды T0 для установления температуры правого экструдера и T1 — для левого.

Пример: M104 S190 T0 — начать разогревать правый экструдер до температуры 190 °C.

M140 и M190 — температура рабочего стола

Эти команды указывают на необходимость нагреть рабочий стол до заданной температуры в градусах Цельсия (S). Аналогично примеру выше, команда M140 будет выполняться 3D-принтером одновременно с другими процессами, а команда M190 указывает на необходимость ожидания, пока рабочий стол не будет нагрет до заданной температуры.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Пример: M140 S50 — разогревать рабочий стол до 50 °C.

M106 — скорость вращения кулера

Эта команда задает скорость вращения кулера, который охлаждает изделие. Скорость вращения (S) устанавливается в диапазоне значений от 0 (выключен) до 255 (максимальная скорость).

Пример: M106 S128 — включить кулер на скорости 50%.

Принципы кодировки команд G-code для 3D-печати

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

Внимание! Для того, чтобы внести правки в G-code вручную, рекомендуется бесплатная программа NotePad++. Она помогает в поисках вредоносной команды, определяет все в коде все ее повторения и удаляет их.

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G-code — условное наименование языка программирования устройств с числовым программным управлением (ЧПУ) и написанного на этом языке кода. Был создан компанией Electronic Industries Alliance в начале 1960-х. Программа, написанная с использованием G-code, имеет жесткую и последовательную структуру. В отличие от других языков программирования, в G-code нет циклов, функций и логических команд, т.е. оборудование выполняет ровно то, что подготовила программа, либо пользователь ручным набором.

количестве уникальных команд для того или иного типа устройств.

ПО 3D Slicer Slic3r

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

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

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

Недостатки. На данный момент нет никаких временных и оценок печати.

Подходит для экспертов и профессионалов в области 3D-печати.

Сайт. www. slic3r. org

ОС Windows, Mac, Linux

Создаем G-code для плоттера в программе Carbide Create.

Для того чтобы создать G-code для плоттера, воспользуемся программой Carbide Create. Данная программ позволяет создавать G-code для фрезерных ЧПУ станков. Для наших целей её тоже можно использовать, но с определёнными ограничениями, о которых расскажу по мере их возникновения.

Скачать программу Carbide Create.

Для того чтобы скачать программу, в поиске «Яндекс» указываем название программы «Carbide Create». Переходим на сайт разработчика.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Прокрутив страницу ниже, вы увидите заголовок «Carbide Create CAD/CAM Software». Нажимаем на кнопку «See Carbide Create», чтобы подробнее почитать о программе.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

После чего вы получите письмо, на указанный ранее электронный адрес. В письме будет ссылка на скачивание программы «Click here to download Carbide Create».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

После нажатия на которую вы сможете скачать программу для вашей операционной системы. К сожалению, для Linux версии нет.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Создание G-Code в программе Carbide Create.

Запускаем программу Carbide Create и выполним настройки. Для этого нажмем на иконку шестеренки, в блоке кнопок «Setup».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

В открывшемся окне первым делом нужно настроить единицы измерение «мм», внизу окна и нажать на кнопку «Ок». Затем повторно открыть данное окно и произвести настройки размера рабочего поля станка. Поднятие оси Z, толщину заготовки и нулевую точку, в левом нижнем углу. Сохраняем настройки.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Затем загрузим векторное изображение, которое мы создали в программе Inkscape. Для этого в меню выбираем «File-> Open…».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Выбираем файл «Пример1» и нажимаем на кнопку «Открыть».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Чтобы начать работать с нашим изображением выделяем его.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

На панели «Transform» находятся инструменты, которые позволят перемещать, вращать, изменять размер изображения.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Для создания G-Code необходимо перейти во вкладку «Toolpaths». Здесь на панели «2D Toolpaths», можно выбрать вид обработки. Нас интересует «Controur».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

После выбора инструмента, нужно указать высоту по оси Z и обработку по линии, и нажать на кнопку «Ок».

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

В окне настройки, указываем параметры как на картинке. Это позволит сделать обработку максимально быстро.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Мы добавили 2 операции обработки, в конце каждой операции указанно ориентировочное время выполнения в минутах.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Для создания G-Code нажимаем на кнопку «Save GCode», указываем название файла «Пример1.nc» и сохраняем его.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

G-Code готов, сейчас можно проверить что у нас получилось, но для этого понадобится управляющая программ для ЧПУ станка.

Вспомогательные (технологические) команды

КомандаПараметрыОписание
КодОписаниеПример
M00Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый «безусловный технологический останов»G0 X0 Y0 Z100 M0
M01Приостановить работу станка до нажатия кнопки «старт», если включён режим подтверждения остановаG0 X0 Y0 Z100 M1
M02Конец программы, без сброса модальных функцийM02
M03Начать вращение шпинделя по часовой стрелкеM3 S2000
M04Начать вращение шпинделя против часовой стрелкиM4 S2000
M05Остановить вращение шпинделяM5
M06Сменить инструментT15 M6
M07Включить дополнительное охлаждениеM3 S2000 M7
M08Включить основное охлаждение. Иногда использование более одного M-кода в одной строке (как в примере) недопустимо, для этого используются M13 и M14M3 S2000 M8
M09Выключить охлаждениеG0 X0 Y0 Z100 M5 M9
M13Включить охлаждение и вращение шпинделя по часовой стрелкеS2000 M13
M14Включить охлаждение и вращение шпинделя против часовой стрелкиS2000 M14
M17Конец подпрограммыM17
M25Замена инструмента вручнуюM25
M97Запуск подпрограммы, находящейся в той же программе (где P — номер кадра, в случае примера переход осуществится к строке N25), действует не везде, предположительно — только на станках HAASM97 P25
M98Запуск подпрограммы, находящейся отдельно от основной программы (где P — номер подпрограммы, в случае примера переход осуществится к программе O1015)M98 P1015
M99Конец подпрограммыM99
M30Конец программы, со сбросом модальных функцийM30

не больше одного кода в кадре

Параметры команд

Параметры команд задаются буквами латинского алфавита

КодОписаниеПример
XКоордината точки траектории по оси XG0 X100 Y0 Z0
YКоордината точки траектории по оси YG0 X0 Y100 Z0
ZКоордината точки траектории по оси ZG0 X0 Y0 Z100
PПараметр командыG04 P101
FСкорость рабочей подачи.

Для фрезерных станков это дюймы в минуту (IPM) или миллиметры в минуту (mm/min),

Для токарных станков это дюймы за оборот (IPR) или миллиметры за оборот (mm/rev).

G1 G91 X10 F100
SСкорость вращения шпинделяS3000 M3
RПараметр стандартного цикла или радиус дуги (расширение стандарта)G81 R1 0 R2 −10 F50 или G2 G91 X12.5 R12.5
DПараметр коррекции выбранного инструментаG1 G41 D1 X10. F150.
LЧисло вызовов подпрограммыM98 L82 P10 или G65 L82 P10 X_Y_R_
IПараметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси X.G03 X10 Y10 I0 J0 F10
JПараметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси Y.G03 X10 Y10 I0 J0 F10
KПараметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси Z.G03 X10 Y10 I0 K0 F10
LВызов подпрограммы с данной меткой

On-line генерация G-кода по растровому изображению

Интернет-сервис формирования G-кода из BMP, JPG, GIF, PNG

Мощность

Описание сервиса

Сервис предназначен для формирования G-кода для станка с ЧПУ. On-line генератор G-кода создает программу для управления ЧПУ с установленным лазерным модулем.
Это может быть твердотельный лазер или CO2-лазер.
С помощью полученной программы для ЧПУ можно гравировать на различных поверхностях:

Псевдотонирование

Для гравировки на стекле можно воспользоваться псевдотонированием. Реализован алгоритм упорядоченного псевдотонирования.
Псевдотонирование позволяет смоделировать эффект полутонов с помощью двух цветов: белый и черный.
На стекле из-за малой площадки текучести, низкой теплопроводности и оптических свойств невозможно полноценно сформировать полутона.
В сервисе On-line генерация G-кода по растровому изображению после псевдотонирования выполняется инвертирование цветов.
Если необходимо получить псевдотонированное изображении без инвертирования цветов, то нажмите кноку Псевдотонирование повторно.

Формирование G-кода, реализованные команды

On-line сервис формирует код, эквивалентный коду, экспортируемому из программы ECNC. Следует заметить, что в программе ECNC для управления ЧПУ нет ограничений на размер загружаемого изображения.
В сервисе ограничения связаны с выделенным временем выполнения скриптов на сервере.
На данный момент в on-line генераторе G-кода используются команды:

Правила формирования кода

В блоке Размеры готового изображения определяется соответствие между растровым изображением и заготовкой, то есть количество пикселей на 1 миллиметр.
Все перемещения производятся на скорости холостого хода.
Если каретка движется слева-направо, то перед “темным” пикселем лазер включается на заданную мощность. Каретка проходит пиксель и лазер выключается. Аналогично при движении справа-налево.
Мощность лазера задается числом, следующим за S. Число является отображением степени “черноты” пикселя на отрезок, заданный в блоке Диапазон мощности.
То есть, для диапазона 20-80, 255 – белый пиксель – соответвует команде S20, 0 – черный пиксель – соответствует S80. Для указания мощности используются только целые числа.
Кроме того, если выставить галку Дискретные значения, то отрезок 0-255 будет разбит на одинаковые интервалы. При попадании яркости пикселя в какой-то интервал будет установлена соответвующая мощность.
Генератор формирует тело программы. Скорость перемещения, начальное и конечное положения задайте самостоятельно.

Universal G-Code Sender скачать.

Для того чтобы скачать Universal G-Code Sender переходим на страницу github. На вкладке «Download» можно скачать последнюю версию 2.0.7 (на момент написания статьи) для Windows, MacOSX, Linux, Linux ARM или универсальный пакет для всех платформ.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Если вам нравиться программы с минимальным набором функция и максимальной простой – выбирайте версию «UGS Classic».

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Я рассмотрю установку программы Universal G-Code Sender в Windows 10, здесь больше всего проблем. Например, в Linux работает программа гораздо стабильнее.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Universal G-Code Sender установка.

Процесс установки Universal G-Code Sender в основном заключается в распаковке архива. После чего нужно установить Java 8, если, конечно, данная программа у вас не установлена. Если вы не знаете, как проверить установлена программа или нет, ничего страшного, скачивайте тут программу для вашей операционной системы.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Устанавливаем, если у вас не установлена Java 8 или установлена более ранняя версия процесс пройдёт в штатном режиме. В противном случае, выдаст предупреждения что на вашем ПК установлена актуальная версии.

Выбираем Русский язык интерфейса программы Universal G-Code Sender.

После того как у вас все установлено, запускаем программу. Для этого переходим в папку «…\ugsplatform-win\bin» И запускаем файл «ugsplatform64.exe» для 64-битной операционной системы. Или «ugsplatform.exe» для 32-разрядной операционной системы.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Внимание! Путь до папки с программой не должен содержать русские символы. Иначе программа выдаст ошибку и не запуститься

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

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

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

переведена на 67%UGS Classic

Вот так выглядит Universal G-Code Sender версию 2.0.7 на русском языке.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Проблема с кодировкой Universal G-Code Sender все русские символы в виде знака вопроса.

При работе в операционной системе Windows 10, столкнулся с такой проблемой, все русские символы в программе Universal G-Code Sender Platform и даже Universal G-Code Sender Classic.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

В виде знаков вопроса. Поискал в интернете решения, написано, что не хватает шрифтов в операционной системе. Но каких, не понятно. Решение нашел следующее. Скачиваем версию не для Windows, а «All platforms». И о чудо все запускается нормально и русский язык определяет автоматически. Что за глюк не понятно.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

What is a 3D Printer G-code?

G-code (a.k.a RS-274), which has many variants, is the common name for the most widely used numerical control (NC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools (like CNC’s and 3D printers). G-code is sometimes called G programming language

How to send 3D Printer g-codes to the printer?

In repetier host, you should first connect the printer, then go to Manual control and write the code on this box:
then just press SEND.

In Simplify3D, you need to open the tools > Machine control Panel. in the control panel, choose Communication

Remember!, the letters should be in in CAPITAL, example: G1 X-1 Works | g1 x-1 may not work

Using G-Code, you can set up scripts on your 3D printer, for example:

I want that my printer, before it start printing,

my bed to 110ºC
– heat my nozzle to 180ºC
– go home
– do auto-leveling
– heat the nozzle up to 230ºC
– move nozzle to the left corner, off the bed
– extrude 10mm of plastic (to clean the nozzle)
– start printing

How we do this? using some G-codes.

M140 S110 // this will heat the bed to 110 degrees
M104 S180 T0 // this will heat the nozzle to 180 degrees
G28 // Go home! (if you don’t define X, Y or Z, it will go home to all of them)
G29 // do the auto-leveling feature
G28 X // it will go home on the X axis again
G91 // This is needed to move the extruder!
G1 E10 F240 // This will extrude 10mm of plastic
G90 // This is needed to move the extruder!

Wow!, too much strange commands right? well, they are worthy to know!, and this is what i’m gonna show you!

On simplify 3D you can set those scripts here:

On repetier you can set those scripts here:

ПО 3D Slicer 3DPrinterOS

3DPrinterOS – облако редактор, который объединяет все компоненты, необходимые для 3D-печати. Помимо слайсинга, 3DPrinterOS включает в себя различные варианты для восстановления сетки, загрузки моделей из Sketchfab. com или печати на промышленной машине, но некоторые функции премиум доступны только за отдельную плату. Компания пообещала, что slicer всегда будет бесплатно.

G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера G code для 3d принтера. Смотреть фото G code для 3d принтера. Смотреть картинку G code для 3d принтера. Картинка про G code для 3d принтера. Фото G code для 3d принтера

Диапазон поддерживаемых 3D принтеров, очень широк, так как можно ожидать от коммерческого решения.

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

Преимущества? После того, как ваш G-код генерируется, вы можете просмотреть его в “Toolpath Viewer”.

Недостатки? Конечно, хотелось бы использовать дополнительные возможности бесплатно.

Сайт. www.3dprinteros. com

OS Браузер, Windows, Mac

Лучшие программные обеспечения 3D Slicer для конвертации в G-код

Программное обеспечение позволяет вам импортировать, масштабировать, вращать и восстанавливать вашу 3D-модель, пока она не будет в самый раз. Импорт файлов STL, OBJ или 3MF выполняется очень быстро, и даже огромные сетки отображаются в мгновение ока.

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

Источник

Русские Блоги

G-код объяснения

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

Поскольку все 3D-принтеры используют G-код в качестве уникальной информации, интерактивной во внешнем соединении, этот «язык» стандарт важен. К сожалению, хотя все 3D-принтеры используют G-код в качестве интерактивного языка с компьютером, он на самом деле немного отличается от G-Code для каждого трехмерного принтера «Скажем». Это также можно сказать, что каждый 3D-принтер имеет свой собственный «диалект». Мы хотим изучить G-код, мы должны начать с самого распространенного «диалекта», он также может быть «мандарин», сначала понять один, затем изучать другие подобные языки, сравните друг друга, это легко.

Основное движение

G0 / G1 Линейное движение

Хотя из имени G0 называется «быстрое движение», и G1 называется «прямой движущийся», но на самом деле инструкции G0 и G1 полностью эквивалентны, без каких-либо различий. Будет ли движение быстро, он определяется параметром f (подробности далее подробно описаны ниже). Роль этой инструкции также очень проста, то есть перемещать экструдированный заголовок в определенное местоположение. Эта инструкция имеет много параметров, и полная форма это:

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

Таким образом, две строки G-кода, указывающие на то, что скорость установлена ​​на 1500 мм / мин, что составляет 25 мм / с, а затем переместить экструдированную голову в положение x = 50 мм, y = 25,3 мм, высота оси z Не изменяется и перемещает голову сжатия в положение 22,4 мм. Здесь скорость, позиция XYZ лучше понята, но как понять позицию двигателя экструзии головы? Переместите до 22,4 мм, насколько расходные материалы вы уже экструдированы? Фактически, удельное действие экструзионной головки здесь определяется в соответствии со статусом двигателя до стадия экструзии (то есть позиции). Например, перед этими двумя утверждениями двигатель сжимающего головы уже находится в положении 20 мм, затем шаг в двигатель вот в порядке, пока это снова 2,4 мм.

Подумайте об этом, на самом деле, шаг наступления в двигатель, точно такой же, как ось XYZ. Ось XYZ лучше понята, потому что мы знаем, где находится начало (0, 0, 0). Положение происхождения также инициализируется до 0 положения в начале начала печати. Если вы знаете местоположение происхождения, вы можете правильно понять рабочий способ выжимания шага в двигатель. На самом деле, сжимание первого шага в мотор по-прежнему основывается на происхождении, но он продолжает увеличиваться на протяжении всего процесса печати. (Мышление: что за код G-кода ли выступил шуморезание Sliqer?

Возьми еще один пример,

Этот пример очень похож на приведенный выше примера, единственная разница, является параметр f. И значение этих двух утверждений, в дополнение к движению xyze, скорость печати, начиная с изложений 1500 мм / мин, поднимая 3000 мм / мин в конце выполнения операторов. Здесь есть два очка, чтобы обратить внимание.

Первая точка, параметр f такой такой же, как параметр xyze, линейная интерполяция в процессе выполнения операторов;

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

Движение дуги G2 / G3

В этих двух командах G2 двигается по часовой стрелке, G3 против часовой стрелки ARC. Полная форма команды:

Согласно теорему Pyclock, R2 = I2 + J2 Отказ Следовательно, если предусмотрен параметр центрального положения, не нужно предоставлять параметр радиуса. И наоборот, если параметры радиуса предусмотрены, центральное положение может быть рассчитано на основе текущей точки и целевой точки, параметр I / j не требуется. Несколько других использование параметра, которое точно так же, как G0 / G1.

Наиболее неловкому задачу, обращенную к команде G2 / G3, обычно используются программное обеспечение для обработчиков верхнего машины, включая SLIC3R и Engine Cura и не генерируют эти две инструкции. Дуга во всех трехмерных моделях была преобразована в кривую в сочетании с большим количеством небольших сегментов линии в файле STL. Таким образом, Sliqer естественным образом не относится к этим небольшим линиям как дуги. Окончательный выход G-код доступен только, и есть только инструкции G0 / G3 без инструкций G2 / G3. Конечно, известно, что если вы используете относительно небольшое хост-компьютерное программное обеспечение, такие как Artcam и т. Д., Поскольку вход этого программного обеспечения не является файлом STL, поэтому их выходной код G2 / Команда g3.

Если вы определите, что ваш 3D-принтер получат только команду M0 / G1 Linear Motion, то мы можем определить его в конфигурации прошивки 3D принтера.

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

Существует также проблема для всех, чтобы подумать: если верхнее программное обеспечение для раздела машины выводит команду G2 / G3, будь то 3D-принтер циркулярный объект, когда программное обеспечение для программного обеспечения хоста выводит команду G0 / G1, будет более круговой, когда круговой Объект печатается.? (Ответ нет.) Так какой принцип?

G4 приостановлено

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

Следовательно, команда G4 P2000 полностью эквивалентна команде G4 S2.

G10 / G11 поворот / против спины

На самом деле, текущий ломтик не слишком зависит от инструкции G10 / G11 для выполнения задней насосной действия, но используйте команду G1 ENNN, чтобы напрямую команду командовать шагом сжимания в двигатель или обратный в определенную позицию. Следовательно, аналогично команде G2 / G3, команда G10 / G11 в основном является частью, если не имеется специального ломтика ломтиков для генерации этих двух инструкций, в противном случае он может выполнить две инструкции, сохранить пространство памяти. Определите в конфигурации прошивки

Вы можете отключить функцию G10 / G11, чтобы удалить этот следующий код в скомпилированном периоде.

G20 / G21 Установите блок расстояния

Эти две команды очень просты, используются для установки текущего расстояния в размере дюймов (G20) или миллиметров (G21). Нет параметров.

Значение по умолчанию мм, когда он не установлен.

G28 ноль

Эта команда вытянута с оси XYZ 3D принтера и экструдированной головкой. Параметры включают в себя:

E Указывает, что положение сброса оси E равно 0, что отличается от оси XYZ. Если используется параметр E, шаг E-оси не перемещается, но текущая позиция E-осей напрямую установлена ​​на 0, поэтому следующая пара движение E-оси объясняется как относительную точку движения 0.

Если при использовании нет параметров при использовании, используйте G28, эквивалентную команду G28 XYZ. В это время E-ось не сбрасывается до 0 операции.

Ось XYZ от нуля, сконфигурированная прошивкой HOMEING_ORDER Решить, например, как определено как

Он представлен нулевой осью X, затем ось Y, и, наконец, ось Z.

T установить текущую экструзию головы

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

Параметр является самой специальной точкой T команд T. Это отличается от всех других команд G-кода.

Тест высоты Z-оси и автоматическая выравнивание

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

G29 Z-AXIS Высота три точки теста

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

Snnn Результаты испытаний результатов тестов. S1 Указывает, что значение высоты Z-оси в памяти обновления (система сброса теряется), S2 представляет собой память обновления и значение высоты Z-оси в EEPROM (система сброса не будет потеряна).

Когда нет параметров, команда G29 указывает, что только результат выводится только из последовательного порта, не обновляет память или значение высоты Z-оси в EEPROM.

В целом, только используя коммутатор высокого уровня (то есть предельного выключателя AXIS Z расположен на максимальной координате Z-оси) и прикреплен к экструдированной головке с помощью выключателя высоты высоты Z, Подходит для использования команда G29, тестирует высоту оси z. Другие механические конфигурации не подходят для использования команд G29. Команда G29 настраивается от прошивки

Решите, включено ли он. Если этот элемент конфигурации определяется как 0, поддержка команды G29 удалена, сохраняя использование памяти.

Когда команда выполнена, три точки на плоскости печати определяются следующими параметрами конфигурации прошивки:

Запуск и конец команды выполняется соответственно, выполняется предварительно определенный G-код. Конфигурация прошивки по умолчанию определяется как:

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

Испытание высоты высоты Z azis of G29 обычно запускается управлением Micro Switch. Номер порта этого коммутатора Z_PROBE_PIN Укажите отдельно.

Тест высоты высоты Z30 Z (один шаг)

Эта команда является одним из шаг в процессе полной высоты Z, а высота оси Z на плоскости печати протестирована и выводит результат на последовательный порт. Этот полный процесс теста высоты Z-оси Z обычно отправляется программным обеспечением управления 3D принтера, а состояние выполнения G30 управляется управлением параметров. Следовательно, в ручном режиме работы команда G30 подходит только для работы без параметров (эквивалентно G30 P3, см. Следующее описание параметра).

Параметры команды G30 включают в себя:

PNNN представляет собой состояние теста, P1 указывает на первый шаг всей тестового процесса высоты Z; P2 означает, что текущий этап является последним этапом процесса теста высоты Z; P3 означает, что текущий шаг Процесс тестирования высоты Z-оси. Единственный шаг состоит в том, что он и первый шаг, также является последним шагом; P0 означает, что текущий шаг представляет собой шаг в тесте высоты Z-Axis. В случае, если значение по умолчанию P равно 3.

Подобно команде G29, команда G30 также настроена прошивками.

Решите, включено ли он.

Выход команд G30 согласуется с вышеуказанным форматом выхода G29, но только один из строк, программное обеспечение Host Machine необходимо для отправки команды G30 несколько раз, а затем согласованность всех результатов вывода.

G31 Выходной вывод Z-Axis Тестовое состояние Micro Переключение состояния

Эта команда очень проста, нет параметров. При выполнении текущее состояние текущей выключателя микро-движения высоты Z-оси Z выводится:

Где L указывает, что Micro Switch не запускает. Если он находится в спусковом состоянии, H выводится здесь.

Команда G29, команда G30, команда G31 выполняет только испытание высоты оси Z и не выравнивается автоматически. Некоторые программное обеспечение для управления принтера Hosting Machine достигнет (Host) Функция автоматического выравнивания горячей кровати через этот набор команд. Если вы хотите пройти хост-машина, вы заполняете только автоматическую функцию выравнивания с помощью самого трехмерного принтера, вам нужно использовать команду G32.

G32 горячая кровать автоматическая выравнивание

На основании команды G29 эта команда не только проверяет высоту оси Z из трех точек на плоскости печати, но также регулирует механические параметры 3D-принтера в соответствии с результатами теста, а горячая кровать автоматически выравнивается. Параметры, используемые командой G32, согласуются с командой G29:

Snnn Результаты испытаний результатов тестов. S1 Указывает, что соответствующие значения параметров в памяти обновления (система сброса будут потеряны), S2 представляет собой память обновления и соответствующие значения параметров в EEPROM (система сброса не будет потеряна).

Когда команда G32 выполняется, не только параметр высоты высоты Z, но также контролирует горячую слою в соответствии с аппаратной конфигурацией 3D-принтера.

Если сама горячая кровать очень контролируется с помощью шагового двигателя, программа автоматически настроит положение шагового двигателя, так что горячая кровать автоматически настраивается в плоское состояние; если сама горячая слой не может двигаться (это должно быть больше Common) Затем команда G32 создает матрицу преобразования в памяти 3D-принтера, так что все трехмерные пространственные локации в будущем 3D-принтере пройдут через эту трансформацию матрицы, гарантируют, что в случае z = 0, прямо сейчас Кровать полностью последовательна. Потому что мы включаем высокопрофильные знания компьютерной графики, мы не будем подробны. Имейте друга, который изменяет этот кодовой спрос, вы можете связаться с напечатанным тиграм напрямую.

Команда G32, настроенная прошивкой

Решите, включено ли он.

Выход команд G32 аналогичен команде G29:

В дополнение к информации об измерении, аналогичной команде G29, команда G32 также выводит рассчитанную автоматическую матрицу выравнивания и открывает автоматическую функцию выравнивания. Следует отметить, что команда G32 генерирует автоматическую матрицу выравнивания, но не сохраняет его в EEPROM, поэтому следующий загрузчик будет потерян. Вы можете сопоставить команду M320 S1, чтобы сохранить матрицу автоматического уровня в EEPROM.

M251 сохраняет текущую положение оси Z в качестве значения высоты оси Z.

Эта команда может сохранить текущую положение оси Z в качестве значения высоты Z-оси, чтобы сделать результат ручного измерения высоты оси Axis. Как правило, команда M251 работает только на модели DELTA и должна быть объединена с помощью команды G29 (автоматически измеряет высоту оси Z). Эта команда не имеет соответствующих параметров.

Когда 3D-принтер открывает поддержку EEPROM, эта команда также сохраняет значение высоты Z-оси в EEPROM.

Только когда конфигурация прошивки определена

То есть Z осевое положительное направление возвращается, а также

То есть, когда есть аппаратный выключатель высокого ограничения AXIS Axis, команда M251 содержит следующий код в компиляции.

Как правило, только 3D-принтеры типа DELTA могут соответствовать этим двум условиям.

M320 / M321 Открыть / Закрыть автоматическую выравнивание

Откройте (M320) или Close (M321) Функция автоматической выравнивания, так что автоматический выравнивающий переход Matrix или не работает. Параметры команд

SNNN указывает, следует ли сохранять в EEPROM, параметр S0 или S0 не означает, что EEPROM не сохраняется, S1 представлен на EEPROM, а S3 переключается в автоматическую выравнивающую матрицу, очищенную и сохраненную в EEPROM;

Выходной результат M320:

Экспресс автоматический выравнивание было открыто.

Выходной результат M321:

Указывает, что автоматическая выравнивание было закрыто.

M322 Очистить автоматический уровень преобразования уровня

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

SNNN указывает, сохраняется ли он в EEPROM, S0 означает, что он не сохраняется в EEPROM, S1 сохраняется в EEPROM;

Команда, оба являются чистыми автоматическими матрицами выравнивания, выключите автоматические функции выравнивания и сохраняют эту настройку в EEPROM.

Вышеуказанные три команды такие же, как команда G32, а конфигурация прошивки настроена.

Решите, включено ли он.

Выходной результат M322:

Указывает, что автоматическая матрица выключателя выравнивания была очищена.

Раздел III, режим координаты и положение координат

G90 / G91 устанавливает режим координат

Эти два команда используются для установки текущего режима координат в качестве абсолютного режима координат (G90) или относительный режим координат (G91). Нет параметров.

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

Если 3D-принтер в настоящее время находится в режиме относительной координаты, ступенчатое устройство X-AXIS переместит единицу в направлении вперед и перемещает одну единицу в противоположном направлении. Второе утверждение, фактическое мобильное расстояние составляет 1 единицу (к направлению оси X).

G92 Установка позиции

Установите значение местоположения Xyze в памяти 3D принтера. Не перемещайте соответствующий шаговый двигатель. Параметры включают в себя:

Вспомогательный шаговый двигатель

Некоторые 3D-принтеры механические дизайна будут использовать более вспомогательные шаговые двигатели, чем четыре шаговые валы двигателя Xyze. Repetier-прошивка обеспечивает набор инструкций вспомогательного шагового двигателя, которые позволяют пользователям (и программному обеспечению HOST) для эксплуатации этих вспомогательных этапов. Из-за назначения вспомогательного шагового двигателя параметры разные, и эти инструкции предназначены для очень простых, чтобы сделать эту команду.

G201 Мобильный шаг

Переместите положение шагового двигателя P на положение x. Параметры включают в себя:

Эта команда очень похожа на команду G1.

G202 устанавливает текущее местоположение

Установите положение X в текущее местоположение ступенчатого мотора P. На самом деле не перемещайте шаговый двигатель. Параметры включают в себя:

Эта команда очень похожа на команду G92.

G203 сообщает о текущем местоположении

Текущее местоположение отчетов Step Motor P. Параметры включают в себя:

Эта команда очень похожа на команду m114.

G203 Open / Close Steper Motor

Используется для включения / выключения шагового двигателя P. Параметры включают в себя:

Эта команда связана с командой M84 в разделе «Управление энергосбережением». Команда M84 используется для закрытия двигателя Xyze Step, но эти шаговые двигатели не могут быть открыты.

Управление картой SD

Каталог колонок M20

Отображение всего содержимого каталога на SD-карте. Нет актуального параметра.

M21 Загрузка SD-карты

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

M22 Удаление SD-карты

Удалите SD-карту, то есть действие размонтирования выполняется. Нет актуального параметра.

M23 Файл выбора

Выберите файл на SD-карте. Параметр

После выбора файла вы можете выполнить действие печати, удаления и т. Д. Например, команда

M23 TEST/c.gcode

Файл C.GODE в папке тестирования SD Card выбран в качестве текущего файла.

В то же время выходной формат:

Указывает, что файл был успешно открыт.

M24 начинает печатать SD-карту

Распечатайте текущий выбранный файл SD-карты. Прочитайте код содержимого файла SD-карты в процессе и выполните код. Нет никаких связанных параметров.

M25 Подвесная печатающая карта SD

Приостановить текущую печатать SD-карту. Нет никаких связанных параметров.

M26 устанавливает текущее местоположение текущего файла

Установите текущее местоположение текущего файла. Параметр

M27 получает прогресс печати карты SD

Получите прогресс SD-карты. Нет никаких связанных параметров.

Эта команда предназначена для Host Machine, чтобы получить текущую информацию о ходу обработки 3D для отображения на компьютерном интерфейсе.

M28 Написать файл SD-карты

Напишите файл карты SD. Параметр:

Из команды исполнения M28 все 3D-принтеры получают G-код, за исключением команды M29, сохранить в указанный файл SD-карты, не будучи фактически выполнен. Эта команда может скопировать файл G-кода из программного обеспечения управления HOST Computer 3D-печати на SD-карту 3D-принтера для будущего выполнения.

M29 заканчивается написание файлов SD-карты

Завершить состояние «Сохранить в SD-файл карты», начиная с M28, восстановить 3D-принтер к обычному состоянию. С тех пор все полученные команды G-кода будут выполняться напрямую. Нет никаких связанных параметров.

M30 Удалить файл

Удалить файлы на SD-карте. Параметр:

M32 Создание подкаталог

Создайте подкаталог на SD-карте. Параметр:

Имя имя указывает подкаталог, который будет создан (включая имя каталога, с / разделением);

Все вышеперечисленные карты SD связаны с конфигурацией прошивки

define SDSUPPORT 1

Решите, включено ли он. Если прошивка не должна поддерживать SD-карту, отключите эту конфигурацию прошивки, чтобы сохранить много пробелов памяти.

Управление энергосбережением

M84 устанавливает время отключения автоматического выключения двигателя

Когда 3D-принтер не получает команду движения шагового двигателя на некоторое время, 3D-принтер (для энергосбережения) автоматически отключит шаговый двигатель. С инструкцией M84 вы можете установить время этого автоматического шагового двигателя отключения. Параметры включают в себя:

Если параметр S не указан, когда используется M84, Steper будет немедленно отключен.

Значение по умолчанию команды M84 составляет 360 секунд. В конфигурации прошивки значение по умолчанию

M85 Установки 3D Принтер Автоматическое время отключения

Когда 3D-принтер на некоторое время не получает инструкцию, 3D-принтер (для энергосбережения) автоматически выключит шаговый двигатель и экструдировал голову, горячая кровать и другое оборудование. С помощью инструкции M85 вы можете установить время этого автоматически отключить 3D-принтер. Параметры включают в себя:

Если параметр s не указан, когда используется M85, или параметр S0 используется, генерация отменяет 3D-принтер автоматически отключить функцию, голову, горячую кровать и т. Д., Она всегда будет в текущем состоянии, и не будет закрываться автоматически.

Значение по умолчанию команды M85 равно 0 (не автоматически выключается). В конфигурации прошивки значение по умолчанию

Управление температурой

M104 устанавливает целевую температуру экструзионной головки

Установите целевую температуру экструдированной головки. После выполнения этой команды вам не нужно ждать этой температуры и начать немедленно выполнять следующий оператор G-кода. Соответствующие параметры включают в себя:

Если нет параметра T, когда команда выполняется, целевая температура устанавливается для тока экструзионной головки.

M140 устанавливает целевую температуру горячей кроватью

Установите целевую температуру горячей кровати. После выполнения этой команды вам не нужно ждать этой температуры и начать немедленно выполнять следующий оператор G-кода. Соответствующие параметры включают в себя:

M105 получает текущие температуры

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

X Указывает исходное значение ввода преобразования вывода AD;

Выход команды M105:

Видно, что часть T: тока температуры / целевой температуры представляет собой экструдированную головку; B: последующая часть представляет собой температуру / целевой температуру тока горячей слой.

В режиме управления температурой PID B @: число позади представляет собой текущую выходную интенсивность горячей кровати, составляет 0255, @: число позади, представляет собой текущую выходную интенсивность выжимающей головы, также составляет 0Значение 255. В примере, сжимающая головка, горячая кровать находится в закрытом состоянии, поэтому значение этой позиции равно 0.

M109 ждет экструзионной головки для нагрева для достижения целевой температуры

Установите целевую температуру сжатой головки и дождитесь этой температуры. Соответствующие параметры включают в себя:

Если нет параметра T, когда команда выполняется, целевая температура устанавливается для тока экструзионной головки.

M190 ждет горячей кровати, чтобы добиться целевой температуры

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

M116 Подожди температура для достижения целевой температуры

В ожидании всех сжимающих головок / горячих кроватей для достижения целевой температуры, указанной в предыдущей инструкции M104 / M140. Нет никаких связанных параметров.

Другие общие инструкции

M92 Установка разрешения

Установите разрешение мотора Step Xyze в памяти 3D принтера. Параметры включают в себя:

M106 / M107 Открыть / Закрыть вентилятор

Эти две команды используются для открытия (M106) или близких вентиляторов (M107). Связанные параметры включают в себя:

Определите в конфигурации прошивки

Указывает, что функция управления вентиляторами поддерживается, и связанный код будет включен в компиляцию.

M114 выводит текущее местоположение

Выходная экструдированная головка тока тока. Нет актуального параметра.

M115 Выходной 3D Информация принтера

Выходная информация 3D принтера. Нет актуального параметра.

Статус выключателя выходного выключателя M119

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

Выход команды M119:

Текущее состояние низкоскоростного выключателя трех осей XYZ указано. L представляет собой ограниченный выключатель не запускает. H представляет собой ограниченный выключатель срабатывает.

M201 / M202 Установка максимального ускорения

Эти две команды устанавливают ускорение печати. Ускорение движения (M201), включая экструдированную головку (в печати) и ускорение движения (M202) экструзионной головки не работает (движется). Параметр

Определите в конфигурации прошивки

Указывает, что функция ускорения поддерживается, и связанный код будет включен в компиляцию.

Температура мониторинга MSM

Используйте последовательный вывод для мониторинга температуры 3D-принтера. Параметр

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

Формат вывода мониторинга является именно результатом выхода команды M105.

M204 устанавливает параметры PID

Установите параметры PID контроля температуры экструзионной головки, параметры команд являются

M207 Изменение значения Jitter (Zerk)

Измените текущее максимальное значение дрожания. Параметры команд

Сборка оси XY относится к 3D-принте при движении, максимальное значение генерируется при перемещении на оси x и y y. Например, головка нагрева принтера 3D движется на полной скорости в положительном направлении оси X, а следующая инструкция изменяется в положительном направлении оси Y. Если скорость изменяется на оси X и оси Y, фактически сгенерированная скорость представляет собой скорость направления X и величину скорости направления Y и это относительно большое значение изменения скорости, которое вызывает неблагоприятное влияние. На механических компонентах 3D-принтера. И вызвало относительно большой шум. Настройки здесь ограничивают максимальное значение этой оси XY и скорости. Конечно, эта ценность не может быть установлена ​​слишком маленькая, слишком маленькая, первая скорость печати станет очень медленной, а печать будет производить больше недостатков.

Выход команды M207:

Этот выход очень прост, указывая на то, что скорость джиттера оси XY составляет 20 мм / с, а скорость джиттера Z-оси Z составляет 0,3 мм / с.

M220 Установка скорости

Установите коэффициент скорости работы принтера 3D. Параметры команд

M221 Установлен расход

Установите коэффициент расхода 3D-принтера (скорость потока). Параметры команд

Коэффициент потока 3D принтера основан на коэффициенте скорости движения двигателя E-оси E-оси движения программного обеспечения нарезки верхней части машины, смесь, диаметр распылительной головки, высоты слоя и скорости 3D-печати. Проще говоря, это контролировать количество экструзии экструдированных расходных материалов головы. Этот коэффициент может варьироваться от 25% до 500%.

Выход команды M221:

Настройки M302 позволяют холодной экструзии?

Чтобы защитить экструзионную головку 3D-принтера, движение оси E должно быть разрешено после того, как головка экструзии нагревается до определенной температуры. В случае, когда экструдированная головка охлаждается, все команды движения E-Axis игнорируются прошивкой 3D принтера. Однако в некоторых случаях нам нужно переместить ось E в случае экструдирующего охлаждения головы, и вы можете быть установлены командой M302. Параметры команд

Будет выводиться, когда он не допускается:

Не общая инструкция

Эти инструкции не могут классифицировать и могут быть только во имя «менее распространенных инструкций».

M42 напрямую прочитайте порт

Эта команда читает / пишет порт Arduino для предоставления фундамента для программного обеспечения для управления 3D. Параметры включают в себя:

Таблица предопределена в прошивке прошивки repetier-прошивки, называемая «чувствительной формой порта», все порты, расположенные в этой таблице, то есть порт, который был наступлен в двигатель, ограниченный выключатель, а также термическое сопротивление, не может быть Команда M42 затронута. Другие в настоящее время нездоровые порты могут быть выполнены этой командой.

M82 / M83 устанавливает ступеньку головы экструзии в режим координат двигателя

Подобно команде G90 / G91, эти две команды используются для установки режима координат тока экструдированной головки в качестве абсолютного режима координат (M82) или относительного режима координат (M83). Нет параметров.

Следует отметить, что режим координат, установленный в G90 / G91, одновременно, но режим координат XYZE устанавливается, но режим координат, установленный M82 / M83, является только големенным к E-оси (мотор ступенчатой ​​головы экструзии ).

M99 временно закрыть шаговый мотор

Команда M99 может временно отключить осевой шаг XYZ в двигатель на некоторое время. Параметры команд включают в себя:

Если параметр S не указан, он временно закрыт в течение 10 секунд. После того, как поступают временное время отключения, перезапустите шаговый двигатель соответствующей оси.

M111 позволяет / запрещает логотипы отладки времени выполнения

Битовое поле логотипа отладки состоит из следующих 6 логических значений:

M117 Отправить сообщение на ЖК-экран

Отправьте детали на ЖК-экран, отображаемое в качестве текущей информации о состоянии. Параметр

Сообщение означает, что текст отображается на ЖК-экране;

M120 Test Buzzer

Пусть звуки зуммера. Параметр

Если 3D-принтер имеет зуммер, и представляет собой пассивный зуммер, звук разных частот могут быть получены путем комбинации параметров S и P параметров. такой как

Вы можете получить более длинный звуковой сигнал. Если зуммер 3D-принтера является активным зуммером, инструкция M120 может контролировать только время звукового сигнала и не может управлять частотой звуковой частоты зуммера.

M200 Установка режима экструзии громкости

Установите 3D-принтер на «Режим экструзии громкости» при настройке параметра диаметра экструзионной головки. Связанные параметры включают в себя

Режим экструзии объема является еще одним режимом экструзии относительно мода «Длина экструзии длины по умолчанию». В общем «режиме экструзии длины», команды G0 / G1 в G-коде перемещают электронный вал, а его параметры находятся в единицах единицы мм. Это действительно простое, но проблема в том, что мы должны знать диаметр сопла для использования, когда мы нарекаем, в противном случае фактическая длина расчетного продвижения не может быть рассчитана.

Чтобы создать G-код после генерации 3D-принтера типа различных диаметров сопла, мы можем повернуть параметры E-оси в качестве единиц в качестве единиц в единицах объема, а затем в прошивке нижней машины настроить диаметр сопла используется для достижения цели окончательного правильного выхода. Чтобы использовать блок тома MM3 в качестве устройства параметра оси E-оси, хост-машина должен установить диаметр сопла до 1,128 мм (поэтому расходные материалы на 1 мм на продвижение, что может выдерживать 1 мм.π(1.128 мм / 2) 2 примерно равно 1 мм3 расходных материалах. В то же время следующая машина должна использовать следующее утверждение:

Установите фактическую экструдированную головную сопл диаметр до 0,4 мм. В то же время 3D-принтер может правильно выполнить операцию печати, когда блок параметров E-Axis MM3.

M209 вкл / выкл автоматический свободный

Включите функцию автоматической задней насосной накачки. Параметры команд

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

Определите в конфигурации прошивки

Представляет для поддержки автоматической тошноту функции, которая будет содержать связанный код в компиляции.

M280 Multi-head Repeation Режим печати Настройки режима печати

Некоторые специально настроенные 3D-принтеры, позволяют работать 2

4 сжимания для работы одновременно, и эти сжимания являются совершенно равномерными, в то же время печатают несколько кусков печатных отпечатков, этот режим работы называется Multi-повторяющимся режимом печати (режим Ditto). Команда M280 установлена ​​в этот режим. Параметры команд

Определите в конфигурации прошивки

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

M281 Тестовый аппаратный Watchdog Функция

M303 Автоматические параметры PID PID

Автоматически проверяйте значение параметра PID. Параметры команд

Х представляет, сохраняется ли он в EEPROM;

Из-за тепла диссипация тепла занимает больше времени, эта команда выполняется очень долго.

M330 Test Buzzer

Тест (пассивный) зуммер, генерируют определенный частотный звук. Параметры команд

Если команда не содержит параметров S Parameter или P, используются значения по умолчанию S1 и P1000.

Сохранить и восстановить текущее местоположение

M400 ждет всех текущих мобильных инструкций для завершения

Подождите, пока мобильная команда будет обработана в памяти 3D принтера для выполнения. Нет актуального параметра.

После выполнения этого утверждения вы можете гарантировать, что все Stear Motors не в движении при выполнении в следующем команде G-Code.

M401 сохраняет текущее местоположение

Текущее местоположение, в том числе Xyze Steping Motor, сохраненное в группе частных переменных. Этот набор позиций может быть восстановлен в будущем. Нет актуального параметра.

M402 сохраняется до восстановления

Значение местоположения, сохраненное командой M401 до восстановления. Параметры команд

Пауза и заменить расходные материалы

M600 Запасные материалы

На 3D-принтере с дисплеем запустите замену интерфейса расходного материала. Нет актуального параметра.

Как правило, этот интерфейс мастера срабатывает с интерфейса дисплея. Команда M600 предоставляет интерфейс, который позволяет замену интерфейса мастера расходного материала спусковым от программного обеспечения Host Computer.

M601 Пауза / Восстановление

Пауза или восстановить скважин. Параметры команд

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

Установка с управлением EEPROM

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

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

Второе заданное значение сохраняется в электрически стираемой статической области хранения (EEPROM). Расходы на чтение и запись Eeprom мало, чем статическая зона хранения. Следовательно, 3D-принтер позволяет вам изменять заданное значение после кисти, а установленное значение после этих модификаций хранится в EEPROM. Каждый раз, когда вы его поворачиваете, программа проверит EEPROM, если вы пустые, скопируйте первое значение настройки области статической памяти в EEPROM. И если в EEPROM уже есть сохраненное значение настройки, программа будет напрямую использовать значение в EEPROM. Некоторые друзья могут иметь такой опыт игры в 3D принтерах, которые четко изменяются в заданном значении в профиле прошивки, но после кисти не изменилось. Эта ситуация часто является EEPROM. Мы можем использовать G-код M502 M500, две инструкции (конкретное значение инструкции может относиться к следующему) и переписать EEPROM для решения этой проблемы.

В целом три настройки прошивки, используемый приоритет

M205 Выходные настройки EEPROM

Выводит текущую установленную форму значение EEPROM. Нет актуального параметра.

M206 Модифицированные настройки EEPROM

Измените значение в EEPROM. Параметры команд

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

M360 Выходная информация Конфигурация прошивки

Выходная информация о конфигурации прошивки. Нет никаких связанных параметров.

Выход команд M360 является:

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

M500 сохраняет настройки в памяти EEPROM

Сохраните настройки в памяти 3D-принтера к EEPROM. Нет актуального параметра.

M501 читает настройки EEPROM к памяти

Прочитайте настройки в EEPROM к памяти 3D принтера. Нет актуального параметра.

M502 сбрасывает значение настроек в памяти

Сбросьте заданное значение в памяти в значение в Configuration.h. Нет актуального параметра.

Поскольку каждая система включается, значение в памяти исчезает, а затем прочитайте из EEPROM при перезагрузке, в одиночку с использованием команды M502 будет воспроизводиться только до того, как принтер 3D выключен. Если вы думаете о долгосрочной роли, вам необходимо сопоставить M500, чтобы сохранить заданное значение в EEPROM.

регулирование опорного напряжения Шаговый двигатель

В настоящее время имеется очень мало материнских плат 3D принтера, которые поддерживают настройки программного обеспечения Steper Motor. Большинство трехмерных материнских плат принтера могут управлять эталонными напряжениями шагового двигателя, регулируя точный тюнинг-потенциометр. Эта группа команд недействительна на этих трехмерных принтерах.

M907 Комплекты шагового опорное напряжение двигателя (процентное значение)

Установите шаговый двигатель опорного напряжения. Параметры команд

Все значения параметров являются процентным значением от 0 до 100.

M908 Набор Step Motor Reference Voltage

Подобно команде M907, установите опорные напряжения шагового двигателя. Параметры команд

Эта команда похожа на команду M907, а также требует поддержки материнской платы 3D принтера. На материнской плате принтера 3D, который не поддерживает опорное напряжение настройки программного обеспечения, команда M908 является недействительной.

M909 Выходное значение Reping Ration Refert Reft Value

Выходы текущего значения опорного напряжения шагового двигателя. Нет актуального параметра.

M910 Сохранить шаговый двигатель опорного значения напряжения в EEPROM

Сохранить установленное значение опорного напряжения шагового двигателя с помощью команды M907 / M908 в EEPROM. Нет актуального параметра.

Нужны инструкции по поддержке аппаратной поддержки

M80 / M81 Открыть / выключить питание ATX

На 3D-принтере, настроенном с мощностью ATX, открытым (M80) или Close (M81) Power ATX. Нет актуального параметра.

M340 Servo Motor Control

Функция управления сервоприводом двигателя. Параметры команд

M350 устанавливает сегментацию шагового двигателя

Установите сегментацию шагового двигателя на материнской плате 3D принтера, которая поддерживает настройки тонкой дивизии (этот тип материнской платы редки). Параметры команд

Следует отметить, что в большинстве трехмерных намиральных плат принтера настройка тонкой дивизии фиксируется, когда оборудование материнской платы будет разработана и не может быть отрегулирована программным обеспечением. В этом случае команда M350 недействительна.

M355 устанавливает выключатель света

Установите выключатель света. Параметры команд

Вывод состояния текущего света, когда нет параметров.

Определите в конфигурации прошивки

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *