Подключение DC электромоторов к Raspberry Pi через драйвер L298N

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

Управление DC электромоторами

Управление электромотором подразумевает под собой управление скоростью и направлением его вращения. Это достигается сочетанием двух методов:

  • ШИМ (широтно-импульсная модуляция) для управления скоростью вращения
  • H-Bridge - для управления направлением вращения

Управление скоростью вращения при помощи ШИМ

Скорость вращения мотора регулируется через изменение уровня подаваемого на него напряжения.

ШИМ это методика, суть которой состоит в том, что среднее значение напряжение на входе регулируется серией импульсов ВКЛ-ВЫКЛ, т.е быстрыми включениями и выключениями подачи напряжения питания к двигателю.

Средняя величина напряжения будет пропорциональна коэффициенту заполнения (ширине) импульса - чем больше коэффициент, тем выше напряжение, и наоборот.

Эта картинка иллюстрирует данную зависимость:

H-Bridge

Направление вращения регулируется сменой полярности входного напряжения. Стандартным способом реализации такой смены является H-Bridge

В электрической цепи (которая визуально напоминает букву Н) H-Bridge присутствуют 4 ключа с мотором в центре этой цепи.

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

L298N - драйвер электромотора

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

Питание драйвера

Питание к L298N подаётся через трёхконтактный (1 контакт Vs - питание, которое будет подаваться через драйвер на моторы; 2 контакт GND - земля; 3 контакт Vss - питание 5V для управляющего драйвером устройства, в качестве которого может выступать микроконтролер или Raspberry Pi) зажимной терминальный разъём (провода вставляются в разъём и зажимаются вращением винта на разъёме).

L298N имеет также встроенный стабилизатор (78M05) напряжения до 5V. Когда установлен джампер, то этот стабилизатор работает и с контакта Vss можно снимать 5V 0.5А для питания управляющего драйвером устройства. Когда джампер снят, то стабилизатор выключен, а значит нам нужно питатьуправляющее драйвером устройство от независимого источника питания.

Использование джампера запрещено, при подаче на 1-ый контакт (Vs) напряжения, превышающего 12В. Это может привести к выходу из строя стабилизатора78M05 .

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

Падение напряжения на L298N

Падение напряжение на драйвере может достигать 2В, за счёт падения напряжения на транзисторах Н-Моста. Таким образом, при подаче на контакт Vs 12В до электромоторов дойдёт только 10В, а значит они не смогут выйти на максимум своих оборотов (естественно речь идёт о 12-ти вольтовых DC электромоторах). Таким образом напряжение, подаваемое на контакт Vss должно быть на 2V выше напряжения работы электромотора (14В для 12-ти вольтовых моторов, 7В для пятивольтовых соответственно)

Подключение DC электромоторов к драйверу

Электромоторы подключаются к зажимным контактам по краям платы.

Можно подключать электромоторы, рассчитанные на напряжение 5-35V. Максимальный ток от драйвера к каждому мотору - 2А (если источник питания драйвера умеет отдавать столько тока)

Контакты контроля направления вращения

Используя контакты IN1-IN4, можно менять направление вращения электромоторов (различные уровни напряжения на этих контактах приводят к замыканию нужных пар ключей Н-Моста драйвера L298N) - по часовой стрелке или в обратном направлении.

Контакты IN1 IN2 управляют направлением вращение первого электоромотора (А), IN3 IN4 - второго электромотора (В) Направление вращения моторов зависит от того, какой уровень напряжения (высокий или низкий) подаётся на эти контакты.

Возможно 4 варианта:

  • Низкий уровень напряжения на обоих контактах - мотор выключен
  • Высокий уровень напряжения на обоих контактах - мотор выключен
  • In1 высокий уровень, In2 низкий уровень - мотор вращается вперёд
  • Ln1 низкий уровень, In 2 высокий уровень - мотор вращается назад

Контакты контроля скорости

Для управления скоростью вращения моторов используется контакты ENA (мотор А), ENB(мотор В)

Низкий уровень - мотор отключен, высокий уровень - мотор работает на максимальных оборотах, ШИМ - различная скорость вращения в зависимости от коэффициента заполнения импульсов. По умолчанию на этих контактах установлены джамперы, их следует снять, если вы хотите управлять оборотами.

Подключение L298N к Raspberry Pi

Теперь, когда мы хорошо знакомы с драйвером L298N, можно подключить к нему питание, моторы и Raspberry Pi

Raspberry Pi я запитал через 5V внешний аккумулятор PowerBank. Поскольку у меня не было аккумулятора на 12V драйвер L298N я запитал от того же внешнего аккумулятора, вставив в него повышающий DC/DC преобразователь

В следующей статье рассмотрим программирование двухколёсного робота с драйвером L298N

 

Автор:

Комментариев: 1

  • Ivan27
    26.06.2021 в 06:11 ответ

    здравствуйте, а не подскажете ,где искать вторую статью по управлению драйвером с распберри?

Ваш комментарий

Авторизуйтесь для отправки комментария

© Сообщество пользователей RaspberryPi 2021