Сброс / зависание Arduino из-за искр в линии переменного тока


15

Это дизайн PCB проекта, над которым я недавно работал (мой первый дизайн PCB). Макет печатной платы

Идея состоит в том, чтобы управлять устройствами переменного тока (вентиляторы, лампочки и т. Д.) Без реле. Я использую триаки, которые лучше, чем реле для таких приложений. Я использую оптоизоляторы для полной изоляции от линий переменного тока. Я попытался запустить Arduino, используя USB-кабель, подключенный к моему ноутбуку (с отключенным зарядным устройством), а также настенный адаптер (12 В).

Сначала схема, казалось, работала нормально. Мне удалось выгрузить код в контроллер и управлять лампами (вкл / выкл, а также затемнять их) с помощью UART. Я отправил команды через UART. Однако, кажется, что всякий раз, когда на линиях переменного тока возникает искра (когда я подключаю / выключаю вентилятор), микроконтроллер не выглядит счастливым. Иногда он сбрасывается (что является лучшей частью картинки), а иногда зависает, и я не могу отправлять команды через UART. Я не уверен, затрагивается ли сожженный код, но иногда мне приходилось перезагружать код. Если я включу / выключу вентилятор в другой комнате, эффект не будет.

Возможные проблемы:

1) Отсутствие заземления на печатной плате.

2) Какой-то EMI из-за искр.

Я также попытался подключить водонагреватель (резистивная нагрузка 800 Вт) так же, как вентилятор, но ничего не произошло. Итак, я думаю, что это индуктивная нагрузка, которая создает проблемы.

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

Благодарю.


2
Да, это индуктивная нагрузка. Вам нужен демпфер и / или MOV (или двунаправленный диод TVS) для подавления индуктивного всплеска. Обычно размещается параллельно с нагрузкой. Улучшенная компоновка печатной платы может помочь минимизировать эффекты. См. Electronics.stackexchange.com/q/101815/25328 для аналогичного вопроса, хотя эта плата использует реле.
Тута

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

Это может или не может помочь, но вы можете попробовать добавить таймер сторожевой собаки в вашу программу Arduino.
Ось

@Tut - Спасибо за все ваши предложения. Я прочитал ссылку, которую вы разместили. Я пытаюсь реализовать их в моей следующей печатной плате. Прежде чем приступить к производству, опубликуйте макет платы, чтобы вы, ребята, могли предоставить некоторую обратную связь и указать на ошибки / исправления.
вискиджек

Ответы:


11

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

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

У вас большая доска с небольшим количеством компонентов и большим шагом штифта, поэтому маршрутизация большинства трасс на верхнем слое должна быть довольно простой. Иногда вам придется переходить на нижний слой, потому что в целом схема не может быть проложена в одной плоскости. Тем не менее, вы можете держать следы на нижнем слое короткими. Считайте их «перемычками», достаточно длинными, чтобы соединить две дорожки на верхнем слое, которые иначе невозможно соединить в плоскости. Мера земной плоскости - это не количество островов, а самый длинный размер любого острова. Держите перемычки короткими и отсоединенными.

Тем не менее, вы обязательно должны установить защитную крышку на каждый источник питания для каждой микросхемы. Это должны быть маленькие керамические колпачки, физически расположенные близко к ИС, а общие петли должны быть как можно меньше. 1 мкФ 0805 - это правильно. Мало того, что они будут дешевле и лучше, чем эквивалентные заглушки через отверстия, но и паять будет легче.

Так как источник постоянного тока поступает из других мест и, следовательно, его сопротивление является подозрительным, наденьте электролитический колпачок приличного размера прямо туда, где питание поступает на плату. Несколько 100 мкФ должны сделать это.


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

1
@ user3455594 Не оставляйте эти байпасные конденсаторы, особенно на Arduino.
Тута

@ Olin - Какие меры вы предлагаете для защиты симисторов от скачков напряжения при каждом включении или выключении устройства? После некоторого прочтения я обнаружил, что демпферы используются чаще всего для подавления входящих всплесков. Однако основное использование демпфера было связано с предотвращением ложного срабатывания симистора, а не защиты симистором. MOV это еще один вариант. Что вы думаете об этом? Перейдите по этой ссылке для ссылки на мой вариант использования.
Вискиджек

20

Вы должны уважать вашу изоляцию напряжения. Способ размещения (и прокладки) резисторов R16, R13, R10, R2, R31 и R4 нарушает изоляционный барьер, создаваемый вашими оптоизоляторами. Ниже я пометил ваш существующий макет с вашим путем изоляции, который довольно плох:

введите описание изображения здесь

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

введите описание изображения здесь


Это будет полезно и может помочь, но действительно ли вы считаете, что это является источником проблемы, и что это решение полностью решит ее?
Адам Дэвис

1
@ AdamDavis Нет, я не могу гарантировать, что это единственная причина проблем. На самом деле, к советам Олина и Энди обязательно нужно прислушаться. Тем не менее, это важный вопрос безопасности, и я также вижу, что неидеальная сборка еще больше усугубляет проблему.
W5VO

@ W5VO - я сделал другой макет . Можете ли вы увидеть его один раз и дать свои ценные предложения? Заранее спасибо.
Вискиджек

6

Земной самолет, наземный самолет, наземный самолет и очень мало оправданий. Посмотрите, как вы могли бы сделать много этой печатной платы: -

введите описание изображения здесь

Я потратил около 5 минут, отмечая (ярко-красным) синие дорожки, которые могли быть красными практически без какой-либо работы мозга.

Я бы это пересмотрел и начал бы заново.


4
@kolosy Мы все начинаем где-то, и мы все сделали плохие макеты при первом запуске. Это лучший бесплатный совет, который получит ОП, и если вы считаете, что я неоправданно груб, тогда, настаиваю, пометьте этот ответ модераторам.
Энди ака

1
Спасибо Энди. Я уже положил наземную плоскость во второй дизайн. Как вы думаете, это единственная проблема? PS - Я не нашел ваш ответ резким в любом случае. Я ценю вашу помощь.
Вискиджек

4
@kolosy Честно говоря, я не думаю, что ответ оскорбительный (и это может быть потому, что я согласен с вердиктом Энди).
W5VO

1
@kolosy: Энди говорит так, как есть, и это то, что ОП должно услышать в четких выражениях. И да, я тоже согласен с его вердиктом.
Олин Латроп

3
@Андяка, может быть, это говорит о том, что есть, но я не вижу смысла в том, чтобы вводить «никаких оправданий» и «едва ли какую-либо работу мозга». Что очевидно и безмозгло для вас, не для людей, только начинающих.
Колосы

2

По моему опыту, установка и сброс линий, триггеров и других схем очень чувствительны к "электрическим помехам". Лучший практический способ избежать непредсказуемого поведения схемы - это разъединить линии питания на каждом чипе соответствующими конденсаторами. Кроме того, стробирование / включение входных линий с тактовым сигналом уменьшит возможность «переходных процессов» влиять на схемы.


Я не понял последнюю строчку. Не могли бы вы уточнить? Спасибо за ответ.
Вискиджек

1

когда я работал над проектом управления нагрузкой на основе DTMF, я обнаружил ту же проблему с нагрузкой переменного тока. Без нагрузки переменного тока схема 80-микроконтроллера работает нормально. Когда я включаю нагрузку переменного тока, вся цепь ведет себя по-разному, когда я включаю / выключаю нагрузку переменного тока через цепь реле. Позже я обнаружил, что земля на плате 8051 не очень хорошая. Наконец, я заменяю старую плату микроконтроллера 8051 на новую плату микроконтроллера 8051 с хорошим заземлением. Теперь работает нормально. Поэтому я подумал, что ваша печатная плата должна иметь хорошую основу.


Это была именно проблема. Ну, я только начал работу в то время, и я ничего не знал о хорошей компоновке печатной платы, грунтовке, изоляции и т. Д. Эта ошибка давно исправлена, но спасибо за ответ. Я надеюсь, что это послужит хорошим ориентиром для людей, борющихся с подобной проблемой. (+1).
Вискиджек
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.