G-код, слайсеры и их настройка

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


G-Code

Любая FDM-машина состоит из моторов, которые перемещают экструдер и стол по осям X, Y и Z. Чтобы напечатать ту или иную деталь, необходимо задавать предельно точные команды для каждого мотора: 5 мм вправо, 1 мм вперед и 2 мм вверх. Более того, иногда моторы должны работать синхронно, а иногда — по очереди.

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

Разработан G-code был еще в начале 1960-х годов компанией Electronic Industries Alliance. Хотя окончательный вид он принял в 1980 году, став устоявшимся стандартом по всему миру: и на западе (ISO 6983-1:2009) и в СССР (ГОСТ 20999-83).

Как это работает?

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

M204 S1000
G1 F1200.000
G1 X112.930 Y93.183 E0.02955
G1 X113.338 Y92.804 E0.01745
G1 X113.810 Y92.516 E0.01733
G1 X114.334 Y92.328 E0.01745
G1 X114.885 Y92.248 E0.01745
G1 X135.004 Y92.246 E0.63084
G1 X136.005 Y92.436 E0.03195
G1 X136.866 Y92.974 E0.03183
G1 X137.473 Y93.788 E0.03183
G1 X137.745 Y94.770 E0.03195

Фрагмент G-code

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

  1. Основа кода не одна команда, а кадр — набор из 1-6 команд, которые прописываются в одной строке и выполняются одновременно.
  2. Несмотря на то, что все команды выполняются одновременно, есть общепринятый стандарт последовательности команд для упрощения чтения кода (об этом ниже).
  3. Команды делятся на модальные и немодальные:
    • Модальные команды изменяют определенный параметр на все оставшееся время работы устройства.
    • Немодальные команды изменяют определенный параметр только на время выполнения одного кадра.

Кадр.jpg

рис.1 Описание структуры G-code

На примере кадра (рис.1) видно, что в первую очередь выполняются команды из серии G, которые в основном задают тип перемещения рабочего инструмента или выбирают рабочую плоскость (XZ, XY, YZ). Далее уже следуют команды перемещения рабочего инструмента по каждой координатной оси. Так к привычным для нас осям X, Y и Z добавляется ось E, которая отвечает за подачу пластика в экструдер.

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

Как это создать?

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

шест.jpg

рис.2 Модель косозубой шестерни

Допустим, вам необходимо напечатать на принтере косозубую шестерню (рис.2). Так, полностью написанный G-code для принтера Prusa i3 MK3S занимает 53251 строк. Конечно, написать такой код вручную для одной лишь шестерни не хватит ни сил, ни времени, ни желания. Именно поэтому уже достаточно давно используются слайсеры.

Слайсер — это ПО, которое создает G-code на основе 3D-модели (чаще всего в формате STL) и конфигурации печати (толщина слоя, тип заполнения, количество заполнения и т.п). На сегодняшний день каждый хороший производитель 3D-принтеров стремится создать свой отдельный слайсер. Однако есть и универсальные слайсеры, которые подойдут для большинства известных FDM-машин, представленных на рынке: например, платный слайсер Simplify 3D  и бесплатные Cura, Slic3r, PrusaSlicer. Интересно, что PrusaSlicer разрабатывался исключительно для принтеров Prusa, однако сейчас на нем можно создавать G-code для любых принтеров.

В данном руководстве будут рассмотрены основные настройки слайсера на примере программы Cura.

Работа со слайсером

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

222.jpg

рис.3 Окно выбора принтера для печати

Как показано (рис.3), необходимо найти и выбрать марку и модель своего принтера. Однако если определенного принтера нет в списке, то это не проблема. В таком случае нужно выбрать вариант Custom -> Custom FFF Printer.

333.jpg

рис.4 Окно выбора Custom-принтера для печати

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

444.jpg

рис.5 Окно настройки характеристик Custom-принтера для печати

Далее создается виртуальное пространство 3D-принтера, на котором можно разместить модель.

555.jpg

рис.5 Виртуальное пространство FDM-машины

Теперь требуется загрузить модель в формате STL.

666.jpg

рис.6 Шестерня в виртуальном пространстве

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

777.jpg

рис.7 Меню выбора пластика

Cura поддерживает настройки для множества пластиков разных производителей (рис.7).


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

888.jpg

рис.8 Меню выбора параметров печати

Параметр Что делает? Какие значения?
1 Quality Устанавливает толщину слоя. Чем тоньше слой, тем более детализированной выйдет модель и тем дольше она будет печататься.

Низкое качество: 0.3-0.35 мм

Среднее качество: 0.20 - 0.15 мм

Высокое качество:0.10 -- 0.05 мм
2 Walls Определяет количество стенок (контуров) модели. Чем больше стенок, тем прочнее деталь и тем дольше деталь будет печататься.

Стандарт: 2-3 стенки

Средняя прочность:4-5 стенок

Высокая прочность: 6 и выше стенок
3 Top/Bottom Количество нижних и верхних слоев, которые будут полностью заполнены. Чем больше слоев, тем прочнее деталь и тем дольше деталь будет печататься.

Стандарт: по 5 слоев на Top и Bottom

Средняя прочность: по 6-7 слоев на Top и Bottom

Высокая прочность: от 8 слоев и выше
4 Infill Параметр, показывающий процентное заполнение модели пластиком. Чем выше процент, тем прочнее деталь и тем дольше деталь будет печататься.

Стандарт: 10-25%

Средняя прочность: 25-55%

Высокая прочность: 55% и выше
5 Material Параметр, в котором устанавливается температура экструдера и температура стола Значение данных параметров индивидуально для каждого пластика
6 Speed Параметр, который влияет на скорость работы принтера во время самой печати. Чем больше скорость, тем ниже качество печати,но быстрее процесс печати

Стандарт: 35-50 мм/с

Ускоренная печать: 60 мм/с

Качественная печать: 25-35 мм/с
7 Travel Retraction — процесс извлечения пластика из экструдера, когда инструмент не печатает. Улучшает качество печати. Стандарт: включено
8 Cooling Параметр, который отвечает за охлаждение выдавливаемого пластика. Чем меньше параметр охлаждения, тем прочнее модель и тем ниже ее качество.

Стандарт: 80-100%
9 Support Параметр, генерирующий специальные конструкции — будущие опоры для печати элементов детали, висящих в воздухе. Включать тогда, когда есть висящие в воздухе элементы.
10 Build Plate Adhesion Параметр, который создает конструкции для лучшей адгезии детали к столу. Рекомендуется использовать один из трех параметров (raft, skirts, brim).

После настройки параметров печати модели можно нажимать на кнопку «Slice». Во вкладке «Preview» будет отображена модель, разбитая на отдельные слои, которые будет печатать 3D-принтер.

999.jpg

рис.9 Готовый G-code

Далее готовый G-code можно экспортировать на flash-накопитель и начинать печать.

Итог

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


Фонд «Beyond Curriculum» публикует цикл материалов в рамках проекта «Beyond Robotics» при поддержке государственно-частного партнёрства «Шеврон» и Посольства США в Казахстане.