реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Ресетится Attiny2313
T800
сообщение Jan 21 2014, 22:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Всем доброго здравия. Столкнулся с таким явлением.
Есть мелкая платка, распаянная на макетке. Суть такая - есть внешний источник питания 7-16 Вольт, к нему подключен электролит, соленойд (с диодом для замыкания обратной ЭДС). Соленойд включается посредством мощного N-полевика, затвором полевика дёргает Attiny2313. Attiny2313 питается от того же источника через LDO 5 вольт.

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

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

Пока мысли свелись к тому что надо эмс фильтр поставить в цепь питания. Но что-то не верится что такие колебания в цепи питания могут ресетнуть контроллер.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 21 2014, 23:56
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



У вас точно BODLEVEL отключен? А то уж больно симптомы на него похожи.
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Jan 22 2014, 06:04
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



А я бы ещё кроме пуллапа на RESET поставил конденсатор 0.1 мкФ с RESET на GND, и на SCK тоже внешний пуллап. И да, в качестве фильтра после LDO регулятора дроссель с опять же 0.1 мкФ. Ну ещё я бы попробовал диод воткнуть перед входным конденсатором (который большой ёмкости) LDO регулятора.
Go to the top of the page
 
+Quote Post
T800
сообщение Jan 22 2014, 06:53
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Цитата
У вас точно BODLEVEL отключен? А то уж больно симптомы на него похожи.


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

Ну в общем в лоб не получилось, попробую теперь сделать красиво с учётом соображений ЭМС, ну и дроссель добавлю.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 22 2014, 07:15
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



1) Показывайте всю схему.
2) показывайте фотографию разводки. Даже если это макетка. Возможно у вас неправильная топология земли.
3) Есть диод параллельно соленоиду для гашения выброса ЭДС самоиндукции? Сброс в момент выключения наводит именно на эту мысль.
4) Увеличивать надо конденсатор до стабилизатора. После стабилизатора емкость должна быть близкой к рекомендациям производителя, иначе он может потерять устойчивость.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jan 22 2014, 08:12
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(T800 @ Jan 22 2014, 02:25) *
контроллер подаёт импульс некоторой длины на затвор полевика

Затвор соединен с МК через резистор или напрямую ?
Если запитать соленоид от постороннего аккумулятора, МК будет сбрасываться ? Проверьте.
Ну и, конечно, ток, потребляемый соленоидом, лучше не пускать по той части платы, где стоит МК. Благо, это несложно ...
Go to the top of the page
 
+Quote Post
ARV
сообщение Jan 22 2014, 09:57
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



можно попробовать подать питание на конденсатор стабилизатора 5В через диод


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
T800
сообщение Jan 22 2014, 11:13
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Всем спасибо за подсказки, разводка платы у меня полный швах, просто припаял на скорую руку как удобнее. не ожидал такой подставы.
Сейчас перепаяю правильно, поставлю дросель, посмотрим на результат.
Go to the top of the page
 
+Quote Post
T800
сообщение Jan 23 2014, 08:15
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Правильная "разводка" платы (насколько это применимо к макетке) и конденсатор на ресете исправили ситуацию. Мда, ни в чём расслабляться нельзя, я абсолютно не ожидал проблем от такой простой схемы.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 23 2014, 10:59
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Я не понял - диод стоял? Или без него обошлись? Если без него, то почему?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
T800
сообщение Jan 23 2014, 11:21
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 2-12-13
Пользователь №: 79 453



Цитата(Сергей Борщ @ Jan 23 2014, 14:59) *
Я не понял - диод стоял? Или без него обошлись? Если без него, то почему?


Стоял с самого начала.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 24 2014, 07:03
Сообщение #12


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



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


а в чем проблемность BODLEVEL?


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 24 2014, 07:51
Сообщение #13


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



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


Есть подозрение, что он может срабатывать не только на уровень напряжения (как ему положено), но и на резкое измение этого уровня, даже если в результате тот остался в допустимых пределах. На некоторых AVR-ках были даже попытки сделать раздельное задание условий - как по самому уровню, так и по его производной. Но потом способ задания по производной выкинули из даташита без каких-либо объяснений. Отсюда и подозрение, что этот вариант срабатывания остался, но в даташитах не афишируется и в тестах не проверяется.
Go to the top of the page
 
+Quote Post
Dmitry Dubrovenk...
сообщение Jan 24 2014, 08:04
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 3-11-06
Из: Санкт-Ленинград
Пользователь №: 21 949



Цитата(T800 @ Jan 22 2014, 02:25) *
Регистр состояния говорит что был power-on reset.
Была подобная проблема, когда делал управление холодильником.
Решил развязкой цепи питания МК от остальной диодом с электролитом. Этакий "амплитудный детектор" (см. схему). rolleyes.gif


--------------------
Obligatus servus.
Go to the top of the page
 
+Quote Post
OlegH
сообщение Jan 24 2014, 15:04
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 14-01-06
Из: Украина, г.Харьков
Пользователь №: 13 168



Цитата(Xenia @ Jan 24 2014, 09:51) *
Есть подозрение, что он может срабатывать не только на уровень напряжения (как ему положено), но и на резкое измение этого уровня, даже если в результате тот остался в допустимых пределах. На некоторых AVR-ках были даже попытки сделать раздельное задание условий - как по самому уровню, так и по его производной. Но потом способ задания по производной выкинули из даташита без каких-либо объяснений. Отсюда и подозрение, что этот вариант срабатывания остался, но в даташитах не афишируется и в тестах не проверяется.


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

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 03:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01609 секунд с 7
ELECTRONIX ©2004-2016