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 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:
Saludos espero que me puedan ayudar.
PD: CCP1 = LED
CCP2 = Dimmer
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 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