Ребят, подскажите пожалуйста, почему при подключении двигатель к мотор шилду и написании кода, двигатель движется слишком медленно, питание идёт по USB от компьютера? (если проблема не в подключении, подскажите код на увеличение скорости пожалуйста) И второй вопрос, как нужно подключать моторчики, чтобы не спалить мотор шилд. Потому что я подключил двигатель, а сама плата(motor shield) немного греется и двигатель пищит, помогите разобраться?
1.вам могло было просто не хватить напряжения,попробуйте его повысить 2.нужно знать, где находится + - на моторе, и на клемниках мотор-шилда . Подключать надо соответственно полярности
Крона сама по себе как источник питания для достаточно мощных вещей не очень. Хотя, может быть, двигатели будут крутиться быстрее, но очень недолго. Экспериментировал в свое время с кроной в качестве источника питания. Уж очень недолго работает. Лучше пакет из аккумуляторов АА или LiPo. Если не хватает напряжения, использовать повышающий преобразователь. И лучше питать моторшилд отдельно, а не от ардуино, если есть такая возможность. Можно от одного источника, но с все таки с разделением питания (управляется перемычкой на шилде), в смысле подключить источник параллельно к шилду и ардуине. Кстати, какой двигатель, какой потребляемый им ток, на какое напряжение рассчитан? Чтобы он нормально работал с типичным моторшилдом, возможности по току шилда должны с запасом перекрывать потребности двигателя. Еще неплохо припаять керамические конденсаторы параллельно моторам. номинал конденсаторов не подскажу, ставил в свое время 0.1 мкФ, не уверен, что это лучший вариант.
Типичный моторшилд - это два канала по 2А. Т.е. можно подключать пару независимо управляемых двигателей с током потребления 1-1.5 А. Если надо подключать четыре, то можно подключить их попарно параллельно к двум каналам, но при этом каждый двигатель должен потреблять не больше 1А в самых тяжелых режимах (чтобы не спалить шилд), а двигатели будут управляться сразу парами. Если нужно подключать более мощные двигатели, то нужно брать драйвер или шилд помощнее (в соответствии с током, потребляемым двигателями). Если нужно управлять независимо четырьмя двигателями, то нужно или два типичных шилда (да еще решать вопрос с разнесением по разным пинам), или искать шилд сразу на четыре двигателя, если такой есть.
По фото ничего не скажу, первый раз такой вижу. Да еще перемычек на нем как собак нерезаных. Одна, скорее всего, объединение/разделение питания с ардуиной. А остальные две зачем? И на какой ток потребления он рассчитан? Ясно только, что внешнее питание, скорее всего, подключается к двухконтактному клеммнику на длинной стороне.
Итак: 1. максимально-продолжительный ток каждого канала: 0,6 А; маловато как-то. Т.е. если моторы на больший ток, можно спалить шилд. 2. В принципе, если греется не сильно, но не страшно. Вопрос только в том, не сильно - это сколько. 3. Питать шилд лучше отдельно. Соответственно, перемычку PWR Sel в положение Ext, Питание 7-24 В к двойному клеммнику на длинной стороне. 4. Для подключения двигателя четыре канала. Подключать по одному к пятиконтактным клемникам к крайним парам клемм (помечены M1, M2, M3, M4) 5. Дальше могу ошибаться, но из описания вроде следует так: для каждого подключенного двигателя объявляется экземпляр класса. Код (Text): AF_DCMotor motor1(1); // подключен к M1 AF_DCMotor motor2(2); // подключен к M2 AF_DCMotor motor3(3); // подключен к M3 AF_DCMotor motor4(4); // подключен к M4 И в тексте скетча надо просто пинать по мере надобности экземпляры классов на предмет управления соответствующим двигателем. Например, для того, чтобы пнуть двигатель, подключенный к M2, надо пнуть экземпляр класса motor2 (поскольку именно его объявили с двойкой в параметре конструктора). Установить направление: Код (Text): motor2.run(FORWARD); // вперед (условное понятие, //зависящее от физического расположения двигателя // на устройстве и полярности его подключения к клемме). Код (Text): motor2.run(BACKWARD); // назад Код (Text): motor2.run(RELEASE); // остановить Заставить крутиться: Код (Text): motor2.setSpeed(255); // полный газ Параметр метода setSpeed, насколько я понимаю, может быть от 0 до 255 (соответственно от остановки до полного газа). Но при этом, как показывает практика использования других шилдов, в зависимости от мотора и источника питания двигатель может начинать крутиться не с нулевого значения, а с какого-нибудь еще (порог устанавливается исключительно экспериментально), причем иногда с достаточно высокого. Если скорость задана слишком маленькая (ниже этого самого порога), то двигатель будет пищать, а не вращаться. Перед реверсом направления вращения двигатель лучше остановить (в примере, кстати, так и делается).