Описание модуля драйвера двигателя постоянного тока L298N

Попробуйте наш инструмент устранения неполадок





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

Обзор

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



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

Иллюстрация модуля L298N:

Иллюстрация модуля L298N:



Модуль построен на базе микросхемы L298N и обычно доступен на сайтах электронной коммерции.

Мы используем Драйверы двигателей постоянного тока потому что микросхемы и микроконтроллеры в целом не могут выдавать ток не более 100 миллиампер. Микроконтроллеры умны, но не сильны, этот модуль добавит немного мускулов Arduino, IC и другим микроконтроллерам для управления двигателями постоянного тока большой мощности.

Он может управлять 2 двигателями постоянного тока одновременно до 2 ампер каждый или одним шаговым двигателем. Мы можем контролировать скорость используя ШИМ, а также направление вращения двигателей.

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

Давайте посмотрим на технические детали модуля L298N.

технические детали модуля L298N.

Описание пина:

· С левой стороны находятся порт OUT1 и OUT2, предназначенный для подключения двигателя постоянного тока. Аналогично OUT3 и OUT4 для другого двигателя постоянного тока.

· ENA и ENB являются контактами включения, при подключении ENA к высокому уровню или + 5V он включает порт OUT1 и OUT2. Если вы подключите контакт ENA к низкому уровню или к земле, он отключает OUT1 и OUT2. Аналогично для ENB и OUT3 и OUT4.

· IN1 - IN4 - это входные контакты, которые будут подключены к Arduino. Если вы вводите IN1 + Ve и IN2 –Ve с микроконтроллера или вручную, OUT1 становится высоким, а OUT2 становится низким, поэтому мы можем управлять двигателем.

· Если вы вводите IN3 с высоким уровнем, OUT4 становится высоким, а если вы вводите IN4 с низким уровнем, OUT3 становится низким, теперь мы можем управлять другим двигателем.

· Если вы хотите изменить направление вращения двигателя, просто поменяйте полярность IN1 и IN2, аналогично для IN3 и IN4.

· Подавая сигнал PWM на ENA и ENB, вы можете управлять скоростью двигателей на двух разных выходных портах.

· Плата может работать от 7 до 12 В. Вы можете подавать питание на клемму +12 В и заземлять до 0 В.

· Клемма + 5V - ВЫХОД, который может использоваться для питания Arduino или любого другого модуля, если это необходимо.

Джемперы:

Есть три перемычки, которые вы можете прокрутить вверх, чтобы увидеть иллюстрированное изображение.

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

Перемычка 1 (см. Иллюстрированное изображение):

· Если вашему двигателю требуется питание более 12 В, необходимо отключить перемычку 1 и подать желаемое напряжение (максимум 35 В) на клемму 12 В. Принесите еще Питание 5В и вход на клемме + 5V. Да, вам необходимо ввести 5 В, если вам нужно подать напряжение более 12 В (когда перемычка 1 снята).

· Вход 5 В предназначен для правильного функционирования ИС, поскольку снятие перемычки отключит встроенный регулятор 5 В и защитит от более высокого входного напряжения с клеммы 12 В.

· Клемма + 5V действует как выход, если напряжение питания составляет от 7 до 12 В, и как вход, если вы подаете напряжение более 12 В и перемычку убираете.

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

Перемычка 2 и перемычка 3 (см. Иллюстрированное изображение):

· Если вы удалите эти две перемычки, вам нужно будет ввести сигнал включения и отключения от микроконтроллера, большинство пользователей предпочитают удалить две перемычки и подать сигнал с микроконтроллера.

· Если вы сохраните две перемычки, выходы OUT1 на OUT4 будут всегда включены. Помните перемычку ENA для OUT1 и OUT2. Перемычка ENB для OUT3 и OUT4.

Теперь давайте посмотрим на практическую схему, как мы можем моторы интерфейса, Arduino и подача на модуль драйвера.

Схема:

принципиальная схема модуля L298N.

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

Вам просто нужно запитать модуль L289N, и модуль запитает Arduino через клемму Vin.

Приведенная выше схема будет вращать оба двигателя по часовой стрелке на 3 секунды и останавливаться на 3 секунды. После этого мотор будет вращаться против часовой стрелки в течение 3 секунд и остановится на 3 секунды. Это демонстрирует H-мост в действии.

После этого оба двигателя начнут медленно вращаться против часовой стрелки, постепенно набирая скорость до максимальной и постепенно снижая скорость до нуля. Это демонстрирует управление скоростью двигателей с помощью ШИМ.

Программа:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Авторский прототип:

Прототип Arduino схемы драйвера двигателя с использованием модуля L298N.

Если у вас есть какие-либо вопросы относительно этого проекта драйвера двигателя постоянного тока L298N, не стесняйтесь выражать их в разделе комментариев, вы можете получить быстрый ответ.




Предыдущая статья: Схема зарядного устройства для нескольких аккумуляторов с использованием конденсатора сброса Следующая статья: Радиоуправляемая машина 2,4 ГГц, управляемая джойстиком, с использованием Arduino