Обзор драйвера шагового двигателя DRV8825
Обзор драйвера шагового двигателя DRV8825

В предыдущей статье рассказывало о драйвере для биполярного шагового двигателя A4988, который часто используют в проектировании станков ЧПУ. В этой статье расскажу о другом драйвере DRV8825, который полностью взаимозаменяемый с драйвером A4988 и может работать с микрошагом до 1/32, напряжением до 45 В и током до 2.5 А.

Технические параметры

► Напряжения питания: от 8,2 до 45 В
► Установка шага: 1, 1/2, 1/4, 1/8, 1/16, 1/32
► Напряжение логики: 3.3 В
► Защита от перегрева: Есть
► Максимальный ток на фазу: 1.5 А без радиатора, 2.5 А с радиатором.
► Габариты модуля: 20 мм х 15 мм х 10 мм
► Габариты радиатора: 9 мм х 5 мм х 9 мм

Общие сведения о драйвере DRV8825

Основная микросхема модуля это драйвер от TI (Texas Instruments Inc.) DRV8825, которая способна управлять одним биполярным шаговым двигателем. Как говорил ранее данный драйвер полностью взаимозаменяемый с драйвером A4988. Микросхема DRV8825 может работать с выходным напряжение до 45 В и током до 1.5 на катушку без радиатора и до 2.5 А с радиатором (дополнительным охлаждением). Так же, модуль имеет внутренний стабилизатор напряжение, который напитывает логическую часть модуля напряжение 3.3 В от источника шагового питания двигателя.
Драйвер позволяет использовать шесть вариантов шага: 1, 1/2, 1/4, 1/8, 1/16, 1/32

Обзор драйвера шагового двигателя DRV8825

Распиновка драйвера DRV8825:
На драйвере DRV8825 расположено 16 контактов, назначение каждого можно посмотреть ниже:

Назначение контактов драйвера для шагового двигателя DRV8825

EN — включение и выключение модуля (0 — включен, 5 В — выключен).
M0, M1 и M2  — выбор режима микро шаг (смотрите таблицу ниже).
RST — сброс драйвера.
SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микро шага), чем быстрее импульсы, тем быстрее вращаться двигатель.
DIR — управляющий вывод, если подать +5 В двигатель будет вращается по часовой стрелке, а если подать 0 В против часовой стрелки.
VMOT  &  GND MOT — питание шагового двигателя двигателя от 8.2 до 45 В (обязательное наличие конденсатора на 100 мкФ). Так же, нет необходим
B2, B1, A1, и A2 — подключение обмоток двигателя.
► FAULT — Выход включения защиты, если состояние «0», значит полевые транзисторы H-моста отключены в результате защиты от перегрузки по току или был перегрев.
GND LOGIC — заземление микроконтроллера.

Настройка микрошага
Драйвер DRV8825 может работать микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровням. Например, если взять двигатель NEMA17 с шагом 1.8 или 200 оборотов, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот
Дня настройки микрошагов на драйвере DRV предусмотрены три выхода, а именно M0, M1 и M2. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.

Установка микрошага DRV8825


Вывода M0, M1 и M2 в микросхеме DRV8825 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.

Система охлаждения DRV8825
При интенсивной работе микросхемы DRV8825 начинает сильно греется и если температура превысит придельные значение, может сгореть. По документации DRV8825 может работать с током до 2.5 А на катушку, но на практике микросхема не греется если ток не превышает 1.2 А на катушку. Поэтому если ток выше 1.2 А необходимо устанавливать радиатор охлаждения, который идет в комплекте.

Охлаждение DRV8825

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

Vref = Current Limit / 2

где,
Current Limit — номинальный ток двигателя
В моем случаи, номинальный ток двигателя 17HS4401 равняется 1,7 А.

Vref = 1,7 / 2 = 0,85 В

Осталось только настроить, берем отвертку и вольтметр, плюсовой шуп вольтметра устанавливаем на потенциометр, а шуп заземления на вывод GND и выставляем нужное значение.

Настройка тока DRV8825

Подключение драйвера шагового двигателя DRV8825 к Arduino UNO

Необходимые детали:
► 
Arduino UNO R3 x 1 шт.
► Драйвер шагового двигателя DRV8825 x 1 шт.
► Шаговый двигатель 17HS4401 x 1 шт.
► Комплект проводов DuPont 2.54 мм, 20 см x 1 шт.

Подключение:
Теперь, можно приступить к сборке схемы. Первым делом подключаем GND LOGIC к GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигатель к контактам B2, B1, A2 и A1.

Предупреждение: Подключение или отключение шагового двигателя при включенном приводе может привести к его повреждению.

Затем необходимо подключить контакт RST к соседнему контакту SLP к 5В на Arduino, чтобы включить драйвер. Так-же контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND MOT, главное не забудьте подключить электролитический конденсатор на 100 мкФ, в противном случаи при скачке напряжение, модуль может выйти из строя.

Подключение DRV8825 к Arduino

Программа:
Теперь можно приступки к программной части и начать управлять шаговым двигателем с помощью драйвера DRV8825, загружайте данный скетч в Arduino.

Скачать скетч

Описание скетча:
Для работы данного скетча, не не требует никаких библиотек. Программа начинается с определения выводов Arduino, к которым подключены выводы STEP и DIR. Так же указываем stepsPerRevolution количество шагов на оборот.
В функции void setup() указываем управляющие контакты как выход.
В основной функции void loop(), вращаем двигатель по часовой стрелке затем против с разной скоростью.

Подключение DRV8825 к Arduino

Ссылки
 Скачать документацию на DRV8825

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Драйвер шагового двигателя DRV8825
  Шаговый двигатель Nema 17

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
 Драйвер шагового двигателя DRV8825
  Шаговый двигатель Nema 17

10 комментариев для “Обзор драйвера шагового двигателя DRV8825”
  1. Спасибо! Все просто и понятно, только с скетче маленькая опечатка в операторе for . Удивительно, что тонюсенькие ножки микросхемы выдерживают два ампера.

  2. У вас радиатор охлаждения подключен не правильно на фото!
    Снизу драйвера есть специальная площадка для этого.

    1. Здравствуйте, можно установить снизу, если использовать модуль отдельно.
      Но при использовании совместно с популярными платами расширении, необходимо установить сверху, так как снизу установлен конденсатор.

  3. Здравствуйте,
    может быть вы подскажете …

    Двигатель 17HS4401S hanpose.
    Использовал питание 24 вольт.

    Для настройки тока пробовал измерить напряжение между землёй драйвера и потенциометром.
    Но на потенциометре был НОЛЬ(земля) и измерить я не смог(я делал это без подачи питания на двигатель, может
    так неправильно?).
    Тогда я подключил амперметр и замерил постоянный ток в состоянии покоя двигателя.
    Странно, но даже при максимальном выкручивании потенциометра я получил только 1.35 ампера.
    Двигатель 17HS4401S hanpose работает хорошо(но он то выдерживает до 1.7 ампер).
    И сам драйвер должен давать больше «2.5-A Maximum Drive Current at 24 V and TA = 25°C».
    Я проверил ток двумя амперметрами(цифровой и аналоговый).

    Почему ток этого драйвера меньше указанного в разных статьях и в даташите???

    Радиатор драйвера нагрелся сильно.

  4. Странно но работает только в одну сторону, хотя и провода поменял от ардуины до драйвера и драйвер

    1. for(int x = 0; x < stepsPerRevolution; x++) поменяй знак в первом цикле таким образом и все заработает

  5. Здравствуйте, Сергей! Я подключил все, как у Вас в статье и оно заработало. Но у меня возник вопрос, если отсоединить EN, подать +5V на SLP, RST и внешнее питание на VMOT, GND при этом оставив код для Ардуино пустым, то мотор начинает греться и потреблять ток. Так и должно быть? Или ток должен потребляться только во время непосредственно работы двигателя?

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

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