Обзор драйвера шагового двигателя 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 IDE 1.8.5
 *  Дата тестирования 22.04.2019г.
*/
const int dirPin = 2;
const int stepPin = 3;
const int stepsPerRevolution = 200;

void setup()
{
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
}
void loop()
{
  digitalWrite(dirPin, HIGH); // Установка вращения по часовой стрелки
  
  for(int x = 0; x < stepsPerRevolution; x++)
  {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(2000);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(2000);
  }
  delay(1000);
  
  digitalWrite(dirPin, LOW); // Установка вращения против часовой стрелки

  for(int x = 0; x < stepsPerRevolution; x++)
  {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(1000);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(1000);
  }
  delay(1000);
}

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

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

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

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

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

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

Читайте также:

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

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