DRV8833 Dual Motor Driver

Pololu; микросхема Texas Instruments · DRV8833 Dual Motor Driver Carrier #2130

Два H-моста для низковольтных DC-моторов; пример Pololu #2130 с контролем FLT и отключением SLP.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает DRV8833 Dual Motor Driver Carrier #2130

В качестве исполнения DRV8833 выбран Pololu #2130 с защитой входного питания от переполюсовки. Его два H-моста могут менять полярность на двигателях; скорость задаётся PWM на управляющих входах. Число «2 А» обозначает пик, а ориентир длительной нагрузки этой платы — около 1,2 А на канал при подходящем охлаждении. У безымянной маленькой платы условия могут быть хуже.

На Pololu #2130 SLP подтянут вверх, в отличие от внутренней подтяжки самой микросхемы; AIN/BIN по умолчанию подтянуты вниз. Поэтому отсутствие управляющего сигнала не означает sleep, хотя нулевые AIN/BIN отключают мост. В примере все входы сначала удерживаются LOW, а SLP контролируется отдельно.

FLT — выход с открытым стоком, для чтения нужна подтяжка. Пример защёлкивает обнаруженную неисправность и не запускает мотор повторно до сброса после устранения причины. Он не измеряет ток и не подтверждает движение.

У штатного #2130 выводы измерения тока соединены с землёй: настраиваемое ограничение тока не включено. Не путайте аварийную защиту от перегрузки с регулированием рабочего тока. В тесте нужен малый мотор 5 В со свободным валом и отдельный ограниченный по току источник. Обычный диод поперёк реверсивного мотора непригоден; сохраняйте схему H-моста и его питание.

DRV8833, Pololu #2130. Фото: Pololu; https://www.pololu.com/product/2130/pictures. Лицензия на повторное использование не установлена. Удалён фон; объект равномерно масштабирован, детали и маркировка сохранены.

Схема соединений SLDV LAB показывает функции контактов для примера карточки; порядок строк не задаёт физическое расположение выводов.

Характеристики

H-мосты
2
Ориентир Pololu #2130 на канал с тепловыми ограничениями
1.2 А
Диагностика
FLT: открытый сток, активный LOW
Ограничение рабочего тока штатной платы
Не включено без изменения цепей ISEN
Питание модуля
Pololu #2130: VIN 2,7–10,8 В; входы совместимы с логикой 3 и 5 В. В примере VIN 5 В отдельно, GPIO Uno R3 5 В; отдельного VCC логики нет.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VINОтдельный изолированный источник 5 ВСогласовать ток двигателя; не питать от 5V Uno.
GNDGND Uno R3 и минус источника мотораОбщая земля.
AIN1 / AIN2D5 / D6 Uno R3Канал A; для аппаратного OFF поставить по 10 кОм к GND.
BIN1 / BIN2GND / GNDКанал B не используется.
SLP / nSLEEPD4 Uno R3LOW = sleep. На этой плате есть подтяжка вверх; первый запуск и reset проверять без нагрузки.
FLT / nFAULTD2 Uno R3INPUT_PULLUP использует подтяжку MCU к его 5 В.
AOUT1 / AOUT2Два провода малого DC-мотора 5 ВBOUT1/BOUT2 и VMM в тесте не подключать.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать DRV8833 Dual Motor Driver. Сначала уточни точное исполнение модуля, модель контроллера, среду разработки, питание и нагрузку. Не переноси распиновку и допустимый ток другой платы. Подготовь подключение, зависимости, полный минимальный пример с безопасным выключенным состоянием, обработку доступных сигналов неисправности и шаги проверки. Входы управления сами по себе не подтверждают состояние нагрузки. Все практические опыты ограничь маломощной нагрузкой с безопасным изолированным низковольтным питанием; не давай схему подключения к электросети. За основу взят Pololu #2130. Проверь подтяжку SLP, открытый сток FLT и фактические ISEN-резисторы. Не обещай регулирование тока без установленной измерительной цепи; после неисправности не делай автоматических повторных пусков.

Библиотеки

Ссылки на библиотеки для этой модели ещё не добавлены.

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и ядро
Arduino Uno R3 / Arduino AVR Boards 1.8.6

Дополнительная библиотека не используется.

Канал A и диагностика
AIN1=D5; AIN2=D6; SLP=D4; FLT=D2

FLT — вход с подтяжкой; не назначать OUTPUT.

Пробуждение
SLP=HIGH; ожидание 2 мс

В datasheet максимальное время пробуждения 1 мс; в коде оставлен запас.

Команды
9600 бод; 1 = импульс до 500 мс; 0 = OFF

Без окончания строки; после FLT=LOW повторный запуск запрещён до перезапуска MCU и устранения причины.

Uno R3: короткий импульс с блокировкой по FLT

cpp
#include <Arduino.h>
const uint8_t MOTOR_IN1 = 5, MOTOR_IN2 = 6, SLP = 4, FLT = 2;
bool running = false, faultLatched = false;
unsigned long started = 0;
void stopMotor() {
  digitalWrite(SLP, LOW);
  analogWrite(MOTOR_IN1, 0);
  analogWrite(MOTOR_IN2, 0);
  running = false;
}
void setup() {
  const uint8_t outputs[] = {SLP, MOTOR_IN1, MOTOR_IN2};
  for (uint8_t i = 0; i < 3; ++i) {
    digitalWrite(outputs[i], LOW);
    pinMode(outputs[i], OUTPUT);
  }
  pinMode(FLT, INPUT_PULLUP);
  stopMotor();
  Serial.begin(9600);
}
void loop() {
  if (running && digitalRead(FLT) == LOW) {
    faultLatched = true;
    stopMotor();
  }
  if (running && millis() - started >= 500UL) stopMotor();
  if (Serial.available() > 0) {
    const char command = (char)Serial.read();
    stopMotor();
    if (command == '1' && !faultLatched) {
      digitalWrite(SLP, HIGH);
      delay(2);
      if (digitalRead(FLT) == LOW) {
        faultLatched = true;
        stopMotor();
      } else {
        analogWrite(MOTOR_IN1, 64);
        started = millis();
        running = true;
      }
    }
  }
}

Полный скетч для Arduino Uno R3 (ATmega328P), пакет Arduino AVR Boards 1.8.6. API сверены с исходниками этой версии; компиляция и проверка на оборудовании не выполнялись. Перед запуском отключите нагрузку и проверьте аппаратное удержание входа в состоянии OFF при reset и загрузке. FLT не заменяет предохранитель и ограничение тока источника. Низкий PWM не гарантирует малый пусковой ток.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты