Плавный разгон

ШИМ на ENA задаёт скорость: обороты под мотором растут и падают вместе с ним.

Средний уровень Arduino Uno C++
Схема подключения: Плавный разгон
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Arduino UnoD8→Драйвер L298NIN1
Arduino UnoD7→Драйвер L298NIN2
Arduino UnoD9→Драйвер L298NENA
Arduino UnoGND→Драйвер L298NGND
Источник питания+→Драйвер L298NVS
Источник питания-→Драйвер L298NGND
Драйвер L298NOUT1→Мотор постоянного токаM1
Драйвер L298NOUT2→Мотор постоянного токаM2

Скетч

// Плавный разгон и торможение одним каналом.
const int IN1 = 8, IN2 = 7, ENA = 9;

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

void loop() {
  for (int v = 100; v <= 255; v += 5) { analogWrite(ENA, v); delay(80); }
  for (int v = 255; v >= 100; v -= 5) { analogWrite(ENA, v); delay(80); }
}

Как это работает

Как это работаетENA — это «газ». analogWrite выдаёт ШИМ, драйвер повторяет его на выходе, и на обмотке получается среднее напряжение: 255 — полное, 128 — половина.

Направление при этом задают всё те же IN1 и IN2 и от скорости не зависят.

Что покрутить• начните разгон не со 100, а с 0 — увидите, что до какого-то значения мотор просто гудит и не едет: не хватает момента;
• уменьшите питание до 6 В — та же программа будет крутить заметно медленнее;
• поменяйте IN1/IN2 местами — разгон пойдёт в другую сторону.

Коротко о детали: Драйвер L298N

Классический двухканальный H-мост на L298N: два мотора, направление задают IN1…IN4, скорость — ШИМ на ENA и ENB. Мостовая микросхема теряет около 1,8 В, поэтому мотору достаётся меньше, чем на клемме питания.

Распиновка и все примеры →

Ещё примеры с деталью «Драйвер L298N»

Попробуйте сами

Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.

Открыть «Плавный разгон» в симуляторе