Драйвер шагового двигателя A4988.
Драйвер шагового двигателя A4988 является электронным устройством, которое заставляет вращаться шаговый двигатель, путем совершение шагов. Данное устройство незаменимо при разработке высокоточных ЧПУ станков и 3D принтеров.
Применение драйвера для шагового двигателя A4988.
Для создания высокоточных станков используют шаговые двигатели, которые обладают рядом преимуществ перед коллекторными двигателями:
- Шаговый двигатель быстро стартует, останавливается и совершает реверс.
- Высокая точность перемещения и позиционирования.
- Позволяет позиционировать без применения обратной связи.
- Большой диапазон изменения скорости.
- Возможность обеспечивать низкую скорость вращения без применения редуктора.
Спектр применения шаговых двигателей очень большой. Вы пользуетесь офисной техникой и не подозреваете, что управляет вашим ксероксом, принтером, факсом, 3D принтером шаговые двигатели.
Управляет шаговым двигателем драйвер. Driver с английского языка «водитель». Одним из недорогих драйверов, и в связи с этим достаточно популярным, является драйвер A4988. Модуль A4988 имеет защиту от перегрузки и перегрева. Одним из параметров шаговых двигателей является количество шагов на один оборот 360°. Например, для шаговых двигателей Nema17 это 200 шагов на оборот, т.е 1 шаг равен 1.8°. Драйвер A4988 позволяет увеличить это значение за счёт возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).
Технические характеристики A4988.
- напряжение питания: 8-35 v
- режим деления шага: 1, 1/2, 1/4, 1/8, 1/16
- логическое напряжение: 3-5.5 В
- защита от перегрева
- максимальный фазный ток: — 1 А без радиатора; — 2 А с радиатором
- габариты драйвера: 20 х 15 х 10 мм;
- габариты радиатора: 9 х 5 х 9 мм;
- вес с радиатором: 3 г;
- вес без радиатора: 2 г
Распиновка драйвера A4988.
Драйвер A4988 имеет всего 16 контактов, которые позволяют управлять шаговыми двигателями. Распиновка у A4988 следующая:
Назначение контактов драйвера A4988.
- ENABLE – включение/выключение драйвера
- MS1,MS2,MS3 – контакты для установки микрошага
- RESET — сброс микросхемы
- STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
- DIR – установка направления вращения
- VMOT – питание для двигателя (8 – 35 В)
- GND – общий
- 2B, 2A, 1A, 1B – контакты для подключения обмоток двигателя
- VDD – напряжение питания микросхемы (3.5 –5В)
Выводы выбора микрошага.
Драйвер A4988 допускает использование режима микрошага. Это достигается за счет подачи питания на катушки с промежуточными уровнями тока.
Например, если вы решите управлять шаговым двигателем NEMA 17 с шагом 1,8 градуса (200 шагов на оборот) в режиме 1/4 шага, то двигатель будет выдавать 800 микрошагов на оборот.
Драйвер A4988 имеет три вывода селектора размера шага (разрешения), а именно: MS1, MS2 и MS3. Установив соответствующие логические уровни на эти контакты, мы можем настроить двигатели на одно из пятиступенчатых разрешений.
Выводы выбора микрошага драйвер A4988.
По умолчанию эти три контакта подтянуты к земле внутренним резистором. Если мы оставим эти выводы не подключенными, то двигатель будет работать в режиме полного шага.
Выводы управления.
Драйвер A4988 имеет два управляющих вывода, а именно: STEP и DIR.
STEP — управляет микрошагом мотора. Каждыйвысокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.
DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращаться по часовой стрелке, а если низкий — против часовой стрелки.
Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.
Выводы STEP и DIR не подтянуты внутренними резисторами, поэтому вы не должны оставлять их не подключенными.
Выводы управления питанием A4988.
A4988 имеет три различных вывода для управления состоянием питания, а именно. EN, RST и SLP.
EN — вывод включения (0)/ выключения (1) драйвера A4988. По умолчанию на этом выводе установлен низкий уровень, поэтому драйвер всегда включен.
SLP — подача на данный вывод сигнала низкого уровня переводит драйвер в спящий режим, сводя к минимуму потребление энергии. Вы можете использовать этодля экономии энергии.
RST — при подаче сигнала низкого уровня все входные данные STEP игнорируются, до тех пор, пока не будет установлен высокий уровень. Низкий уровень также сбрасывает драйвер, устанавливая внутренний транслятор в предопределенное состояние Home. Исходное состояние — это в основном начальное положение, с которого запускается двигатель, и оно различается в зависимости от разрешения микрошага.
Выводы для подключения шагового двигателя.
Выходные контакты: 1B, 1A, 2A и 2B.
К этим выводам можно подключить любой биполярный шаговый двигатель с напряжением питания от 8 до 35 В.
Каждый выходной контакт модуля может обеспечить ток до 2 А. Однако величина тока, подаваемого на двигатель, зависит от источника питания системы, системы охлаждения и настройки ограничения тока.
Система охлаждения — радиатор.
Чрезмерное рассеивание мощности микросхемы драйвера A4988 приводит к повышению температуры, которая может выйти за пределы возможностей микросхемы, что, вероятно, приведет к ее повреждению.
Даже если микросхема драйвера A4988 имеет максимальный номинальный ток 2 А на катушку, микросхема может подавать только около 1 А на катушку без перегрева.
Для достижения более 1 А на катушку требуется радиатор или другой метод охлаждения.
Драйвер A4988 обычно поставляется с радиатором. Желательно установить его перед использованием драйвера.
Ограничение тока.
Перед использованием драйвера нам нужно сделать небольшую настройку. Для этого нужно ограничить максимальный ток, протекающий через катушки шагового двигателя, и предотвратить превышение номинального тока двигателя.
На драйвере A4988 есть небольшой потенциометр, который можно использовать для установки ограничения тока. Вы должны установить ограничение по току равным или ниже номинального тока двигателя.
Расчет и установка ограничещего тока драйвер шагового двигателя A4988.
В данном случае мы собираемся установить ограничение тока путем измерения напряжения (Vref) на выводе «ref».
- Взгляните на техническое описание вашего шагового двигателя. Запишите его номинальный ток. Для примера расчета будем использовать NEMA 17 200 шагов/об, 12 В 350 мА.
- Переведите драйвер в полношаговый режим, оставив три контакта выбора микрошага отключенными.
- Удерживайте двигатель в фиксированном положении, не синхронизируя вход STEP.
- Во время регулировки измерьте напряжение Vref (один щуп мультиметра на минус питания, а другой к металлическому корпусу потенциометра).
- Отрегулируйте напряжение Vref по формуле:
Vref = Imax * 8 * (RS)
Imax — ток двигателя;
RS — сопротивление резистора. В моем случае RS = 0,100.
Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два черных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.
- Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.
В связи с тем что рабочий ток двигателя равен 70% от тока удержания. Полученное значение нам нужно умножить на 0,7. В противном случае двигателя в режиме удержания будут сильно греться.
Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
- Аналогично можно рассчитать значения дляEM-181
Vref = 1,2 * 8 * 0,100 = 0,96 В
Vrefист. = ,96*0,7 = 0 ,672 В.
Электроника для ЧПУ станков, в которой можно использовать драйвер шагового двигателя A4988.
Драйвер шагового двигателя A4988 можно подключить к микроконтроллеру, например к Arduino, напрямую.
Скетч вращения шагового двигателя NEMA 17, драйвер A4988.
Программа для вращения шагового двигателя NEMA 17, драйвер A4988. Сначала мотор совершает полный оборот в одну сторону, потом в другую.
Подробнее о подключении шаговых двигателей к Ardiono смотрите на сайте Ардуино технологии.
Для более простого подключения шагового двигателя к Arduino или другому микроконтроллеру существуют модули. Модули бывают разные, на фото ниже приведен пример двух различных модулей.
Распиновку и как подключать модуль драйвера A4988 будем рассматривать в следующей статье.
Использование драйвера A4988 с CNC shield v3 и CNC shield v4.
Драйвер A4988 можно установить на CNC shield v3 и CNC shield v4. CNC shield используются для управления ЧПУ станками и облегчают сборку электроники.
Данный набор позволяет без пайки собрать электронику для двух осевых, трех осевых, четырех осевых ЧПУ станков, а также для самостоятельной сборки 3D принтеров. При реализации ЧПУ станков данные шилды используются достаточно часто благодаря своей низкой цене и простоте сборки.
Более подробно CNC shield v3 и CNC shield v4 будем рассматривать в следующих статьях.
Мы еще не рассмотрели использование данных драйверов для создания 3D принтеров на основе Ramps. Но это совсем другая история.
Вывод можно сделать следующий. Не смотря на свою небольшую стоимость и небольшой размер, драйвера отлично подходят для реализации большого количества проектов. От самодельных станков, до роботов манипуляторов.
Понравился Драйвер шагового двигателя A4988? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988
Шаговые двигатели – это разновидность двигателей постоянного тока, в которых перемещение ротора происходит небольшими дискретными шагами. В настоящее время шаговые двигатели находят очень широкое применение – начиная от камер наблюдения и заканчивая сложными роботами и механизмами.
Чтобы лучше понять материал данной статьи целесообразно посмотреть статью об управлении шаговым двигателем 28-BYJ48 с помощью Arduino и потенциометра. Однако шаговый двигатель 28-BYJ48 имеет значительно меньший крутящий момент, чем более мощные двигатели такие как, например, NEMA 14, NEMA17.
В данной статье мы рассмотрим управление шаговым двигателем NEMA 17 с помощью платы Arduino и драйвера двигателя A4988. Для управления направлением вращения шагового двигателя мы будем использовать потенциометр. Ранее на нашем сайте мы также рассматривали управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера DRV8825.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Шаговый двигатель NEMA 17 (купить на AliExpress).
- A4988 Stepper Driver Module (модуль драйвера шагового двигателя) (купить на AliExpress).
- Конденсатор 47 мкФ (купить на AliExpress).
- Потенциометр (купить на AliExpress).
Шаговый двигатель NEMA17
Принцип действия шагового двигателя Nema17 аналогичен работе других шаговых двигателей. Более подробно о принципах работы шаговых двигателей можно прочитать в статье про подключение шагового двигателя к микроконтроллеру AVR.
Шаговый двигатель NEMA 17 имеет плиту размером 1.7 x 1.7 дюйма и он имеет больший крутящий момент по сравнению с другими аналогичными шаговыми двигателями меньшего размера, например, NEMA 14. Данный двигатель имеет 6 подводящих проводов и работает от напряжения 12 В. Он может работать и от напряжения меньшей величины, однако при этом соответствующим образом будет уменьшаться и его крутящий момент.
При каждом шаге ось двигателя NEMA17 поворачивается на угол, равный 1.8 градуса. Схема расположения подводящих проводов двигателя NEMA17 представлена на следующем рисунке.
Как вы можете видеть из представленного рисунка, шаговый двигатель NEMA17 имеет униполярное расположение 6 проводов. Эти провода подсоединены к двум раздельным обмоткам. Черный, желтый и зеленый провода подключены к первой обмотке, а красный, белый, и синий провода – к другой обмотке. В обычном режиме центральные провода обмоток (черный и белый) оставляют неподключенными.
Число шагов за оборот для двигателя NEMA17
Число шагов за полный оборот (Steps per Revolution) для каждого определенного шагового двигателя рассчитывается с помощью угла, на который поворачивается шаговый двигатель за один шаг (step angle). Для двигателя NEMA17 этот шаг равен 1.8 градуса, соответственно, получаем:
Steps per Revolution = 360/ step angle
360/1.8 = 200 Steps Per Revolution
Технические характеристики двигателя Nema 17
- рабочее напряжение: 12V DC (12 В постоянного тока);
- угол за один шаг (Step Angle): 1.8 градуса;
- 200 шагов за один полный оборот;
- число фаз: 4;
- длина двигателя: 1.54 дюйма;
- диапазон рабочих температур: от -10 до 40 °C;
- удерживающий крутящий момент: 22.2 oz-in.
Также на нашем сайте вы можете посмотреть все проекты, в которых были использованы шаговые двигатели.
Модуль драйвера шагового двигателя A4988
Модуль драйвера шагового двигателя управляет работой шагового двигателя, подавая на него различные фазы питания в необходимые моменты времени.
Модуль драйвера шагового двигателя A4988 предназначен для управления работой шагового двигателя Nema 17 и другими аналогичными биполярными (двухполюсными) шаговыми двигателями. Этот модуль имеет встроенный транслятор (преобразователь), что позволяет ему управлять и скоростью, и направлением вращения шаговых двигателей, используя для этого небольшое число контактов.
Для управления шаговым двигателем Nema 17 нам понадобится всего два контакта модуля A4988 – STEP (для управления шагами) и DIRECTION (для управления направлением вращения двигателя).
Драйвер двигателя A4988 может управлять работой шагового двигателя в 5 различных режимах: полного шага, половины шага, четверти шага, 1/8 шага и 1/16 шага. Вы можете выбрать необходимый вам режим шага используя контакты выбора режима (MS1, MS2 и MS3). На следующем рисунке представлена таблица задействования этих контактов для выбора необходимого режима шага.
Технические характеристики драйвера двигателя A4988:
- максимальное рабочее напряжение: 35V;
- минимальное рабочее напряжение: 8V;
- максимальный ток на одну фазу: 2A;
- режимы: полный шаг, ½ шага, ¼ шага, 1/8 шага и 1/16 шага;
- защита от обратного напряжения: нет;
- размеры: .5 × 20.5 mm (0.6″ × 0.8″).
Различия между драйверами двигателя DRV8825 и A4988
Оба этих драйвера двигателя предназначены для управления шаговым двигателем Nema 17, имеют похожую распиновку и области применения, но они отличаются в количестве микрошагов, рабочем напряжении и т.д. Ниже приведены следующие ключевые отличия этих модулей драйвера двигателя:
- модуль DRV8825 поддерживает 6 режимов шага, а модуль A4988 – только 5. Большее число этих режимов означает более равномерное и тихое функционирование шагового двигателя;
- минимальная длительность шага для DRV8825 составляет 1.9 мкс, а для A4988 – 1 мкс;
- без дополнительного охлаждения DRV8825 обеспечивает немного больший ток чем A4988;
- местоположение потенциометра, регулирующего лимит тока, в обоих модулях различно;
- DRV8825 может быть использован при более высоком напряжении питания;
- на контакте спящего режима (SLEEP pin) в DRV8825 по умолчанию не установлен режим с подтягивающим резистором как это сделано в A4988;
- вместо контакта напряжения питания DRV8825 имеет выходной контакт.
Схема проекта
Схема управления шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988 представлена на следующем рисунке.
Поскольку модуль драйвера A4988 имеет встроенный транслятор (преобразователь), поэтому к плате Arduino достаточно подсоединить только его контакты Step и Direction. Контакт Step используется для управления шагами двигателями, а контакт Direction – для управления направлением его вращения. Шаговый двигатель запитывается от источника питания 12V, а модуль A4988 – от платы Arduino. Потенциометр используется для управления направлением вращения двигателя.
Если вы будете поворачивать потенциометр по часовой стрелке, то и шаговый двигатель будет вращаться по часовой стрелке. Если вы будете поворачивать потенциометр против часовой стрелки, то и шаговый двигатель будет вращаться против часовой стрелки. Конденсатор 47 мкФ используется для защиты платы Arduino от выбросов напряжения. Контакты MS1, MS2 и MS3 остаются неподключенными, что означает что драйвер будет функционировать в режиме полного шага.
Внешний вид собранной конструкции проекта показан на следующем рисунке.
Таблица соединений платы Arduino, шагового двигателя Nema 17 и модуля драйвера двигателя A4988 выглядит следующим образом.
Контакт A4988 | Соединение |
VMOT | +ve Of Battery |
GND | -ve of Battery |
VDD | 5V of Arduino |
GND | GND of Arduino |
STP | Pin 3 of Arduino |
DIR | Pin 2 of Arduino |
1A, 1B, 2A, 2B | шаговый двигатель |
Соблюдайте полярность источника питания.
Объяснение программы для Arduino
Полный код программы и видео с демонстрацией работы схемы приведены в конце статьи, здесь же мы кратко рассмотрим основные фрагменты кода.
Первым делом скачайте библиотеку для управления шаговым двигателем по следующей ссылке и добавьте ее в Arduino IDE. После этого подключите заголовочный файл этой библиотеки в программе и укажите число шагов для шагового двигателя NEMA 17 – оно равно 200.