- Последнее редактирование:
- Ответы: 3
Последнее редактирование:
$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: поле выводит количество свободного места в буферах планировщика и приемника последовательного порта.
Драйверы шаговых двигателей имеют ограничение на минимальную длительность шагового импульса. Уточните нужное значение в документации или просто попробуйте разные варианты. Желательно использовать максимально короткие импульсы, которые драйвер способен надежно распознавать. Если импульсы будут слишком длинные, вы можете столкнуться с проблемами при высоких скоростях подачи и большой частоте импульсов, возникающими из-за того, что идущие подряд импульсы начнут перекрывать друг друга. Мы рекомендуем использовать длительности в районе 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: поле выводит количество свободного места в буферах планировщика и приемника последовательного порта.