Описание
Характеристики
Отзывы
Описание
Модуль драйвера двигателей на микросхеме L9110S. Возможно подключение двух двигателей постоянного тока или одного четырехпроводного двухфазного шагового двигателя. Зачем нужны драйвера двигателей и H-мосты в частности? Научившись «дрыгать» пинами и зажигать светодиоды фанаты и любители «Ардуино» хотят чего-то большего, чего-то помощнее, например научиться управлять моторами. Напрямую подключить мотор к микроконтроллеру нельзя, так как типовые токи пинов контроллера составляют несколько миллиампер, а у моторов, даже у игрушечных, счет идет на десятки и сотни миллиампер, вплоть до нескольких ампер. Тоже самое с напряжением: микроконтроллер оперирует напряжением до 5 В, а моторы бывают разного вольтажа. В этом обзоре речь идет только о питании коллекторных двигателей постоянного тока, для шаговых двигателей лучше применять специализированные драйвера шаговых двигателей, а для бесколлекторных двигателей имеются свои драйверы, они несовместимы с коллекторными двигателями. Заметим, что в русскоязычной литературе существует некоторая терминологическая путаница – драйверами двигателей называют как «железные» модули, так и фрагменты кода, функции, отвечающие за работу с этими «железными» драйверами. Мы будем иметь в виду под «драйвером» именно модуль, подключаемый с одной стороны к микроконтроллеру (например, к плате Arduino), с другой стороны - к двигателю. Вот таким «преобразователем» логических сигналов контроллера в выходное напряжение для питания двигателя и является «драйвер» двигателя, и, в частности, наш драйвер на L9110S. Принцип действия двойного H-моста на основе L9110S H – мост (читается «аш-мост») – электронный модуль, аналог переключателя, обычно применяется для питания двигателей постоянного тока и шаговых двигателей, хотя для шаговых двигателей обычно применяются более специализированные модули. Обозначается “H”, потому что принципиальная схема H-моста напоминает букву H. В «палочке» H включен мотор постоянного тока. Если замкнуть контакты S1 и S4, то мотор будет вращаться в одну сторону, слева будет ноль (S1), справа + напряжения (S4). Если замкнуть контакты S2 и S3, то на правом контакте мотора будет ноль (S3), а на левом + питания (S1), мотор будет вращаться в другую сторону. Мост представляет собой чип L9110 с защитой от сквозных токов: при переключении контакты сначала размыкаются, и только через некоторое время замыкаются другие контакты. На плате стоит два чипа L9110, поэтому одна плата может управлять двумя потребителями постоянного тока: моторами, соленоидами, светодиодами, да чем угодно, или одним двух-обмоточным шаговым двигателем (такие шаговые моторы называются двух-фазными биполярными). Элементы платы 1 Разъем подключения мотора A 2 Разъем подключения мотора B 3 Чип H-моста мотора A 4 Чип H-моста мотора B 5 Пины подключения питания и управления Характеристики: Два независимых выхода, до 800 мА каждый Максимальная перегрузочная способность 1.2 А Напряжение питания от 2,5 до 12 В Логические уровни совместимы с 3,3 и 5 В логикой Рабочий диапазон 0 °С до 80°С Подключение Мотор А и Мотор В - два выхода для подключения нагрузки, ток не более 0,8 А ; В-1А - сигнал «Мотор В вперед»; В-1B - сигнал «Мотор В реверс»; Земля (GND) - должен быть соединён с землёй микроконтроллера и источника питания двигателя.; Питание (VCC) - питание двигателя (не более 12 В); А-1А - сигнал «Мотор А вперед»; A-1B - сигнал «Мотор А реверс». Сигналы на пинах управляют напряжением на выходах для подключения моторов. Для плавного управления выходным напряжением подаем не просто HIGH, а широтно-импульсно модулированный (PWM) сигнал. Все пины ардуино, отмеченные знаком ~, могут давать ШИМ выход командой analogWrite(n,P), где n-номер пина (в Arduino Nano и Uno это 3,5-6 и 9-11, соответственно). При использовании этих пинов для ШИМ сигнала, необходимо задействовать таймеры 0 (пины 5 и 6), таймер 1 (пины 9 и 10) и таймер 2 (пины 3 и 11). Дело в том, что некоторые библиотечные функции могут использовать те же таймеры – тогда будет конфликт. По большому счету достаточно знать, что пин 3 подключается ко входу A-1B, а пин 5 ко входу A1-A, команда digitalWrite(3,127) подаст 50% напряжения на мотор в прямом направлении. Пример использования Управление роботом: тележка с фарой (белый светодиод) и фонарем заднего хода (красный светодиод). Программа указана ниже и описывает циклическое движение тележки: вперед-остановка-назад-остановка. Все важные шаги в программе прокомментированы. Мотор подключен к клеммам MOTOR A, светодиоды подключены к выходу MOTOR B. Робот едет время TIME вперед, включив белый светодиод. Далее стоит время TIME с горящими наполовину белыми светодиодами. После чего едет назад, включив красные светодиоды. Далее снова стоит время TIME, включив красные, а потом белые светодиоды на половину яркости. // Драйвер двигателя 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); // и немного подождать } Видео
Характеристики
Тип
Радиоконструкторы и модули
Страна производства
Китай
Партномер
75
Отзывы
Отзывов еще никто не оставлял