Категория: Arduino - проекты |
Комментарии: 0
8 февраля 2016
Управление шаговым биполярным двигателем A4988ET [Рабочий код ino]
Многие схемотехники начинают городить большие платы с кучей транзисторов и интегральных схем для управления шаговыми биполярными (4 провода) двигателями. Очень часто это сложно, долго, громоздко, проблематично, дорого. Для решения данных проблемы существует плата драйвера биполярных двигателей основанная на микросхеме A4988ET. В оригинале эта плата предназначена для 3D принтеров. Далее о самой плате, распиновка и проверенный код для Arduino.
Сразу заглянем внутрь самой микросхемы A4988ET, что бы понять в чем её преимущество. На рисунке ниже.
Биполярный двигатель имеет 4 провода
В отличии от драйвера шагового биполярного двигателя на ULN2803APG данная схема имеет ряд преимуществ.
Самое главное это то что развязка организованна на Mosfet транзисторах с затвором, с обратной защитой. Остальные преимущества узнаем после разбора просмотра распиновки платы A4988ET и характеристик.
Я долго мучался когда "городил" драйвер на микросхеме ULN2803 с резисторами (для создания разно полярного напряжения на обмотках, по ссылке выше). Резисторы часто перегревались, а парочка и вовсе взорвалась.
Поэтому данная микросхема - счастье и находка. В оригинале плата A4988ET предназначена для управления двигателями от 3D принтера и прекрасно сочетается с платой RAMPS.
Как видно на рисунке на плате A4988ET находятся радиаторы. При условии что рабочая температура всего лишь 60 градусов, основная микросхема имеет защиту от перегрева.
О характеристиках:
Напряжения питания для двигателей: от 8 до 35 В
Возможно установить шаг двигателя: от 1 до 1/16 от целого шага (микрошаги)
Сама микросхема имеет питание: 3-5.5В
Максимальный ток: 1А без радиатора, 2А с радиатором
Размер платы: 20 х 15 мм - как копейка
Ниже на рисунке изображена схема подключения платы.
ENABLE - Включение или выключение микросхемы
RESET - Сброс работы логики
STEP - Генерация ШИМ - скорости биполярного двигателя. Каждый импульс это шаг
DIR - Установка высокого или низкого уровня на входе регулирует направление вращения.
VMOT -Питание для двигателя от 8 до 35 вольт
GND - Минус питания для двигателя
2B, 2A, 1A, 1B - Обмотки двигателя. Для определения обмоток двигателя замерьте сопротивление. Между разными обмотками бесконечное сопротивление, иначе вы увидите сопротивление 4-8 Ом значит что вы определили или 1ю или 2ю обмотку двигателя.
VDD - Питание 5В для микросхемы
GNG - Минус питания для микросхемы
MS1, MS2, MS3 - Устанавливая на данных входах уровни 000, 100, 010, 110, 111 достигается режим полношагового, половинного шага, четверти шага, одна восьмая шага, и даже 1\16 от целого шага.
Таким образом плата имеет широкие возможности.
Так выглядят на скорую руку подпаянные провода. Так же важно установить поддерживающий конденсатор в 1000 мкф (не 100, а 1000мкф 16Вольт !)
Основными моментами является:
Не дай вам Боже случайно выдернуть подключенный двигатель от микросхемы при поданном питании - сгорит. В мануале к микросхеме написано что есть защита от кз. Но защиты от резкой смены нагрузки нет.
Код программы ниже опробован на Arduino Mega с довольно большим биполярным двигателем.
- /*
- * 1injener.ru
- * Управление шаговым биполярным двигателем A4988ET [Рабочий код ino]
- *
- */
- int dirPin = 2; //Название переменной указывает DIR
- int stepperPin = 3; //STERR Pin
- void setup() {
- pinMode(dirPin, OUTPUT);
- digitalWrite(4,LOW); // Установка высокого уровня на Enable
- pinMode(stepperPin, OUTPUT);
- }
- //Функция ШАГ. Принимает направление движения и количество шагов.
- void step(boolean dir,int steps){
- digitalWrite(dirPin,dir);
- delay(50);
- for(int i=0;i<steps;i++){
- digitalWrite(stepperPin, HIGH);
- delayMicroseconds(800);
- digitalWrite(stepperPin, LOW);
- delayMicroseconds(800);
- }
- }
- void loop(){
- step(true,1000); //Движемся в одну сторону 1000 шагов
- delay(3000);
- step(false,3000); //Движемся в обратную сторону 3000 шагов
- delay(3000); //Пауза
- }
- //http://www.geeetech.com/wiki/index.php/A4988_Stepper_Motor_Driver_Carrier_Board
Скачать скетч для Arduino: 1injener_ok_A4988.ino
Официальные документы на A4988: Скачать a4988.pdf
Всё просто!
ЖКИ дисплей WH0802 подключение к Ардуино [Много проводов]
Управление шаговым биполярным двигателем A4988ET [Рабочий код ino]
Новые изобретения инженеров и техников, дизайнеров и обычных людей, все то что может изменить наш мир к лучшему. Новая техника и оружие, спасателей и спецназа. Гаджеты и девайсы, устройства для отдыха и работы. Советы для экономии семейного состояния. Все гениальные изобретения в простом формате! Ведь "Все - Просто!"
Copyright © 2013–2024
Автоматизация и проектирование - 1injener.ru
Copyright © 2013–2024
Автоматизация и проектирование - 1injener.ru