Радиоуправление на Ардуино - глюки

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Всем добрый день! Решил сделать радиоуправление (для машинки) на Arduino Pro Mini (Mega168). Принцип такой: передатчик (Pro Mini Mega168) передает 1 байт в котором первые 4 бита - напрвление движения и управление поворотами. В подробности не буду вдаваться - прикреплю скетчи передатчика и приемника - там все расписано. Схема управления в машинке простая:

2 аккумулятора 18650 - от них понижалка LM2596 на 5 вольт - все это питает Ардуинку + серву(повороты) + H-мост моторчика. От LM2596 идет еще понижалка 1117 на 3.3 вольта для питания радиомодуля nrf24l01+.

Схема работает отлично без каких-либо проблем. НО! Надо сделать радиоуправляемой другую машинку. И тут пришлось "изголяться". Машинка типа "Баги", внутреннего пространства почти нет, по этому пришлось вместо 2-х аккумуляторов 18650 ставить один аккумулятор cga103450 (плоский и меньше чем 18650) + повышалку MT3608 на 5 вольт для работы схемы. Еще дно изменение: вместо радиомодуля nrf24l01+ поставил китайскую копию SE8R01. Схема (щелкните для увеличения):
Изображение
Фото схемы внутри машинки (ногами не пинайте, это пока тестовая сборка) :
Изображение Изображение

На первом фото виднеется слева повышалка, потом идет серва, ардуина и радиомодуль. На втором фото в отсеке для батареек расположился H-мост и аккумулятор.

Суть проблемы в чем: при включении (если есть связь с передатчиком) ардуина в машинке мигает светодиодом (пин 13) в качестве индикатора что связь с передатчиком (управлением) есть и принимаются данные - это нормальный рабочий режим. При управлении Вправо-Влево управление идет без проблем, сервопривод поворачивает колеса, но если нажать Вперед или Назад то начинается что-то непонятное: ардуина в машинке перестает моргать светодиодом (он гаснет) и секунду-две никак не отвечает на управление, ни на Повороты ни Вперед-Назад. Через секунду - две ардуина развисает. Если при этом ничего на пульте не нажато то машинка может проехать сантиметров 10-15, остановиться, и опять моргать светодиодом и реагировать на повороты. Если же во время "развисания" ардуины передается команда Вперед-Назад то машинка 1 раз дернется и опять зависнет на 1-2 секунды.

Если отключить моторчик от H-моста то подобных зависаний нет, но если вместо моторчика поставить хоть какую-то нагрузку (светодиод) то история опять повторяется. Получается что работа H-моста как-то влияет на работу приемника в целом. Но почему - не понятно. Платку моста снял с машинки. Платка раньше работала без проблем. В чем может быть причина? Из-за чего такой глюк может быть?
Вложения
SE8R01.rar
Скетчи передатчика и приемника
(11.72 КБ) 294 скачивания
Сделать своими руками всегда интересней чем просто купить и пользоваться
Реклама
Аватара пользователя
Дмитрий
Сверлит текстолит когтями
Сообщения: 1219
Зарегистрирован: Вс сен 25, 2005 10:07:31
Откуда: Россия.
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение Дмитрий »

forfrends писал(а):вместо 2-х аккумуляторов 18650 ставить один аккумулятор cga103450 (плоский и меньше чем 18650)
Опять программисты "жгут" :))
Поставьте аккумуляторы с достаточной емкостью и разрядным током и не парьте нам мозги.
Реклама
bolek
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Re: Радиоуправление на Ардуино - глюки

Сообщение bolek »

Схема на картинке точно соответствует реальности?
Проблема с мостом может быть в Q2, Q3 - после запирания Q5, Q6 у них базы висят в воздухе, т.е. они могут быть в неопределенном состоянии.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Радиоуправление на Ардуино - глюки

Сообщение uk8amk »

+ повышалку MT3608 на 5 вольт для работы схемы.
Через повышалку сразу мотор и контроллер?
MT3608 более слабая по выходу чем 2596. При старте мотора по питанию имеем большую нагрузку, почти КЗ.
Как минимум одну повышайку на мотор, другую на цифру.

Сделать нормальный мост.
Прочитать зачем нужен dead-time.
Реклама
Эиком - электронные компоненты и радиодетали
Igor3
Потрогал лапой паяльник
Сообщения: 353
Зарегистрирован: Чт июл 24, 2014 00:25:25

Re: Радиоуправление на Ардуино - глюки

Сообщение Igor3 »

Осцилл подключите к питанию и, как поётся в песне:”Ты всё поймешь, Ты всё увидишь сам!”
Питание ардуины просаживется, она перезапускается – это еще везёт, что AVR-ка современная – в первых поколениях при этом програмная память портилась :).
Реклама
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Осциллографа, увы, нет. Только обычный тестер. Попробую разделить питание через диод. Но прикол в том что "зависание" происходит даже если вместо мотора стоит обычный диод, который потребляет всего 15 мА и никакой просадки напряжения не вызывает. Вечером попробую. Может разделение питания на что-то повлияет.
Сделать своими руками всегда интересней чем просто купить и пользоваться
Реклама
Igor3
Потрогал лапой паяльник
Сообщения: 353
Зарегистрирован: Чт июл 24, 2014 00:25:25

Re: Радиоуправление на Ардуино - глюки

Сообщение Igor3 »

forfrends писал(а):Но прикол в том что "зависание" происходит даже если вместо мотора стоит обычный диод, который потребляет всего 15 мА и никакой просадки напряжения не вызывает.
Ну так транзистор с оторванной базой имеет право себя вести как хочет :) - сквозной ток...
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

В общем... о результатах:
Тест 1: на выходе повышалки поставил конденсатор 3300 мф 10 вольт. С этой точки питаются серва и мотор. Так же подключил диод (1N4007) и на него тоже конденсатор 3300х10. С этой точки питается ардуина и передатчик. Результат: на ардуине и передатчике ток вовсе не просаживается (при выключении машинки светодиод на ардуине горит еще 2-3 секунды). НО зависания и дергания остались.
Тест 2: все питания собрал в кучу и запитал от внешнего БП 5в 2А - Результат тот же: зависания и дергания. Вывод: дело не в повышалке, а в самой схеме, так как питания вполне достаточно.
Тест 3: питание моторчика поставил напрямую от аккумулятора (перед повышалкой). Все остальное запитал от повышалки. Результат: Нет никаких глюков, все работает четко. НО скорость машинки оставляет желать лучшего... Вывод: Питание для моторчика нужно повышать.

Н-мост я не переделывал так как: 1) выдран со старой р/у машинки где раньше нормально работал. 2) он уже был у меня в работе на другой машинке (проблем не было). 3) он соответствует схеме из 1-го поста, а схема взята здесь: http://www.radiokot.ru/forum/viewtopic.php?f=22&t=26398

Управление что я делаю сейчас отличается от тех что были раньше только радиомодулем (SE8R01 вместо nrf24l01+) и повышающим преобразователем вместо понижающего. Тесты показали что дело не в преобразователе. Похоже что проблема с SE8R01... скорее всего она как-то ловит наводки по питанию. Ставить отдельную повышалку для мотора... не рентабельно и.. НЕ СПОРТИВНО! :))

Можно ли как-то развязать питание? То есть от повышалки запитать все устройства, но "развязать" мотор и все остальное? Попробовал моторчик подключить через диод, но он работал как-то вяло а проблемы с зависаниями и дерганиями остались. Как правильно развязывать питание?
Сделать своими руками всегда интересней чем просто купить и пользоваться
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Попробовал соединить все устройства и запитать от одного хорошего источника - сбоев не было вообще. Значит вся беда в повышалке - она не справляется с нагрузкой. Заменить ее нечем :( В общем, решений проблемы несколько:

1) поставить отдельную повышалку для мотора (мне этот вариант не подходит)
2) сделать развязку по питанию для мотора и електроники. Мне этот вариант подходит более всего, но Как ее сделать? Пробовал питать ардуину через L-C фильтр, но толку почти нет.
3) заменить/переделать повышалку, так как она не справляется с такими нагрузками... Опять же: как повысить ПКД повышалки? да и заменить сейчас нечем..
Сделать своими руками всегда интересней чем просто купить и пользоваться
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Радиоуправление на Ардуино - глюки

Сообщение Morroc »

если
forfrends писал(а): 1) поставить отдельную повышалку для мотора (мне этот вариант не подходит)
тогда
forfrends писал(а): 2) сделать развязку по питанию для мотора и електроники. Мне этот вариант подходит более всего, но Как ее сделать? Пробовал питать ардуину через L-C фильтр, но толку почти нет.
все таки через диод и конденсатор как можно больше на стороне ардуины (возможно его хватит на питание мк и приемника в момент старта, потом двигатель раскрутится и ток через него упадет) + обязательно отдельными проводами непосредственно от повышалки
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Пока что все мои усилия не приносят успеха. Что я делал:
- поставил диод параллельно питанию Н-моста.
- Поставил L-C фильтр на питание ардуины (диод - конденсатор 1000х10 - индуктивтость - конденсатор 1000х10).
- Поставил L-C фильтр на питание мотора (конденсатор 1000х10 - индуктивтость - конденсатор 1000х10), диод не ставил так как не знаю какой поставить, 1N4007 сильно понижает напряжение, по крайней мере через него мотор едва крутится. Схема получилась примерно такая: Изображение
- везде где можно поставил керамические конденсаторы на питание.

В результате помехи ушли примерно на 80%... но все же полностью...
Сделать своими руками всегда интересней чем просто купить и пользоваться
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Радиоуправление на Ардуино - глюки

Сообщение Morroc »

Мотор через него и не надо, только ардуину чтобы в момент критического потребления мотор не отсасывал энергию из конденсаторов ардуино, снижая там напряжение. Большую емкость тоже можно ближе к ардуине сунуть - моторам хватит и 1000. Параллельно электролитам добавить ~0.1 uf керамику. Сам моторчик штатно запитан как было ? Обычно прям на нем детали. Если нет - можно (нужно) пару дросселей непосредственно к каждому полюсу и конденсатор ~0.1 - 0.3 uF между ними, тоже хорошо снижает помехи и ни в коем случае токи питания мотора не должны протекать по тем же проводам, что и для ардуины с приемником. А нельзя через повышалку только мотор запитать ? Сама ардуина от 3.3 обычно работает нормально, можно в обход стабилизатора подать или поменять его на 3.3
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

В общем... после 1000 и 1 теста... выявил причину проблем - аккумулятор.

Если вместо cga103450 поставить банку 18650 - все "глюки" исчезают. Почему система не дружит с cga103450 - не понятно. Даже если полностью зарядить результат тот же. В то же время если поставить 18650 (даже если она на половину разряжена) то проблем не возникает. От cga103450 при попытке езды вперед-назад (включение мотора) ардуина перезагружается. Если использовать 18650 то ардуина не сбрасывается. Тестировал cga103450 - подключал мотор напрямую - батарея нормально может отдавать 1.5 Ампера...

В общем я в ступоре. Почему это происходит - не понятно. Никто не знает что это за "прикол" такой, и можно его победить?
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение Zhuk72 »

Внутреннее сопротивление?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Почесал я репу, плюнул, и решил разобрать один аккумулятор. Вот что было внутри:
Изображение Изображение
Что это? Контроллер (защита)? Предохранитель? Эта штука все и портила, не спасали никакие диоды - конденсаторы - LC-фильтры. Подключил аккумулятор напрямую, и все заработало как часы! А столько вечеров потратил что бы найти проблему!
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение Zhuk72 »

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

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Радиоуправление на Ардуино - глюки

Сообщение Morroc »

forfrends писал(а):Подключил аккумулятор напрямую, и все заработало как часы! А столько вечеров потратил что бы найти проблему!
Ну вы даете. Во втором посте об этом написано - надо было проверить сразу :)) Похоже аккумулятор не рассчитан на такой ток, вы его угробите, хотя поиграться может и хватит.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Радиоуправление на Ардуино - глюки

Сообщение forfrends »

Век живи - век учись! Как-то "ушами прохлопал" проверить сам аккумулятор...
Аккумуляторы не жалко так как они полудохлые - емкости лишь половина - две трети, заряжаются не до 4.2 а до 3.8-4 вольт, и даже немного вздутые. В серьезную технику их применять нельзя. А для игрушки пойдут!
Сделать своими руками всегда интересней чем просто купить и пользоваться
Ответить

Вернуться в «Разные вопросы по МК»