Microcontrolador con un cable largo para entrada digital.


16

Tengo el botón del timbre de mi casa conectado a una placa de desarrollo GHI EMX . El software evalúa la hora del día y determina si el timbre debe sonar o no.

Nota al margen: Esto se implementó como una forma de lidiar con las bromas ding-dong-ditch que estaba recibiendo.

Todo esto funciona muy bien, excepto por un problema, el cable conectado a la placa EMX mide alrededor de 50 pies (~ 15 metros) de largo y genera suficiente interferencia para que la placa piense que alguien ha presionado el botón y, por lo tanto, mi timbre suena a intervalos aleatorios durante todo el proceso. El dia. Tanto mi esposa como mi perro no aprecian esto (pero los niños piensan que es muy divertido).

Intenté solucionar el problema siguiendo los consejos que se encuentran en este artículo e implementando el siguiente circuito:

Protección de filtro de paso bajo para una entrada

Esto no solucionó el problema, pero encontré que poner una resistencia de 3k en 1k y reemplazar el capacitor de .01uF por 40uF funcionó un poco mejor, pero cualquier cosa mayor a 3k causa un retraso notable al presionar el botón antes de suena la campana. La diferencia para mi circuito es que la placa funciona con 3.3V en lugar de 5V (lo que supongo empeora el problema) y en lugar de conectarse a tierra, el interruptor completa el circuito (es decir, dos cables van entre el microcontrolador y el interruptor).

El cable que corre entre el interruptor y el microcontrolador es un cable de timbre estándar que no está blindado ni retorcido. Reemplazar el cable del timbre con cable blindado, desafortunadamente, no es una opción, ya que eso requeriría que corte el panel de yeso.

He visto la siguiente pregunta aquí , pero parece estar tratando con un ADC que podría ser un poco diferente de mi problema. Cualquier ayuda sería muy apreciada.

Actualización
Después de leer más de la documentación , parece que aunque el microcontrolador funciona con 3.3V, es tolerante a 5V en sus pines de E / S. Puedo ajustarme a un valor de resistencia más alto si uso 5V, pero ¿esto ayudará en algo?


1
Agregue un teclado de seguridad a su timbre. Solo quienes ingresen el código de cuatro dígitos correcto pueden llamarlo, a cualquier hora del día.
Kaz

Respuestas:


15

Lo que el esquema no muestra es el enorme zumbido en modo común de 60Hz y cómo las tierras están interconectadas con la proximidad a líneas de CA y transitorios de línea de alimentación.

Su ejemplo es un buen ejemplo de cómo no interconectar cables largos.

¿Puedo sugerir en el futuro;

  1. prefiero par trenzado
  2. prefiero líneas balanceadas
  3. evitar entradas de alta impedancia
  4. prefieren impedancias emparejadas
  5. evitar LPF excesivo (constantes de tiempo prolongado)
  6. incluye tapa RF para suprimir transitorios.
  7. utilizar cuentas de ferrita (estrangulador CM)
  8. evitar el circuito de tierra (es decir, conexión directa sin explotar al circuito)
  9. use el circuito de humectación de contacto (polaridad correcta 10uF tapa a través de contactos que no están chapados en oro)
  10. prefiera coaxial para entornos EMI muy hostiles.

Dado que muchas opciones no están disponibles. Haz esto;

  • retire la tapa grande a bordo y muévala a los contactos del interruptor remoto. (debe)
  • retire la resistencia de la serie 3K (1k) y agregue la manga CM de ferrita o similar
  • agregue una pequeña tapa de RF en la placa a través de la entrada. por ejemplo 0.001 ~ 0.01uF o cualquier tipo de baja inductancia.
  • Reemplace 100K con 1k ~ 10K.
  • agregue cuentas de ferrita grandes con múltiples vueltas a ambos cables. (Filtro CM)

Con esta solución, la impedancia del circuito del interruptor tendrá una baja impedancia en el cierre y una baja impedancia con la tapa electa en el interruptor cuando esté abierto. Se absorberá el zumbido CM y se suprimirá el ruido diferencial de RF. ingrese la descripción de la imagen aquí

-Tire al mismo voltaje de suministro que uC con buena capacidad de RF a través del chip.


Tendré que encontrar una manga CM de ferrit, pero de lo contrario, esto parece muy factible. ¿Crees que esto funcionará? Digikey.com/product-detail/en/KR50TA251512B1/P11400-ND/409505 . ¡Gracias!
Matt Ruwe

funcionará sin, pero se agregó un seguro para ráfagas de RF perdidas. Estos son mejores ... digikey.com/product-detail/en/FB73-287-RC/M8708-ND/775247 obtenga una docena o más para uso futuro.
Tony Stewart Sunnyskyguy EE75

lea la identificación incorrecta digikey.com/product-detail/en/35T0231-30P/240-2586-ND/1587459 arriba son demasiado pequeños. El tuyo también estará bien pero se volverá obsoleto.
Tony Stewart Sunnyskyguy EE75

Gracias. Un par de otras preguntas. En un entorno residencial como el mío, ¿a qué debo vincular el terreno común? ¿Una conexión a tierra o fontanería cercana?
Matt Ruwe el

el tomacorriente eléctrico cercano o la caja de la computadora conectada a tierra está bien. Los cables largos agregan demasiada inductancia> 1 m.
Tony Stewart Sunnyskyguy EE75

8

Una solución simple puede ser dejar el sistema de timbre como estaba antes de comenzar este proyecto y simplemente usar el microcontrolador para apagar el altavoz del timbre de la puerta con un relé cuando no desee escuchar el timbre.

Actualizar

No estoy muy familiarizado con los sistemas de timbre (aparte de un google rápido), por lo que lo siguiente supone que tiene al menos dos conductores que van desde su MCU al interruptor.

La placa GHI EMX que tiene tiene un ADC de 10 bits, por lo que puede enviar 12vDc (o más) al timbre y usar un divisor de voltaje simple para que el voltaje a la MCU no los 5 voltios máximo. Luego, en el lado del software, todo lo que debería hacer es leer el ADC y si el valor es> 1000 (puede que tenga que jugar con este número, y 1023 es el máximo en un ADC de 10 bits), entonces se ha presionado el timbre.

Se vería así (intenta no sentirte abrumado por mis increíbles habilidades de edición gráfica):

ingrese la descripción de la imagen aquí

Otra opción similar es utilizar un disparador schmitt con un voltaje de entrada más alto. Pero esto requeriría piezas adicionales y es más esfuerzo que la opción ADC.

Editar

La respuesta de Chris Stratton hizo un buen punto sobre el flujo actual. Si cambia la resistencia de extracción de 100k a una de ~ 220ohm, puede hacer el truco.


1
No es una mala idea, pero le quita un poco de diversión al concepto. Todavía me gustaría saber cuándo se presiona el interruptor después de horas para poder encender las luces delanteras de la casa y darles a los bromistas un poco de su propia medicina.
Matt Ruwe

tal vez el sonido de una sirena de policía distante acercándose con un taser en el interruptor
Tony Stewart Sunnyskyguy EE75

1
Mi sugerencia favorita fue de un amigo que tuvo la idea de usar una cerilla eléctrica conectada con algunos fuegos artificiales que se activarían al presionar el botón. =) Al final, esa idea era demasiado peligrosa, sin embargo.
Matt Ruwe

@ Matt ver mi actualización para otra solución. En lugar de fuegos artificiales, una vez usé una sirena y una luz estroboscópica porque los niños fumaban al lado de mi casa. También lo capté en video, ¡lo que lo hizo mucho mejor!
Garrett Fogerlie

6

En realidad, hay una solución muy simple para este problema.

La clave para comprender esta solución es pensar por qué un simple timbre electromecánico no suena debido a una interferencia similar. La respuesta, por supuesto, es que requiere que la potencia real del anillo fluya a través del circuito cerrado; la interferencia no juntará suficiente potencia en el circuito abierto para sonar falsamente.

Puede crear una situación similar utilizando una resistencia pullup de bajo valor, con el botón del timbre conectado a tierra. Cien ohmios de resistencia significarían que alrededor de 25 miliamperios de corriente tendrían que fluir antes de que la entrada del microcontrolador sea lo suficientemente baja como para leer como un "0". La comunicación en serie de larga distancia a menudo se realiza con una corriente de 20 mA, por lo que 25 mA deberían ser suficientes, pero puede ajustarla fácilmente hacia arriba o hacia abajo.

Puede rechazar aún más la interferencia si tiene un software en el microcontrolador que requiere que el botón se mantenga cerrado, sin espacios, durante unos 100 ms antes de que se reconozca como un anillo válido.

Se podría argumentar que este método está desperdiciando energía, sin embargo, la energía solo se consume durante el tiempo en que se mantiene presionada la alarma. La resistencia necesita tener la capacidad de manejo de energía (térmica) para la posibilidad de que el botón se atasque permanentemente cerrado, pero ese no sería el caso normal para calcular el consumo de energía.


a menos que use 10% o corriente nominal en interruptores metálicos sin contacto Au, eventualmente fallará el arranque intermitente con corrientes de nivel lógico. Es por eso que el límite de ESR bajo (límite de película pref) es esencial para reducir la oxidación con un volcado de alta corriente de ESR bajo a través de los contactos.
Tony Stewart Sunnyskyguy EE75

@Richman: eventual falla es posible, sí, lo es también cuando se usa un timbre electromecánico. Uno podría aumentar la corriente en la teoría que podría ayudar o probar su idea de condensador de pulso. Algunos diseños de botones de timbre pueden tener implícitamente algún contacto deslizante a medida que las hojas se deprimen, lo que ayudaría mucho. Tengo la sospecha de que una falla fácilmente rectificada después de varios años no sería un obstáculo para un dispositivo de conveniencia que alguien construye para su propia casa. En un nivel práctico, es útil si la persona en la puerta al menos puede escuchar levemente el timbre.
Chris Stratton

0

El cable de 15 metros está actuando como una antena. Debe utilizar un condensador de alimentación (por ejemplo, W2F11A4708AT1F ) para filtrar la interferencia de RF.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.