8
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENIERÍA ELECTRÓNICA ENERGÍA SOLAR FOTOVOLTAICA INF-PVSE Versión: 1.0 Página: 1 de 8 1 INTRODUCCIÓN L presente informe documenta la practica correspondiente al último laboratorio, donde la practica consiste en la caracterización de la celda solar, y el de una batería de 5Voltios. Para los cuales se implemento un sistema que carga la batería, conectando la celda solar como principal fuente de energía, y el pic que se encarga de censar y controlar los niveles de carga de la batería, representando su valor en voltaje mediante un LCD. I. OBJETIVOS Implementar la caracterización de la celda solar con técnicas establecidas. obtener experimentalmente los valores en voltaje de carga y descarga de la batería de 5v en un proceso de 8 horas de análisis de la variación 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 batería, para poder censar su operación 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 implementación de un proyecto con la celda solar y la batería caracterizadas, junto con un PIC y un LCD en un circuito establecido en clase, que muestre la variación del voltaje y el porcentaje de carga de la batería. 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 tecnología CMOS, su consumo de potencia es muy bajo y además es completamente estático, esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden. Figura 1. Configuración de pines del pic 16f877 Proyecto de Laboratorio #4: “Caracterización de un Panel Solar” ADISON A. LUNA PEREZ - 1160210 JAIME BERMUDEZ 1160012 E

proyecto final.pdf

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