presentacion diciembre

16
ALIMENTACIÓN POR ULTRACONDENSADORES

Upload: 1977antonio

Post on 29-Jul-2015

498 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Presentacion diciembre

ALIMENTACIÓN POR ULTRACONDENSADORES

Page 2: Presentacion diciembre

ÍNDICE

1. Nuestro Proyecto.

1. Alcance Actual.

1. Explicación Técnica (Circuito).o Circuito (Proteus).1. Explicación por bloques.

2. Explicación Técnica (Programa)o Programa (Prueba).o Programa (Final).

• Demostración.

Page 3: Presentacion diciembre

NUESTRO PROYECTO

• Alimentado por una placa solar.

• Carga y descarga de ultra-condensadores, a traves de 2 circuitos “buck-boost”.

• Para alimentar pequeñas cargas.

Page 4: Presentacion diciembre
Page 5: Presentacion diciembre

ALCANCE ACTUAL (DICIEMBRE)

• Es teórico: Programa en “C” y Proteus.

• El circuito y programa para el control de una tensión fija (12V).

Page 6: Presentacion diciembre

EXPLICACIÓN TÉCNICA (Circuito)

• Alimentación externa por fuente de alimentación con un condensador de prueba.

• Control por circuito “Buck-Boost”.

• Control de impulsos PWM con “µC”.

• Salida fija (12V).

Page 7: Presentacion diciembre

CIRCUITO (Proteus)

Page 8: Presentacion diciembre

EXPLICACIÓN POR BLOQUES

Pruebas de investigación:

• Variando el % y frecuencia del impulso y R2, hasta llegar a un valor de tensión válido

1.- 60% | 100KHz | 100Ω Vp = 40V

2.- 50% | 50 KHz | 1KΩ Vp = 27V

3.- 40 % | 100KHz | 1KΩ Vp = 23´75V

4.- 30 % | 50KHz | 100 Ω Vp = 20 V

Page 9: Presentacion diciembre

VARIACIÓN MANUAL DEL PWM

Page 10: Presentacion diciembre

VARIACIÓN AUTOMATICA DEL PWM

Page 11: Presentacion diciembre

EXPLICACIÓN TÉCNICA (Programa)

• Usamos un PIC 16f876a.

• Control por una entrada analógica.

• Control por una señal PWM.

• Monitorización de datos.

Page 12: Presentacion diciembre

PROGRAMA (Pruebas)

• while(1)• • restart_wdt();• a=getc();• switch(a)• case '8': c=c+10;• break;• case '2': c=c-10;• break;• case '6': c=c+25;• break;• case '4': c=c-25;• break;• case '5': c=c+5;•

• if(c)• • set_pwm1_duty(c);• b=read_adc();• printf("configuracion duty %d \r",c);• printf("lectura V = %1.2f \r",b/51);• restart_wdt();• • •

Page 13: Presentacion diciembre

PROGRAMA (Final)• #include <16f876a.h>• #byte port_a=5• #byte port_b=6• #byte port_c=7• #use delay(clock=4000000)• #use

rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8)• float b;• int c;• main()• • set_tris_a(0b00000001);• set_tris_c(0b10000000);• setup_timer_2(t2_div_by_1,127,1);• setup_ccp1(ccp_pwm);• setup_adc(ADC_CLOCK_INTERNAL);• setup_adc_ports(all_analog);• set_adc_channel(0);• c=20;

• while(1)• • delay_ms(20);• b=read_adc();• b=b/51;• if(b>2.52) set_pwm1_duty(c=c-5);• if(b<2.49) set_pwm1_duty(c=c+5);• if(b>2.49 && b<2.52) delay_ms(20);• if(c)• • printf("configuracion duty %d \r",c);• printf("lectura V = %1.2f \r",b);• restart_wdt();• • •

Page 14: Presentacion diciembre

• Transformar el valor en binario, en valores de tensión.

• Control para la estabilización de salida de tensión (12V) por PWM.

• delay_ms(20);

• b=read_adc();

• b=b/51;

• if(b>2.52) set_pwm1_duty(c=c-5);• if(b<2.49) set_pwm1_duty(c=c+5);• if(b>2.49 && b<2.52) delay_ms(20);

Page 15: Presentacion diciembre

DEMOSTRACIÓN

Page 16: Presentacion diciembre

GRACIAS POR SU ATENCIÓN