Драйвер A4988: выводы, микрошаг и подключение к Arduino

Драйвер A4988: выводы, микрошаг и подключение к Arduino

Как устроен модуль A4988, за что отвечают его контакты, как задаётся дробление шага и как управлять шаговым двигателем NEMA17 с платы Arduino.

Зачем шаговому двигателю драйвер

Шаговый двигатель превращает электрические импульсы в поворот вала на строго заданный угол. Угол поворота однозначно связан с числом поданных импульсов, поэтому позиционировать механизм можно без обратной связи. У качественных двигателей погрешность не превышает 2,5 % от величины шага и не накапливается от шага к шагу. Такой мотор быстро стартует, останавливается и меняет направление, а очень низкие обороты получаются без редуктора: скорость определяется только частотой импульсов.

По этим причинам шаговые двигатели ставят туда, где важна точность перемещений: в принтеры, копировальные аппараты, станки с ЧПУ и 3D-принтеры. Управляют ими через специальные драйверы, и A4988 относится к самым распространённым модулям для биполярных двигателей.

Модуль драйвера шагового двигателя A4988

Основные параметры модуля

У двигателя NEMA17 на один оборот приходится 200 шагов, то есть один шаг равен 1,8°. A4988 умеет делить шаг на промежуточные положения и поддерживает пять режимов: полный шаг, 1/2, 1/4, 1/8 и 1/16. В модуль встроена защита от перегрузки и перегрева.

Питание двигателя (VMOT)8–35 В
Напряжение логики3–5,5 В
Ток на фазу без радиаторадо 1 А
Ток на фазу с радиаторомдо 2 А
Режимы микрошага1, 1/2, 1/4, 1/8, 1/16
Защитаот перегрузки и перегрева
Размер платы20 х 15 мм
Масса без радиатора2 г

Назначение контактов

Расположение выводов драйвера A4988
  • ENABLE — включение и отключение драйвера;
  • MS1, MS2, MS3 — выбор режима микрошага;
  • RESET — сброс микросхемы;
  • STEP — вход импульсов: один импульс соответствует одному шагу, частота импульсов задаёт скорость;
  • DIR — направление вращения;
  • VMOT и GND — питание двигателя 8–35 В и общий провод;
  • 2B, 2A, 1A, 1B — обмотки двигателя;
  • VDD — питание микросхемы.

Микрошаг и ограничение тока

Режим дробления шага определяется сочетанием логических уровней на входах MS1, MS2 и MS3. В примере из источника используются такие комбинации (MS1, MS2, MS3): 0-0-0 — полный шаг, 1-0-0 — 1/2, 0-1-0 — 1/4, 1-1-0 — 1/8, 1-1-1 — 1/16.

Для работы с микрошагом нужен небольшой ток; предельное значение выставляется подстроечным потенциометром на плате. Драйвер чувствителен к скачкам напряжения в цепи питания двигателя, поэтому производитель советует ставить по линии VMOT электролитический конденсатор большой ёмкости. Ещё одно важное правило: нельзя подключать или отключать двигатель при включённом драйвере — это может вывести оборудование из строя.

Подключение к Arduino и простой скетч

Схема подключения A4988 и шагового двигателя к Arduino

В базовой схеме вывод STEP драйвера соединён с пином 3 платы, DIR — с пином 2. Контакт RESET замыкают на SLEEP, чтобы на нём удерживался высокий уровень. Тестовый скетч настраивает оба пина как выходы, задаёт направление сигналом на DIR и в цикле из 200 повторений формирует импульсы на STEP с паузами по 10 мс — получается один оборот с постоянной скоростью. По замыслу двигатель делает оборот в одну сторону, затем в другую, и так по кругу.

Если вал не вращается, сначала проверяют соединение драйвера с платой и подключение обмоток: к парам выводов 1A–1B и 2A–2B должны идти те провода двигателя, которые прозваниваются между собой тестером. Причиной может быть и недостаточная мощность блока питания двигателя.

Пример: кнопка, переключатель и потенциометр

Более развёрнутый пример позволяет менять режим микрошага и направление прямо во время работы. Для него нужны Arduino Uno, драйвер A4988, двигатель NEMA17, потенциометр на 10 кОм, кнопка, двухпозиционный переключатель, три резистора по 10 кОм и соединительные провода.

Схема с кнопкой, переключателем и потенциометром для управления двигателем

Логика такая. Кнопка на пине 9 запускает и останавливает двигатель: скетч отслеживает нажатие с защитой от дребезга и меняет уровень на входе ENABLE (пин 8), где LOW разрешает работу, а HIGH запрещает. Переключатель подаёт сигнал непосредственно на вход DIR и тем самым задаёт направление. Потенциометр подключён к аналоговому входу A0: его показания пересчитываются в номер одного из пяти режимов, после чего нужная комбинация уровней выставляется на пинах 7, 6 и 5, соединённых с MS1, MS2 и MS3. Пока движение разрешено, на STEP непрерывно выдаются импульсы.

← Все статьи