- Ардуино: драйвер L298N для мотора постоянного тока
- Назначение элементов и контактов на плате драйвера L298N
- Подключение драйвера L298N к Ардуино Уно
- Программа для драйвера мотора L298N
- Заключение
- Обзор драйвера мотора на L298N
- Технические параметры
- Общие сведения
- Подключение L298N к Arduino (коллекторный двигатель)
- Как подключить L298n к Ардуино
- Описание драйвера мотора L298N
- Технические характеристики
- Варианты подключения к Ардуино и схемы
- Коллекторный двигатель
- Шаговый двигатель
- Программа для драйвера мотора
Ардуино: драйвер L298N для мотора постоянного тока
Чтобы управлять вращением мотора, любому контроллеру необходимо специальное устройство, которое часто называют драйвером (от англ. driver — водитель). В уроке «управление двигателем постоянного тока» мы уже пробовали запускать и вращать в разные стороны мотор двумя способами: с помощью одного транзистора и с помощью микросхемы драйвера L293D.
На этот раз, попробуем использовать более мощный двухканальный драйвер L298N, который часто можно встретить в виде модуля красного цвета (хотя встречаются зеленые и синие модели).
Как и в случае L293N, драйвер представляет собой полный H-мост, главная функция которого — менять полярность на нагрузке. А если в качестве нагрузки будет мотор постоянного тока, то смена полярности приведет к смене направления его вращения. Это то, что нам нужно.
Спецификация модуля L298N:
- напряжение питания двигателей: до 35 В;
- рабочий ток (на каждый канал): 2 А;
- периодический ток (80% — вкл, 20% — выкл): 2,5 А;
- кратковременный ток: 3 А;
- вес: 33 г.
Драйвер L298N работает с более высоким током, чем L293D. С помощью L298N мы можем управлять и слабыми моторчиками типа n20 и мощными моторами, такими как JGA25 или даже JGA37 с крутящим моментом до 20-25 кг/см. Хватит для большинства DIY проектов!
Назначение элементов и контактов на плате драйвера L298N
Посмотрим внимательнее на модуль и разберемся с его контактами.
Логика микросхемы L298N питается напряжением 5 Вольт. Для этого на модуле предусмотрен стабилизатор напряжения 78M05. На вход этого стабилизатора можно подавать напряжение до 35 В, а на выходе всегда получается 5 В. Рабочий ток у 78M05 небольшой — до 500 мА. Однако, при желании, от него можно питать и саму плату Ардуино Уно, к которой мы будем подключать драйвер.
Тройная клемма снизу отвечает за питание модуля. Самый левый контакт — питание моторов. Сюда можно подавать до 35 В. Средний контакт — земля, которая должна быть общей для модуля и контроллера. Правый контакт имеет двоякую функцию. Если на модуле стоит перемычка питания стабилизатора, то на этом контакте будет +5В и к нему можно ничего не подключать, либо питать от него контроллер. Но если перемычку убрать, то к этому контакту нужно будет непременно подключить +5В от контроллера, чтобы питать драйвер. В нашем примере мы будем ориентироваться именно на вариант без перемычки.
Две другие винтовые клеммы (OUT1/2 и OUT 3/4) служат для подключения моторов. Надо отметить, что моторы постоянного тока неполярные, но от того на какой контакт мотора подается плюс, а на какой минус, зависит направление их вращения.
Наконец, осталось разобраться с контактами управления. Их по три штуки на каждый мотор. Контакты ENA и ENB позволяют управлять моторами с помощью ШИМ сигнала. Если ENA и ENB подключить строго к +5 В, то моторы будут всегда вращаться с максимальной возможной скоростью. Именно для этого режима на модуле предусмотрены две перемычки рядом с ENA и ENB.
С помощью контактов IN1,IN2,IN3,IN4 задаётся режим работы моторов. Таблица режимов для двигателя A имеет вид:
Режим | IN1 | IN2 |
Вращение в одну сторону | 1 | 0 |
Вращение в обратную сторону | 0 | 1 |
Блокировка мотора | 1 | 1 |
Отключение мотора | 0 | 0 |
Тут следует пояснить последние два режима. Если нам необходимо резко остановить мотор, то выбираем режим блокировки. Для плавной остановки — выбираем «отключение мотора»
Подключение драйвера L298N к Ардуино Уно
Чтобы попробовать драйвер в деле, подключим его к контроллеру Ардуино Уно и к любому, попавшему под руку, небольшому мотору постоянного тока. В данном уроке мы используем самый простой мотор с напряжением питания 1,5-3 Вольта. Для питания этого мотора нам будет достаточно двух пальчиковых батареек. В такой схеме просто невозможно запитать микросхему драйвера от встроенного стабилизатора, поэтому питание +5В будем брать от Ардуино.
Также отметим, что при данной схеме подключения с внешним питанием +5 В, нам нужно убрать соответствующую перемычку, о которой мы говорили выше (перемычка питания от стабилизатора)!
Ну и раз уж мы планируем управлять скоростью вращения, уберем перемычку с контакта ENA.
Принципиальная схема
Внешний вид макета
Программа для драйвера мотора L298N
Напишем простую программу, которая будет вращать мотор в одну сторону 3 секунды с максимальной скоростью, и затем 3 секунды в обратную сторону с более медленной скоростью.
Загружаем программу на Ардуино, затем подключаем к драйверу элементы питания и смотрим как ведёт себя моторчик.
Следует отметить, что данная программа не гарантирует вращение мотора с какой-то конкретной скоростью. Мы лишь можем менять мощность, передаваемую на мотор, с помощью изменения коэффициента заполнения ШИМ сигнала (duty cycle). Подробнее о ШИМ сигнале можно узнать в одном из наших уроков.
Заключение
Итак, модуль драйвера L298N оказался не таким сложным, как могло показаться. Все драйверы имеют практически схожие контакты управления: EN,IN1,IN2. Бывает, что отдельный вход EN отсутствует, и тогда ШИМ сигнал подается на IN1,IN2. Разобравшись с одним драйвером, мы можем с легкостью применять в своих проектах и другие модели.
Как уже было написано, L298N является достаточно мощным чтобы потянуть большинство моторов, применяемых в DIY проектах. Это и популярные пластиковые желтые моторы с редуктором и более мощные металлические JGA25 и JGA37.
Отдельно следует отметить и ещё одно распространенное применение L298N. С помощью этого драйвера можно управлять биполярными шаговыми двигателями, хотя и не настолько эффективно, как это делают специализированные драйвера типа A4988.
Обзор драйвера мотора на L298N
Автор: Сергей · Опубликовано 20.12.2018 · Обновлено 13.04.2020
Одним из самых простых и недорогх способов управления двигателями постоянного тока является модуль L298N Motor Driver с Arduino. Он может контролировать скорость и направление вращения двух двигателей постоянного тока, а так же управлять биполярным шаговым двигателем (типа NEMA 17).
Технические параметры
► Напряжение питания логики модуля: 5 В
► Потребляемый ток встроенной логики: 36 мА
► Напряжение питания драйвера: 5 В – 35 В
► Рабочий ток драйвера: 2 А (пиковый ток 3 А)
► Габариты: 43.5 мм х 43.2мм х 29.4мм
Общие сведения
Основной чип модуля это микросхема L298N, состоящая из двух H-мост (H-Bridge), один для выхода A, второй для выхода B. H-мост широко используется в электронике и служит для изменения вращения двигателем, схема H-моста содержит четыре транзистора (ключа) с двигателем в центре, образуя H-подобную компоновку. Принцип работы прост, при одновременном закрытие двух отдельных транзистора изменяется полярность напряжения, приложенного к двигателю. Это позволяет изменять направление вращения двигателя. На рисунке ниже, показана работа H-мостовой схемы.
Для управления скоростью двигателя постоянного тока используется метод PWM (Широтно-импульсной модуляции).
Модуль L298N содержит разъем для подключения питания, ряд перемычек для настройки модуля, два выхода A и B и разъем управления, которые регулируют скорость и направление вращения, назначение каждого можно ознакомится ниже:
► Вывод Vss — питание двигателей, от 5 до 35 В;
► Вывод GND — общий вывод заземления;
► Вывод Vs — питание для логической схемы;
► Перемычка ENA — используются для управления скоростью двигателя A;
► Вывода IN1 и IN2 — используются для управления направлением вращения двигателя A;
► Вывода IN3 и IN4 — используются для управления направлением вращения двигателя B;
► Перемычка ENB — используются для управления скоростью двигателя B;
► Выходы OUT1 и OUT2 — разъем для двигателя A;
► Выходы OUT3 и OUT4 — разъем для двигателя B;
Принципиальная схема модуля L298N
Питание модуля.
Питание модуля L298N осуществляется через трех контактный разъем, шагом 3,5 мм:
► Vs — источник питания двигателей, 3B — 35B
► GND — земля
► Vss — источник питания модуля, 4,5В — 5,5В
Фактически у модуля L298N, есть два контакта питания, а именно. «Vss» и «Vs». От «Vs» питаются двигатели с допустимым напряжением от 5 В до 35 В, а от «Vss» питается логическая схема модуля 4,5В до 5,5В. На плате установлен встроенный стабилизатор напряжения на 5 Вольт (78M05), его можно включить или отключить с помощью перемычки. Когда перемычка установлена, стабилизатор включен и питает логику модуля (Vss) от источника питания двигателя (Vs). При включенном стабилизаторе, вход «Vss» работает как выход и обеспечивает 5В с током 0,5 А. Когда перемычка убрана, стабилизатор отключен и необходимо отдельно подключить питание 5 Вольт на вход Vss.
Внимание! Нельзя установить перемычку, если напряжение двигателя ниже 12 Вольт.
Падение напряжения L298N
Падение напряжения драйвера L298N составляет около 2 В, это связано с внутренним падением напряжения в транзисторах в цепи H-мосте. Таким образом, если мы подключим 12 В к источнику питания двигателя, то двигатели получат напряжение около 10 В. Это означает, что двигатель на 12 В не будет работать с максимальной скоростью, для получения максимальной скорости, напряжение поданное на двигателя должен быть выше напряжения (2 В), чем потребность в фактическом напряжении двигателя. Учитывая падение напряжения на 2 В, если вы используете двигатели 5 В, вам необходимо обеспечить питание 7 В. Если у вас 12-ваттные двигатели, то напряжение питания вашего двигателя должно составлять 14 В.
Управления скоростью
Разъемы управления скоростью ENA и ENB используются для включения и выключения управления скоростью двигателей. Когда перемычка установлена, двигатель вращается с максимальной скоростью. Если необходимо управлять скоростью двигателей, необходимо убрать перемычку и подключить выводы к контактам с поддержкой PWM на Arduino.
Подключение L298N к Arduino (коллекторный двигатель)
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Драйвер мотора на L298N (5-35V, 2A) x 1 шт.
► Коллекторный двигатель x 2 шт.
► Комплект проводов DuPont 2.54 мм, 20 см x 1 шт.
Подключение:
Первым делом необходимо подключить источник питания 12B к двигателям, в примере используется распространенные двигатель постоянного тока, рассчитанные на 3B . . . 12B (применяемые в робототехнике). Учитывая внутреннее падение напряжения на микросхеме L298N, двигатели получат 10 В и будут вращаться не в полную силу.
Далее, нужно подключить 5 вольт на логическую схему L298N, для этого воспользуемся встроенным стабилизатором напряжения, который работает от источника питания двигателя, поэтому, перемычка EN должна быть установлена.
Теперь осталось подключить управляющие провода ENA, IN1, IN2, IN3, IN4 и ENB к шести цифровым выводам Arduino 9, 8, 7, 5, 4 и 3. Обратите внимание, что выводы Arduino 9 и 3 поддерживают ШИМ. Теперь, подключаем двигатели, один к клемме A (OUT1 & OUT2), а другой к клемме B (OUT3 & OUT4). Принципиальная схема подключения приведена ниже.
Осталось подключить Arduino к источнику питания и загрузить скетч.
Как подключить 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.