Как работает драйвер двигателя A4988 и как его подключить к Arduino


Шаговый двигатель представляет собой бесщеточный двигатель постоянного тока, который производит вращение своей оси небольшими шагами, таким образом позволяя производить точное управление ее положением. A4988 представляет собой универсальный драйвер шагового двигателя, пригодный для использования в различных приложениях. Подключив его к плате Arduino Uno можно будет осуществлять простое и эффективное управление широким набором шаговых двигателей.

Внешний вид проекта подключения драйвера двигателя A4988 к плате Arduino

В данной статье мы рассмотрим основные принципы работы и устройство драйвера шагового двигателя A4988 и его подключение к плате Arduino. Ранее на нашем сайте мы уже рассматривали управление шаговым двигателем NEMA 17 с помощью драйвера A4988 и платы Arduino.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Драйвер шагового двигателя A4988 (купить на AliExpress).
  3. Шаговый двигатель.

Драйвер шагового двигателя A4988

Шаговые двигатели используют зубчатое колесо (шестерню) и электромагниты для вращения оси на один шаг. Каждый импульс высокого уровня (HIGH) запитывает катушку, тем самым притягивая один выступ (зуб) шестерни, что приводит к вращению оси двигателя на один шаг.

Драйвер двигателя A4988 позволяет управлять на выходе напряжениями до 35V и токами до ±2A. Это позволяет управлять биполярными шаговыми двигателями такими, к примеру, как NEMA 17, с выходным током до 2А на катушку. На следующем видео показан принцип работы шагового двигателя.

Распиновка драйвера A4988

Драйвер шагового двигателя A4988 содержит 16 контактов, его распиновка показана на следующем рисунке.

Распиновка драйвера шагового двигателя A4988

VDD – контакт для подачи питания на модуль драйвера. От него запитывается внутренняя схема модуля. Можно использовать источник питания от 3.3V до 5.5V.

GND – контакт общего провода (земли) драйвера. Его необходимо подключить к контакту общего провода платы Arduino. Таких контакта у драйвера два – 9 и 16.

VMOT – контакт для подачи питания на двигатель, можно использовать напряжение в диапазоне от 8V до 35V. В соответствии с даташитом на модуль драйвера вместе с ним необходимо использовать развязывающий конденсатор.

MS1, MS2, MS3 – контакты выбора разрешения микрошагов. С их помощью мы можем выбрать один из пяти режимов, представленных на следующем рисунке.

Возможные режимы работы шагового двигателя при управлении им с помощью драйвера A4988

На контакты MS1, MS2, MS3 с помощью внутренних подтягивающих резисторов модуля подается уровень LOW, поэтому если вы оставите их неподключенными, то двигатель будет работать в режиме полного шага (full step).

STEP – управление микрошагами каждого подключенного двигателя. Каждый импульс с уровнем HIGH, подаваемый на данный контакт, будет поворачивать ось двигателя на число микрошагов, определяемое контактами выбора разрешения микрошагов (MS1, MS2, MS3). Чем выше будет частота импульсов, тем быстрее будет вращаться ось двигателя.

DIR – с помощью этого контакта происходит управление направлением вращения двигателя. Если на него подать HIGH, то двигатель будет вращаться по часовой стрелке, если LOW – то против часовой стрелки.

EN – контакт управления доступностью модуля драйвера. Если на нем LOW, то драйвер двигателя A4988 доступен (enabled). По умолчанию на этом контакте присутствует уровень LOW, поэтому драйвер модуля будет доступен (в активном состоянии) до тех пор пока вы не подадите на него HIGH. Данный контакт полезен, к примеру, когда необходимо экстренно остановить двигатель.

SLP – контакт управления спящим режимом модуля. Если на нем LOW, то модуль переходит в спящий режим, тем самым уменьшая до минимума потребление электроэнергии. Этот режим можно использовать для уменьшения потребления энергии вашим устройством.

RST – контакт сброса модуля драйвера. Когда на нем LOW, все входы STEP игнорируются. Также это приводит к сбросу модуля драйвера, устанавливая его внутренний преобразователь (translator) в значение по умолчанию “home” – это начальное состояние, с которого начинает вращение двигатель, и оно зависит от установленного разрешения по микрошагам (microstep resolution).

1B, 1A, 2A, 2B – выходные контакты драйвера двигателя A4988. Каждый из этих контактов выдерживает ток до 2 А, что позволяет подключать к ним электродвигатели средних размеров, например, NEMA 17.

Компоненты драйвера двигателя A4988

Драйвер A4988 достаточно дешев и прост в эксплуатации, поэтому он находит широкое применение в современных электронных устройствах. Его компоненты показаны на следующем рисунке.

Компоненты драйвера двигателя A4988

Как вы видите из представленного рисунка, его основным компонентом является контроллер шагового двигателя A4988.

Наиболее часто задаваемые вопросы про драйвер двигателя A4988

Какова спецификация драйвера двигателя A4988?
A4988 представляет собой законченный модуль управления двигателем с возможностью управления по микрошагам и встроенным преобразователем (транслятором). Он предназначен для управления биполярными шаговыми двигателями в режимах полного шага, 1/2, 1/4, 1/8 и 1/16 шага с поддержкой выходного напряжения до 35 V и выходного тока до 2 A.

Какие основные отличия между драйверами A4988 and DRV8825?
Драйвер DRV8825 обеспечивает более высокое напряжение на своих выходах (45V против 35V), что означает более безопасное использование DRV8825 при более высоких напряжениях и меньшую чувствительность к возможным выбросам напряжения. Более подробно про отличия между этими драйверами вы можете прочитать в этой статье.

Какие ограничения по току (лимит) у A4988?
Микросхема драйвера двигателя A4988 выдерживает максимальный ток до 2 A на каждую обмотку, но данное значение максимального выдерживаемого тока будет зависеть от того, насколько хорошо вы охлаждаете микросхему драйвера.

Почему драйверу A4988 необходим конденсатор?
Данный конденсатор защищает модуль драйвера от возможных выбросов напряжения и обеспечивает более стабильную подачу питания на модуль.

Схема драйвера двигателя A4988

Схема драйвера A4988 показана на следующем рисунке. Как вы можете видеть, она достаточно проста. Более подробно про ее функционирование вы можете прочитать в даташите на драйвер.

Схема драйвера двигателя A4988Схема проекта

Схема подключения драйвера двигателя A4988 к плате Arduino представлена на следующем рисунке.

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

Запитывать схему мы будем от лабораторного источника питания.

Объяснение программы для Arduino

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

В коде программы мы первым делом дадим осмысленные названия используемым контактам и объявим переменную stepsPerRevolution.

В функции setup мы зададим режимы работы используемых контактов на вывод данных (OUTPUT).

В функции loop двигатель сначала будет медленно вращаться по часовой стрелке и затем быстро против часовой стрелки с интервалами в одну секунду между этими режимами. Управление направлением вращения двигателя осуществляет команда:

Управление скоростью вращения двигателя осуществляется с помощью следующего фрагмента кода:

Возможные ошибки в работе проекта

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

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
1 763 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *