Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита RS-485 от радиоизлучение + экранировка
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
drum1987
Доброго времени суток!

Разрабатываем радиостанцию 30-108 Мгц, 10 Вт.
Столкнулись с проблемой: зависает пульт управления, подключенный через витую пару(в которой так же идет питание 12 В) длиной 0,5 м при длине антенны 0,8 м.
немного подробностей:
Пульт - тупое устройство выводящее на дисплей видеобуфер и отправляющее в радиостанцию код нажатой клавиши.
Пульт виснет только в момент передачи.
В протоколе передачи из контроля ошибок только CRC.
Интерфейс: RS-485.
Драйвер: MAX3485 (напряжение 3,3 В).
Скорость: 230 Кбит/с.
Плата двухсторонняя...чую при трассировке на счет ЭМС не замарачивались.
Корпус: алюминиевый с прямоугольным вырезом под дисплей диагональю 65 мм. электрически ни с чем не соединен.

Схема разрабатывалась сторонней организацией которая похоже не очень напрягалась по этому поводу:

питание никак не фильтруется, а идет прямиком на LDO 5->3,3 В.
Ни растяжки, ни фильтров....

Что пробовали делать и наблюдения:
1) Похоже что виснет из-за интерфейса, потому как при укорочении провода до 3 см виснуть перестает(при этом пульт физически находится у основания антенны, поэтому эксперимент не корректен.
2) При касании земли пульта незаземленным осциллографом - виснуть перестает.
3) По эпюрам напряжений - ничего страшного нет (если надо перемерю и выложу).
4) Пробовали ставить RC фильтры на A и B на 10 МГц - не помогло
5) Пробовали ставить на кабель ферритовые кольца с больними потерями на ВЧ как совместно с пунктом 4, так и без него - не помогло.
6) фильтровали питание - не помогло.
7) Пока писал - понял, что растяжку не пробовали... smile3046.gif

Теперь настало время отказываться от услуг подрядчиков и делать все самим(не правда ли глупо сначала вбухать кучу денег чтоб родить урода, а потом самим опять переделывать...но это уже политика)
Посмотрел в интернете, поспрашивал коллег, и родилось несколько схем:
1 вариант:

Синфазный фильтр расчитан на подавление синфазной помехи на 40 дБ на частоте 30 МГц (как в реале будет не знаю).
Драйвер заменен на MAX3441 с питанием 5 В (Как я понял из даташита в нем внутри есть супрессоры). Питание повышено до 12 В, фильтруется через отдельный дроссель. 12->5 В конвертируется с помощью понижающего преобразователя.

Стоит ли замарачиваться с корпусом в качестве экрана(если стоит то как лучше его подключить) если плата теперь 4х слойная и Top и Bottom почти целиком - земляные полигоны, плата "прошита" переходными отверстиями:



2 вариант:

Теже яйца, только есть дроссель синфазный с сигнальными, и пропускающий через себя землю.

До настоящего момента подобные проблемы не решал, следовательно опыта нет совсем, так что сильно не пинайте.
Что можете посоветовать? Какое решение луче и что в нем нужно изменить/добавить? Как поступить с корпусом(экранированием)?

Пойду делать растяжку, о результатах отпишу.
Заранее благодарен за ответ, извините за многобукв...
bav
попробуйте
1. экранированный кабель
2. разъемы с металлическим корпусом. экран кабеля на корпус (соединение как можно короче)
Golikov A.
Прежде чем бросаться что-то пере разводить хорошо бы понять что ломается?.

Проведем анализ.

Пусть РС-458 сделан крайне плохо, и не работает.
На входе у него 2 ножки УАРТА, На выходе не приемном конце опять же 2 ножки УАРТА, и одна нога управления. Этот протокол туп до безобразия, и любое поведение входной ноги может быть интерпретировано как какие либо данные. Так же как любое поведение выходной ноги также просто создаст какие либо данные. Дерганье ножкой направления передачи, опять же может создать только колизии на линии передачи, то есть испортить данные.

Отсюда у меня вопрос: Каким образом плохо сделанный РС485 может вешать вашу схему?

поэтому копать надо в другую сторону.
1. Может у вас стоит кроме ЦРЦ еще контроль четности передачи, но не стоит обработка и отбраковка плохих байтов, с помехами приходят не верные байты и система виснет
2. Может у вас входной провод рс 485 в аппаратуре идет рядом с чем либо, и является просто антеной передавая помехи которые что-то вешают.
3. Может у вас микросхема с детектором ошибок на линии, тогда надо определить что ей не нравиться, какое состоянии линии может ее вырубать. Но опять же в этом случае не может виснуть ваша схема, может прекращаться обмен, но не более того.

Из ошибок приведенной первой схемы рс485 я вижу отсутствие сигнального заземления. Несмотря на диференциальность РС485, симфазная помеха на линии ограничена, потому хорошо бы
уровень земли приемника и передатчика сровнять, для этого прокладывают линию сигнального заземления с резисторами между приемником и передатчиком.

Для устранения ошибок, кабель заворачивают в экран, и через конденсаторы вешают на корпуса приборов, в 1 точке землят на прямую.

Схема 485 примитивна, и если не надо опто развязки то там реально не о чем парится, есть схемы снижения влияния помех, они тоже стандартны, но они направлены на улучшения качества передачи информации, то есть если их не применить будет передаваться пурга, а не будет зависать устройство. Проблемы зависания устройства решаются не на уровне протокола РС485, а на более высоком, так что ищите изначально ошибки управления и интерфейса, а уж потом чините рс485
ИМХО!


2 совета выданные выше, - борьба с симптомами, а не лечение заболевания. не советую успокаиваться если вдруг случайно они помогут.
bav
Цитата
2 совета выданные выше, - борьба с симптомами, а не лечение заболевания. не советую успокаиваться если вдруг случайно они помогут.

если зависание из-за протокола (вернее, не корректной работы программы при обнаружении ошибки), то соглашусь с Вами.
Golikov A.
других вариантов нет. Если нет ошибок монтажа микросхемы, грубых, то все остальное от нее не зависит.
bav
Цитата
других вариантов нет.

а зависание контроллера из-за помех?
Golikov A.
Тогда это не проблема 485.

bav
Цитата
Тогда это не проблема 485.

судя по написанному:
Цитата
Пульт виснет только в момент передачи.

проблема не в нем.

но проверить на софтовый баг тоже не плохо бы
drum1987
Спасибо за ответы!

Сегодня занимаюсь проработкой исходя из предложений, по резудбтату отпишу.
x83
Здравствуйте.

Несколько раз сталкивался с подобными эффектами.

1. В CB-радиостанции MejaJet MJ-555. Пульт управления вынесен в тангенту, и достаточно часто в момент передачи происходило зависание станции. Да и сама по себе, при прослушивании эфира периодический подвисала. На тот момент разбираться особо не стал, и просто заменили радейку на другую модель. Но беглое изучение ситуации показало, что провод от рации до тангенты используется совсем не экранированный. Питание на контроллер идет прямиком из провода, без стабилизаторов и фильтров.

2. Делали небольшое устройство, которое получало питание 12В по кабелю длиной метров 10, и там-же была витая пара для RS-485. Внутри корпуса датчик с обвязкой, контроллер и схемка питания на КРЕНке. Контроллер оцифровывал сигнал с дачика и передавал данные для верхнего уровня по 485ому интерфейсу.
Так вот, при испытаниях на реальном объекте столкнулись с тем, что сигнал с датчика сильно искажался при использовании служебной радиостанции обслуживающим персоналом.
Т.Е. в моменты передачи носимой радиостанции диапазона 160МГц, возникали ложные показания с прибора.

При разбирательстве на столе в лаборатории выяснили, что при использованнии носимой радейки P=5Вт-10Вт, в непосредственной близости от различных устройств возникают всякие интересные эффекты ))) В момент передачи происходи зависание и перезагрузка некоторых моделей УСБ-модемов, зависают и сбиваются конвертеры интерфейсов типа Moxa U-Port 1150 и т.п. Дают ложное срабатывание разные охранные датчики (объемники, разбития стекла).

Как оказалось в нашем устройстве, достаточно сильно "шумела" КРЕНка - пульсации были достаточно большими, а в моменты работы передачика станции возникала просадка на выходе. Так-же не совсем правильно был посчитан фильтр на ОУ - сигнал помехи на входе, давал достаточно сильное искажение выходного сигнала (т.к. Ку > 1000).
После устранения этих недочетов, влияние радиостанции на работу схемы снизилось до приемлемого уровня.

Ах да, с зависаниями контроллера сталкваться не приходилось. Питание изначально качественно разводми, используем бусинки типа BLMххх, защищаемся различных воздействий супрессорами и т.п.
drum1987
Отписываю по проделанной работе:

1) растяжка не помогла cranky.gif
2) осциллографом посмотрел - шумы на линиях данных не превышают 10% от общего уровня.(скрин к сожалению не снял)
3) экранирование самого пульта(засунул его в жестяной ящик с дыркой для провода) не помогло...продолжает виснуть
Примечательно то, что посылки от радиостанции в пульт перестают идти, хотя товарищи писавшие протокол(опять же из сторонней организации) говорять что согласно их программной реализации радиостанция тупо шлет посылки не ждя ответа и прочих подтвержданий...

Цитата(bav @ Jan 24 2013, 17:23) *
попробуйте
1. экранированный кабель
2. разъемы с металлическим корпусом. экран кабеля на корпус (соединение как можно короче)


Сейчас все именно так и сделано...


Цитата(Golikov A. @ Jan 24 2013, 18:56) *
Прежде чем бросаться что-то пере разводить хорошо бы понять что ломается?.

Отсюда у меня вопрос: Каким образом плохо сделанный РС485 может вешать вашу схему?

поэтому копать надо в другую сторону.
1. Может у вас стоит кроме ЦРЦ еще контроль четности передачи, но не стоит обработка и отбраковка плохих байтов, с помехами приходят не верные байты и система виснет
2. Может у вас входной провод рс 485 в аппаратуре идет рядом с чем либо, и является просто антеной передавая помехи которые что-то вешают.
3. Может у вас микросхема с детектором ошибок на линии, тогда надо определить что ей не нравиться, какое состоянии линии может ее вырубать. Но опять же в этом случае не может виснуть ваша схема, может прекращаться обмен, но не более того.

Из ошибок приведенной первой схемы рс485 я вижу отсутствие сигнального заземления. Несмотря на диференциальность РС485, симфазная помеха на линии ограничена, потому хорошо бы
уровень земли приемника и передатчика сровнять, для этого прокладывают линию сигнального заземления с резисторами между приемником и передатчиком.

Для устранения ошибок, кабель заворачивают в экран, и через конденсаторы вешают на корпуса приборов, в 1 точке землят на прямую.


Честно говоря, я не могу сказать повисло устройство или нет...ПО для пульта писал не я, и возможности мониторить состояние МК там не предусмотрено. Из видимого просто замирает картинка на дисплее(но так как этот видеобуфер целиком получен из RS-485 и тупо выведен) но это не дает оснований считать что МК повис...он может и работает, а вот данные не идут.

Интересна мысль про микросхему с детектором ошибок на линии...как узнать у меня с детектором или нет(в даташите это как называется)?

По первой схеме забыл добавить, что InGND (входная земля) и GND (земля пульта) соединяются друг с другом в месте крепления к корпусу винтом (в 3 см от места впайки разъема).

Про экранирование читал здесь http://www.bookasutp.ru/Chapter3_5.aspx#ShieldingMethods . Написано что через конденсатор и в одной точке заземляют когда частоты помех до 1 МГц, а для более ВЧ помех. заземление делается напрямую во многих точках. Может там и не правильно?

Цитата(x83 @ Jan 27 2013, 21:42) *
Здравствуйте.

Несколько раз сталкивался с подобными эффектами.

1. В CB-радиостанции MejaJet MJ-555. Пульт управления вынесен в тангенту, и достаточно часто в момент передачи происходило зависание станции. Да и сама по себе, при прослушивании эфира периодический подвисала. На тот момент разбираться особо не стал, и просто заменили радейку на другую модель. Но беглое изучение ситуации показало, что провод от рации до тангенты используется совсем не экранированный. Питание на контроллер идет прямиком из провода, без стабилизаторов и фильтров.

2. Делали небольшое устройство, которое получало питание 12В по кабелю длиной метров 10, и там-же была витая пара для RS-485. Внутри корпуса датчик с обвязкой, контроллер и схемка питания на КРЕНке. Контроллер оцифровывал сигнал с дачика и передавал данные для верхнего уровня по 485ому интерфейсу.
Так вот, при испытаниях на реальном объекте столкнулись с тем, что сигнал с датчика сильно искажался при использовании служебной радиостанции обслуживающим персоналом.
Т.Е. в моменты передачи носимой радиостанции диапазона 160МГц, возникали ложные показания с прибора.

При разбирательстве на столе в лаборатории выяснили, что при использованнии носимой радейки P=5Вт-10Вт, в непосредственной близости от различных устройств возникают всякие интересные эффекты ))) В момент передачи происходи зависание и перезагрузка некоторых моделей УСБ-модемов, зависают и сбиваются конвертеры интерфейсов типа Moxa U-Port 1150 и т.п. Дают ложное срабатывание разные охранные датчики (объемники, разбития стекла).

Как оказалось в нашем устройстве, достаточно сильно "шумела" КРЕНка - пульсации были достаточно большими, а в моменты работы передачика станции возникала просадка на выходе. Так-же не совсем правильно был посчитан фильтр на ОУ - сигнал помехи на входе, давал достаточно сильное искажение выходного сигнала (т.к. Ку > 1000).
После устранения этих недочетов, влияние радиостанции на работу схемы снизилось до приемлемого уровня.

Ах да, с зависаниями контроллера сталкваться не приходилось. Питание изначально качественно разводми, используем бусинки типа BLMххх, защищаемся различных воздействий супрессорами и т.п.


У нас очень похожая ситуация...сегодня более детально изучу вопрос питания. А какую КРЕНку использовали до и после?
Ruslan1
если это не проблема питания (скажем, просад питания и незапланированный сброс устройства в неинициализированное состояние), то это проблемы софта: при любой ошибке в канале связи устройство работает некорректно.
То есть Вы не с той стороны борьбу начали.
1. Выясните у разработчиков программного обеспечения пульта, что происходит если принята непонятная команда (и контролируют ли они это вообще)
2. Выясните у разрабоччиков ПО центрального мозга: что происходит если от пульта получены непонятные данные или не получено подтверждение после передачи.

Я видел достаточно много разработчиков софта, которые:
1. Вообще не думают о существовании ошибок в линии связи. То есть не контролируют валидность информации вообще. Даже если сторонняя викросхема передает это поле в пакете, то ничего не проверяется.
2. Производят неполную разборку кода команды, а действуют по принципу "если ждем два кода, и это не первый, то значит это второй", не допуская возможности, что вместо "первого" может передаваться не "второй", а мусор.
3. Просто не думают и не планируют поведение устройства в случае возникновения нештатной ситуации (возникают бесконечные циклы ожидания потерянного байта, например).

Про мусор и оптимизацию усилий: как-то разрабатывал в прибор плату, на которой линии связи шины SPI нагребали очень много помех, настолько много, что присоединенные АЦП воспринимали это иногда как команду на инициализацию (У Аналог девайса есть фича- ресетнуться если много клоков висит 1 на приемной ноге). Переходу на многослойку и усложненную схемотехнику с применением другого корпуса предпочли программный контроль валидности всех управляющих регистров АЦП перед каждым преобразованием и после него. Работает безупречно, а сколько финансовых ресурсов было сэкономлено- приятно вспомнить (кой-что в виде премии досталось sm.gif
Golikov A.
http://mayak-bit.narod.ru/rs485.html

вот неплохо про РС485, там и про детекцию ошибок есть и про защиту от помех.

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

Думаю система правда не виснет, а просто перестает передавать... а скорее принимать, надо тех кто софт писал мучить, пусть держат ответ. Хотя при просадке питания может и правда подвисать... Один раз была такая фигня: прибор с батарейным питанием, имел напряжение ресета 4.5, а к нему был подключен ЛСД экран с напряжением работы 4.2, если питание попадало в 4.3 вольта, проц ресетился, а ЛСД не погасал, в результате программа стоит, а на ЛСД данные, точь точь будто все повисло.... А главное тыкаешь на кнопку выключения питания (она программная была), а ничего не происходит...

x83
Цитата(drum1987 @ Jan 29 2013, 10:21) *
У нас очень похожая ситуация...сегодня более детально изучу вопрос питания. А какую КРЕНку использовали до и после?


Изначально, в макет устройства поставили отечественную 142ЕН5А (найденную где-то в столах) - она-то и давала большие пусации при работе радейки, несмотря на обязательные типовые кондеры по входу и выходу. После замены на LDO от STM проблема возбуждения ушла.
Напомню, что основная проблема у нас была с помехами по аналоговым входным сигналам (микровольты на входе операционника давали ощутимые милливольтовые искажения на выходе).

Т.к. Соединительный кабель это и есть основная антенна, и путь проникновения помех в устройство - пришлось принимать ряд мер, по снижению этого влияния:

- установили синфазный дроссель (продольный трансформатор) как в линию питания, так и в линию RS-485 (брали из номенклатуры Murata);
- Так-же входные цепи защитили супрессорами из серии SMBJxxCA;
- Цепи питания контроллера, операционника и драйвера линии поставили бусинки из серии BLM21xxxx (они как-раз эффективны в диапазоне сотен МГц).



drum1987
Извините, что долго не писал, отписываю о результатах:

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

Всем спасибо за ответы, плату пока оставил по варианту 2, но у долей универсализма для переходна на вариант 1 с корректировками согласно совету Golikov A.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.