Управление шаговым двигателем с помощью энкодера

Jomei
Offline
Зарегистрирован: 22.08.2014

Уважаемые профессионалы. У меня есть ШД, энкодер, драйвер, имеющий входы DIR, PUL, ENA. Мне нужно с помощью энкодера управлять ШД по алгоритму: крутим энкодер вправо-вал двигателя также 

поворачивается вправо, крутим влево- вал крутится влево, шаг на шаг. Есть Arduino Diecimila mega 168, для этой задачи, наверное, достаточный. А есть еще программатор и mega 8 пару штук. Опыт программирования начальный С. Наверное, подобная задача уже давно реализована, но найти что-то в сети не получилось. Прошу помочь.

С уважением, Jomei Karen.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Выкинуть Ардуину.
2. Установить резисторы привязки step  и dir к питанию. допустим на 10к (если их ещё нет )
3. Средний контакт энкодера на землю, остальные два  на step  и dir.
4. Крутить энкодер.
5. Будет нечётко "ходить" - подвесить по 1000 пик на step  и dir.

Предлагаю начать тренировку на старом дисководе.....
То что надо подать питание и EN я думаю очевидно.....

https://www.youtube.com/watch?v=HeILJPjSQ_Y

 

Jomei
Offline
Зарегистрирован: 22.08.2014

Спасибо trembo но вы меня не совсем  поняли, на ардуино подключон энкодер и он крутится постоянно, на один обр 20000 имплс так же подключаны датчики, при нажатии на первый датчик ардуино начинает  считывать импульсы с энкодера, и только через один польный оборот экодера начинает крутиться первый шд, и еще  через один оборот начинает крутиться второй шд.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Хорошо.

Импульсы считете Ардуиной. Два входа.
И передаёте на выходы когда вам надо двигаться. Два выхода.
С датчиками логика- ваша. Только задержки не юзайте.

Jomei
Offline
Зарегистрирован: 22.08.2014

ок, а есть у вас какой нибудь пример ?