Драйвер L298N: управление моторами с Arduino

Драйвер L298N: управление моторами с Arduino

Модуль L298N на двух H-мостах управляет двумя коллекторными моторами или одним биполярным шаговым. Разбираем подключение и логику скетча.

Что умеет модуль

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

Внешний вид модуля L298N с обозначением элементов

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

Электрическая схема модуля L298N
Транзисторные мосты H-типа

Подключение двух моторов

В примере драйвер работает с платой Arduino Nano. Входы разрешения ENA и ENB отвечают за скорость первого и второго мотора и подключены к пинам 9 и 3. Направление первого мотора задают входы IN1 и IN2 (пины 7 и 6), второго — IN3 и IN4 (пины 5 и 4).

Схема подключения двух коллекторных двигателей к L298N и Arduino
  • ENA — пин 9, ENB — пин 3: ШИМ-сигнал скорости;
  • IN1 — пин 7, IN2 — пин 6: направление мотора №1;
  • IN3 — пин 5, IN4 — пин 4: направление мотора №2.

Как работает скетч

В начале программы макроопределениями задаются номера всех используемых выводов, а в setup() они переводятся в режим выхода. На IN1–IN4 сразу выставляются логические нули, чтобы при старте моторы гарантированно стояли.

Скорость хранится в переменной power — это значение ШИМ, которое командой analogWrite передаётся на ENA и ENB. Стартовое значение — 105. В основном цикле моторы вращаются в одну сторону (на IN1 и IN3 высокий уровень, на IN2 и IN4 низкий), и каждые 3 секунды значение увеличивается на 30, пока не подойдёт к максимуму 255. Затем уровни на входах направления меняются местами, моторы начинают крутиться в обратную сторону, а скорость с тем же шагом и интервалом снижается от 225 до 105. После этого всё повторяется.

Тот же модуль подходит и для биполярного шагового двигателя, который занимает оба моста; в источнике упоминается такая схема на Arduino Nano, а в качестве практического применения драйвера приводится робот-машинка на колёсном шасси.

← Все статьи