Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Зависает Atmega 64
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Igont
Есть устройство на ATmega64, управляющее несложным оборудованием.
На оборудовании используется достаточно мощный гидравлический клапан,
катушка которого рассчитана на 220V AC. Точно не знаю, но, думаю, ватт
100. Контроллер управляет этим клапаном через маломощное реле,
установленное на плате. Периодически контроллер зависает (5-10 срабатываний клапана).
Если ничего не менять, а только отсоединить катушку гидравлического клапана, то
зависания пропадают.
Я думаю, что проблема в мощных электромагнитных помехах, появляющихся в момент коммутации.
Но может не из-за этого, а, например помехи по цепи питания. Что можете сказать?

Подскажите пожалуйста, что можно предпринять, чтобы устранить данную недоработку.
Например какие-то RC цепочки на катушку или навешать кучу конденсаторов по питанию
котроллера?
Доступ к плате и схеме есть - все объективные мнения будут реализованы.

Заранее спасибо.

P.S. Питание 5V через понижающий ШИМ от +24V на плате же.
Кварц внешний.
Reset на +5V.
domowoj
Посмотрите правильность разводки
http://caxapa.ru/lib/emc_immunity.html
Скопидор
http://www.google.ru/search?hl=ru&neww...mp;aq=f&oq=
Скопидор
Цитата(Igont @ Mar 17 2009, 19:15) *
или навешать кучу конденсаторов по питанию

А что толку? Помеха ведь по воздуху передаётся. Тут только грамотная разводка платы рулит
galjoen
Цитата(domowoj @ Mar 17 2009, 19:20) *
Посмотрите правильность разводки
http://caxapa.ru/lib/emc_immunity.html

Вариан разводки кварца, предлагаемый там, не единственно возможный. Как правило под процессором со стороны пайки на двусторонней плате не представляется возможным земляной полигон организовать. Тогда лучше не на кондёр от XTAL2 отдельный земляной провод кидать (как там предложено), а наоборот, на процессорную землю от земли на ноге этого кондёра провод кинуть. И больше землю (этот вывод) процессора ни к чему не подключать. Эффект будет аналогичный (м.б. даже и лучше). У АВР, видимо, для этого такая разводка питания на процессоре сделана.
ukpyr
заменить реле на оптосимистор с детектором 0, параллельно катушке клапана - RC цепочку (последовательно 10-100нФ и 10-100Ом), плату управления отнести подальше от клапана.
МП41
А сторожевой таймер задействован?
Скопидор
Цитата(МП41 @ Mar 18 2009, 16:05) *
А сторожевой таймер задействован?
Надо бороться с причиной зависания, а сторожевой таймер помогает когда контроллер уже завис
МП41
Цитата(Скопидор @ Mar 18 2009, 15:11) *
Надо бороться с причиной зависания, а сторожевой таймер помогает когда контроллер уже завис

Согласен, но таймер всё же не зря придумали. Естественно, на время отладки его надо выключить.
Скопидор
Цитата(МП41 @ Mar 18 2009, 16:16) *
Согласен, но таймер всё же не зря придумали. Естественно, на время отладки его надо выключить.

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

Это понятно, и я согласен, что надо бороться с причиной, а что если уже платы сделаны и устройство в работе? Этим можно частично закрыть проблему.
_Pasha
Коммутируйте этим реле другое, с напряжением обмотки 12Вольт, а уж это реле пускай стоит на динрейке в сторонке, в панели. И клиенту удобно - реле наебн поменял и вперед.
Igont
Цитата(domowoj @ Mar 17 2009, 19:20) *
Посмотрите правильность разводки
http://caxapa.ru/lib/emc_immunity.html

Посмотрел. Спасибо. Результат ошеломляет. См. вложенный рисунок.

Цитата(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.
Nick_Shl
Цитата(Скопидор @ Mar 18 2009, 15:23) *
Открою Вас секрет, что его придумали больше для защиты от программных ляпов (когда при некотором сочении переменных получается вечный цикл), а не от помех.
Программные ляпы тоже разные бывают. И если всё "правильно" делать то в этом цикле и обновление WDT может оказаться...
galjoen
Цитата(Скопидор @ Mar 18 2009, 16:23) *
Открою Вас секрет, что его придумали больше для защиты от программных ляпов (когда при некотором сочении переменных получается вечный цикл), а не от помех.
Ещё открою секрет, что при помехах бывают такие зависоны, что и WDT останавлается и не помогает.
Так что в первую очередь нужно избавиться от причины зависания

Нет. Защищатся от програмных ляпов ватчдогом - это партизанщина. Не для этого он. Кстати только у самых последних Атмеловских камней у ватчдога свой вектор есть. Да и то там, вроде, с глюком сделано. А без этого даже узнать невозможно где ватчдог сработал. Чтоб программу подправить.
Скопидор
Цитата(galjoen @ Mar 19 2009, 01:17) *
А без этого даже узнать невозможно где ватчдог сработал. Чтоб программу подправить.

Дык это вроде сначала для этого и не предназачался, он навроде лома или кувалды: когда наступил пи…ец и всё зависло – пи….ануть посильней, чтоб опять усё заработало.

Цитата(galjoen @ Mar 19 2009, 01:17) *
Кстати только у самых последних Атмеловских камней у ватчдога свой вектор есть.

А тогда чем WDT отличается от других, «обычных» таймеров микроконтроллера, которые также имеют вектора?


Цитата(galjoen @ Mar 19 2009, 01:17) *
Защищатся от програмных ляпов ватчдогом - это партизанщина.

От помех тоже.
Тогда вообще нах он нужен в таком случае?
galjoen
Цитата(Скопидор @ Mar 19 2009, 01:39) *
А тогда чем WDT отличается от других, «обычных» таймеров микроконтроллера, которые также имеют вектора?

У него свой генератор и запрет прерываний со слипом на него не влияют. Конечно м.б. и указатель стека к тому времени собъётся, но вероятность найти место где он сработал велика.
Цитата(Скопидор @ Mar 19 2009, 01:39) *
Дык это вроде сначала для этого и не предназачался, он навроде лома или кувалды: когда наступил пи…ец и всё зависло – пи….ануть посильней, чтоб опять усё заработало.

От помех тоже.
Тогда вообще нах он нужен в таком случае?

А тут у вас противоречие.
И почему это он от помех, по вашему, не защищает?
haker_fox
Цитата(Igont @ Mar 19 2009, 04:47) *
На плате же(см. влож.)

Не по теме. Если не секрет, в чем плату проектировали?
domowoj
Цитата(ukpyr @ Mar 18 2009, 04:09) *
заменить реле на оптосимистор с детектором 0, параллельно катушке клапана - RC цепочку (последовательно 10-100нФ и 10-100Ом), плату управления отнести подальше от клапана.


Правильное предложение!
superbizzon
А ещё мона прям к катушке (паралельно) припаять варистор вольт этак на 250-300 - тоже помогает )
_Pasha
Цитата(haker_fox @ Mar 19 2009, 08:38) *
Не по теме. Если не секрет, в чем плату проектировали?


Дык там же видно: select a net внизу. PCAD 4.5
haker_fox
Цитата(_Pasha @ Mar 19 2009, 15:49) *
Дык там же видно: select a net внизу. PCAD 4.5

К сожалению, я не знаком с P-CAD ни одной версии...( Начинал сразу с Protel DXP.
Serj78
Да уж, разводка земли у вас- просто сборщик помех sad.gif

Есть опыт проектирования ПЛК для отечественного термопластавтомата, там в качестве исполнительных элементов- как раз электромагнитные клапана, и ни постоянно щелкают, их там 32шт кажется, было, включались они релюхами на 10А smile.gif

Для уменьшения помех каждой катушке постоянного тока 24 вольта был параллельно диод и резистор 390 ом двухваттный. Параллельно электромагнитам 110в переменного тока - резистор 2К и конденсатор- кажется 0.1 мкф.

Мег тогда еще атмел не придумал, довольствовался 90S8535. smile.gif

У меня была проблема- при коммутации 110в электромагнитов вис индикатор, который был подключен шлейфом и висел на передней панели шкафа. (контроллер с реле- на задней стенке шкафа), экранирование этого шлейфа нисколько не помогало. Вышел из ситуации следующим образом- обмен с индикатором разнес по времени на 30мс со срабатыванием электромагнитов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.