Upload
jaime-ricardo
View
2
Download
1
Embed Size (px)
Citation preview
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 1 de 8
1
INTRODUCCIN
L presente informe documenta la practica
correspondiente al ltimo laboratorio, donde la
practica consiste en la caracterizacin de la celda solar,
y el de una batera de 5Voltios.
Para los cuales se implemento un sistema que carga la
batera, conectando la celda solar como principal fuente
de energa, y el pic que se encarga de censar y controlar
los niveles de carga de la batera, representando su valor
en voltaje mediante un LCD.
I. OBJETIVOS
Implementar la caracterizacin de la celda solar con
tcnicas establecidas.
obtener experimentalmente los valores en voltaje de
carga y descarga de la batera de 5v en un proceso
de 8 horas de anlisis de la variacin de los voltajes.
comparar los datos experimentales con los
previamente establecidos en datasheet de diversos
fabricantes.
Establecer el margen limite de carga y descarga de la
batera, para poder censar su operacin vista en un
LCD, conectada a un circuito con el PIC.
Emplear el correcto programa codificado para
que el microcontrolador manipule la variable del
voltaje.
II. PLANTEAMIENTO DEL PROBLEMA
Realizar la implementacin de un proyecto con la celda
solar y la batera caracterizadas, junto con un PIC y un
LCD en un circuito establecido en clase, que muestre la
variacin del voltaje y el porcentaje de carga de la
batera.
3.1. MARCO TEORICO
El PIC16F877 es un microcontrolador con memoria
de programa tipo FLASH, lo que representa gran
facilidad en el desarrollo de prototipos y en su
aprendizaje ya que no se requiere borrarlo con luz
ultravioleta como las versiones EPROM, sino que
permite reprogramarlo nuevamente sin ser borrado con
anterioridad. El PIC16F877 es un microcontrolador de
Microchip Technology fabricado en tecnologa CMOS,
su consumo de potencia es muy bajo y adems es
completamente esttico, esto quiere decir que el reloj
puede detenerse y los datos de la memoria no se pierden.
Figura 1. Configuracin de pines del pic 16f877
Proyecto de Laboratorio #4:
Caracterizacin de un Panel Solar
ADISON A. LUNA PEREZ - 1160210
JAIME BERMUDEZ 1160012
E
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 2 de 8
2
Las siglas LCD significan ("Liquid Cristal Display")
pantalla de cristal lquido. Es una pantalla plana
desarrollada por Pierre-Gilles de Gennes, basada en el
uso de una sustancia lquida atrapada entre 2 placas de
vidrio, haciendo que al aplicar una corriente elctrica a
una zona especfica, esta se vuelva opaca y contraste con
la iluminacin CCFL trasera. Este principio es aplicado
pero con ciertas modificaciones (ya que se utilizan 3
colores bsicos para generar la gama de colores), lo cul
permite la visualizacin de imgenes procedentes de la
computadora, por medio de el puerto de video hasta los
circuitos de la pantalla LCD, entran dentro de la
clasificacin FPD ("Flat Panel Displays")
visualizadores de panel plano.
Figura 2. Asignacion de pines del LCD
PIC12F629
Figura 3.Asignacion de pines del LCD
3.2. MATERIALES UTILIZADOS
Panel solar
Batera recargable de 5v
pic16f877a
PIC12F629
Multmetros digitales
Potencimetros 1 k, 10 k
Cables bananas caimn
Estacin de trabajo con el Software Matlab
III. DESARROLLO DE LA PRCTICA
3.1 UNIDAD DE CONTROL
Bsicamente consiste en dos conmutadores de estado
slido (mosfets) activados por una unidad de control
(microcontrolador) que conecta automticamente un
panel solar o una fuente de alimentacin permitiendo la
carga de una batera y el abastecimiento de una
instalacin de 12V. [1]
Figura 3. Esquema del Circuito del proyecto [1]
Figura 4. Vista pictrica de la unidad de control fotovoltaica
[1]
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 3 de 8
3
Figura 5. Encapsulado de los mosfets y de los diodos [1]
Figura 6. Circuito impreso de la unidad de control
fotovoltaica [1]
Figura 7. Montaje en la Baquela-Unidad de control
fotovoltaiva
3.2. SOFTWARE DEL MICRO PIC12F629
El software del micro lo he escrito en C y es
relativamente simple. Est compuesto por un bucle
principal (while) y por pocas funciones: una de
inicializacin (funcin setting), una para la lectura del
ADC (funcin read_adc) y una que ayuda en la
conmutacin de los estados (funcin status_switch). El
sistema puede adoptar tres estados distintos en base a la
tensin de la batera: BAT_NORMAL, BAT_FULL y
BAT_EMPTY.
BAT_NORMAL: es el estado en el cual el panel solar
est conectado y la batera se encuentra en carga normal
a travs del sol.
BAT_FULL: la batera est completamente cargada y
por lo tanto el panel solar y la fuente estn
desconectados
BAT_EMPTY: la tensin en la batera ha disminuido
ms all de un cierto lmite y por lo tanto el sistema ha
conectado la fuente de emergencia para cargar la batera.
Como mencionado en la descripcin del sistema, los
estados BAT_FULL y BAT_EMPTY tienen histresis.
Me explico mejor. Supongamos que la tensin de la
batera disminuye por debajo de la tensin de umbral
mnima (batera descargada), por lo tanto el sistema pasa
al estado BAT_EMPTY conectndose la fuente de
emergencia para cargar la batera. Una vez que la batera
empieza a tomar carga, la tensin inmediatamente
superar el umbral y por lo tanto el sistema pasa a
BAT_NORMAL desconectando la fuente. El problema
es que la batera, en tan breve tiempo no se logra cargar.
Su tensin desciende enseguida y nuevamente pasa a
BAT_EMPTY, as al infinito. Para evitar este problema
(tpico de todos los sistemas autoregulados) se usa la
histresis que simplemente consiste en crear dos
umbrales distintos, uno cuando se baja y otro cuando se
sube. Por ejemplo, la fuente se activa cuando la tensin
de la batera desciende de los 11,5V mientras que se
desactiva cuando se superan los 12,5V.
En el programa he previsto dos valores de histresis
distintos, uno cuando es necesario desconectar todo
porque la batera est completamente cargada
(BAT_FULL) y otro cuando la batera est
completamente descargada y es necesario activar la
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 4 de 8
4
fuente de emergencia (BAT_EMPTY). Por ahora he
usado un valor numrico de 40 que equivale
aproximadamente a 0,8V de histresis. No excluyo en el
futuro de modificarlos y probablemente de
diferenciarlos entre si.
Como expliqu antes, hacer la regulacin de los
umbrales del sistema a travs de los presets con la
histresis activada es cosa de locos. Por este motivo he
agregado un pulsador que desactiva provisoriamente la
histresis para permitir esta regulacin. Para hacer que
el programa trabaje as simplemente controlo el estado
del pulsador y si se encuentra activado (nivel lgico 0)
hago que las variables v_offset_full y v_offset_empty
que determinan la amplitud de las histresis tengan
como valor 0 mientras que cuando el pulsador se
encuentra desactivado (nivel lgico 1) memorizo en
v_offset_full y v_offset_empty el valor 40. [1]
Codigo del Pic12f629
//------------------------------------------------------------------------------------------------------------
---
// Sistema fotovoltaico (in C)
// ===============================
// Project: Sistema-fotovoltaico.c
// author: Gabriel Inventable
// date: 03/07/2013
// picmicro: PIC12F675
// clock: internal RC
// This works is licensed under Creative Commons BY-NC-SA
// ------------------------------------------------------------------------------------------------------------
--
// DEFINE
// ------------------------------------------------------------------------------------------------------------
--
#define FOSC 4000000L
//------------------------------------------------------------------------------------------------------------
---
// I/O pins map
//------------------------------------------------------------------------------------------------------------
---
#define p_trim_vmax GP0 // IN ANA 0
#define P_trim_vmin GP4 // IN ANA (ANA 3)
#define p_vbat GP1 // IN ANA 1
#define p_ctrl_power GP2 // OUT (ANA 2)
#define p_ctrl_solar GP5 // OUT
#define p_push_button GP3 // IN DIG
#define TrisMap 0b00011011 // In/Out pins mode (TRIS MAP)
#define AnaInMap 0b00001011 // An0 = ON, An1 = ON, An2 = OFF, An3 = ON
//------------------------------------------------------------------------------------------------------------
---
// Analogic channel
//------------------------------------------------------------------------------------------------------------
---
#define ch_trim_vmax 0 // trimmer max analogic channel
#define ch_trim_vmin 3 // trimmer min analogic channel
#define ch_vbat 1 // V battery analogic channel
//------------------------------------------------------------------------------------------------------------
---
// State system
//------------------------------------------------------------------------------------------------------------
---
#define BAT_NORMAL 0 // Normal battery operation
#define BAT_EMPTY 1 // Empty charge battery
#define BAT_FULL 2 // Full charge battery
#define BAT_TEST 3 // not used
// ------------------------------------------------------------------------------------------------------------
--
// INCLUDE
// ------------------------------------------------------------------------------------------------------------
--
#include
#include "delay.c"
// ------------------------------------------------------------------------------------------------------------
--
// FUSE CONFIG
// ------------------------------------------------------------------------------------------------------------
--
__CONFIG(FOSC_INTRCIO & // INTERNAL OSC RC 4MHz
WDTE_OFF & // watchdog disabled
PWRTE_ON & // power timer enabled
MCLRE_OFF & // Master clear off
BOREN_ON & // Brown-out Reset Enable bit ON
CP_ON & // Code Protection ON
CPD_OFF); // Code Protection Data OFF
// ------------------------------------------------------------------------------------------------------------
--
// Variabili
// ------------------------------------------------------------------------------------------------------------
--
unsigned char status_sys = 0; // System status (state machine)
unsigned int vmax_trim = 0; // V max trimmer var
unsigned int vmin_trim = 0; // V min trimmer var
unsigned int vbat = 0; // V bat var
unsigned int v_offset_full; // V offset full
unsigned int v_offset_empty; // V offset empty
// ------------------------------------------------------------------------------------------------------------
--
// Settings
// ------------------------------------------------------------------------------------------------------------
--
void settings(void)
{
TRISIO = TrisMap; // Setting In/Out pins
CMCON = 7; // Comparator Module OFF
ANSEL = AnaInMap; // Set analogic input
// Pic setting
// ---------------------------------------------
ADCON0 = 0b10000001; // Programming ADC Module
// bit 0 -> ADC ON / OFF
// bit 1 -> GO/DONE (1=start 0=finish)
// bit 2 -> CHS0 AN input A0
// bit 3 -> CHS1 AN input A1
// bit 4 -> NC
// bit 5 -> NC
// bit 6 -> AVCFG: Voltage Reference bit 1 = VREF pin 0 = VDD
// bit 7 -> ADFM A/D Result Format Select bit (1:right 0:left)
OPTION_REG = 0b11010001;
// bits 2,1,0 -> Prescaler Rate Select bit
// bit 3 -> Prescaler assegnato al Timer0
// bit 4 -> TMR0 Source edge mode (not used)
// bit 5 -> TMR0 Clock Source Select bit (0:internal 1:RA4/T0CKI)
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 5 de 8
5
// bit 6 -> Interrupt edge mode (not used)
// bit 7 -> Pull-up Enable bit (0: enabled)
DelayMs(100);
PEIE = 0; // periferic interrupt disable
GIE = 0; // global interrupt disable
}
// ------------------------------------------------------------------------------------------------------------
--
// Read ADC function
// ------------------------------------------------------------------------------------------------------------
--
unsigned int read_adc(unsigned char channel)
{
unsigned int adc_temp_value = 0;
ADCON0 &= 0xf3; // Clear Channel selection bits
switch(channel)
{
case 0: ADCON0 |= 0x00; break; // Select GP0 pin as ADC input
case 1: ADCON0 |= 0x04; break; // Select GP1 pin as ADC input
case 2: ADCON0 |= 0x08; break; // Select GP2 pin as ADC input
case 3: ADCON0 |= 0x0c; break; // Select GP4 pin as ADC input
default: return 0; //Return error, wrong channel selected
}
DelayMs(10);
for(char samples_count = 0; samples_count < 10; samples_count++)
{
GO = 1; // initiate conversion on the selected channel
while(GO)continue;
adc_temp_value = adc_temp_value + ADRESL + (ADRESH (vmin_trim + v_offset_empty)) status_switch(BAT_NORMAL);
break;
}
} // end switch
} // end while
} // end function
3.3. Voltaje de la Bateria mostrado por el display lcd
Figura 8. Montaje en Proteus
Figura 8. Montaje en la protoboard
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 6 de 8
6
3.4. SOFTWARE DEL MICRO PIC16F877A
#include
#device adc=10
#fuses XT,NOWDT
#use delay (clock=4MHZ)
#use standard_io(c)
#include
void main(){
long data_adc;
float voltaje;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
while(true){
set_adc_channel(0);
delay_us(20);
data_adc=read_adc();
voltaje=5.0*data_adc/1023.0;
printf(lcd_putc,"\fVoltaje=%1.3f",voltaje);
delay_ms(100);
if(voltaje =4.5) output_low(PIN_C1);
else output_high(PIN_C1);
}}
3.5. Proyecto implementado
El proyecto que se implemento fue iluminacion de una casa a
escala usando unos leds.
Figura 9. Proyecto implementado fisicamente-elaboracion
propia
Figura 9. Proyecto implementado fisicamente-elaboracion
propia
Figura 10. Proyecto implementado fisicamente-elaboracion
propia 2 parte
IV. CONCLUSIONES
El software MATLAB nos proporciona la comodidad
de realizar la operacin con tal solo ingresar la
ecuacin y la herramienta con funcin a realizar en
este caso promediar los valores del voltaje de la
batera.
Las curvas de voltaje corriente obtenidas, se
compararon con los documentos y archivos
investigados como datasheets
Un mal uso en el exceso del tiempo de carga o de
descarga de la batera puede hacer que esta reduzca
su vida til.
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 7 de 8
7
V. REFERENCIAS
[1] I. S. Sepulveda, Prctica de Laboratorio #2:, Cucuta, 2015.
[2] M. H. Brown RE, Detecting outliers when fitting data
with nonlinear regression a new method, [En lnea].
Available:
[3] e. n. i. p. D. Didactica, Inventable.eu/, [En lnea].
Available: http://www.inventable.eu/2013/11/15/sistema-
fotovoltaico-simplificado/.
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERA ELECTRNICA
ENERGA SOLAR FOTOVOLTAICA
INF-PVSE
Versin: 1.0
Pgina: 8 de 8
8