Перейти к содержанию
    

1. Блок питания один для 3-х плат и он импульсный.

2. Клавиатура работает без прерываний по внешнему сигналу, хотя обработка присходит в прерывании таймера развертки 7-ми сегметного дисплея. Клавиатура скрещена с дисплеем.

3. Плата в металическом щите, типа мелкого электрошкафа.

4. Ситуация повторяется но спровацировать зависание очень сложно.

5. Пишу на Си. Это мне нужно во все регистры разрешения прерываний загнать состояние "прерывания запрещены"?

Я правельно понял, что TVS диод очень эфективен против наносекундных помех с большой амплитудой?

На той плате использована схема драйвера rs485 порта со смещением и без TVS диодов

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В первую очередь нужно сделать гальваническую развязку силовых цепей от цепей MCU.

Если её нет то даже разговора о помехоустойчивости МК не стоит заводить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Re

(1) замените блок питания как я Вам рекомендовал. Вполне возможно что при включении идет просадка по сети (или выброс, уж не знаю) и на выходе БП появляется провал в доли секунды. Запитайте БП от другой линии (без мощных нагрузок)

Ваш БП имеет "земляной" провод ?

(2) (3) норм.

(4) Вы себя недооцениваете.

(5) Просто проверьте, что все открытые на прерывания порты обеспечены векторами. Этоже касается и встроенной периферии. (к примеру, USART настроен на генерацию прерывания по приему, а вектор отсутствует).

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

За наносекунды и TVS не знаю. Также непонятно что означает "rs485 порта со смещением".

Это в смысле согласующие резисторы ?

В первую очередь нужно сделать гальваническую развязку силовых цепей от цепей MCU.

Если её нет то даже разговора о помехоустойчивости МК не стоит заводить

Это, как-бы, аксиома.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ОК. Я сейчас всех уже подзапутал :wacko: и сам тоже. Но надо было начать с этого. Есть щитовая в котоой установлен PLC и вся силовая часть (реле, пускатели) и тут же стоит ИБП который питает те самые МК. К щитовой подходит стандартный силовой кабель на 3 фазы. Земля ПЛК (у него внутри БП) и ИБП соеденены на землю щита. Передача данных и питания осуществляется разными проводами. При чем от этого же питания запитаны промышленные датчики на стороне МК, которые из защиты имеют только TVS и дросель. И в итоге МК зависает намертво, а датчикам норм.

В чем вопрос. На сколько будет эфективна гальваническая развязка 485 при общем питании устройств? Может идея с питанием и не очень, но B&R в своих ПЛК используют схему с общим БП без проблем.

IMG_20171109_0923251.jpg

(синий и оранжевый это типа "А" и "В" линии)

При этом проблемма именно не с потерей данных, а именно с зависанием МК. Если с матричной клавиатурой норм (смущает что линии МК обвязаны только резисторами на 4к7 к земле), то необходима разработка нового устройства, так как изменить нужно все.

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

i2c ... правильно ли:

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

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

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

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

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

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

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

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

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

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

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

0) мертворождённый I2C соответственно прихватит в иной мир и любую промавтоматику

1) да

2) не просто да, а у него наивысший приоритет, это написано в любой бумаге к любой ИС жирным шрифтом

3) да

4) да

5) нет, на любую внешнюю линию нужен обязательно ограничитель, либо два, либо три и т.д., а ещё дополнительно варистор, либо два, либо три, и т.д., а ещё дополнительно газовый разрядник, либо такой же с замыкателем — всё зависит от энергии помехи, которую должна поглотить вся эта цепь защиты

6) да

7) сказка, см. п.5, а конкретные резисторы следуют из всё тех же бумажек к любым ИС, когда указан предельный ток их входов

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 диоды сигнальных линий должны быть соеденены именно на корпус устройства.

1) само собой общий неразрывен, и где ж такое советуют-то

2) нет, всё разводится звездой — луч (шина) от грязного преобразователя до её центра, а от него шина до цифровой схемы, шина до аналоговой, шина до силовой, и т.д.

3) это внешние сигналы, их требуется выводить с полной защитой, т.е. от КЗ, от своего и чужого перенапряжения, от непрямого удара молнии, и т.д., и никакой предохранитель не спасёт голый транзистор

4) имеется ввиду всё та же разводка звездой

5) см. пункты выше

6) заземляется всегда центр звезды, обычно на платах для этого завальцована и/или припаяна стойка

7) нет, это сказки

8) как сказано выше, помехи отводятся шиной (лучом) звезды, именуемым "защитный общий провод", он должен быть отдельно разведён такой же сплошной медью; про оптопары всё та же сказка — они, и вообще любые изоляторы, изолируют только НЧ, т.е. постоянные потенциалы, все подключения любых выводов оптопар к любым выводам ИС требуют такой же внешней защиты, как описана выше, т.е. ограничителей и резисторов

9) этот экран подключается на развязанный общий провод, и все те компоненты, которые сделали возможной такую разность потенциалов между ним и защитным общим проводом, т.е. эмаль проводов трансформатора преобразователя напряжения, его межобмоточная жёлтая трансформаторная лента, гель оптронов, материалы ПП, и т.д., требуется защитить от указанного для каждого из них их производителями перенапряжения всё теми же либо ограничителем(ями), либо и/или варистором(ами), либо и/или газовым разрядником

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ОК. Я сейчас всех уже подзапутал :wacko: и сам тоже.

У Вас наверное петли в кабели. Поэтому переменное магнитное поле наводит ЭДС

Изменено пользователем Herz
Избыточное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Земля ПЛК (у него внутри БП) и ИБП соеденены на землю щита. Передача данных и питания осуществляется разными проводами. При чем от этого же питания запитаны промышленные датчики на стороне МК, которые из защиты имеют только TVS и дросель. И в итоге МК зависает намертво, а датчикам норм.

В чем вопрос. На сколько будет эфективна гальваническая развязка 485 при общем питании устройств?

 

По питанию все они гальванически связаны. Но кроме питания есть еще входы-выходы (что включает и интерфейсы). И вот из всех входов-выходов вам хочется развязать только RS485. А никакие другие почему-то не хочется. Наверное, RS485 выбран потому, что "все так делают"? И вообще ни о чем кроме гальв. развязки не упоминаете, как будто это единственное средство и панацея от всего (именно так, судя по всему, думает незабвенный "Николай Семёнович" B) ).

 

А вы догадываетесь, почему МК зависает? Что-то я в этом сомневаюсь...

 

У Вас наверное петли в кабели. Поэтому переменное магнитное поле наводит ЭДС

Вероятность, что это может привести к зависаниям МК, исчезающе мала.

 

7) сказка, см. п.5,

У оптрона есть проходная емкость. Или это сказка? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вероятность, что это может привести к зависаниям МК, исчезающе мала.

Ага. То то во всех рекомендациях по трассировке плат рекомендуют избегать петель.

Хотя какие-то там петли. Максимум 10 см в диаметре.

И то.

 

А в кабеле петли могут быть в диаметре 10 метров и более. И при этом они никак не сказываются на работоспособности. Ага :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я правельно понимаю что TVS диоды должны быть отдельно от платы?

Нет, зачем аж так! На плате у выходного разъема

Такая схема с TVS есть на стороне PLC. И гальваническая развязка нужна на каждом устройстве подключенном к линии 485?

Да

Тогда что делать с тем что несколько устройств питаются от одного БП и фактически развязав линию RS485 сохраняем общую землю через питание.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага. То то во всех рекомендациях по трассировке плат рекомендуют избегать петель.

Рекомендации представьте, ссылки или цитаты с указанием источников. Хотелось бы посмотреть, связаны они с помехами или с чем-то иным.

 

А в кабеле петли могут быть в диаметре 10 метров и более. И при этом они никак не сказываются на работоспособности.

Повторяю: микроконтроллер от этого не зависнет. Сигнал может испортиться, это да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но кроме питания есть еще входы-выходы (что включает и интерфейсы). И вот из всех входов-выходов вам хочется развязать только RS485. А никакие другие почему-то не хочется.

Согласен.

Скорее всего датчики, а именно их земля и есть основная проблема. Они, кстати, не изображены почему-то.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

1) На первом месте - проблемы с питанием МК. Просадки и подъемы напряжения питания, в том числе, очень кратковременные, импульсные (порядка 1мкс и менее). На них может срабатывать встроенный детектор пониженного/повышенного напряжения питания в МК, что приводит к его сбросу. На очень короткие, наносекундные выбросы детектор может не срабатывать, но от этого не легче. Если эти импульсы ("иголки") выходят по амплитуде за разрешенный диапазон питания, то их постоянное воздействие может, со временем, привести к выходу МК из строя. Да и остальным компонентам схемы это, как минимум, не полезно. Лечится все это фильтрами на питании, правильной разводкой питания и земли, разделением цифровой и аналоговой земли при разводке. В тяжелых случаях - гальванической развязкой цифровой и аналоговой (силовой) части схемы.

 

2) Наводки на специальные служебные выводы МК, которые используются для аппаратного сброса, перехода в режимы программирования, отладки и т.п. Даже короткие импульсные помехи на таких выводах могут легко перевести ваш МК в режим сброса или какой-то специальный режим (программирования, отладки), что будет восприниматься вами как "зависание". Рецепт здесь простой - уделять должное внимание таким выводам при разработке схемы, фиксировать уровни на них аппаратным и/или программным способом, защищать от помех. И, уж, ни в коем случае не бросать эти выводы никуда не подключенными, в третьем состоянии, понадеявшись на встроенные "подтяжки" (если они есть).

 

3) Нужно обязательно рассматривать и анализировать не только рабочие режимы устройства, но и, отдельно, процессы включения и выключения устройства (подачи/снятия питания). МК, в отличие от многих других элементов схемы, приходит в рабочее состояние не сразу после появления нужного уровня питания, а с некоторой задержкой - от нескольких микросекунд до десятков миллисекунд, в отдельных случаях. А после отключения питания прекращает работу первым - по снижению питания ниже разрешенного уровня. До и после - МК находится в состоянии сброса, хотя напряжение на схеме уже (или еще) есть. И все это время ваша схема остается без управления МК, в том числе и ее силовая часть.

 

4) Для многих МК является критичной скорость нарастания напряжения питания при включении. Этот параметр стоит поискать в даташите. Слишком медленное (или слишком быстрое) нарастание напряжения питания может привести к тому, что МК не стартует, остается в состоянии сброса. Это актуально, когда, например, на питании стоят электролиты большой емкости. Лечится специальными отдельными схемами сброса.

 

5) Паразитное питание МК через защитные диоды входов/выходов, подключенных к внешним датчикам или интерфейсам устройства. Они могут иметь отдельное питание, либо оно может появляться раньше, а пропадать позже, чем основное питание МК. В результате, МК может попытаться стартовать раньше времени, или попытаться продолжить работу после отключения основного питания за счет этой паразитной запитки. В частности, паразитная запитка может "испортить" нужную скорость нарастания напряжения питания при старте. Лечится правильной схемотехникой. Главное не забывать по эту возможную проблему.

 

----

P.S. Пока все, что удалось вспомнить.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мертворождённый I2C соответственно прихватит в иной мир и любую промавтоматику

А как тогда с внешними eeprom и rtc быть?

Согласен.

Скорее всего датчики, а именно их земля и есть основная проблема. Они, кстати, не изображены почему-то.

Датчик питается от наплатного 7812 и выдает колисчетво импульсов по одному сигнальному проводу (длина импульса ~50мс). Всё это в 15 см от платы. Есть 7-ми сегментный индикатор и матричная клавиатура. Из входов\выходов, это все.

5) нет, на любую внешнюю линию нужен обязательно ограничитель, либо два, либо три и т.д., а ещё дополнительно варистор, либо два, либо три, и т.д., а ещё дополнительно газовый разрядник, либо такой же с замыкателем — всё зависит от энергии помехи, которую должна поглотить вся эта цепь защиты

Тоесть если у меня выход это нормально открытая група контактов реле, то мне нужно ставить кроме предохранителя еще и варистор на этот выход?

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть 7-ми сегментный индикатор и матричная клавиатура.

А они как далеко расположены и от чего питаются?

 

Главный вопрос - как их земли подключены к плате? В одной точке? В той самой точке, где на плату приходит питание?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Датчик питается от наплатного 7812 и выдает колисчетво импульсов по одному сигнальному проводу (длина импульса ~50мс). Всё это в 15 см от платы. Есть 7-ми сегментный индикатор и матричная клавиатура. Из входов\выходов, это все.

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

Сохраняйте в EEPROM информацию из регистра PCON0. Вообще посматривайте чаще туда, много о чем может сказать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...