El microcontrolador necesita un tiristor bidireccional para controlar PWM. Encuentre el diagrama de circuito y el programa relevantes (preferiblemente en lenguaje C). El resto de mi riqueza le di a todos.
El circuito es muy simple. Una rutina de servicio de interrupción puede completar el circuito de activación del tiristor y el circuito de detección de cruce por cero.
No conozco algunos detalles de tu aplicación, solo quiero compartir brevemente mis pensamientos.
Normalmente, se utiliza MOC3021 para la activación de SCR. Hay un circuito típico en el manual correspondiente y la CPU se puede terminar con un GPIO.
En el control de bucle cerrado, la detección de cruce por cero no necesita ser muy precisa. Normalmente es suficiente un optoacoplador bidireccional. La entrada del optoacoplador está conectada a la entrada de CA y la salida está conectada a la interrupción de la CPU. Lo mejor es utilizar el modelado Schmidt de la señal de salida.
La estructura del programa de interrupción se divide en dos partes: interrupción de cruce por cero e interrupción de retardo.
La interrupción de cruce por cero hace dos cosas, restablece la salida e inicia el retraso. Si el temporizador tiene una función de inicio de reinicio de pin externo, esta parte se puede omitir.
Las interrupciones retardadas hacen una cosa: activar la salida. Si el temporizador tiene la función de activar la salida, este programa de interrupción no es necesario.
El tiempo de retardo específico lo controla el programa principal y generalmente se establece en función de los resultados del cálculo del PID. Tenga en cuenta que cuanto mayor sea el tiempo de retardo, menor será el voltaje de salida.