ПОЛЕЗНО Настройки платы GRBL (материал взят из интернета)

Статус
Закрыта
$0 – Длительность шагового импульса, микросекунд

Драйверы шаговых двигателей имеют ограничение на минимальную длительность шагового импульса. Уточните нужное значение в документации или просто попробуйте разные варианты. Желательно использовать максимально короткие импульсы, которые драйвер способен надежно распознавать. Если импульсы будут слишком длинные, вы можете столкнуться с проблемами при высоких скоростях подачи и большой частоте импульсов, возникающими из-за того, что идущие подряд импульсы начнут перекрывать друг друга. Мы рекомендуем использовать длительности в районе 10 микросекунд, что является значением по-умолчанию.
$1 - Задержка отключения двигателей, миллисекунд

Каждый раз, когда ваши шаговые двигатели заканчивают движение и останавливаются, Grbl делает задержку на указанный интервал времени перед отключением питания двигателей. ИЛИ, вы можете всегда держать двигатели включенными (с подачей питания для удержания текущего положения) установив значение этого параметра в максимально возможное значение, равное 255 миллисекунд. Еще раз, вы можете держать ваши двигатели всегда включенными, установив $1=255.

Время блокировки отключения - это задержка перед отключением двигателей, в течении которой Grbl будет держать двигатели в состоянии удержания текущего положения. В зависимости от системы, вы можете установить значение этого параметра в ноль и отключить задержку. В других случаях может потребоваться использовать значение 25-50 миллисекунд, чтобы оси успели полностью остановиться перед отключением двигателей. Отключение призвано помочь для тех типов двигателей, которые не следует держать включенными в течении долгого периода времени без какой-либо работы. И еще, имейте в виду, что в процессе отключения некоторые драйверы шаговых двигателей не запоминают на каком микрошаге они остановились, из-за этого вы можете стать свидетелем 'пропуска шагов' при отключении/включении двигателей. В этом случае просто держите двигатели всегда включенными с помощью $1=255.
$2 – Инверсия порта шаговых испульсов, маска

Этот параметр управляет инверсией сигнала шаговых импульсов. По-умолчанию, сигнал шагового импульса начинается в нормально-низком состоянии и переключается в высокое на период импульса. По истечении времени, заданного параметром $0, вывод переключается обратно в низкое состояние, вплоть до следующего испульса. В режиме инверсии, шаговый импульс переключается из нормально-высокого в низкое на период импульса, а потом возвращается обратно в высокое состояние. Большинству пользователей не требуется менять значение этого параметра, но это может оказаться полезным, если конкретные драйверы ШД этого требуют. Например, инверсией вывода шагового испульса может быть обеспечана искуственная задержка между изменением состояния вывода направления и шаговым импульсом.

Этот параметр хранит настройки инверсии осей в виде битовой маски. На самом деле вам совершенно не нужно понимать как это работает. Просто введите значение соответствующее тем осям, которые нужно инвертировать. Например, чтобы инвертировать оси X и Z, отправьте $2=5 в Grbl и после чтения настроек, параметр должен выглядеть как $2=5 (step port invert mask:00000101).
Значение параметра Маска Инверсия X Инверсия Y Инверсия Z
0 00000000 Н Н Н
1 00000001 Д Н Н
2 00000010 Н Д Н
3 00000011 Д Д Н
4 00000100 Н Н Д
5 00000101 Д Н Д
6 00000110 Н Д Д
7 00000111 Д Д Д

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

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

$4 - Инверсия сигнала включения шаговых двигателей, логический
По умолчанию, высокий уровень сигнала включения шаговых двигателей соответствует выключению, а низкий - включению. Если ваша сборка требует обратного, просто инвертируйте сигнал, введя $4=1. Отключается с помощью $4=0. (Может потребоваться перезапуск контроллера чтобы изменения вступили в силу.)

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

ЗАМЕЧАНИЕ: Если вы инвертируете входы концевых выключателей, потребуется внешний резистор подтяжки к земле, чтобы предотвратить перегрузку по току и сгоранию входа.

$6 - Инверсия входа контактного датчика, логический
По умолчанию, вход контактного датчика подтягивается к питанию встроенным резистором подтяжки Arduino. Когда сигнал на входе принимает низкий уровень, Grbl рассматривает это как срабатывание датчика. Для противоположного поведения, просто инвертируйте вход контактного датчика, введя $6=1. Отключается командой $6=0. Может потребоваться перезапуск контроллера, чтобы изменения втупили в силу.

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

$10 - Status report, mask
Параметр определяет какие данные реального времени вернет Grbl, когда пользовател запрашивает статус командой '?'. Эта данные включают в себя текущее состояние, текущие координаты, текущую скорость подачи, значения на входах, текущие переопределенные значения, состояния буферов, и номер выполняемой команды G-кода (если было включено при компиляции).

По-умолчанию новая реализация вывода отчета в Grbl v1.1+ включает в себя вывод информации практически обо всем в стандартном выводе статуса. Множество данных скрывается и выводятся только тогда, когда их значение меняется. Это существенно увеличивает производительность по сранению со старым способом и позволяет значительно быстрее получать обновленные данные о станке, причем в большем объеме. Документация на инферфейс в общих чертах рассказывает, как это работает, хотя в основном она предназначена только для разработчиков GUI или люопытных.

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

Текущие координаты могут быть настроены на вывод либо машинных координат (MPos:), либо рабочих (WPos:), но не обеих одновременно. Включение рабочих координат полезно в некоторых сценариях при прямом управлении через последовательный терминал, но машинные координаты должны использоваться по-умолчанию.
Может быть включен вывод информации об использования буффера в планировщике и приемнике последовательного порта Grbl. При этом показывается количество блоков или байт, доступных в соответствующем буффере. Это, как правило, нужно для оценки производительности Grbl при тестировании потоковых интерфейсов . Эту опцию по-умолчанию следует отключить.
Используйте таблицу ниже для определения включаемых/отключаемых параметров. Просто сложите значения в строках, содержащих включаемые параметры и сохраните в Grbl полученное значение. Например, отчет, содержащий машинные координаты без данных о буфере соответствует параметру $10=1. Рабочие координаты и информация о буфере соответствуют параметру $10=2.

Тип отчета Значение Описание
Тип координат 1 Включен MPos:. Отключен WPos:.
Буффер данных 2 Включен Buf: поле выводит количество свободного места в буферах планировщика и приемника последовательного порта.
 
Последнее редактирование:
Статус
Закрыта
  • Article Author
  • Article Author
  • #2
$11 - Отклонение на стыках, мм
Заданная величина отклонения на стыках, используется модулем управления ускорением для определения как быстро можно перемещаться через стыки отрезков запрограммированного в G-коде пути. Например, если путь в G-коде содержит острый выступ с углом в 10 градусов, и станок двигается к нему на полной скорости, данный параметр поможет определить насколько нужно притормозить, чтобы выполнить поворот без потери шагов.

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

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

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

$13 - Отчет в дюймах, boolean
Grbl в реальном времени выводит координаты текущей позиции, чтобы пользователь всегда имел представление, где в данный момент находится станок, а также параметры смещения начала координат и данные измерения (probing). По-умолчанию вывод идет в мм, но командой $13=1 можно изменить значение параметра и переключить выводы на дюймы. $13=0 возвращает вывод в мм.

$20 - Мягкие границы, логический
Мягкие границы это настройка безопасности, призванная помочь избежать перемещения далеко за пределы допустимой области, которое может повлечь за собой поломку или разрушение дорогостоящих предметов. Она работает за счет информации о текущем положении и пределах допустимого перемещения по каждой из осей. Каждый раз, когда Grbl отправляется G-код движения, он проверяет не произойдет ли выход за пределы допустимой области. И в случае, если происходит нарушение границ, Grbl, где бы он ни находился, немедленно выполняет команду приостановки подачи, останавливает шпиндель и охлаждение, а затем выставляет сигнал аварии для индикации проблемы. Текущее положение при этом не сбрасывается, поскольку останов происходит не в результате аварийного принудительного останова, как в случае с жесткими границами.

ЗАМЕЧАНИЕ: мягкие границы требуют включения поддержки процедуры поиска домашней позиции и аккуратной настройки максимальных границ для перемещения, поскольку Grbl нужно знать где находятся допустимые границы. $20=1 для включения, и $20=0 для отключения.

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

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

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

$22 - Поиск начальной позиции, логический
Аааа, поиск начальной позиции. Для тех, кто только знакомится с миром ЧПУ: процедура поиска начальной позиции используется для аккуратного и точного поиска заранее известной точки станка каждый раз после включения Grbl между сеансами работы. Другими словами, вы всегда, в любой момент времени точно знаете где находитесь. Собирались ли вы только начать работу или перешли к следующей операции, а в это время отключилось электричество, в любом случае Grbl перезапуститься и понятия не будет иметь где он сейчас находится. Вам остается только выяснять, а где же вы все-таки сейчас находитесь. При наличии начальной позиции, у вас всегда есть эталонная точка отсчета, так что все, что в этом случае требуется, это запустить процедуру поиска начальной точки и продолжить работу с того места, где остановились.

Для настройки процедуры поиска начальной позиции вам потребуется наличие надежно закрепленных концевых выключателей в некоторой точке, на которые нельзя наткнуться или сдвинуть, в противном случае точка отсчета может быть сбита. Обычно они устанавливаются в самых дальних точках в направлении +x, +y, +z на каждой из осей. Соедините концевые выключатели с соответствующими выводами и землей, так же как и концевые выключатели аппаратных границ и задействуйте поиск начальной позиции. Если интересно, то вы можете использовать граничные выключатели И для аппаратных границ, И для поиска начальной позиции. Они прекрасно работают вместе.

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

Также следует отметить, что при задействованной процедуре поиска начальной позиции Grbl блокирует выполнение команд перемещения G-кода до выполнения поиска начальной позиции. Имеется в виду отсутствие перемещения по осям, пока не будет отключена блокировка ($X), но об этом чуть позже. Большинство, если не все контроллеры СЧПУ, ведут себя аналогично, делается это, в основном, для безопасности, чтобы не позволить оператору допустить ошибку позиционирования, что довольно просто, и расстроиться, когда работа будет загублена. Если вас это раздражает или вы обнаружили какие-то странные ошибки, пожалуйста, дайте нам знать, и мы попытаемся поработать над этим и сделать так, чтобы все были счастливы.

ЗАМЕЧАНИЕ: В файле config.h находятся множество других настроек, ориентированных на продвинутых пользователей. Вы можете отключить блокировку при старте, указать с каких осей начать процедуру поиска, в каком порядке по ним перемещаться, а также многое другое.
 
Последнее редактирование:
  • Article Author
  • Article Author
  • #3
$23 - Инверсия направления начальной точки, маска
По-умолчанию, Grbl предполагает, что концевые выключатели начальной точки находятся в положительном направлении, он выполняет сначала перемещение в положительном направлении по оси Z, затем в положительном направлении по осям X-Y, перед тем как точно определить начльную точку медленно перемещаясь назад и вперед около концевого выключателя. Если у ващего станка концевые выключатели находятся в отрицательном направлении, инверсия направлени начальной точки изменяет направление осей. Она работает точно так же, как и макси инверсии порта шаговых импульсов или инверсии порта направления, все что вам нужно это указать значение из таблицы, указывающее какие оси нужно инвертировать для поиска в противоположном направлении.

$24 - Скорость подачи при поиске начальной точки, мм/мин
Процедура поиска начальной точки сначала ищет концевые выключатели с повышенной скоростью, а после того как их обнаружит, двигается в начальную точку с пониженной скоростью для точного определения ее положения. Скорость подачи при поиске начальной точки - это та самая пониженная скорость. Установите ее в некоторое значение, обеспечивающее повторяемое и точное определение местоположения начальной точки.

$25 - Скорость поиска начальной точки, мм/мин
Скорость поиска начальной точки - это начальная скорость с которой контроллер пытается найти концевые выключатели начальной точки. Откорректируйте на любое значение, позволяющее переместиться к начальной точке за достаточно малое время без столкновения с концевыми выключателями из-за слишком быстрого к ним перемещения.

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

$27 - Отъезд от начальной точки, мм
Чтобы сосуществовать с возможностью отслеживания жестких границ, в случаях, когда для поиска начальной точки используются те же концевые выключатели, процедура поиска после завершения определения положения начальной точки выполняет перемещение от концевых выключателей на указанное расстояние. Другими словами, это предотвращает непреднамеренное срабатываение жестких границ по окончании процедры поиска.

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

$31 - Минимальные обороты шпинделя, Об/мин
Задает обороты шпинделя, соответствующие минимальному напряжению на выходе ШИМ, равному 0.02V (0В означает отключение). Меньшие значение оборотов будут приняты Grbl, но напряжение на выходе ШИМ не будет меньше 0.02V, за исключением случая равенства нулю. Если равно 0, то шпиндель отключен и выход ШИМ всегда равен 0В.

$32 - Режим лазера, логический
Если включен, то Grbl, в случае, когда обороты шпинделя (мощность лазера) меняются командой S, будет продолжать движение от точки к точке в соответствии с заданной последовательностью команд G1, G2, или G3. Значение скважности ШИМ, отвечающего за управление оборотами шпинделя, будет меняться в процессе движения сразу же, без выполнения остановки. Обязательно прочтите руководство Grbl по работе в режиме лазера и документацию на ваш лазер перед включением данного режима. Лазеры очень опасны. Они многут мгновенно лишить вас зрения или стать причиной пожара. Grbl, как и указано в его GPL лицензии, не несет никакой ответственности за любой вред, нанесенный в результате использования данной программы.

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

$100, $101 and $102 – [X,Y,Z] шагов/мм
Grbl нужно знать на какое расстояние каждый шаг двигателя в реальности перемещает инструмент. Для калибровки соотношения шагов/мм для вашего станка вам нужно знать следующее:

Перемещение в мм, соответствующее одному обороту вашего двигателя. Это зависит от размер шестерней ременной передачи или шага винта.
Количество полных шагов на один оборот двигателя (обычно 200)
Количество микрошагов на один шаг для вашего контроллера (обычно 1, 2, 4, 8, или 16). Совет: Использование больших значений микрошага (например, 16) может уменьшить крутящий момент вашего двигателя, так что используйте минимальное значение, обеспечивающее нужную точность перемещения по осям и удобные эксплутационные характеристики.
После этого значение шаг/мм может быть вычислено по формуле: шагов_на_мм = (шагов_на_оборот*микрошагов)/мм_на_оборот

Рассчитайте данные значения для каждой из осей и запишите настройки в Grbl.
 
  • Article Author
  • Article Author
  • #4
$110, $111 and $112 – [X,Y,Z] Максимальная скорость, мм/мин
Эти параметры задают максимальную скорость, с которой можно перемещаться по каждой из осей. Когда Grbl планирует перемещение, он проверяет индивидуально для каждой из осей, будет или нет превышана ее максимальная скорость. Если будет, что он замедлит движение, чтобы максимальное значение скорости не превышалось. Это означает, что каждая из осей имеет свою максимальную скорость, что необычайно полезно для ограничения скорости, как правило, более меденной оси Z.

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

ЗАМЕЧАНИЕ: Эти значения также определяют максимальную скорость перемещения при выполненнии команды G0.

$120, $121, $122 – [X,Y,Z] Ускорение, мм/сек^2
Эти параметры задают параметры ускорения в мм/сек за секунду. Попросту говоря, меньшее значение делает Grbl более плавным в движении, в то время как большее приводит к боле резким движениям и достижению требуемой скорости подачи гораздо быстрее. Как и в случае максимальных скоростей, каждая из осей имеет свое собственное значение ускорения, которые независыми друг от друга. Это означает, что в случае многоосевого перемещения ускорение будет соответствовать самой медленной из движущихся осей.

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

$130, $131, $132 – [X,Y,Z] Максимальное перемещение, мм
Эти параметры задает максимальную дистанцию перемещения в мм от одного конца каждой из осей до другого. Они имеет смысл только если вы задействовали мягкие границы (и поиск начальной точки), поскольку используются только модулем проверки мягких границ для определения выхода за пределы допустимой области в процессе перемещения.
 
Статус
Закрыта
Сверху Снизу