У меня есть кнопка дверного звонка в моем доме, подключенная к плате разработчика GHI EMX . Программное обеспечение оценивает время суток и определяет, должен ли звонить дверной звонок.
Примечание: это было реализовано как способ справиться с шалостями динг-донг-канва, которые я получал.
Все это прекрасно работает, за исключением одной проблемы: провод, подключенный к плате EMX, имеет длину около 50 футов (~ 15 метров) и создает достаточно помех для платы, чтобы думать, что кто-то нажал кнопку, и, таким образом, мой дверной звонок звонит через случайные промежутки времени на всем протяжении день. И моя жена, и моя собака не ценят это (но дети думают, что это очень весело).
Я попытался исправить проблему, следуя советам, найденным в этой статье, и реализовав следующую схему:
Это не решило проблему, но я обнаружил, что установка резистора 3 кОм на 1 кОм и замена конденсатора 0,01 мкФ на 40 мкФ работает немного лучше, но все, что больше 3 кОм, вызывает заметную задержку при нажатии кнопки до звон колоколов. Разница для моей схемы заключается в том, что плата работает от 3,3 В вместо 5 В (что, я полагаю, усугубляет проблему) и вместо подключения к заземлению коммутатор замыкает цепь (т.е. два провода идут между микроконтроллером и коммутатором).
Провод, который проходит между выключателем и микроконтроллером, является стандартным проводом дверного звонка, который не экранирован и не скручен. Замена провода дверного звонка экранированным проводом, к сожалению, не вариант, поскольку для этого потребуется оторвать гипсокартон.
Я рассмотрел следующий вопрос здесь , но, похоже, он имеет дело с АЦП, который может немного отличаться от моей проблемы. Любая помощь приветствуется.
Обновление
После прочтения большей части документации кажется, что хотя микроконтроллер питается от 3,3 В, он допускает 5 В на своих выводах ввода / вывода. Я могу установить более высокое значение резистора, если использую 5 В, но поможет ли это что-нибудь?
источник
Ответы:
То, что не показано на схеме, - это огромный общий шум 60 Гц и то, как заземление взаимосвязано с близостью к линиям переменного тока и переходным процессам в линиях электропередач.
Ваш пример - хороший пример того, как не взаимодействовать с длинными проводами.
Могу ли я предложить в будущем;
Так как многие варианты не доступны. Сделай это;
При таком решении импеданс цепи переключателя будет низким сопротивлением при замыкании и низким сопротивлением с крышкой электрода через выключатель при размыкании. CM-шум будет поглощен, а дифференциальный RF-шум подавлен.
-Подключение к тому же напряжению питания, что и ук, с хорошей защитой от радиочастот на чипе.
источник
Простым решением может быть оставить систему дверного звонка такой, какой она была до того, как вы начали этот проект, и просто использовать микроконтроллер, чтобы отключить питание громкоговорителя дверного звонка с помощью реле, когда вы не хотите слышать звонок.
Обновить
Я не очень знаком с системами дверных звонков (кроме быстрого гугла), поэтому в следующем предполагается, что у вас есть как минимум два проводника, идущих от MCU к коммутатору.
Плата GHI EMX, которую вы имеете, имеет 10-битный АЦП, поэтому вы можете послать 12В (или больше) в дверной звонок и использовать простой делитель напряжения, чтобы напряжение на MCU не превышало его максимум 5 Вольт. Затем на стороне программного обеспечения все, что вам нужно сделать, это прочитать АЦП, и если значение> 1000 (вам, возможно, придется поиграться с этим числом, а 1023 - это максимум на 10-битном АЦП), тогда будет нажат дверной звонок.
Это будет выглядеть примерно так (постарайтесь не быть ошеломленным моими потрясающими навыками графического редактирования):
Другой вариант, который отчасти похож на использование триггера Шмитта с более высоким входным напряжением. Но это потребует дополнительных деталей и требует больше усилий, чем опция АЦП.
редактировать
Ответ Криса Стрэттона сделал хороший вывод о текущем потоке. Если вы замените резистор на 100 кОм на резистор ~ 220 Ом, это может помочь.
источник
На самом деле есть очень простое решение этой проблемы.
Ключ к пониманию этого решения заключается в том, чтобы подумать о том, почему простой электромеханический дверной звонок не звонит из-за подобных помех. Ответ, конечно же, заключается в том, что для прохождения через замкнутую цепь требуется фактическая мощность кольца - помехи не подадут достаточное количество энергии в разомкнутую цепь для ложного вызова.
Вы можете создать аналогичную ситуацию, используя низковольтный подтягивающий резистор с кнопкой дверного звонка, подключенной к земле. Сопротивление в сто Ом означало бы, что около 25 миллиампер тока должно пройти до того, как вход микроконтроллера станет достаточно низким, чтобы считать его «0». Последовательная связь на большие расстояния часто осуществляется с током 20 мА, поэтому 25 мА должно быть достаточно, но вы можете легко настроить увеличение или уменьшение.
Кроме того, вы можете отклонить помехи, установив на микроконтроллере программное обеспечение, которое требует, чтобы кнопка оставалась закрытой - без пропусков - в течение 100 мс или около того, прежде чем она будет распознана как действительное кольцо.
Можно утверждать, что этот метод тратит впустую энергию, однако энергия потребляется только в то время, когда зуммер удерживается. Резистор должен иметь мощность обработки (тепловую) для возможности постоянно замкнутого заклинивания кнопки, но это не будет обычным случаем для измерения потребляемой мощности.
источник
15-метровый кабель действует как антенна. Вам необходимо использовать входной конденсатор (например, W2F11A4708AT1F ) для фильтрации РЧ помех.
источник