3 votos

Detección del paso por cero

Estoy haciendo un circuito que controla una carga para TRIAC, con detección de cero. Siempre que he probado el circuito, independientemente de lo que enviaba desde el microcontrolador, el TRIAC siempre enviaba toda la corriente a la carga.

Circuit

Cuando miré un osciloscopio para la detección del cero, me di cuenta de que sólo detectaba el cero una vez en una onda completa (no dos). Investigué el componente que estaba utilizando y me di cuenta de que el 4N35 sólo tiene un LED, así que como antes no rectificaba mi onda, sólo detectaba la parte positiva de la misma.

No encuentro ningún circuito integrado que tenga dos LEDs en mi ciudad, así que decidí cambiar el software. Esta es la función que he estado utilizando cuando capta la interrupción:

 int dimtime = (65*dimming);    // For 60Hz => 65    
  usleep(dimtime);    // Wait for start TRIAC
  digitalWrite(AC_LOAD1, HIGH);   // Start TRIAC
  usleep(8.33);       // Delay TRIAC
  digitalWrite(AC_LOAD1, LOW);    // Turn off

Este 65 vino de: 1 onda completa de 60Hz = 1/60 = 16.6ms Llegará al punto cero en: (60Hz) -> 8,3ms (1/2 ciclo) 8,3ms = 8300us (8300us - 8,33us) / 128 = 65 (Aproximadamente) (y 128 fue la cantidad de pasos que dividí)

En mi país, tengo 220V y 60Hz para AC.

Mi pregunta es: ¿cómo puedo cambiar mi código para controlar el TRIAC detectando el cero sólo en el lado positivo de la onda? ¿Es posible?

Con este código por ahora, cuando envío 128, simplemente deja pasar la onda completamente, y cuando digo 2, por ejemplo, la onda de salida sale toda "mal", sin seguir la onda AC.

7voto

transistor Puntos 2074

No es necesario un software complicado.

schematic

simular este circuito - Esquema creado con CircuitLab

Figura 1. Sustituyendo D2 por un puente rectificador se encenderá el optoaislador en los semiciclos positivo y negativo de la red.

Tu valor de 59k para la resistencia limitadora de corriente, R5, parece sospechosamente bajo. Deberías comprobar tus cálculos al respecto y la potencia nominal. La mayoría de las resistencias de carbono o de película metálica sólo tienen una potencia nominal de 200 V más o menos. Tu red de 220 V tendrá un pico de \$ 220 \sqrt 2 \ \text V \$ por lo que es habitual utilizar dos resistencias en serie para completar el valor requerido.


schematic

simular este circuito

Figura 2. Un segundo 4N35 puede ser añadido al existente. Tenga en cuenta que los terminales del LED requieren un cruce.

1voto

Janka Puntos 305

Los triacs no se pueden apagar a través de la puerta. Se puede apagar la corriente de la compuerta, pero el triac sólo se apagará por sí mismo en cuanto la corriente de retención a través de los terminales MT1-MT2 pase el cruce (de corriente) de cero.

Lo que tienes que hacer en tu rutina de interrupción es:

--- Estamos ahora en el cruce de cero de negativo a positivo

  1. Esperar la hora del ángulo
  2. Conectar la corriente de la puerta
  3. Espera 100µs para que el Triac pueda reaccionar a la corriente de puerta.
  4. Desconectar la corriente de la puerta
  5. Espere el tiempo de ángulo de 8,33ms-100µs

--- Estamos ahora en el cruce de cero de positivo a negativo

  1. Esperar la hora del ángulo
  2. Conectar la corriente de la puerta
  3. Espera 100µs para que el Triac pueda reaccionar a la corriente de puerta.
  4. Desconectar la corriente de la puerta
  5. Fin de la interrupción.

1voto

Jamie3213 Puntos 48

En primer lugar, el circuito que has diseñado no tiene nada de malo desde el punto de vista conceptual, aunque sólo emita señales durante el semiciclo positivo (sin embargo, tiene muchos problemas prácticos).

El borde de ataque de la señal de su MCU está cerca del cruce de cero (x voltios después de él) en el medio ciclo positivo y el borde de salida está cerca del cruce de cero (x voltios antes de él) para el medio ciclo negativo.

Podrías configurar una interrupción que te permita responder a la transición 0-1 o a la transición 1-0 en tu MCU.

El mayor problema de tu diseño son las bajísimas corrientes de funcionamiento que has decidido establecer, lo que hace que el diseño no sea el ideal.

Téngalo en cuenta para su diseño, Q1 necesita hundir 500 uA (más alguna corriente desconocida para tirar de la señal del MCU a nivel bajo, que ignoraré), y eso requerirá unos 5 uA de corriente de base a la Hfe mínima de 100. La corriente C-E para el 4N35 es, por tanto, de unos 6 uA. A esta baja corriente el CTR del 4N35 es muy bajo y probablemente sólo del orden de 0,1, por lo que se requieren unos 60uA de corriente de LED. Esto significa que la tensión de entrada de CA será de unos 4,5 V. Este podría ser un nivel de voltaje aceptable para la detección, pero será muy sensible a la temperatura y se corromperá por el tiempo que tarda en cargar el C4 a estas corrientes increíblemente bajas.

Te reto a que vuelvas a repasar tu diseño e intentes predecir la tensión de disparo necesaria en la línea de CA en un rango de temperatura de sólo 0-30 grados C y con un rango de características de BC547 y 4N35. No será una imagen agradable.

Prefiero un esquema como este basado en un FET de modo de agotamiento para detectar los cruces de cero de forma fiable:

schematic

simular este circuito - Esquema creado con CircuitLab

Con este tipo de detección se obtiene el mismo nivel de disparo para los semiciclos positivos y negativos, y el disparo se produce siempre justo después del cruce por cero. Así, sólo es necesario detectar un único flanco si se utiliza la detección de interrupción.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X