G-code - это секретная магия, лежащая в основе всех станков с числовым программным управлением (ЧПУ), таких как 3D-принтеры, лазерные станки и, конечно же, фрезерные станки с ЧПУ. Он служит связующим звеном между цифровым дизайном и физическим производством, превращая эти проекты в точные инструкции, которые машины могут выполнить, чтобы воплотить их в жизнь.
В этой статье мы познакомимся с основами G-code и с тем, как он работает в различных приложениях, таких как 3D-печать FDM, 3D-печать на основе смолы и фрезерный станок с ЧПУ. Кроме того, мы изучим некоторые полезные навыки работы с G-кодом, такие как ручное редактирование файлов .gcode, разберемся, чем они отличаются , и как адаптировать G-код для различных прошивок.
#
3DMART студия - услуги 3D печати, изготовление запасных частей, заказ образцов, 3D моделирование, разработка корпусов РЭА, 3D формы, технологическая оснастка и приспособления, авто и мото запчасти.
#
Что такое G-code?
G-code расшифровывается как “Геометрический код”, который представляет собой язык программирования, используемый для управления станками с числовым программным управлением (ЧПУ).
Вы можете задаться вопросом, зачем нам нужен язык программирования для станков с ЧПУ?
Если мы захотим вырезать один кубик из дерева на нашем фрезерном станке с ЧПУ, это не займет много времени, если управлять станком вручную. Однако, если мы хотим нарезать 50 кубов или что–то более сложное, мы можем просто ввести набор команд, написанных в G–коде, что позволит нам автоматизировать процесс управления и сэкономить массу времени. Вот почему G-код играет жизненно важную роль в любом современном станке с ЧПУ, который также включает в себя ваш 3D-принтер!
Первоначально разработанный в 1950-х годах в рамках революции в области автоматизации, он вскоре стал основой для управления обрабатывающими инструментами, такими как токарные станки, фрезерные станки, а позже - 3D-принтерами и другим производственным оборудованием. Но из чего он состоит?
Базовая структура G-code
Инструкции G-кода состоят из простых, понятных человеку команд, которые указывают машине, как себя вести. Каждая строка, известная как “блок”, представляет собой отдельную инструкцию или команду, состоящую из:
Код команды (например, G01, M104).
Параметры, задающие координаты или настройки (например, X10, Y20, Z5 для определения местоположения или F1500 для определения скорости подачи)
В G-коде есть два вида команд. Один из них - "G", который управляет перемещениями в станке, например, G28 (все оси на месте). Другой - "M", который выполняет функции, не связанные с перемещениями, такие как установка температуры (M104) или смена инструмента (M06).
Технологии в двух словах
3d печать FDM - это метод 3D-печати, при котором объекты создаются слой за слоем путем выдавливания расплавленной нити. Несмотря на то, что он не может печатать мелкие детали так же хорошо, как 3D-принтер на основе смолы, он по-прежнему пользуется популярностью у любителей благодаря своей простоте и доступной цене. G-код специфичен для каждой модели принтера и для самой печати, поскольку разные принтеры имеют разные размеры, механизмы перемещения (например, разные системы перемещения) и многое другое.
В отличие от 3D-принтеров FDM, фрезерование с ЧПУ предполагает вычитание материала из существующей детали. Таким образом, вместо инструкций по добавлению материала определенным образом, G-код для фрезерования с ЧПУ основан на точных методах субтрактивного производства.
3D-печать на основе смолы, такая как стереолитография (SLA) и цифровая обработка света (DLP), отличается от 3D-печати FDM. Концепция FDM основана на выдавливании расплавленной нити через сопло для создания объекта слой за слоем, как глазурь на торте. С другой стороны, при печати на основе смолы используется светочувствительная смола, которая отверждается (твердеет) путем воздействия на нее контролируемого света, по одному слою за раз. При этом система управления в основном зависит от перемещений по оси Z и настроек экспозиции, поскольку в ней отсутствует сопло для выдавливания нити филамента.
Несмотря на то, что G-код используется в 3D-принтерах FDM, фрезерных станках с ЧПУ и 3D-принтерах на основе полимеров, конкретные команды и функции значительно отличаются друг от друга. Давайте рассмотрим их подробнее.
3D-печать методом FDM
Для 3D-печати методом FDM используется G-код, который управляет перемещением режущей головки, а также точным управлением процессом выдавливания. Общие команды включают:
Перемещение и позиционирование: G01 используется для управляемого линейного перемещения, задающего координаты X, Y и Z, а также скорость подачи (скорость перемещения инструментальной головки), F. Например, G01 X50 Y25 Z0.3 F1200 перемещает инструментальную головку на X=50 мм, Y=25 мм, Z=0,3 мм при скорости подачи 1200 мм/мин.
Выдавливание: параметр E используется в G01 для выдавливания или втягивания нити филамента. Например, G01 X60 Y25 E5 F1500 перемещается на X=60 мм и Y=25 мм при выдавливании 5 мм нити со скоростью подачи 1500 мм/мин. Втягивание можно выполнить с помощью G01 E-1 F1800, который втягивает 1 мм нити со скоростью подачи 1800 мм/мин.
Настройки температуры: Команды, подобные M104, задают температуру сопла, в то время как M140 используется для режима подогрева. Например, M104 S200 устанавливает температуру сопла на 200 °C, а M140 S60 устанавливает температуру слоя на 60 °C.
Управление вентилятором: M106 включает вентилятор и устанавливает его скорость, а M107 выключает вентилятор. Например: M106 S128 устанавливает скорость вентилятора на 50% (S128 от максимального значения S255).
G-код, специфичный для FDM, часто включает параметры для управления скоростью печати, настройками втягивания и другими действиями, связанными с печатью, такими как приостановка (M0) или смена нити (M600). Поскольку принтеры FDM работают за счет добавления материалов в область сборки, G-code ориентирован на аддитивные методы производства.
При фрезеровании с ЧПУ
Как уже упоминалось, при фрезеровании с ЧПУ движения связаны с удалением материала с заготовки. Например:
Управление траекторией движения инструмента: такие команды, как G17, G18 и G19, выбирают рабочую плоскость. G17 устанавливает плоскость XY, G18 устанавливает плоскость XZ, а G19 устанавливает плоскость YZ, обеспечивая точную ориентацию режущего инструмента.
Скорость подачи и глубина резания: параметр F определяет скорость подачи, в то время как параметр S задает частоту вращения шпинделя (скорость вращения режущего инструмента). Например, F1000 устанавливает скорость подачи на 1000 мм/мин, а S1200 устанавливает частоту вращения шпинделя на 1200 об/мин. Эти параметры имеют решающее значение для регулирования скорости и глубины пропилов.
Расширенные операции: такие команды, как G02 и G03, управляют круговой интерполяцией. G02 задает дуги по часовой стрелке, в то время как G03 задает дуги против часовой стрелки. Регулировка резца осуществляется с помощью команд G41 и G42, где G41 смещает инструмент влево от траектории резания, а G42 - вправо, что позволяет выполнять точную регулировку в зависимости от размера инструмента.
3D-печать на основе смолы
Мы уже узнали о том, как выглядят типичные операции с использованием G-кода для FDM-печати. Принтеры на основе смолы обычно используют G-код следующим образом:
Перемещение по оси Z: Для этого требуется только перемещать платформу сборки вдоль оси Z между слоями, что упрощает структуру G-кода по сравнению с FDM, поскольку оси X и Y не нужны. Например, G1 Z1.2 F150 перемещает платформу для сборки на Z=1,2 мм со скоростью 150 мм/мин.
Отверждение слоя: Команды включают в себя различные настройки времени выдержки, которые определяют, как долго смола отверждается ультрафиолетовым излучением для создания каждого слоя, например, с различными вариантами для начального и последующих слоев. Например, M106 S255 P10 включает ультрафиолетовую лампу на 10 секунд.
Операции по очистке и подъему: Принтеры со смолой могут включать специальные команды с помощью G-кода для очистки или поднятия между слоями, чтобы уменьшить всасывание и подготовиться к нанесению следующего слоя. Например, G1 Z1.5 F100 слегка приподнимает платформу на Z=1,5 мм для снятия слоя.
Как можно догадаться, G-код для FDM обычно более подробный, поскольку он содержит команды для определения температуры, экструзии и перемещений по всем трем осям. С другой стороны, G-код для 3D-печати на смоле в основном включает команды позиционирования по оси Z и настройки экспозиции. Поскольку выдавливание нити отсутствует, команды, связанные с выдавливанием или втягиванием, отсутствуют.
Как это делается
Если вы задаетесь вопросом, нужно ли вам выучить все команды G-кода, чтобы иметь возможность печатать или фрезеровать модель, вам не о чем беспокоиться.
G-код как для FDM-печати, так и для печати на основе полимеров генерируется с помощью программного обеспечения slicing, в которое вы можете импортировать свои модели, указать настройки 3D-печати и преобразовать (также известный как slice!) процесс в G-код для вашего принтера.
Для FDM популярны такие программы, как Cura и PrusaSlicer и Orca, которые имеют открытый исходный код и поддерживают множество принтеров на рынке. Для печати на основе полимеров используются собственные слайсеры, такие как Chitubox и Lychee Slicer. Как уже упоминалось, существует множество настроек для печати в формате FDM, и хотя у 3D-печати на основе смолы их не так много, все же есть немало возможностей для изучения.
Для фрезерных станков с ЧПУ программное обеспечение для автоматизированной обработки (CAM) может помочь подготовить соответствующий G-код на основе проекта. Autodesk Fusion включает в себя функции как CAD, так и CAM, что делает его лучшим вариантом для проектов с ЧПУ. Как и ожидалось, есть много других вариантов, и многие из них бесплатны для ознакомления.
Независимо от того, готовите ли вы G-код для станков с ЧПУ или 3D-принтеров, это обычно выполняется автоматически с помощью программного обеспечения, упомянутого выше. Тем не менее, изучение того, как редактировать G-код вручную, может стать ценным навыком. Давайте рассмотрим это подробнее.
Редактирование G-кода вручную
Как уже упоминалось, редактирование G-кода может стать полезным навыком для развития. Это связано с тем, что оно позволяет вам настраивать операции печати или механической обработки в большей степени, чем это позволяет программное обеспечение для нарезки или CAM, а также изменять настройки на лету или устранять неполадки.
Редактировать G-код может быть довольно просто, так как обычно любой текстовый редактор, поддерживающий обычный текст, отлично подходит для открытия файлов .gcode. Вы можете использовать Notepad++, Visual Studio Code или любой другой текстовый редактор по вашему выбору. Однако, если вы делаете что-то, выходящее за рамки простых изменений, лучше использовать специализированный редактор G-кода, такой как Repetier-Host или PrusaSlicer. Они предлагают отличные функции, такие как подсветка синтаксиса и автоматическое обнаружение ошибок, поэтому сложные изменения можно выполнять безопасно и легко.
После внесения изменений вам также следует запустить G-код с помощью визуализатора, чтобы убедиться в отсутствии ошибок. Например, просто пропущенная цифра в командах перемещения инструментальной головки может привести к ее столкновению с чем-либо и дорогостоящим повреждениям. В наши дни большинство слайсеров и CAM-инструментов поставляются с собственным средством просмотра G-кода. Если вы хотите использовать отдельное средство просмотра, вам пригодятся G-code viewer от OctoPrint или Repetitier-Host.
Почему каждый файл G-code уникален
Как уже упоминалось, каждый файл G-code уникален потому, что он адаптирован к конкретной машине, материалу и настройкам, для которых он был создан. Если вы попытаетесь запустить его на станке, отличном от того, для которого он был создан, это, по крайней мере, может привести к неисправности, а в худшем случае – к повреждению станка или инструментальной головки, что потребует длительного и дорогостоящего ремонта.
Вот некоторые обычные различия, обнаруженные в файлах G-кода, созданных для разных FDM-машин:
Параметры, зависящие от станка: они часто включают в себя уникальные настройки, такие как размер рабочей пластины, пределы осей и смещения инструмента, которые могут варьироваться от модели к модели.
Различия в микропрограммах: Различные микропрограммы (например, Marlin, Klipper, GRBL) интерпретируют и поддерживают различные команды G-кода по-разному (или не поддерживают их вовсе), что влияет на совместимость.
Требования к материалам: G-код содержит настройки температуры и скорости, специфичные для используемого материала (например, PLA или ABS). Из-за неправильных настроек другой материал может работать плохо или не работать вообще.
Особенности принтера: Для машин с такими функциями, как двойная экструзия или автоматическое выравнивание слоя, требуются отдельные команды в G-коде.
Адаптация G-кода к другой машине требует настройки этих параметров в соответствии с новыми настройками, и обычно не стоит тратить время на изменение файла G-кода вручную. Если вы хотите напечатать на другом устройстве, проще воссоздать G-код в программном обеспечении slicer и выбрать правильный 3D-принтер или просто нарезать модель целиком.
Различные варианты исполнения (FDM)
Как уже упоминалось, даже для 3D-принтеров FDM не существует универсального G-кода, который работал бы на всех машинах (независимо от размера и использования материала). На каждой машине используется определенная прошивка (которую можно изменить). Микропрограмма “переводит” инструкции G-кода, чтобы устройство могло их выполнять. Для различных типов микропрограмм требуются различные варианты G-кода, которые в основном адаптированы к конкретным функциям указанной микропрограммы. Давайте рассмотрим три наиболее распространенных варианта микропрограммы.
Широко используемый в 3D-принтерах потребительского класса, Marlin поддерживает множество команд, связанных с выдавливанием, контролем температуры и перемещением, таких как M600 для смены нити и G92 для настройки положения. Он известен своей гибкостью и широкой поддержкой сообщества.
Klipper - это современная прошивка, которая повышает производительность за счет передачи сложных вычислений на компьютер (например, Raspberry Pi) вместо того, чтобы полагаться на плату контроллера 3D-принтера. Он поддерживает расширенные функции, такие как Pressure Advance и Input Shaping, изменяя структуру G-кода с помощью расширенных команд для обеспечения большего контроля над принтером. В первую очередь он ориентирован на высокоскоростную печать.
Изначально разработанная для проекта 3D-принтера RepRap, прошивка RepRap поддерживает команды, аналогичные Marlin, и пользуется популярностью среди производителей DIY и пользовательских сборок благодаря своей адаптивности. Тем не менее, она считается немного устаревшей по сравнению с Marlin и Klipper.
Как и почему различаются версии G-code
Различия возникают из-за того, что каждая прошивка разработана с учетом конкретных потребностей. Например, Marlin и RepRap оптимизированы для обычной 3D-печати, где пользователи не очень заинтересованы в настройке своих принтеров, поэтому достаточно обычных команд G-code. Однако Klipper предлагает значительно больше возможностей для настройки, таких как выполнение сложных макросов внутри файлов G-code, а также расширенные команды G-code для управления еще большим количеством функций принтера.
Из-за различий в ограничениях файлы G-кода Marlin, Reprap и Klipper, как правило, несовместимы друг с другом. Тем не менее, основные команды обычно одинаковы во всех прошивках.
Преобразование между вариантами версий
Если у вас есть G-код, предназначенный, например, для 3D-принтера, работающего под управлением Klipper, но вы также хотите использовать его на компьютере с Marlin, есть несколько способов, которыми вы можете это сделать.
Повторная нарезка файла: Если у вас оригинальная модель, всегда лучше выбрать нужный на ваш вкус слайсер и нарезать файл еще раз, чтобы убедиться, что с G-кодом не возникнет проблем.
Редактирование вручную: Это включает в себя открытие G-кода в текстовом редакторе, определение команд G-кода, специфичных для встроенного ПО, и изменение или удаление неподдерживаемых команд по мере необходимости. Например, если есть выноска для макроса, реализованного в Klipper, вам следует попытаться найти конкретный G-код макроса и добавить его отдельно для Marlin. Аналогично, расширенный G-код Klipper следует заменить стандартным G-кодом Marlin.
ПОДПИШИТЕСЬ - ВПЕРЕДИ БУДЕТ МНОГО ИНТЕРЕСНОГО!
ну и про лайки не забывайте !
еще статьи по теме:
Orca Slicer: Все, что вам нужно знать, чтобы начать работу
Лучшие настройки 3D-принтера для идеальной печати
Как заставить PLA прилипать к столу
Бесплатные редакторы STL: Как редактировать и восстанавливать файлы STL
Настройки первого слоя Cura: Простыми словами о том , что такое начальный слой