Общие определения
STEP/DIR - самый популярный в настоящее время протокол управления драйверами двигателей в станках с ЧПУ.
Этот протокол состоит из двух сигналов:
- STEP - шаговые импульсы. Каждый импульс заставляет драйвер выполнить поворот мотора на один шаг.
- DIR (Direction) - направление вращения двигателя. Когда напряжение на этой линии имеет низкий уровень, мотор вращается в одну сторону, высокий уровень - в другую.
Схематично сигналы выглядят следующим образом:

где:
tи - длительность шагового импульса;
tп - длительность паузы между импульсами.
Период сигнала STEP, как нетрудно заметить, равен сумме Ts = tи + tп.
Частота сигнала - это величина, обратная периоду. Таким образом, частота сигнала STEP равна Fs = 1/Ts.
Очевидно, что чем больше импульсов в единицу времени генерирует контроллер (то есть чем выше частота и, таким образом, меньше период), тем быстрее будет вращаться двигатель и тем выше скорость перемещения станка.
Как вычислить требуемую частоту STEP
Итак, теперь мы знаем, как устроены сигналы управления шаговыми двигателями. Приведем несколько простых формул, которые позволят нам определить максимальную частоту шаговых импульсов для нашего станка, а также оценить корректность значения ширины шагового импульса.
Частота STEP определяется, исходя из двух параметров:
- Максимальная скорость перемещения станка по оси, Vmax - обычно, это скорость холостого хода G0, так как быстрее этой скорости станок ехать не может.
- Разрешение оси, R - это количество шагов, которое должен сделать двигатель, чтобы выполнить перемещение по данной оси на 1мм. Количество шагов - это как раз количество тех самых импульсов STEP, которые генерирует контроллер.
Таким образом, формула для вычисления частоты STEP имеет простой вид:
Fs = Vmax * R
где скорость Vmax имеет размерность мм/сек, а разрешение R - шаг/мм.
Обратите внимание. В формуле выше скорость подставляется в мм/сек. Обычно на станках скорости задаются в мм/мин. Чтобы получить скорость в мм/сек, нужно скорость в мм/мин разделить на 60:
V(мм/сек) = V(мм/мин) / 60
Таким образом, финальная формула вычисления частоты сигнала STEP имеет вид:
Fs = (Vmax * R)/60
где Vmax имеет размерность мм/мин, а R - шаг/мм.
Например, если на нашем станке по оси X настроено разрешение 160 шаг/мм, а скорость холостого хода равна 12000 мм/мин, то необходимая частота STEP, которую должен генерировать контроллер, чтобы обеспечить движение станка на такой скорости, будет равна 12000*160/60 = 32000 Гц = 32кГц.
Как определить требуемую ширину шагового импульса
По умолчанию на контроллерах Инектра ширина шагового импульса tи имеет значение 10мкс. Согласно спецификации на протокол STEP/DIR минимальное значение паузы tп между импульсами должно быть не менее 0.5мкс (значение может быть разным для разных драйверов - см. документацию на Ваш драйвер). Таким образом, чтобы сигнал генерировался корректно, его период должен быть не меньше, чем tи + tп = 10 + 0.5 = 10.5мкс. Это соответствует максимальной частоте 1/10.5мск = 95.238кГц.
На следующем примере покажем, как правильно настроить необходимую длительность шагового импульса.
За исходные данные мы берем скорость холостого хода (G0) и разрешение оси. Допустим, нам необходимо двигаться на холостом ходу со скоростью 24000мм/мин, а разрешение оси составляет 320шаг/мм. Тогда требуемая частота STEP будет равна:
Fs = 24000*320/60 = 128кГц.
Определяем период шагового импульса:
Ts = 1/128кГц = 7.8125мкс.
Рекомендуемая длительность импульса вычисляется как половина периода:
tи = Ts/2 = 3.9мкс.
На паузу остается вторая половина периода, то есть tп = 3.9мкс. Это значение больше минимальной величины 0.5мкс из спецификации на протокол. Также нужно убедиться по документации на Ваш драйвер, что вычисленные значения импульса и паузы удовлетворяют его предельным параметрам.
