Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ресетится Attiny2313
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
T800
Всем доброго здравия. Столкнулся с таким явлением.
Есть мелкая платка, распаянная на макетке. Суть такая - есть внешний источник питания 7-16 Вольт, к нему подключен электролит, соленойд (с диодом для замыкания обратной ЭДС). Соленойд включается посредством мощного N-полевика, затвором полевика дёргает Attiny2313. Attiny2313 питается от того же источника через LDO 5 вольт.

Суть проблемы - контроллер подаёт импульс некоторой длины на затвор полевика, соленойд как положено срабатывает. После этого контроллер ресетится. Регистр состояния говорит что был power-on reset.
Добавил ёмкостей на вход и выход LDO - не помогло. Пулап на ресет - нет эффекта. Макетка как плата конечно не о чём, но вроде контроллер дубовый и задача простецкая.
На осциллографе видно что в цепи питания возникают броски вверх-вниз в виде затухающего синуса, что логично. Амплитуда бросков +-200мВ, длительность - 250 нс до затухания. Этого достаточно чтобы контроллер заглючил?
Если отключить соленойд, то всё работает как надо - ресета нет, импульсы идут, в цепи питания тишь да гладь.

Грешил на включенный debug wire, но с отключенным всё то же самое.
Какие будут мнения?
1. Плохое расположение компонентов (силовые токи текут через мк)?
2. Что-то всё таки по программной части надо смотреть?

Пока мысли свелись к тому что надо эмс фильтр поставить в цепь питания. Но что-то не верится что такие колебания в цепи питания могут ресетнуть контроллер.
Xenia
У вас точно BODLEVEL отключен? А то уж больно симптомы на него похожи.
RabidRabbit
А я бы ещё кроме пуллапа на RESET поставил конденсатор 0.1 мкФ с RESET на GND, и на SCK тоже внешний пуллап. И да, в качестве фильтра после LDO регулятора дроссель с опять же 0.1 мкФ. Ну ещё я бы попробовал диод воткнуть перед входным конденсатором (который большой ёмкости) LDO регулятора.
T800
Цитата
У вас точно BODLEVEL отключен? А то уж больно симптомы на него похожи.


Подумал про него тоже, но отключен. И по идее ресет по нему отображается в регистре статуса, чего не наблюдается.

Ну в общем в лоб не получилось, попробую теперь сделать красиво с учётом соображений ЭМС, ну и дроссель добавлю.
Сергей Борщ
1) Показывайте всю схему.
2) показывайте фотографию разводки. Даже если это макетка. Возможно у вас неправильная топология земли.
3) Есть диод параллельно соленоиду для гашения выброса ЭДС самоиндукции? Сброс в момент выключения наводит именно на эту мысль.
4) Увеличивать надо конденсатор до стабилизатора. После стабилизатора емкость должна быть близкой к рекомендациям производителя, иначе он может потерять устойчивость.
kovigor
Цитата(T800 @ Jan 22 2014, 02:25) *
контроллер подаёт импульс некоторой длины на затвор полевика

Затвор соединен с МК через резистор или напрямую ?
Если запитать соленоид от постороннего аккумулятора, МК будет сбрасываться ? Проверьте.
Ну и, конечно, ток, потребляемый соленоидом, лучше не пускать по той части платы, где стоит МК. Благо, это несложно ...
ARV
можно попробовать подать питание на конденсатор стабилизатора 5В через диод
T800
Всем спасибо за подсказки, разводка платы у меня полный швах, просто припаял на скорую руку как удобнее. не ожидал такой подставы.
Сейчас перепаяю правильно, поставлю дросель, посмотрим на результат.
T800
Правильная "разводка" платы (насколько это применимо к макетке) и конденсатор на ресете исправили ситуацию. Мда, ни в чём расслабляться нельзя, я абсолютно не ожидал проблем от такой простой схемы.
Сергей Борщ
Я не понял - диод стоял? Или без него обошлись? Если без него, то почему?
T800
Цитата(Сергей Борщ @ Jan 23 2014, 14:59) *
Я не понял - диод стоял? Или без него обошлись? Если без него, то почему?


Стоял с самого начала.
Kovrov
Цитата(Xenia @ Jan 22 2014, 03:56) *
У вас точно BODLEVEL отключен? А то уж больно симптомы на него похожи.


а в чем проблемность BODLEVEL?
Xenia
Цитата(Kovrov @ Jan 24 2014, 11:03) *
а в чем проблемность BODLEVEL?


Есть подозрение, что он может срабатывать не только на уровень напряжения (как ему положено), но и на резкое измение этого уровня, даже если в результате тот остался в допустимых пределах. На некоторых AVR-ках были даже попытки сделать раздельное задание условий - как по самому уровню, так и по его производной. Но потом способ задания по производной выкинули из даташита без каких-либо объяснений. Отсюда и подозрение, что этот вариант срабатывания остался, но в даташитах не афишируется и в тестах не проверяется.
Dmitry Dubrovenko
Цитата(T800 @ Jan 22 2014, 02:25) *
Регистр состояния говорит что был power-on reset.
Была подобная проблема, когда делал управление холодильником.
Решил развязкой цепи питания МК от остальной диодом с электролитом. Этакий "амплитудный детектор" (см. схему). rolleyes.gif
OlegH
Цитата(Xenia @ Jan 24 2014, 09:51) *
Есть подозрение, что он может срабатывать не только на уровень напряжения (как ему положено), но и на резкое измение этого уровня, даже если в результате тот остался в допустимых пределах. На некоторых AVR-ках были даже попытки сделать раздельное задание условий - как по самому уровню, так и по его производной. Но потом способ задания по производной выкинули из даташита без каких-либо объяснений. Отсюда и подозрение, что этот вариант срабатывания остался, но в даташитах не афишируется и в тестах не проверяется.


О, однажды именно на tiny2313 BOD сыграл со мной весьма злую шутку.
Платы, установленные в уличных системах (неотапливаемых), при температуре ниже -22..-24 просто переставали функционировать.
Сначала грешил на китайские кварцы. Но замена на фирменные GEYER с расширенным температурным диапазоном не помогла.
Тогда я заметил, что процессор при такой температуре находится в состоянии ресета.
Начал снижать порог срабатывания BOD- это не помогало.
И тогда отключил BOD вообще - и о чудо, плата заработала легко и не напрягаясь и при более низких температурах.
(питание всегда было 5В от линейного стабилизатора, и к его значению и стабильности вопросов не было и на морозе).
Потом пришлось перешивать ПО в уже работающих платах по морозу, на высоте. После этого проблем с их работой не было.
Kovrov
весьма озадачило
----------------------
интересно, а в новых Хмегах как дела обстоят с BODом?

T800
Мне ещё надо настройки сохранять в EEPROM. Тык много где рекомендуют при работе с EEPROM включать BOD. В общем после всего сказанного, что-то не тянет его включать, пока всё работает как положено.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.