Шилд для ардуино моторы

Содержание
  1. Motor Shield
  2. Видеообзор
  3. Подключение и настройка
  4. Примеры работы для Arduino
  5. Управление коллекторными двигателями
  6. Схема устройства
  7. Код программы
  8. Код программы
  9. Управление биполярным шаговым двигателем
  10. Схема устройства
  11. Управление без библиотек
  12. Код программы
  13. Управление через готовую библиотеку
  14. Пример работы в различных режимах
  15. Пример работы для Espruino
  16. Управление коллекторными двигателями
  17. Схема устройства
  18. Код программы
  19. Код программы
  20. Элементы платы
  21. Драйвер двигателей
  22. Питание
  23. Джампер объединения питания
  24. Нагрузка
  25. Светодиодная индикация
  26. Пины управления скоростью вращения двигателей
  27. Пины управления направлением вращения двигателей
  28. Контакты выбора управляющих пинов
  29. Подключение мотор шилд к Ардуино
  30. Motor Shield L293D: схема, характеристики
  31. Характеристики Мотор Шилд L293D
  32. Как подключить Motor Shield к Ардуино
  33. Скетч для Motor Shield L293D Ардуино и моторов
  34. Пояснения к коду:
  35. Скетч для подключение серво и шаговых двигателей
  36. Драйверы двигателя L298N, L293D и Arduino Motor Shield
  37. Драйвер двигателя в проектах ардуино
  38. Для чего нужен драйвер двигателя?
  39. Микросхема или плата расширения Motor Shield
  40. Принцип действия H-моста
  41. Драйвер двигателя L298N
  42. Распиновка микросхемы L298N:
  43. Драйвер двигателя L293D
  44. Драйвер двигателя на микросхеме HG7881
  45. Характеристики драйвера HG7881:
  46. Распиновка:
  47. Сравнение модулей
  48. Подключение L298N к Arduino

Motor Shield

Хотите подключить мотор к Arduino или Iskra JS?! К сожалению микроконтроллер установленный на управляющих платформах не сможет без посторонней помощи управлять большой нагрузкой. Motor Shield поможет микроконтроллеру управлять коллекторными моторами и шаговыми двигателями.

Motor Shield — это плата расширения, предназначенная для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5–24 В и максимальным током до двух ампер на канал.

Плата расширения также сможет управлять одним биполярным шаговым двигателем.

Видеообзор

Подключение и настройка

Примеры работы для Arduino

Управление коллекторными двигателями

Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.

Схема устройства

Код программы

Для начала покрутим каждый мотор в одну, а затем другую сторону.

Код программы

Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.

Управление биполярным шаговым двигателем

Драйвер моторов может на себя также взять управления шаговым двигателем. В качестве примера подключим шаговый двигатель 42STH47-0406A.

Схема устройства

Управление без библиотек

Motor Shield поддерживает три режима управления биполярным шаговым двигателем:

Код программы

Протестируем по очереди три режима управления.

Скорость вращения шагового двигателя очень сильно влияет на развиваемый мотором момент. Убедитесь сами. Запустите этот же пример с разными значениями delayTime .

Обратите внимание, что двигатель в однофазном полношаговом режиме позволяет развить гораздо меньший момент, чем в двухфазном полношаговом режиме.

Управление через готовую библиотеку

Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper. Она скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.

Пример работы в различных режимах

Пример работы для Espruino

Управление коллекторными двигателями

Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.

Схема устройства

Код программы

Для начала покрутим каждый мотор в одну, а затем другую сторону.

Код программы

Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.

Элементы платы

Драйвер двигателей

Сердце и мускулы платы — микросхема двухканального H-моста L298P.

Термин «H-мост» появился благодаря графическому изображению схемы, напоминающему букву «Н». H-мост состоит из четырёх ключей. В зависимости от текущего состояние переключателей возможно разное состояние мотора.

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

Ключи меняем на транзисторы для регулировки скорости мотора с помощью ШИМ-сигнала.

H-мост с силовыми ключами — основная начинка микросхемы L298P для управления скоростью и направлением двигателей.

Питание

На плате расширения Motor Shield два контура питания.

Если отсутствует хотя бы один из контуров питания — Motor Shield работать не будет.

Силовое питание подключается через клеммник PWR . Диапазон входного напряжения:

При подключении питания соблюдайте полярность. Неправильное подключение может привести к непредсказуемому поведению или выходу из строя платы или источника питания.

Джампер объединения питания

Motor Shield использует два контура питания: силовое и цифровое. По умолчанию для питания всей конструкции необходимо два источника напряжения:

При установки джампера в положение PWR JOIN , происходит объединение контакта Vin управляющей платформы и положительного контакта клеммника PWR . Режим объединённого питания позволяет запитывать управляющую платформу и силовую часть драйвера от одного источника питания.

При объединённом режиме напряжение может быть подано двумя способами:

При работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin управляющей платформы не рассчитана. Поэтому выбор для питания клеммника PWR предпочтительнее.

В режиме совместного питания управляющей платформы и Motor Shield, используйте входное напряжение в диапазоне 7–12 вольт. Напряжение более 12 вольт убьёт управляющую платформу. Если вы хотите работать с Motor Shield в диапазоне 5–24 вольта, используйте два отдельных источника питания.

Источник питания должен быть способен обеспечить стабильное напряжение при резких скачках нагрузки. Даже кратковременная просадка напряжения может привести к перезагрузке управляющей платформы. В итоге программа начнётся сначала и поведения двигателей будет неадекватным.

При объединённом питании используйте литий-ионные и никель-металлгидридные аккумуляторы. Если вы используете другие источники питания, лучше воспользуйтесь раздельной схемой питания управляющей платформы и Motor Shield.

Нагрузка

Нагрузка разделена на два независимых канала. К каждому каналу можно подключить один коллекторный мотор. Первый канал на плате обозначен шёлком M1 , второй канал — M2 .

Обозначения «+» и «−» показывают воображаемые начало и конец обмотки. Если подключить два коллекторных двигателя, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то при подаче на Motor Shield одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.

Светодиодная индикация

Имя светодиода Назначение
PWR Индикация состояния силового питания. Есть питание — светодиод горит, нет питания — не горит.
H1 Индикация состояния направления первого канала M1 . При высоком логическом уровне светится зелёным светом, при низком — красным.
H2 Индикация состояния направления второго канала M2 . При высоком логическом уровне светится зелёным светом, при низком — красным.
E1 Индикация скорости первого канала M1 . Яркость светодиода пропорциональна скорости вращения двигателя.
E2 Индикация скорости второго канала M2 . Яркость светодиода пропорциональна скорости вращения двигателя.

Пины управления скоростью вращения двигателей

Для запуска двигателя на первом или втором канале установите высокий уровень на пинах скорости E1 или E2 соответственно. Для остановки моторов установите на соответствующих пинах низкий уровень.

Управление скоростью происходит при помощи ШИМ, за счёт быстрого включения и выключения нагрузки.

Пины управления направлением вращения двигателей

Пины направления H1 или H2 отвечают за направление вращения двигателей. Смена направления вращения коллекторных двигателей достигается за счёт изменения полярности приложенного к ним напряжения.

Контакты выбора управляющих пинов

По умолчанию Motor Shield для управления скоростью и направлением вращения моторов использует пины управляющей платы:

Назначение Канал 1 Канал 2
Скорость 5 6
Направление 4 7

Если в вашем устройстве эти пины уже заняты, например используются для управления Relay Shield), вы можете использовать другой свободный пин.

Контакты отвечающие за направления — H1 и H2 можно заменять на любые другие. А вот контакты управляющие скоростью моторов — E1 и E2 , можно перебрасывать только на пины с поддержкой ШИМ.

Для переброски пинов снимите джампер напротив занятого пина и припаяйте проводок между луженым отверстием рядом со снятым джампером и луженым отверстием напротив нужного пина. На этой картинке мы перекинули:

Источник

Подключение мотор шилд к Ардуино

L293D motor shield Arduino ► рассмотрим подключение к плате Ардуино, команды библиотеки AFMotor для управление от L293D серво и моторами постоянного тока.

Сегодня мы разберем весьма полезное расширение для платы Arduino UNO — Motor Control Shield L293D, рассмотрим схему подключения к данному шилду сервомоторов, шаговых двигателей и моторов постоянного тока. Также вы можете ознакомиться с командами, используемых в библиотеке AFMotor.h, и попробовать различные скетчи для управления шаговыми двигателями и моторами постоянного тока на Ардуино.

Motor Shield L293D: схема, характеристики

Микроконтроллер Ардуино позволяет любому начинающему радиолюбителю изготавливать сложные автоматизированные устройства и проекты. Использование Motor Shield может стать полезным дополнением во в многих проектах на Arduino, так как позволяет подключить сразу 2 сервопривода, 2 шаговых двигателя и до 4 двигателей постоянного тока (с реверсом направления вращения ротора).

Схема и подключение Motor Control Shield for Arduino

Характеристики Мотор Шилд 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 к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Motor Shield L293D;
  • сервомотор;
  • двигатели постоянного тока;
  • шаговый двигатель;
  • провода «папа-мама», «папа-папа».

К Ардуино шилд подключается очень просто — он устанавливается на плату UNO прямо сверху. Обратите внимание, что без подключения внешнего источника питания к Motor Shield, логика и двигатели будут работать от 5 Вольт, что не всегда бывает достаточно. Поэтому скорость вращения моторов постоянного тока при подключении платы Ардуино от компьютера и блока питания будет значительно отличаться.

Мотор Шилд Ардуино схема подключения

Обратите внимание, что даже если вы задали одинаковую скорость вращения в скетче, моторы в реальности могут вращаться с разной скоростью — на это оказывает влияние скорость самого двигателя, качество изготовления редуктора и колес. После подключения двигателей, как на схеме выше, загрузите следующий скетч (скачать библиотеку AFMotor и скетч можно здесь) для тестирования работы шилда:

Скетч для Motor Shield L293D Ардуино и моторов

Пояснения к коду:

  1. Для каждого мотора следует присваивать свое имя AF_DCMotor motor1(1) ;
  2. Максимальная скорость вращения motor1.setSpeed(255) равна 255;
  3. Без команды motor1.run(RELEASE) мотор продолжит вращаться.

Скетч для подключение серво и шаговых двигателей

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

Подключение шаговых двигателей к Motor Shield L293D

После подключения Stepper Motor к шилду загрузите в плату следующий скетч:

Источник

Драйверы двигателя L298N, L293D и Arduino Motor Shield

Драйвер двигателя выполняет крайне важную роль в проектах ардуино, использующих двигатели постоянного тока или шаговые двигатели. C помощью микросхемы драйвера или готового шилда motor shield можно создавать мобильных роботов, автономные автомобили на ардуино и другие устройства с механическими модулями. В этой статье мы рассмотрим подключение к ардуино популярных драйверов двигателей на базе микросхем L298N и L293D.

Драйвер двигателя в проектах ардуино

Для чего нужен драйвер двигателя?

Как известно, плата ардуино имеет существенные ограничения по силе тока присоединенной к ней нагрузки. Для платы это 800 mA, а для каждого отдельного вывода – и того меньше, 40mA. Мы не можем подключить напрямую к Arduino Uno, Mega или Nano даже самый маленький двигатель постоянного тока. Любой из этих двигателей в момент запуска или остановки создаст пиковые броски тока, превышающие этот предел.

Как же тогда подключить двигатель к ардуино? Есть несколько вариантов действий:

Использовать реле. Мы включаем двигатель в отдельную электрическую сеть, никак не связанную с платой Arduino. Реле по команде ардуино замыкает или размыкает контакты, тем самым включает или выключает ток. Соответственно, двигатель включается или выключается. Главным преимуществом этой схемы является ее простота и возможность использовать Главным недостатком данной схемы является то, что мы не можем управлять скоростью и направлением вращения.

Использовать силовой транзистор. В данном случае мы можем управлять током, проходящим через двигатель, а значит, можем управлять скоростью вращения шпинделя. Но для смены направления вращения этот способ не подойдет.

Использовать специальную схему подключения, называемую H-мостом, с помощью которой мы можем изменять направление движения шпинделя двигателя. Сегодня можно без проблем найти как микросхемы, содержащие два или больше H-моста, так и отдельные модули и платы расширения, построенные на этих микросхемах.

В этой статье мы рассмотрим последний, третий вариант, как наиболее гибкий и удобный для создания первых роботов на ардуино.

Микросхема или плата расширения Motor Shield

Motor Shield – плата расширения для Ардуино, которая обеспечивает работу двигателей постоянного тока и шаговых двигателей. Самыми популярными платами Motor Shield являются схемы на базе чипов L298N и L293D, которые могут управлять несколькими двигателями. На плате установлен комплект сквозных колодок Ардуино Rev3, позволяющие устанавливать другие платы расширения. Также на плате имеется возможность выбора источника напряжения – Motor Shield может питаться как от Ардуино, так и от внешнего источника. На плате имеется светодиод, который показывает, работает ли устройство. Все это делает использование драйвера очень простым и надежным – не нужно самим изобретать велосипеды и решать уже кем-то решенные проблемы. В этой статье мы будем говорить именно о шилдах.

Принцип действия H-моста

Принцип работы драйвера двигателя основан на принципе работы H-моста. H-мост является электронной схемой, которая состоит из четырех ключей с нагрузкой. Название моста появилось из напоминающей букву H конфигурации схемы.

Схема моста изображена на рисунке. Q1…Q4 0 полевые, биполярные или IGBT транзисторы. Последние используются в высоковольтных сетях. Биполярные транзисторы практически не используются, они могут присутствовать в маломощных схемах. Для больших токов берут полевые транзисторы с изолированным затвором. Ключи не должны быть замкнуты вместе одновременно, чтобы не произошло короткого замыкания источника. Диоды D1…D4 ограничительные, обычно используются диоды Шоттки.

С помощью изменения состояния ключей на H-мосте можно регулировать направление движения и тормозить моторы. В таблице приведены основные состояния и соответствующие им комбинации на пинах.

Q1 Q2 Q3 Q4 Состояние
1 1 Поворот мотора вправо
1 1 Поворот мотора влево
Свободное вращение
1 1 Торможение
1 1 Торможение
1 1 Короткое замыкание
1 1 Короткое замыкание

Драйвер двигателя L298N

Модуль используется для управления шаговыми двигателями с напряжением от 5 до 35 В. При помощи одной платы L298N можно управлять сразу двумя двигателями. Наибольшая нагрузка, которую обеспечивает микросхема, достигает 2 А на каждый двигатель. Если подключить двигатели параллельно, это значение можно увеличить до 4 А.

Плата выглядит следующим образом:

Распиновка микросхемы L298N:

  • Vcc – используется для подключения внешнего питания;
  • 5В;
  • Земля GND;
  • IN1, IN2, IN3, IN4 – используется для плавного управления скоростью вращения мотора;
  • OUT1, OUT2 – используется для выхода с первого двигателя;
  • OUT3, OUT4 – используется для выхода со второго двигателя;
  • S1 – переключает питание схемы: от внешнего источника или от внутреннего преобразователя;
  • ENABLE A, B – требуются для раздельного управления каналами. Используются в двух режимах – активный, при котором каналами управляет микроконтроллер и имеется возможность изменения скорости вращения, и пассивный, в котором невозможно управлять скоростью двигателей (установлено максимальное значение).

При подключении двух двигателей, нужно проверить, чтобы у них была одинаковая полярность. Если полярность разная, то при задании направления движения они будут вращаться в противоположные стороны.

Драйвер двигателя L293D

L293D – является самой простой микросхемой для работы с двигателями. L293D обладает двумя H-моста, которые позволяют управлять двумя двигателями. Рабочее напряжение микросхемы – 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2 А.

В схеме имеется 16 выходов. Распиновка:

  • +V – питание на 5 В;
  • +Vmotor – напряжение питания для мотором до 36 В;
  • 0V – земля;
  • En1, En2 –включают и выключают H-мосты;
  • In1, In2 – управляют первым H-мостом;
  • Out1, Out2 – подключение первого H-моста;
  • In3, In4 – управляют вторым H-мостом;
  • Out3, Out4 – подключение второго H-моста.

Для подключения к микроконтроллеру Arduino Uno нужно соединить выходы In1 на L293D и 7 пин на Ардуино, In2 – 8, In3 – 2, In4 – 3, En1 – 6, En2 – 5, V – 5V, Vmotor – 5 V, 0V – GND. Пример подключения одного двигателя к Ардуино показан на рисунке.

Драйвер двигателя на микросхеме HG7881

HG7881 – двухканальный драйвер, к которому можно подключить 2 двигателя или четырехпроводной двухфазный шаговый двигатель. Устройство часто используется из-за своей невысокой стоимости. Драйвер используется только для изменения направления вращения, менять скорость он не может.

Плата содержит 2 схемы L9110S, работающие как H-мост.

Характеристики драйвера HG7881:

  • 4-контактное подключение;
  • Питание для двигателей от 2,5 В до 12 В;
  • Потребляемый ток менее 800 мА;
  • Малые габариты, небольшой вес.

Распиновка:

  • GND – земля;
  • Vcc – напряжение питания 2,5В – 12В;
  • A-IA – вход A(IA) для двигателя A;
  • A-IB – вход B (IB) для двигателя A;
  • B-IA – вход A(IA) для двигателя B;
  • B-IB – вход B (IB) для двигателя B.

В зависимости от поданного сигнала на выходах IA и IB будет разное состояние для двигателей. Возможные варианты для одного из моторов приведены в таблице.

IA IB Состояние мотора
Остановка
1 Двигается вперед
1 Двигается назад
1 1 Отключение

Подключение одного двигателя к Ардуино изображено на рисунке.

Сравнение модулей

Модуль L293D подает максимальный ток в 1,2А, в то время как на L298N можно добиться максимального тока в 4 А. Также L293D обладает меньшим КПД и быстро греется во время работы. При этом L293D является самой распространенной платой и стоит недорого. Плата HG7881 отличается от L293D и L298N тем, что с ее помощью можно управлять только направлением вращения, скорость менять она не может. HG7881 – самый дешевый и самый малогабаритный модуль.

Подключение L298N к Arduino

Как уже упоминалось, в первую очередь нужно проверить полярность подключенных двигателей. Двигатели, вращающиеся в различных направлениях, неудобно программировать.

Нужно присоединить источник питания. + подключается к пину 4 на плате L298N, минус (GND) – к 5 пину. Затем нужно соединить выходы с L298N и пины на Ардуино, причем некоторые из них должны поддерживать ШИМ-модуляцию. На плате Ардуино они обозначены

. Выходы с L298N IN1, IN2, IN3 и IN4 подключить к D7, D6, D5 и D4 на Ардуино соответственно. Подключение всех остальных контактов представлено на схеме.

Направление вращения задается с помощью сигналов HIGH и LOW на каждый канал. Двигатели начнут вращаться, только когда на 7 пине для первого мотора и на 12 пине для второго на L298N будет сигнал HIGH. Подача LOW останавливает вращение. Чтобы управлять скоростью, используются ШИМ-сигналы.

Для управления шаговым двигателем в Arduino IDE существует стандартная библиотека Stepper library. Чтобы проверить работоспособность собранной схемы, можно загрузить тестовый пример stepper_oneRevolution. При правильной сборке вал двигателя начнет вращаться.

При работе с моторами Ардуино может периодически перезагружаться. Это возникает из-за того, что двигателям требуются большие токи при старте и в момент торможения. Для решения этой проблемы в плату встроены конденсаторы, диоды и другие схемы. Также для этих целей на шидле имеется раздельное питание.

Источник

Читайте также:  Step мотор что это
Поделиться с друзьями