Hola con todos este es mi primer post que hago en el foro, espero que me puedan ayudar. .....
El MOC3031 NO es apto para controlar TRIAC´s en modo de dimmer.
¿ Para que necesitas la frecuencia de 60Hz ?
¿ Esquema ?
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Hola con todos este es mi primer post que hago en el foro, espero que me puedan ayudar. .....
Hola fogonazo gracias por responder, bueno necesito 60Hz porque ese es el valor de la red eléctrica de la frecuencia en Lima.
adjunto el diagrama que vengo usando que encontré en internet, el moc3031 es un optotriac que detecta el cruce por cero....
Que tal nuevamente...
Te envio un archivo PDF de Microchip que describe el proyecto que tu quieres realizar, ten cuidado cuando lo implementes porque la fuente no usa transformador.
En el documento se explica todo y trae el codigo.
Saludos
Desde el momento en que se detecta el paso por "Cero" de la tensión de red generas un retardo variable de 0 a 10mS (50Hz) o de 0 a 8mS (60Hz), al finalizar ese retardo envías la señal de disparo al opto-TRIAC.
Hola nicoman, primero se debe detectar el cruce por cero mediante un pequeño circuito como el que adjunto..y conectar los pulsos hacia la RB0 del pic, interrupcion configurada para cada que detecte cada flanco de bajada (o si quieren la configurar para flanco de subida), y una vez que la interrupcion es detectada, (si se trabaja con una frecuencia de red de 120Hz) el periodo es 8.3ms, esto quiere decir que se generara una interrupcion cada 4.15ms lo cual es una eternidad para el pic que trabaja con un cristal de 4Mhz..
#include <16F877A.h>
#device adc=8
#device *=16
#fuses RC,NOWDT,NOLVP,NOPROTECT,PUT
#use delay(clock=1960000)
#use fast_io(A)
#use fast_io(C)
#use fast_io(D)
#byte puertoa=0x05
#byte puertoc=0x07
#byte puertob=0x06
int detector;
//Funciones
inicializar(){
puertoa=0;
puertob=0;
set_tris_b(0b111111);
set_tris_a(0b111111);//entrada puerto a
setup_port_a(all_analog);//todas entradas analogicas y vdd=vref
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);//indica canal de la entrada analogica
set_tris_c(0b00000000);
setup_ccp1(ccp_PWM);//entregar señal PWM
setup_timer_2(T2_DIV_BY_16,255,1);//tmr prescaler, #ciclos a contar, postscaler
}
//principal
main(){
inicializar();
while(TRUE){
detector=puertob;
if (detector==1){
set_pwm1_duty(read_adc());
}
}
}
Algunos no lee el todo las respuestas, se ha dicho que usar PWM para dimmer con cruce por cero no funciona bien.
Por que los 60Hz o 50Hz de la red electrica no son exactos varian en pequeña proporción
Por que los 60Hz o 50Hz de la red electrica no son exactos varian en pequeña proporción
creo que el problema es q esta generando la pwm bien el primer cruce por cero, pero se desfasa despues del segundo