Microcontrolador con un cable largo para entrada digital

15

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 tiene una longitud de alrededor de 50 pies (~ 15 metros) y genera suficiente interferencia para que la placa piense que alguien presionó el botón y, por lo tanto, suena el timbre de la puerta. Intervalos aleatorios a lo largo del día. Tanto mi esposa como mi perro no aprecian esto (pero los niños piensan que es muy divertido).

He intentado solucionar el problema siguiendo los consejos que se encuentran en este artículo y la implementación del siguiente circuito:

Estonosolucionóelproblema,peroencontréqueponerunaresistenciade3ken1kyreemplazarelcondensadorde.01uFconun40uFfuncionóunpocomejor,peroalgomásde3kprovocaunretrasonotablealpresionarelbotónantesdequesuenelacampana.Ladiferenciaparamicircuitoesquelaplacafuncionacon3.3Venlugarde5V(loquesupongoqueempeoraelproblema)yenlugardeconectarseatierra,elinterruptorcompletaelcircuito(esdecir,doscablesvanentreelmicrocontroladoryelinterruptor).

Elcablequecorreentreelinterruptoryelmicrocontroladoresuncabledetimbredepuertaestándarquenoestáblindadoniretorcido.Reemplazarelcabledeltimbredelapuertaporuncableblindadonoes,desafortunadamente,unaopción,yaqueesorequeriríaqueserompaelpaneldeyeso.

Hemiradolasiguientepregunta here , pero parece tratarse de un ADC que podría ser un poco diferente a mi problema. Cualquier ayuda sería muy apreciada.

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

    
pregunta Matt Ruwe

4 respuestas

15

Lo que el esquema no muestra es el enorme zumbido de modo común de 60 Hz y cómo se conectan los suelos a la proximidad de las líneas de CA y de amp; transitorios de la línea de alimentación.

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

Puedo sugerir en el futuro;

  1. prefiero par trenzado
  2. prefieren líneas balanceadas
  3. evitar entradas de alta impedancia
  4. prefieren impedancias emparejadas
  5. evitar LPF excesivo (constantes de tiempo largo)
  6. incluir el límite de RF para suprimir los transitorios.
  7. usar cuentas de ferrita (choke CM)
  8. evitar el bucle de tierra (es decir, conexión directa sin explotar al circuito)
  9. use el circuito de humedecimiento de contactos (corrija la polaridad de 10uF en los contactos que no están enchapados en oro)
  10. prefiero coaxial para entornos EMI muy severos.

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

  • quite la tapa grande a bordo y muévase a los contactos del interruptor remoto. (debe)
  • quite la resistencia de la serie 3K (1k) y agregue una funda de ferrita CM o similar
  • agregue una pequeña tapa de RF en la placa a través de la entrada. p.ej. 0.001 ~ 0.01uF o cualquier tipo de inductancia baja.
  • Reemplace 100K con 1k ~ 10K.
  • agregue perlas de ferrita grandes con varias vueltas a ambos cables. (Filtro CM)

Con esta solución, la impedancia del circuito del interruptor será de baja impedancia en el cierre y de baja impedancia con tapa electa en el interruptor cuando esté abierto. El zumbido de CM se absorberá y se suprimirá el ruido de RF diferencial.

-cálmese a la misma tensión de alimentación que la uC con una buena tapa de RF en el chip.

    
respondido por el Tony EE rocketscientist
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 quiera escuchar el timbre.

Actualizar

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

La placa GHI EMX que tienes tiene un ADC de 10 bits por lo que puedes enviar 12vDc (o más) al timbre de la puerta y usar un simple divisor de voltaje para que el voltaje a la MCU no sea mayor a 5 voltios máx. Luego, en el lado del software, todo lo que haría sería leer el ADC y si el valor es > 1000 (puede que tenga que jugar un poco con este número, y 1023 es el máximo en un ADC de 10 bits) luego se presionó el timbre.

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

Otraopciónsimilaresusarun schmitt trigger con un voltaje de entrada más alto. Pero esto requeriría partes 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 cambias la resistencia de subida de 100k a una ~ 220ohm una que puede hacer el truco.

    
respondido por el 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 timbre electromecánico sencillo no suena debido a una interferencia similar. Por supuesto, la respuesta es que requiere que la potencia real del anillo fluya a través del circuito cerrado: la interferencia no acoplará suficiente energía al circuito abierto para que suene falsamente.

Puede crear una situación similar utilizando una resistencia de extracción 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 que se lea 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ía ser suficiente, pero se puede ajustar fácilmente hacia arriba o hacia abajo.

Puede rechazar aún más la interferencia al tener un software en el microcontrolador que requiere que el botón se mantenga cerrado (sin espacios) durante aproximadamente 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 presionado el timbre. La resistencia no necesita tener la capacidad de manejo de energía (térmica) para la posibilidad de que el botón se trabe permanentemente cerrado, pero ese no sería el caso normal para calcular el consumo de energía.

    
respondido por el Chris Stratton
0

El cable de 15 metros está actuando como una antena. Debe utilizar un condensador feedthru (por ejemplo, W2F11A4Acccc.Alcado) .

    
respondido por el Aldanajaramillo

Lea otras preguntas en las etiquetas