Главная → Моторы и приводы

Драйвер моторов L298N: обзор, схема, честные минусы

4 сентября 2026 · Моторы и приводы

Синяя платка с большим радиатором — первое, что попадает в руки при сборке машинки на Arduino. Внутри микросхема STMicroelectronics L298: два полных моста, то есть два мотора вперёд-назад с регулировкой скорости. Разбираем по документации производителя, что она может, и сразу — чего она не может.

Схема подключения драйвера моторов L298N: питание, входы IN1–IN4 и два двигателя
Схема подключения драйвера моторов L298N: питание, входы IN1–IN4 и два двигателя

Характеристики по документации ST

Параметр Значение
Напряжение питания моторов до 46 В
Суммарный ток до 4 А
Каналов два полных моста (2 мотора или 1 шаговый)
Управление обычные логические уровни, «ноль» — до 1,5 В
Падение напряжения на ключах около 1,8 В типовое, до 4,9 В в худшем случае
Защита от перегрева, встроенная
Корпус микросхемы Multiwatt15

Главный минус, о котором не пишут продавцы

Обратите внимание на строку с падением напряжения. L298 сделан на биполярных транзисторах, и часть питания оседает на них в виде тепла: при питании 12 В до мотора доходит около 9-10 В. Отсюда два следствия. Первое: мотор на 6 В от батарейного отсека 6 В попросту не поедет — нужно давать 9 В и выше. Второе: всё, что не доехало, греет радиатор, поэтому он такой большой.

Современная замена — драйверы на полевых транзисторах, например TB6612FNG или DRV8833: падение там доли вольта, размер меньше, нагрев почти нулевой. L298N остаётся оправдан, когда нужны высокое напряжение (до 46 В) и запас по току, или когда плата уже лежит в ящике.

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

L298N        Arduino
ENA       -> D5  (ШИМ, скорость мотора A)
IN1       -> D6
IN2       -> D7
IN3       -> D8
IN4       -> D9
ENB       -> D10 (ШИМ, скорость мотора B)
GND       -> GND (обязательно общий с платой!)
12V       -> плюс питания моторов
OUT1/OUT2 -> мотор A
OUT3/OUT4 -> мотор B

Общий GND — не формальность: без него плата и драйвер не имеют единой точки отсчёта, и моторы ведут себя как попало.

Перемычка 5V EN: самое опасное место

На плате есть джампер рядом с клеммником. Он включает встроенный стабилизатор, который делает 5 В из питания моторов.

Типовая ошибка: оставить перемычку, подать 19 В от ноутбучного блока и удивиться запаху. Стабилизатор на плате рассчитан на скромный вход.

Код: едем вперёд и тормозим

const int ENA = 5, IN1 = 6, IN2 = 7;

void setup() {
  pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
}

void loop() {
  digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);  // вперёд
  analogWrite(ENA, 200);                            // скорость 0..255
  delay(2000);

  digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);   // выбег
  delay(1000);

  digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); // торможение
  delay(500);
}

Комбинация «оба входа в ноль» отпускает мотор, «оба в единицу» — тормозит замыканием обмотки. На малых значениях ШИМ (меньше 60-70) мотор обычно только гудит: не хватает момента, чтобы тронуться.

Шаговый двигатель

Тот же модуль крутит один биполярный шаговик: обмотки на OUT1/OUT2 и OUT3/OUT4, управление — стандартной библиотекой Stepper. Но для шаговых моторов удобнее специализированные драйверы вроде A4988: у них задаётся ток, есть микрошаг и меньше нагрев. L298N здесь — вариант «из того, что есть».

Если моторы будут работать от аккумулятора, посмотрите заодно разбор зарядного модуля TP4056: питание моторов и питание логики лучше разводить отдельно.

Информация собрана из открытых источников и паспортов производителей и не является истиной в последней инстанции. Характеристики, распиновку и совместимость проверяйте по документации конкретной партии модуля перед покупкой и подключением.

Читайте дальше

Питание

Понижающий DC-DC LM2596 и повышающий MT3608: обзор и подключение

Зачем два модуля Питание в самоделке почти никогда не совпадает с тем, что даёт источник. У литиевого аккумулятора 3,7 В, а сервоприводу…

Читать обзор →
Питание

Модуль часов реального времени DS3231: обзор и подключение

Зачем плате Arduino часы У Arduino и ESP32 есть таймеры, но нет часов: millis() честно считает миллисекунды с момента включения, а какой…

Читать обзор →
Датчики

Датчики газа MQ-2 и MQ-135 — что они реально меряют

Датчики газа серии MQ — самые популярные газовые сенсоры для Arduino. Они дёшевы и просты в подключении, но обещания «обнаруживает 10 газов»…

Читать обзор →