L293d подключение к ардуино

L293d подключение к ардуино

Доброго времени суток, читатели нашего сайта. Сегодня мы с вами познакомимся с очень интересным и полезным устройством, которое называется Motor Shield L293D. С помощью этого чуда вы сможете управлять электродвигателями, сервоприводами, а в перспективе сделать свой крутой проект. На мой взгляд, это один из самых нужных шилдов, которые существуют на сегодняшний день. Чтобы практически познакомиться с ним, мы будем использовать электродвигатель, а если точнее, будем управлять скоростью и направлением его движения. Ну что ж, перейдем, непосредственно, от слов к делу.

L293d подключение к ардуино

Целью статьи является научиться практически, связывая Motor Shield L293D и Arduino, научиться управлять электромоторами. В этой статье вы познакомитесь с базовыми знаниями, которые будут необходимы для создания более серьезного проекта. Также мы узнаем из каких элементов состоит Motor Shield L293D и его технические характеристики.

Технические характеристики Motor Shield L293D

Motor Shield L293D имеет следующие характеристики :

  • Максимальный продолжительный ток в каждом канале: 0,6 А;
  • Допустимый ток нагрузки 600мА на канал, пиковый ток — 1.2A
  • Питание моторов от 4.5 В до 36 В
  • 4-х канальное управление
  • Присутствует защита от перегрева
  • Присутствует контакт для дополнительного питания платы

Разберемся же, из чего состоит этот motor shield. На фотографии ниже вы можете найти цифры, на которые мы будем опираться.

1 . Под цифрой «1» на плате находятся микросхемы, обеспечивающие работу шилда. Две крайние микросхемы называются L293D, они позволяют управлять слаботочными двигателями с током потребления до 600 мА на канал. По центру же находится микросхема, которая уменьшает количество управляющих выводов.

2 . Под вторым номером находятся выводы, отвечающие за подключение сервоприводов. На плате обозначены контакты питания, так что подключить сервопривод не составит труда.

3 . Под цифрой 3 обозначены клемма, к которым нужно подключать электродвигатели. Имеются 4 клемма под названиями: M1, M2, M3, M4. Следовательно, подключить к плате возможно только 4 электромотора.

4 . Здесь размещены клемма, через которые вы можете запитать ваш шилд, ведь для работы моторов необходимо большее напряжение, чем напряжение от Arduino. Хотелось бы отметить важный момент, чтобы запитывать Motor Shield L293D иным источником необходимо снять перемычку, которая находится под цифрой 5

5 . Под цифрой пять находится перемычка, отвечающая за питание шилда.

Подробный разбор платы Motor Shield L293D, все из чего она состоит и подлкючение электромоторов к Arduino

Драйвер двигателей L293D, Подключение к Arduino

Также на motor shield L293D находится светодиод, который горит только тогда, когда подсоединенные электромоторы запитанны и могут выполнять свое предназначение. А если светодиод не проявляет признаков жизни, то ваши электромоторы работать не будут, так как источника питания не хватает на работу моторов или его совсем нет.

После того, как мы познакомились с технической информацией устройства, перейдем к практической части.

Технические параметры

► Напряжение питания двигателей: 5 — 36 В
► Напряжение питания платы: 5 В
► Допустимый ток нагрузки: 600 мА на канал
► Максимальный (пиковый) ток нагрузки: 1,2 А на канал
► Размер платы: 70х54х20 мм

Motor shield построен на микросхеме L293D, состоящая из двух H-мост (H-Bridge), с помощью которых можно управлять двумя постоянными двигателями или одним шаговым двигателем. Каждый канал рассчитан на 0.6 А с пиком 1.2 А. Так как на shield установлено две микросхемы L293D, можно управлять сразу четырьмя двигателями постоянного тока, это позволяет использовать данный shield в разработке робот платформ. Так же, на shield установлена микросхема 74HC595, которая расширяет 4 цифровых контакта Arduino до 8 управляющих контактов двух микросхем L293D.

Питание Motor shield L293D:
► Общий источник питания для Arduino и двигателей (максимальное напряжение 12 В) — можно использовать один источник питания, используется разъем DC на Arduino UNO или 2-х контактный разъем на shield «EXT_PWR«, так же необходимо установить перемычку «PWR«.
► Раздельный источник питания — рекомендуется отдельно питать Arduino и shield, для этого Arduino подключаем к USB, а двигатели подключаем к источнику постоянного тока, используя разъем » EXT_PWR». Необходимо убрать перемычку перемычку «PWR«.

Внимание! Нельзя подавать питание на «EXT_PWR» выше 12 В при установленной перемычке «PWR».

Выходные контакты двух микросхем L293D выведены по бокам shield с помощью 5-ти контактных винтовых клемм, а именно М1 , М2 , М3 и М4. К этим контактам подключается четыре двигателя постоянного тока и два шаговых двигателя.

Так же, на shield выведен два 3-х контактных разъема, которым можно подключить два сервопривода.

Неиспользуемые контакты:
Цифровые контакты D2 и D13 и аналоговые контакты A0-A5 не используются.

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

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Блок питания 12В, 2А x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Двигатель постоянного тока x 21шт.
► Motor shield L293D

Подключение:
Устанавливаем shield сверху Arduino, далее подключаем источник питания к клеммам «EXT_PWR«, в примере используется источник питания на 9 В. Теперь подключаем двигатели к клеммам M1, M2, M3 или M4. В примере подключаем к М4.

Установка библиотеки:
Для удобной работы с Motor shield L293D необходимо установить библиотеку «AFMotor.h». Заходим в Arduino IDE, открываем вкладку «Скетч» -> «Подключить библиотеку» и нажимает «Управлять библиотеками…«

Откроется новое окно «Менеджер библиотек«, в окне поиска вводим «Adafruit Motor Shield» и устанавливаем библиотеку.

Программа:
В данном скетче показано, как управлять скоростью и направлением движении двигателями постоянного тока.

Микросхема драйвера двигателя L293D

L293D — это микросхема драйвера двигателей, способная управлять двумя двигателями постоянного тока, способными вращаться в обе стороны, либо одним шаговым двигателем. По принципу действия L293D представляет собой четырехкратный сильноточный полупроводниковый драйвер. Он способен управлять токами до 600 мА при напряжении от 4,5 В до 36 В. Также микросхема L293D может использоваться для управления индуктивными нагрузками, такими как реле, соленоиды, двигатели постоянного тока и биполярные шаговые двигатели.

Внешний вид микросхемы L293D

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

Примечание . Обратите внимание, что L293 и L293D — это два разных варианта драйвера двигателя, микросхема L293 не имеет встроенных обратных диодов, поэтому вам необходимо добавить их в свою схему, если вы используете версию L293. В версии L293D все обратновходовые диоды подключены внутри микросхемы, поэтому для при использованииL293D вам не нужно подключать внешние диоды.

Распиновка микросхемы драйвера двигателя L293D

Распиновка микросхемы драйвера двигателя L293d показана на следующем рисунке. L293D имеет в общей сложности 16 контактов, которые можно подключить к микроконтроллерам и двигателям.

Распиновка микросхемы драйвера двигателя L293d

ENA, ENB — контакты 1 и 9 микросхемы. При подаче на эти контакты напряжения низкого уровня (low) двигатели перестают вращаться. Подавая на эти контакты ШИМ сигнал можно управлять скоростью вращения двигателей.

IN1, IN2, IN3, IN4 — контакты для управления направлением вращения двигателей. IN1 и IN2 управляют двигателем A, а IN3 и IN4 — двигателем B.

OUT1, OUT2, OUT3, OUT4 — выходные контакты драйвера L293D. OUT1 и OUT2 для управления первым двигателем, OUT3 и OUT4 — вторым. Данные контакты выдерживают ток до 600mA и на них можно подавать напряжение в диапазоне 5-36V.

GND — контакты 4,5 и 12,13 являются контактами общего провода (земли) данной микросхемы. Также данные контакты являются своеобразным радиатором (теплоотводом) микросхемы.

VCC1 — контакт для подачи питания на двигатели, на него можно подавать напряжение от 4.5V до 36V.

VCC2 — контакт для питания внутренней логики микросхемы, на него необходимо подавать 5V.

Часто задаваемые вопросы по микросхеме драйвера двигателя L293D

Почему мы используем L293D?

L293D предназначен для обеспечения двунаправленного управляющего тока до 600 мА при напряжении от 4,5 В до 36 В. Он способен управлять индуктивными нагрузками, такими как реле, соленоиды, двигатели постоянного тока и биполярные шаговые двигатели, а также другие высоковольтные устройства, токовые/высоковольтные нагрузки в приложениях с положительным питанием.

Как работает L293D?

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

Могу ли я подключить 4 двигателя к L293D?

Данный драйвер может управлять четырьмя соленоидами, четырьмя однонаправленными двигателями постоянного тока, двумя двунаправленными двигателями постоянного тока или одним шаговым двигателем. Микросхема L293D имеет диапазон подачи питания на подключенные устройства от 4,5 В до 36 В и способна выдавать пиковый выходной ток 1,2 А на канал, поэтому она очень хорошо работает с большинством современных двигателей.

Сколькими двигателями может управлять L293D?

L293D — это 16-контактная микросхема драйвера двигателя, которая может одновременно управлять двумя двигателями постоянного тока в любом направлении.

Как L293D управляет скоростью вращения двигателей?

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

Схема проекта

Схема подключения драйвера двигателя L293D к плате Arduino представлена на следующем рисунке.

Схема подключения драйвера двигателя L293D к плате Arduino

Для нашей схемы мы будем использовать небольшой редукторный двигатель постоянного тока 3 В, поэтому мы будем питать микросхему драйвера от внешнего источника питания 5 В на ее выводе VCC1. Также нам необходимо подключить 5 В к выводу VCC2 микросхемы, которое будет питать ее внутреннюю логическую схему. Также мы подключили контакты 9 и 3 к контактам ENA и ENB Arduino, контакты 9 и 3 являются контактами ШИМ (PWM), поэтому мы сможем управлять скоростью вращения двигателя с помощью платы Arduino. Контакты 8,7,5,4 платы подключены к контактам IN1, IN2, IN3 и IN4 микросхемы драйвера. Наконец, контакты OUT1, OUT2, OUT3 и OUT4 подключаются к двигателям (в нашем проекте мы для простоты использовали один двигатель, хотя на представленной схеме продемонстрирована возможность подключения двух двигателей).

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

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

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

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

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

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

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

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

Now 06.02.24 4:49:42, Your IP: 188.170.78.17; arduino.zl3p.com/modules/l293d
ePN

L293d подключение к ардуино

Главная Шаговые двигатели Драйвер шагового двигателя L293D подключение к Arduino

driver stepper motor L293D 150

L293D Двухтактный четырехканальный драйвер двигателей постоянного тока или шагового двигателя, с защитными диодами

Схема подключения драйвера шагового двигателя L293D к Arduino

driver stepper motor L293D podklyuchenie arduino2

Компоненты схемы:

• контроллер Arduino;
• плата для прототипирования;
• шаговый двигатель;
• микросхема L293;
• кнопка – 2 шт.;
• резистор 1 кОм – 2 шт.;
• внешний блок питания +5 В.

Скетч управление шаговым двигателем через драйвер L293D

При нажатии на первую кнопку шаговый двигатель перемещается на 200 шагов по часовой стрелке, при нажатии на другую кнопку шаговый двигатель перемещается на 200 шагов против часовой стрелки. При написании скетча будем использовать Arduino-библиотеку Stepper. Содержимое скетча показано в листинге 19.1.

#include
#define STEPS 200 // Количество шагов
Stepper stepper(STEPS, 8, 9, 10, 11);

int pinButtons1[]=;
int lastButtons1[]=;
int currentButtons1[]=;
int countButtons1=2;

void setup()
stepper.setSpeed(50);
>

void loop()

// проверка нажатия кнопок
for(int i=0;i

currentButtons1[i] = debounce(lastButtons1[i],pinButtons1[i]);
if (lastButtons1[i] == 0 currentButtons1[i] == 1)

// Функция сглаживания дребезга
int debounce(int last,int pin1)

int current = digitalRead(pin1); // Считать состояние кнопки
if (last != current) // если изменилось.

delay(5); // ждем 5 м с
current = digitalRead(pin1); // считываем состояние кнопки
return current; // возвращаем состояние кнопки

Характеристики драйвера шагового двигателя L293D

driver stepper motor L293D power

driver stepper motor L293D harakteristiki

Диаграмма драйвера шагового двигателя L293D

driver stepper motor L293D diagramma

Распиновка драйвера шагового двигателя L293D

driver stepper motor L293D raspinovka 1

driver stepper motor L293D raspinovka 2

Схема подключения 2 драйвера шагового двигателя L293D к Arduino

driver stepper motor L293D podklyuchenie arduino

You have no rights to post comments

Драйвер моторов четырехканальный на двух микросхемах L293D

Статья о четырехканальном драйвере моторов RKP-MDS-L293D на двух микросхемах L293D. Электрическая схема, функциональная диаграмма, подключение к Ардуино, подключение DC-моторов, примеры программного кода.

Подключение драйвера RKP-MDS-L293D Motor Shield L293D к Arduino UNO

Модуль управления моторами RKP-MDS-L293D на микросхемах L293D предназначен для управления различными типами двигателей — постоянного тока (до 4-х шт.), сервомоторов (до 2-х шт.) и шаговых двигателей (до 2-х шт.) совместно с Arduino.

Электрическая схема драйвера.

На электрической схеме драйвера RKP-MDS-L293D Motor Driver L293D видно, что режимы управление двигателями постоянного тока и шаговыми двигателями осуществляется через микросхему 74HCT595N (см. рис. 1).

Функциональная диаграмма микросхемы 74HCT595N

Это регистр последовательного сдвига с защелкой.

В библиотеке AFMotor Motor shield определены pin для драйвера RKP-MDS-L293D по которым осуществляется установка режимов управление моторами:

// Arduino pin names for interface to 74HCT595 latch #define MOTORLATCH 12 = DIR_LATCH // pin 12 Arduino #define MOTORCLK 4 = DIR_CLK // pin 4 Arduino #define MOTORENABLE 7 = DIR_EN // pin 7 Arduino #define MOTORDATA 8 = DIR_SER // pin 8 Arduino

За изменение скорости вращения двигателей отвечаю цепи PWM0A, PWM0B, PWM1A, PWM1B, PWM2A и PWM2B микросхем драйверов двигателей L293D (см. рис. 2).

Микросхема драйвера двигателей L293D

Соответствие pin драйвера моторов L293D и pin Arduino Uno приведены в таблице 1.

А назначение управляющих битов регистра 74HCT595N для моторов 1- 4 в таблице 2.

Из таблицы 2 видно, чтобы заставить Мотор 1 работать на max скорости нужно в регистр передать byte у которого bit 2 = 1 и bit 3 = 0, а чтобы поменять вращение на противоположное – bit 2 = 0 и bit 3 = 1.

!!Еще одна важная особенность.

Питание сервомоторов осуществляется от платы Arduino 5 Вольт. Если сервомоторы потребляют больший ток чем может выдать источник питания Arduino, то всё устройство начинает «глючить».

Это может случиться даже с небольшими серводвигателями, если их где-то заклинит. Тогда ток потребления может возрасти до 0,8-1А. Поэтому питать серводвигатели лучше от дополнительного источника питания.

Подключение питания
Питание моторов подключенных к драйверу RKP-MDS-L293D может осуществляется не сколькими способами:

1. От одного источника питания.
В этом случае питание подается на разъем Arduino 6-12В и с выхода линейного стабилизатора происходит питание цифровых схем Arduino и сервомоторов. Далее питание 6-12В через контакт Vin и установленный джампер, подается на драйвер RKP-MDS-L293D для питания остальных типов моторов.

2. От двух источников питания.
Для этого необходимо снять джампер источника питания. В этом случае источник питания подключенный к разъем у Arduino 6-12В обеспечивает ее работу, цифровых схем драйвера RKP-MDS-L293D и питание серво двигателей. А второй источник питания 4.5-25В — питание двигателей постоянного тока и шаговых двигателей (см. рис. 3).

Схема подключения двигателей к драйверу RKP-MDS-L293D Motor Driver L293D

Подключение моторов постоянного тока (4 DC Motors)

Драйвер RKP-MDS-L293D позволяет одновременно подключить до 4-х двигателей постоянного тока (см. рис. 4).

Драйвер RKP-MDS-L293D подключение DC моторов

Подключение шаговых двигателей к драйверу RKP-MDS-L293D Motor Driver L293D

Драйвер Motor Shield L293D позволяет одновременно подключить до 2-х шаговых двигателей (см. рис. 5).

Motor Shield L293D: схема, характеристики

Микроконтроллер Ардуино позволяет любому начинающему радиолюбителю изготавливать сложные автоматизированные устройства и проекты. Использование Motor Shield может стать полезным дополнением во в многих проектах на Arduino, так как позволяет подключить сразу 2 сервопривода, 2 шаговых двигателя и до 4 двигателей постоянного тока (с реверсом направления вращения ротора).

Схема и подключение Motor Control Shield for Arduino

Схема и подключение Motor Control Shield for Arduino

Характеристики Мотор Шилд 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 // подключаем библиотеку для шилда 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 >

Пояснения к коду:

  1. Для каждого мотора следует присваивать свое имя AF_DCMotor motor1(1) ;
  2. Максимальная скорость вращения motor1.setSpeed(255) равна 255;
  3. Без команды motor1.run(RELEASE) мотор продолжит вращаться.

Для управления сервоприводами используется стандартная библиотека Servo.h, сами сервоприводы подключаются к цифровым выходам 9 и 10 через штырьки на краю платы. К шилду можно подключить только два сервопривода и два шаговых двигателя. Первый шаговый двигатель подключается к клеммам M1 и M2, а второй к клеммам M3 и M4. Схема подключения двигателей к Motor Shield L293D изображена далее.

Скетч для подключение серво и шаговых двигателей

Подключение шаговых двигателей к Motor Shield L293D

Подключение шаговых двигателей к Motor Shield L293D

После подключения Stepper Motor к шилду загрузите в плату следующий скетч:

#include // подключаем библиотеку для шилда int i; // вводим переменную // подключаем шаговый двигатель к порту 1 — M1, M2 // 48 — количество шагов для полного оборота AF_Stepper stepper(48, 1); void setup() < >void loop() < // делаем 48 шагов в одном направлении, DOUBLE — тип шага for (i = 0; i // делаем 48 шагов в обратном направлении (BACKWARD) for (i = 48; i >= 0; i—) < stepper.step(1, BACKWARD, DOUBLE); delay(30); >>

Оцените статью
TutShema
Добавить комментарий