|
Зависает Atmega 64, при коммутации мощной индуктивной нагрузки |
|
|
|
Mar 17 2009, 16:15
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 25-09-07
Пользователь №: 30 811

|
Есть устройство на ATmega64, управляющее несложным оборудованием. На оборудовании используется достаточно мощный гидравлический клапан, катушка которого рассчитана на 220V AC. Точно не знаю, но, думаю, ватт 100. Контроллер управляет этим клапаном через маломощное реле, установленное на плате. Периодически контроллер зависает (5-10 срабатываний клапана). Если ничего не менять, а только отсоединить катушку гидравлического клапана, то зависания пропадают. Я думаю, что проблема в мощных электромагнитных помехах, появляющихся в момент коммутации. Но может не из-за этого, а, например помехи по цепи питания. Что можете сказать?
Подскажите пожалуйста, что можно предпринять, чтобы устранить данную недоработку. Например какие-то RC цепочки на катушку или навешать кучу конденсаторов по питанию котроллера? Доступ к плате и схеме есть - все объективные мнения будут реализованы.
Заранее спасибо.
P.S. Питание 5V через понижающий ШИМ от +24V на плате же. Кварц внешний. Reset на +5V.
|
|
|
|
Guest_Скопидор_*
|
Mar 17 2009, 17:54
|
Guests

|
|
|
|
|
Guest_Скопидор_*
|
Mar 17 2009, 19:02
|
Guests

|
Цитата(Igont @ Mar 17 2009, 19:15)  или навешать кучу конденсаторов по питанию А что толку? Помеха ведь по воздуху передаётся. Тут только грамотная разводка платы рулит
|
|
|
|
Guest_Скопидор_*
|
Mar 18 2009, 13:11
|
Guests

|
Цитата(МП41 @ Mar 18 2009, 16:05)  А сторожевой таймер задействован? Надо бороться с причиной зависания, а сторожевой таймер помогает когда контроллер уже завис
|
|
|
|
Guest_Скопидор_*
|
Mar 18 2009, 13:23
|
Guests

|
Цитата(МП41 @ Mar 18 2009, 16:16)  Согласен, но таймер всё же не зря придумали. Естественно, на время отладки его надо выключить. Открою Вас секрет, что его придумали больше для защиты от программных ляпов (когда при некотором сочении переменных получается вечный цикл), а не от помех. Ещё открою секрет, что при помехах бывают такие зависоны, что и WDT останавлается и не помогает. Так что в первую очередь нужно избавиться от причины зависания
|
|
|
|
|
Mar 18 2009, 13:47
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Цитата(Скопидор @ Mar 18 2009, 15:23)  Открою Вас секрет, что его придумали больше для защиты от программных ляпов (когда при некотором сочении переменных получается вечный цикл), а не от помех. Ещё открою секрет, что при помехах бывают такие зависоны, что и WDT останавлается и не помогает. Так что в первую очередь нужно избавиться от причины зависания Это понятно, и я согласен, что надо бороться с причиной, а что если уже платы сделаны и устройство в работе? Этим можно частично закрыть проблему.
Сообщение отредактировал МП41 - Mar 18 2009, 13:47
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Mar 18 2009, 20:47
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 25-09-07
Пользователь №: 30 811

|
Цитата(domowoj @ Mar 17 2009, 19:20)  Посмотрел. Спасибо. Результат ошеломляет. См. вложенный рисунок. Цитата(ukpyr @ Mar 18 2009, 01:09) заменить реле на оптосимистор с детектором 0, параллельно катушке клапана - RC цепочку (последовательно 10-100нФ и 10-100Ом), плату управления отнести подальше от клапана. Подобрал SDA-200B025S-1Z. Поставим снаружи вместо доп. реле. Цитата(_Pasha @ Mar 18 2009, 17:56) Коммутируйте этим реле другое, с напряжением обмотки 12Вольт, а уж это реле пускай стоит на динрейке в сторонке, в панели. И клиенту удобно - реле наебн поменял и вперед. Так и сделано. Но реле заменим см. выше. Чтобы искр в момент размыкания не было. Цитата(МП41 @ Mar 18 2009, 16:05) А сторожевой таймер задействован? Нет. Стараюсь не использовать. Соглашусь, как, впрочем, и вы с Цитата(Скопидор @ Mar 18 2009, 16:11) Надо бороться с причиной зависания, а сторожевой таймер помогает когда контроллер уже завис Спасибо всем ответившим. Результат не замедлит быть. Про реле я написал. На плате же(см. влож.) будет отрезана дорожка GND от кварца с конденсаторами, которые будут соеденены перемычкой с 22 ногой Atmega64.
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 18 2009, 21:49
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 17-04-08
Пользователь №: 36 850

|
Цитата(Скопидор @ Mar 18 2009, 15:23)  Открою Вас секрет, что его придумали больше для защиты от программных ляпов (когда при некотором сочении переменных получается вечный цикл), а не от помех. Программные ляпы тоже разные бывают. И если всё " правильно" делать то в этом цикле и обновление WDT может оказаться...
|
|
|
|
Guest_Скопидор_*
|
Mar 18 2009, 22:39
|
Guests

|
Цитата(galjoen @ Mar 19 2009, 01:17)  А без этого даже узнать невозможно где ватчдог сработал. Чтоб программу подправить. Дык это вроде сначала для этого и не предназачался, он навроде лома или кувалды: когда наступил пи…ец и всё зависло – пи….ануть посильней, чтоб опять усё заработало. Цитата(galjoen @ Mar 19 2009, 01:17)  Кстати только у самых последних Атмеловских камней у ватчдога свой вектор есть. А тогда чем WDT отличается от других, «обычных» таймеров микроконтроллера, которые также имеют вектора? Цитата(galjoen @ Mar 19 2009, 01:17)  Защищатся от програмных ляпов ватчдогом - это партизанщина. От помех тоже. Тогда вообще нах он нужен в таком случае?
|
|
|
|
|
Mar 18 2009, 23:22
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Скопидор @ Mar 19 2009, 01:39)  А тогда чем WDT отличается от других, «обычных» таймеров микроконтроллера, которые также имеют вектора? У него свой генератор и запрет прерываний со слипом на него не влияют. Конечно м.б. и указатель стека к тому времени собъётся, но вероятность найти место где он сработал велика. Цитата(Скопидор @ Mar 19 2009, 01:39)  Дык это вроде сначала для этого и не предназачался, он навроде лома или кувалды: когда наступил пи…ец и всё зависло – пи….ануть посильней, чтоб опять усё заработало.
От помех тоже. Тогда вообще нах он нужен в таком случае? А тут у вас противоречие. И почему это он от помех, по вашему, не защищает?
|
|
|
|
|
Mar 19 2009, 06:47
|
Участник

Группа: Новичок
Сообщений: 32
Регистрация: 28-04-05
Пользователь №: 4 592

|
А ещё мона прям к катушке (паралельно) припаять варистор вольт этак на 250-300 - тоже помогает )
|
|
|
|
|
Mar 21 2009, 17:22
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Да уж, разводка земли у вас- просто сборщик помех  Есть опыт проектирования ПЛК для отечественного термопластавтомата, там в качестве исполнительных элементов- как раз электромагнитные клапана, и ни постоянно щелкают, их там 32шт кажется, было, включались они релюхами на 10А Для уменьшения помех каждой катушке постоянного тока 24 вольта был параллельно диод и резистор 390 ом двухваттный. Параллельно электромагнитам 110в переменного тока - резистор 2К и конденсатор- кажется 0.1 мкф. Мег тогда еще атмел не придумал, довольствовался 90S8535.  У меня была проблема- при коммутации 110в электромагнитов вис индикатор, который был подключен шлейфом и висел на передней панели шкафа. (контроллер с реле- на задней стенке шкафа), экранирование этого шлейфа нисколько не помогало. Вышел из ситуации следующим образом- обмен с индикатором разнес по времени на 30мс со срабатыванием электромагнитов.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|