Z- Motor + Sensor Shield своими руками. (DIY)

Опубликовано 21.06.2015 16:02:00


DIY Z-Motor Sensor Shield - плата расширения для Arduino. Она позволяет управлять двумя коллекторными двигателями либо одним биполярным шаговым с потреблением до 600мА. Вдобавок на плате разведен сенсор шилд на все незадействованные цифровые и аналоговые пины, так что подключить различную периферию (датчики/модули) теперь проще легкого.

Внешний вид платы

Внешний вид платы

Принципиальная схема: diy-z-motor-sensor-shield-l293d-schematic

 

 

Основные технические характеристики:

• Напряжение питания силовой части: 4.5 - 18В

• Количество каналов драйвера L293D: 2

• Максимальный ток на канал драйвера: 600мА


 

Задействуемые пины Arduino:

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

(I1) Цифровой вывод 7 - DC Мотор №1
(I2) Цифровой вывод 4 - DC Мотор №2

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

(E1) Цифровой вывод с поддержкой ШИМ 5 - DC Мотор №1
(E2) Цифровой вывод с поддержкой ШИМ 3 - DC Мотор №2


 

Источники питания

На плате Шилда имеется джампер JP1, соединяющий вывод клеммника внешнего питания силовой части M+ и вывод VIN платы Arduino. Замыкая и размыкая данный джампер можно переводить платы на режимы питания от одного источника или раздельного от разных источников.

 

Питание от одного  источника

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

Напряжение питания силовой части драйвера двигателей лежит в пределах 4,5...18 В, в то время как рекомендуемое напряжение для стабилизатора на плате Arduino лежит в пределах 6 ... 12 В. Ниже 6 В - стабилизатор может не выдавать необходимые 5 В для работы Arduino, а выше 12 В - может перегреться и сгореть.

Отталкиваясь от этих характеристик, напряжение для обобщенного питания будет лежать в пределах 6 ...12В.

Для питания от одного источника необходимо замкнуть джампер JP1.

 

Питание от отдельных источников

Если необходимо подавать на моторы напряжение которое не лежит в пределах допустимых для Arduino, а именно от 4,5 до 6В и от 12 до 18В, то в данном случае необходимо питать плату Arduino отдельно.

Для питания от отдельных источников необходимо снять джампер JP1.

 

 

Полезная информация

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



 

Подключение к Arduino

 

1 Моторы постоянного тока

1.1 Для самодельных плат на базе ATmega 8

Итак, моторами M1 и M2 управляют два отдельных канала микросхемы L293D. Для управления M1 служат выводы I1 и E1, для M2 выводы I2 и E2.

"I" отвечают за направление вращения, а выводы "E" отвечают за вкл/выкл и скорость вращения моторов. Однако у контроллеров ATmega8 (самый дешевый камень для DIY поделок) цифровые выводы 5 и 3 не имеют поддержи ШИМ. В связи с этим на них получится вращать моторы только на максимальной скорости. 

На примере одного канала (для второго будет идентично), для начала, рассмотрим самый простой пример 

 

 
Пример программного кода

 

1.2 Для всех остальных плат выше ATmega 8

Платы на базе ATmega 168, 328, 2560 т.е. все платы Arduino выпускаемые на данный момент в серийном производстве имеют ШИМ на выводах 3 и 5. Изменяя скважность ШИМ сигнала подаваемого на выводы E1 и E2 мы сможем регулировать скорость моторов. 

В программном коде он будет задаваться функцией

analogWrite (E1, число от 0 до 255);

 

 
Пример программного кода

 

2 Шаговые моторы

 

 
Пример программного кода

 

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

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


 

Скачать архив

В архиве лежит шаблон под ЛУТ, Eagle файлы  и список деталей

Открываем изображение => Печать => Во всю страницу


 

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

Монтаж SMD элементов


А как же комментарии?