Filtrar la señal de red optoacoplada para una entrada digital

0

Necesito leer una entrada de 220V y convertirla en lógica TTL 0-5V para mi Arduino. Si hay una presencia de 220V en la entrada de mi circuito, leo 0V en mi Arduino, de lo contrario leo 5V.

En paralelo, tengo un variador de velocidad para un DC MOTOR 42V / 11A con frecuencia PWM 4Khz.

Mi problema es que tengo ruidos provenientes del motor que causan una entrada de 0 V en el Arduino sin presencia de 220 V.

Aquí están los circuitos:

YousounaresistenciaPullupsuave.

Haydospartes,laprimerasinunfiltroRC,asíquepuedoverclaramentelosruidos,ylasegundaconunfiltroqueintentéhacer,aquíestánlasseñalesquerecibídecadauna.

DebajodelosciloscopioquemuestralaseñalconfiltroRC(2V/DIV1ms/DIV):

DebajodelosciloscopioquemuestralaseñalsinfiltroRC(2V/DIV1ms/DIV):

Entonces, ¿qué debo agregar o cambiar en mi circuito para obtener un 5V sin problemas?

    
pregunta lawir

3 respuestas

0

Gracias a todos por su consejo, aprendí mucho.

Encontré la solución, era muy simple, no podía creerlo cuando funcionaba, solo agregué un condensador de 15 nF cerca del INPUT del microcontrolador. Así que fue el cable eléctrico entre el microcontrolador y la salida de mi circuito el que captó el ruido.

    
respondido por el lawir
1

Tres cosas saltan hacia mí.

1) Está viendo claramente el acoplamiento magnético de picos de corriente de carga. Tu gorra de 47 uF debería poder filtrar los picos "regulares". Entonces, conecte desde la línea a su circuito con par trenzado y mantenga el circuito lo más compacto posible. En esta línea, realmente necesita poner aislamiento de transformador en su entrada. Todo hasta su entrada de opto está conectado a la red eléctrica, y claramente no tiene mucha experiencia en la electrónica. Esta es una mala combinación, y puede que termines sorprendiéndote a ti mismo. Y, sí, dices que no tienes espacio para un transformador. Tengo 2 respuestas: a) puedes obtener transformadores bastante pequeños (1 "x 1" x 1.5 "), yb) al universo no le importa cuán restringido sea tu espacio; si tocas el punto equivocado obtendrás zapped independientemente.

2) Su uso de soft pullup es una muy mala idea. El valor del pullup suave se especifica como 20k - 50k, que es tan alto que toma muy poco avance en el optoaislador para producir un pulso detectable. Coloque una resistencia pullup de 470 ohmios en la entrada a la uP, conectada a la fuente del procesador. Dependiendo del grado de opto que esté usando, es posible que deba disminuir la resistencia de entrada de su optoacoplador.

3) En su filtro, no use diodos 1N400X. Están pensados como rectificadores, no como diodos de señal, y son muy lentos. En su lugar, use algo como el 1N4148.

Finalmente, si está desesperado, puede intentar conectar el pin 2 al pin 4 con una resistencia de 1 Megohm. Esto debería calmar su entrada, al tiempo que limita las corrientes de fuga de la red.

    
respondido por el WhatRoughBeast
0

Sus circuitos se ven muy complicados para generar una señal TTL simple. El problema podría ser el diseño incorrecto del filtro y la resistencia de pull-up. Intente reducir el tamaño de esta resistencia, ~ 4.7kOhm debería ser un valor adecuado.

Si todavía hay problemas, puedo sugerirle el siguiente circuito. Es muy fácil y funciona perfecto para mí. También tiene un aislamiento galvánico.

  • OK14N33
  • D11N4007
  • R1A27k(1W)
  • R1B27k(1W)
  • R310k

Elsitiowebes Detección de cruce por cero .

    
respondido por el auoa

Lea otras preguntas en las etiquetas