Найти тему
RCRoboLab

Драйвер коллекторного мотора MX1508 (L298N mini).

Оглавление

Важная информация!

Почему именно MX1508 (L298N mini)? Ну тут все просто: дешевый, доступный, в меру надежный (за свои 90р так вообще за гранью), да и управлять им просто! Из недостатков только напряжение питания моторов, и то условно.

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

Приступим!

На драйвере 6(!) пинов на вход и 4 на выход. (см. фото)

Схема подключения драйвера L298N mini.
Схема подключения драйвера L298N mini.

ВХОД:
Первые два («+» и «-») - это питание мотора от источника питания. Важно: на вход по питанию подается напряжение ДО 10 вольт. Также не забываем что все земли нужно собрать в одну цепь, и если ваш микроконтроллер питается от другого источника питания, к примеру от USB порта, то «-» также нужно закинуть на GND микроконтроллера.

Остальные (in1, in2, in3, in4) это вход сигнала для управления двумя моторами! где:

in1 и in2 - управляют мотором A.

in3, in4 — управляют мотором Б

Важно помнить что диапазон управляющего сигнала должен быть от 0 до 5 вольт.

ВЫХОД:

Собственно 2 на мотор А и 2 на мотор Б.

Теперь поговорим о логике управления моторами через драйвер.

Тут все лаконично. Для простоты понимания можно представить что вы подключаете коллекторный мотор к источнику питания в ручную. Для этого нам нужно было бы подать «+» на один контакт мотора и «-» на другой контакт мотора, и он начал бы вращаться в одну сторону, поменяли полярность — в другую.

Так вот и с драйвером также. Если на in1 подать сигнал HIGH/1/5v, а на in2 подать LOW/0/0v - то мотор А будет крутиться в одну сторону с максимально возможной скоростью. если сигналы поменять местами то и мотор будет крутиться в другую сторону, с максимально возможной скоростью. Мотор Б аналогично.

Для того чтобы регулировать скорость вращения мотора нам необходимо на один пин (к примеру in1) подать сигнал LOW. А на другой (соответственно in2) подать аналоговый (или ШИМ) сигнал. В случае Arduino UNO/NANO сигнал будет варьироваться от «0» до «255», где «0» будет соответствовать полной остановке мотора, а «255» его крашению на полную скорость.

ВАЖНО понимать что старт вращения мотора не происходит при подачи сигнала близкого к «0» (1, 2, 3...), по факту многие моторы стартуют только при сигнале больше «50», это значение нужно подобрать для мотора, и писать код принимая это во внимание!

Теперь немного практики и кода!

Пример №1: Просто вращаем мотор с максимально возможной скоростью. Язык Arduino (C++)

Пример №1
Пример №1

Пример №2: Вращаем мотор с переменной скоростью. Скорость задается потенциометром.

Пример №2
Пример №2

Драйвер коллекторного мотора DRV8833
Драйвер коллекторного мотора TB6612FNG

Другие интересные статьи и уроки вы найдете тут.