Ардуино управление двигателем

       Ардуино управление двигателем, как это осуществить, зачем нам нужен контроллер двигателей? Не можем ли мы просто подключить двигатели непосредственно к Arduino или ESP8266, как светодиод или любой другой компонент? К сожалению нет. Выходные порты микроконтроллера не способны выдержать ток, потребляемый большинством  электродвигателями.  Максимальный ток на выводах большинства микроконтроллеров  составляет 40 мА. Маленький желтый электромотор, используемый в вашем роботе, может легко превзойти его, потребляя ток 500 мА  и выше.

Микросхема контроллера двигателя — TOSHIBA TB6612FNG:

БЫСТРЫЙ ПРОСМОТР СПЕЦИФИКАЦИЙ ДРАЙВЕРА ДВИГАТЕЛЯ TB6612FNG

  • Два независимых канала двунаправленного управления двигателем
  • Диапазон логического напряжения микросхемы 2,7 Вольт — 5,5 Вольт
  • Диапазон напряжения питания двигателя 2,5 Вольт — 13,5 Вольт
  • Ток выхода — 1 Aмпер непрерывный, максимальный 3 Aмпер на канал. Имеется возможность переводить каналы на двойной выход.

АРДУИНО УПРАВЛЕНИЕ ДВИГАТЕЛЕМ И/ИЛИ ДВИГАТЕЛЯМИ | СХЕМА ПОДКЛЮЧЕНИЯ

АРДУИНО УПРАВЛЕНИЕ ДВИГАТЕЛЕМ | ПОДРОБНОЕ ОПИСАНИЕ КОНТРОЛЛЕРА ДВИГАТЕЛЕЙ НА МИКРОСХЕМЕ TB6612FNG

 

 

Правая сторона

  • VM — плюс аккумуляторной батареи электродвигателей
  • VCC — VCC от микроконтроллера (2.7V-5.5V)
  • GND — заземление микроконтроллера
  • AO1 — Выход на (-) вывод двигателя A
  • AO2 — выход на (+) вывод двигателя A
  • BO2 — выход на (+) вывод двигателя B
  • BO1 — выход на (-) вывод двигателя B
  • GND — минус аккумуляторной батареи электродвигателей

Левая сторона

  • PWMA — ввод управлением скоростью вращения электродвигателем A соединяемся PWM на микроконтроллере
  • AIN2 — цифровой вывод на микроконтроллер
  • AIN1 — цифровой вывод на микроконтроллере
  • STBY — цифровой вывод на микроконтроллере или привязка к VCC
  • BIN1 — цифровой вывод на микроконтроллере
  • BIN2 — цифровой вывод на микроконтроллере
  • PWMB — ввод управлением скоростью вращения электродвигателем B соединяемся PWM на микроконтроллере 
  • GND — GND микроконтроллера

       Прежде всего, ничего не произойдет, если вывод STBY не имеет высокого уровня (логическая 1). Можно подключить этот вывод к микроконтроллеру и управлять им программно, либо просто выставить на нём логическую единицу подав на него питание с вывода VCC микросхемы TB6612FNG .

         Если вы хотите, чтобы двигатель A повернулся по часовой стрелке, установите AIN1 в HIGH, AIN2 — LOW, PWMA -> 0

        Если вы хотите, чтобы двигатель A повернулся против часовой стрелки, установите AIN1 в LOW, AIN2 — HIGH, PWMA -> 0

        Если вы не хотите использовать управление скоростью PWM для двигателей, вы можете просто связать контакты PWMA и PWMB с VCC. В случае Arduino это будет эквивалент AnalogWrite (5,255) ;. Также в отношении значений ШИМ — вам необходимо определить минимальный рабочий цикл ШИМ для минимальной скорости, с которой вы можете управлять своими двигателями. Установите значение ШИМ слишком низко, и вы можете поместить двигатель в состояние сваливания, которое будет потреблять слишком много тока. Низкие значения PWM также могут приводить к отрывистому режиму работы.

        В моем конкретном случае для минимальной скорости работы моторов было необходимо значение ШИМ 35. Это будет функцией вашего источника питания двигателя, размера двигателя и веса вашего робота.

       Теперь, когда вы можете контролировать направление и скорость вращения каждого двигателя, вы можете легко управлять своим роботом. На нашем роботе (с двумя приводными колесами и двумя опорными свободно вращающемися  колесиками от мебели) вращающийся двигатель A и B в одном направлении с одной и той же скоростью будет приводить к относительно прямому движению в этом направлении. Вращайте двигатели в противоположных направлениях, и вы получите очень быстрый поворот нулевого радиуса. Вы можете экспериментировать с разными значениями для разных типов наклонных поворотов.

        Из-за сочетания плохого дизайна шасси и дешевых «желтых» двигателей скорость на каждом двигателе немного отличается. Вы можете компенсировать, изменив рабочий цикл ШИМ для одного из двигателей. Например, вы можете обнаружить, что вам необходимо установить двигатель A на 255 и двигатель B на 249 для движения по прямой линии. Для калибровки может потребоваться небольшое экспериментирование.

Блок схема подключения с микроконтроллеру и моторам микросхемы — TOSHIBA TB6612FNG:

 

Компания WeMos Electronics в 2014 году предложила простую идею, на основе микроконтроллера ESP8266 от компании Espressif Systems, спроектировала единого размера небольшие совместимые модули как для центрального микроконтроллера так и для различных периферийных устройств сочленяемых в виде этажерки, контакты которой совместимы  сквозным соединением. В дальнейшем компания WeMos Electronics выпустила несколько серий модулей, для пользователей отличительными особенностями  модулей различных серий является размер модуля, его цвет или как сделано в первой серии для совмещения ножек питания 3,3 Вольта в плате сделан вырез например как на ниже представленном модуле драйвере моторов WeMos на микросхеме TB6612FNG. Чтобы не занимать 7 котактов микроконтроллера ESP8266 для управления микросхемой TB6612FNG на модуле установлен микроконтроллер STM32, который общаясь с модулем ESP8266 через шину I2C используя всего 2 контакта ESP8266, тем самым предоставляя другим модулям свободные контакты основного модуля ESP8266.

Модуль драйвер моторов WeMos на микросхеме TB6612FNG

 

 

Подробнее про это устройство в нашей следующей статье: WEMOS МОДУЛЬ 

Все модули WeMos мы приобретали здесь (картинка кликабельна):

 

 


Используемые ресурсы:
 Урок 3. Усиливаем «ноги робота». Драйвер двигателей.

TB6612FNG Техническое описание

Техническое описание FA-130RA Mabuchi


 

Обсуждение: 2 комментария

  1. Анатолий:

    А на фото МОДУЛЬ ДРАЙВЕР МОТОРОВ WEMOS с STM микроконтроллером , как им управлять?

    Ответить
  2. Этот модуль форм — фактора от фирмы WEMOS. Он называется: ДРАЙВЕР ДВИГАТЕЛЕЙ. WEMOS D1 MINI I2C DUAL MOTOR DRIVER TB6612FNG (1A) V1.0.0 А микроконтроллер STM32 выполняет роль контроллера управления от основного микроконтроллера через шину I2C схемой TB6612FNG

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

19 − тринадцать =

© 2021 Академия робототехники