Calibración automática de una latencia del detector de cruce cero

2

Tengo un circuito similar a este (valores de componentes diferentes, uC diferentes):

Espero un error de fase grande en el ZCD . La carga es puramente resistiva y de valor desconocido entre 100W y 1000W.

Me resisto a colocar un osciloscopio en la red eléctrica, y lo hago para cada dispositivo producido, y luego programo la latencia medida en una ubicación especial de eeprom.

¿Existe un algoritmo que, a través de una señal de salida de prueba específica y el sondeo de la señal de entrada, el micro puede medir la latencia y, por lo tanto, estimar el verdadero cruce de cero del medido?

EDITAR:

Este es el circuito exacto, con un alcance Disparo. A continuación se muestra otra toma con corriente alterna en CH2 y salida de circuito en CH1.

Apartirdeambasmediciones,llegoalaconclusióndeque,independientementedesilasmicrointerrupcionesenunflancoascendenteodescendente,elerrormuyaproximadamenteserádeaproximadamente1,6ms(sujetoalatemperatura,latensióndelared,elenvejecimientodeloscomponentes,laatmósfera).variacionesdesilicioenlaentrada).

Comoelenfoquemásperezosoposible,planeocodificarestevalorenelcontroltriacyverquépasa.

Enconclusión,quierodecirqueeste funcionó muy bien . La interrupción anunciada mide el ancho del pulso y calcula la zc verdadera en el medio del pulso, todo en menos de 200 líneas de C.

    
pregunta Vorac

3 respuestas

2

Se puede crear automáticamente un valor de calibración si considera usar una entrada analógica de repuesto en el PIC. Conecte esta entrada a una versión restringida y sesgada de la CA y deje que el PIC procese los niveles medio y pico para determinar un punto de referencia de punto de cruce.

Luego, deje que su firmware haga una estimación del retraso y utilícelo como valor de calibración para el opto-acoplador. Esta sería una prueba de una sola vez y probablemente sería sensato utilizar un transformador aislante de CA porque el divisor resistivo no se aísla.

Alternativamente, puede "volver a cablear" el opto temporalmente y "golpearlo" con una salida digital PIC en el LED. Entonces su firmware puede medir el tiempo de retraso.

    
respondido por el Andy aka
2

Recientemente he estado trabajando en un proyecto similar. Aquí están los resultados de un experimento de detección de cruce de cero que realicé:

(Antes de aplicar mis resultados a su proyecto, tenga en cuenta que este experimento se llevó a cabo para un sistema de 220V 50 Hz y el sistema utilizó una lógica de 3.3V. Las cosas seguramente cambiarán para el sistema lógico de 110V 60V y 3.3V.

Además, no sentí latencia debido a la carga. Probé este circuito para cargas en el rango de 20 vatios - 250 vatios. Por último, está utilizando triacs que se calientan bastante con una corriente de 2 amperios (sin disipador de calor). Si elige controlar las cargas de hasta 1000 vatios, asegúrese de estar usando un gran disipador de calor para esa aplicación.

Objetivo del experimento: Implementación de detección cruzada cero de línea de CA de 220V 50 Hz con optoaisladores.

Resultado del experimento: Existe un retraso entre el sentido de cruce cero y el cruce de cero real y, por lo tanto, se debe usar un cierto retardo antes de encender los triacs para mantener una operación estable.

Conclusión: El circuito de sentido cruzado cero funciona perfectamente. Sin embargo, como la lógica alta tiene un rango, la detección puede estar un poco antes del cruce del cero real. Esto debe tenerse en cuenta durante la codificación para un rendimiento robusto. Para el circuito dado, un retraso mínimo de 2 ms hará el trabajo. Prácticamente se puede dar un retraso mínimo de 3 ms sin ninguna pérdida en el rendimiento de atenuación. Del mismo modo, debe garantizarse un retraso máximo de 9 ms. Se puede dar prácticamente un retraso máximo de 8,5 ms sin pérdida en el rendimiento de regulación.

Circuito utilizado para la prueba:

Gráficodelosciloscopio:

Como se ve aquí, 0.8 V es el voltaje máximo que confirma una señal lógica BAJA definida. Cualquier señal más que eso podría ser registrada como ALTA. En el peor de los casos, la detección ALTA a 0,8 V sí mismo, si el triac se enciende dentro del período de 1,3 ms de la detección ALTA, podría conducir a un comportamiento poco confiable. Si se asegura un retraso mínimo de 2 ms en el código, se asegurará una atenuación robusta del dispositivo sin parpadeo.

Para el retraso máximo, considerando el peor de los casos de detección de cero a 2 V, el retraso máximo puede ser de 9,5 ms. Sin embargo, para estar en el lado más seguro, se debe usar un retraso máximo de 9 ms.

Uso del osciloscopio con ac: La sonda de tierra del osciloscopio está conectada a tierra. Por lo tanto, asegúrese de que NUNCA lo conecte directamente a Live por error. Una forma de piratear es aplicar cinta al conector a tierra de la fuente de alimentación del osciloscopio para que se desconecte de la tierra.

Además, si está utilizando la sonda 10x y no puede medir 220 V (la forma de onda está saturada en la parte superior e inferior), si agrega una resistencia de 10 megaohmios en serie con la sonda, actuará como un Sonda 20x barata y se puede utilizar para medir 220V sin ningún problema. No olvide configurar la atenuación de la sonda como 20x en el osciloscopio.

    
respondido por el Whiskeyjack
0

Podría calibrarlo, pero un mejor enfoque podría ser utilizar solo el borde descendente de la salida ZCD. Como puede ver en el siguiente gráfico, el tiempo de encendido y de transición es relativamente bajo e invariable con la resistencia de carga (y debería ser igualmente menor en las variaciones y temperatura de unidad a unidad). Solo debe haber unos pocos microsegundos en su configuración.

Con los valores que muestra, el ancho del pulso de cruce por cero se extenderá más allá del cruce por cero en aproximadamente 150useg, por lo que unos pocos usec no harán mucha diferencia si observa el borde descendente. La salida tiene así un par de cientos de microsegundos para apagar.

Si está pensando en calibrar la variación de la amplitud del pulso (el ~ 150usec), no creo que sea una propuesta tan fácil, depende del CTR, que puede calibrar pero el CTR varía con la temperatura y con el envejecimiento de la optoacoplador para que una sola calibración en la fábrica no ayude mucho.

Tal vez podría medir el ancho total del pulso y ajustarlo a partir de eso, pero tendrá un tiempo de apagado lento, por lo que el ancho total no será tan preciso, y también variará con el voltaje de la línea si estamos más preocupados por el ángulo de disparo en lugar de la tensión. Podría usar una opción más rápida (salida lógica) y luego usar el ancho de pulso sería bastante sencillo.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas