Описание драйвера, характеристики
DRV8825 - Это драйвер шагового двигателя, с током до 2.2А и возможностью делить шаги микрошагом вплоть до 1/32. Драйвер пользуется популярностью из-за того, что рассчитан на хороший ток, хорошо делит шаги и его можно легко установить в в плату RAMPS 1.4.
Питание: от 8.2в - 45в
Микрошаг: 1/2, 1/4, 1/8, 1/16, 1/32
Ток: без радиатора до 1.5А на обмотку и 2.2А с радиатором
Защита: От перегрева, от перегрузки по току
Размеры: 20 х 15 х 10 мм
Как настроить микрошаг на DRV8825
Микрошаг, на этом драйвере, выбирается путем подачи нужных напряжений на пины M0, M1, M2. Ниже я приведу таблицу напряжений для разного деления шага. На пинах должен получаться либо высокий либо низкий уровень напряжения, в частности, можно брать напряжение пинов Arduino 5v и все будет работать как надо.
Выбор большего деления шага, дает возможность увеличить разрешение движения, но точность от этого немного страдает, а так же сильно уменьшается момент двигателя.
Подключение драйвера шагового двигателя к arduino
У каждого радиолюбителя возникает тот момент, когда ему необходимо подключить к своему микроконтроллеру шаговый двигатель. Конечно, скажете вы, в "Интернетах" есть куча схем, готовых библиотек и все уже разжевано давным давно. Однако, когда я решил подключить к своей arduino nano драйвер DRV8825 и полез в интернет за схемкой, то обнаружил, что схем несколько. Если быть точным я нашел их 2.
Посмотрев несколько статей, устройств, схем, я пришел к выводу, что вторя схема правильная (нет) и растравил плату. Собрав ее, долго думал почему на двигатель не поступает питание. Я менял драйвера как перчатки, но после 4 штук подумал, что дело не может быть в драйверах. Решил подать питание так как показано на первой схеме. И о чудо! Оно живое!
Возможно, только у меня такие драйвера ( или кривые руки ), однако запустилась только первая схема, которую я теперь постоянно и использую.
Возможные проблемы при подключении DRV8825 к Arduino или другому микроконтроллеру.
- Используется не правильная схема подключения.
- Не правильно настроен ток для двигателя, иногда он выкручен на минимум по умолчанию и поэтому двигатель может не работать. Далее мы это разберем.
- Не правильная программа (скетч).
- Пины которые вы используете не подходят для программы и не могут выдавать сигнал. Например на Arduino nano пины A6,A7 вообще не могут выдавать сигнал, поэтому проверяйте пины вашего контроллера на совместимость.
Подключение DRV8825 к плате RAMPS 1.4
На фото показано каким образом необходимо ставить драйвера на плате. Перемычки микрошага находятся под самими драйверами и подписаны M0, M1, M2 (иногда ms0, ms1, ms2).
Как настроить ток на шаговом двигателе.
У каждого двигателя свой ток работы. Для того, что-бы он правильно работал, необходимо правильно ограничить ток на плате драйвера. Для этого на платах есть потенциометр.
Для начала нужно рассчитать VRef, делается это очень просто.
Current Limit = Vref * 2
Vref = Current Limit / 2
Например для шагового двигателя 17HS4401: Vref = 1,7 / 2 = 0,85В
Что-бы двигатель не перегревался часто Vref снижают.
Ставим щупы мультиметра так, как показано на картинке выше, меряем, что у нас там и крутим в ту или иную сторону для достижения нужного результата. Двигатель в этот момент будет менять свой звук работы.
Отлично! Ток настроен, а драйвер правильно подключен!
Скетч для проверки драйвера шагового двигателя
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 5, 6);
void setup() {
myStepper.setSpeed(60);
Serial.begin(9600);
}
void loop() {
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Кстати купить данный драйвер можно на Aliexpress:
ссылка на товар DRV8825 за примерно 100р
Так же вы можете прочитать про подключение и настройку популярного драйвера a4988 по ссылке.