forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Как заставить шаговый двигатель шагать (http://forum.boolean.name/showthread.php?t=20546)

Evgen 31.01.2017 10:03

Ответ: Как заставить шаговый двигатель шагать
 
Цитата:

Сообщение от Phantom (Сообщение 311625)
Заменил все четыре вывода на восьмибитный ШИМ, использовав два таймера AVR с синхронным запуском. Таким образом появились следующие возможности:
1) можно уменьшить мощность, чтобы уменьшить нагрев;
2) можно дробить целые шаги не только на половинчатые, но и на меньшие.

Пробовал шагать по 1/32, 1/16, 1/8 и 1/4 шагов. Работает, но не чётко, чётко встаёт только в целые и половинчатые шаги. Наверняка это можно было понять, почитав теорию и даташит на двигатель, но пощупать руками и посмотреть глазами - это ж другое дело. :-D Кстати сказать, вроде бы я искал даташит на этот двигатель в прошлом году и не нашёл. Он из принтера, бумагу протягивал.

Запустить движок в шаговом или 1/2 шаговом режиме не сложно. Микрошаг полагаю не такая простая вещь. Двигатель это индуктивность и она при протекании тока запасает энергию в своём магнитном поле. Этот момент наверно нужно как-то учитывать.

Микрошаг не пробовал делать через ШИМ, потому что уже есть готовые микросхемы allegro с микрошагом которые применяются в 3d принтерах, они достаточно распространены.

Тема плавно перетекла в С++

RegIon 31.01.2017 13:22

Ответ: Как заставить шаговый двигатель шагать
 
Цитата:

Сообщение от Evgen (Сообщение 311627)
Тема плавно перетекла в С++

Она и до этого была в C++ (вернее C, так как С++ для МК - оверхед)

Evgen 31.01.2017 13:26

Ответ: Как заставить шаговый двигатель шагать
 
Цитата:

Сообщение от RegIon (Сообщение 311637)
Она и до этого была в C++ (вернее C, так как С++ для МК - оверхед)

Показалось, что из болтовни перетекла... :)

Phantom 31.01.2017 21:35

Ответ: Как заставить шаговый двигатель шагать
 
Не получается у меня никакой точности на микрошагах, не уверен, что это вообще возможно, по крайней мере с этим двигателем. Возможно, получилось бы добиться лучших результатов, если бы у меня был собран мост. Для этого нужно удвоить количество транзисторов, причём нужны с прямой проводимостью, а не с обратной (не знаю правильно ли так говорить применительно к полевым транзисторам). Хотя, наверно, можно попробовать поставить транзисторы одинаковой проводимости, вот пример (правда не с мотором, но нас интересует только левая часть схемы):



Ну в общем, это не так важно, потому что мне лень это паять.

Есть и положительные результаты. Хоть и не получилось добиться высокой точности в микрошаговом режиме, зато двигатель так работает более плавно и тихо. Причём чем на большее количество шагов дробишь, тем плавнее и тише (логично в общем-то). Но крутящий момент скорее всего падает. Можно использовать разный подход в зависимости от стоящей задачи.


Часовой пояс GMT +4, время: 11:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot