Arduino motor control shield l293d распиновка подключение

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

L293D motor shield Arduino ► рассмотрим подключение к плате Ардуино, команды библиотеки AFMotor для управление от L293D серво и моторами постоянного тока.

Сегодня мы разберем весьма полезное расширение для платы Arduino UNO — Motor Control Shield L293D, рассмотрим схему подключения к данному шилду сервомоторов, шаговых двигателей и моторов постоянного тока. Также вы можете ознакомиться с командами, используемых в библиотеке AFMotor.h, и попробовать различные скетчи для управления шаговыми двигателями и моторами постоянного тока на Ардуино.

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

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

Схема и подключение 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 Ардуино и моторов

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

  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

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

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

Motor Shield: плата расширения к Ардуино

Модуль RA022 Motor Shield — обзор платы и её принципиальная схема. Данная плата расширения служит для подключения к плате Arduino UNO относительно мощных исполнительных устройств: элекромоторов постоянного тока, шаговых двигателей и сервомоторов.

Плата Мотор Шилд стоит около 100-200 рублей и поставляется в антистатическом пакете.

Устройство имеет размер 69 х 53 х 20 мм, 30,6 г.

Стандартное расположение выводов позволяет легко подключить плату расширения к Arduino UNO, Arduino Leonardo или Arduino Mega.

На плате располагаются клеммные колодки для подключения четырех электромоторов или двух шаговых двигателей. Максимальный допустимый ток составляет 600 мА на канал [1-3].

Для взаимодействия с Arduino данный модуль использует порты D3-D8 и D11-D12 [2,4]. Порты D9-D10 выведены на плату шилда в виде трехконтактных разъемов для подключения сервоприводов.

Также на плате имеется кнопка перезагрузки Arduino.

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

Напряжение питания шилда должно лежать в диапазоне от 4,5 до 25 В [4] . Для выбора источника питания на плате имеется перемычка. Если перемычка надета, то питание двигателей осуществляется от платы Arduino.

В этом режиме питание пары электродвигателей [5] оказывается невозможным. На фотографиях хорошо видно, что при установленной перемычке напряжение на USB порту падает до 4 В, электродвигатели при этом не работают.

При отключенной перемычке ток потребляемый через USB порт связкой из Arduino UNO и мотор шилда составляет 140 мА.

Для обеспечения работы электродвигателей был использован отдельный источник электропитания, напряжением 6В. На фотографиях видно, что при этом ток, потребляемый через USB порт, упал до 50 мА. От внешнего источника питания забирается ток около 0,25 А.

Читать еще:  Legrabox blum схема сборки

Для упрощения работы с данной платой расширения целесообразно использовать специальную библиотеку AFMotor [6]. Следует отметить, что версии библиотеки друг от друга отличаются, у автора устройство заработало с библиотекой, скачанной вот отсюда [7]. Для проверки работоспособности была использована программа _2_motor [2].

Принципиальные схемы

Выводы о модуле

В целом данная плата расширения оставляет достаточно приятное впечатление, за сравнительно небольшую цену (около 110 р. на апрель 2018 г.) мы получаем возможность управлять четырьмя электродвигателями. Разумеется, все то, что делает данный шилд можно реализовать самостоятельно, однако это займет несравнимо больше времени, чем установка и настройка этой платы расширения. Наличие готовых библиотек сильно упрощает программирование.

Из недостатков можно отметить отсутствие разъемов для работы с незанятыми портами Arduino. Впрочем, радом с контактами аналоговых портов на плате предусмотрены металлизированные отверстия, что позволит при необходимости не только подвести к ним провода, но и собрать на свободной площади платы несложную схему (например, делитель напряжения).

  1. http://www.zi-zi.ru/module/module-l293
  2. http://роботехника18.рф/подключение-мотор-шилд-к-ардуино/
  3. https://arduino-kit.ru/catalog/id/modul-ra022.-motor-shield-na-baze-mikroshem-l293d
  4. http://robotosha.ru/arduino/motor-shield.html
  5. http://radioskot.ru/publ/raznoe/shassi_dlja_kolesnogo_robota/18-1-0-1122
  6. http://iarduino.ru/file/161.html
  7. http://arduino-diy.com/arduino-motor-shield

Все файлы находятся в общем архиве. Обзор подготовил для сайта 2 Схемы — Denev.

Motor Shield

Хотите подключить мотор к Arduino или Iskra JS?! К сожалению микроконтроллер установленный на управляющих платформах не сможет без посторонней помощи управлять большой нагрузкой. Motor Shield поможет микроконтроллеру управлять коллекторными моторами и шаговыми двигателями.

Motor Shield — это плата расширения, предназначенная для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5–24 В и максимальным током до двух ампер на канал.

Плата расширения также сможет управлять одним биполярным шаговым двигателем.

Видеообзор

Подключение и настройка

Примеры работы для Arduino

Управление коллекторными двигателями

Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.

Схема устройства

Код программы

Для начала покрутим каждый мотор в одну, а затем другую сторону.

Код программы

Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.

Управление биполярным шаговым двигателем

Драйвер моторов может на себя также взять управления шаговым двигателем. В качестве примера подключим шаговый двигатель 42STH47-0406A.

Схема устройства

Управление без библиотек

Motor Shield поддерживает три режима управления биполярным шаговым двигателем:

Код программы

Протестируем по очереди три режима управления.

Скорость вращения шагового двигателя очень сильно влияет на развиваемый мотором момент. Убедитесь сами. Запустите этот же пример с разными значениями delayTime .

Обратите внимание, что двигатель в однофазном полношаговом режиме позволяет развить гораздо меньший момент, чем в двухфазном полношаговом режиме.

Управление через готовую библиотеку

Для лёгкого и быстрого управления шаговым двигателем мы написали библиотеку AmperkaStepper. Она скрывает в себе все тонкости работы с мотором и предоставляет удобные методы.

Пример работы в различных режимах

Пример работы для Espruino

Управление коллекторными двигателями

Подключите два коллекторных мотора к клеммникам M1 и M2 соответственно.

Схема устройства

Код программы

Для начала покрутим каждый мотор в одну, а затем другую сторону.

Код программы

Усложним задачу. Будем плавно увеличивать скорость первого мотора до максимальной скорости, а потом понижать до полного выключения. Аналогично проделываем со вторым мотором.

Элементы платы

Драйвер двигателей

Сердце и мускулы платы — микросхема двухканального H-моста L298P.

Термин «H-мост» появился благодаря графическому изображению схемы, напоминающему букву «Н». H-мост состоит из четырёх ключей. В зависимости от текущего состояние переключателей возможно разное состояние мотора.

Ключи меняем на транзисторы для регулировки скорости мотора с помощью ШИМ-сигнала.

H-мост с силовыми ключами — основная начинка микросхемы L298P для управления скоростью и направлением двигателей.

На плате расширения Motor Shield два контура питания.

Если отсутствует хотя бы один из контуров питания — Motor Shield работать не будет.

Силовое питание подключается через клеммник PWR . Диапазон входного напряжения:

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

Джампер объединения питания

Motor Shield использует два контура питания: силовое и цифровое. По умолчанию для питания всей конструкции необходимо два источника напряжения:

При установки джампера в положение PWR JOIN , происходит объединение контакта Vin управляющей платформы и положительного контакта клеммника PWR . Режим объединённого питания позволяет запитывать управляющую платформу и силовую часть драйвера от одного источника питания.

При объединённом режиме напряжение может быть подано двумя способами:

При работе двигателей по цепи питания может проходить очень большой ток, на который цепь Vin управляющей платформы не рассчитана. Поэтому выбор для питания клеммника PWR предпочтительнее.

В режиме совместного питания управляющей платформы и Motor Shield, используйте входное напряжение в диапазоне 7–12 вольт. Напряжение более 12 вольт убьёт управляющую платформу. Если вы хотите работать с Motor Shield в диапазоне 5–24 вольта, используйте два отдельных источника питания.

Источник питания должен быть способен обеспечить стабильное напряжение при резких скачках нагрузки. Даже кратковременная просадка напряжения может привести к перезагрузке управляющей платформы. В итоге программа начнётся сначала и поведения двигателей будет неадекватным.

При объединённом питании используйте литий-ионные и никель-металлгидридные аккумуляторы. Если вы используете другие источники питания, лучше воспользуйтесь раздельной схемой питания управляющей платформы и Motor Shield.

Читать еще:  Liqui moly hypoid getriebeoil tdl 75w90

Нагрузка разделена на два независимых канала. К каждому каналу можно подключить один коллекторный мотор. Первый канал на плате обозначен шёлком M1 , второй канал — M2 .

Обозначения «+» и «−» показывают воображаемые начало и конец обмотки. Если подключить два коллекторных двигателя, чтобы их одноимённые контакты щёточного узла соответствовали одному и тому же обозначению на плате, то при подаче на Motor Shield одинаковых управляющих импульсов, моторы будут вращаться в одну и ту же сторону.

Подключение Motor Shield L293D к плате Arduino и управление электромоторами

Доброго времени суток, читатели нашего сайта. Сегодня мы с вами познакомимся с очень интересным и полезным устройством, которое называется Motor Shield 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 находится светодиод, который горит только тогда, когда подсоединенные электромоторы запитанны и могут выполнять свое предназначение. А если светодиод не проявляет признаков жизни, то ваши электромоторы работать не будут, так как источника питания не хватает на работу моторов или его совсем нет.

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

Необходимые компоненты для подключения

Для подключения нам необходимы следующие компоненты:

Все эти элементы можно приобрести по низкой цене и с высоким качеством в интернет магазине SmartElements.

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

После того, как вы подготовили все необходимые компоненты, можно перейти к подключению. Сначала рассмотрим схему подключения нашего мини-проекта.

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

Присоединение шилда к Arduino воспроизводится стандартным способом, а именно прямым подключением, сделав «бутерброд». Как это сделать, вы можете увидеть на фотографии ниже.

После подключения Motor Shield L293D к Arduino, нам необходимо присоединить оставшиеся компоненты. Правильное подключение показано на фотографии ниже.

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

Готовый программный код для управления Motor Shield L293D

Для работы датчика на Arduino нужно скачать и установить библиотеку AFMotor .

Скачать библиотеку можно здесь .

После того, как мы скачали нужную библиотеку, ее нужно правильно установить. Скачанные файлы нужно переместить по следующему пути :

Диск C Progtam Files Arduino Libraries

После того, как мы все сделали перейдем к самой важной ступеньке, а именно к программированию.

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

Для начала рассмотрим подключение одного мотора к Motor Shield L293D и Arduino.

Перейдем ко второму коду, для управления уже несколькими электромоторами.

Разбор програмного скетча для управления электромоторами с помощью Motor Shield L293D и Arduino

Схему соединений мы собрали. Скетч вставили и загрузили. У нас все получилось, но мне кажется, что мы что-то забыли. Мы забыли разобраться в том, как же работает наша установка! Рассматривать мы будем участки кода, которые могут вызвать у вас непонимание. Перейдем к изучению написанного кода.

Читать еще:  Doctor wax антисоль отзывы

В участке кода, представленном ниже, мы задаем максимальную скорость, для электромоторов. Мы указали максимальное значение скорости равное «255».

В данном участке кода мы командой «motor1. run (FORWARD);» задаем движение электродвигателям вперед, а командой «motor1. setSpeed (255);» указываем, с какой скоростью будут они работать. Если вы захотите установить максимальную скорость, то ее значение должно быть таким, которое указано в строчке «motor1. setSpeed (255);» (в нашем случае значение максимальной скорости равно 255).

Вы можете заметить строчки, в которых указана функция » delay «(Пример такого кода указан ниже). Эта функция отвечает за продолжительность действия того или иного действия. В нашем случае » delay » указывает, какое количество времени двигатель будет бездействовать.

Надеюсь у вас все получилось! Если у вас остались вопросы, можете написать нам в вконтакте или в комментариях ниже. Мы постараемся ответить на ваши вопросы в скором времени!

Двигатели постоянного тока робота. Драйвер движка L293D и Arduino

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

Из этой статьи вы узнаете:

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

Совсем недавно я приобрёл данный драйвер, 2 OLED экрана для Ардуино и датчик для измерения влажности почвы.

Как раз драйвер двигателей на данном этапе является основной частью для изучения, так как я буду его применять в силовой части робота, собран он будет совместно с Arduino UNO. Этот «Бутерброд» будет выполнять основные задачи по движению шасси робота.

Большой плюс в Arduino — это быстродействие, и все операции движения будет выполнять скетч в его «мозгах». Затем я буду снимать всю информацию на Raspberry Pi и обрабатывать её.

Драйвер двигателей — L293D, общее описание

Мотор-шильды на основе микросхем L293 и L298N являются самыми популярными драйверами для управления моторами постоянного тока. На фото выше данная плата позволяет подключить 4 DC мотора (либо 2 шаговых двигателя) и два серводвигателя. Помимо этого ещё на борту платы есть несколько аналоговых входов, что позволяет подключить несколько ультразвуковых датчиков. Это очень удобно.

Почему? Потому что таким образом мы можем завязать независимую логику управления трансмиссией робота чисто на Ардуино. Потом передавать необходимые данные в верхние инстанции по каналам связи. основным целевым мозгом является одноплатный компьютер. Неважно, будет ли это Raspberry Pi, или Orange Pi, или Banana Pi.

Я закончил своё лирическое отступление, продолжаем дальше:

В составе этой платы имеются две микросхемы L293D (1). L-ка позволяет управлять слаботочными двигателями с током потребления до 600 мА на канал. Для подключения двигателей используются зажимные клеммы (2).

Использование двух микросхем L293D позволяет одновременно подключить 4 моторчика постоянного тока либо 2 шаговых мотора, либо два моторчика и шаговый. Для управления на прямую выводами L-ки (IN1, IN2, IN3, IN4),отвечающими за выбор направления вращения, необходимо 4 вывода, а для двух микросхем целых 8.

Для уменьшения количества управляющих выводов в игру вступает сдвиговый регистр 74НС595 (3). Благодаря регистру управление сводится с 8-ми пинов к 4-ем.

Так же на шильдике имеются шесть пинов (4) для подключения двух сервоприводов. (Кстати очень полезная и нужная штука, если понадобиться прицепить манипулятор с двумя степенями свободы).

Питание силовой части производится либо от внешнего клеммника (6) либо замыканием джампера (5) ( питание от клеммника моторов +M соединяется с выводом VinArduino).

При замкнутом джампере напряжение для объединенного питания должно лежать в пределах от 6 до 12 Вольт.

Используемые выводы Arduino для управления моторами

Выводы для скорости вращения двигателями:

  1. D11: DC Мотор №1 / Шаговый №1
  2. D3: DC Мотор №2 / Шаговый №1
  3. D5: DC Мотор №3 / Шаговый №2
  4. D6: DC Мотор №4 / Шаговый №2

Выводы, отвечающие за направления двигателей:

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

  1. D9: Сервопривод №1
  2. D10: Сервопривод №2

Незадействованные аналоговые входы(Они же могут быть и дискретными вводами/выводами):

  • А0-А6 (либо в коде указываем дискретные 14-19)

Программирование на Arduino

Для того чтобы нам запустить данный драйвер, мы должны прописать соответствующие «мозги». Загружаем нужную библиотеку AFmotor . Скачал я её с официального сайта ГитХаб . Устанавливаем и загружаем в Arduino IDE.

Подробное описание библиотеки находится на этом сайте .

В начале программы создаём объект с уникальным именем и указываем канал, куда вы подключили двигатель. Создаём объект двигателя постоянного тока AF_DCMotor , используя AF_DCMotor (номер двигателя).

По сути библиотека выполняет всего две команды — это скорость вращения и направление.

Скорость вращения это команда setSpeed (скорость). В скобках указывается аргумент скорости, который принимает от 0 до 255. И направление вращения run (направление). В скобках аргумент может принимать три значения: FORWARD (вперёд), BACKWARD (назад) или RELEASE (стоп).

Ну что, пробуем скетч? В принципе на моём роботе, только два двигателя, поэтому я проводил испытания, только на двух каналах.

Ссылка на основную публикацию
Adblock
detector