Сообщение от Phantom
Заменил все четыре вывода на восьмибитный ШИМ, использовав два таймера AVR с синхронным запуском. Таким образом появились следующие возможности:
1) можно уменьшить мощность, чтобы уменьшить нагрев;
2) можно дробить целые шаги не только на половинчатые, но и на меньшие.
Пробовал шагать по 1/32, 1/16, 1/8 и 1/4 шагов. Работает, но не чётко, чётко встаёт только в целые и половинчатые шаги. Наверняка это можно было понять, почитав теорию и даташит на двигатель, но пощупать руками и посмотреть глазами - это ж другое дело. Кстати сказать, вроде бы я искал даташит на этот двигатель в прошлом году и не нашёл. Он из принтера, бумагу протягивал.
|
Запустить движок в шаговом или 1/2 шаговом режиме не сложно. Микрошаг полагаю не такая простая вещь. Двигатель это индуктивность и она при протекании тока запасает энергию в своём магнитном поле. Этот момент наверно нужно как-то учитывать.
Микрошаг не пробовал делать через ШИМ, потому что уже есть готовые микросхемы allegro с микрошагом которые применяются в 3d принтерах, они достаточно распространены.
Тема плавно перетекла в С++