Драйвер двигателя L9110S
Содержание
- Принцип действия драйвера L9110S
- Элементы модуля
- Подключение
- Пример использования
- Схема
- Технические характеристики
Зачем нужны драйвера двигателей и H-мосты в частности?
Научившись «дрыгать» пинами и зажигать светодиоды фанаты и любители «Ардуино» хотят чего-то большего, чего-то помощнее, например научиться управлять моторами. Напрямую подключить мотор к микроконтроллеру нельзя, так как типовые токи пинов контроллера составляют несколько миллиампер, а у моторов, даже у игрушечных, счет идет на десятки и сотни миллиампер, вплоть до нескольких ампер. Тоже самое с напряжением: микроконтроллер оперирует напряжением до 5 В, а моторы бывают разного вольтажа.
В этом обзоре речь идет только о питании коллекторных двигателей постоянного тока, для шаговых двигателей лучше применять специализированные драйвера шаговых двигателей, а для бесколлекторных двигателей имеются свои драйверы, они несовместимы с коллекторными двигателями. Заметим, что в русскоязычной литературе существует некоторая терминологическая путаница – драйверами двигателей называют как «железные» модули, так и фрагменты кода, функции, отвечающие за работу с этими «железными» драйверами. Мы будем иметь в виду под «драйвером» именно модуль, подключаемый с одной стороны к микроконтроллеру (например, к плате Arduino), с другой стороны - к двигателю. Вот таким «преобразователем» логических сигналов контроллера в выходное напряжение для питания двигателя и является «драйвер» двигателя, и, в частности, наш драйвер на L9110S.
Принцип действия двойного H-моста на основе L9110S
H – мост (читается «аш-мост») – электронный модуль, аналог переключателя, обычно применяется для питания двигателей постоянного тока и шаговых двигателей, хотя для шаговых двигателей обычно применяются более специализированные модули. Обозначается “H”, потому что принципиальная схема H-моста напоминает букву H.
Элементы платы

- Разъем подключения мотора A
- Разъем подключения мотора B
- Чип H-моста мотора A
- Чип H-моста мотора B
- Пины подключения питания и управления
Подключение
Мотор А и Мотор В - два выхода для подключения нагрузки, ток не более 0,8 А ; В-1А - сигнал «Мотор В вперед»; В-1B - сигнал «Мотор В реверс»; Земля (GND) - должен быть соединён с землёй микроконтроллера и источника питания двигателя.; Питание (VCC) - питание двигателя (не более 12 В); А-1А - сигнал «Мотор А вперед»; A-1B - сигнал «Мотор А реверс». Сигналы на пинах управляют напряжением на выходах для подключения моторов:
Пример использования
Управление роботом: тележка с фарой (белый светодиод) и фонарем заднего хода (красный светодиод). Программа указана ниже и описывает циклическое движение тележки: вперед-остановка-назад-остановка. Все важные шаги в программе прокомментированы.
// Драйвер двигателя L9110S
// by Dr.S
// 3d-diy.ru
// определяем, какие порты будем использовать для управления мотором и светодиодами
#define FORWARD 3
#define BACK 5
#define WHITE_LIGHT 6
#define RED_LIGHT 9
#define LEDOUT 13
#define TIME 5000
unsigned char Forward_Speed = 200;
unsigned char Back_Speed = 160;
unsigned char White_Light = 210;
unsigned char Red_Light = 220;
void setup() {
// объявляем пины управления мостом как выходы:
pinMode(FORWARD, OUTPUT);
pinMode(BACK, OUTPUT);
pinMode(WHITE_LIGHT, OUTPUT);
pinMode(RED_LIGHT, OUTPUT);
pinMode(LEDOUT, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// Робот едет вперед в течении времени TIME
analogWrite(WHITE_LIGHT, White_Light); // Включить белый светодиод- "фары"
analogWrite(RED_LIGHT, 0);
analogWrite(FORWARD, Forward_Speed); // Робот пошел вперед
analogWrite(BACK, 0);
delay( TIME); // и немного подождать
// Робот включает "фары" на половину обычной яркости и стоит
analogWrite(WHITE_LIGHT, White_Light / 2); // Включить белый светодиод- "фары" как стояночные огни
analogWrite(RED_LIGHT, 0);
analogWrite(FORWARD, 0); // Робот стоит
analogWrite(BACK, 0);
delay(TIME); // и немного подождать
// Робот включает красные светодиоды "заднего хода" и идет назад
analogWrite(WHITE_LIGHT, 0); // Включить белый светодиод- "фары" как стояночные огни
analogWrite(RED_LIGHT, Red_Light);
analogWrite(FORWARD, 0);
analogWrite(BACK, Back_Speed); // Робот идет назад
delay( TIME); // и немного подождать
// Робот включает попеременно красные и белые светодиоды и стоит
analogWrite(WHITE_LIGHT, 0);
analogWrite(RED_LIGHT, Red_Light / 2); // Включить красный светодиод как стояночные огни
analogWrite(FORWARD, 0);
analogWrite(BACK, 0); // Робот стоит
delay( TIME / 2); // и немного подождать
analogWrite(WHITE_LIGHT, White_Light / 2); // Включить белый светодиод- "фары" как стояночные огни
analogWrite(RED_LIGHT, 0);
delay( TIME / 2); // и немного подождать
}
Принципиальная схема

Технические характеристики модуля
- Два независимых выхода, до 800 мА каждый
- Максимальная перегрузочная способность 1.2 А
- Напряжение питания от 2,5 до 12 В
- Логические уровни совместимы с 3,3 и 5 В логикой
- Рабочий диапазон 0 °С до 80°С
Товары из статьи
Это интересно
- Комментарии
Загрузка комментариев...







