detectando cruces cero en ca?

15

Necesito detectar el cruce por cero para un arrancador suave. Hace mucho tiempo, lo hice usando una resistencia de 1 Mega ohm directamente conectada al microcontrolador en un lado y la energía en vivo en el otro lado. Tuve éxito pero ¿es aconsejable? ¿De qué otra manera puedo hacerlo de manera barata y confiable?

iamgopal
fuente

Respuestas:

14

He diseñado arrancadores suaves con 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. Utilizaría un par de diodos shottky para aumentar los diodos de protección interna solo por cuestión de robustez, pero funcionará bien. Si necesita aislamiento, use un optoaislador 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.

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

En mi propio diseño, me ocupé de ello en el software sondeando la línea y esencialmente haciendo una rutina de votación que ignoraba a los transitorios. El cambio de fase estuvo dentro de lo que pude manejar, fue rápido y no funcionaría incluso con mucho ruido. (Probado en una instalación donde quitaron las tapas de los filtros 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 probar una solución externa que implicara un disparo único que " bloquear "el cruce por cero y luego el microcontrolador lo reconocerá antes de que se pueda establecer la próxima interrupción.

Dicho todo esto, creo que encontrar confiablemente el cruce por cero real en cualquier situación práctica fue una de las partes más complicadas del diseño de arranque suave. Cerrar el bucle de control fue secundario, pero en su mayoría fue solo un ajuste. Parece algo muy simple de hacer, pero aprendí bastante sobre la diferencia entre teoría y práctica durante ese tiempo. :-)

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

Si recuerdo correctamente, tenía 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 sondeó 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 UART para detectar marcas y espacios. El beneficio de un circuito como este es que su cambio de fase es fijo (frecuencia de muestreo de 2 *) 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 adivinar, diría 8kHz, ya que ese número se me viene a la mente.

akohlsmith
fuente
Usé el temporizador para medir la frecuencia (en caso de retraso, y tablas de Excel y de búsqueda) ... pero creo que iré con paso bajo y optoacoplador. Gracias por la respuesta.
iamgopal
¿Puedes dar más detalles sobre la rutina de votación? ¿Fue solo para ignorar muestras individuales diferentes de las circundantes? ¿Con qué frecuencia encuestaron?
starblue
7

¿Por qué no usar un optoacoplador? El SFH6206 de Vishay tiene dos LED en antiparalelo, por lo que funciona durante todo el ciclo de la tensión de red. Si el voltaje de entrada es lo suficientemente alto, el transistor de salida se enciende y el colector está 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 se elevará. Entonces obtienes un pulso positivo en cada cruce por cero.

stevenvh
fuente
Para más detalles: aquí
Vorac
2

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

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

Pero hay muchos modelos de dispositivos como puedes ver aquí .

Daniel Grillo
fuente
gracias. un chip siempre es bienvenido en lugar de resistencias y tapas.
iamgopal
ΩΩ
1

He tenido éxito con la siguiente cadena de procesamiento:

  1. Red divisoria de resistencias (usando resistencias de valor MOhm) y optoacoplador para acoplar y aislar la señal de la fuente
  2. Un comparador de amplificador operacional para rastrear la señal del optoacoplador a un rango de voltaje conocido
  3. Un filtro de paso de banda de etapas múltiples extremadamente ajustado que utiliza opamps (también podría necesitar algo de ganancia aquí para dar cuenta de la pérdida de filtro)
  4. Un circuito de cambio de fase opaco para ajustar cualquier desfase introducido en el filtrado (+/- 360 grados es una buena 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
Joel B
fuente
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 aconsejable 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 puede usar una combinación de ambos.

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

Pelusa
fuente
¿el uso de transformadores de aislamiento induce algún retraso?
iamgopal
No. (quince caracteres)
Connor Wolf
44
Si va a comparar con un voltaje, compare con un pequeño% de la línea completa, no cero. Le quita la mayor parte del ruido que encontrará, y el cambio de fase es fijo y, por lo tanto, fácil de explicar.
akohlsmith
buena llamada Andrew :-)
Fuzz
@andrew,: D buena idea !!
iamgopal