PIC16F628A Сброс после выключения реле

У меня проблемы с управлением реле с нагрузкой на него. Я использую PIC16F628A. Проблема следующая: Реле имеет нагрузку. Сначала выключен. Когда выход микроконтроллера включен, реле также включается. Когда реле необходимо отключить, выход микроконтроллера выключен. Но когда это происходит, микроконтроллер перезагружается.

РЕДАКТИРОВАТЬ: нагрузка 220AC. Пытаюсь управлять звонком.

Обратите внимание, что при отсутствии нагрузки команда реле работает полностью, без сброса микроконтроллера.

Вот схемы и печатная плата из проекта.

Схемы

печатная плата

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

EDIT2: Дизайн печатной платы был обновлен, как было предложено. Обновленные схемы и печатная плата:Схемы печатная плата

Еще одна полезная информация: не могли бы вы поделиться таблицей данных используемого реле?
@JonL Я не смог найти техническое описание реле. Вот некоторые характеристики 10А/24В постоянного тока, 10А/120В переменного тока, 50/60Гц 10А/24В постоянного тока, 10А/240В переменного тока. ССЫЛКА Вот как это выглядит.

Ответы (6)

Я собирался только прокомментировать, но обнаружил, что могу сказать слишком много:

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

Нагрузка 220AC. Пытаюсь управлять звонком.

Обратите внимание, что при отсутствии нагрузки команда реле работает полностью, без сброса микроконтроллера.

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

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

Размещение выводов питания/земли на PIC немного затруднительно для обеспечения короткого пути к развязывающему конденсатору без прокладки дорожек между контактными площадками (могут потребоваться более длинные и тонкие контактные площадки) или размещения развязывающего конденсатора на задней стороне.

Вы можете «приклеить» развязывающий конденсатор к существующей плате, обрезав провода накоротко и либо припаяв его непосредственно к контактам питания/земли PIC в верхней части PIC, либо припаяв его к контактным площадкам на стороне пайки на плате.

Еще несколько несвязанных комментариев по поводу разводки платы. Поскольку P1 и P2 находятся под напряжением 220 В переменного тока, изолируйте их от одной области платы без каких-либо других следов (даже плоскости заземления) даже близко. См. Путь утечки для печатных плат, работающих с линейным напряжением переменного тока? ... Я бы также не стал ставить переключатели слишком близко к сети переменного тока, так как там будут пальцы. Также рассмотрите возможность добавления нескольких монтажных отверстий на плате.

Я бы сказал, устраните проблему, а затем добавьте демпфер / MOV в качестве страховки. С возрастом контакты будут становиться все более рваными, а демпфер станет менее эффективным.
@SpehroPefhany Боюсь, я вынужден не согласиться. Демпфер и/или варистор не следует рассматривать как необязательные, чем обратный диод для переключения индуктивных нагрузок постоянного тока. Помимо проблемы сброса, без подавления всплеска возникнет дополнительное искрение на контактах реле, что сократит срок службы реле.
Хорошо. Я только что видел много случаев, когда полевой специалист прикреплял MOV или R+C к катушке и уходил только для того, чтобы проблема возвращалась (за большие деньги).
Как я уже сказал, здесь есть несколько проблем, и все они должны быть исправлены. Тот факт, что после добавления демпфера (или MOV) все еще возникают проблемы, не означает, что они не нужны.
Да, согласен. Поскольку шум варьируется в зависимости от того, где в цикле переключается реле, может потребоваться много испытаний.
Я не могу добавить демпфер параллельно нагрузке. Означает ли это, что мне придется включать в схему по 2 демпфера на каждый контакт?
@Triak В техническом описании Red Lion SNUB0000 указано, что, хотя это и не предпочтительный метод, вы можете поместить демпфер через контакты (один демпфер от P1 до P2).
@ Я читал это, но у меня нет доступа к звонку. РЕДАКТИРОВАТЬ: мне нужно использовать те же значения R и C из таблицы данных, верно?
@Triak Как я уже сказал, если вы не можете разместить его на нагрузке, поместите демпфер от P1 до P2. Значения обычно не критичны и действительно зависят от нагрузки. Для большего, чем вам, вероятно, нужно знать :-) см. Как спроектировать RC-демпфер для соленоидного реле, управляющего индуктивной нагрузкой?
@Tut я изменю C9 на 0,1 мкФ / 400 В < или больше

Ваша компоновка не очень хороша (в частности, путь Vcc длинный, тонкий и индуктивный), и это худшее реле, которое вы можете выбрать (однако оно самое дешевое). Лучшее реле с высокой изоляцией (желательно с неподдельными европейскими допусками), заливкой земли и полигона Vcc (у ​​вас есть Altium, это очень хорошая и дорогая программа, вы должны использовать эти функции), и управление реле от нерегулируемого ввод все поможет.

PIC довольно нечувствительны к плохому обращению, но они не волшебники.

Вы можете попробовать подавить шум на (предположительно, хотя бы несколько индуктивной) нагрузке с помощью демпфера или MOV, но это временное решение, и проблема, вероятно, каким-то образом вернется.

Добавьте конденсатор 0,1u рядом с контактом 14. Подсоедините порт A5 (контакт 4) к Vdd.

У меня MCLR выключен.
Вы должны посмотреть на бортовую линию питания постоянного тока (C1 плюс контакт) с помощью осциллографа в момент выключения реле. Я предполагаю, что отключение нагрузки от линии переменного тока создает в ней помехи, и эти помехи передаются непосредственно на источник питания вашего MC, вызывая сброс вашего MC.
И еще пара моментов о разводке вашей печатной платы: - вы должны быть уверены, что все ваши полигоны GND соединены друг с другом - сейчас ребро R8 GND парит в воздухе. - поверните P1-6 на 180 градусов - это позволит вам разместить линию VDD как можно дальше от входной цепи постоянного тока.

Когда я учился, у меня была та же проблема, с которой вы столкнулись сейчас. И я решил это после многих неудач. Решение вашей проблемы будет следующим:

  1. Первое, что вам нужно сделать, это поставить керамический конденсатор емкостью 0,1 мкФ как можно ближе к выводу питания вашего микроконтроллера. Этот колпачок удалит все высокочастотные шумы до того, как они достигнут микроконтроллера.

  2. Если вы принимаете какие-либо входные данные из внешней среды, такие как вход датчика, интерфейс переключения через длинный провод или любой другой вход, кроме нежелательного высокочастотного шума, который будет введен в провод или клемму, когда возникает искра реле или происходит любое другое переключение. Вы ДОЛЖНЫ удалить его всегда, иначе проблема со сбросом будет продолжаться.

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

Это удалит все шумы из вашей схемы, и она будет нормально функционировать.

LMAO @ 'удалить все высокочастотные шумы' ! Надежда умирает !

НО .. На самом деле вы не задаете вопрос, но его легко сделать! В строках ... «как мне это исправить?»

Поскольку вы хотите переключать 220 В переменного тока, почему бы не использовать SSR с нулевым перекрестным переключением вместо реле? Никаких контактов, никакой дуги, почти никакого шума!

Десятилетия назад я столкнулся с похожей проблемой. Дурацкая конструкция печатной платы была унаследована от бывшей «так называемой консалтинговой компании», и бюджет на переключение не выделялся.

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

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

Это исправило это. Вы можете попробовать то же самое

Вдобавок ко всему, что вам тут рассказали, что я всегда делаю с фоткой, которая управляет реле, так это просто после строки программы, которая приказывает выключить или включить реле, я ставлю паузу (NOP) из 1 или 2 мс, а затем продолжить выполнение программы.

Почему так ? Основано ли это на теоретической идее или просто на опыте?
Я говорю это по опыту, это решило небольшие проблемы для меня.