Motor Shield
Хотите подключить мотор к Arduino или Iskra JS?! К сожалению микроконтроллер установленный на управляющих платформах не сможет без посторонней помощи управлять большой нагрузкой. Motor Shield поможет микроконтроллеру управлять коллекторными моторами и шаговыми двигателями.
Motor Shield — это плата расширения, предназначенная для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5–24 В и максимальным током до двух ампер на канал.
Плата расширения также сможет управлять одним биполярным шаговым двигателем.
Видеообзор
Подключение и настройка
Примеры работы для Arduino
Управление коллекторными двигателями
Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.
Схема устройства
Код программы
Для начала покрутим каждый мотор в одну, а затем другую сторону.
Код программы
Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.
Управление биполярным шаговым двигателем
Драйвер моторов может на себя также взять управления шаговым двигателем. В качестве примера подключим шаговый двигатель 42STH47-0406A.
Схема устройства
Управление без библиотек
Motor Shield поддерживает три режима управления биполярным шаговым двигателем:
Код программы
Протестируем по очереди три режима управления.
Обратите внимание, что двигатель в однофазном полношаговом режиме позволяет развить гораздо меньший момент, чем в двухфазном полношаговом режиме.
Управление через готовую библиотеку
Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper. Она скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.
Пример работы в различных режимах
Пример работы для Espruino
Управление коллекторными двигателями
Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.
Схема устройства
Код программы
Для начала покрутим каждый мотор в одну, а затем другую сторону.
Код программы
Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.
Элементы платы
Драйвер двигателей
Сердце и мускулы платы — микросхема двухканального H-моста L298P.
Термин «H-мост» появился благодаря графическому изображению схемы, напоминающему букву «Н». H-мост состоит из четырёх ключей. 
| 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 два контура питания.
Если отсутствует хотя бы один из контуров питания — Motor Shield работать не будет.
При подключении питания соблюдайте полярность. Неправильное подключение может привести к непредсказуемому поведению или выходу из строя платы или источника питания.
Джампер объединения питания
Motor Shield использует два контура питания: силовое и цифровое. По умолчанию для питания всей конструкции необходимо два источника напряжения:
При объединённом режиме напряжение может быть подано двумя способами:
При работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin управляющей платформы не рассчитана. Поэтому выбор для питания клеммника PWR предпочтительнее.
В режиме совместного питания управляющей платформы и Motor Shield, используйте входное напряжение в диапазоне 7–12 вольт. Напряжение более 12 вольт убьёт управляющую платформу. Если вы хотите работать с Motor Shield в диапазоне 5–24 вольта, используйте два отдельных источника питания.
Источник питания должен быть способен обеспечить стабильное напряжение при резких скачках нагрузки. Даже кратковременная просадка напряжения может привести к перезагрузке управляющей платформы. В итоге программа начнётся сначала и поведения двигателей будет неадекватным.
При объединённом питании используйте литий-ионные и никель-металлгидридные аккумуляторы. Если вы используете другие источники питания, лучше воспользуйтесь раздельной схемой питания управляющей платформы и Motor Shield.
Нагрузка
Обозначения «+» и «−» показывают воображаемые начало и конец обмотки. Если подключить два коллекторных двигателя, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то при подаче на Motor Shield одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.
Светодиодная индикация
Пины управления скоростью вращения двигателей
Для запуска двигателя на первом или втором канале установите высокий уровень на пинах скорости E1 или E2 соответственно. Для остановки моторов установите на соответствующих пинах низкий уровень.
Управление скоростью происходит при помощи ШИМ, за счёт быстрого включения и выключения нагрузки.
Пины управления направлением вращения двигателей
Пины направления H1 или H2 отвечают за направление вращения двигателей. Смена направления вращения коллекторных двигателей достигается за счёт изменения полярности приложенного к ним напряжения.
Контакты выбора управляющих пинов
По умолчанию Motor Shield для управления скоростью и направлением вращения моторов использует пины управляющей платы:
Если в вашем устройстве эти пины уже заняты, например используются для управления Relay Shield), вы можете использовать другой свободный пин.
Для переброски пинов снимите джампер напротив занятого пина и припаяйте проводок между луженым отверстием рядом со снятым джампером и луженым отверстием напротив нужного пина. 
Motor Shield Plus
Motor Shield Plus — плата расширения для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока. Драйвер сможет управлять двумя моторами с напряжением 8–52 вольта и максимальным током до двух с половиной ампер на канал.
Видеообзор
Подключение и настройка
Если напряжение внешнего источника питания будет меньше 8 вольт, motor shield не заработает.
Примеры работы для Arduino
Управление коллекторными двигателями
Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.
Схема устройства
Код программы
Для начала покрутим каждый мотор в одну, а затем другую сторону.
Код программы
Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.
Управление биполярным шаговым двигателем
Драйвер моторов может на себя также взять управления шаговым двигателем. В качестве примера подключим шаговый двигатель 42STH47-0406A.
Схема устройства
Управление без библиотек
Motor Shield поддерживает три режима управления биполярным шаговым двигателем:
Код программы
Протестируем по очереди три режима управления.
Обратите внимание, что двигатель в однофазном полношаговом режиме позволяет развить гораздо меньший момент, чем в двухфазном полношаговом режиме.
Управление через готовую библиотеку
Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper. Она скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.
Пример работы в различных режимах
Пример работы для Espruino
Управление коллекторными двигателями
Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.
Схема устройства
Код программы
Для начала покрутим каждый мотор в одну, а затем другую сторону.
Код программы
Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.
Элементы платы
Драйвер двигателей
Сердце и мускулы платы — микросхема двухканального H-моста на полевых транзисторах L6206Q
Термин «H-мост» появился благодаря графическому изображению схемы, напоминающему букву «H». H-мост состоит из четырёх ключей. 
| 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-мост с силовыми ключами — основная начинка микросхемы L6206Q для управления скоростью и направлением двигателей.
Питание
На плате расширения Motor Shield Plus два контура питания.
Если отсутствует хотя бы один из контуров питания — Motor Shield работать не будет.
При подключении питания соблюдайте полярность. Неправильное подключение может привести к непредсказуемому поведению или выходу из строя платы или источника питания.
Джампер объединения питания
Motor Shield использует два контура питания: силовое и цифровое. По умолчанию для питания всей конструкции необходимо два источника напряжения:
При объединённом режиме напряжение может быть подано двумя способами:
При работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin управляющей платформы не рассчитана. Поэтому выбор для питания клеммника PWR предпочтительнее.
В режиме совместного питания управляющей платформы и Motor Shield Plus, используйте входное напряжение в диапазоне 8–12 вольт. Напряжение более 12 вольт убьёт управляющую платформу. Если вы хотите работать с Motor Shield в диапазоне 8–52 вольта, используйте два отдельных источника питания.
Источник питания должен быть способен обеспечить стабильное напряжение при резких скачках нагрузки. Даже кратковременная просадка напряжения может привести к перезагрузке управляющей платформы. В итоге программа начнётся сначала и поведения двигателей будет неадекватным.
При объединённом питании используйте литий-ионные и никель-металлгидридные аккумуляторы. Если вы используете другие источники питания, лучше воспользуйтесь раздельной схемой питания управляющей платформы и Motor Shield.
Нагрузка
Обозначения «+» и «−» показывают воображаемые начало и конец обмотки. Если подключить два коллекторных двигателя, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то при подаче на Motor Shield одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.
Светодиодная индикация
Пины управления скоростью вращения двигателей
Для запуска двигателя на первом или втором канале установите высокий уровень на пинах скорости EN1 или EN2 соответственно. Для остановки моторов установите на соответствующих пинах низкий уровень.
Управление скоростью происходит при помощи ШИМ, за счёт быстрого включения и выключения нагрузки.
Пины управления направлением вращения двигателей
Пины направления H1 или H2 отвечают за направление вращения двигателей. Смена направления вращения коллекторных двигателей достигается за счёт изменения полярности приложенного к ним напряжения.
Пины состояния текущего потребления тока
На пинах M1 и M2 присутствует напряжение прямо пропорционально потребляемому току на соответствующем канале.
Контакты выбора управляющих пинов
По умолчанию Motor Shield Plus для управления моторами и передачи данных о потребляемом токе на каждом канале использует пины управляющей платы:
| Назначение | Канал 1 | Канал 2 |
|---|---|---|
| Скорость EN | 5 | 6 |
| Направление DIR | 4 | 7 |
| Потребляемый ток M | A0 | A1 |
Если в вашем устройстве эти пины уже заняты, например используются для управления Relay Shield, вы можете использовать другой свободный пин.
Для переброски пинов снимите джампер напротив занятого пина и припаяйте проводок между луженым отверстием рядом со снятым джампером и луженым отверстием напротив нужного пина. 
Как подключить мотор шилд к Ардуино
Сегодня мы разберем весьма полезное расширение для платы Arduino UNO — Motor Control Shield L293D, рассмотрим схему подключения к данному шилду сервомоторов, шаговых двигателей и моторов постоянного тока. Также вы можете ознакомиться с командами, используемых в библиотеке AFMotor.h, и попробовать различные скетчи для управления шаговыми двигателями и моторами постоянного тока на Ардуино.
Motor Shield L293D: схема, характеристики
Микроконтроллер Ардуино позволяет любому начинающему радиолюбителю изготавливать сложные автоматизированные устройства и проекты. Использование Motor Shield может стать полезным дополнением во в многих проектах на Arduino, так как позволяет подключить сразу 2 сервопривода, 2 шаговых двигателя и до 4 двигателей постоянного тока (с реверсом направления вращения ротора).

Характеристики Мотор Шилд L293D
— для работы нужна библиотека AFMotor.h (скачать библиотеку);
— возможность подключения 2-х сервоприводов на 5 Вольт;
— возможность подключения 2-х шаговых двигателей от 6 до 12 Вольт;
— подключение до 4-х моторов с возможностью реверса направления вращения;
— контакты для подключения внешнего питания для двигателей;
— Motor Shield for Arduino совместим с платами Uno и Mega.
При подключении серводвигателей и моторов к Ардуино используются различные порты, к которым нельзя подключать другую периферию. Так, для серво используются цифровые порты 9 и 10, для шаговых двигателей и моторов используются порты с 3 по 8 и 12. Если вы желаете еще что-то подключить, то используйте 0 и 1 порт, 2 и 13, а также аналоговые входы (порты A0-A5 можно использовать как цифровые выходы).
Как подключить Motor Shield к Ардуино
Для этого занятия нам потребуется:
К Ардуино шилд подключается очень просто — он устанавливается на плату UNO прямо сверху. Обратите внимание, что без подключения внешнего источника питания к Motor Shield, логика и двигатели будут работать от 5 Вольт, что не всегда бывает достаточно. Поэтому скорость вращения моторов постоянного тока при подключении платы Ардуино от компьютера и блока питания будет значительно отличаться.

Обратите внимание, что даже если вы задали одинаковую скорость вращения в скетче, моторы в реальности могут вращаться с разной скоростью — на это оказывает влияние скорость самого двигателя, качество изготовления редуктора и колес. После подключения двигателей, как на схеме выше, загрузите следующий скетч (скачать библиотеку AFMotor и скетч можно здесь) для тестирования работы шилда:
Скетч для Motor Shield L293D Ардуино и моторов
Пояснения к коду:
Скетч для подключение серво и шаговых двигателей
Для управления сервоприводами используется стандартная библиотека Servo.h, сами сервоприводы подключаются к цифровым выходам 9 и 10 через штырьки на краю платы. К шилду можно подключить только два сервопривода и два шаговых двигателя. Первый шаговый двигатель подключается к клеммам M1 и M2, а второй к клеммам M3 и M4. Схема подключения двигателей к Motor Shield L293D изображена далее.

После подключения Stepper Motor к шилду загрузите в плату следующий скетч:
Motor Shield: Руководство по использованию, примеры и документация
Микроконтроллер, установленный на Arduino не может непосредственно управлять большой нагрузкой на своих цифровых выходах. Максимально возможный выходной ток с ножки микроконтроллера — 40 мА. Чтобы иметь возможность управлять большой нагрузкой существуют специализированные устройства. Именно к таким устройствам и относится Motor Shield.
Motor Shield — это плата расширения для Arduino, предназначенная для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5–24 В и максимальным током до 2 А на канал.
Motor Shield также может быть использован для управления одним биполярным шаговым двигателем или, при совмещении двух каналов в один, для управления мощной нагрузкой с током до 4 А.
Подключение и настройка
Управление коллекторными двигателями

Для начала простейший код для демонстрации всех основных функций Motor Shield:
Следующий код подойдёт для робот платформ:
Управление биполярным шаговым двигателем
Управление в разных режимах без библиотек
Существует несколько режимов управления биполярным шаговым двигателем при помощи Motor Shield:
Разницу между ними можно понять, протестировав на Motor Shield следующий скетч:
Управление через готовую библиотеку
Легко управлять шаговым двигателем в своём проекте вам поможет библиотека StepperAmperka. С помощью неё можно управлять биполярным шаговым двигателем в однофазном, в двухфазном или полушаговом режиме.
Пример работы в двуфазном режиме
Пример работы в различных режимах
Элементы платы
Питание

При подключении питания соблюдайте полярность. Неправильное подключение может привести к непредсказуемому поведению или выходу из строя платы или источника питания.
Если у вас Motor Shield первой ревизии (с синими клеммниками), то при установке платы на Arduino Uno, или другой платой, обладающей высоким разъёмом вроде USB Type B или RJ45, наклейте на разъём пару слоёв изоленты, чтобы избежать замыкания дорожек на нижней стороне платы.
На Motor Shield два контура питания.
Индикация питания
Из-за большой ёмкости фильтрующего конденсатора, установленного на плате, светодиод PON в некоторых случаях может кратковременно продолжать гореть и после отключения питания.
Нагрузка
Обозначения «+» и «-» показывают воображаемые начало и конец обмотки: если подключить два коллекторных двигателя таким образом, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то, при подаче на плату одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.
Объединение питания
Этот режим используется для обеспечения питания и Arduino и силовой нагрузки от одного источника питания. При этом питание может быть подано как на клеммник PWR Motor Shield, так и на разъём питания Arduino. Выбор для питания клеммника PWR предпочтительнее, так как при работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin Arduino не рассчитана.
В режиме совместного питания Arduino и Motor Shield, рекомендуемое напряжение питания — 7–12 В.
Третий штырёк нужен для хранения джампера при работе с раздельным питанием. Так он не потеряется.

Не все источники питания подходят для режима работы с объединённым питанием Arduino и Motor Shield.
Источники питания должны быть способны обеспечить стабильное напряжение при резких скачках нагрузки. Даже кратковременная просадка напряжения при броске нагрузки приведёт к перезагрузке управляющего контроллера Arduino, и связанным с этим неадекватным поведением двигателей. Этому требованию соответствуют только литий-ионные и никель-металлгидридные аккумуляторы или лабораторные блоки питания.
Если вы используете другие источники питания, лучше всего воспользоваться раздельной схемой питания Arduino и Motor Shield.
Используемые пины
По умолчанию Motor Shield для управления скоростью и направлением вращения моторов использует пины Arduino:
Пины управления скоростью вращения двигателей
Управление скоростью происходит при помощи ШИМ, за счёт быстрого включения и выключения нагрузки. Напряжение на нагрузку подаётся при высоком логическом уровне на пине скорости, поэтому можно запустить двигатель на полную скорость просто выставив на этом пине логическую единицу. Или выключить двигатель, выставив на этом пине логический ноль.
Индикация скорости
Чем выше скорость вращения двигателя, тем ярче горит светодиод индикации скорости.
Пины управления направлением вращения двигателей
Пины направления отвечают за направление вращения двигателей. Смена направления вращения коллекторных двигателей достигается за счёт изменения полярности приложенного к ним напряжения.
Индикация направления
При высоком логическом уровне на пине управления направлением вращения, т.е. вращении вперёд, индикатор светится зелёным светом. При низком уровне, т.е. при реверсе — красным.
Контакты выбора управляющих пинов
Принципиальная и монтажная схемы
Характеристики
| Параметр | Мин. | Номинал. | Макс. | Ед. изм. |
|---|---|---|---|---|
| Напряжение питания силовой части | 4,8 | — | 24 | В |
| Напряжение питания силовой части с PWR JOIN | 7 | — | 12 | В |
| Напряжение питания логической части | 4,5 | 5 | 7 | В |
| Допустимый уровень управляющих сигналов | 3 | 5 | 7 | В |
| Продолжительный ток на канал * | 2 | А | ||
| Пиковый прерывистый ток на канал (80% включение, до 10 мс) | 2,5 | А | ||
| Пиковый непрерывный ток на канал (до 100 мкс) | 3 | А |
* для достижения максимума необходимо дополнительное охлаждение чипа L298P











