Основы GRBL
Ровно столько о GRBL, сколько нужно, чтобы управлять лазером. Самые важные команды, состояния и настройки.
GRBL представляет собой микропрограмму с открытым исходным кодом, которая работает на большинстве контроллеров диодных и небольших CO2-лазеров. Beam Bench взаимодействует с ней через последовательный порт. Чтобы пользоваться Beam Bench, не нужно глубоко разбираться в GRBL, но базовые знания упростят работу в ситуациях, когда он понадобится: при отладке, калибровке или выходе из аварийного состояния.
Модель
GRBL является потоковым интерпретатором. Хост (Beam Bench или панель «Консоль») отправляет по одной строке G-code. GRBL разбирает, планирует и выполняет каждую строку, подтверждая её с помощью ok или error:N.
У GRBL есть состояние станка:
| Состояние | Значение |
|---|---|
Idle | Готов к командам. |
Run | Выполняется перемещение. |
Hold | Перемещение приостановлено. Продолжить с помощью ~. |
Jog | Выполняется ручное перемещение (специальное перемещение без потоковой передачи). |
Alarm | Сработало ограничение, превышен программный предел и т. д. Перемещение невозможно до сброса состояния. |
Door | Защитная дверца открыта. |
Check | Режим пробного запуска: команды разбираются, но перемещение не выполняется. |
Home | Выполняется цикл базирования. |
Sleep | Спящий режим. |
Эти состояния отображаются в строке подключения Управление лазером.
Команды реального времени
Некоторые команды из одного символа обходят синтаксический анализатор. Они выполняются немедленно и не ставятся в очередь:
| Символ | Действие |
|---|---|
? | Запрос состояния (возвращает позицию и состояние). |
~ | Продолжить / запуск цикла. |
! | Удержание подачи (пауза). |
^X (Ctrl+X, байт) | Мягкий сброс. |
Beam Bench использует эти команды в фоновом режиме, кнопки Пауза и Остановить отправляют ! и выполняют сброс.
Настройки $
GRBL хранит конфигурацию в EEPROM, доступ к ней осуществляется через настройки $. Основные из них:
| Параметр | Значение |
|---|---|
$0 | Импульс шага, микросекунды. |
$10 | Маска отчёта о состоянии. |
$20-$23 | Программные / аппаратные ограничения, базирование. |
$30 | Максимальное значение S для шпинделя / лазера. |
$31 | Минимальное значение S для шпинделя / лазера. |
$32 | Режим лазера. |
$100-$102 | Количество шагов/mm для X / Y / Z. |
$110-$112 | Максимальная скорость (mm/min) для X / Y / Z. |
$120-$122 | Ускорение (mm/s²). |
$130-$132 | Максимальное перемещение для X / Y / Z (используется для программных ограничений). |
Выведите все настройки с помощью $$ в панели Консоль. Для $30 сохраняйте текущее значение, если только в документации контроллера не указано другое максимальное значение S. Строка $30=… является шаблоном: замените многоточие документированным значением и не вставляйте строку без изменений. В Настройки устройства установите параметр Максимальное значение S на то же значение.
Полный список см. в справочнике настроек со знаком доллара.
Лазерный режим ($32)
Параметр $32=1 включает лазерный режим GRBL. Для масштабирования мощности в зависимости от движения также требуется динамический вывод M4. При $32=1 и M4 GRBL масштабирует мощность лазера с учётом замедления и ускорения двигателя; вывод M3 с постоянной мощностью сохраняет заданную мощность во время движения.
Для гравировки с динамической мощностью включите $32=1 и используйте M4. Если в активном профиле станка выбран режим Постоянная мощность (M3), мощность не масштабируется в зависимости от движения.
Коды ошибок и аварийных состояний
Когда GRBL возвращает error:N или alarm:N, число показывает, что произошло. Наиболее распространённые коды:
| Код | Тип | Значение |
|---|---|---|
error:1 | Ошибка | Ожидалась буква команды. |
error:2 | Ошибка | Неверный формат числа. |
error:9 | Ошибка | G-code заблокирован в аварийном состоянии. |
error:20 | Ошибка | Неподдерживаемая команда. |
alarm:1 | Авария | Сработал аппаратный предел. |
alarm:9 | Авария | Не удалось выполнить базирование. |
См. Устранение неполадок по кодам ошибок GRBL.
Базирование и разблокировка
Команда $H запускает цикл базирования (перемещает станок к концевым выключателям). После базирования станок знает, где находится точка 0,0.
В аварийном состоянии станок отказывается перемещаться. Сбросьте это состояние с помощью $X (разблокировка). На панели Переместить в Beam Bench есть кнопка Разблокировать, выполняющая это действие.
Размещение задания с помощью «Начать с» и «Начало задания»
Элементы управления Начать с и Начало задания в Beam Bench переносят запланированную геометрию к выбранной опорной точке перед формированием G-code. Абсолютные координаты используют координаты рабочей области проекта, Текущая позиция привязывает её к текущему положению головки, а Пользовательское начало координат привязывает её к сохранённому пользовательскому началу координат.
При обычном запуске задания для этих режимов размещения команда G92 не формируется. Используйте элементы управления в разделе Управление лазером, а полную модель размещения см. в материале Начало задания и начало координат рабочей области.
Как Beam Bench с этим работает
Beam Bench объединяет все эти функции в один интерфейс. При обычной работе вы не видите GRBL напрямую. Панель Консоль позволяет при необходимости взаимодействовать с GRBL. Панель Диагностика соединения показывает необработанный трафик TX/RX и состояние соединения для отладки.
Связанные материалы
Шагов на миллиметр
Как контроллер преобразует шаги двигателя в физическое расстояние. Если указать это значение неправильно, размер каждой детали будет неверным.
Гальво и гантри
Две архитектуры лазерных станков с совершенно разными сильными сторонами. Знание различий поможет избежать покупки неподходящего станка.