Estoy haciendo un circuito que controla una carga para TRIAC, con detección de cero. Cada vez que probaba el circuito, independientemente de lo que enviaba desde el microcontrolador, TRIAC siempre enviaba toda la corriente a la carga.
Cuandomiréunosciloscopioparadetectarcero,medicuentadequesolodetectabacerounavezenunaondacompleta(nodos).Investiguéelcomponentequeestabausandoynotéqueel4N35solotieneunLED,asíquecomonoestabarectificandomiondaantes,soloestabadetectandolapartepositivadelaonda.
NopuedoencontrarningúncircuitointegradoquetengadosLEDenmiciudad,asíquedecidícambiarelsoftware.Estaeslafunciónqueheestadousandocuandodetectalainterrupción:
intdimtime=(65*dimming);//For60Hz=>65usleep(dimtime);//WaitforstartTRIACdigitalWrite(AC_LOAD1,HIGH);//StartTRIACusleep(8.33);//DelayTRIACdigitalWrite(AC_LOAD1,LOW);//TurnoffEste65vinode:1ondacompletade60Hz=1/60=16.6msAlcanzaráelpuntoceroen:(60Hz)->8.3ms(1/2ciclo)8,3ms=8300us(8300us-8.33us)/128=65(Aprox.)(Y128fuelacantidaddepasosquedividí)
Enmipaís,tengo220Vy60HzparaCA.
Mipreguntaes:¿cómopuedocambiarmicódigoparacontrolarTRIACdetectandocerosoloenelladopositivodelaola?¿Esposible?
Porahora,conestecódigo,cuandoenvío128,simplementedejaquelaondapaseporcompleto,ycuandodigo2,porejemplo,laondadesalidaseapaga"incorrectamente", sin seguir la onda de CA.



