Добрый день, Подскажите, как сделать "дешифровку" сигналов на шаговый двигатель, чтобы понять на сколько шагов и в какую сторону он поворачивается? Есть шаговый биполярный мотор от епсон с65. 4 вывода. Он управляет подачей бумаги. Один шаг - поворот на 1,8 градуса. Может поворачиваться как в одну, так и в другую сторону. Каким образом можно декодировать сигналы, поступающие на шаговый двигатель, чтобы понять на сколько и в какую сторону он повернулся?
Вопрос изначально не совсем корректно поставлен. Так как этот двигатель шаговый, то ты сам определяешь насколько ему надо повернуться. Например ему надо сделать полный оборот - 360 градусов. 360/1,8=200 шагов. То есть правильным образом 200 раз скоммутировав выводы обмоток двигателя - ты заставишь двигатель сделать 200 шагов. Правила коммутации смотри выше. Но это относится к ПОЛНОшаговому режиму. В ПОЛУшаговом - на один оборот приходится уже 400 шагов - 0,9 градуса\шаг. В таком режиме чуть больше крутящий момент и вдвое большая точность позиционирования при вырастающем потреблении тока. Подводя итог: тебе не надо знать насколько движок повернулся - ты сам решаешь насколько. Другое дело - блокировка вала. Если ты умудришься повесить слишком большую нагрузку на вал - то он заблокируется и будут пропуски шагов или вообще полный клин - это черевато сгоранием двигателя. Если неохота заморачиваться с правилами коммутации обмоток - посмотри "драйвер шагового двигателя". Чаще всего drv8825 или a4988. Это так называемые step/dir-драйвера. Там ты на драйвер подаешь 2 сигнала: на направление (0 - в одну сторону, 1 - в другую) и сигнал на шаг. То есть если надо сделать полный оборот - выставляешь 1 на ногу направления и 200 раз дергаешь ногу шага (0-1-0).