Autor Tema: Dimmer y su funcionamiento no es el deseado!!  (Leído 15995 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Dimmer y su funcionamiento no es el deseado!!
« en: 04 de Noviembre de 2010, 20:54:30 »
Ante todo hola a todos!

Bueno les cuento que realice un circuito de un dimmer que saque de este foro.



La verda anda de 10 el unico poblema que tengo que yo esto lo controlo con un PIC mediante PWM y no obtengo el resultado que quiero. Osea en la primer prueva cuan la lampara estaba con baja intencidad parpadeaba mucho mas de lo q tendria que hacerlo. en el segundo intento practicamente no cambiaba de intencidad sino que actuaba como una llave el dimmer(osea no tenia  termino medio cuando movia el pote a la mitad la intencidad seguia fuerte).


Bueno abajo les dejo el codigo:

Código: [Seleccionar]
#include <18f2550.h>
#DEVICE ADC=10

//FUSES Y OCILADOR
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG
#use delay(oscillator=20M)

//DEFINO PARA EL LCD
#define LCD_DB4 PIN_B4
#define LCD_DB5 PIN_B5
#define LCD_DB6 PIN_B6
#define LCD_DB7 PIN_B7
#define LCD_RS PIN_B1
#define LCD_E PIN_B2

#define  salida1_on        output_high(pin_a1)
#define  salida1_off       output_low(pin_a1)


//INCLUDE LIBRERIAS
#include <LCD.lib>


//FUNCION
int16 leer_adc(void){
int16 duty;
set_adc_channel(0);
delay_ms(1);
duty = read_adc();
lcd_gotoxy(1,2);
printf(lcd_putc,"%lu     ",duty);
delay_ms(1);
return(duty);
}


//MAIN
void main(void){

lcd_init();
delay_ms(1);
    setup_adc(ADC_CLOCK_INTERNAL);
    setup_adc_ports(AN0_ANALOG);
    setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,0xFF,1);

for(;;){
set_pwm1_duty(leer_adc());
set_pwm2_duty(leer_adc());
}
}


Saludos espero que me puedan ayudar.

PD: CCP1 = LED
      CCP2 = Dimmer

Desconectado sansanoloko

  • PIC10
  • *
  • Mensajes: 48
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #1 en: 05 de Noviembre de 2010, 03:20:37 »
Holas compañero kaki

Ese circuito es similar al que utilicé en un dimmer digital hace un par de años, y funcionaba de mil maravillas. Por lo que veo de tu post, puedo hacerte un par de acotaciones:

En el circuito utilizas el optoacoplador MOC3041, que sirve para encender y apagar cargas en la salida (luces, motores, etc.) ya que genera el disparo del triac en los cruces por cero (zero crossing) de la red electrica. Pero en el caso de un dimmer, se necesita generar el disparo despues de los cruces por cero (ángulo de disparo), cosa que este optoacoplador no te lo permite. Mi recomendación es mantener este circuito, pero cambiando el optoacoplador por el MOC3021 que es similar al que utilizas, pero sin detección de cruce por cero, lo que te permite disparar el triac con ángulos de disparo a voluntad.

Otro punto a considerar es el control por PWM. para controlar una carga alimentada con corriente continua, el PWM es más que util, pero en el caso de un dimmer, o mejor dicho en el control de un triac con alimentación de corriente alterna, el PWM no sirve. Debes tener en cuenta que el triac es un SCR, no es un transistor, así que no trabajará en corte y saturación (on/off) como un transistor bipolar o un mosfet, sino que funcionará por disparo y enganche. El triac comienza a conducir cuando se le suministra un pulso de disparo en su compuerta (gate), y conduce (se engancha) hasta el cruce por cero (se desengancha). Este proceso hay que repetirlo por cada semiciclo de la sinusoide. El tiempo que transcurre entre el cruce por cero y el disparo del triac se le llama "ángulo de disparo", y es en esencia un retardo. Dicho ángulo de disparo puede ser generado perfectamente por un microcontrolador PIC, siempre y cuando el micro se sincronice adecuadamente con los cruces por cero de la red eléctrica.

Bueno, estas son mis acotaciones por el momento. Esperando ser aporte, me despido por hoy.

Saludos a quienes nos leen.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #2 en: 05 de Noviembre de 2010, 11:38:52 »
Listo le puse un MOC3021 que no tiene paso por 0.

Bueno hice una prueva por PWM y no anduvo me hace lo mismo.

Lo que tengo pensado es con el Timer0, leer un valor de 0  a 1023 con la entrada y ese  valor hacignarcelo al Set_timer0(); y dentro de la interuccion del timer0 poner que el pin donde este conectado la pata Dato del circueto cambie de 1 a 0 y dependiendo del tiempo que yo le alla dado al timer.

Endienden algo??

Desconectado sansanoloko

  • PIC10
  • *
  • Mensajes: 48
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #3 en: 05 de Noviembre de 2010, 12:39:31 »
Insisto en que el PWM no es el camino. Mientras no te sincronices con los cruces por cero, no vas a tener buenos resultados gobernando el triac.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #4 en: 05 de Noviembre de 2010, 13:00:13 »
y como me sincroniso??

Desconectado sansanoloko

  • PIC10
  • *
  • Mensajes: 48
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #5 en: 05 de Noviembre de 2010, 13:04:58 »
Por un pin del microcontrolador, detectar cuando la tensión de la red es cero, mediante comparadores análogos o lo que se te ocurra. Teniendo la detección lista, se procesa en el programa del micro. En mi caso, yo conectaba la detección del cruce por cero al RB0 de un PIC16F648A, que me generaba una interrupción externa por flanco de bajada. Apenas tenga el circuito lo posteo.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #6 en: 05 de Noviembre de 2010, 14:19:29 »
En el circuito utilizas el optoacoplador MOC3041, que sirve para encender y apagar cargas en la salida (luces, motores, etc.) ya que genera el disparo del triac en los cruces por cero (zero crossing) de la red electrica. Pero en el caso de un dimmer, se necesita generar el disparo despues de los cruces por cero (ángulo de disparo), cosa que este optoacoplador no te lo permite. Mi recomendación es mantener este circuito, pero cambiando el optoacoplador por el MOC3021 que es similar al que utilizas, pero sin detección de cruce por cero, lo que te permite disparar el triac con ángulos de disparo a voluntad.

Otro punto a considerar es el control por PWM. para controlar una carga alimentada con corriente continua, el PWM es más que util, pero en el caso de un dimmer, o mejor dicho en el control de un triac con alimentación de corriente alterna, el PWM no sirve. Debes tener en cuenta que el triac es un SCR, no es un transistor, así que no trabajará en corte y saturación (on/off) como un transistor bipolar o un mosfet, sino que funcionará por disparo y enganche. El triac comienza a conducir cuando se le suministra un pulso de disparo en su compuerta (gate), y conduce (se engancha) hasta el cruce por cero (se desengancha). Este proceso hay que repetirlo por cada semiciclo de la sinusoide. El tiempo que transcurre entre el cruce por cero y el disparo del triac se le llama "ángulo de disparo", y es en esencia un retardo. Dicho ángulo de disparo puede ser generado perfectamente por un microcontrolador PIC, siempre y cuando el micro se sincronice adecuadamente con los cruces por cero de la red eléctrica.

Impecable tu explicacion sansanoloko

Kaki, si la frecuencia es de 50hz, su periodo es 1/50=0,02 segundos, por lo que 1/2 ciclo tarda 0,01 segundo, es decir, de cero a cero, tarda 10 milisegundos.
si 0,01/255=0.000392 que serian 392 microsegundos
Una vez sensado el cruce por cero, colocas un contador, que por cada cuenta realice el retardo de 390uS, y con ello controlas el angulo de disparo....

Suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #7 en: 05 de Noviembre de 2010, 16:40:44 »
Hay diferentes maneras de detectar cruces por 0, pero seguramente el PS-2505, sea una de las mejores opciones.

http://www.cel.com/pdf/datasheets/ps2505.pdf

Saludos

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #8 en: 05 de Noviembre de 2010, 20:13:15 »
y ten tambien presente que no todos los triacs funcionan para un mismo circuito.yo le di bastante caña hace tiempo a esto de los dimmer y no obtube los mismos
resultados de otros foreros.para esto de los dimmers me ayudo mucho nocturno.
el tiene en su pagina uno ya realizado. www.micropic.es

y para detectar el cruce por cero hay diferentes sistemas.tres que yo conozca.hay mucha informacion en el foro.

te recomiendo que uses el proteus para simular tu circuito.almenos para entender el funcionamiento de la deteccion del cruce por cero.que no es otra cosa que sincronizar los dos pasos por 0V de la corriente alterna.el de subida y el de bajada.
despues solo hay que activar el triac un periodo de tiempo antes de cada cruce.

usa el tmr0.es la forma mas facil.claro que yo use el 12F508,12F675 y el 16F84. con todos ellos me funciono.
la forma de activar el triac la puedes hacer por optoacoplador.o directamente por un pin del microcontrolador.aunque ya me carge algun pic de esta forma.
creo que por no usar un triac adecuado.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #9 en: 08 de Noviembre de 2010, 19:45:51 »
Gracias por su respuesta.. Voy a tratar de hacerlo solamente usando el Timmer0 y nada interrucciones.. si me sale lo posteo y sino lo are como lo hacen todo usnado la interrucion externa.

 Pronto las novedades estoy medio complicado con el estudio!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #10 en: 09 de Noviembre de 2010, 02:43:55 »
Si no sincronizas, ya sea con interrupción externa o mediante pool, no podrás conseguirlo. Por mucho que la tensión de la red esté a 50Hz (o 60Hz en algunos países), nunca es tan preciso y estable como para que el dimmer te funcione simplemente contando tiempos.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #11 en: 09 de Noviembre de 2010, 15:41:37 »
como es mediante pool??

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #12 en: 09 de Noviembre de 2010, 15:47:51 »
Pues leyendo el pin de alterna continuamente en el bucle principal de tu programa. Es mejor por interrupción, pero si no puedes o no quieres, así también funciona.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #13 en: 09 de Noviembre de 2010, 23:46:35 »
Como puede ser!!! tengo un circuito que es igual y no tiene paso por 0 la verdad anda una barbaridad.. es una plaqueta para manejar un motor de los portones automaticos!

Te aseguro que no toma ninguna referencia por ninguna pata del micro y el circuito es igual que el que puse yo!
Saludos!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dimmer y su funcionamiento no es el deseado!!
« Respuesta #14 en: 10 de Noviembre de 2010, 02:43:53 »
Bueno, si la regulación es mucho más lenta que los 50Hz de la red, no necesitas mirar el cruce por creo.
Si por ejemplo tu frecuencia de PWM es de 1Hz, y tu resolución máxima es de 50 pasos, podrás regular perfectamente con un timer sin mirar el paso por creo, ya que los ciclos de alterna pasarán completos.
De todas formas, me extraña eso que dices, porque para manejar la regulación de un motor se necesita una frecuencia superior. ¿Tienes el esquema de esa placa?, ¿seguro que es un dimmer digital?