Jump to content

    
Sign in to follow this  
Krik99

Защита МК от помех

Recommended Posts

Добрый день. Начал я тут разробатыать устройство, которое вроде как должно подходить под стандарт промышленной электроники (3-ч фазные двигатели, эл. магнитные клапана и т.д.). Сердцем всего этого должен быть МК. Программу написать не проблема, но вот погуглив увидел что у многих разработчиков возникает проблемма с зависанием МК. Сам такое наблюдал в устройстве, где через делитель снималось с силовой цепи 220в сигнал контроля. Так вот на 5-20 раз особенно когда быстро переключал можно было перезагрузить МК. Решил все это конденсатором паралельно контактам кнопки, но так и не понял почему в стеральной машине ведётся контроль подобным образом после контактов реле и все нормально.

Мое устройство питается от 24В (от этих 24В включаются клапана и пускатели). На входе платы стоит TVS диод (или варистор) и дросель с двумя обмотками. Скоростных линий не предвидится, максимум i2c. Имеется rs485.

Так вот погуглив наткнулся на книгу Г. Отта И вот сообственно хочу спросить вас, правильно ли я все понял. И так начнем:

1. Норамльной помехоустойчивости нереально добится на односторонней плате

2. Блокировочный конденсатор нужно ставить как можно ближе к выводам микросхем

3. Кварц нужно разводить согласно рекомендациям производителя

4. На двухсторонних платах одна их сторон должна быть землей (либо в виде сетки с мелкими ячейками)

5. На длинных и шумных линиях (типо катушка клапана на 24в) нужно ставить феритовое кольцо(мелкое такое) или это только на входные линии?

6. Под линиями питания на обратной стороне обязательно должна быть земля

7. От наносекундных помех не спасают даже оптотроны, но помагают резисторы в разрыв порта ввода-вывода в гашении помех

8. Необходимо использовать большое количество переходных отверстий между землеными полигонами

9. Пустые места должны быть заполнены земляными полигонами

10. Не создовать земляные петли вокруг платы

11. Индуктивность проводников питания должна быть минимальна(широкие проводники с большим количеством переходных отверстий)

 

Ещё возникли вопросы:

1. Как я понял земляной слой разрывать можно, но над разрывами нельзя пропускать линии питания?

2. Разводить питание можно цепочкой(DC-DC -> микроконтроллер -> часы -> логика и т.д.) или нужны отдльные линии от каждой микросхемы?

3. С точки зрения помех, если мне необходимо включать катушки клапанов на растоянии до 1.5м ,нужно ли использовать реле, или всёже нужно перейти на MOSFET?

4. Немного не понял с чистой и грязной землей, тоесть что куда подключать?

5. Что если земленой полигон получился с обеих сторон?

6. Нужно ли соединять минус питания 24в с заземлением щита, так как в книге пишут что часто земля является источником помех?

7. Есть ли смысл использования изолированого острова земли (для микроконтроллера), которая соединена с остальной землей через фиритовое кольцо либо тонкую дорожку?

8. Если входные\выходные кабеля являются источниками помех (common-mode noise), то зачем их фильтры подключать к "чистой" земле, но не к цифровой? При чем именно эта чистая земля должна быть подключена к корпусу устройства. Это подключение в любом случае или если корпус заземлен? И нужна ли такая чистая земля при использовании оптопар?

9. И как быть с rs485? По входным линиям там стоят TVS диоды. Но у 485 есть 3 провода и еще экран. Куда и как подключать экран, если сами драйвера и их питания планируется подключить через изолированый dc-dc и оптопары? При чем как я понял из книги, TVS диоды сигнальных линий должны быть соеденены именно на корпус устройства.

Share this post


Link to post
Share on other sites
у многих разработчиков возникает проблемма с зависанием МК. Сам такое наблюдал в устройстве, где через делитель снималось с силовой цепи 220в сигнал контроля. Так вот на 5-20 раз особенно когда быстро переключал можно было перезагрузить МК. Решил все это конденсатором паралельно контактам кнопки, но так и не понял почему в стеральной машине ведётся контроль подобным образом после контактов реле и все нормально.

 

Непонятно. Если вы снимаете сигнал с 220В через делитель, то причем тут кнопка? Что вы переключали?

 

Вообще-то вешать кондер параллелно контактам кнопки - это плохая идея. Законы коммутации никто не отменял. Такое включение само может стать источноком помех.

Share this post


Link to post
Share on other sites
Добрый день...

Вопросы правильные и их много, но отвечать здесь скорее всего не будут. И тут есть причины.

Во первых много, во вторых ответы объемные, а в третьих и это самое главное, привильный

ответ на один и тот же вопрос может быть прямо противоположный. Все зависит от условий.

А вот если учитывать все условия, то ответ займет книжку страниц на 20, поэтому предлагаю

почитать соответствующую литературу и обязательно прогонять теорию через средства

моделирования. Когда число вопросов снизится до двух трех, приходите.

Share this post


Link to post
Share on other sites
Непонятно. Если вы снимаете сигнал с 220В через делитель, то причем тут кнопка? Что вы переключали?
Если коротко, то есть лампочка кторую включает выключатель, вся эта цепь на 220в, и вот мне нужно следить включена лампочка или нет.

 

Вопросы правильные и их много, но отвечать здесь скорее всего не будут. И тут есть причины.

Во первых много, во вторых ответы объемные, а в третьих и это самое главное, привильный

ответ на один и тот же вопрос может быть прямо противоположный. Все зависит от условий.

А вот если учитывать все условия, то ответ займет книжку страниц на 20, поэтому предлагаю

почитать соответствующую литературу и обязательно прогонять теорию через средства

моделирования. Когда число вопросов снизится до двух трех, приходите.

Вопроссы возникли после прочтения книги, может конечно это мой английский, или отсутствие опыта. Но хотябы грубо на пальцах можете сказать? И насколько мои выводы с 1-11 правельны или же я что-то неправельно понял?

Edited by Krik99

Share this post


Link to post
Share on other sites

То что Вы фундаментально подходите к этому вопросу - респект.

Но рискуете "запутаться в нулях".

. . . . Программу написать не проблема, но вот погуглив увидел что у многих разработчиков возникает проблемма с зависанием МК.

. . . .

Для того, чтобы "сбить" контроллер с правильной программой в завес надо очень-очень постараться.

(естественно, при условии гарантированного и "чистого" от помех-наводок питания и отсутствия грубых ошибок

в схемотехнике и разводке платы, номиналах RC. Тотже узел ресета и выводов JTAG).

 

А вот "плюхи" в софте этому (глюк-завесам) очень даже способствуют. И большая часть из нагугленного -

возможно проблемы софта. А пока ищем настоящую причину - виноват сбойный процессор :)

 

 

 

Share this post


Link to post
Share on other sites
Мелокая сетка, нет вот так МЕЛКАЯ СЕТКА НЕ ЯВЛЯЕТСЯ ПОЛИГОНОМ. От слова совсем. Мелкая сетка работает только для выравнивания

меди. Функции полигона не выполняет никак. Чтобы это понять отправляю Вас к средствам 3D моделирования топологии, сделайте

сетку и посмотрите TDR анализом импеданс трассы над сеткой. Тут Вам потребуется симулятор AVR MWO или ANSYS EM Suite.

 

А можно подробнее? AWR MWO или ANSYS EM Suite у меня нет, а вопрос интересный. Я всю жизнь думал что если размер ячейки в сетке меньше, чем 1/10 длины волны, то она работает как сплошной полигон. И если чипы на плате сравнительно медленные, то им даже крупная сетка сгодится.

Share this post


Link to post
Share on other sites

нужно было диффпару 100 ом протащить.

Потребовалось снизить жесткость слоя меди, чтобы не делать сплошной полигон загнал сетку по всем канонам, 1/16 длины волны.

Естественно загнал все в модель. Импеданс диффпары развалился.

Share this post


Link to post
Share on other sites
нужно было диффпару 100 ом протащить.

Потребовалось снизить жесткость слоя меди, чтобы не делать сплошной полигон загнал сетку по всем канонам, 1/16 длины волны.

Естественно загнал все в модель. Импеданс диффпары развалился.

 

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
То что Вы фундаментально подходите к этому вопросу - респект.

Но рискуете "запутаться в нулях".

Цитата

. . . . Программу написать не проблема, но вот погуглив увидел что у многих разработчиков возникает проблемма с зависанием МК.

. . . .

Для того, чтобы "сбить" контроллер с правильной программой в завес надо очень-очень постараться.

(естественно, при условии гарантированного и "чистого" от помех-наводок питания и отсутствия грубых ошибок

в схемотехнике и разводке платы, номиналах RC. Тотже узел ресета и выводов JTAG).

 

А вот "плюхи" в софте этому (глюк-завесам) очень даже способствуют. И большая часть из нагугленного -

возможно проблемы софта. А пока ищем настоящую причину - виноват сбойный процессор sm.gif

 

Так в этом и проблема. Я вот сам столкнулся с устройством на пик18, которое просто соеденено по rs485 с PLC. Так в PLC RS485 вообще гальванически развязан. Соеденено все это витой парой в экране, на плату приходит только 2 провода сигнала, экран подключен к заземлению на стороне PLC. И вот когда запускаются 3-х фазные двигатели и мощные потребители мк зависает, а со сторожевым таймером все ребутится. Сам мк не включает нагрузок вообще. Смущает только включение управляюших кнопок матрицой на растоянии в 30см от платы.

Читал я рекомендации от производителя по снижению тактовой частоты, меньше использовать прерывания, но там без прерываний никак, включены все таймеры и uart. Значит у STM32 выводы отладки необходимо подтягивать к +3.3В ?

И какие грубые ошибки можно допустить в программе, может я чего не знаю?

Edited by Krik99

Share this post


Link to post
Share on other sites
И вот когда запускаются 3-х фазные двигатели и мощные потребители мк зависает

Вполне стандатная ситуация.

Обсуждалась на этом форуме минимум несколько десятков раз.

Не решается общими рекомендациями.

Но начинать надо не с платы, а с точного чертежа с изображением всех подходящих к плате кабелей и их источников.

Бывает достаточно просто кое-где кое-что закоротить мимо платы.

Share this post


Link to post
Share on other sites
RS485 вообще гальванически развязан. СоедИнено все это витой парой в экране, на плату приходит только 2 провода сигнала, экран подключен к заземлению на стороне PLC.

ИМХО надо так

 

 

А вообще очень полезно прочитать апноты, много ценной информации можно найти

ESD.jpg

 

Share this post


Link to post
Share on other sites
ИМХО надо так

А вообще очень полезно прочитать апноты, много ценной информации можно найти

Я правельно понимаю что TVS диоды должны быть отдельно от платы? Такая схема с TVS есть на стороне PLC. И гальваническая развязка нужна на каждом устройстве подключенном к линии 485? Тогда что делать с тем что несколько устройств питаются от одного БП и фактически развязав линию RS485 сохраняем общую землю через питание. На сколько помню там использовали кабель специально предназначеный для rs485. Что делать с экраном кабеля?

Share this post


Link to post
Share on other sites
Так в этом и проблема. Я вот сам столкнулся с устройством на пик18, которое просто соеденено по rs485 с PLC.

. . .

1. Проверьте заменой систему питания платы контроллера (кстати, там блок питания на обычном трансе или импульсный ?)

Импульсный предпочтительней. Смотря какой конечно. Проверить желательно на какомнибудь Siemens-Sitop -

они "правильно" спроектированы и изготовлены, и из правильных деталей, и без оптимизации их количества.

2. Клавиатура работает опросом матрицы или выведена на прерывания ? В этом-конкретном случае использование апп.

перываний нежелательно и сомнительно. Если прописать обработчик "в тупую" то дребезг будет дергать вектор.

Ну и помехи естественно тоже.

3. Плата контроллера в металлическом экране или корпусе ?

4. Если ситуация со сбоем более-менее повторяемая (что есть очень хорошо, если повторяемая), то отловить демона будет несложно. Поставить под отладчик и дать "воздействие". Если на оборудовании подключиться нельзя, то снять контроллер

и в лаб. условиях добиться сбоя, с последующим его отловом.

5. По причинам

- плохая фильтрация-стабилизация по питанию.

- забытый вход порта с включенным прерыванием, но пустым вектором (это просто "влет" с гарантией)

(поэтому все векторы должны или содержать обработчик, или "заглушку" reti )

- проверить линии связи и "земли". Если контур земли что называетеся у электриков "отгорел" - то он САМ

становится источником-генератором помех (от всего, что на нем подключено).

. . . предназначеный для rs485. Что делать с экраном кабеля?

Экран кабеля (защитная земля) должен подключаться к клемме защитной земли на одной из сторон линии.

(чтобы в принципе не было возможности протекания по нему тока в штатном режиме из-за разности потенциалов "земель" разнесенных территориально, и соответственно запитанных по-разному устройств).

Если на PLC он подключен, то на противоположной дб неподключен.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this