Arduino UNO урок 13 - драйвер двигателя L298N |
Микросхема L298N представляет собой сдвоенный мостовой драйвер двигателей и предназначена для управления DC и шаговыми двигателями. Данная микросхема находит очень широкое применение в роботостроительстве. Одна микросхема L298N способна управлять двумя двигателями и обеспечивает максимальную нагрузку до 2А на каждый двигатель, а если задействовать параллельное включение для одного двигателя, то можно поднять максимальный ток до 4А.
В данной статье я хочу рассмотреть подключение к Arduino готового модуля L298N, которые очень широко представлены на популярном аукционе ebay и в др. местах. Можно конечно купить данную микросхему и в России и сделать самому шилд и всю обвязку, но сегодняшняя реальность такова, что при средней стоимости модуля на ebay в 5 долларов, все комплектующие при покупке у нас выйдут примерно также, а то и дороже. Не говоря уже про трудозатраты на изготовление печатной платы, пайку и т.д.
Сами модули на микросхемах L298N выглядят так:
Принципиальная схема такого модуля выглядит следующим образом:
Шилд имеет следующие пины подключения:
- Vcc - подключение внешнего питания двигателей
- +5 - питание логики
- GND - общий
- IN1, IN2, IN3, IN4 (разъем P4 на схеме) - входы управления двигателями
- OUT1, OUT2 (разъем P2 на схеме) - выход первого двигателя
- OUT3, OUT4 (разъем P3 на схеме) - выход второго двигателя
Выключатель S1 служит для переключения питания логической части микросхемы. Т.е. при включенном S1 питание логической части берется от внутреннего преобразователя модуля. При выключенном S1 питание берется от внешнего источника. На модулях также присутствуют перемычки ENA и ENB для разрешения включения двигателей. Если необходимо, их можно также подключить к Arduino и задействовать, но это лишние 2 провода и в этих входах нет особого смысла.
ШИМ управление позволяет плавно изменять скорость вращение двигателя. Если нам не нужно ШИМ управление, то на соответствующий вход нужно просто подать логическую 1. На какой именно вход IN1 или IN2 вы подадите сигнал ШИМ, либо направление вращения - разницы не имеет. Тоже самое справедливо и для входов IN3, IN4.
Схема подключения шилда L298N к контроллеру Arduino:
Для питания логической части схемы необходимо нажать кнопку или вставить перемычку (зависит от типа модуля). Если же на вашем модуле не предусмотрен преобразователь 5В, то дополнительно, необходимо соединить вывод 5V от Arduino к входу +5 шилда. Как видно из схемы выше, 2 и 4 вывод используются для установки направления движения, а 3 и 5 для ШИМ управления выводами.
Напишем тестовую программу, в которой мы будем в цикле изменять скорость вращения, а также направление вращения двигателей:
Код:
|
#define D1 2 // Направление вращение двигателя 1 #define M1 3 // ШИМ вывод для управления двигателем 1 #define D2 4 // Направление вращение двигателя 2 #define M2 5 // ШИМ вывод для управления двигателем 2
bool direction = 0; // Текущее направление вращения int value; // Текущее значение ШИМ void setup() { pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); } void loop() { for(value = 0; value <= 255; value+=1) { digitalWrite(D1, direction); // Задаем направление вращения digitalWrite(D2, direction); analogWrite(M1, value); // Задаем скорость вращения analogWrite(M2, value); delay(20); } direction = direction ^ 1; // Инвертируем значение, чтобы в след. цикле вращаться в другую сторону }
|
Автор: Колтыков А.В.
C этой схемой также часто просматривают: |
Интеллектуальная автомобильная система с голосовыми меню и изменяемыми голосовыми сообщениями, предназначенная для дистанционного контроля датчиков охраны и других приборов, управления прогревом двигателя и бортовыми устройствами. Контроллер шагового двигателя Стабилизатор частоты вращения коллекторного двигателя Светодиодный куб 5х5х5 на Arduino Светодиодный куб 4х4х4 на Arduino Arduino UNO урок 12 - Подключение джойстика Arduino UNO урок 11 - Serial LCD Arduino UNO урок 10 - Подключаем LCD Arduino UNO урок 9 - Нагрузка
| |
Графический семиполосный эквалайзер-радуга на Arduino Nano и MSGEQ7 Часы реального времени для Arduino Старинные часы-метеостанция Блок питания для Arduino из ATX ATX блок питания управляемый Arduino Arduino своими руками с USB портом Подключение монетоприемника к Arduino Подключение PS/2 клавиатуры к Arduino Пробуждение ПК по сети на Arduino Запись/чтение на SD-карту с Arduino |