Управление 4 dc моторами на Arduino Nano
- Войдите на сайт для отправки комментариев
Пт, 05/05/2017 - 12:59
Всем доброго времени суток! После долгого ожидания мне пришёл мотор шилд из китая:http://s.aliexpress.com/IzA3ArUN
Данный шилд рассчитан на подключение 4-х dc моторов. Уважаемые господа поделитесь пожалуйста опытом как правильно подключить этот шилд к Arduino Nano? И где можно найти примеры скетчей по Управлению моторами через этот шилд? Спасибо.
По ключевым словам "l298n arduino" поисковики много чего выдают, а то, что у Вас сдвоенный шилд, принципиального значения не имеет.
Посмотрел схемы подключения на 2-х моторные мотор шилды l298n, но схема подключения отличается от моего шилда. Подскажите пожалуйста, на моей плате имеются три контакта (Vin, Gnd, +5v) на какие из них подавать питание? Также рядом с контактами Vin и Gnd находится джампер off/on, для чего он нужен и в каком положении должен находится?
Метод аналогии и эта http://zelectro.cc/Motor_shield_L298N_Arduino статья Вам поможет. Третья и четвёртая картинки с объяснениями.
Спасибо за информацию! Статья помогла, разобрался.
Запитал L298N от 7.2 v Ni-Cd аккумулятора, после 5-10 минут непрерывной езды L298N сильно греется и соответственно значительно падает производительность моторов, они практически перестают крутиться. Спустя определенное время, после того, как схема остывает, производительность моторов восстанавливается. Подскажите плиз что обычно делают в таких случаях и какие есть достойные альтернативы L298N?
Схему подключения, скетч управления - в студию. Мой ХШ отдан на СТО на замену масла.
Схему подключения, скетч управления - в студию. Мой ХШ отдан на СТО на замену масла.
Заранее извиняюсь, хорошую схему нарисовать все равно не смогу, по этому опишу словами.
Драйвер моторов - Arduino Nano (для управления скоростью моторов я не использую ШИМ, в целях экономии пинов на ардуине, по этому все ШИМ контакты на драйвере L298N соединены с VCC джамперами, собственно джамперы оставлены на том же месте где они стояли изначально когда драйвер приехал из китая. Моторы подключены соответственно к выходам Motor1+,Motor1-...Motor4+,Motor4-):
IN1 - D2
IN2 - D3
IN3 - D4
IN4 - D5
IN5 - D6
IN6 - D7
IN7 - D8
IN8 - D9
GND - GND(4)
GND - 7.2v батарея (-)
VCC - 7.2v батарея (+)
Arduino Nano - 3dr telemetry:
GND(29) - GND
+5v(27) - Vin
Tx - Rx
Rx - Tx
GND(4) - 7.2v батарея(-)
Vin(30) - 7.2v батарея(+)
Скетч управления:
А где "вторая половина" описания схемы? В смысле какие моторы и как включены ..
А где "вторая половина" описания схемы? В смысле какие моторы и как включены ..
Мотор драйвер - мотор:
Motor1(+) - плюсовая клемма моторчика 1
Motor1(-) - минусовая клемма моторчика 1
Motor2(+) - плюсовая клемма моторчика 2
Motor2(-) - минусовая клемма моторчика 2
Motor3(+) - плюсовая клемма моторчика 3
Motor3(-) - минусовая клемма моторчика 3
Motor4(+) - плюсовая клемма моторчика 4
Motor4(-) - минусовая клемма моторчика 4
Мотор- редукторы 6v, шли в комплекте с шасси: http://s.aliexpress.com/IbmYbmYn
фото моторов:
Замечательно. Только у ваших моторов нет параметров "скока они жрут" на вашем питании. Проверяйте потребление моторов под нагрузкой. Нагрузку можете создать пальцами удерживая колеса. Если жрут больше 2А, то не удивительно что шилд греется. По виду этих моторов ничего сказать нельзя, надо мерить. Их бывает самых разных - просто вагон.
Кстати, блокировочные конденсаторы параллельно клеммам мотора - стоят? Если нет, то ставьте керамику на примерно 100нФ..
Да и программу желательно так выполнить
Замечательно. Только у ваших моторов нет параметров "скока они жрут" на вашем питании. Проверяйте потребление моторов под нагрузкой. Нагрузку можете создать пальцами удерживая колеса. Если жрут больше 2А, то не удивительно что шилд греется. По виду этих моторов ничего сказать нельзя, надо мерить. Их бывает самых разных - просто вагон.
Кстати, блокировочные конденсаторы параллельно клеммам мотора - стоят? Если нет, то ставьте керамику на примерно 100нФ..
Блокировочных конденсаторов не стоит. Можно поподробней на счёт применения этих кондеров, для чего они нужны? Сколько их нужно на один мотор? Параллельно клеммам это от плюсовой клеммы к минусовой, а затем на него питание подавать нужно?
Замерил сегодня силу тока моторчика , вот результат, если я правильно понимаю, то жрут они очень мало.
без нагрузки и под нагрузкой:
Спасибо за код!
Жрут действительно немного, от такого L298N не греется от слова "совсем". Мои даже со снятыми радиаторами от такого не греются.
Блокировочные конденсаторы да, ставят обязательно керамечиские от одной щетки мотора до другой. Их же ещё зовут "искрогасящими". Вполне достаточно одного конденсатора на мотор. Емкость 50-200нф, по идее лучше больше чем меньше, но не критично. В свое время ставил от 10нф до 1.0мкф .. после 50-100нф особой разницы нет, кроме резонансного значения емкости (индивидуально от мотора к мотору). Резонансный кондер у меня сожрал шетки мотора примерно за 10 часов работы .. не знаю, может мне так повезло, случай - единичный.
Напряжение пробоя надо смотреть не хуже на 3*U питания мотора. Я предпочитаю ставить (есть запас ещё) старую СССР-овскую керамику, зная что она вся на 50в - хватает точно. Еще надо посмотреть, есть ли блокирующие диоды на вашем шилде. Посмотрите сколько их стоит на одиночном L298N и есть ли такие на вашем. Дело в том, что в момент смены полярности или при ШИМ управлении мотором (регулировка "скорости", на самом деле мощности) с катушек мотора можете лететь нехилая ЭДС в генераторном режиме .. но, судя по вашей программе Вы не используете управление скоростью мотора через ШИМ (подают на вход EN этого драйвера).
Можно ставить блокирующие кондеры в кол-ве 3шт: между щетками + с каждой щетки на корпус мотора. Видел и такое, но чем это лучше - не знаю. По идее, якорь изолирован от корпуса мотора.
Да и ещё. Управление направлением вращения. Если Вы часто дергаете ноги направлений INx, то старайтесь вперед управлять той ногой, которую ВЫключаете, делать небольшую задержку в 5-10микросекунд и только потом Включать требуемую ногу в программе. Подбирая задержку можно полностью избежать сквозных токов через драйвер при переключении направлений, когда первый транзистор ещё не успел закрыться физически, а второй уже начал открываться. В этом разе ток течет через драйвер мимо двигла, поэтому его и зовут "сквозняком". Часто именно он греет шилд.
Спасибо за развёрнутый ответ!Попробую поставить эти блокировочные конденсаторы. А те которые вы советовали для организации диодного моста тоже подойдут: 1000.0x25в? Просто я их купил уже штук 10.. Диодный мост пока собрать не получилось, наверное что-то делаю не правильно описал проблему в соседней ветке..
За код спасибо, учту все рекомендации..
Если используются именно ардуиновские digitalWrite (а, например, не из Вашей библиотеки), то достаточно поменять местами (верхний пример), т.к. сам digitalWrite занимает 7 микросекунд, соответственно, такая же будет и задержка между воздействием на пины.
Ну .. один L298N судя по замерам потребляемого тока, мне пришлось увеличивать задержку до 50мксек или даже больше, уже не помню. Он все равно сгорел позже (случайно подал его 12в на ножку питания 5в .. вместе с ним погорела УНО, несколько датчиков линии/препятствий ..). Есть смысл поэкспериментировать с задержкой, замеряя ток, потребляемый драйвером.
Да, ещё. В той схеме все донельзя примитивно, просто перечитайте внимательно. На вашем фото непонятно что-куда подключено, поскольку провода идут за предел фотографии, и то что сфотано не говорит ни о чем.