APM и Motor Shield

Feb 27, 2018 20:11





Попытался к APM подключить MotorShield.
От APM идет +5, Gnd и Data с PWM.

Спросил на форуме http://arduino.ru, но там как всегда набежали так нелюбимые мной местные умники, которые не могут просто ответить на вопрос, а которым обязательно нужно отправить в поиск, завалить даташитами для изучения и проч., посему опять пришлось разбираться самому.

MotorShield V1.0 подключить к различным Arduino Nano, Pro, Mega и проч. можно, НО:
Это не так логично, как мы предполагали. Точнее логично, но не просто ;)
Нельзя просто подать PWM сигнал на определенный пин и управлять скоростью.
Нельзя (как, например, на l289n Dual Driver) подключить PWM, на IN1 подать+5, IN2 Gnd и пользоваться - (IN1=1;IN2=0 - едем в одну сторону, IN1=0;IN2=1 - едем в другую сторону, IN1=0;IN2=0 стоим)
Нельзя закоротить, выломать, добавить перемычку, чтобы мотор тупо крутил в одну сторону и управлять чиста PWM.

В MotorShield, за счет того, что можно управлять 4 моторами, решили сэкономить нам пины и использовали так называемый "сдвиговый регистр", т.е. по сути, чтобы не задействовать 12 пинов (PWM, IN1,IN2)x4 cделали так - под PWM, для управленя скоростью отдали 4 пина
Digital pin 11: DC мотор #1 / шаговый #1
Digital pin 3: DC мотор #2 / шаговый #1
Digital pin 5: DC мотор #3 / шаговый #2
Digital pin 6: DC мотор #4 / шаговый #2

А чтобы выбирать двигатель и направление вращения выделили 3 пина на всех, т.е. сэкономили нам 5 пинов.
Почитать, как эта хрень работает можно тут - http://avrproject.ru/publ/kak_podkljuchit/bascom_avr_74hc595/2-1-0-44
Описание и пример кода, как объяснить шилду, какой двигатель куда крутить и с какой скоростью тут - https://playground.arduino.cc/Main/AdafruitMotorShield#new

В итоге для работы шилда надо задействовать минимум 5 пинов, не считая gnd и питания.
Т.е. для управления двигателем №1 нужно подключить пин 11 для управления скоростью и пины 4, 7, 8 и 12 для управления DC/Шаговыми моторами с помощью сдвигового регистра 74HC595.

Следовательно подключать MotorShield даже для тестов к APM или любой Arduino кроме One, если есть дефицит выходов, бессмысленно и гиморно. С Arduino One работает прекрасно, нареканий не вызывает.
Если нужно порулить двумя двигателями, берите лучше l289n Dual Driver и иже с ним, там все просто (написал выше) либо воспоьзуйтесь советом уважаемого trembo, если нужно подключаться к APM и иже с ним и купите http://arduino.ru/forum/obshchii/arduino-pro-mini-i-motor-drive-shield#comment-346958

В моем случае, пока жду l289n Dual Driver, решил поиграться с имеющимся шилдом, но не прокатило.

Больше нигде подобной инфы не нашел.
Так что так.

apm, arduino

Previous post Next post
Up