Зависание МК

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Зависание МК

Сообщение oxid » 10 фев 2014, 02:09

Привет! Столкнулся с такой страннйо проблемой.
Есть мк atmega192, к ней подключен драйвер моторов drv8833. При включении моторов контроллер перезагружается, иногда может совсем зависнуть.

При этом питание раздельное, сегодня логику подключил через оптопару - эффекта ноль. Я уже думаю что помехи передаются "по воздуху".
Нигде не видел чтобы такое возникало с этим драйвером. Грешил на код - но без моторов вроде не зависает.
Еще из симптомов - подключал сломанный моторчик (сам вал не крутит) - если покрутить вал руками при включенном ШИМ, зависание в тот же момент сто процентное.

Сейчас стоит новый редуктор и новые моторы tamiya.

Микроконтроллер соединен проводами uart с raspberry. Вотя думаю не может ли на них как-то помеха воздействовать?

спасибо!

Добавлено спустя 2 минуты 13 секунд:
Да, к питанию моторов подключен кондер на 4700 мкФ, и всякие мелкие конденсаторы 0.1 мкф стоят рядом с моторами для погашения шумов.

Добавлено спустя 1 минуту 8 секунд:
Еще - raspberry pi подключен к тому же стабилизатору, что и атмега. Если запитать все от одного источника итания, то контроллер зависает или ребутится, а с малиной все ок.
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение elmot » 10 фев 2014, 09:51

а зачем 4700 на моторах??? Надо кондюки на питание МК в превую очередь, моторы могут и пережить. Атмега от скольки питается? Если от 5, то ты рискуешь сжечь uart на малине - там 3.3, цеплять к 5В логике так прямо нельзя.
можешь запитать МК от 3.3 В с малины. Очевидно, там гораздо чище питание.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Зависание МК

Сообщение oxid » 10 фев 2014, 12:52

На моторах от просадки при включении, uart защищен делителем и диодом, так что с ним все ок. На питании, ресете и кварце конденсаторы стоят. Вот.

Добавлено спустя 16 минут 9 секунд:
Ну и у меня сейчас питание и управление раздельное..
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение elmot » 10 фев 2014, 13:13

ну значит что-то плохо отфильтровано. Мотор же у нас еще и недетская индуктивность а на нем висят большие конденсаторы, возможны неслабые колебания в сети питания, причем вполь до прожига мк или даже малиновских стабилизаторов. Короче переработать схему питания мк. имхо все-таки запитать мк от малины или отдельного ldo, делитель с УАРТ убрать, большие кондеры с моторов - тоже, просадку все равно так не победить. Еще бывают замечательные детальки - фильтры ЭМИ (aka ferrite beads). Тоже могут помочь.

Я вот так делал, все работало замечательно, ничего не висло.
http://roboforum.ru/forum10/topic11963-75.html?hilit=%D0%B1%D1%83%D1%81%D0%B8%D0%BD%D0%B0#p250937
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Зависание МК

Сообщение oxid » 10 фев 2014, 13:34

НУ я одного не пойму - у меня мк (и распберри) питается от аккумулятора, а моторы от пальчиковых батареек сейчас. Управление развязано через оптопару. Т.е драйвер и мк это два никак не связанных устройства (если я правильно понимаю как оптопара работает) Как помеха может попасть в цепи питания? Где-то читал что надо земли через конденсатор соединить. Имеет ли смысл?

На мк у меня стоит импульсный стабилизатор lm2576. Который понижает напряжение с аккумулятора ( 9в -> 5в ).

Большой конденсатор кстати висит не на моторе, а на питании drv8833, я плохо выразился.

Добавлено спустя 4 минуты 31 секунду:
Может я выложу разводку мк, или код? Или смысла нет? ;)
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение Angel71 » 10 фев 2014, 13:45

и фотки не помешает. если у вас реально опторазвязка, так косяки (при чём жуткие) похоже в плате с вашим мк. на вариант с бракованными деталями пока не похоже.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Зависание МК

Сообщение elmot » 10 фев 2014, 14:17

разводку и фото в студию
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Зависание МК

Сообщение Aseris » 10 фев 2014, 14:21

Ищи косяк в соединениях земли, проверь в каком состоянии Xres вход.
Плюс попробуй физически разнести контроллер и драйвер. Тип через длинные проводки. Ибо если все с подключением ок, то ето мистика. с раздельным питанием все должно быть ОК.

Схемку бы в студию для конкретики...
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Зависание МК

Сообщение oxid » 10 фев 2014, 17:54

Вот фотки, схему выложу позже.. две платы, на той которая побольше стабилизатор и мк, та что меньше с драйвером. Оптопара на белой макетке.

Добавлено спустя 5 минут 41 секунду:
Сорри за качество, фоткал на мобильник.
Вложения
IMAG0576.jpg
IMAG0574.jpg
IMAG0571.jpg
IMAG0566.jpg
IMAG0565.jpg
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение elmot » 10 фев 2014, 20:16

Ну выглядит-то прилично... Не рассматривалась версия, что МК виснет сам собой, без участия моторов, через некоторое время после включения?
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Зависание МК

Сообщение SkyZi » 10 фев 2014, 20:34

Канифоль/флюс не мешало бы смыть, я раз поленился - такие чудеса наблюдал=)МК просто взбесился)
Project "Hexxx" (in progress...)
Аватара пользователя
SkyZi
 
Сообщения: 133
Зарегистрирован: 27 окт 2011, 22:32
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич

Re: Зависание МК

Сообщение oxid » 10 фев 2014, 21:28

У меня такое было когда я забыл смыть пальную кислоту. А канифоль же вроде не обязательно смывать?
Это кстати был СКФ, и я не знаю как его смывать, спиртом?

Добавлено спустя 8 минут 4 секунды:
Вот схема МК.

Добавлено спустя 1 минуту 29 секунд:
elmot писал(а):Ну выглядит-то прилично... Не рассматривалась версия, что МК виснет сам собой, без участия моторов, через некоторое время после включения?


Не знаю даже, может быть нет, а может я просто не дожидался.
Вложения
avr.png
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение Angel71 » 10 фев 2014, 21:33

ещё как обязательно. она изначально может всякие пакости устраивать, а через пол года-год ещё веселей будет. зависание может с этим и не связаны, но хорошенько смыв канифоль вы избавите себя от возможных проблем. спиртом, "ноготок" и всякие прочие растворители. если эпизодически что-то паяите, можно взять специальные балончики с чистящей жидкостью (не ищите какой-то определённый бренд в "ближайшей булочной" или конкретную жидкость - очень много подделок, очень часто какчество сильно "гуляет").
Последний раз редактировалось Angel71 10 фев 2014, 21:37, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Зависание МК

Сообщение oxid » 10 фев 2014, 21:35

спасибо за совет, а как это сделать? ;) Ультразвуковой ванночки и прочего у меня нет
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис

Re: Зависание МК

Сообщение Angel71 » 10 фев 2014, 21:39

не успел дописать сообщение. уз хороша, но в этом случае она почти бесполезна - достаточно просто обычной зубной щётки и какого растворителя.
кстати, если будете паять используя не канифоль, а с глицерином, то его тоже лучше смыть - он воду впитывает, что не есть хорошо.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron