Каталог

Двухмостовой драйвер управления электродвигателями HW-094 на L298N 4А

Цена:

200 р.
менее 500 шт.
Уже в корзине
Код товара: 10628
Оригинальное название:
HW-094 L298N Dual H-Bridge Motor Driver Module

Описание товара

L298N - это один из наиболее популярных драйверов двигателей. Он содержит в себе два H-моста, и позволяет управлять направлением и скоростью вращения двух двигателей постоянного тока (или одним шаговым двигателем, хотя для них существуют более специализированные микросхемы). Модули, построенные на базе этой микросхемы, содержат все необходимые компоненты обвязки, выводы и клеммы, что облегчает их применение.

Зачем вообще нужны драйверы двигателей?

Двигатели постоянного тока являются одними из основных компонентов в робототехнике. Но зачастую им требуется напряжение, превышающее напряжение питания микроконтроллера. И даже если двигатель рассчитан на 3-5 вольт, он может потреблять значительный ток - сотни миллиампер и более. Это означает, что его нельзя подключать напрямую к выводам Ардуино, т.к. это приведёт к повреждению микроконтроллера. Как же быть?

Простейшее решение - это использовать некий ключ, например, транзистор, который будет управляться цифровым выводом Ардуино и запускать двигатель:

Подключение двигателя к Ардуино через NPN транзистор

Это вполне рабочее решение, с его помощью можно даже управлять скоростью вращения двигателя, если подключить транзистор к выводу Ардуино с поддержкой ШИМ. Однако оно не позволит менять полярность напряжения на двигателе, а значит мы не сможем менять направление вращения. Чтобы решить эту проблему нам придётся усложнить схему, добавив в неё еще несколько деталей:

Схема H-моста

Приведённая схема получила название H-моста благодаря её графическому изображению, напоминающему букву H. При таком соединении транзисторы при подаче на них управляющих сигналов будут открываться попарно: либо Q1 и Q4, либо Q2 и Q3. Таким образом обеспечивается изменение полярности напряжения, прикладываемого к нагрузке (мотору). К счастью, нам не придётся собирать подобную схему самостоятельно, поскольку она уже доступна в виде готовых микросхем. Такие микросхемы называют драйверами двигателей. И одной из них является микросхема L298N.

Драйвер L298N довольно мощный. Он способен питать двигатели напряжением до 46 вольт. Максимальный допустимый ток составляет 2 ампера на канал. При этом для работы самого драйвера требуется напряжение 4.5-7 вольт, а потребляемый им ток не превышает 70 миллиампер. Подробные технические характеристики драйвера L298N можно найти в даташите.

Выводы модуля L298N

Выводы модуля L298N

На плате модуля имеются 6 управляющих выводов: ENA - позволяет управлять скоростью первого двигателя при помощи ШИМ сигнала, IN1 и IN2 - направлением его вращения. ENB, IN3, IN4, соответственно, отвечают за второй двигатель. Если вы не планируете управлять скоростью вращения, то можете подтянуть выводы ENA и ENB к линии питания, установив соответствующие перемычки. 

Также на плате присутствует перемычка выбора источника питания для работы драйвера. При установленной перемычке драйвер будет работать от источника питания двигателей через стабилизатор 78M05; при снятой - от линии +5V

Если вы питаете двигатели напряжением 4-5.5 В, то есть нет необходимости понижать его для драйвера, то перемычку выбора питания следует снять, а напряжение подвести к выводам +12V и +5V. Если напряжение источника превышает указанный диапазон, то подводим его только к +12V и устанавливаем перемычку.

Логика управления двигателем с использованием драйвера L298N отражена в следующей таблице:

Состояние входов Назначение
ENA = HIGH IN1 = HIGH, IN2 = LOW Движение вперёд
IN1 = LOW, IN2 = HIGH Движение назад
IN1 = IN2 Тормоз (выводы двигателя закорачиваются)
ENA = LOW IN1 = X, IN2 = X Двигатель обесточен

Данные в таблице приведены для первого двигателя. Для второго принцип тот же, но используются ENB, IN3 и IN4.

Подключение модуля L298N к Ардуино

Подключение модуля L298N к Ардуино

Данная схема предполагает использование общего источника питания для Ардуино, драйвера двигателей и самих двигателей. Перемычка выбора питания для L298N установлена. Теперь остаётся загрузить в Ардуино скетч, который будет управлять работой двигателей. Пример такого скетча приведён ниже.

// Мотор A
const byte pin_M1_speed = 9;
const byte pin_M1_dir1 = 2;
const byte pin_M1_dir2 = 3;
// Мотор B
const byte pin_M2_speed = 10;
const byte pin_M2_dir1 = 4;
const byte pin_M2_dir2 = 5;

void setup() {
  pinMode(pin_M1_speed, OUTPUT);
  pinMode(pin_M1_dir1, OUTPUT);
  pinMode(pin_M1_dir2, OUTPUT);
  pinMode(pin_M2_speed, OUTPUT);
  pinMode(pin_M2_dir1, OUTPUT);
  pinMode(pin_M2_dir2, OUTPUT);
}

void loop() {
  // Выставляем направление вращения
  digitalWrite(pin_M1_dir1, HIGH);
  digitalWrite(pin_M1_dir2, LOW);
  digitalWrite(pin_M2_dir1, HIGH);
  digitalWrite(pin_M2_dir2, LOW);
  // В цикле наращиваем скорость
  for (byte i = 100; i < 250; i += 10) {
    analogWrite(pin_M1_speed, i);
    analogWrite(pin_M2_speed, i);
    delay(500);
  }
  // Меняем направление вращения
  digitalWrite(pin_M1_dir1, LOW);
  digitalWrite(pin_M1_dir2, HIGH);
  digitalWrite(pin_M2_dir1, LOW);
  digitalWrite(pin_M2_dir2, HIGH);
  // Уменьшаем скорость в цикле
  for (byte i = 250; i > 100; i -= 10) {
    analogWrite(pin_M1_speed, i);
    analogWrite(pin_M2_speed, i);
    delay(500);
  }
  // Тормоз
  digitalWrite(pin_M1_dir2, LOW); // pin_M1_dir1 и pin_M2_dir1 уже установлены в LOW
  digitalWrite(pin_M2_dir2, LOW);
  delay(3000);
}

Для удобства код установки скорости и направления вращения можно вынести в отдельные процедуры и вызывать их по мере необходимости.

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru