Видеообзор
Управление коллекторными двигателями
Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.
Схема устройства
Код программы
Для начала покрутим каждый мотор в одну, а затем другую сторону.
Код программы
Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.
Управление биполярным шаговым двигателем
Драйвер моторов может на себя также взять управления шаговым двигателем. В качестве примера подключим шаговый двигатель 42STH47-0406A.
Схема устройства
Управление без библиотек
Motor Shield поддерживает три режима управления биполярным шаговым двигателем:
Код программы
Скорость вращения шагового двигателя очень сильно влияет на развиваемый мотором момент. Убедитесь сами. Запустите этот же пример с разными значениями delayTime .
Обратите внимание, что двигатель в однофазном полношаговом режиме позволяет развить гораздо меньший момент, чем в двухфазном полношаговом режиме.
Управление через готовую библиотеку
Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper. Она скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.
Пример работы в различных режимах

| S1 | S2 | S3 | S4 | Результат |
|---|---|---|---|---|
| 1 | 0 | 0 | 1 | Мотор крутится вправо |
| 0 | 1 | 1 | 0 | Мотор крутится влево |
| 0 | 0 | 0 | 0 | Свободное вращение мотора |
| 0 | 1 | 0 | 1 | Мотор тормозит |
| 1 | 0 | 1 | 0 | Мотор тормозит |
| 1 | 1 | 0 | 0 | Короткое замыкание источника питания |
| 0 | 0 | 1 | 1 | Короткое замыкание источника питания |

Как подключить A4988 к Arduino.
Элементы платы
Драйвер двигателей
Сердце и мускулы платы — микросхема двухканального H-моста L298P.
| S1 | S2 | S3 | S4 | Результат |
|---|---|---|---|---|
| 1 | 0 | 0 | 1 | Мотор крутится вправо |
| 0 | 1 | 1 | 0 | Мотор крутится влево |
| 0 | 0 | 0 | 0 | Свободное вращение мотора |
| 0 | 1 | 0 | 1 | Мотор тормозит |
| 1 | 0 | 1 | 0 | Мотор тормозит |
| 1 | 1 | 0 | 0 | Короткое замыкание источника питания |
| 0 | 0 | 1 | 1 | Короткое замыкание источника питания |
Ключи меняем на транзисторы для регулировки скорости мотора с помощью ШИМ-сигнала.
H-мост с силовыми ключами — основная начинка микросхемы L298P для управления скоростью и направлением двигателей.
Питание
На плате расширения Motor Shield два контура питания.
Силовой контур — напряжение для питания моторов от силовой части микросхемы H-моста L298P. При отсутствии питания на силовом контуре, светодиод PWR не горит.
Цифровой контур — для питания вспомогательной цифровой логики управления микросхемой L298P и светодиодов индикации. Цифровое питание поступает на плату расширения от пина 5V управляющей платы. Если по какой-то причине напряжения на этом пине не оказалось, светодиоды индикации гореть не будут.
Если отсутствует хотя бы один из контуров питания — Motor Shield работать не будет.
Силовое питание подключается через клеммник PWR . Диапазон входного напряжения:
При подключении питания соблюдайте полярность. Неправильное подключение может привести к непредсказуемому поведению или выходу из строя платы или источника питания.
Джампер объединения питания
Motor Shield использует два контура питания: силовое и цифровое. По умолчанию для питания всей конструкции необходимо два источника напряжения:
При установки джампера в положение PWR JOIN , происходит объединение контакта Vin управляющей платформы и положительного контакта клеммника PWR . Режим объединённого питания позволяет запитывать управляющую платформу и силовую часть драйвера от одного источника питания.
При объединённом режиме напряжение может быть подано двумя способами:
При работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin управляющей платформы не рассчитана. Поэтому выбор для питания клеммника PWR предпочтительнее.
В режиме совместного питания управляющей платформы и Motor Shield, используйте входное напряжение в диапазоне 7–12 вольт. Напряжение более 12 вольт убьёт управляющую платформу. Если вы хотите работать с Motor Shield в диапазоне 5–24 вольта, используйте два отдельных источника питания.

Настройка тока двигателя на A4988
На плате драйвера предусмотрен потенциометр для регулировки тока. Для настройки понадобиться мультиметр, для замера напряжения на потенциометре.

Расположение токоограничительных резисторов и потенциометра Vref
Формула Vref для A4988 изменяется от номинала токочувствительных резисторов (Обведены на фото выше). . Обычно подписаны R050 или R100.
RS — сопротивление резистора. В моем случае RS = 0,100.
Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.
Рабочий ток двигателя равен 70% от тока удержания. Умножим полученные значения чтобы двигатель не грелся при простое.
Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
Подключаем драйвер к микроконтроллеру, включаем и меряем напряжение Vref на драйвере. Если оно не соответствует нужному нам номиналу, а оно скорее всего будет не будет соответствовать, крутим потенциометр в какую то сторону и смотрим что поменялось. Доводим до нужного нам значения и радуемся, ведь ток на драйвере теперь настроен!

Уроки Ардуино. Биполярный шаговый двигатель в системе Ардуино.
- Напряжения питания: 8-35 В
- Режим микрошага: 1, 1/2, 1/4, 1/8, 1/16
- Напряжение логики: 3-5.5 В
- Максимальный ток на фазу: — 1 А без радиатора; — 2 А с радиатором
- Защита от перегрева и короткого замыкания
- Размер: 20 на 15 мм
Где купить шаговый двигатель
Самые простые двигатели Варианты на сайте AliExpress:
- ENABLE – включение/выключение драйвера
- MS1, MS2, MS3 – контакты для установки микрошага
- RESET — cброс микросхемы
- STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
- DIR – установка направление вращения
- VMOT – питание для двигателя (8 – 35 В)
- GND – общий
- 2B, 2A, 1A, 1B – для подключения обмоток двигателя
- VDD – питание микросхемы (3.5 –5В)

Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага (см. с таблицу 1).
Таблица 1. Комбинация значений для выбора микрошага

УПРАВЛЕНИЕ МОТОРОМ HDD ОТ ARDUINO
- Двигатели с переменными магнитами (применяются довольно редко);
- Двигатели с постоянными магнитами;
- Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).
Драйвер для управления шаговым двигателем
Драйвер – это устройство, которое связывает контроллер и шаговый двигатель. Для управления биполярным шаговым двигателем чаще всего используется драйверы L298N и ULN2003.
Работа двигателя в биполярном режиме имеет несколько преимуществ:
Драйвер шагового двигателя на базе L298N
Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.

Драйвер двигателя L298N
Драйвер шагового двигателя ULN2003
Другие драйвера
Существует другой вид драйверов – STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:
- Они позволяют стабилизировать фазные токи;
- Возможность установки микрошагового режима;
- Обеспечение защиты ключа от замыкания;
- Защита от перегрева;
- Оптоизоляция сигнала управления, высокая защищенность от помех.
- STEP – импульс, который инициирует поворот на шаг/часть шага в зависимости от режима. От частоты следования импульсов будет определяться скорость вращения двигателя.
- DIR – сигнал, который задает направление вращения. Обычно при подаче высокого сигнала производится вращение по часовой стрелке. Этот тип сигнала формируется перед импульсом STEP.
- ENABLE – разрешение/запрет работы драйвера. С помощью этого сигнала можно остановить работу двигателя в режиме без тока удержания.
Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.
