Подключение мотор шилд к Ардуино

СОДЕРЖАНИЕ ►
Сегодня мы разберем весьма полезное расширение для платы Arduino UNO — Motor Control Shield L293D, рассмотрим схему подключения к данному шилду сервомоторов, шаговых двигателей и моторов постоянного тока. Также вы можете ознакомиться с командами, используемых в библиотеке AFMotor.h, и попробовать различные скетчи для управления шаговыми двигателями и моторами постоянного тока на Ардуино.
Motor Shield L293D: схема, характеристики
Микроконтроллер Ардуино позволяет любому начинающему радиолюбителю изготавливать сложные автоматизированные устройства и проекты. Использование Motor Shield может стать полезным дополнением во в многих проектах на Arduino, так как позволяет подключить сразу 2 сервопривода, 2 шаговых двигателя и до 4 двигателей постоянного тока (с реверсом направления вращения ротора).

Характеристики Мотор Шилд L293D
— для работы нужна библиотека AFMotor.h (скачать библиотеку);
— возможность подключения 2-х сервоприводов на 5 Вольт;
— возможность подключения 2-х шаговых двигателей от 6 до 12 Вольт;
— подключение до 4-х моторов с возможностью реверса направления вращения;
— контакты для подключения внешнего питания для двигателей;
— Motor Shield for Arduino совместим с платами Uno и Mega.
При подключении серводвигателей и моторов к Ардуино используются различные порты, к которым нельзя подключать другую периферию. Так, для серво используются цифровые порты 9 и 10, для шаговых двигателей и моторов используются порты с 3 по 8 и 12. Если вы желаете еще что-то подключить, то используйте 0 и 1 порт, 2 и 13, а также аналоговые входы (порты A0-A5 можно использовать как цифровые выходы).
Как подключить Motor Shield к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- Motor Shield L293D;
- сервомотор;
- двигатели постоянного тока;
- шаговый двигатель;
- провода «папа-мама», «папа-папа».
К Ардуино шилд подключается очень просто — он устанавливается на плату UNO прямо сверху. Обратите внимание, что без подключения внешнего источника питания к Motor Shield, логика и двигатели будут работать от 5 Вольт, что не всегда бывает достаточно. Поэтому скорость вращения моторов постоянного тока при подключении платы Ардуино от компьютера и блока питания будет значительно отличаться.

Обратите внимание, что даже если вы задали одинаковую скорость вращения в скетче, моторы в реальности могут вращаться с разной скоростью — на это оказывает влияние скорость самого двигателя, качество изготовления редуктора и колес. После подключения двигателей, как на схеме выше, загрузите следующий скетч (скачать библиотеку AFMotor и скетч можно здесь) для тестирования работы шилда:
Скетч для Motor Shield L293D Ардуино и моторов
#include <AFMotor.h> // подключаем библиотеку для шилда AF_DCMotor motor1(1); // подключаем мотор к клеммникам M1 AF_DCMotor motor2(2); // подключаем мотор к клеммникам M2 void setup() { motor1.setSpeed(255); // задаем максимальную скорость мотора motor1.run(RELEASE); // останавливаем мотор motor2.setSpeed(255); // задаем максимальную скорость мотора motor2.run(RELEASE); // останавливаем мотор } void loop() { motor1.run(FORWARD); // задаем движение вперед motor2.run(FORWARD); // задаем движение вперед motor1.setSpeed(255); // задаем скорость движения motor2.setSpeed(255); // задаем скорость движения delay(2000); // указываем время движения motor1.run(RELEASE); // останавливаем мотор M1 motor2.run(RELEASE); // останавливаем мотор M2 motor1.run(BACKWARD); // задаем движение назад motor2.run(BACKWARD); // задаем движение назад motor1.setSpeed(255); // задаем скорость движения motor2.setSpeed(255); // задаем скорость движения delay(2000); // указываем время движения motor1.run(RELEASE); // останавливаем мотор M1 motor2.run(RELEASE); // останавливаем мотор M2 }
Пояснения к коду:
- Для каждого мотора следует присваивать свое имя
AF_DCMotor motor1(1)
; - Максимальная скорость вращения
motor1.setSpeed(255)
равна 255; - Без команды
motor1.run(RELEASE)
мотор продолжит вращаться.
Скетч для подключение серво и шаговых двигателей
Для управления сервоприводами используется стандартная библиотека Servo.h, сами сервоприводы подключаются к цифровым выходам 9 и 10 через штырьки на краю платы. К шилду можно подключить только два сервопривода и два шаговых двигателя. Первый шаговый двигатель подключается к клеммам M1 и M2, а второй к клеммам M3 и M4. Схема подключения двигателей к Motor Shield L293D изображена далее.

После подключения Stepper Motor к шилду загрузите в плату следующий скетч:
#include <AFMotor.h> // подключаем библиотеку для шилда int i; // вводим переменную // подключаем шаговый двигатель к порту 1 - M1, M2 // 48 - количество шагов для полного оборота AF_Stepper stepper(48, 1); void setup() { } void loop() { // делаем 48 шагов в одном направлении, DOUBLE - тип шага for (i = 0; i <= 48; i++) { stepper.step(1, FORWARD, DOUBLE); delay(30); } // делаем 48 шагов в обратном направлении (BACKWARD) for (i = 48; i >= 0; i--) { stepper.step(1, BACKWARD, DOUBLE); delay(30); } }
Подборка на тему: Подключение мотор шилд к Ардуино
Один комментарий для “Подключение мотор шилд к Ардуино”
Добавить комментарий
Записи похожие на: Arduino. Подключение Motor Shield
- Иннополис провел конкурс РОСТ-ISEF 2019
- DHT11 подключение к Ардуино
- Ардуино Микро: распиновка, характеристики
- Скачать книги по Ардуино на русском
Проекты похожие на: Arduino. Подключение Motor Shield
Удобный шилд для управления моторчиками