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

26-02-2020, 12:22 0 комментариев
DRV8825 - один из самых популярных контроллеров биполярного шагового двигателя. Сегодня мы рассмотрим его базовые параметры и познакомимся со схемой подключения к Ардуино. Но для начала разберем преимущества применения именно этого модуля. К ним можно отнести: легкость в сборке и настройке, доступность (приобрести можно по довольно доступной цене онлайн ∕ офлайн), может работать с выходным напряжением до 45 В (внутренний стабилизатор), током до 2.5 А, микрошагом до 1/32.

Такие драйвера часто применяются любителями радиотехники, конструирования и разработки «самоделок» в проектировании станков ЧПУ, копировальных и факсимильных устройств, а также простых 3D-принтеров.

Обратимся к техническим характеристикам модуля:
  • напряжение питания: 8,2 – 45V (max);
  • 6 вариантов установки шага: 1, 1/2, 1/4, 1/8, 1/16, 1/32;
  • напряжение логики: 3.3V;
  • предусмотрен потенциометр (для контроля);
  • защита от перегрева: имеется;
  • ток: 1.5А (без радиатора), 2.5 А (с радиатором);
  • защита от короткого замыкания на землю, при перегреве, пониженном напряжении и перегрузке по току (отключение или блокировка);
  • размеры: 20 х 15 х 10 мм.
Внимание! При правильном подключении можно управлять четырёх-, шести- и восьми- проводными двигателями.

Распиновка показана ниже:

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

В ней мы использовали следующие аппаратные детали: плата расширения Arduino Uno, драйвер ШГ, шаговый двигатель (типа Nema), комплект соединительных проводов.

Для управления двигателем и проверки его работоспособности зальем программный скетч:
/* 
 *  Тестировалось на Arduino IDE 1.8.5
 *  Дата тестирования 22.04.2018г.
*/
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);
}
Заметьте, в прошивке мы не использовали библиотеки, но при желании (и для реализации других, более сложных проектов) можно скачать и применить универсальную - StepperDriver (она подходит для многих популярных контроллеров и ШД).
Скачать можно по ссылке:
https://github.com/laurb9/StepperDriver

Изучайте Arduino, собирайте проекты и развивайтесь во всех направлениях. До скорой встречи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а...

В данном материале мы познакомимся с популярным цифрово-аналоговым преобразователем MCP4725, его техническими характеристиками и схемой подключения к Ардуино....

В этой статье мы хотим продолжить тему подключения шаговых двигателей к Ардуино – на очереди рассказ о ШД Nema 17. Почему именно он? Эта модель считается...

Подключение A4988 к Ардуино понадобится во многих проектах, которые «гуляют» по Интернету. Данный драйвер активно используется при создании своими руками...

Оставить комментарий