У меня проблемы с управлением реле с нагрузкой на него. Я использую PIC16F628A. Проблема следующая: Реле имеет нагрузку. Сначала выключен. Когда выход микроконтроллера включен, реле также включается. Когда реле необходимо отключить, выход микроконтроллера выключен. Но когда это происходит, микроконтроллер перезагружается.
РЕДАКТИРОВАТЬ: нагрузка 220AC. Пытаюсь управлять звонком.
Обратите внимание, что при отсутствии нагрузки команда реле работает полностью, без сброса микроконтроллера.
Вот схемы и печатная плата из проекта.
PS Отпечаток кристалла был изменен на конденсатор, потому что мне нужно нарисовать отпечаток кристалла, но он имеет те же размеры отверстия, что и конденсатор.
EDIT2: Дизайн печатной платы был обновлен, как было предложено. Обновленные схемы и печатная плата:
Я собирался только прокомментировать, но обнаружил, что могу сказать слишком много:
Следуйте совету Спехро и Алексея. Здесь есть несколько проблем. Выполните все исправления, даже если вы обнаружите, что просто демпфирующий или развязывающий конденсатор, похоже, помогают.
Нагрузка 220AC. Пытаюсь управлять звонком.
Обратите внимание, что при отсутствии нагрузки команда реле работает полностью, без сброса микроконтроллера.
Казалось бы, это указывает на то, что переключение звонка является источником всплеска, вызывающего сброс. Не пропускайте снаббер и/или варистор, которые предлагает Спехро, поскольку реле переключает индуктивную нагрузку. Я видел слишком много проблем с переключаемыми индуктивными нагрузками, вызывающими сбросы в промышленном оборудовании, чтобы считать необходимость в снаббере и / или MOV просто «пластырем». Помимо проблемы сброса, без подавления всплеска возникнет дополнительное искрение на контактах реле, что сократит срок службы реле. Снаббер можно купить или сделать самому.
Добавленный развязывающий конденсатор (предложенный Алексеем) должен иметь кратчайший путь к контактам питания/земли PIC. Разрезанная наземная плоскость не выполняет этого.
Размещение выводов питания/земли на PIC немного затруднительно для обеспечения короткого пути к развязывающему конденсатору без прокладки дорожек между контактными площадками (могут потребоваться более длинные и тонкие контактные площадки) или размещения развязывающего конденсатора на задней стороне.
Вы можете «приклеить» развязывающий конденсатор к существующей плате, обрезав провода накоротко и либо припаяв его непосредственно к контактам питания/земли PIC в верхней части PIC, либо припаяв его к контактным площадкам на стороне пайки на плате.
Еще несколько несвязанных комментариев по поводу разводки платы. Поскольку P1 и P2 находятся под напряжением 220 В переменного тока, изолируйте их от одной области платы без каких-либо других следов (даже плоскости заземления) даже близко. См. Путь утечки для печатных плат, работающих с линейным напряжением переменного тока? ... Я бы также не стал ставить переключатели слишком близко к сети переменного тока, так как там будут пальцы. Также рассмотрите возможность добавления нескольких монтажных отверстий на плате.
Ваша компоновка не очень хороша (в частности, путь Vcc длинный, тонкий и индуктивный), и это худшее реле, которое вы можете выбрать (однако оно самое дешевое). Лучшее реле с высокой изоляцией (желательно с неподдельными европейскими допусками), заливкой земли и полигона Vcc (у вас есть Altium, это очень хорошая и дорогая программа, вы должны использовать эти функции), и управление реле от нерегулируемого ввод все поможет.
PIC довольно нечувствительны к плохому обращению, но они не волшебники.
Вы можете попробовать подавить шум на (предположительно, хотя бы несколько индуктивной) нагрузке с помощью демпфера или MOV, но это временное решение, и проблема, вероятно, каким-то образом вернется.
Добавьте конденсатор 0,1u рядом с контактом 14. Подсоедините порт A5 (контакт 4) к Vdd.
Когда я учился, у меня была та же проблема, с которой вы столкнулись сейчас. И я решил это после многих неудач. Решение вашей проблемы будет следующим:
Первое, что вам нужно сделать, это поставить керамический конденсатор емкостью 0,1 мкФ как можно ближе к выводу питания вашего микроконтроллера. Этот колпачок удалит все высокочастотные шумы до того, как они достигнут микроконтроллера.
Если вы принимаете какие-либо входные данные из внешней среды, такие как вход датчика, интерфейс переключения через длинный провод или любой другой вход, кроме нежелательного высокочастотного шума, который будет введен в провод или клемму, когда возникает искра реле или происходит любое другое переключение. Вы ДОЛЖНЫ удалить его всегда, иначе проблема со сбросом будет продолжаться.
Эту проблему можно решить, поместив керамический конденсатор емкостью 0,1 мкФ на каждый входной контакт по отношению к земле, прежде чем он достигнет контактов микроконтроллера.
Это удалит все шумы из вашей схемы, и она будет нормально функционировать.
НО .. На самом деле вы не задаете вопрос, но его легко сделать! В строках ... «как мне это исправить?»
Поскольку вы хотите переключать 220 В переменного тока, почему бы не использовать SSR с нулевым перекрестным переключением вместо реле? Никаких контактов, никакой дуги, почти никакого шума!
Десятилетия назад я столкнулся с похожей проблемой. Дурацкая конструкция печатной платы была унаследована от бывшей «так называемой консалтинговой компании», и бюджет на переключение не выделялся.
Короче говоря, были исследованы обычные подозреваемые, такие как добавление демпферов и улучшение локальной развязки.
Исправление было на самом деле в программном обеспечении, что несколько странно. Вместо одной записи ввода-вывода выходные данные записывались несколько раз.
Это исправило это. Вы можете попробовать то же самое
Вдобавок ко всему, что вам тут рассказали, что я всегда делаю с фоткой, которая управляет реле, так это просто после строки программы, которая приказывает выключить или включить реле, я ставлю паузу (NOP) из 1 или 2 мс, а затем продолжить выполнение программы.
Джон Л
Триак