Motor Shield v3. Управление шаговым двигателем

Опубликовано 28.05.2011 Ведущий Филипп Болгов

Motor Shield V.3 – это дополнительный силовой модуль к широко известной плате Freeduino/Arduino. Модуль предназначен для упрощения разработки моторизированных и робототехнических устройств и позволяет управлять слаботочными двигателями следующих типов: сервоприводов, двигателей постоянного тока и шаговых двигателей. Сейчас мы продемонстрируем управление с помощью модуля Motor Shield шаговым двигателем. Благодаря тому, что вращение ротора осуществляется фиксированными шагами, без необходимости обратной связи по положению, шаговые двигатели часто применяются в различных устройствах и механизмах. Motor Shield поддерживает одновременное подключение двух шаговых двигателей, по одному на каждый клеммник, а управление двигателями осуществляется двумя драйверами L293D. Следует также отметить, что в электрической схеме Motor Shield существуют две отдельные цепи питающего напряжения: слаботочная и силовая. Для питания шаговых двигателей необходимо использовать силовую цепь. Выбор источника питания силовой части модуля осуществляется при помощи джампера питания на Motor shield: либо от источника внешнего питания 7...12 В управляющей платы Freeduino, либо от дополнительного источника постоянного напряжения 6... 24 В, подключаемого к двум клеммам разъема питания на Motor Shield. Что касается программирования, существует удобная библиотека, упрощающая работу с модулем Motor Shield, которую можно скачать с сайта разработчика. Итак, мы нашли простенькую программу, управляющую шаговым двигателем в разных режимах, и залили ее в нашу плату Freeduino. Убеждаемся, что джампер стоит в положении «питание от платы», подключаем блок питания и любуемся нашим радиолокатором. Двигатель запрограммирован для работы в четырех режимах:
SINGLE – активация одной обмотки двигателя для совершения шага;
DOUBLE – активация двух обмоток двигателя с большим вращающим моментом;
INTERLEAVE – чередование между SINGLE и DOUBLE режимом
и MICROSTEP – применение ШИМ для управления шаговым двигателем.