На главную страницу | Новости | FAQ | Ссылки | Для детей | Контакты

ARDUINO ROBOTS
Arduino для начинающих электронщиков. Модули и проекты на базе Arduino. Разработка роботов


Подключение двигателей (моторов) к Arduino через шилд L293D


В это статье мы рассмотрим процесс подключения разного типа двигателей (моторов) к ардуино.

Можно, конечно, было бы спаять свою собственную схему, но проще всего это сделать с помощью шилда на базе чипа L293D, который на Ali стоит $1.8 .

Подключение двигателей (моторов) к Arduino через шилд L293D
Подключение двигателей (моторов) к Arduino через шилд L293D

Что такое шилд L293D


Это модуль для Arduino UNO, в котором используется две микросхемы L293D.

Микросхема L293D - это драйвер двухканальный двигателей со встроенными защитными диодами.

Использование двух таких микросхем позволяет подключить одновременно 4 мотора постоянного тока, либо 2 шаговых двигателя. На шилде также располагается сдвиговый регистр 74НС595, который нужен для уменьшения количества управляющих выводов.

К шилду можно также подключать серво-приводы.

Наиболее важный момент, на который стоит обратить внимание - это питание шилда, точнее самих приводов (будем называть это "силовой частью"). Так вот, питание приводов производится либо от внешнего клеммника (6) либо замыканием джампера (5) (питанием моторов +M соединяется с выводом Vin Arduino). Напряжение для объединенного питания 6 - 12 В. Я лично предпочитаю использовать отдельный источник питания, чтобы не создавать помехи в цепи питания Arduino.

Шилд ставится прямо на плату Arduino UNO, при этом почти все цифровые выходы будут использоваться шилдом. Из свободных цифровых выводов останутся только пины 2, 13 и пины интерфейса UART- 0, 1. Впрочем аналоговые выводы можно использовать в качестве цифровых.

Подключение двух моторов постоянного тока к Arduino через шилд L293D


Подключение моторов постоянного тока к Arduino через шилд L293D

Код программы для управления двумя моторами постоянного тока.

Здесь я создавал класс Robot. Конечно, это делать не обязательно. Можно просто вызывать функции run и setSpeed класса AF_DCMotor библиотеки AFMotor.h.

#include < AFMotor.h >  // Подключаем библиотеку для работы с шилдом 
 
// Подключаем моторы к клеммникам M1, M2, M3, M4 AF_DCMotor motor1(1); AF_DCMotor motor2(2); class Robot { public: Robot(); void Forward(int t=0); void Back(int t=0); void Right(int t=0); void Left(int t=0); void Stop(int t=0); } robot; Robot::Robot() { motor1.setSpeed(255); motor2.setSpeed(255); motor1.run(RELEASE); motor2.run(RELEASE); } void Robot::Forward(int t) { motor1.run(FORWARD); // Задаем движение вперед motor2.run(FORWARD); delay(t); } void Robot::Back(int t) { motor1.run(BACKWARD); // Задаем движение назад motor2.run(BACKWARD); delay(t); } void Robot::Stop(int t) { motor1.run(RELEASE); // Останов двигателей motor2.run(RELEASE); delay(t); } void Robot::Right(int t) // Поворот направо { motor1.run(BACKWARD); motor2.run(FORWARD); delay(t); } void Robot::Left(int t) // Поворот налево { motor1.run(FORWARD); motor2.run(BACKWARD); delay(t); } void setup() { } void loop() { robot.Forward(500); // Не рекомендуется резко переключать направление вращения двигателей. robot.Stop(300); robot.Back(800); robot.Stop(300); robot.Left(300); robot.Stop(300); robot.Right(300); robot.Stop(300); }

Управление сервоприводами


На плату выведены 2 разъема для подключения сервоприводов (4). Управление сервоприводами стандартное с помощью библиотеки Servo.h

Выводы для управления сервоприводами:

- Цифровой вывод 9 - Сервопривод-1

- Цифровой вывод 10 - Сервопривод-2




Платы ARDUINO по низкой цене

Нажми на изображение, чтобы заказать в интернет-магазине:


arduino NANO купить дешево arduino UNO купить дешево arduino UNO R3 ORIG купить дешево arduino MEGA купить дешево arduino DUE купить дешево



Now 28.11.20 22:13:42, Your IP: 100.24.113.182; arduino.zl3p.com/modules/l293d