¿Cómo activar un SCR después de un cierto tiempo desde el inicio de un ciclo de voltaje de la red?

3

Estoy buscando un código Arduino que use PWM. Sin embargo, el mío es un poco diferente a la mayoría de los programas PWM porque estoy buscando crear algún tipo de punto de referencia dentro del código para no solo variar el ciclo de trabajo, sino también para controlar dónde se activará el pulso de salida en la onda sinusoidal. Es un poco difícil de visualizar, así que aquí hay algunas fotos:

Lo que quiero encontrar:

Loqueheestadoencontrando:

La imagen de arriba es el código PWM típico que he encontrado, pero es irrelevante para mi aplicación porque dispararé un SCR (que solo reconoce el flanco ascendente del pulso de salida). A continuación se muestra una idea general de cómo deseo controlar el ángulo de disparo de SCR:

Así que estoy pensando que necesitaré algún tipo de punto de referencia dentro del código para hacer que el flanco descendente del ciclo de trabajo sea donde se activará el pulso de salida. Esa es mi única pista de cómo atacar este problema. Por favor, avíseme si no fui muy claro en ciertos detalles con este problema.

    
pregunta Maraldz

1 respuesta

2

Por lo que he entendido, desea recortar una parte de la onda sinusoidal utilizando un SCR. Además, desea controlar el SCR con un Arduino. Para hacerlo, como ha señalado, necesitará un punto de referencia, y ese es el inicio de la onda sinusoidal . Para lograr lo que está tratando de hacer, siga las instrucciones a continuación.

Después del inicio del ciclo de onda sinusoidal, inicie un temporizador de cuenta regresiva en el software. Cuando el temporizador termine de contar, encienda el SCR. El SCR utilizará este fuego hasta el final del ciclo de la onda sinusoidal y permanecerá encendido hasta entonces. Ahora, repita lo mismo para otros ciclos.

Advertencia: los siguientes circuitos incluyen el contacto con la tensión de la red. Tenga cuidado y sepa cómo interactuar con el voltaje de la red antes de intentar construir estos circuitos.

El circuito anterior crea una salida digital con respecto a la red eléctrica. Dará una salida BAJA en SYNC_In cada vez que se detecte un cruce por cero. Pero tenga cuidado, porque esto generará una salida cada vez que la onda sinusoidal de CA cruce el nivel cero en cualquier dirección, lo que significa que se emitirá en cada semiciclo o en 100 Hz si su red eléctrica está a 50 Hz.

Ahora que tiene un circuito que le dice cada vez que comienza un ciclo, puede crear un software que activará el SCR, cierto tiempo después de que comience un ciclo. Para controlar el SCR, te recomendaría que uses un optocoupler .

Aquí hay un ejemplo de pseudo código que hace este trabajo:

while (true)
{
    // control_value variable holds the value that tells us after how much time
    // since the start of the sine wave, we should fire the SCR.
    unsigned char control_value;

    unsigned char timer1;
    bit SYNC_Control;

    while (1)
    {
        while (SYNC_Signal)
        {
        } // SYNC signal is LOW each time a cycle begins. Wait for first LOW.

        // We have got a SYNC signal. Invert the
        // control bit so that we trigger once at every two SYNC signals.
        SYNC_Control = ~SYNC_Control;

        if (!SYNC_Control)
        {
            // This is not the signal we want.
            goto end; // Exit the function. The function will search for an another SYNC signal next time.
        }

        // _50_us is a timer and increments every 50 microseconds.
        // _500_us is a timer and increments every 500 microseconds.

        // Record the beggining time of the cycle and use it as reference.
        timer1 = _50_us;

        while ((unsigned char) (_50_us - timer1) < control_value)
        {
        } // Wait until control_value*50us is passed.  

        TRIAC_Gate = 1; // Then fire the SCR.
        delay_ms(1);
        TRIAC_Gate = 0; // SCR is ON now, we do not need to set this pin high anymore.
end:
        NOP();
    }
}
    
respondido por el abdullah kahraman

Lea otras preguntas en las etiquetas