Dimmer con pic 18f2550 y su funcionamiento no es el deseado!!

Ante todo hola a todos!

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

index.php


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 cuando la lampara estaba con baja intencidad parpadeaba mucho mas de lo que tendria que hacerlo. En el segundo intento practicamente no cambiaba de intencidad, sino que actuaba como una llave el dimmer(no tenia termino medio cuando movia el pote a la mitad la intencidad seguia fuerte y nunca tenia una intencidad baja!!).


Bueno abajo les dejo el codigo:

Código:
#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
 
Atrás
Arriba