sincronización inconsistente de la señal de cruce por cero

0

Tengo un ESP-07 con firmware NodeMCU conectado a un módulo de atenuación con un pin de cruce por cero.

La frecuencia actual debe ser 50Hz, lo que significa que el tiempo entre dos cruces por cero debe ser de 10 ms, ~ 10000 microsegundos.

Sin embargo, el tiempo entre dos interrupciones es a veces correcto, pero a menudo es de unos 450 microsegundos.

¿Cuál es el truco? Yo uso tmr para medir el tiempo

Aquí está el código:

gpio.mode(2, gpio.INPUT)

gpio.mode(5, gpio.OUTPUT)

t = tmr.now();

counter = 0;

local function zc_callback(level, pulse)

    counter = counter + 1;
    counter = counter % 200;
    if(counter == 1) then
        print(tmr.now() - t);
    end

    t = tmr.now();

end

gpio.trig(2, "up", zc_callback)

Gracias, trato de resolver esto durante algún tiempo, afecta a mis bombillas que parpadean en lugar de atenuarse.

    

1 respuesta

-1

Ok, entiendo esto, el error fue "arriba", "alto" es lo que necesito.

    
respondido por el Mihai Ionuţ-Cosmin

Lea otras preguntas en las etiquetas