$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)