Найти тему
Электроника, ESP32, Arduino

Как работать с драйвером электродвигателя TB6612FNG

Назначение драйвера электродвигателя: реверс, управление скоростью вращения, динамическое торможение.

Для создания самоделок на рынке существует несколько решений. Все они содержат защиту от ЭДС самоиндукции и управляются по примерно одинаковым алгоритмам.

В этой статье речь пойдет про плату которая позволяет управлять сразу двумя электродвигателями TB6612FNG (цена вопроса на Ali чуть больше 100 рублей)

Двухканальный драйвер для управления электромоторами TB6612FNG
Двухканальный драйвер для управления электромоторами TB6612FNG
  • Диапазон напряжения питания силовой части: 4,5V … 13,5V.
  • Диапазон напряжения питания логической части: 2,7 … 5,5V
  • Номинальный\максимальный ток: 1,4A\3,2A
  • Максимальная частота ШИМ: 100 кГц

Назначение выводов:

  • PWMA \ PWMB — Вход для управления скоростью вращения мотора, для канала A и B соответственно, подключается на выход arduino с поддержкой ШИМ (PWM).
  • AIN1 \ AIN2 — Входы полумостов канала A, подключаются на любые свободные выходы arduino.
  • BIN1 \ BIN2 — Входы полумостов канала B.
  • A01 \ A02 — Выходы полумостов канала A, подключается коллекторный двигатель.
  • B01 \ B02 — Выходы полумостов канала B.
  • STBY — Включение микросхемы, подключаются на любой свободный выход arduino.
  • VM — Вход питания силовой части микросхемы, питание двигателей.
  • VCC — Вход питания логической части микросхемы.
  • GND — Масса.

Для управления электродвигателем необходимо организовать определенную комбинацию логических сигналов на входах драйвера.

Таблица состояний выходов в зависимости от состояния входов
Таблица состояний выходов в зависимости от состояния входов

Разберем для примера строчку 4 из этой таблицы.

  • IN1 - логическая 1
  • IN2 - логический 0
  • PWM - управление скоростью вращения электродвигателя (если не требуется можно подать +5V и сэкономить пин)
  • STBY - включение микросхемы (если не требуется можно подать +5V и сэкономить пин)
Структурная схема из документации
Структурная схема из документации
  • Выход OUT1 будет подтянут к VM (+ питание электродвигателей)
  • Выход OUT2 будет подтянут к GMD (- питание электродвигателей)

В режиме торможения оба выхода к которым подключен электродвигатель подтягиваются к земле.

Режим торможения
Режим торможения

После снятия питания электродвигатель вращается по инерции и превращается в генератор. Короткое замыкание по входу позволяет ускорить процесс остановки вала.

Пример работы с Arduino показан на этой схеме:

Принципиальная электрическая схема.
Принципиальная электрическая схема.

В среднем положении потенциометра, встроенный светодиод горит, двигатель стоит на месте. При повороте ручки вправо - двигатель начинает вращаться в одну сторону. При вращении ручки потенциометра влево двигатель начинает вращаться в другую сторону. Чем сильнее повернули ручку, тем больше скорость вращения. При вращении мотора светодиод гаснет.

При подключении потенциометра мы имеем набор значений 0....1023.
В середине делаем небольшую мертвую зону, чтобы можно избежать ложных запусков двигателя.

Общий алгоритм управления электродвигателем с помощью потенциометра
Общий алгоритм управления электродвигателем с помощью потенциометра

Значения 0....499 и 525....1023 преобразовываем в значения ШИМ сигнала с помощью встроенной в среду Arduino IDE функции:

map(value, fromLow, fromHigh, toLow, toHigh);

speedM = map(A, 525, 1023, 0, 255); // по часовой

speedM = map(A, 0, 499, 255, 0); // против часовой

Алгоритм определен можно писать программу:

Определение переменных
Определение переменных
Цикл loop
Цикл loop

Собираем прототип:

Прототип на макетной плате
Прототип на макетной плате

Работу макета смотрите тут:

-10

Данный алгоритм отлично подходит для управления гусеничными платформами, например самодельным танком.

Самодельный р/с танк с пушкой на Arduino
Самодельный р/с танк с пушкой на Arduino

Два потенциометра в данном случае будут использоваться в качестве рычагов управления правой и левой гусеницей. Данные необходимо будет передавать по радиоканалу. Если данный вопрос вам интересен, оставляйте комментарий и не забывайте поставить лайк к этой статье.

Следующая статья будет посвящена запуску модели синхронного трехфазного электродвигателя, про который я рассказывал здесь:

Сделаем с помощью Arduino самодельный частотный преобразователь, и попробуем поуправлять электродвигателями работающими на переменном токе.

Драйвер на Ali: TB6612FNG

Полный список всех статей канала доступен по этой ссылке.

Всем удачи!