Как подключить драйвер l293 к ардуино
Драйвер двигателя выполняет крайне важную роль в проектах ардуино, использующих двигатели постоянного тока или шаговые двигатели. C помощью микросхемы драйвера или готового шилда motor shield можно создавать мобильных роботов, автономные автомобили на ардуино и другие устройства с механическими модулями. В этой статье мы рассмотрим подключение к ардуино популярных драйверов двигателей на базе микросхем L298N и L293D.
Драйвер двигателя в проектах ардуино
Для чего нужен драйвер двигателя?
Как известно, плата ардуино имеет существенные ограничения по силе тока присоединенной к ней нагрузки. Для платы это 800 mA, а для каждого отдельного вывода – и того меньше, 40mA. Мы не можем подключить напрямую к Arduino Uno, Mega или Nano даже самый маленький двигатель постоянного тока. Любой из этих двигателей в момент запуска или остановки создаст пиковые броски тока, превышающие этот предел.
Как же тогда подключить двигатель к ардуино? Есть несколько вариантов действий:
Использовать реле. Мы включаем двигатель в отдельную электрическую сеть, никак не связанную с платой Arduino. Реле по команде ардуино замыкает или размыкает контакты, тем самым включает или выключает ток. Соответственно, двигатель включается или выключается. Главным преимуществом этой схемы является ее простота и возможность использовать Главным недостатком данной схемы является то, что мы не можем управлять скоростью и направлением вращения.
Использовать силовой транзистор. В данном случае мы можем управлять током, проходящим через двигатель, а значит, можем управлять скоростью вращения шпинделя. Но для смены направления вращения этот способ не подойдет.
Использовать специальную схему подключения, называемую H-мостом, с помощью которой мы можем изменять направление движения шпинделя двигателя. Сегодня можно без проблем найти как микросхемы, содержащие два или больше H-моста, так и отдельные модули и платы расширения, построенные на этих микросхемах.
В этой статье мы рассмотрим последний, третий вариант, как наиболее гибкий и удобный для создания первых роботов на ардуино.
Микросхема или плата расширения Motor Shield
Motor Shield – плата расширения для Ардуино, которая обеспечивает работу двигателей постоянного тока и шаговых двигателей. Самыми популярными платами Motor Shield являются схемы на базе чипов L298N и L293D, которые могут управлять несколькими двигателями. На плате установлен комплект сквозных колодок Ардуино Rev3, позволяющие устанавливать другие платы расширения. Также на плате имеется возможность выбора источника напряжения – Motor Shield может питаться как от Ардуино, так и от внешнего источника. На плате имеется светодиод, который показывает, работает ли устройство. Все это делает использование драйвера очень простым и надежным – не нужно самим изобретать велосипеды и решать уже кем-то решенные проблемы. В этой статье мы будем говорить именно о шилдах.
Принцип действия H-моста
Принцип работы драйвера двигателя основан на принципе работы H-моста. H-мост является электронной схемой, которая состоит из четырех ключей с нагрузкой. Название моста появилось из напоминающей букву H конфигурации схемы.
Схема моста изображена на рисунке. Q1…Q4 0 полевые, биполярные или IGBT транзисторы. Последние используются в высоковольтных сетях. Биполярные транзисторы практически не используются, они могут присутствовать в маломощных схемах. Для больших токов берут полевые транзисторы с изолированным затвором. Ключи не должны быть замкнуты вместе одновременно, чтобы не произошло короткого замыкания источника. Диоды D1…D4 ограничительные, обычно используются диоды Шоттки.
С помощью изменения состояния ключей на H-мосте можно регулировать направление движения и тормозить моторы. В таблице приведены основные состояния и соответствующие им комбинации на пинах.
Q1 | Q2 | Q3 | Q4 | Состояние |
1 | 0 | 0 | 1 | Поворот мотора вправо |
0 | 1 | 1 | 0 | Поворот мотора влево |
0 | 0 | 0 | 0 | Свободное вращение |
0 | 1 | 0 | 1 | Торможение |
1 | 0 | 1 | 0 | Торможение |
1 | 1 | 0 | 0 | Короткое замыкание |
0 | 0 | 1 | 1 | Короткое замыкание |
Драйвер двигателя L298N
Модуль используется для управления шаговыми двигателями с напряжением от 5 до 35 В. При помощи одной платы L298N можно управлять сразу двумя двигателями. Наибольшая нагрузка, которую обеспечивает микросхема, достигает 2 А на каждый двигатель. Если подключить двигатели параллельно, это значение можно увеличить до 4 А.
Плата выглядит следующим образом:
Распиновка микросхемы L298N:
- Vcc – используется для подключения внешнего питания;
- 5В;
- Земля GND;
- IN1, IN2, IN3, IN4 – используется для плавного управления скоростью вращения мотора;
- OUT1, OUT2 – используется для выхода с первого двигателя;
- OUT3, OUT4 – используется для выхода со второго двигателя;
- S1 – переключает питание схемы: от внешнего источника или от внутреннего преобразователя;
- ENABLE A, B – требуются для раздельного управления каналами. Используются в двух режимах – активный, при котором каналами управляет микроконтроллер и имеется возможность изменения скорости вращения, и пассивный, в котором невозможно управлять скоростью двигателей (установлено максимальное значение).
При подключении двух двигателей, нужно проверить, чтобы у них была одинаковая полярность. Если полярность разная, то при задании направления движения они будут вращаться в противоположные стороны.
Драйвер двигателя L293D
L293D – является самой простой микросхемой для работы с двигателями. L293D обладает двумя H-моста, которые позволяют управлять двумя двигателями. Рабочее напряжение микросхемы – 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2 А.
В схеме имеется 16 выходов. Распиновка:
- +V – питание на 5 В;
- +Vmotor – напряжение питания для мотором до 36 В;
- 0V – земля;
- En1, En2 –включают и выключают H-мосты;
- In1, In2 – управляют первым H-мостом;
- Out1, Out2 – подключение первого H-моста;
- In3, In4 – управляют вторым H-мостом;
- Out3, Out4 – подключение второго H-моста.
Для подключения к микроконтроллеру Arduino Uno нужно соединить выходы In1 на L293D и 7 пин на Ардуино, In2 – 8, In3 – 2, In4 – 3, En1 – 6, En2 – 5, V – 5V, Vmotor – 5 V, 0V – GND. Пример подключения одного двигателя к Ардуино показан на рисунке.
Драйвер двигателя на микросхеме HG7881
HG7881 – двухканальный драйвер, к которому можно подключить 2 двигателя или четырехпроводной двухфазный шаговый двигатель. Устройство часто используется из-за своей невысокой стоимости. Драйвер используется только для изменения направления вращения, менять скорость он не может.
Плата содержит 2 схемы L9110S, работающие как H-мост.
Характеристики драйвера HG7881:
- 4-контактное подключение;
- Питание для двигателей от 2,5 В до 12 В;
- Потребляемый ток менее 800 мА;
- Малые габариты, небольшой вес.
Распиновка:
- GND – земля;
- Vcc – напряжение питания 2,5В – 12В;
- A-IA – вход A(IA) для двигателя A;
- A-IB – вход B (IB) для двигателя A;
- B-IA – вход A(IA) для двигателя B;
- B-IB – вход B (IB) для двигателя B.
В зависимости от поданного сигнала на выходах IA и IB будет разное состояние для двигателей. Возможные варианты для одного из моторов приведены в таблице.
IA | IB | Состояние мотора |
0 | 0 | Остановка |
1 | 0 | Двигается вперед |
0 | 1 | Двигается назад |
1 | 1 | Отключение |
Подключение одного двигателя к Ардуино изображено на рисунке.
Сравнение модулей
Модуль L293D подает максимальный ток в 1,2А, в то время как на L298N можно добиться максимального тока в 4 А. Также L293D обладает меньшим КПД и быстро греется во время работы. При этом L293D является самой распространенной платой и стоит недорого. Плата HG7881 отличается от L293D и L298N тем, что с ее помощью можно управлять только направлением вращения, скорость менять она не может. HG7881 – самый дешевый и самый малогабаритный модуль.
Подключение L298N к Arduino
Как уже упоминалось, в первую очередь нужно проверить полярность подключенных двигателей. Двигатели, вращающиеся в различных направлениях, неудобно программировать.
Нужно присоединить источник питания. + подключается к пину 4 на плате L298N, минус (GND) – к 5 пину. Затем нужно соединить выходы с L298N и пины на Ардуино, причем некоторые из них должны поддерживать ШИМ-модуляцию. На плате Ардуино они обозначены ~. Выходы с L298N IN1, IN2, IN3 и IN4 подключить к D7, D6, D5 и D4 на Ардуино соответственно. Подключение всех остальных контактов представлено на схеме.
Направление вращения задается с помощью сигналов HIGH и LOW на каждый канал. Двигатели начнут вращаться, только когда на 7 пине для первого мотора и на 12 пине для второго на L298N будет сигнал HIGH. Подача LOW останавливает вращение. Чтобы управлять скоростью, используются ШИМ-сигналы.
Для управления шаговым двигателем в Arduino IDE существует стандартная библиотека Stepper library. Чтобы проверить работоспособность собранной схемы, можно загрузить тестовый пример stepper_oneRevolution. При правильной сборке вал двигателя начнет вращаться.
При работе с моторами Ардуино может периодически перезагружаться. Это возникает из-за того, что двигателям требуются большие токи при старте и в момент торможения. Для решения этой проблемы в плату встроены конденсаторы, диоды и другие схемы. Также для этих целей на шидле имеется раздельное питание.
Робототехника с каждым годом становиться все популярнее. И поэтому количество электроники с помощью которой можно реализовать роботизированную модель достаточно много. А если у вас нет опыта работы с электроникой, вам отлично подойдёт Motor shield на базе драйвера l293d. Шилд устанавливается на плату Arduino UNO.
На shield выведены контакты для подключения двигателей постоянного тока, шаговых двигателей и сервоприводов. Я уже делал проект с использованием данного Motor shield. У вас, наверное, возник вопрос. Если шилд такой простой, почему у меня мало Arduino проектов с его использование? Это связанно со сложностью расширения функционала проекта при использовании Motor shield l293d. Но обо всём по порядку.
Технические параметры Motor shield l293d.
- Напряжение питания двигателей: 5 — 36 В
- Напряжение питания платы: 5 В
- Допустимый ток нагрузки: 600 мА на канал
- Максимальный (пиковый) ток нагрузки: 1,2 А на канал
- Размер платы: 70х54х20 мм
Общие сведения о Motor shield L293D.
Motor shield построен на драйвере L293D, состоящим из двух H-мост (H-Bridge), с помощью которых можно управлять двумя постоянными двигателями или одним шаговым двигателем. Каждый канал рассчитан на 0.6 А с пиком 1.2 А. Так как на Motor shield установлено две микросхемы L293D, можно управлять сразу четырьмя двигателями постоянного тока, это позволяет использовать данный shield в разработке робот платформ. Так же, на shield установлен сдвиговый регистр 74HC595, который расширяет 4 цифровых контакта Arduino до 8 управляющих контактов двух микросхем L293D. Познакомиться подробнее со сдвиговым регистром 74HC595 можно в уроке: Урок 2 — Подключаем сдвиговый регистр 74НС595 к Arduino. «Бегущие» огни.
Питание Motor shield L293D:
- Общий источник питания для Arduino и двигателей (максимальное напряжение 12 В) — можно использовать один источник питания, используется разъем DC на Arduino UNO или 2-х контактный разъем на Motor shield «EXT_PWR», так же необходимо установить перемычку «PWR».
- Раздельный источник питания — рекомендуется отдельно питать Arduino и shield, для этого Arduino подключаем к USB, а двигатели подключаем к источнику постоянного тока, используя разъем «EXT_PWR». Необходимо убрать перемычку «PWR».
Внимание! Нельзя подавать питание на «EXT_PWR» выше 12 В, при установленной перемычке «PWR».
Выходные контакты двух микросхем L293D выведены по бокам shield с помощью 5-ти контактных винтовых клемм, а именно М1 , М2 , М3 и М4. К этим контактам подключается четыре двигателя постоянного тока и два шаговых двигателя.
Так же, на shield выведено два 3-х контактных разъема, к которым можно подключить два сервопривода.
Контакты, которые не используются Motor shield L293D:
Так как шилд устанавливается на Arduino UNO, есть контакты, которые не используются Motor shield и к ним можно подключить дополнительные компоненты. Это цифровые контакты D2 и D13 и аналоговые контакты A0-A5. Кроме этого на шилде можно распаять пины A0-A5 и подключаться к ним прямо на shield.
Подключение к Motor shield L293D двигателя постоянного тока.
Для этого нам понадобятся следующие комплектующие:
Схема подключения двигателя постоянного тока к Motor shield.
Устанавливаем shield сверху Arduino, далее подключаем источник питания к клеммам «EXT_PWR», в примере используется источник питания на 12 В. Теперь подключаем двигатели к клеммам M1, M2, M3 или M4. В примере подключаем 2 двигателя постоянного тока к М4, М3.
Установка библиотеки «AFMotor.h»
Для удобной работы с Motor shield L293D, необходимо установить библиотеку «AFMotor.h». Заходим в Arduino IDE, открываем вкладку «Скетч -> Подключить библиотеку -> Управлять библиотеками…»
Откроется новое окно «Менеджер библиотек», в окне поиска вводим «Adafruit Motor Shield» и устанавливаем библиотеку.
Скетч управления двигателем постоянного тока с помощью Motor shield L293D.
Скетч начинается с подключения библиотеки «AFMotor.h», затем создаем объект «AF_DCMotor motor4(4)» в котором указываем номер порта двигателя (M1, M2, M3, M4). Для подключения второго двигателя «AF_DCMotor motor3(3)» и так далее.
Подключение сервопривода к Motor shield L293D.
Для этого нам понадобятся следующие комплектующие:
С помощью shield L293D можно управлять сервоприводами. На shield выведены 16-разрядные контакты Arduino 9 и 10, питание для сервоприводов подается от 5 вольтового стабилизатора Arduino, поэтому подключать дополнительное питание в разъем «EXT_PWR» не нужно.
Схема подключения сервопривода SG90S к Motor shield.
Скетч управления сервопривода SG90S.
Так как используется стандартный вывод PWM, нет смысла использовать дополнительную библиотеку, воспользуемся стандартной библиотекой Servo.
Подключение к Motor shield L293D шагового двигателя NEMO17.
Для этого нам понадобятся следующие комплектующие:
В данном примере подключим шаговый двигатель NEMA 17, который рассчитан на 12 В (и выше) и делает 200 шагов на оборот. Итак, подключите шаговый двигатель к клеммам M3 и M4. Затем подключите внешний источник питания 12 В к разъему «EXT_PWR».
Схема подключения шагового двигателя Nemo17 к Motor shield L293D.
Скетч управления шаговым двигателем Nemo17 с помощью Motor shield L293D.
Используем ту же библиотеку, что и в первом примере.
Описание кода:
Скетч начинается с подключением библиотеки «AFMotor.h». Во второй строке создаем объект «AF_Stepper motor(48, 2)» где указываем количество шагов на оборот и номер порта.
В разделе настройки, функцией «motor.setSpeed(10);» устанавливает скорость двигателя, где «10» количество оборотов в минуту.
В разделе цикла программы, мы просто вызываем две функции для управления скоростью и направлением вращения двигателя.
- «100» — это сколько шагов, необходимо сделать.
- «FORWARD»и «BACKWARD»— направление вращение двигателем.
- «SINGLE» — активация одной обмотки двигателя для совершения шага.
- «DOUBLE» — активация двух обмоток двигателя, что обеспечивает больший вращающий момент
- «INTERLEAVE» — применение ШИМ для управления шаговым двигателем двигателем.
Вывод по использованию Motor shield L293D.
Для начинающего Ардуинщика Motor shield L293D позволит реализовать роботизированную модель. Но реализовать более серьёзные проекты не получится. Так как свободных pin для подключения остается не много. Что еще мне не нравится в данном shield это то, что пины для shield заняты всегда, даже если мы подключили 2 двигателя постоянного тока. А другая пара подключения свободна, пины Arduino все равно будут заняты, и мы не сможем их использовать. Это наглядный пример того, что использования данного шилда не является универсальным и гибким решением.
Появились вопросы или предложения, не стесняйся, пиши в комментарии!
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Модуль двигателя MX1508, рассмотренный в этой статье, рекламируется на Aliexpress как «Двухканальная плата драйвера двигателя постоянного тока L298N, PWM Speed Dual H Bridge Stepper Module», однако присутствует микросхема MX1508 китайского производства. Также отличаются характеристики драйвера MX1508 от L298N. Давайте рассмотрим подробней данный драйвер и разберемся, как его подключить к Arduino и управлять моторами постоянного тока.
При управлении, например, с платой Arduino UNO, можно управлять двумя двигателями, при этом вращать в любом направлении каждый двигатель. Драйвер представляет из себя Н-мост с рабочим током 800 мА и пиковым током 2,5 А, а также, со встроенной системой контроля температуры.
Характеристики драйвера MX1508:
Общие сведения о драйвере MX1508.
Основной чип модуля - это микросхема MX1508, состоящая из двух H-мостов (H-Bridge), один для выхода A, второй для выхода B, каждый канал рассчитан на 0,8 А с пиком 2,5 А. H-мост широко используется в электронике и служит для изменения вращения двигателя, схема H-моста содержит четыре транзистора (ключа) с двигателем в центре, образуя H-подобную компоновку. Принцип работы прост, при одновременном закрытии двух отдельных транзисторов, изменяется полярность напряжения, приложенного к двигателю. Это позволяет изменять направление вращения двигателя. На рисунке ниже, показана работа H-мостовой схемы.
Управлять двигателем можно низковольтным напряжением, ниже, чем напряжение на плате Arduino. Для управления скоростью используется широтно-импульсная модуляция (PWM).
Модуль MX1508 содержит разъем для подключения питания, два выхода A и B, и разъем управления, с назначением каждого можно ознакомиться ниже:
- Вывод «+» и «-» — питание модуля и двигателей, от 2 до 9,6 В;
- Выводы A1 и A2 — используются для управления направлением вращения двигателя A;
- Выводы B1 и B2 — используются для управления направлением вращения двигателя B;
- Выходы MOTOR A — разъем для двигателя A;
- Выходы MOTOR B — разъем для двигателя B;
Подключение MX1508 к Arduino (коллекторный двигатель).
Необходимые детали:
Схема подключения MX1508 к Arduino, и коллекторного двигателя к MX1508.
Первым делом, необходимо подключить источник питания от 2 до 9,6 B к модулю (в примере используется 5 В. от Arduino). Далее, подключаем управляющие провода A1, A2, B1, B2 (встречается маркировка, как на L298: IN1, IN2, IN3, IN1) к цифровым выводам Arduino 10, 11, 5 и 6. Теперь, подключаем двигатели, один к клеммам MOTOR A , а другой к клеммам MOTOR B. Схема подключения приведена ниже.
Теперь подключаем Arduino к компьютеру и загружаем скетч ниже.
Описание скетча:
Скетч простой, не требует дополнительных библиотек. Первым делом, указываем, к каким выводам подключен модуль.
Управление скоростью осуществляется с помощью ШИМ, для удобства используем переменную speed, в которой указываем скорость двигателя. Значение «0» - значит остановка, а «255» равносильно напряжению питания, и двигатели крутятся на максимальной скорости.
Далее, мы указываем, что данные выводы используем как выход.
Направление вращения двигателя осуществляется с помощью выводов A1 и A2 - для первого двигателя, B1 и B2 - для второго двигателя, то есть, если подать на вывод A1 — 0B (LOW), а на A2 — 5B (HIGH), двигатель A будет вращаться вперед (так же и для двигателя B). Для вращения назад, необходимо подать на A1 — 5B (HIGH), а на A2 — 0B (LOW), двигатель A будет вращаться назад (так же и для двигателя B). На основании этого напишем небольшие функции, которые позволят вращать оба двигателя вперед, назад, в противоположном направлении, и останавливать вращение обоих двигателей.
Реализуем вывод в монитор порта информацию о направлении вращения двигателя в данный момент.
- Собираем Arduino машинку на Motor Shield L293D и ИК пульте.
- Машинка на радиоуправлении. Arduino + nrf24l01 + пульт.
- Самодельная Wifi машинка на NodeMCU. Машина делает дрифт.
Используя драйвер MX1508, собрать данные проекты не составит труда, так как код из проектов выше совместим с драйвером MX1508.
Появились вопросы или предложения, не стесняйся, пиши в комментарии!
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Пол года назад коме пришла идея изучать программирование микроконтроллеров. Почитал в интернете и понял, что самая простая среда разработки Arduino IDE. Посмотрел кто и что делает и решил сделать свою машинку на пульте управления. Почему именно на ИК пульте управления? Просто по всем отзывам и разработкам это самая простая и дешевая машинка.
При выборе комплектующих выбор пал на Arduino UNO и Motor Shield L293D.
Почему именно Motor Shield ? Это связанно с тем что я к тому моменту паять пробовал в жизни 2 раза. И решил что использование шилд паять не нужно будет.
Что мне понадобилось:
3. Два мотор редуктора и два колеса. 240 руб.
5. Источник питания. Я покупал power bank за 300 руб. или тут
Можно купить бокс под батарейки 50 руб.
6. провода для подключения мотор редуктора к шилду можно взять от мышки, USB- зарядки и пр., что у вас не работает и лежит без дела.
7. ПВХ панель. Обрезок картонки, фанерки и пр.
8. мебельное колесико в магазине стоит около 50 руб.
9. винтики болтик можно купить руб за 40 в строительном магазине.
И того машинку на Motor Shield L293D и ИК пульте можно собрать за 670 руб.
Когда пришли все комплектующие я понял, что паять все таки нужно будет. И на первом этапе мне показалось что Motor Shield не предназначен для сборки машинок на ИК пульте управления.
Прочитал я статьи про Motor Shield и понял, что стандартную библиотеку использовать в данном случае не получиться. Разобрав электрическую схему я понял как можно подключить I R приемник и двигателя. Написал небольшой скетч. Сделал основу из панели ПВХ. Процесс сборки смотрите в видео. Я повторил первую версию машинки в точности как была сделана.
После пары переделок скетча, машинка поехала. Большой минус был в том, что пока не нажмешь кнопку стоп машинка продолжает движения. Это доставляло массу неудобств особенно, когда машинка заезжала под диван или кровать. Сигнал от пульта не попадал на IR приемник и машинку приходилось вручную доставать.
В новый год у меня сломался power bank. Я заказал запчасти чтобы его отремонтировать. Dc-Dc преобразователь и плата контроля заряда шли больше 2 месяцев. И поэтому машинка у меня стояла, пылилась.
После того как я восстановил Power bank и переписал код, исправив недостаток предыдущей версии. Машинка стала ездить и поворачивать пока нажата кнопка на пульте. Пульт можно отвернуть в противоположную сторону, при этом машинка продолжает движение.
После того как отпускаем кнопку машинка останавливается. Стало намного удобнее.
По просьбе подписчиков выкладываю скетч. Снять отдельно видео пока не получается. Если возникнут вопросы пишите в группу в контакте: Arduino Portal-PK.
Статья о четырехканальном драйвере моторов 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 по которым осуществляется установка режимов управление моторами:
За изменение скорости вращения двигателей отвечаю цепи PWM0A, PWM0B, PWM1A, PWM1B, PWM2A и PWM2B микросхем драйверов двигателей L293D (см. рис. 2).
Рис. 2
Соответствие 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, то всё устройство начинает «глючить».
Подключение питания
Питание моторов подключенных к драйверу 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).
Рис. 4
Подключение шаговых двигателей к драйверу RKP-MDS-L293D Motor Driver L293D
Драйвер Motor Shield L293D позволяет одновременно подключить до 2-х шаговых двигателей (см. рис. 5).
Рис. 5
Читайте также: