Что такое драйвер двигателя постоянного тока
Ардуино: драйвер L298N для мотора постоянного тока
Чтобы управлять вращением мотора, любому контроллеру необходимо специальное устройство, которое часто называют драйвером (от англ. driver — водитель). В уроке «управление двигателем постоянного тока» мы уже пробовали запускать и вращать в разные стороны мотор двумя способами: с помощью одного транзистора и с помощью микросхемы драйвера L293D.
На этот раз, попробуем использовать более мощный двухканальный драйвер L298N, который часто можно встретить в виде модуля красного цвета (хотя встречаются зеленые и синие модели).
Как и в случае L293N, драйвер представляет собой полный H-мост, главная функция которого — менять полярность на нагрузке. А если в качестве нагрузки будет мотор постоянного тока, то смена полярности приведет к смене направления его вращения. Это то, что нам нужно.
Спецификация модуля L298N:
- напряжение питания двигателей: до 35 В;
- рабочий ток (на каждый канал): 2 А;
- периодический ток (80% — вкл, 20% — выкл): 2,5 А;
- кратковременный ток: 3 А;
- вес: 33 г.
Драйвер L298N работает с более высоким током, чем L293D. С помощью L298N мы можем управлять и слабыми моторчиками типа n20 и мощными моторами, такими как JGA25 или даже JGA37 с крутящим моментом до 20-25 кг/см. Хватит для большинства DIY проектов!
Назначение элементов и контактов на плате драйвера L298N
Посмотрим внимательнее на модуль и разберемся с его контактами.
Логика микросхемы L298N питается напряжением 5 Вольт. Для этого на модуле предусмотрен стабилизатор напряжения 78M05. На вход этого стабилизатора можно подавать напряжение до 35 В, а на выходе всегда получается 5 В. Рабочий ток у 78M05 небольшой — до 500 мА. Однако, при желании, от него можно питать и саму плату Ардуино Уно, к которой мы будем подключать драйвер.
Тройная клемма снизу отвечает за питание модуля. Самый левый контакт — питание моторов. Сюда можно подавать до 35 В. Средний контакт — земля, которая должна быть общей для модуля и контроллера. Правый контакт имеет двоякую функцию. Если на модуле стоит перемычка питания стабилизатора, то на этом контакте будет +5В и к нему можно ничего не подключать, либо питать от него контроллер. Но если перемычку убрать, то к этому контакту нужно будет непременно подключить +5В от контроллера, чтобы питать драйвер. В нашем примере мы будем ориентироваться именно на вариант без перемычки.
Две другие винтовые клеммы (OUT1/2 и OUT 3/4) служат для подключения моторов. Надо отметить, что моторы постоянного тока неполярные, но от того на какой контакт мотора подается плюс, а на какой минус, зависит направление их вращения.
Наконец, осталось разобраться с контактами управления. Их по три штуки на каждый мотор. Контакты ENA и ENB позволяют управлять моторами с помощью ШИМ сигнала. Если ENA и ENB подключить строго к +5 В, то моторы будут всегда вращаться с максимальной возможной скоростью. Именно для этого режима на модуле предусмотрены две перемычки рядом с ENA и ENB.
С помощью контактов IN1,IN2,IN3,IN4 задаётся режим работы моторов. Таблица режимов для двигателя A имеет вид:
Режим | IN1 | IN2 |
Вращение в одну сторону | 1 | 0 |
Вращение в обратную сторону | 0 | 1 |
Блокировка мотора | 1 | 1 |
Отключение мотора | 0 | 0 |
Тут следует пояснить последние два режима. Если нам необходимо резко остановить мотор, то выбираем режим блокировки. Для плавной остановки — выбираем «отключение мотора»
Подключение драйвера L298N к Ардуино Уно
Чтобы попробовать драйвер в деле, подключим его к контроллеру Ардуино Уно и к любому, попавшему под руку, небольшому мотору постоянного тока. В данном уроке мы используем самый простой мотор с напряжением питания 1,5-3 Вольта. Для питания этого мотора нам будет достаточно двух пальчиковых батареек. В такой схеме просто невозможно запитать микросхему драйвера от встроенного стабилизатора, поэтому питание +5В будем брать от Ардуино.
Также отметим, что при данной схеме подключения с внешним питанием +5 В, нам нужно убрать соответствующую перемычку, о которой мы говорили выше (перемычка питания от стабилизатора)!
Ну и раз уж мы планируем управлять скоростью вращения, уберем перемычку с контакта ENA.
Принципиальная схема
Внешний вид макета
Программа для драйвера мотора L298N
Напишем простую программу, которая будет вращать мотор в одну сторону 3 секунды с максимальной скоростью, и затем 3 секунды в обратную сторону с более медленной скоростью.
Загружаем программу на Ардуино, затем подключаем к драйверу элементы питания и смотрим как ведёт себя моторчик.
Следует отметить, что данная программа не гарантирует вращение мотора с какой-то конкретной скоростью. Мы лишь можем менять мощность, передаваемую на мотор, с помощью изменения коэффициента заполнения ШИМ сигнала (duty cycle). Подробнее о ШИМ сигнале можно узнать в одном из наших уроков.
Заключение
Итак, модуль драйвера L298N оказался не таким сложным, как могло показаться. Все драйверы имеют практически схожие контакты управления: EN,IN1,IN2. Бывает, что отдельный вход EN отсутствует, и тогда ШИМ сигнал подается на IN1,IN2. Разобравшись с одним драйвером, мы можем с легкостью применять в своих проектах и другие модели.
Как уже было написано, L298N является достаточно мощным чтобы потянуть большинство моторов, применяемых в DIY проектах. Это и популярные пластиковые желтые моторы с редуктором и более мощные металлические JGA25 и JGA37.
Отдельно следует отметить и ещё одно распространенное применение L298N. С помощью этого драйвера можно управлять биполярными шаговыми двигателями, хотя и не настолько эффективно, как это делают специализированные драйвера типа A4988.
Драйверы двигателя L298N, L293D и Arduino Motor Shield
Драйвер двигателя выполняет крайне важную роль в проектах ардуино, использующих двигатели постоянного тока или шаговые двигатели. C помощью микросхемы драйвера или готового шилда motor shield можно создавать мобильных роботов, автономные автомобили на ардуино и другие устройства с механическими модулями. В этой статье мы рассмотрим подключение к ардуино популярных драйверов двигателей на базе микросхем L298N и L293D.
Драйвер двигателя в проектах ардуино
Для чего нужен драйвер двигателя?
Как известно, плата ардуино имеет существенные ограничения по силе тока присоединенной к ней нагрузки. Для платы это 800 mA, а для каждого отдельного вывода – и того меньше, 40mA. Мы не можем подключить напрямую к Arduino Uno, Mega или Nano даже самый маленький двигатель постоянного тока. Любой из этих двигателей в момент запуска или остановки создаст пиковые броски тока, превышающие этот предел.
Как же тогда подключить двигатель к ардуино? Есть несколько вариантов действий:
Использовать реле. Мы включаем двигатель в отдельную электрическую сеть, никак не связанную с платой Arduino. Реле по команде ардуино замыкает или размыкает контакты, тем самым включает или выключает ток. Соответственно, двигатель включается или выключается. Главным преимуществом этой схемы является ее простота и возможность использовать Главным недостатком данной схемы является то, что мы не можем управлять скоростью и направлением вращения.
Использовать силовой транзистор. В данном случае мы можем управлять током, проходящим через двигатель, а значит, можем управлять скоростью вращения шпинделя. Но для смены направления вращения этот способ не подойдет.
Использовать специальную схему подключения, называемую H-мостом, с помощью которой мы можем изменять направление движения шпинделя двигателя. Сегодня можно без проблем найти как микросхемы, содержащие два или больше H-моста, так и отдельные модули и платы расширения, построенные на этих микросхемах.
В этой статье мы рассмотрим последний, третий вариант, как наиболее гибкий и удобный для создания первых роботов на ардуино.
Микросхема или плата расширения Motor Shield
Motor Shield – плата расширения для Ардуино, которая обеспечивает работу двигателей постоянного тока и шаговых двигателей. Самыми популярными платами Motor Shield являются схемы на базе чипов L298N и L293D, которые могут управлять несколькими двигателями. На плате установлен комплект сквозных колодок Ардуино Rev3, позволяющие устанавливать другие платы расширения. Также на плате имеется возможность выбора источника напряжения – Motor Shield может питаться как от Ардуино, так и от внешнего источника. На плате имеется светодиод, который показывает, работает ли устройство. Все это делает использование драйвера очень простым и надежным – не нужно самим изобретать велосипеды и решать уже кем-то решенные проблемы. В этой статье мы будем говорить именно о шилдах.
Принцип действия H-моста
Принцип работы драйвера двигателя основан на принципе работы H-моста. H-мост является электронной схемой, которая состоит из четырех ключей с нагрузкой. Название моста появилось из напоминающей букву H конфигурации схемы.
Схема моста изображена на рисунке. Q1…Q4 0 полевые, биполярные или IGBT транзисторы. Последние используются в высоковольтных сетях. Биполярные транзисторы практически не используются, они могут присутствовать в маломощных схемах. Для больших токов берут полевые транзисторы с изолированным затвором. Ключи не должны быть замкнуты вместе одновременно, чтобы не произошло короткого замыкания источника. Диоды D1…D4 ограничительные, обычно используются диоды Шоттки.
С помощью изменения состояния ключей на H-мосте можно регулировать направление движения и тормозить моторы. В таблице приведены основные состояния и соответствующие им комбинации на пинах.
Q1 | Q2 | Q3 | Q4 | Состояние |
1 | 0 | 0 | 1 | Поворот мотора вправо |
0 | 1 | 1 | 0 | Поворот мотора влево |
0 | 0 | 0 | 0 | Свободное вращение |
0 | 1 | 0 | 1 | Торможение |
1 | 0 | 1 | 0 | Торможение |
1 | 1 | 0 | 0 | Короткое замыкание |
0 | 0 | 1 | 1 | Короткое замыкание |
Драйвер двигателя L298N
Модуль используется для управления шаговыми двигателями с напряжением от 5 до 35 В. При помощи одной платы L298N можно управлять сразу двумя двигателями. Наибольшая нагрузка, которую обеспечивает микросхема, достигает 2 А на каждый двигатель. Если подключить двигатели параллельно, это значение можно увеличить до 4 А.
Плата выглядит следующим образом:
Распиновка микросхемы L298N:
- Vcc – используется для подключения внешнего питания;
- 5В;
- Земля GND;
- IN1, IN2, IN3, IN4 – используется для плавного управления скоростью вращения мотора;
- OUT1, OUT2 – используется для выхода с первого двигателя;
- OUT3, OUT4 – используется для выхода со второго двигателя;
- S1 – переключает питание схемы: от внешнего источника или от внутреннего преобразователя;
- ENABLE A, B – требуются для раздельного управления каналами. Используются в двух режимах – активный, при котором каналами управляет микроконтроллер и имеется возможность изменения скорости вращения, и пассивный, в котором невозможно управлять скоростью двигателей (установлено максимальное значение).
При подключении двух двигателей, нужно проверить, чтобы у них была одинаковая полярность. Если полярность разная, то при задании направления движения они будут вращаться в противоположные стороны.
Драйвер двигателя L293D
L293D – является самой простой микросхемой для работы с двигателями. L293D обладает двумя H-моста, которые позволяют управлять двумя двигателями. Рабочее напряжение микросхемы – 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2 А.
В схеме имеется 16 выходов. Распиновка:
- +V – питание на 5 В;
- +Vmotor – напряжение питания для мотором до 36 В;
- 0V – земля;
- En1, En2 –включают и выключают H-мосты;
- In1, In2 – управляют первым H-мостом;
- Out1, Out2 – подключение первого H-моста;
- In3, In4 – управляют вторым H-мостом;
- Out3, Out4 – подключение второго H-моста.
Для подключения к микроконтроллеру Arduino Uno нужно соединить выходы In1 на L293D и 7 пин на Ардуино, In2 – 8, In3 – 2, In4 – 3, En1 – 6, En2 – 5, V – 5V, Vmotor – 5 V, 0V – GND. Пример подключения одного двигателя к Ардуино показан на рисунке.
Драйвер двигателя на микросхеме HG7881
HG7881 – двухканальный драйвер, к которому можно подключить 2 двигателя или четырехпроводной двухфазный шаговый двигатель. Устройство часто используется из-за своей невысокой стоимости. Драйвер используется только для изменения направления вращения, менять скорость он не может.
Плата содержит 2 схемы L9110S, работающие как H-мост.
Характеристики драйвера HG7881:
- 4-контактное подключение;
- Питание для двигателей от 2,5 В до 12 В;
- Потребляемый ток менее 800 мА;
- Малые габариты, небольшой вес.
Распиновка:
- GND – земля;
- Vcc – напряжение питания 2,5В – 12В;
- A-IA – вход A(IA) для двигателя A;
- A-IB – вход B (IB) для двигателя A;
- B-IA – вход A(IA) для двигателя B;
- B-IB – вход B (IB) для двигателя B.
В зависимости от поданного сигнала на выходах IA и IB будет разное состояние для двигателей. Возможные варианты для одного из моторов приведены в таблице.
IA | IB | Состояние мотора |
0 | 0 | Остановка |
1 | 0 | Двигается вперед |
0 | 1 | Двигается назад |
1 | 1 | Отключение |
Подключение одного двигателя к Ардуино изображено на рисунке.
Сравнение модулей
Модуль L293D подает максимальный ток в 1,2А, в то время как на L298N можно добиться максимального тока в 4 А. Также L293D обладает меньшим КПД и быстро греется во время работы. При этом L293D является самой распространенной платой и стоит недорого. Плата HG7881 отличается от L293D и L298N тем, что с ее помощью можно управлять только направлением вращения, скорость менять она не может. HG7881 – самый дешевый и самый малогабаритный модуль.
Подключение L298N к Arduino
Как уже упоминалось, в первую очередь нужно проверить полярность подключенных двигателей. Двигатели, вращающиеся в различных направлениях, неудобно программировать.
Нужно присоединить источник питания. + подключается к пину 4 на плате L298N, минус (GND) – к 5 пину. Затем нужно соединить выходы с L298N и пины на Ардуино, причем некоторые из них должны поддерживать ШИМ-модуляцию. На плате Ардуино они обозначены
. Выходы с L298N IN1, IN2, IN3 и IN4 подключить к D7, D6, D5 и D4 на Ардуино соответственно. Подключение всех остальных контактов представлено на схеме.
Направление вращения задается с помощью сигналов HIGH и LOW на каждый канал. Двигатели начнут вращаться, только когда на 7 пине для первого мотора и на 12 пине для второго на L298N будет сигнал HIGH. Подача LOW останавливает вращение. Чтобы управлять скоростью, используются ШИМ-сигналы.
Для управления шаговым двигателем в Arduino IDE существует стандартная библиотека Stepper library. Чтобы проверить работоспособность собранной схемы, можно загрузить тестовый пример stepper_oneRevolution. При правильной сборке вал двигателя начнет вращаться.
При работе с моторами Ардуино может периодически перезагружаться. Это возникает из-за того, что двигателям требуются большие токи при старте и в момент торможения. Для решения этой проблемы в плату встроены конденсаторы, диоды и другие схемы. Также для этих целей на шидле имеется раздельное питание.
Драйвер двигателей постоянного тока DRM-7710
Модуль: DRM-7710
Содержание
- 1 Применение модуля
- 2 Принцип работы
- 3 Характеристики модуля DRM-7710.
- 4 Описание схемы и работы модуля.
- 5 Комплектация различных версий модуля.
- 6 Результаты тестов.
- 6.1 Результаты тестов модуля DRM-7710-P
- 7 Сноски
Применение модуля
Рассматриваемый модуль предназначен для гибкого управления потребителем постоянного тока до 3 Ампер (кратковременно — до 15 Ампер) при напряжении от 6 до 30 вольт. Так же модуль может обеспечивать плавное регулирование отдаваемой мощности на нагрузке. Нагрузкой модуля может выступать как потребитель с чисто активным сопротивлением (лампы накаливания, нагреватели, элементы пельтье), так и индуктивным (обмотки шаговых моторов, обмотки трансформаторов, коллекторные двигатели).
Image:solenoid_1b.png Image:pelte_1b.png Image:motor_1b.png
Так как наиболее часто гибкое управление требуется при работе с коллекторным двигателем, то далее будет рассмотрено применение модуля совместно с данным типом нагрузки.
Под «гибким» подразумевается следующие виды управления:
- Изменение направления вращения ротора двигателя;
- Изменение скорости вращения ротора;
- Торможение двигателя;
Принцип работы
Как известно для изменения направления вращения ротора коллекторного двигателя с возбуждением от постоянных магнитов достаточно изменить полярность питания на его выводах. Для этого применяют схему так называемого H-моста (ввиду схожести схемы с латинской буквой «H»).
H-мост состоит из четырёх ключей S1, S2, S3, S4. Пары ключей S1, S2 и S3, S4 называют плечами H-моста. Таким образом, замыкая диагонально расположенные ключи S1 и S4 или S2 и S3 можно менять полярность питания на выводах мотора, а значит и направление вращения его ротора. Внимание! Следует заметить, что замыкание обоих ключей одного или обоих плечей одновременно, например S1 и S2, является недопустимым, так как в таком случае выводы источника питания будут замкнуты накоротко. Другим особенным состоянием ключей Н-моста является положение, при котором замкнуты противолежащие ключи S1 и S3 или S2 и S4. В таком положении якорь мотора будет электромагнитно заторможен, так как его выводы будут замкнуты между собой.
Для управления скоростью вращения мотора в основном применяют Широтно-Импульсную Модуляцию. ШИМ заключается в том, что питание на выводы мотора подаётся не постоянно, а периодически на короткое время. Регулируя длительность импульса напряжения на двигателе можно регулировать результирующую мощность, отдаваемую в двигатель. То есть пропуская ток периодично импульсами через одну из диагоналей Н-моста, регулируется и скорость вращения ротора мотора.
В качестве управляемого ключа наиболее распространены схемные решения построения Н-моста с использованием MOSFET транзисторов, разновидности полевых транзисторов, ввиду очень малого их сопротивления «сток-исток» в открытом состоянии. Существует так же множество специализированных микросхем-драйверов, которые уже включают в себя весь Н-мост, а часто и часть управляющей и вспомогательной электроники.
Один из таких драйверов в интегральном исполнении BTS7710GP применён в рассматриваемом модуле.
Характеристики модуля DRM-7710.
Микросхема BTS7710GP была разработана фирмой Infineon Technologies AG и специально оптимизирована для управления моторами постоянного тока и представляет собой четыре ключа на MOSFET-транзисторах, управляющую схему и схему диагностики ошибок.
Микросхема BTS7710GP имеет следующие основные электрические характеристики:
- Ток нагрузки до 3 Ампер (или импульсом до 15 Ампер);
- Сопротивление плеча Н-моста около 120 мОм;
- Защиту от замыканий в нагрузке или на общий провод;
- Защиту от перегрева и снижения напряжения питания;
- Напряжение питания от 5 до 40 Вольт;
- Возможность управлять ШИМ частотой до 50 кГц;
Полный справочный листок на BTS7710GP можно получить, например, по этой ссылке: BTS7710GP.
На этой микросхеме был собран достаточно мощный и малогабаритный модуль управления потребителем постоянного тока со следующими характеристиками:
- Продолжительный ток нагрузки: 3 Ампера;
- Напряжение питания: от 6 до 30 Вольт;
- Потребляемый ток: 7,6 мА;
- Размеры модуля без штекеров: 78 х 50 х 18 мм;
Ещё раз стоит напомнить, что применение модуля не ограничивается использованием только для коллекторного двигателя постоянного тока. Нагрузкой модуля может так же служить любой тип нагрузки, подходящий по напряжению и току.
Описание схемы и работы модуля.
Так как у драйвера BTS7710GP управляются все четыре ключа раздельно, на плате модуля дополнительно установлена микросхема логики 74HC02, что упростило управление и сэкономило количество управляющих выводов.
На разъём управления «CTRL» выведены сигналы управления Н-мостом, сигнал ошибки, выход с токового шунта для измерения потребляемого тока нагрузкой, а так же напряжение питания для вспомогательной микросхемы 74HC02.
Разъём «CTRL» имеет распиновку:
Вывод | Назначение |
---|---|
1 | Motor 1 IN 1 |
2 | Motor 1 IN 2 |
3 | Motor 2 IN 1 |
4 | Motor 2 IN 2 |
5 | Вывод токоизмерительного шунта или ERROR-флаг [1] |
6 | Enable Motor1 on (PWM) |
7 | ERROR-флаг или Вывод токоизмерительного шунта [1] |
8 | Enable Motor2 on (PWM) |
9 | GND |
10 | VCC 5V |
Наличие выводов управления Motor 1 и Motor 2 объясняется возможностью использования двух подобных модулей на одном кабеле. Выбор необходимого модуля в качестве драйвера для мотора-1 или мотора-2 производится установленными на плате джамперами.
Так же на плате установлены джамперы для выбора, на какой из пинов штекера «CTRL» будет выведен выход токового шунта или вывод «ERROR-флаг».
И в дополнение, если нет возможности запитки микросхемы 74HC02 от наружного стабилизированного источника питания, на плате расположен маломощный стабилизатор, который подключается дополнительным джампером (в версиях модуля DRM-7710-P и DRM-7710-M).
Пин «ERROR-флаг» может использоваться для контроля правильной работы модуля. При нормальной работе на этом выводе установлен лог. «1», в случае перегрева или замыкания на выходе драйвера пин «ERROR-флаг» переходит в состояние низкого логического уровня.
Наличие на плате модуля токоизмерительного шунта позволяет оценивать протекающий ток в нагрузке, что может быть необходимо в некоторых случаях. Что бы максимально уменьшить потери напряжения, сопротивление шунта выбрана 0,01 Ом. Напряжение 30 милливольт, снимаемые с шунта при нагрузке 3 Ампера, можно использовать для контроля протекающего через нагрузку тока. Применение радиатора на микросхеме драйвера облегчает его работу на предельных токах и при частых импульсных перегрузках.
Все выводы разъёма «CTRL», кроме вывода токоизмерительного шунта могут быть соединены с микросхемами стандартной логики с питанием от напряжения 5 вольт, а так же с распространёнными типами микроконтроллеров.
Конфигурирование модуля производится джамперами по следующей схеме:
IN1 | IN2 | PWM | Режим |
---|---|---|---|
![]() ![]() | ![]() ![]() | ![]() ![]() | при такой конфигурации джамперов модуль обрабатывает сигналы для Motor 1 |
![]() ![]() | ![]() ![]() | ![]() ![]() | при такой конфигурации джамперов модуль обрабатывает сигналы для Motor 2 |
LOGIC-VCC | Режим |
---|---|
![]() ![]() | микросхема 74HC02 запитана от внешнего источника через разъём «CTRL». |
![]() ![]() | микросхема 74HC02 запитана от того же источника, что и мотор. |
ERROR | Режим |
---|---|
![]() ![]() | ERROR-флаг выведен на ножку 5 разъёма «CTRL». |
![]() ![]() | ERROR-флаг выведен на ножку 7 разъёма «CTRL». |
CURRENT | Режим |
---|---|
![]() ![]() | Вывод токоизмерительного шунта подключён к ножке 7 разъёма «CTRL». |
![]() ![]() | Вывод токоизмерительного шунта подключён к ножке 5 разъёма «CTRL». |
Расположение джамперов на печатной плате.
Состояние ротора мотора в зависимости от логических уровней на выводах IN1, IN2 и PWM:
IN1 | IN2 | PWM | |
---|---|---|---|
0 | 0 | 1 | торможение вращения |
0 | 1 | 0 | торможение вращения вправо |
1 | 0 | 0 | торможение вращения влево |
1 | 0 | 1 | вращение вправо |
0 | 1 | 1 | вращение влево |
0 | 0 | 0 | свободное вращение |
1 | 1 | 0 | торможение вращения |
Комплектация различных версий модуля.
Существует три основных версии модуля DRM-7710, отличия версий сведены в таблицу:
Опция | DRM-7710-P | DRM-7710-M | DRM-7710-L |
---|---|---|---|
Светодиод индикатор питания | + | + | + |
Предохранитель MultiFuse | + | + | + |
Встроенный стабилизатор 78L05 [2] | + | + | — |
Токовый Шунт 0,01 Ом [2] | + | — | — |
Радиатор | + | — | — |
Тип силовых контактов | штекер | штекер | клеммы |
Рекомендуемый продолжительный ток нагрузки | 3 А | до 2 А | до 2 А |
Ориентировочная цена в евро | 14 | 10 | 8 |
Существует так же вариант модуля с окончанием -W, например DRM-7710-L-W. В этом случае разъём «CTRL» располагается под углом 90° к плате.
От заводской печатной платы с шелкографией и металлизацией было решено отказаться в пользу низкой цены готового модуля. Печатная плата защищена от коррозии слоем ксилольно-канифольного лака, в переходные отверстия запаяны отрезки медного провода.
L293D Драйвер для 2-х двигателей постоянного тока
Драйвер двигателя позволяет пользователю управлять мотором с помощью микроконтроллера. Напрямую соединять вывод микроконтроллера и мотор запрещается, поскольку большое потребление двигателем тока приведет к поломке управляющей платы. Модуль используется при сборке робототехнических устройств, электромагнитов и в других случаях, когда требуется управлять мощной нагрузкой.
Принцип работы
Суть использования драйвера заключается в согласовании уровней напряжения, поскольку имеется логическая низковольтная цепь, она же командная, напряжение в которой не превышает 5 вольт, также имеется цепь питания электродвигателя, потребление которого зависит от типа подключаемого двигателя и может составлять, например, 12 вольт. Также важно знать, что максимальный ток, который способен выдать порт микроконтроллера — 20 мА, тогда как потребляемый ток мотора может составлять, например, 2А, то есть в 100 раз больше. Если попытаться подключить двигатель к контроллеру напрямую — контроллер неизбежно выйдет из строя.
Управление двигателями происходит через некий «переходник» между контроллером и мотором, им слушит драйвер, который обычно выполнен в виде микросхемы. В итоге команда, принятая микросхемой от контроллера, замыкает цепь питания двигателя и он начинает работать.
Этот модуль на микросхеме L293D является самым популярным драйвером для работы с двигателями. L293D более мощный, чем его предшественник, и может не только изменять направление вращения, но скорость. Рабочее напряжение двигателей от 5В до 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2А.
Микросхема L293D обеспечивает разделение электропитания для микросхемы и для управляемых ею двигателей, что позволяет подключить электродвигатели с большим напряжением питания, чем у микросхемы. Разделение электропитания микросхем и электродвигателей также способствует уменьшению помех, вызванных бросками напряжения, связанными с работой моторов.
Подключение
Подключение осуществляется с помощью макетных проводов. Выводы модуля имеют следующие назначения:
VCC 5V — питание микросхемы драйвера двигателей
MOTOR 2.5 — 36V — питание двигателей
IN3, IN4 — управление направлением вращения и скоростью двигателя М2
GND — земля (общий)
IN1, IN2 — управление направлением вращения и скоростью двигателя М1
GND — земля (общий)
M1, M2 — подключение двигателей постоянного тока
Для контроля скорости вращения с помощью широтно-импульсной модуляции (ШИМ) имеются отдельные входы. Для генерации ШИМ-сигнала можно использовать специальные микросхемы либо платформу Arduino.
Кроме драйвера понадобится контроллер DaVinci, два мотора постоянного тока, соединительные провода и дополнительный источник питания, так как контроллер выдает маленькие токи и на двигатели необходимо подавать питание отдельным источником питания к контакту MOTOR 5-36V.
Управление двигателями производится с помощью ШИМ сигналов через контакты IN1..IN4.
Двигатели подключаются к клеммам М1 и М2. При этом полярность не имеет значения, ее можно поменять программно.
Чтобы начать работу с датчиком его необходимо подключить к микроконтроллеру по схеме ниже.
Программа
Далее необходимо загрузить в микроконтроллер следующую программу, которая будет вращать один из двигателей, меняя направление каждую секунду.
Программу можно усложнить и кроме направления менять еще и мощность.
В итоге сначала мотор вращается с максимальной скоростью, затем замедляется, и повторяет все в обратном направлении.
Для того, чтобы задействовать второй двигатель, необходимо поменять код следующим образом:
Теперь моторы сначала вращаются с небольшой скоростью, затем переходят на увеличенные обороты, и повторяют все в обратном направлении.