- Драйверы двигателя L298N, L293D и Arduino Motor Shield
- Драйвер двигателя в проектах ардуино
- Для чего нужен драйвер двигателя?
- Микросхема или плата расширения Motor Shield
- Принцип действия H-моста
- Драйвер двигателя L298N
- Распиновка микросхемы L298N:
- Драйвер двигателя L293D
- Драйвер двигателя на микросхеме HG7881
- Характеристики драйвера HG7881:
- Распиновка:
- Сравнение модулей
- Подключение L298N к Arduino
- Как подключить L298n к Ардуино
- Описание драйвера мотора L298N
- Технические характеристики
- Варианты подключения к Ардуино и схемы
- Коллекторный двигатель
- Шаговый двигатель
- Программа для драйвера мотора
Драйверы двигателя 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 | 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 | Короткое замыкание |
Драйвер двигателя 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 | Состояние мотора |
0 | 0 | Остановка |
1 | 0 | Двигается вперед |
0 | 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. При правильной сборке вал двигателя начнет вращаться.
При работе с моторами Ардуино может периодически перезагружаться. Это возникает из-за того, что двигателям требуются большие токи при старте и в момент торможения. Для решения этой проблемы в плату встроены конденсаторы, диоды и другие схемы. Также для этих целей на шидле имеется раздельное питание.
Как подключить L298n к Ардуино
Одним из самых популярных приборов для управления небольшими электрическими моторами является модуль L298N, схема подключения которого определяется конструктивными особенностями микроконтроллера Arduino. Это устройство позволяет регулировать скорость и направление вращения нескольких двигателей постоянного тока. Стоимость данного драйвера в Российской Федерации составляет 99 руб.
Описание драйвера мотора L298N
Модуль L298N состоит из 4 транзисторов и 2 H-мостов, соединенных с выходами A и B. Комплектующие изготавливаются из стали или латуни. На драйвере присутствует разъем для подачи питания и подключения различных перемычек.
Логическая микросхема L298N имеет следующую распиновку:
- OUT1 — OUT4: порты для подсоединения щеточных моторов или обмотки шагового двигателя.
- VSS: пин, принимающий электрический ток с напряжением до 35 В от источника питания.
- IN1 — IN4: контакты, применяемые для регулирования технических характеристик щеточных моторов и обмоток шагового двигателя.
- GND: заземление, используемое для стабилизации электрического напряжения и предотвращения короткого замыкания.
- VS: порт для подачи электроэнергии к микросхеме. Он принимает электроток с напряжением до 5 В и выполняет роль второстепенного источника питания.
- ENABLE A и B: контакты для работы с механизмами широтно-импульсной модуляции.
Распиновка модуля была разработана на основе микросхемы L293D. Принцип работы этого устройства основан на чередовании сигналов высокого логического уровня или низкого. Направление двигателей определяется портами IN1 — IN4.
Драйвер функционирует в 2 основных режимах:
- Активном. Каналы моторов управляются при помощи контроллера. В зависимости от логического уровня устройство увеличивает или снижает скорость вращения двигателей. ШИМ-сигнал подается на пины ENA или ENB в виде логических единиц и нулей.
- Пассивном. Мотор вращается с постоянной скоростью вне зависимости от состояния портов и значений ШИМ-сигналов. Направление вращения нельзя изменить, потому что в пассивном режиме выводы ENABLE A и B автоматически приводятся к высокому логическому уровню. Для остановки мотора необходимо подавать сигналы широтно-импульсной модуляции на порты IN.
Питание драйвера производится при помощи разъема с 3 контактами. Его шаг составляет 3,5 мм. При работающем стабилизаторе напряжения модуль питается при помощи контакта VSS. С помощью перемычки можно отключить эти устройства и подавать питание на драйвер посредством порта VS.
Не рекомендуется выключать стабилизатор, если напряжение модуля ниже 12 В.
Технические характеристики
Модуль L298N имеет следующие технические параметры:
- максимальное напряжение, потребляемое микросхемой, — 5 В;
- сила тока — 36 мА;
- напряжение, необходимое для питания двигателей — 35 В;
- максимальна мощность драйвера при температурах выше +70°C равна 20 Вт;
- размерные характеристики: 43x43x29 мм;
- максимальная рабочая температура составляет +135°C.
Драйвер совместим с платами Arduino UNO R3, Nano, Mini и Leonardo. В базовой комплектации модуль обладает радиатором охлаждения и светодиодным индикатором, предназначенным для определения вращения силовых установок. Общий вес конструкции составляет 35 г.
Варианты подключения к Ардуино и схемы
Логическая микросхема L298N устанавливается отдельно от основного микропроцессора платы Arduino. Он подключается к контроллеру следующим образом:
- К клеммам 1 и 2 подсоединяются двигатели.
- Подача питания осуществляется с помощью блока клемм 3. Первый провод соединяется с портом “+12”. На него подается ток с напряжением до 12 В.
- При отсутствии стабилизатора напряжения необходимо подать питание отдельно на контакт “+5В”.
Процедура подключения модуля зависит от разновидности силовых установок.
Коллекторный двигатель
Коллекторный двигатель — силовой агрегат, используемый для преобразования электрической энергии в механическую. Особенностью этого привода является наличие коллекторно-щеточного узла.
Существуют следующие разновидности коллекторных моторов:
- Функционирующие от источника постоянного тока. Они применяются в транспортных средствах, самоходных установках, станках и игровых автоматах.
- Работающие от источника переменного тока. Они используются в бытовой технике и радиоуправляемых устройствах. Универсальный агрегат, функционирующий от источника переменного тока, обладает малыми габаритами, поэтому он может использоваться в качестве мотора для ручных инструментов.
Коллекторные двигатели, вне зависимости от вида питания, состоят из следующих комплектующих:
- Якоря. Представляет собой вал, изготовленный из металлических материалов. Он устанавливается в корпусе силового агрегата на небольших подшипниках. Якорь используется для передачи крутящего момента от двигателя к необходимым приборам.
- Коллектора- небольших контактов с трапециевидным сечением. Эта деталь изготавливается из меди и располагается на роторе.
- Щеток. Это детали для подачи питания к обмоткам силового агрегата. Они производятся из графита.
- Держателей, предназначенных для фиксации щеток на корпусе двигателя. Они изготавливаются из пластиковых полимеров, что исключает подачу тока на металлические детали мотора.
- Подшипников — втулок, изготовленных из пластика или железа. Эти комплектующие обеспечивают стабильное вращение якоря.
- Сердечника. Это металлические пластины с обмотками, предназначенными для создания магнитного поля.
Коллекторный мотор преобразует электрическую энергию в механическую посредством плавного раскручивания вала якоря. Напряжение передается на обмотки при помощи коллектора. Во время этого процесса может возникнуть замыкание витков. Оно способно привести к поломке привода. Для предотвращения замыкания обмотки покрываются изолирующей оболочкой. В результате передачи электрического тока между якорем и обмотками появляется магнитное поле противоположной полярности, увеличивающее скорость вращения вала.
Выделяют следующие преимущества коллекторного двигателя:
- Универсальность: щеточный мотор можно подключить к любой электросети, что позволяет использовать силовой агрегат в качестве источника переменного тока.
- Небольшие габариты: коллекторные моторы могут использоваться в маленьких приборах.
- Простота эксплуатации: для настройки оборотов щеточного двигателя применяется реостат. Он обеспечивает стабильную работу силовой установки.
Одним из главных недостатков коллекторного двигателя является необходимость регулярного обслуживания. При длительной эксплуатации щетки, изготовленные из графита, полностью стираются. Замену этих комплектующих нужно производить 1 раз в несколько месяцев. Также у коллекторного двигателя отсутствует стабильность мощности. При увеличении нагрузок этот параметр уменьшается, что приводит к снижению КПД.
Для подключения коллекторных моторов к Arduino требуется комплект проводов DuPont. Их толщина должна составлять не менее 2,5 мм. С помощью проводов к приводу подсоединяется источник питания с напряжением 12 В. Логическая микросхема L298N подключается к портам 5V, 9, 8, 7, 5, 4 и 3. Двигатель подсоединяется к выходам A и B.
Подключенные устройства соединяются с персональным компьютером при помощи кабеля USB. После этого необходимо скачать программную среду Arduino IDE и написать скетч, предназначенный для активации драйвера.
Шаговый двигатель
Шаговые двигатели — силовые агрегаты синхронного типа, предназначенные для вращения рабочих узлов. Они применяются при конструировании роботов, станков с числовым программным управлением и электронно-вычислительных машин.
Главным элементом шагового двигателя является статор, на котором размещены обмотки. Ротор мотора выполнен из металлов с магнитными свойствами. Вдоль оси силовой установки размещены зубцы. Между ними находятся постоянные магниты. Устройства, в которых количество зубцов равно числу шагов, называются гибридными шаговыми двигателями.
Выделяют 3 основные разновидности силовых установок синхронного типа:
- Биполярные имеют 4 контакта с 2 обмотками. Они не соединены между собой, что усложняет процесс изменения полярности магнитного тока.
- Униполярные — обмотки соединены в виде звезды. Они состоят из 5 выводов. Управление этим мотором осуществляется при помощи поочередной подачи питания на все обмотки.
- Двигатели с 4 обмотками сочетают свойства биполярных и униполярных моторов.
Существуют следующие режимы управления шаговыми двигателями:
- Волновой. Силовой агрегат регулируется при помощи 1 обмотки. Этот метод позволяет передавать низкий крутящий момент при небольшом потреблении электроэнергии. При волновом способе управления привод совершает 4 шага за оборот.
- Полношаговый. Питание подается на 2 обмотки. Напряжение увеличивается в 2 раза, если детали мотора соединены параллельно. При последовательном соединении двигатель потребляет больше электроэнергии.
- Полушаговый. Этот режим позволяет позиционировать вал силовой установки. В данном случае обмотки могут включаться как попарно, так и по отдельности. При полушаговом методе управления крутящий момент составляет 100%.
Выделяют следующие преимущества шагового двигателя:
- Устройство не требует регулярного обслуживания. Основные детали мотора не изнашиваются после длительной эксплуатации. Они могут функционировать без поломок в течение нескольких лет.
- Стабильность показателей мощности: при повышении нагрузок на вал силового агрегата мощность мотора не изменяется.
- Высокая прочность комплектующих. При поломке регулировочного реостата двигатель продолжит стабильно работать. При нагрузках, превышающих максимальный крутящий момент, мотор пропускает шаги. Это позволяет предотвратить возгорание устройства.
- Привод имеет фиксированный угол поворота.
При подключении шагового мотора используются провода “плюс-минус”. Двигатель подключается к пинам EN, ENA и ENB, расположенным на драйвере. Источник питания подсоединяется к порту VSS. Модуль подключается к 8, 9, 10 и 11 контактам Arduino. Устройства подключаются к компьютеру при помощи USB-кабеля.

Программа для драйвера мотора
Для управления логической платой L298N требуется загрузить на модуль следующий скетч:
Управление скоростью мотора производится при помощи выходов ENABLE A и ENABLE B. ШИМ-сигналы кодируются в виде 0 и 255. Логический нуль обозначает остановку силового агрегата. Число 255 означает повышение скорости вращения двигателя до максимальных значений. Направление движения силовых установок определяется контактами IN1 — 2.