A4988 Stepper Driver

Pololu, микросхема Allegro MicroSystems · Pololu A4988 Stepper Motor Driver Carrier #1182, Rsense 0,068 Ом

Драйвер STEP/DIR с ограничением тока для биполярного шагового двигателя.

Автор: SLDV LAB

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

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

О МОДУЛЕ

Что делает Pololu A4988 Stepper Motor Driver Carrier #1182, Rsense 0,068 Ом

A4988 принимает команды STEP и DIR, а внутренний регулятор формирует ток двух обмоток. Внешний контроллер задаёт перемещение, но не получает от этого драйвера измерение реального положения.

Референс — оригинальный Pololu #1182 с измерительными резисторами 0,068 Ом, применяемыми в поставках с 2017 года. Более ранние платы использовали 0,050 Ом, а копии могут иметь другие номиналы. Цвет платы не заменяет проверку Rsense. Для настройки используется Imax = Vref / (8 × Rsense) именно у A4988.

При полном шаге ток каждой фазы составляет примерно 0,7 от установленного Imax. Это не повод произвольно повышать лимит: он не должен превышать допустимые параметры двигателя и тепловые возможности платы. Микрошаговое разрешение не равно абсолютной механической точности.

Плата управляет током обмоток; ток на входе питания не равен фазному току. Максимальный ток микросхемы нельзя считать гарантированным длительным током маленькой платы без оценки охлаждения. Внешний источник, короткие силовые провода и конденсатор у VMOT обязательны; встроенная защита не устраняет риск перегрева и выбросов напряжения.

Для любой перекоммутации выключайте логическое и силовое питание и дожидайтесь разряда конденсатора. Извлечение двигателя из работающего драйвера может вывести плату из строя. На двухполярные выходы H-моста не ставят один обычный диод поперёк обмотки. Пример не обеспечивает аварийную остановку опасного механизма и не предназначен для нагруженной вертикальной оси.

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

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

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

Референс платы
Pololu A4988 Stepper Motor Driver Carrier #1182, Rsense 0,068 Ом
Питание силовой части
8–35 В
Питание логики
3–5.5 В
Деление шага
1, 1/2, 1/4, 1/8, 1/16
Rsense указанного исполнения
0.068 Ом
Нагрузка
Двухфазный биполярный шаговый двигатель
Питание модуля
Референс Pololu #1182: VMOT 8–35 В, VDD 3–5,5 В; в стенде VMOT = 12 В и VDD = 5 В Uno R3. При логике ESP32 выберите VDD 3,3 В и перепроверьте уровни.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
STEP драйвера A4988D2 Arduino Uno R3Сигнал шага, не контакт двигателя.
DIR драйвера A4988D3 Arduino Uno R3Направление; устанавливается до импульсов STEP.
ENABLE драйвера A4988D4 Uno и подтяжка 10 кОм к 5VHIGH отключает мосты; подтяжка предотвращает включение до запуска скетча.
VDD; RESET и SLEEP драйвера5V Uno R3RESET и SLEEP объединить и подключить к 5V для рабочего режима.
MS1, MS2, MS3 драйвераGNDПолный шаг.
VMOT драйвера+12 В отдельного источникаУ платы электролит не менее 47 мкФ; для данного стенда можно 100 мкФ 25 В, соблюдая полярность. Короткие силовые провода.
GND драйвераМинус источника и GND Uno R3Оба контакта земли драйвера подключить; плюс 12 В не подаётся на 5V Uno.
1A, 1B драйвераОдна обмотка двигателяПару определяют омметром при полностью отключённом питании.
2A, 2B драйвераВторая обмотка двигателяНельзя подключать/отключать двигатель при поданном VMOT.

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

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

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

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

Помоги интегрировать A4988 Stepper Driver. Сначала уточни изготовителя и ревизию платы, значения обоих Rsense, паспортный ток двигателя, напряжение источника, контроллер и нагрузку. Сверь обозначения контактов и рассчитай ток по схеме конкретной платы. Не используй универсальное Vref и не подменяй фазный ток показанием источника. Подготовь развязку питания, схему, зависимости, короткий пример с отключением мостов, диагностику и процедуру безопасной проверки. Отдельно обсуди охлаждение и невозможность контролировать реальное положение только счётом STEP.

Библиотеки

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

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

Контроллер и API
Arduino Uno R3; Arduino AVR Boards 1.8.6

Пример для Uno R3 ATmega328P, не универсальная распиновка ESP32.

Двигатель для примера
Adafruit #324, 12 В, 0,35 А/фазу

Свободный вал без нагрузки; другой двигатель требует нового расчёта.

Rsense
0,068 Ом

Применимо только к подтверждённому Pololu #1182 этого исполнения; проверить оба резистора.

Лимит короткой пробы
Imax = 0,30 А; Vref ≈ 0,163 В

Расчёт 8 × 0,30 × 0,068. Номинальный предел выбранного двигателя 0,35 А/фазу.

Микрошаг
MS1=LOW; MS2=LOW; MS3=LOW

Полный шаг. У A4988 нет вывода FAULT, поэтому скетч не может прочитать код неисправности.

Управление
STEP=D2; DIR=D3; ENABLE=D4, активный LOW

Подтяжка ENABLE к 5V сохраняет отключение при сбросе Uno.

Проба
200 импульсов; HIGH 10 мкс; LOW не менее 10 мс

Последовательность запускается один раз после t; после неё силовые мосты отключаются.

Подготовка ограничителя тока и питания

text
1. Отключите все источники. Проверьте ревизию платы, Rsense и пары обмоток омметром; мотор пока не подключайте.
2. Соберите питание, общий GND и конденсатор по pins. Выходы отключены через ENABLE/ENN = HIGH. Загрузите скетч в Uno.
3. Подсоедините щупы вольтметра к GND и указанной изготовителем точке Vref при выключенном питании, исключив замыкание соседних контактов.
4. Подайте питание и настройте вычисленное Vref по инструкции именно этой платы. Используйте изолированный инструмент; не касайтесь радиатора и выводов.
5. Отключите всё питание, дождитесь разряда конденсатора и только затем подключите обмотки двигателя. Не меняйте разъёмы при поданном питании.
6. Включите логику, затем силовое питание. Убедитесь, что вал свободен, а источник можно немедленно отключить.
7. Отправьте t в Serial Monitor 115200. При дрожании, дыме, запахе или сильном нагреве выключите питание; не увеличивайте ток вслепую.

Полная подготовительная процедура для указанного стенда; численные настройки находятся выше. Проверка механики и токов на аппаратуре не выполнялась.

Arduino Uno R3: короткая серия STEP после t

cpp
const uint8_t STEP_PIN = 2, DIR_PIN = 3, ENABLE_PIN = 4;
void setup() {
  digitalWrite(ENABLE_PIN, HIGH);
  pinMode(ENABLE_PIN, OUTPUT);
  digitalWrite(STEP_PIN, LOW);
  pinMode(STEP_PIN, OUTPUT);
  digitalWrite(DIR_PIN, LOW);
  pinMode(DIR_PIN, OUTPUT);
  Serial.begin(115200);
  Serial.println("Check current limit and remove load, then send t.");
}
void loop() {
  if (!Serial.available() || Serial.read() != 't') return;
  digitalWrite(DIR_PIN, LOW);
  digitalWrite(ENABLE_PIN, LOW);
  delay(10);
  for (uint16_t n = 0; n < 200; ++n) {
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(10);
    digitalWrite(STEP_PIN, LOW);
    delay(10);
  }
  digitalWrite(ENABLE_PIN, HIGH);
  Serial.println("200 commanded pulses; bridge disabled.");
}

Полный скетч; базовый API Arduino AVR Boards 1.8.6 сверено, компиляция и аппаратное испытание не выполнялись. Число импульсов является командой и не доказывает фактический угол. Отключение мостов после пробы снимает удерживающий момент; используйте только ненагруженный вал.

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

Все проекты

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

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