Estoy haciendo un circuito que controla una carga para TRIAC, con cero detección. Cada vez que probaba el circuito, independientemente de lo que estaba enviando desde el microcontrolador, TRIAC siempre enviaba toda la corriente a la carga.
Cuando miré un osciloscopio para la detección de cero, me di cuenta de que solo detecta cero una vez en una onda completa (no dos). Investigué el componente que estaba usando y noté que el 4N35 solo tiene un LED, así que como no estaba rectificando mi onda antes, solo estaba detectando la parte positiva de la onda.
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 usando cuando detecta 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 Alcanzará el punto cero en: (60Hz) -> 8.3ms (1/2 ciclo) 8,3ms = 8300us (8300us - 8.33us) / 128 = 65 (aprox.) (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 TRIAC detectando cero solo en el lado positivo de la onda? ¿Es posible?
Con este código por ahora, cuando envío 128, simplemente deja pasar la onda por completo, y cuando digo 2, por ejemplo, la onda de salida sale todo "mal", sin seguir la onda de CA.
No hay necesidad de software complicado.
simular este circuito : esquema creado con CircuitLab
Figura 1. Reemplazar D2 con un puente rectificador encenderá el optoaislador en semiciclos de red tanto positivos como negativos.
Su valor de 59k para la resistencia limitadora de corriente, R5, parece sospechosamente bajo. Debe verificar sus cálculos para esto y la potencia nominal. La mayoría de las resistencias de película metálica o de carbono solo están clasificadas para 200 V aproximadamente. Su red eléctrica de 220 V alcanzará su punto máximo en por lo que es habitual utilizar dos resistencias en serie para compensar el valor requerido.
Figura 2. Se podría montar un segundo 4N35 sobre el existente. Tenga en cuenta que los terminales LED requieren un cruce.
Los triacs no se pueden apagar a través de la puerta. Puede apagar la corriente de la compuerta, pero el Triac solo se apagará solo cuando la corriente de retención a través de los terminales MT1-MT2 pase el (actual) cruce por cero.
Lo que tienes que hacer en tu rutina de interrupción es:
--- Ahora estamos en el cruce por cero de negativo a positivo
--- Ahora estamos en el cruce por cero de positivo a negativo
En primer lugar, no hay nada conceptualmente incorrecto con el circuito que ha diseñado a pesar de que solo emite señales durante el semiciclo positivo (sin embargo, hay muchos problemas prácticos con él).
El borde de ataque de su señal MCU está cerca del cruce por cero (x voltios después) en el semiciclo positivo y el borde posterior está cerca del cruce por cero (x voltios antes) para el semiciclo negativo.
Puede configurar una interrupción que le permita responder a la transición 0-1 o la transición 1-0 en su MCU.
El mayor problema con su diseño son las corrientes de funcionamiento muy bajas que ha elegido configurar, lo que hace que el diseño no sea ideal.
Considere que para su diseño, Q1 necesita hundir 500 uA (más alguna corriente desconocida para bajar la señal de MCU, que ignoraré), y eso requerirá aproximadamente 5 uA de corriente base en el Hfe mínimo de 100. La corriente CE para el 4N35 es por lo tanto alrededor de 6 uA. Con esta corriente baja, el CTR del 4N35 es muy bajo y probablemente solo del orden de 0,1, por lo que se requieren alrededor de 60 uA de corriente LED. Esto significará que el voltaje de entrada de CA será de aproximadamente 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á durante el tiempo que se tarde en cargar el C4 con estas corrientes increíblemente bajas.
Lo desafiaría a revisar su diseño nuevamente e intentar predecir el voltaje de activación requerido en la línea de CA en un rango de temperatura de solo 0-30 °C y con un rango de características BC547 y 4N35. No será una buena foto.
Prefiero un esquema como este basado en un FET de modo de agotamiento para detectar cruces por cero de manera confiable:
simular este circuito : esquema creado con CircuitLab
Con este tipo de detección, obtiene el mismo nivel de disparo para los semiciclos positivo y negativo, y el disparo siempre ocurre justo después del cruce por cero. Entonces solo necesita detectar un solo borde si usa la detección de interrupción.
jhonger
jhonger