Содержание
Описание
A4988 - Это драйвер шагового двигателя, достаточно популярный из-за своей цены и функционала. Часто используется в 3D принтерах или других не больших домашних ЧПУ станках.
Характеристики A4988
- Напряжения питания: 8-35 В
- Режим микрошага: 1, 1/2, 1/4, 1/8, 1/16
- Напряжение логики: 3-5.5 В
- Максимальный ток на фазу: - 1 А без радиатора; - 2 А с радиатором
- Защита от перегрева и короткого замыкания
- Размер: 20 на 15 мм
Подключение A4988 к Arduino
- ENABLE – включение/выключение драйвера
- MS1, MS2, MS3 – контакты для установки деления шага
- RESET - cброс микросхемы
- STEP - Пин для сигналов от контроллера, один импульс один шаг
- DIR – Если подать на пин +3.3V-5V, то вращение происходит в одну сторону, если там будет 0, то в другую.
- VMOT – питание для двигателя (8 – 35 В)
- GND – Земля или минус
- 2B, 2A, 1A, 1B – для подключения обмоток двигателя
- VDD – питание микросхемы (3.5 –5В)
Подключение к плате RAMPS 1.4
Обратите внимание, на то, каким образом должен стоять драйвер, неправильное расположение может и скорее всего выведет ваш драйвер из строя. В остальном, подключение не должно вызвать у вас, какие-либо, сложности. Для деления шага на плате предусмотрены джамперы прямо под колодкой драйвера.
Настройка тока двигателя на A4988
На плате драйвера предусмотрен потенциометр для регулировки тока. Для настройки понадобиться мультиметр, для замера напряжения на потенциометре.
Формула Vref для A4988 изменяется от номинала токочувствительных резисторов (Обведены на фото выше). . Обычно подписаны R050 или R100.
Vref = Imax * 8 * (RS)
Imax — максимальный ток двигателя;
RS — сопротивление резистора. В моем случае RS = 0,100.
Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.
Рабочий ток двигателя равен 70% от тока удержания. Умножим полученные значения чтобы двигатель не грелся при простое.
Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
Подключаем драйвер к микроконтроллеру, включаем и меряем напряжение Vref на драйвере. Если оно не соответствует нужному нам номиналу, а оно скорее всего будет не будет соответствовать, крутим потенциометр в какую то сторону и смотрим что поменялось. Доводим до нужного нам значения и радуемся, ведь ток на драйвере теперь настроен!
Настройка микрошага A4988
Для настройки микрошага на данном модуле, нужно подать напряжение на определенные пины.
На плате Ramps 1.4 предусмотрены специальные джамперы, для переключения микрошага, находятся под колодкой самого драйвера, подписаны как M0, M1, M2 или MS0, MS1, MS2.
Примеры кода
Программа крутит вал сначала в одну сторону, затем в другую.
// пины для подключения контактов STEP, DIR
#define STEP_PIN 3
#define DIR_PIN 2
// задержка между шагами двигателя
#define DELAY_STEPS 10
// количество шагов на 1 оборот
#define STEP_ROUND 200
void setup() {
// режим для STEP и DIR как OUTPUT
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
// начальные значения
digitalWrite(STEP_PIN, 1);
digitalWrite(DIR_PIN, 0);
}
void loop() {
// Крутимся в одну сторону
digitalWrite(DIR_PIN, HIGH);
// 1 оборот
for(int i = 0; i < STEP_ROUND; i++) {
digitalWrite(STEP_PIN, HIGH);
delay(DELAY_STEPS);
digitalWrite(STEP_PIN, LOW);
delay(DELAY_STEPS);
}
// Затем меняем направление и крутимся в другую сторону
digitalWrite(DIR_PIN, LOW);
// сделать 1 оборот
for(int i = 0; i < STEP_ROUND; i++) {
digitalWrite(STEP_PIN, HIGH);
delay(DELAY_STEPS);
digitalWrite(STEP_PIN, LOW);
delay(DELAY_STEPS);
}
}
Так же вы можете прочитать про подключение и настройку драйвера DRV8825, который является приемником этого драйвера на странице "Как подключить DRV8825 к Arduino".
Или приобрести товар на Aliexpress по самой выгодной цене, ссылка.