В этой статье мы будем подключать двигатель постоянного тока к Arduino Uno и управлять скоростью его вращения. Делать мы это будем с помощью ШИМ (широтно-импульсной модуляции, в англ. языке PWM — Pulse Width Modulation) – эта функция реализована в Arduino чтобы на основе постоянного напряжения иметь возможность получения изменяющегося напряжения.
Видео:ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]Скачать
Общие принципы ШИМ
Метод осуществления ШИМ показан на следующем рисунке.
Если на представленном рисунке кнопка нажата, то двигатель начнет вращение и он будет вращаться до тех пор пока кнопка не будет отжата. Эта ситуация происходит если кнопка будет нажата постоянно – верхний график на представленном рисунке. Если же мы будем нажимать кнопку только в течение 8 мс из всего цикла в 10 мс, то в этом случае двигатель уже не будет в полной мере получать все напряжение батареи 9 В – в этом случае среднеквадратичная величина напряжения, получаемого двигателем, будет около 7 В. Соответственно, двигатель по сравнению с первым случаем (когда кнопка нажата постоянно) будет вращаться с меньшей скоростью. Поэтому цикл занятости (который еще называют коэффициентом заполнения ШИМ) в этом случае составит время включенного состояния/(время включенного состояния + время выключенного состояния) = 8/(8+2)=80%.
В следующих рассмотренных на рисунке случаях кнопка будет находиться в нажатом состоянии еще меньше чем в рассмотренном случае (80%). Соответственно, среднеквадратичная величина напряжения, получаемого двигателем, будет составлять еще меньшую величину, поэтому и скорость вращения двигателя также уменьшится. Это уменьшение скорости вращения двигателя вследствие уменьшения среднеквадратичной величины напряжения будет происходить до тех пор, пока получаемое двигателем напряжение не станет не достаточным для его вращения. То есть, изменяя величину цикла занятости (коэффициент заполнения ШИМ), можно управлять скоростью вращения двигателя постоянного тока.
Видео:Уроки Arduino. Управление моторами с библиотекой GyverMotorСкачать
Принцип работы H-моста
Перед тем, как переходить непосредственно к управлению двигателем, обсудим что такое H-BRIDGE (H-мост). Собранная нами далее схема будет осуществлять две функции: управлять двигателем постоянного тока с помощью управляющих сигналов малой мощности и изменять направление вращения двигателя.
Нам известно, что для изменения направления вращения двигателя постоянного тока необходимо изменить полярность приложенного к нему питающего напряжения. И как раз для смены полярности напряжения хорошо подходит устройство, называемое H-мостом. На представленном выше рисунке мы имеем 4 выключателя. Как показано на рисунке 2 если выключатели A1 и A2 замкнуты, то ток через двигатель течет справа налево как показано на второй части рисунка 2 – то есть в этом случае двигатель будет вращаться по часовой стрелке. А если выключатели A1 и A2 разомкнуты, а B1 и B2 – замкнуты, то ток через двигатель в этом случае будет протекать слева направо как показано на второй части рисунка, то есть двигатель будет вращаться против часовой стрелки. В этом и заключается принцип работы H-моста.
Мы в качестве H-моста будем использовать специализированную микросхему L293D, которую еще называют драйвером двигателей. Эта микросхема предназначена для управления двигателями постоянного тока малой мощности (см. рисунок) и содержит в своем составе два H-моста, то есть с ее помощью можно управлять двумя двигателями. Эта микросхема часто используется для управления двигателями в различных роботах.
В следующей таблице указаны необходимые значения напряжений на выводах INPUT1 и INPUT2 микросхемы L293D для смены направления вращения двигателя.
Enable Pin | Input Pin 1 | Input Pin 2 | Motor Direction |
High | Low | High | вправо |
High | High | Low | влево |
High | Low | Low | стоп |
High | High | High | стоп |
То есть, чтобы двигатель вращался по часовой стрелке необходимо чтобы на 2A было напряжение высокого уровня (high), а на контакте 1A – напряжение низкого уровня (low). Аналогично для вращения двигателя против часовой стрелки необходимо обеспечить на 1A напряжение высокого уровня, а на 2A – низкого.
Как показано на следующем рисунке Arduino UNO имеет 6 ШИМ каналов (обозначенных на плате специальным знаком – тильдой), любой из которых мы можем использовать для получения изменяющего напряжения (на основе ШИМ). В данном проекте мы будем использовать в качестве ШИМ выхода контакт PIN3 Arduino UNO.
🔥 Видео
Управление моторами с ArduinoСкачать
Управление двумя униполярными шаговыми двигателями с помощью джойстика на базе Arduino uno.Скачать
Управление двигателем постоянного тока. Схема управления мотором Ардуино проекты.Скачать
Как подключить шаговый двигатель к ArduinoСкачать
NEMA17 Управление шаговым двигателем - Stepper motor with ArduinoСкачать
Привод для жалюзи на базе Arduino uno своими руками. Управление шаговыми моторами с помощью кнопок.Скачать
Как настроить ШАГОВЫЙ ДВИГАТЕЛЬ 28BYJ-48 Arduino?! ОбзорСкачать
Управление шаговым двигателем через Arduino (Arduino+TB6560+Nema 23)Скачать
Шаговый двигатель 28BYJ-48 с драйвером ULN2003 - Подключение к ArduinoСкачать
Уроки Ардуино #11 - плавное управление нагрузкой, ШИМ сигналСкачать
Уроки Arduino - управление бесколлекторным моторомСкачать
Уроки Arduino #8 - управление релеСкачать
Управление шаговым двигателем на Arduino UnoСкачать
Arduino Проекты #2 "Управление сервоприводом"Скачать
КАК ПОДКЛЮЧИТЬ СЕРВОПРИВОД К ARDUINO [Уроки Ардуино #15]Скачать
Драйвер двигателей L298N - Обзор, Тест, Подключение к ArduinoСкачать
Управление джостиком от ардуино мотор редукторомСкачать
Управление мотором ардуиноСкачать