¿detectando una cruz cero en ac?

14

Necesito detectar el cruce por cero para un arrancador suave. Hace mucho tiempo, lo he hecho usando una resistencia de 1 Mega ohmio conectada directamente a un microcontrolador por un lado y potencia en vivo por otro lado. Tuve éxito pero ¿es recomendable? ¿De qué otra manera puedo hacerlo de manera barata y confiable?

    
pregunta iamgopal

5 respuestas

14

He diseñado arrancadores suaves utilizando los procesadores PIC16C74A / F77. El cruce por cero puede ser complicado si también tiene que trabajar en entornos ruidosos.

Si no necesita que el procesador esté aislado de la línea, no hay nada de malo en que un par de resistencias de alto valor alimenten un pin de CPU. Usaría un par de diodos shottky para aumentar los diodos de protección interna solo por una cuestión de robustez, pero funcionará bien. Si necesita aislamiento, use un optoaislante de salida de transistor. Preste atención a la velocidad de conmutación del opto y minimice la corriente del colector del transistor para maximizar la velocidad de conmutación.

Habiendo dicho eso, sigamos con el ruido. Si está controlando la fase, cualquier otra cosa que no sea el calentamiento por resistencia, tendrá que lidiar con el ruido, lo que significa que es muy probable que tenga que enfrentar el ruido de cruce cero. No cometa el error de novato de alimentar la entrada de cruce por cero a un pin de interrupción; eso hará que su software se convierta en una masa humeante de maldad cuando el procesador intente lidiar con una gran cantidad de interrupciones. (Hablo por experiencia). Lanzar un filtro de paso bajo más avanzado o RC en la línea solo introducirá el cambio de fase. Si puedes trabajar con eso, genial. Si no (tuve que lidiar con sistemas de 50/60 y 400Hz), entonces tienes que probar otros medios.

En mi propio diseño, me encargué del software al sondear la línea y, esencialmente, realizar una rutina de votación que ignoraba los transitorios. El cambio de fase estaba dentro de lo que podía manejar, era rápido y no se podía ni siquiera en un ruido fuerte. (Probados en una instalación donde quitaron las tapas de filtro de un horno de inducción, ¡nunca antes había visto una línea tan ruidosa!) Si tuviera que rediseñarla, creo que podría intentar una solución externa que involucre una toma única que " trabe "la cruz cero y luego el microcontrolador lo reconocerá antes de que se pueda configurar la siguiente interrupción.

Todo lo dicho, creo que encontrar el cruce con cero real en cualquier situación práctica de manera confiable fue uno de los trucos más complicados del diseño del arrancador suave. Cerrar el bucle de control fue secundario, pero en su mayoría fue solo un ajuste. Parece algo sencillo pero aprendí bastante sobre la diferencia entre la teoría y la práctica durante ese tiempo. :-)

edite para describir la rutina de "votación":

Si recuerdo correctamente, tuve una línea de E / S que era alta cuando la línea estaba por encima de cero y baja cuando la línea estaba por debajo de cero. La rutina de votación simplemente encuestó esa línea y si 2 de las últimas 3 muestras eran iguales, acepté el hecho de que la línea había cruzado cero. Es muy similar al circuito de votación de un UART para detectar la marca y el espacio. La ventaja de un circuito como este es que su cambio de fase es fijo (2 * frecuencia de muestreo) y puede ajustarlo para el tipo de ruido que está experimentando. No recuerdo de antemano lo rápido que fue el sondeo, pero si tuviera que arriesgarme a adivinar, diría 8 kHz, ya que ese número me viene a la mente.

    
respondido por el akohlsmith
7

¿Por qué no usar un optoacoplador? SFH6206 de Vishay tiene dos LED en forma antiparalelo, por lo que funciona durante todo el ciclo de la tensión de red. Si la tensión de entrada es lo suficientemente alta, el transistor de salida está encendido y el colector se encuentra en un nivel bajo. Sin embargo, alrededor del cruce por cero, el voltaje de entrada es demasiado bajo para activar el transistor de salida y su colector será alto. Así que obtienes un pulso positivo en cada cruce por cero.

    
respondido por el stevenvh
2

Esta Nota de la aplicación de Microchip en la página 3 sugiere una resistencia de 20 MOhms.

Creo que puedes usar el MOC3061 que tiene un detector de cruce por cero.

Pero hay muchos modelos de dispositivos, como puede ver aquí .

    
respondido por el Daniel Grillo
1

He tenido éxito con la siguiente cadena de procesamiento:

  1. Red divisora de resistencias (usando resistores de valor MOhm) y optoacoplador para acoplar y aislar la señal de la fuente
  2. Un comparador de amplificador operacional para transmitir la señal desde el optoacoplador a un rango de voltaje conocido
  3. Un filtro de paso de banda de múltiples etapas extremadamente ajustado que usa opamps (también podría necesitar algo de ganancia para tener en cuenta la pérdida del filtro)
  4. Un circuito de cambio de fase opamp para ajustar cualquier desfase introducido en el filtrado (+/- 360 grados es una buena cantidad de tolerancia para el diseño, el cambio de fase deseado se puede calibrar con un potenciómetro y un osciloscopio)
  5. Un comparador más para llevar la señal a una salida digital limpia para un microcontrolador
respondido por el Joel B
0

Probablemente hay MUCHAS maneras de hacer esto ... pero si lo estuviera haciendo usaría un pequeño transformador de aislamiento por si acaso. Nunca es recomendable conectar la red a un microcontrolador directamente, incluso a través de una resistencia grande.

Supongo que sus opciones son usar un divisor de resistencia grande en un micro, o un pequeño transformador que empuje los voltajes de nivel de red hasta el rango de su micro. Por supuesto, también puedes usar una combinación de ambos.

Si no desea utilizar un microcontrolador, siempre puede usar un comparador y hacer que la tensión se pruebe contra 0v. El pulso del comparador será corto, pero también hay formas de lidiar con eso.

    
respondido por el Fuzz

Lea otras preguntas en las etiquetas