Драйвер мотора L298N

Драйвер L298N
Используется для многофункционального управления двигателями постоянного тока. Схема модуля позволяет подключать к нему один шаговый двигатель или одновременно два двигателя постоянного тока.

При этом есть возможность изменять скорость и направление вращения моторов. Управление осуществляется путём подачи соответствующих сигналов на командные входы, выполненные в виде штыревых контактов
  • OUT1 и OUT2 – разъёмы для подключения первого двигателя
  • OUT3 и OUT4 – разъёмы для подключения второго двигателя
  • VSS – вход для питания двигателей (максимальный уровень +35V);
  • GND – общий провод земля
  • Vs – вход для питания логики +5V. Через него непосредственно запитывается сама микросхема L298N. Есть ещё второй способ питания, при котором 5V для L298N берётся от встроенного в модуль стабилизатора напряжения. В таком случае на разъём подаётся только питание для двигателей (Vss), контакт Vs остаётся не подключенным, а на плате устанавливается перемычка питания от стабилизатора, который ограничит питающее моторы напряжение до приемлемых 5V.
  • IN1, IN2 – контакты управления первым двигателем
  • IN3, IN4 – контакты управления вторым двигателем
  • ENA, ENB – контакты для активации/деактивации первого и второго двигателей. Подача логической единицы на эти контакты разрешает вращение двигателей, а логический ноль – запрещает. Для изменения скорости вращения моторов на эти контакты подаётся ШИМ-сигнал.
  • ENA - S0 - для управления скоростью подключается к каналу с ШИМ
  • ENB - S1 - для управления скоростью подключается к каналу с ШИМ
  • IN1 - S13 - для управления направлением вращения мотора 1
  • IN2 - S14 - для управления направлением вращения мотора 1
  • IN3 - S15 - для управления направлением вращения мотора 2
  • IN4 - S16 - для управления направлением вращения мотора 2
+12 - подключается питание моторов
GND - подключение земли от питания
OUT1 и OUT2 - подключение 1 мотора
OUT3 и OUT3 - подключение 2 мотора

Программа управления

Создаются функции для управления роботом. Объявляем переменные для управления скорость моторов. Создаем функцию остановки робота - "СТОП"
Функция "ВПЕРЕД" - передвижение вперед (если робот перемещается не правильно исправьте подключение проводов или поменяйте 0 и 1)

Функция "НАЗАД" - передвижение вперед (если робот перемещается не правильно исправьте подключение проводов или поменяйте 0 и 1)
Функция "НАВЛЕВО" - передвижение вперед (если робот перемещается не правильно исправьте подключение проводов или поменяйте 0 и 1)

Функция "НАВПРАВО" - передвижение вперед (если робот перемещается не правильно исправьте подключение проводов или поменяйте 0 и 1)
Пример программы для следования вдоль линии на двух датчиков освещенности