He hecho esto antes, excepto que estaba controlando las luces del teatro a 20 A por canal. Así es como lo hice:
simular este circuito : esquema creado usando CircuitLab
- R1 establece la corriente a través del lado LED del aislador, al igual que estás acostumbrado.
- R2 limita la corriente a lo que se califica para el aislador, pero solo se necesita mientras el triac de energía está en el proceso de encendido. Use algo que pueda manejar el voltaje de línea completo y una cantidad decente de energía, pero apenas debería calentarse.
- L1 limita dI / dt a través del triac para que coincida con su calificación. Puede ir más grande para reducir la EMI, pero no demasiado grande o puede resultar difícil apagar el circuito. Más sobre eso más adelante.
- R4 tiene una función similar a R1.
- Puede compartir el mismo detector de cruce por cero para todos los canales. Tenga en cuenta que el ancho del pulso no es cero, por lo que deberá encontrar el centro y usarlo.
La teoría de la operación es:
- Espere el cruce por cero
- Desactivar PWM
- Espere el tiempo de apagado deseado
- activar PWM
- Repetir
Puede hacer esto en paralelo para tantos canales como hardware y tiempo de procesamiento. Siempre lo golpeé con interrupciones mientras el bucle principal manejaba las comunicaciones.
El PWM debe estar sincronizado con la línea de alimentación de CA porque el triac se engancha hasta que la corriente se detiene (lo que debe hacer en cada cruce por cero, por lo que estamos bien allí). Técnicamente, no es necesario mantenerlo activado, pero facilita la lógica y elimina el requisito de una carga mínima.
El comportamiento de enganche también puede causar un problema por falsos disparadores. Si la carga es demasiado reactiva, incluida la L1, entonces la caída del triac puede causar suficiente patada inductiva para volver a dispararla, por lo que se adhiere al 100%.