
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. |
| GND | GND Uno R3 и минус источника мотора | Общая земля. |
| AIN1 / AIN2 | D5 / D6 Uno R3 | Канал A; для аппаратного OFF поставить по 10 кОм к GND. |
| BIN1 / BIN2 | GND / GND | Канал B не используется. |
| SLP / nSLEEP | D4 Uno R3 | LOW = sleep. На этой плате есть подтяжка вверх; первый запуск и reset проверять без нагрузки. |
| FLT / nFAULT | D2 Uno R3 | INPUT_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=D2FLT — вход с подтяжкой; не назначать 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 не гарантирует малый пусковой ток.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


