нужна помощь в создании скетча

danilazebest

✩✩✩✩✩✩✩
26 Июл 2020
3
0
Заголовок темы должен отражать содержимое. Отредактируй или ветка будет удалена
Добрый день. Весьма требуется написать прошивку управления шаговым двигателем с помощью энкодера. двигатель с драйвером uln203, хочу сделать так, чтобы при вращении энкодера в одну сторону двигатель вращался влево, при вращении энкодера в другую сторону- двигатель вращался вправо, а если энкодер не трогать, то двигатель не крутиться. Сломал всю голову, уже сил нет никаких)) помогайте)
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
есть такой тестер для сервоприводов, поищите на али, для шаговых вероятно тоже найдете 1595787378946.png
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
Ну елси рассмотреть энкодер, то он не работает так как ты пишешь. Если грубо, то вращая его ты получаешь кучу нажатий на кнопку - каждый щелчок - нажатие. вращая влево у тебя буду нажатия на одну кнопку , вправо - на другую. Так вот на каждое нажатие мотор может ответить одиночным смещением в нужную сторону. На какой то угол.
Что ты смог сделать ?
1) Энкодер смог подключить? смоге понять куда он крутиться и на сколько щелчков ?
2) Можешь заставить шаговик крутиться в нужную тебе сторону на определенный угол ?
 

danilazebest

✩✩✩✩✩✩✩
26 Июл 2020
3
0
Ну елси рассмотреть энкодер, то он не работает так как ты пишешь. Если грубо, то вращая его ты получаешь кучу нажатий на кнопку - каждый щелчок - нажатие. вращая влево у тебя буду нажатия на одну кнопку , вправо - на другую. Так вот на каждое нажатие мотор может ответить одиночным смещением в нужную сторону. На какой то угол.
Что ты смог сделать ?
1) Энкодер смог подключить? смоге понять куда он крутиться и на сколько щелчков ?
2) Можешь заставить шаговик крутиться в нужную тебе сторону на определенный угол ?
1)Да
2)Да

Ну елси рассмотреть энкодер, то он не работает так как ты пишешь. Если грубо, то вращая его ты получаешь кучу нажатий на кнопку - каждый щелчок - нажатие. вращая влево у тебя буду нажатия на одну кнопку , вправо - на другую. Так вот на каждое нажатие мотор может ответить одиночным смещением в нужную сторону. На какой то угол.
Что ты смог сделать ?
1) Энкодер смог подключить? смоге понять куда он крутиться и на сколько щелчков ?
2) Можешь заставить шаговик крутиться в нужную тебе сторону на определенный угол ?
Тогда можно сделать это с помощью такого джойстика?15957896707343696017473514280684.jpg
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
да можно с помощью чего угодно сделать. главное с логикой определиться.

Заводишь переменную, которая будет увеличиваться на 1 при 1 такте в одну сторону, уменьшаться в другую аналогично.
если она не 0, то поворачиваешь шаговик в нужную сторону на переменная*кол-во градусов и все. кол-во градусов подбираешь что бы было норм.

если джойстик то делаешь так:
там будет чтение аналогового сигнала от 0 до 1023. среднее значение не точно 511 - может дрожать. можно играть скоростью, но пока бы так. если значение меньше 400, то это влево, если больше 600 то вправо.
если значение меньше 400 то 1) если вращение влево, то все ок. если вправо, то запустить влево. у многих библиотек есть вращение без остановки. вот его брать
если значение меньше 600 то 1) если вращение вправо, то все ок. если влево, то запустить вправо.
если значение между 400 и 600, то стоп машина.
 
  • Лойс +1
Реакции: danilazebest

danilazebest

✩✩✩✩✩✩✩
26 Июл 2020
3
0
да можно с помощью чего угодно сделать. главное с логикой определиться.

Заводишь переменную, которая будет увеличиваться на 1 при 1 такте в одну сторону, уменьшаться в другую аналогично.
если она не 0, то поворачиваешь шаговик в нужную сторону на переменная*кол-во градусов и все. кол-во градусов подбираешь что бы было норм.

если джойстик то делаешь так:
там будет чтение аналогового сигнала от 0 до 1023. среднее значение не точно 511 - может дрожать. можно играть скоростью, но пока бы так. если значение меньше 400, то это влево, если больше 600 то вправо.
если значение меньше 400 то 1) если вращение влево, то все ок. если вправо, то запустить влево. у многих библиотек есть вращение без остановки. вот его брать
если значение меньше 600 то 1) если вращение вправо, то все ок. если влево, то запустить вправо.
если значение между 400 и 600, то стоп машина.
Спасибо большое. Буду пробывать. Как сделаю отпишусь.