Помощь с ENCODEROM

05.01.2019
1
0
1
#1
Всем привет.

Помогите , пжл))
Что имею:
2 оси, на каждой по такому набору.
1. Диск с прорезями ( 25 шт на оборот, диаметр 25 мм)
2. Сдвоенный энкодер оптический. ( т.е. в ардуину входит 2 пина)
3. Шаговый двигатель ( драйвер L298N, но планирую поменять на DRV8825)
4. Физический ограничитель угла поворота в видео металлического стопора, который не дает поворачиваться дальше.

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

Например,
Двигатель крутится.
Если задержка между тиками (переходами из 0 в 1 или из 1 в 0 ) больше скольки-то милисекунд, то он считает это нулевой точкой и отправляет на 20 шагов в обратную сторону.

Либо так.
Если скорость вращения энкодера 0 , то считать , что ось встретилась с упором и это начальная точка, а потом прибавить 20 шагов в обратную строну.