1
Arduino драйвер щит (ID:359)
Написано
admin
,
21 July 2015
·
4881 Просмотров
Arduino драйвер щит выполнен в особом форм- факторе, и поэтому полностью совместим со всеми платами Arduino в том числе и с Arduino Mega. Драйвер собран на двух микросхемах L293D, поэтому позволяет одновременно управлять либо двумя шаговыми двигателями, либо 4 двигателями постоянного тока, либо двумя двигателями постоянного тока и двумя серводвигателями. При одновременном управления четырьмя двигателями, потребление тока каждым из них не должно превышать 600 мА.
Двух контактный разъем с зажимом под винт "Ext_PWR" предназначен для подключения внешнего мощного источника питания электродвигателей. Желательный диапазон - от 6 до 15 Вольт постоянного напряжения. Двух контактная перемычка- джампер отвечает за подключения внешнего питания драйвера. При снятом джампере питания платы драйвера и электродвигателей происходит от платы Arduino. Если на плату Arduino подавать питание через USB - шнур, а на электродвигатели подать питание от внешнего мощного источника через разъём "Ext_PWR", то джампер нужно снять. Зеленый светодиод на плате - индикатор подачи напряжения питания на плату драйвера.
Серводвигатели к плате драйвера подключаются через разъёмы "SER1" и "SERVO_2".
Управление серводвигателями происходит соответственно через цифровые выводы 10 и 9 платы Arduino.
Для управления сервоприводами нужна стандартная библиотека Servo.h, которая есть в любой среде программирования Arduino IDE.
Простой пример для управления серводвигателем, подключенным к разъему "SER1" выглядит так:
Для управления мотором М1 и шаговым двигателем 1 используется цифровой вывод 11 платы Arduino.
Для управления мотором M2 и шаговым двигателем 1 используется цифровой вывод 3 платы Arduino.
Для управления мотором M3 и шаговым двигателем 2 используется цифровой вывод 5 платы Arduino.
Для управления мотором M4 и шаговым двигателем 2используется цифровой вывод 6 платы Arduino.
Направление вращения двигателей переключается с помощью сдвигового регистра 74HC595. Для этого используются цифровые выводы 12, 8, 7 и 4 платы Arduino. Как мы видим, практически все цифровые выводы задействованы в работе этого драйвера. Свободными остаются только аналоговые входы, поэтому для аналоговых входов на плате драйвера имеются незапаянные контактные площадки. В них можно установить дополнительные разъёмы и использовать аналоговые входы как цифровые входы- выходы.
Для управления электродвигателями потребуется скачать библиотеку AFmotor.zip
После скачивания файла архива AFmotor.zip, поместите содержимое архива в папку libraries, которая находится в папке с программой Arduino.
Подключите электродвигатели к разъёмам М1, М2, М3 и М4.
Пример управления сразу четырьмя двигателями- плавный разгон и плавное торможение, выглядит так:
Если нагрев микросхем L293 на плате драйвера слишком сильный и обжигает пальцы, значит вам попался слишком мощный серводвигатель с большим током потребления. В этом случае нужно использовать более мощный драйвер.
Ссылка на витрину магазина http://dvrobot.ru/237/222.html.
Двух контактный разъем с зажимом под винт "Ext_PWR" предназначен для подключения внешнего мощного источника питания электродвигателей. Желательный диапазон - от 6 до 15 Вольт постоянного напряжения. Двух контактная перемычка- джампер отвечает за подключения внешнего питания драйвера. При снятом джампере питания платы драйвера и электродвигателей происходит от платы Arduino. Если на плату Arduino подавать питание через USB - шнур, а на электродвигатели подать питание от внешнего мощного источника через разъём "Ext_PWR", то джампер нужно снять. Зеленый светодиод на плате - индикатор подачи напряжения питания на плату драйвера.
Серводвигатели к плате драйвера подключаются через разъёмы "SER1" и "SERVO_2".
Управление серводвигателями происходит соответственно через цифровые выводы 10 и 9 платы Arduino.
Для управления сервоприводами нужна стандартная библиотека Servo.h, которая есть в любой среде программирования Arduino IDE.
Простой пример для управления серводвигателем, подключенным к разъему "SER1" выглядит так:
#include <Servo.h> Servo myservo; int pos = 0; // начальная позиция двигателя void setup() { myservo.attach(10); // подключаем серводвигатель на разъём SER1 ( цифровой вывод 10 ) } void loop() { for(pos = 0; pos < 180; pos += 1) // вращаем двигатель слева направо до конца { myservo.write(pos); delay(15); } for(pos = 180; pos>=1; pos-=1) // вращаем двигатель справа налево в исходное положение { myservo.write(pos); delay(15); } }Пример для управления серводвигателем, подключенным к разъему "SERVO_2" выглядит так:
#include <Servo.h> Servo myservo; int pos = 0; // начальная позиция двигателя void setup() { myservo.attach(9); // подключаем серводвигатель на разъём SERVO_2 ( цифровой вывод 9 ) } void loop() { for(pos = 0; pos < 180; pos += 1) // вращаем двигатель слева направо до конца { myservo.write(pos); delay(15); } for(pos = 180; pos>=1; pos-=1) // вращаем двигатель справа налево в исходное положение { myservo.write(pos); delay(15); } }Для подключения шаговых и обычных электродвигателей на плате драйвера предусмотрены пяти контактные разъёмы с зажимом под винт. Средний контакт (№3 по счету) этих разъёмов всегда соединён с общим проводом. Это удобно для подключения пяти проводных шаговых двигателей. При подключении обычных электродвигателей контакт №3 не используется, подключение происходит к контактам №1, №2 и №4, №5. Эти пары контактов обозначены на разъёме как М1, М2, М3 и М4.
Для управления мотором М1 и шаговым двигателем 1 используется цифровой вывод 11 платы Arduino.
Для управления мотором M2 и шаговым двигателем 1 используется цифровой вывод 3 платы Arduino.
Для управления мотором M3 и шаговым двигателем 2 используется цифровой вывод 5 платы Arduino.
Для управления мотором M4 и шаговым двигателем 2используется цифровой вывод 6 платы Arduino.
Направление вращения двигателей переключается с помощью сдвигового регистра 74HC595. Для этого используются цифровые выводы 12, 8, 7 и 4 платы Arduino. Как мы видим, практически все цифровые выводы задействованы в работе этого драйвера. Свободными остаются только аналоговые входы, поэтому для аналоговых входов на плате драйвера имеются незапаянные контактные площадки. В них можно установить дополнительные разъёмы и использовать аналоговые входы как цифровые входы- выходы.
Для управления электродвигателями потребуется скачать библиотеку AFmotor.zip
Библиотека: Arduino драйвер щит (ID:359)
Последние обновленные 28 Oct 2022 01:09
После скачивания файла архива AFmotor.zip, поместите содержимое архива в папку libraries, которая находится в папке с программой Arduino.
Подключите электродвигатели к разъёмам М1, М2, М3 и М4.
Пример управления сразу четырьмя двигателями- плавный разгон и плавное торможение, выглядит так:
#include <AFMotor.h> // подключаем библиотеку // Подключаем моторы к разъёмам M1, M2, M3, M4 AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); void setup() { motor1.setSpeed(255); motor1.run(RELEASE); motor2.setSpeed(255); motor2.run(RELEASE); motor3.setSpeed(255); motor3.run(RELEASE); motor4.setSpeed(255); motor4.run(RELEASE); } int i; void loop() { // Разгон двигателей в вперед motor1.run(FORWARD); motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); for (i=0; i<255; i++) { motor1.setSpeed(i); motor2.setSpeed(i); motor3.setSpeed(i); motor4.setSpeed(i); delay(30); } // Торможение двигателей назад motor1.run(BACKWARD); motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); for (i=255; i>=0; i--) { motor1.setSpeed(i); motor2.setSpeed(i); motor3.setSpeed(i); motor4.setSpeed(i); delay(30); } }Пример управления сразу четырьмя двигателями- вращение вперед и назад, выглядит так:
#include <AFMotor.h> // Подключаем библиотеку // Подключаем моторы к разъёмам M1, M2, M3, M4 AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); void setup() { motor1.setSpeed(255); motor1.run(RELEASE); motor2.setSpeed(255); motor2.run(RELEASE); motor3.setSpeed(255); motor3.run(RELEASE); motor4.setSpeed(255); motor4.run(RELEASE); } void loop() { // Движения вперед motor1.run(FORWARD); // Устанавливаем направление движения motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); motor1.setSpeed(255); // Устанавливаем скорость движения из диапазона 0-255 motor2.setSpeed(255); motor3.setSpeed(255); motor4.setSpeed(255); delay(1000); // Движение вперед одну секунду // Остановка двигателей с небольшой паузой motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); delay(300); // Двигаемся в обратном направлении motor1.run(BACKWARD); // Устанавливаем направление движения motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); motor1.setSpeed(255); // Устанавливаем скорость движения из диапазона 0-255 motor2.setSpeed(255); motor3.setSpeed(255); motor4.setSpeed(255); delay(1000); // Движение назад одну секунду // Остановка двигателей с небольшой паузой motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); delay(300); }Пример управления шаговым двигателем- вращение вперед и назад, выглядит так:
#include <AFMotor.h> // Подключаем библиотеку // разъёмы M1 и M2 - подключение шагового двигателя № 1 // разъёмы M3 и M4 - подключение шагового двигателя № 2 AF_Stepper stepper(128, 2); // Двигатель № 2 (подключенный к разъёмам М3 и М4) 128 шагов за один полный оборот void setup() { } int i; void loop() { for (i=0; i<128; i++) { stepper.step(1, FORWARD, DOUBLE); // Значение шага, направление вращения, тип шага delay(50); } for (i=128; i!=0; i--) { stepper.step(1, BACKWARD, DOUBLE); // Значение шага, направление вращения, тип шага delay(50); } }Если вращение шагового двигателя неравномерное и неустойчивое, то нужно поменять местами подключение проводов на разъёме М3 или М4.
Если нагрев микросхем L293 на плате драйвера слишком сильный и обжигает пальцы, значит вам попался слишком мощный серводвигатель с большим током потребления. В этом случае нужно использовать более мощный драйвер.
Ссылка на витрину магазина http://dvrobot.ru/237/222.html.