mail.ru
Gistroy - полный лазерный и фрезерный контроль

Настройка и команды GRBL: Подробный гайд

Перед началом работы с Grbl рекомендуется подключиться к нему через терминал, используя последовательный порт на ваше усмотрение. Необходимо назначить скорость передачи данных (baud rate) на уровне 115200 и формат фрейма на 8 бит, с параметром no parity, то есть без проверки четности и с одним стоп-битом (1-stop bit). Когда установится соединение, появится следующая строка Grbl:

Grbl 1.1d ['$' for help]
Чтобы получить список команд и настроек Grbl, нужно ввести символ "$" и нажать Ввод (Enter). Появится сообщение с перечислением доступных системных команд, начинающихся с символа "$".

[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
Они используются для настройки, просмотра и изменения параметров, состояний и режимов работы Grbl, а еще для запуска процесса выставления нулевых позиций.

Помимо этого, в Grbl есть четыре управленческие команды в реальном времени, и их можно выполнить всегда, независимо от времени и текущего состояния Grbl. Также можно мгновенно изменить его поведение или вывести отчетность о важнейших данных в реальный момент, например, о текущей позиции (DRO).

Настройки GRBL

Чтобы вывести текущие системные настройки, необходимо ввести команду "$$" и нажать Ввод (Enter). Эти настройки постоянные и их значения всегда сохраняются в EEPROM. При отключении и последующем включении питания Arduino вновь произойдет загрузка сохраненных данных настроек.

Обратите внимание, каждая настройка обозначается символом "x" в выражении "$x=val", где "val" представляет значение этой настройки. Описания, что это за настройка теперь не прилагаются (в версии Grbl v1.1+). Это сделали, чтобы немного "почистить" ценную флэш-память и внедрить новые функции. Однако, многие графические интерфейсы (GUI) иногда предоставляют такие описания, что, несомненно, удобно.

Базовый пример ответного кода при вводе в консоль команды "$$" ниже:

$0=10
$1=25
$2=0
$3=0
$4=0
$5=0
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=1
$23=0
$24=25.000
$25=500.000
$26=250
$27=1.000
$30=1000
$31=0
$32=0
$100=250.000
$101=250.000
$102=250.000
$110=500.000
$111=500.000
$112=500.000
$120=10.000
$121=10.000
$122=10.000
$130=200.000
$131=200.000
$132=200.000

$x=val – Сохранение настроек Grbl

Команда $x=val применяется для сохранения, а также изменения настроек Grbl, и ее можно выполнить через терминальную программу, подключаясь к Grbl по последовательному порту. Однако, многие графические интерфейсы предоставляют данную возможность в удобном виде.

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

$0=10 (Step pulse time)
Если все прошло успешно, Grbl ответит 'ok', новые настройки будут сохранены в EEPROM и будут использоваться вплоть до следующего их изменения. Вы можете перепроверить, что Grbl получил и сохранил верное значение параметра, повторно введя команду $$ для просмотра системных настроек.
!
Отличия между версиями 0.9 и 1.1:
  • $10 - изменился вывод статуса команды
  • $30 - максимальные обороты шпинделя
  • $31 - минимальные обороты шпинделя
  • $32 - работа в режиме лазера.

$0 – Импульс шага, микросекунды

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

$0=10 (Step pulse time)

$1 - Задержка до отключения двигателя, миллисекунды

Когда ШД останавливаются, Grbl задерживает их отключение на определенное время. При желании можно удерживать их включенными, чтобы поддерживать позицию, для этого можно поставить максимальное время 255 миллисекунд. Также можно поставить $1=255, чтобы все двигатели всегда были включены.

$1=255 (Step idle delay)
Период блокировки ШД - это время, когда Grbl удерживает их в блокировке перед тем, как отключить. Можно поставить егоя на ноль, чтобы отключить блокировку, или на 25-50 миллисекунд, для гарантии полной остановки осей перед тем, как двигатель отключится. Это помогает предотвратить нежелательное воздействие длительной работы некоторых видов двигателей. Еще надо учитывать, что есть шаговые драйверы, которые не запоминают, на каком микрошаге они остановились, и при повторном включении возникают "потерянные" шаги. Если вы хотите избежать таких проблем, вы можете держать шаговые двигатели включенными через установку $1=255.

$2 – Инвертирование порта шага, маска

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

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

Чтобы включить инвертирование, нужно указать маску инвертирования, которая определяет, какие оси будут инвертированы, в виде битовых меток. Знать принцип работы этого процесса не обязательно, достаточно ввести значение настройки для нужных осей. К примеру, для инвертирования оси X и Z, можно использовать команду $2=5 в Grbl, и тогда настройка должна выглядеть как $2=5 (маска инвертирования порта шага (step port invert mask): 00000101).

$2=0 (Step pulse invert)

$3 - Инвертирование направления порта, маска

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

Для изменения направления движения нужных осей используется маска инвертирования направления, которая также использует битовые маски для определения осей, подлежащих инвертированию. Для настройки данной опции, достаточно отправить значение для каждой инвертируемой оси, используя таблицу соответствий значений. Допустим, если требуется изменить направление движения оси Y, следует отправить в Grbl значение $3=2. После этого настройка будет выглядеть как $3=2 (маска инвертирования порта направления (dir port invert mask): 00000010).

$3=6 (Step direction invert)

$4 - Инвертирование сигнала включения шагового двигателя, логический тип данных (булево значение)

По умолчанию, для отключения шагового двигателя необходимо установить сигнал включения на высокий уровень, а для его включения - на низкий. Однако, если требуется изменить эту настройку, то можно легко поменять состояние включения шагового двигателя на противоположное, применив команду "$4=1". Чтобы отключить шаговый двигатель, нужно использовать команду "$4=0". Стоит учесть, что после изменения настроек, может потребоваться перезагрузка для их корректной работы.

$4=0 (Invert step enable pin)

$5 - Инвертирование сигналов концевых выключателей, логический тип данных (булево значение)

По умолчанию в Grbl входы концевых выключателей включены с использованием внутреннего подтягивающего резистора Arduino и находятся в состоянии "высокого уровня". Однако, если вам нужно изменить эту логику на противоположную, то можно инвертировать входы концевых выключателей, отправив команду $5=1. Если же вы захотите отключить инверсию, используйте команду $5=0. Обратите внимание, что для применения изменений может потребоваться перезагрузка устройства.

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

$5=1 (Invert limit pins)

$6 - Инвертирование контакта датчика, булево значение

По умолчанию датчик удерживает контакт на высоком уровне, используя внутренний подтягивающий резистор Arduino. Если контакт переводится в состояние низкого уровня, Grbl регистрирует это как активацию датчика. Если нужно изменить это поведение, то можно инвертировать контакт, отправив команду $6=1. Чтобы отключить инверсию, введите $6=0. После внесения изменений возможно потребуется перезагрузить питание, для их вступления в силу.

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

$6=0 (Invert probe pin)

$10 - Отчёт о статусе, маска

Команда "?" позволяет получить реальные данные о состоянии системы Grbl, включая текущую позицию, скорость подачи, состояние выводов и буфера, значения переопределения, и номер строки G-кода, которую система выполняет.

Начиная с версии Grbl v1.1+, отчетность включает практически всю информацию, доступную в стандартном отчете о состоянии системы, но большая часть данных стала скрытой и появляется только при внесении изменений. Это обеспечивает более эффективную и быструю отчетность, если сравнивать со старыми версиями Grbl.

Для упрощения отчетности и приведение ее в более последовательный вид, Grbl v1.1 включило всего две настройки. Они предназначены для настройки системы пользователями и разработчиками:

  • Отчетность включает в себя информацию о текущем состоянии программы, позиции, скорости подачи, состоянии выводов, значениях переопределения, состоянии буфера и номере строки G-кода. Отчетность может быть настроена на отображение машинных или рабочих координат, но не может отображать обе позиции одновременно. Отображение рабочих координат полезно при взаимодействии с пользователем через последовательный терминал.
  • Также можно включить отображение данных об использовании планировщика и буфера последовательного приема, что позволяет оценить производительность Grbl при тестировании потокового интерфейса. Однако эта настройка по умолчанию отключена. Для включения или выключения настроек отчетности нужно добавить соответствующие значения и сохранить их. Например, если нужен отчет о машинных координатах без данных буфера, то значение настройки будет $10=1. Если нужен отчет о рабочих координатах и данных буфера, то значение настройки будет $10=2.

Таблица настроек отчетности приведена ниже. Для включения или выключения опций надо добавить соответствующее значение и сохранить его, отправив настройки Grbl. Например, для отчета о машинных координатах без данных буфера необходимо использовать значение $10=1, а для отчета о рабочих координатах и данных буфера - значение $10=2.

В целом, отчетность в Grbl v1.1+ является более удобной и эффективной, и может быть настроена, используя несколько простых настроек для удовлетворения нужд пользователей и разработчиков.

$10=2 (Status report options)

$11 - Отклонение соединения, мм

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

Расчет значения Junction Deviation довольно сложный, однако понятно, что более высокие значения обеспечивают более быстрое движение, но при этом риск потери шагов растет. Соответственно, более низкие значения сделают менеджер ускорения более осторожным, и это приводит к медленному и аккуратному прохождению углов. Когда станок не может проходить повороты безопасно, следует снизить значение Junction Deviation, чтобы уменьшить скорость при прохождении поворота. Если же необходимо увеличить темп прохождения соединений, этот параметр следует увеличить.

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

$11=0.010 (Junction deviation)

$12 – Допуск дуги, мм

Grbl разбивает кривые и спирали G2 / G3 на множество маленьких линий, для гарантии точности отслеживания кривой, которая никогда не будет ниже определенного порога - 0,002 мм. Обычно, не приходится настраивать этот параметр, так как большинство станков с ЧПУ имеют точность, превосходящую это значение. Однако, если круги слишком неточные или прохождение дуг слишком медленное, можно поменять этот параметр. Уменьшение значения допуска дуги улучшит ее точность, но может повлечь за собой проблемы с производительностью, так как мелких линий, создаваемых Grbl, станет больше.

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

$12=0.002 (Arc tolerance)

$13 - Отчет в дюймах, булево значение

Grbl предоставляет удобную функцию отслеживания позиционирования станка в режиме реального времени, позволяющую оператору точно определять местоположение и параметры смещения координат. В первоначальных настройках эта функция работает в миллиметрах, однако вы можете легко переключить ее на дюймы, отправив команду $13=1. Итак, вы получите отчет о позиции в дюймах. При необходимости вернуться к миллиметрам, достаточно отправить команду $13=0.

$13=0 (Report in inches)

$20 - Мягкие пределы, булево значение

Команда $20, также известная как "мягкие пределы", представляет собой важную функцию безопасности в контроллере Grbl. Она позволяет предотвратить превышение границ перемещения станка, избежать аварий и сохранить целостность оборудования.

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

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

Для включения функции "мягкие пределы", необходимо установить значение параметра $20=1. В случае, если требуется отключить эту функцию, нужно установить $20=0.

$20=0 (Soft limits enable)

$21 - Жесткие пределы, булево значение

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

В контроллере Grbl для подключения жестких пределов достаточно присоединить нормально разомкнутый концевой выключатель к выводу и земле. $21=1 включает жесткие пределы, а $21=0 - отключает их. Если требуется проверка границы на обоих концах хода одной оси, просто присоедините два выключателя параллельно к выводу и земле, чтобы при сработке одного из них срабатывал жесткий предел.

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

$21=0 (Hard limits enable)

$22 - Определение нулевой (начальной) точки, булево значение

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

Чтобы настроить установку начального положения для Grbl, нужно установить концевые выключатели в фиксированном положении в крайней точке в +x, +y, +z каждой оси и подключить их к контактам ограничителей и заземлению. Можно использовать концевые выключатели для жестких ограничений и установки нулевой точки одновременно.

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

Но стоит учитывать, что когда включен режим homing, все команды G-code блокируются до выполнения homing цикла. Это важная функция безопасности для предотвращения ошибок позиционирования, которые могут испортить деталь. Если есть желание настроить этот процесс, можно ознакомиться с файлом config.h и получить дополнительные опции поиска нулевой точки для продвинутых пользователей.

$22=1 (Homing cycle enable)

$23 - Инвертирование направления движения при поиске нулевой точки, маска

Изначально Grbl предполагает, что концевые выключатели для поиска нулевой точки находятся в положительном направлении. В процессе поиска нулевой точки, он начинает двигать ось Z в положительном направлении, затем оси X-Y также в положительном направлении. Перемещаясь медленно вперед и назад вокруг выключателя, он точно определяет нулевую точку. Если в станке есть концевой выключатель в отрицательном направлении, то маска направления поиска нулевой точки может инвертировать направление осей. Это работает аналогично маске инверсии направления порта шага и направления. Для этого необходимо отправить значение из таблицы, указав, какие оси следует инвертировать и искать в противоположном направлении.

$23=3 (Homing direction invert)

$24 - Скорость перемещения при поиске нулевой точки в мм/мин

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

$24=250.000 (Homing locate feed rate)

$25 - Скорость обнаружения при поиске нулевой точки, мм/мин

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

$25=3000.000 (Homing search seek rate)

$26 - Задержка при поиске нулевой точки (устранение дребезга), миллисекунды

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

$26=230 (Homing switch debounce delay)

$27 - Значение отступа при поиске нулевой точки, мм

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

$27=3.000 (Homing switch pull-off distance)

$30 - Максимальная скорость шпинделя, об/мин (RPM)

Команда $30 позволяет установить максимальную скорость вращения шпинделя для выходного сигнала ШИМ с максимальным напряжением 5В в Grbl. Хотя Grbl допускает установку скоростей шпинделя выше максимальной, выход ШИМ все равно не будет превышать 5В. По умолчанию, Grbl использует линейную зависимость между максимальной и минимальной скоростями вращения и выходным сигналом ШИМ. Это реализуется с помощью 255 шагов, изменяющих значение ШИМ от 5В до 0,02В. Если ШИМ-сигнал равен 0В, то шпиндель выключен. Настройки для более тонкой настройки этой функции доступны в файле config.h.

$30=255 (Maximum spindle speed)

$31 - Минимальная скорость шпинделя, об/мин (RPM)

Команда $30 задает минимальное значение выходного сигнала ШИМ на пине, которое соответствует скорости вращения шпинделя. Если значение скорости ниже установленного минимума, то сигнал ШИМ все равно не опустится ниже 0,02В, за исключением случаев, когда скорость шпинделя равна нулю. При этом, если скорость шпинделя равна нулю, он выключается, а выходной сигнал ШИМ равен 0В. Обратите внимание, что Grbl предоставляет возможность дополнительной настройки этой функции в файле config.h.

$31=0 (Minimum spindle speed)

$32 - Режим лазера, логическое значение

Если включен режим лазера в Grbl, то система продолжит непрерывно выполнять команды движения G1, G2 или G3 с установкой скорости вращения шпинделя S для лазера. При этом сигнал ШИМ будет мгновенно обновляться на каждом шаге движения, не останавливаясь. Однако перед использованием этого режима необходимо ознакомиться с документацией Grbl и вашего лазерного устройства, так как лазеры являются опасными и могут нанести вред здоровью и имуществу. Отметим, что Grbl не несет ответственности за возможные проблемы, связанные с использованием данного режима, в соответствии с лицензией GPL.

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

$32=1 (Laser-mode enable)

$100, $101, $102 - количество шагов на мм для осей X, Y, Z

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

  • Расстояние в миллиметрах, которое пройдет инструмент за один оборот шагового двигателя. Зависит от шестеренки привода или шага винта передачи.
  • Количество полных шагов на один оборот шагового двигателя (обычно 200).
  • Количество микрошагов на один полный шаг, которое устанавливается на контроллере (обычно 1, 2, 4, 8 или 16). Советуем использовать меньшее значение микрошагов, чтобы обеспечить достаточную точность перемещения по оси и приятные условия работы, так как использование высоких значений микрошагов может уменьшить крутящий момент шагового двигателя.

Чтобы определить количество шагов на миллиметр, используйте следующую формулу:
steps_per_mm = (steps_per_revolution*microsteps) / mm_per_rev

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

$100=88.888 (X-axis travel resolution)
$101=200.506 (Y-axis travel resolution)
$102=200.506 (Z-axis travel resolution)

$110, $111, $112 - Максимальная скорость по осям X, Y, Z мм/мин

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

Для определения максимальных настроек скорости для каждой оси, можно провести тестирование каждой оси по отдельности, постепенно увеличивая настройки максимальной скорости и перемещая ее. К примеру, для тестирования оси X можно отправить команду Grbl G0 X50, имея достаточную дистанцию перемещения, чтобы ось ускорилась до своей максимальной скорости. При достижении порога максимальной скорости, шаговые двигатели начнут замедляться, издавая небольшой шум, но они не должны повредиться. Настройку следует установить на 10-20% ниже этого значения, чтобы учесть износ, трение и массу вашей заготовки или инструмента. Затем этот процесс следует повторить для других осей.

Важно знать, что эта настройка максимальной скорости также устанавливает скорость перемещения G0.

$110=7500.000 (X-axis maximum rate)
$111=7500.000 (Y-axis maximum rate)
$112=1000.000 (Z-axis maximum rate)

$120, $121, $122 - Ускорение X, Y, Z мм/сек 2

Настройки ускорения для каждой оси в мм/сек 2 определяют скорость изменения скорости движения. Уменьшение значения ускорения сделает движение более плавным, но медленным, тогда как увеличение позволяет достигать желаемой скорости быстрее и делает движение более точным. Каждая ось имеет своё собственное значение ускорения, это значит, что скорость многокоординатного движения будет определяться самой медленной осью.

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

$120=1300.000 (X-axis acceleration)
$121=1300.000 (Y-axis acceleration)
$122=1000.000 (Z-axis acceleration)

$130, $131, $132 - Максимальное перемещение, мм для каждой оси

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

$130=330.000 (X-axis maximum travel)
$131=320.000 (Y-axis maximum travel)
$132=100.000 (Z-axis maximum travel)

Команда обнуление координат в GRBL

G10 P0 L20 X0 Y0

Пример кода для драйверов шагового двигателя A4988 и DRV8825

Для A4988
  • $100=100 (X-axis travel resolution)
  • $101=100 (Y-axis travel resolution)

Для DRV8825
  • $100=80.000 (X-axis travel resolution)
  • $101=80.000 (Y-axis travel resolution)

$0=10 (Step pulse time)
$1=255 (Step idle delay)
$2=0 (Step pulse invert)
$3=0 (Step direction invert)
$4=0 (Invert step enable pin)
$5=1 (Invert limit pins)
$6=0 (Invert probe pin)
$10=2 (Status report options)
$11=0.010 (Junction deviation)
$12=0.002 (Arc tolerance)
$13=0 (Report in inches)
$20=0 (Soft limits enable)
$21=0 (Hard limits enable)
$22=1 (Homing cycle enable)
$23=3 (Homing direction invert)
$24=300.000 (Homing locate feed rate)
$25=6000.000 (Homing search seek rate)
$26=230 (Homing switch debounce delay)
$27=3.000 (Homing switch pull-off distance)
$30=255 (Maximum spindle speed)
$31=0 (Minimum spindle speed)
$32=1 (Laser-mode enable)
$100=80.000 (X-axis travel resolution)
$101=80.000 (Y-axis travel resolution)
$102=80.000 (Z-axis travel resolution)
$110=7500.000 (X-axis maximum rate)
$111=7500.000 (Y-axis maximum rate)
$112=1000.000 (Z-axis maximum rate)
$120=1200.000 (X-axis acceleration)
$121=1200.000 (Y-axis acceleration)
$122=1000.000 (Z-axis acceleration)
$130=500.000 (X-axis maximum travel)
$131=500.000 (Y-axis maximum travel)
$132=100.000 (Z-axis maximum travel)