G28 G-код: Домой или в исходное положение

G28 G-код

Команда G28 G-кода приводит оси вашего станка в исходное нулевое положение. Читайте дальше, чтобы узнать все о команде G28!

G-код — это язык программирования на основе RS274 (стандарт ISO 6983-1:2009), который используется в таких машинах, как 3D-принтеры, станки с ЧПУ и лазерные граверы. По сути, это команды, которые интерпретирует встроенное программное обеспечение принтера, чтобы он работал так, как вам нужно. Буква «G» в G-коде — это одна из командных букв RS274, существуют и другие буквенные коды (‘M’, ‘S’ и другие). Однако, когда кто-то говорит «G-код», он обычно имеет в виду язык RS274 в целом.

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

Каждая строка G-кода может содержать несколько команд, а некоторые команды работают только с определенными координатами, которые идут после начальной команды. Например, вы не можете просто использовать команду G0. Вместо этого необходимо указать координаты, например, G0 X10 Y10, что дает команду принтеру быстро переместиться на 10 единиц по осям X и Y. Для справки, каждое задание на печать или обработку может содержать сотни, если не тысячи, строк G-кода.

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

Как использовать

Используйте Pronterface или другой терминал G-кода для отправки G-кода на ваш станок
Используйте Pronterface или другой терминал G-кода для отправки G-кода на ваш станок (Источник: GitHub)

Станки с ЧПУ, включая 3D-принтеры, которые используют шаговые двигатели, определяют свое положение, подсчитывая расстояние, которое они прошли за все время. Существуют машины с обратной связью по положению, но на момент написания этой статьи они являются редкими или дорогостоящими и не рассматриваются здесь. Начальное положение — X0, Y0 и Z0, и все движения станка будут регистрироваться относительно этой начальной точки.

В 3D-принтере команда G28 возвращает все оси движения вашей машины в начальное положение, толкая все каретки по осям X, Y и Z к их конечным упорам. Конечный упор — это сенсорное устройство, которое сигнализирует о достижении конца пути по оси. Это может быть достигнуто несколькими способами, хотя существует два основных подхода.

Первый метод

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

Второй метод

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

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

С помощью терминала

Хотя многие станки с ЧПУ не имеют концевиков, они все равно реагируют на команду G28, но исходное положение является просто цифровым или вымышленным местоположением. Таким образом, отправка команды G28 на станке с ЧПУ приведет ось в последнее установленное или записанное исходное положение.

Центр этого ЧПУ на поверхности стола относительно начала координат.
Центр стола относительно начала координат (Источник: Le Bear CNC & 3D)

Это может показаться сложным, но использовать эту команду G-кода очень просто! Все, что вам нужно сделать, это открыть терминал G-кода, такой как Pronterface, веб-интерфейс Klipper или терминал, интегрированный в пользовательский интерфейс OctoPrint. Затем введите G28, а затем конкретные оси, которые вы хотите вернуть в исходное положение и ваш станок переместит указанные оси в их исходное положение. Это произойдет независимо от концевиков временных рабочих смещений, таких как те, которые устанавливаются командой G92. Команда часто выдается как часть заранее определенного набора движений, например, с помощью макросов в Klipper.

Правила использования

Хотя кажется, что команда G28 является просто сокращенной формой G0 X0 Y0 Z0, она немного сложнее и зависит от вашей машины. Выполнение команды G0 X0 Y0 Z0 приведет к одновременному перемещению всех осей до тех пор, пока головка не достигнет 0. В большинстве 3D-принтеров выполнение команды G28 приведет к поочередному перемещению осей к точке за 0, чтобы прощупать концевики и найти положение 0. Во многих станках с ЧПУ команда G28 перемещает все оси как можно быстрее в направлении 0, но в некоторых она сначала перемещает ось Z, чтобы избежать столкновения с объектами. Другие требуют выдачи команды G91 как части команды, что обычно не требуется в 3D-принтерах.

Если вы не укажете, какую ось вы хотите вернуть в исходное положение (G28 X), он вернет все оси в исходное положение. Так, например, G28 будет эквивалентен G0 X0 Y0 Z0 и укажет вашему принтеру переместиться к этим координатам (по одной оси за раз), а G28 X Z будет означать G0 X0 Z0 (указывая вашему принтеру переместить оси X и Z в их конечные положения).

Если вы используете датчик автоматической выравнивания стола (ABL), такой как BLTouch, датчик служит в качестве концевика. При использовании команды G28 с датчиком ABL ваш принтер (если его прошивка настроена правильно) будет перемещать ось Z вниз до тех пор, пока не сработает датчик ABL конечного упора.

Когда и где использовать G28

Узнайте, как использовать команду G28
Узнайте, как использовать команду G28 (Источник: Core3D Custom printers)

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

3D-принтер

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

На фрезерных станках с ЧПУ

Также можно использовать G28 в 3-осевых фрезерных станках с ЧПУ, чтобы обнулить инструментальную головку перед переворачиванием (или другим перемещением заготовки) или выключением станка. Это может упростить выравнивание заготовки на некоторых станках, особенно на более дешевых.

Оптические датчики — еще один распространенный тип датчиков возврата в исходное положение
Оптические датчики — еще один распространенный тип датчиков возврата в исходное положение (Источник: PoBlog)

Если вы используете станок с ЧПУ, не забудьте перевести станок в относительный режим с помощью G91, который выдает команды относительно инструментальной головки. В отличие от этого, абсолютный режим выдает команды относительно начала координат заготовки. Например, когда вы вводите G28 X0 Y0 Z30 в относительном режиме, инструментальная головка поднимется на 30 мм (на метрических станках) перед перемещением в исходное положение; в абсолютном режиме инструментальная головка переместится на 30 мм выше начала координат перед перемещением в исходное положение.

Это гораздо менее важно для 3D-принтеров, которые обычно выполняют возврат в исходное положение по оси Z в последнюю очередь (Marlin и Klipper) и часто не имеют на столе ничего, с чем можно столкнуться при возврате в исходное положение (в отличие от станков с ЧПУ), но это все же хорошая практика. Вы также должны помнить, что перед началом работы необходимо вернуть машину в абсолютный режим с помощью G90. Большинство слайсеров для 3D-печати сделают это за вас, но рекомендуется знать, в каком режиме находится ваша машина во время работы.

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

Распространенные проблемы

Обязательно повторно установите значения выравнивания стола после использования команды G28
Обязательно повторно установите значения выравнивания стола после использования команды G28 (Источник: Instructables)

Хотя с командой G28 не возникает много проблем, при ее использовании могут возникнуть некоторые трудности. Ниже приведены несколько проблем и решений, которые можно использовать для правильной работы команды G28:

  • Потеряны значения выравнивания стола: Если вы используете метод выравнивания стола, но значения не применяются к печати, необходимо изменить прошивку. Все, что вам нужно сделать, это добавить команду M420 S после каждого экземпляра команды G28 или, если у вас прошивка Marlin, вы можете использовать команду RESTORE_LEVELING_AFTER_G28.
  • Зонд выдвигается датчика ABL: Один пользователь упомянул, что на его принтере с двумя концевиками на оси Z зонд датчика выдвинулся, когда он отправил команду G28. В ответ разработчик прошивки Marlin порекомендовал подключить датчик ABL к контакту, отличному от Z_Min_PIN, включить Z_MIN_PROBE_ENDSTOP и отключить Z_MIN_PRBE_USES_Z_MIN_ENDSTOP_PIN в прошивке Marlin.
  • Плохо написанные макросы (Klipper): Макрос возврата в исходное положение особенно важен в конфигурационном файле Klipper, и несколько человек сообщили о проблемах с G28 в своих макросах возврата в исходное положение. Эти проблемы обычно связаны либо с возвратом в исходное положение без датчиков, либо с настройками с несколькими микроконтроллерами, такими как использование платы инструментальной головки.
Пройди небольшой тест на знание G-кода

Николай

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

Оцените автора
Добавить комментарий