Post on 15-Dec-2015
description
UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD
EVALUACIÓN DE CONVERSORES DC/DC Y SISTEMAS DE CONTROL PARA APLICACIONES
FOTOVOLTAICAS
HUGO MIGUEL VILLEGAS BARRÍA
-2006-
UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD
S
EVALUACIÓN DE CONVERSORES DC/DC Y ISTEMAS DE CONTROL PARA APLICACIONES
FOTOVOLTAICAS
HUGO MIGUEL
-2
Trabajo de Titulación presentado en conformidad a los
requisitos para obtener el Título de: Ingeniero de
Ejecución en Electricidad mención Electrónica.
Profesor Guía: Dr. Roberto Cárdenas D.
VILLEGAS BARRÍA
006-
i
AGRADECIMIENTOS
Quiero agradecer sinceramente a todas aquellas personas que me ayudaron directa o
indirectamente en el desarrollo de la presente tesis. De manera especial, agradezco al profesor Dr.
Roberto Cárdenas Dobson por su disposición y guía, igualmente al grupo de alumnos del
laboratorio de Investigación del Dpto. de Electricidad generación 2005 – 2006, conformado por:
Marcelo Pérez Uribe, Fernando Vargas Alvarado, José Proboste Bórquez, Enrique Escobar Pérez
e Iván Andrade Agüero por su amistad, cooperación, tesón y profesionalismo con que enfrentan
el día a día. También, agradecer a mi familia por el apoyo incondicional y la comprensión que
me han entregado en todos estos años.
De Hugo.
ii
RESUMEN
El seguimiento del punto de máxima potencia (MPPT de las siglas en inglés
Maximum Power Point Tracking) se utiliza en sistemas fotovoltaicos (FV) para
maximizar la potencia proporcionada por un panel solar, independiente de las
condiciones de radiación solar incidente, temperatura o características de la carga. El
mencionado sistema fotovoltaico, está compuesto de un conversor DC/DC, el cual se
conecta como interfase entre el panel solar y la carga. A su vez, el conversor cuenta
con una unidad de control, que controla el flujo de potencia proporcionado por el panel
solar, de forma tal de entregar la máxima potencia foto generada por el panel a la carga.
El presente trabajo de titulación tiene como objetivo estudiar tres técnicas de
control para el MPPT dos de ellas clásicas y una difusa, estas son: (a) perturbación y
observación, (b) conductancia incremental y (c) controlador basado en lógica difusa.
Las técnicas serán implementadas en la unidad de control de cada conversor DC/DC
diseñado y construido en el transcurso de esta Tesis, los conversores son: Boost y Buck
- Boost. La unidad de control mencionada esta controlada por un microcontrolador
PIC18F452 de Microchip Corporation.
Estrategias de control clásica serán desarrolladas tanto para ser aplicadas en el
conversor Boost y en el conversor Buck- Boost, además del controlador difuso
implementado sólo en el conversor Boost. Estas estrategias han de permitir la
localización del punto o zona de máxima potencia proporcionada por el panel solar,
ante diversas situaciones tales como: nivel de radiación solar incidente constante,
variación en el nivel de radiación solar y efectos de la temperatura en un panel solar.
iii
ÍNDICE GENERAL
1. INTRODUCCIÓN .........................................................................................................2
1.1 INTRODUCCIÓN GENERAL .............................................................................2
1.2 OBJETIVOS DE LA TESIS.................................................................................3
1.3 ESTRUCTURA DE LA TESIS.............................................................................4
2. CELDAS SOLARES ....................................................................................................7
2.1 INTRODUCCIÓN ...............................................................................................7
2.2 PRINCIPIO DE FUNCIONAMIENTO..................................................................8
2.3 CARACTERÍSTICAS ANALÍTICAS..................................................................11
2.4 SEGUIMIENTO DEL MPP................................................................................14
2.5 APLICACIONES...............................................................................................17
2.5.1 ELECTRIFICACIÓN RURAL ........................................................................18
2.5.2 APLICACIONES AGROGANADERAS .........................................................18
2.5.3 ILUMINACIÓN..............................................................................................18
2.5.4 TELECOMUNICACIONES ...........................................................................18
2.5.5 SEÑALIZACIÓN Y ALARMA ........................................................................18
2.5.6 OTRAS APLICACIONES..............................................................................19
3. SISTEMA EXPERIMENTAL ......................................................................................21
3.1 INTRODUCCIÓN .............................................................................................21
3.2 MICROCONTROLADOR PIC18F452 ..............................................................23
3.3 TARJETA DE PROGRAMACIÓN DE MICROCONTROLADRES PIC..............24
3.4 CONVERSORES DC/DC .................................................................................25
3.4.1 CONVERSOR BOOST.................................................................................25
3.4.2 CONVERSOR BUCK – BOOST...................................................................27
3.4.3 DISEÑO DEL CONVERSOR DC/DC ...........................................................30
3.4.4 UNIDAD DE CONTROL ...............................................................................32
iv
3.4.5 DISPARO DEL TRANSISTOR MOSFET .....................................................35
3.4.6 TARJETA CONVERSOR BOOST................................................................37
3.4.7 TARJETA CONVERSOR BUCK – BOOST ..................................................38
3.5 TARJETA LCD .................................................................................................40
3.6 COMUNICACIÓN SERIAL ...............................................................................43
3.7 MEMORIA EXTERNA EEPROM 24LC16B ......................................................45
4. ALGORITMOS DE CONTROL ..................................................................................48
4.1 INTRODUCCIÓN .............................................................................................48
4.2 PERTURBACIÓN Y OBSERVACIÓN ..............................................................49
4.3 CONDUCTANCIA INCREMENTAL..................................................................52
4.4 CONTROLADOR BASADO EN LÓGICA DIFUSA............................................56
4.4.1 FUZZIFICACIÓN ..........................................................................................57
4.4.2 METODO DE INFERENCIA .........................................................................58
4.4.3 DESFUZZIFICACIÓN...................................................................................59
5. RESULTADOS EXPERIMENTALES.........................................................................63
5.1 INTRODUCCIÓN .............................................................................................63
5.2 RESULTADOS EXPERIMENTALES................................................................63
5.2.1 RESULTADOS PARA LA GENERACIÓN DE CURVAS I –V y P – V. .........64
5.2.2 RESULTADOS DE MPPT CON RSI CONSTANTE .....................................67
5.2.3 RESULTADOS DE MPPT CON VARIACIÓN EN LA RSI ...........................75
6. CONCLUSIONES ......................................................................................................84
REFERENCIAS BIBLIOGRÁFICAS..............................................................................86
APÉNDICE A. MENSAJES GENERADOS EN EL LCD...............................................90
APÉNDICE B. CÓDIGOS DE PROGRAMAS Y LIBRERÍAS .......................................94
APÉNDICE C. ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADAS ..............129
APÉNDICE D. HOJAS DE DATOS INTEGRADOS.....................................................134
v
ÍNDICE DE FIGURAS
Figura 1-1 Diagrama de bloques de un sistema fotovoltaico...........................................3
Figura 2-1 Juntura N-P en equilibrio.................................................................................9
Figura 2-2 Efecto Fotovoltaico de una Celda Solar ........................................................10
Figura 2-3 Celda Fotovoltaica con Carga Eléctrica ........................................................10
Figura 2-4 Circuito equivalente de una celda solar ........................................................12
Figura 2-5 Característica de un panel fotovoltaico ante variaciones climáticas..............13
Figura 2-6 Interacción de un panel fotovoltaico con carga. ............................................15
Figura 2-7 Esquema general de un sistema fotovoltaico con carga DC.........................16
Figura 2-8 Aplicaciones de la energía solar fotovoltaica ................................................17
Figura 3-1 Sistema Fotovoltaico Propuesto....................................................................22
Figura 3-2 Tarjeta de Programación de Microcontroladores PIC ...................................24
Figura 3-3 Conversor DC/DC Boost ...............................................................................25
Figura 3-4 Modo de conducción continua para un conversor DC/DC Boost ..................26
Figura 3-5 Conversor Buck – Boost ..............................................................................28
Figura 3-6 Modo de conducción continua para un conversor DC/DC Buck - Boost .......29
Figura 3-7 Configuración del sensor de corriente LEM LA 55-P ....................................33
Figura 3-8 Sensor de corriente de efecto Hall LEM LA 55-P utilizado............................33
Figura 3-9 Esquema de filtro antialiasing Tschebyscheff de segundo orden .................34
Figura 3-10 Circuito de disparo opto acoplado del transistor MOSFET .........................36
Figura 3-11 Diagrama de bloque de la Tarjeta Conversor Boost ...................................37
Figura 3-12 Tarjeta conversor Boost implementada.......................................................38
Figura 3-13 Diagrama de bloques de la Tarjeta Conversor Buck - Boost ......................39
Figura 3-14 Tarjeta Conversor Buck – Boost implementada.........................................39
Figura 3-15 Diagrama de bloques de la tarjeta LCD ......................................................41
vi
Figura 3-16 Diagrama de flujo de la rutina de inicialización del módulo LCD.................41
Figura 3-17 Tarjeta LCD implementada .........................................................................43
Figura 3-18 Diagrama de instrucciones predefinidas en el PIC......................................43
Figura 3-19 Comunicación serial PC / Unidad de control...............................................44
Figura 4-1 Curva P – V bajo seguimiento del MPP con algoritmo P&O .........................50
Figura 4-2 Lazo de control para la tensión del panel solar .............................................50
Figura 4-3 Diagrama de flujo del método perturbación y observación ...........................51
Figura 4-4 Curva P – V bajo seguimiento del MPP con algoritmo Cond. Inc. ................53
Figura 4-5 Diagrama de flujo del algoritmo conductancia incremental ...........................55
Figura 4-6 Esquema control difuso para el conversor DC/DC........................................56
Figura 4-7 Funciones de membresía de el controlador difuso........................................58
Figura 4-8 Configuración del controlador difuso.............................................................60
Figura 4-9 Superficie característica del controlador difuso.............................................61
Figura 5-1 Resultado generación de curvas I – V y P –V, a igual temperatura y diferente
nivel de radiación solar .................................................................................65
Figura 5-2 Resultado generación de curvas I –V y P – V, a igual nivel de radiación solar
y diferentes temperatura ...............................................................................66
Figura 5-3 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Boost.............68
Figura 5-4 Resultado de MPPT utilizando P&O y conversor DC/DC Boost ...................69
Figura 5-5 Resultado de MPPT utilizando lógica difusa y conversor DC/DC Boost ......70
Figura 5-6 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Buck – Boost
actuando como conversor reductor de tensión..............................................71
Figura 5-7 Resultado de MPPT utilizando P&O y conversor DC/DC Buck – Boost
actuando como reductor de tensión. .............................................................72
Figura 5-8 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Buck – Boost
actuando como conversor elevador de tensión .............................................73
vii
Figura 5-9 Resultado de MPPT utilizando P&O y conversor DC/DC Buck – Boost
actuando como conversor elevador de tensión .............................................74
Figura 5-10 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Boost con
variación en la RSI. .......................................................................................76
Figura 5-11 Resultado de MPPT utilizando P&O y conversor DC/DC Boost con variación
en la RSI........................................................................................................77
Figura 5-12 Resultado de MPPT utilizando lógica difusa y conversor DC/DC Boost con
variación en la RSI. .......................................................................................78
Figura 5-13 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Buck – Boost,
actuando como conversor reductor de tensión y con variación en la RSI. ...79
Figura 5-14 Resultado de MPPT utilizando P&O y conversor DC/DC Buck – Boost,
actuando como conversor reductor de tensión y con variación en la RSI. ...80
Figura 5-15 Resultado de MPPT utilizando Cond Inc y conversor DC/DC Buck – Boost,
actuando como conversor elevador de tensión y con variación en la RSI....81
Figura 5-16 Resultado de MPPT utilizando P&O y conversor DC/DC Buck – Boost,
actuando como conversor reductor de tensión y con variación en la RSI. ...82
CAPÍTULO PRIMERO
INTRODUCCIÓN
CAPITULO PRIMERO: INTRODUCCIÓN 2
1. INTRODUCCIÓN
1.1 INTRODUCCIÓN GENERAL
En la actualidad, ante la necesidad de contar con nuevas fuentes de energía, se
ha invertido esfuerzo en el ámbito de la investigación para el aprovechamiento de
recursos renovables, los cuales puedan ser una alternativa viable al momento de
enfrentar los nuevos escenarios que se avecinan debido a la escasez de los recursos
fósiles. Es por ello, que dichos esfuerzos están dirigidos a la utilización del recurso
eólico y en estos últimos años, al uso de la energía solar como fuentes energéticas
factibles. Sin embargo, los sistemas eólicos y solares poseen ciertos inconvenientes
como el costo y la dependencia de los factores climáticos. Esto ha llevado que en la
actualidad se utilicen sistemas que combinen diversas formas de energía (denominados
sistemas híbridos) a modo de obtener un mejor desempeño, tales como los sistemas
eólico-solar-diesel. Por otra parte, se hace necesario en estos sistemas almacenar la
energía (por ejemplo, en banco de baterías) y de esta forma disminuir los ciclos partida /
parada de los equipos moto generadores.
En el presente trabajo de tesis se presentan estrategias de control para ser
aplicado a dos sistemas basados en energía solar que suministran energía a una carga
aislada. Dichos sistemas están compuesto de un panel solar que se conectará a la
carga (banco de baterías) por medio de un conversor DC/DC Boost y luego un Buck -
Boost. Siendo estos últimos los que se discutirán con mayor nivel de detalle.
En la figura 1.1 se muestra un diagrama de bloques de los elementos más
representativos de una aplicación basada en energía solar.
CAPITULO PRIMERO: INTRODUCCIÓN 3
Figura 1-1 Diagrama de bloques de un sistema fotovoltaico
El panel solar realiza la conversión directa de energía solar a energía eléctrica.
Mientras que el conversor DC/DC, es utilizado para regular la energía suministrada por
el panel a la carga. Dicha regulación es posible, debido a la señal PWM (Pulse Widht
Modulator) que proporciona el microcontrolador.
La implementación de los sistemas se centra en el Microcontrolador PIC18F452,
perteneciente a la empresa Microchip.
Este trabajo de tesis fue dirigido por el Dr. Roberto Cárdenas Dobson, académico
del departamento de Ingeniería Eléctrica de la Universidad de Magallanes.
1.2 OBJETIVOS DE LA TESIS Los objetivos considerados en esta Tesis son los siguientes:
• Discutir el diseño e implementación del hardware utilizado para la construcción
de los conversores elevador (Boost) y reductor-elevador (Buck-Boost), los cuales
serán controlados de manera digital mediante el uso de un Microcontrolador
(PIC18F452).
CAPITULO PRIMERO: INTRODUCCIÓN 4
• Utilizar técnicas de Control Digital y Control Difuso, para controlar los
conversores DC / DC y realizar un seguimiento del punto de máxima potencia en
un panel solar.
• Estudiar el desempeño de los sistemas de control ante diversas situaciones,
tales como: nivel de radiación solar incidente constante, variación en el nivel de
radiación solar y efectos de la temperatura en un panel solar.
• Describir el software de control implementado en lenguaje C, del
microcontrolador PIC18F452.
• Describir el software de interfaz con el usuario desarrollado para la
comunicación con la unidad de control de cada conversor DC/DC implementado,
en lenguaje Visual Basic.
1.3 ESTRUCTURA DE LA TESIS
La presente tesis cuenta con seis capítulos, que están organizados de la
siguiente forma:
En el capítulo segundo se hace un estudio de las celdas solares. Dicho estudio
se centrará en temas como: principio de funcionamiento, materiales utilizados en su
construcción, aplicaciones típicas, zona de operación más óptima de un panel solar.
En el capítulo tercero describe el hardware diseñado y utilizado para efectos de
validación de resultados. Las siguientes tarjetas fueron construidas durante el desarrollo
de esta tesis:
CAPITULO PRIMERO: INTRODUCCIÓN 5
− Tarjeta LCD: Diseñada para interactuar con el usuario, proporcionando la
información de los niveles de tensiones, corrientes y potencias, a las cuales se
encuentra operando el conversor (Boost o Buck-Boost), además de visualizar el
estado de carga del banco de baterías mediante LED’s (Entre otros).
− Tarjeta de programación de microcontroladores de 8, 18, 28 y 40 pines:
Diseñada para el borrado, lectura y escritura de microcontroladores PIC.
El capítulo cuarto describe los algoritmos de control empleados, para efectos de
búsqueda del punto de máxima potencia de un sistema fotovoltaico. En esta tesis, los
algoritmos utilizados son: (a) perturbación y observación, (b) conductancia incremental y
(c) controlador basado en lógica difusa.
El capítulo quinto presenta los resultados experimentales obtenidos mediante los
sistemas fotovoltaicos propuestos, ante diversas situaciones tales como: nivel de
radiación solar incidente constante, variación en el nivel de radiación solar y efectos de
la temperatura en un panel solar.
El capítulo sexto entrega las conclusiones generales de este trabajo.
CAPÍTULO SEGUNDO
CELDAS SOLARES
CAPÍTULO SEGUNDO: CELDAS SOLARES 7
2. CELDAS SOLARES
2.1 INTRODUCCIÓN
Una celda solar es un dispositivo que absorbe luz (energía solar) y la convierte en
energía eléctrica. Para convertir la energía del Sol en energía eléctrica y poder utilizarla
de la forma más eficiente y racional posible se diseñan los sistemas fotovoltaicos. La
celda solar es el elemento que convierte los fotones que proceden del Sol en una
corriente eléctrica que circula por un elemento denominado carga. Hoy en día la celda
solar más común es un dispositivo de estado sólido fabricado con materiales
semiconductores.
El efecto fotovoltaico fue identificado por primera vez en 1839 por Becquerel [1],
quien observó que la tensión que aparecía entre dos electrodos inmersos en electrolito
dependía de la intensidad de luz que incidiese sobre ellos. El mismo efecto fue
observado por Adams y Day, en 1879, pero esta vez utilizando un elemento sólido: el
Selenio. Sin embargo, la primera celda solar moderna tuvo que esperar a Chapin en
1954. Fue una celda de Silicio y no se dieron muchos detalles de su estructura debido,
probablemente, al temor a que fuese copiada. La motivación para el estudio y desarrollo
de las celdas solares durante los primeros años de investigación fue su aplicación como
fuente suministradora de energía a los satélites espaciales. Hoy se espera que las
celdas solares y la energía solar fotovoltaica contribuyan de forma importante al
suministro de energía limpia a la sociedad.
En el presente capítulo, se discuten principalmente: principio de funcionamiento,
características y aplicaciones de las celdas solares.
CAPÍTULO SEGUNDO: CELDAS SOLARES 8
2.2 PRINCIPIO DE FUNCIONAMIENTO
Una celda solar es un dispositivo capaz de convertir la energía proveniente de la
radiación solar en energía eléctrica.
El silicio es el material más ampliamente utilizado en la fabricación de celdas
solares. En su forma cristalina pura, es un semiconductor, con muy pocas cargas libres
dentro de él. Por este motivo el silicio tiene una resistencia muy elevada. Utilizando un
proceso llamado difusión [2], se pueden introducir pequeñas cantidades de otros
elementos químicos (dopaje), lo que permite disminuir el valor inicial de la resistividad,
creando al mismo tiempo, zonas con diferentes tipos de carga. La celda fotovoltaica
utiliza dos tipos de materiales semiconductores, el tipo N y el tipo P.
Cuando la sustancia difusa cede fácilmente electrones, se crea dentro del
semiconductor una zona que cuenta con exceso de cargas negativas (electrones). Esto
es lo que se conoce como un semiconductor del tipo N.
Por otra parte, cuando la sustancia difusa capta electrones, los átomos que los
pierden quedan cargados positivamente. En estas zonas predominan las cargas
positivas (huecos) obteniéndose un semiconductor del tipo P.
El proceso de difusión es continuo, permitiendo la fabricación en el mismo material
de dos zonas semiconductoras adyacentes, una del tipo N; la otra del tipo P. El espacio
que separa ambas zonas se denomina juntura de transición.
CAPÍTULO SEGUNDO: CELDAS SOLARES 9
Según lo expuesto en [2], las cargas mayoritarias en una zona se desplazan hacia
la de baja densidad en la zona opuesta. El desplazamiento de las cargas negativas y
positivas deja a la zona de juntura totalmente libre de cargas. Las zonas adyacentes a
la misma tienen concentraciones de carga minoritarias (cargas negativas en el lado P y
cargas positivas en el lado N). La acumulación de estas cargas a ambos lados de la
juntura crea una diferencia de potencial que impide la continuación del desplazamiento
inicial. Por este motivo, la corriente de desplazamiento se anula. Se dice entonces que
la juntura N-P ha alcanzado el estado de equilibrio. Ver figura 2.1.
Figura 2-1 Juntura N-P en equilibrio
Cuando la luz incide sobre un semiconductor de este tipo, el bombardeo de los
fotones libera electrones de los átomos de silicio creando dos cargas libres, una positiva
y otra negativa. El equilibrio eléctrico de la juntura N – P se ve alterado por la presencia
de estas nuevas carga libres. El resultado de estas cargas libres es lo que se conoce
como efecto fotovoltaico (ver figura 2.2).
CAPÍTULO SEGUNDO: CELDAS SOLARES 10
Figura 2-2 Efecto Fotovoltaico de una Celda Solar
Si el semiconductor bajo incidencia de luz se le conecta dos cables, uno en la
zona N y en la zona P, se verifica la existencia de un voltaje entre los mismos. Ahora si
los terminales de la celda fotovoltaica son conectados a una carga eléctrica, circulará
una corriente eléctrica guiada por la acción de un campo eléctrico, la cual se origina por
la unión de los materiales N – P. Dicha corriente ha de circular por el circuito formado
por la celda , los cables de conexión y la carga externa. La figura 2.3 muestra este tipo
de circuito.
Figura 2-3 Celda Fotovoltaica con Carga Eléctrica
CAPÍTULO SEGUNDO: CELDAS SOLARES 11
El efecto fotovoltaico, mencionado en el párrafo anterior solo es posible en una
parte del espectro luminoso. Dicho segmento lo componen básicamente las longitudes
de onda más pequeñas, las cuales están comprendidas entre la luz ultravioleta y en el
espectro visible al color violeta [2]. Además de esto, el material semiconductor utilizado
en la fabricación de la celda, es quien determina que parte del espectro es el óptimo
para provocar el desequilibrio que genera las cargas libres (efecto fotovoltaico).
El voltaje de una celda fotovoltaica es de corriente continua. De acuerdo a lo
mencionado en [3], para celdas de silicio este voltaje es de alrededor de 0.5 [V].
En un instante determinado, la potencia eléctrica proporcionada por una celda
Fotovoltaica, está dada por el producto de los valores instantáneos del voltaje y la
corriente de salida. Este valor es afectado por la temperatura y el nivel de radiación
solar incidente, tal como se verá a continuación.
2.3 CARACTERÍSTICAS ANALÍTICAS
Una celda solar es un dispositivo no lineal [4] al [6], cuya relación I – V esta dada
por la ecuación (2.1). En ella se puede apreciar la dependencia de una celda solar con
respecto a la temperatura, mientras que en 2.3 la dependencia es del nivel de radiación
solar. El circuito equivalente de una celda solar, se ilustra en la figura 2.4.
SH
SSsatLG R
IRVIRVAKT
qIII +−
⎭⎬⎫
⎩⎨⎧
−⎥⎦⎤
⎢⎣⎡ +−= 1)(exp (2-1)
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛−−⎥
⎦
⎤⎢⎣
⎡=
TTKTqEgo
TTII
rrorsat
11exp3
(2-2)
CAPÍTULO SEGUNDO: CELDAS SOLARES 12
[ ] 100)25( λ⋅−+= TKII IscLG (2-3)
Donde I : Corriente de salida de la celda solar.
V : Voltaje de salida de la celda solar.
LGI : Es la corriente de la celda solar bajo un determinado nivel de radiación.
satI : Es la corriente inversa de saturación de la celda solar.
q : Es la carga de un electrón.
K : Es la constante de Boltzmann’s.
A : Es un factor ideal para las junturas N – P.
SR : Es la resistencia serie intrínseca de la celda solar
SHR : Es la resistencia paralela intrínseca de la celda solar
orI : Es la corriente de saturación a rT
scI : Es la corriente de corto circuito ( 0=oV )
rT : Es la temperatura de referencia ºC.
T : Es la temperatura de la celda solar ºC.
Ego : Es la banda de energía del semiconductor usado en la celda solar
IK : Es el coeficiente de temperatura de la corriente de cortocircuito
λ : Es la radiación en 2cmmW
Figura 2-4 Circuito equivalente de una celda solar
CAPÍTULO SEGUNDO: CELDAS SOLARES 13
Se menciona en [4] y [6], que en lugar de la característica I –V dada en (2.1), se
usa en muchos casos la ecuación (2.4), la cual desprecia la resistencia intrínseca en
paralelo de la celda.
⎥⎦
⎤⎢⎣
⎡ +−⋅+⋅−=
sat
satLGS I
IIIq
AKTRIV ln (2-4)
Por medio de las ecuaciones 2.1 al 2.3, se pueden obtener las curvas I – V
teóricas de una celda fotovoltaica. Y por medio del producto de ambas magnitudes, se
obtiene la curva de potencia versus voltaje (P – V) de una celda solar. Como la
potencia proporcionada por una única celda solar es muy baja (del orden de 1 a 2W) las
celdas solares se interconectan formando lo que se conoce como módulo o panel
fotovoltaico. La figura 2.5a y b muestran la variación de la característica de salida
I - V y P – V de un panel fotovoltaico comercial para diferentes niveles de temperatura y
radiación solar, respectivamente.
Figura 2-5 Característica de un panel fotovoltaico I –V y P – V (a) con radiación
constante y variación en la temperatura y (b) con temperatura constante y variación en el nivel de radiación.
CAPÍTULO SEGUNDO: CELDAS SOLARES 14
Cada curva I – V tiene un punto de máxima potencia (denominado MPP), el cual
es el punto de operación óptimo para el uso eficiente de un panel fotovoltaico.
Según lo mencionado en [6], el punto de máxima potencia se localiza en el codo de la
curva característica corriente versus voltaje I – V. Ver figura 2.5(a) y (b).
),( VopIop
2.4 SEGUIMIENTO DEL MPP
Al momento de conectar una carga del tipo resistiva R a un panel solar. Según la
ecuación (2.5), se producirá una recta que intercepta la característica I – V del panel
solar en un punto, en el cual se define las condiciones de corriente – voltaje de
operación del panel. Ver figura 2.6(a).
VR
I ⋅⎟⎠⎞
⎜⎝⎛=
1 (2-5)
Por otro lado, la carga más frecuente de un panel solar es una batería, debido a
que las celdas solares encuentran su principal aplicación en el suministro de energía a
localidades aisladas, llámese un pequeño pueblo (de unas decenas de familia), en la
cual la mayor demanda de energía se da entre las 6 p.m. y las 10 p.m. Lapso que no
coincide con las horas de mayor nivel de radiación solar incidente, requiriéndose
almacenar energía.
La tensión de una batería depende de su estado de carga pero además es
afectada por la temperatura del electrolito y su vejez, entre otros factores. Es esta
tensión la que define el voltaje de operación del panel y con ello la corriente. A medida
que la corriente va cargando la batería, su tensión aumenta y con ello el punto de
operación del panel se va desplazando a lo largo de la característica I – V. Ver figura
2.6 (b).
CAPÍTULO SEGUNDO: CELDAS SOLARES 15
(a)
(b)
Figura 2-6 Interacción de un panel fotovoltaico con carga (a) resistiva y (b) galvánica
de 12 V.
Tanto la carga resistiva como la galvánica (batería), generalmente no recibirán la
máxima potencia generada por él o los paneles fotovoltaicos. Esto se debe a que será
la carga quien impondrá el punto de operación , que no necesariamente es
coincidente con el punto de operación óptimo . Además, suelen haber
variaciones climáticas que harán del punto un punto en movimiento.
),( IV
),( IopVop
),( IopVop
Debido a ello se debe utilizar una estrategia de control para seguir el punto de
máxima potencia y con ello transferir la máxima energía capturada por el panel solar a
la carga. Esto es posible de conseguir mediante la inserción de un conversor DC/DC
como interfaz entre el o los paneles solares y la carga (ver figura 2.7). El mencionado
conversor posee una característica intrínseca asociada a él relacionada con la
capacidad que presentan estos sistemas para reflejar o adaptar la impedancia vista
desde su entrada y la conectada a su salida.
En este sentido, los conversores son similares a los transformadores, cuando son
empleados como adaptadores de impedancia, excepto que en los conversores el
parámetro de adaptación no es la relación de espiras entre el primario y el secundario,
sino el ciclo de trabajo, el cual puede ser controlado de manera electrónica [7].
CAPÍTULO SEGUNDO: CELDAS SOLARES 16
Figura 2-7 Esquema general de un sistema fotovoltaico con carga DC
En resumen, la principal función de la variación de la impedancia del conversores
ajustar el voltaje de salida del panel fotovoltaico al valor en el cual se entrega la máxima
energía a la carga. Este proceso se denomina: seguimiento del punto de máxima
potencia MPPT (Maximum Power Point Tracking) en sistemas fotovoltaicos.
CAPÍTULO SEGUNDO: CELDAS SOLARES 17
2.5 APLICACIONES
Realizar una descripción exhaustiva de las aplicaciones de la energía solar
fotovoltaica es una tarea incómoda, debido a que como fuente energética es posible su
utilización en principio para cualquier fin.
La introducción al mercado, y por tanto en la sociedad, de una u otra aplicación
viene condicionada por su rentabilidad frente a otras fuentes de energía
convencionales.
Una primera clasificación puede realizarse en función de los campos de
aplicación. Este hecho se ilustra en la figura 2.8.
ENERGÍA SOLARFOTOVOLTAICA
APLICACIONES ASILADAS DE LA RED
APLICACIONES CONECTADAS A LA
RED
ELECTRIFICACIÓNRURAL
APLICACIONESAGROGANADERAS
BOMBEOS
TELECOMUNICA-CIONES
ALUMBRADO AUTÓNOMO
SEÑALIZACIÓN YALARMA
CENTRALESFOTOELÉCTRICAS
INTEGRACIÓNEN EDIFICIOS
Figura 2-8 Aplicaciones de la energía solar fotovoltaica
Las aplicaciones aludidas en la figura 2.8, se detallan a continuación.
CAPÍTULO SEGUNDO: CELDAS SOLARES 18
2.5.1 ELECTRIFICACIÓN RURAL
Viviendas aisladas
Viviendas de fin de semana o de ocupación temporal
Refugios de montañas
2.5.2 APLICACIONES AGROGANADERAS
Bombeo de agua
Riego por goteo
Sistemas de ordeño
Sistemas de refrigeración de leche
2.5.3 ILUMINACIÓN
Iluminación de vallas publicitarias
Iluminación de alumbrado público
2.5.4 TELECOMUNICACIONES
Repetidores y reemisores de radio y televisión
Telemetría
Redes telefónicas rurales
2.5.5 SEÑALIZACIÓN Y ALARMA
Radiofaros y radiobalizas
Señalización de autopistas
CAPÍTULO SEGUNDO: CELDAS SOLARES 19
Faros y boyas para la navegación marítima
2.5.6 OTRAS APLICACIONES
Relojes electrónicos
Calculadoras
Satélites y misiones espaciales
Etc.
Todas estas aplicaciones caben definirlas como aplicaciones de la energía solar
fotovoltaica para sistemas autónomos, es decir, aquellos en lo que el total de la
necesidad energética es cubierta por el sistema. Mención aparte merecen las centrales
fotovoltaicas conectadas a la red e integración de paneles en edificios. En estos casos,
los sistemas funcionan proporcionando la energía capturada por las celdas solares a la
red eléctrica, sin más limitaciones que la propia producción diaria de energía. Sin
embargo, en los dos tipos es importante realizar la máxima transferencia de potencia.
CAPÍTULO TERCERO
SISTEMA EXPERIMENTAL
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 21
3. SISTEMA EXPERIMENTAL
3.1 INTRODUCCIÓN
En el presente capítulo se describe el hardware diseñado e implementado para el
sistema fotovoltaico.
El sistema fotovoltaico planteado, está compuesto por un panel solar fabricado por
ISOFOTÓN, y cuya máxima potencia extraíble es de 106 W. Se utilizan también cuatro
baterías de 6V cada una. Las baterías son marca Trojan de ciclo profundo, las cuales
se interconectan entre sí para formar un banco de baterías, y este a su vez es la carga
del sistema fotovoltaico. Como interfaz entre el panel solar y la carga se conectará un
conversor DC/DC, primero un conversor Boost y luego un Buck – Boost, ambos
diseñados e implementados en el desarrollo de esta tesis. Cada conversor cuenta con
una unidad de control, cuyo funcionamiento se basa en un microcontrolador
PIC18F452. El microcontrolador, realiza la tarea de control sobre cada conversor y
maneja una serie de periféricos entre los que destaca:
Comunicación serial con un computador PC.
Lectura / Escritura de una memoria EEPROM externa
Además del diseño y la construcción de los conversores, se cuenta con las
siguientes tarjetas diseñadas e implementadas:
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 22
− Tarjeta LCD: Diseñada para interactuar con el usuario, proporcionando la
información de los niveles de tensiones, corrientes y potencias, a las cuales se
encuentra operando el conversor (Boost o Buck-Boost), además de visualizar el
estado de carga del banco de baterías mediante LED’s ( Entre otros).
− Tarjeta de programación de microcontroladores de 8, 18, 28 y 40 pines:
Diseñada principalmente para el borrado, lectura y escritura de
microcontroladores PIC.
El sistema fotovoltaico descrito, se muestra de manera general en la figura 3.1.
Figura 3-1 Sistema Fotovoltaico Propuesto
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 23
3.2 MICROCONTROLADOR PIC18F452
El microcontrolador PIC18F452 pertenece a la familia de microcontroladores de 8
bits (bus de datos), aún cuando tiene compatibilidad de hardware con las familias
PIC17FXXX, PIC16FXXX, PIC16F5X y PIC12FXXX. Su rendimiento alcanza los 10
MIPS (Mega Instrucciones por Segundo), disponer de tecnología RISC con 77
instrucciones de 16 bit, lograr un rango de direccionamiento de 2Mbytes de memoria de
programa, funcionar a una frecuencia desde 0 a 40 MHz y puede ser programado en el
circuito de aplicación vía comunicación serial. Además, el PIC18F452 posee una
memoria de programa del tipo FLASH de 32Kbytes, una memoria de datos (RAM) de
1536 bytes, 256 bytes de EEPROM. En las características de los periféricos destaca: 5
puertos (A, B, C, D y E), 4 temporizadores, 2 módulos de captura/comparación/pwm,
módulo AUSART, módulo de puerto paralelo, SSP (Puerto Serie Sincrónico) el cual
puede configurarse como SPI (Interfase serial de periféricos) de 3 hilos o como bus
de dos hilos y 8 canales con conversión A/D de 10 bits. Para mayores detalles ver
el Apéndice C.
CI 2
Para realizar la tarea de programación del microcontrolador se utilizó el compilador
PCWH (versión 3.187) de la casa CCS Inc. A su vez, el compilador se ha de integrar en
un entorno de desarrollo integrado (IDE) que ha de permitir todas y cada una de las
fases que compone un proyecto, desde la edición, depuración y finalmente compilación.
El compilador “traduce” el código C del archivo fuente (.C) a lenguaje máquina (.HEX)
del PIC.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 24
3.3 TARJETA DE PROGRAMACIÓN DE MICROCONTROLADRES PIC
La tarjeta de programación de microcontroladores PIC permite el borrado, lectura
y escritura de microcontroladores de 8, 18, 28 y 40 pines y memorias seriales EEPROM
de 8 pin. La alimentación de la tarjeta, se realiza mediante fuente externa, a una tensión
de aproximadamente 14 V. Por otra parte, para el traspaso del código máquina (archivo
.HEX) generado por el compilador PCWH de CCS al PIC, se utiliza el software gratuito
ICPROG en su versión 1.05D. Dicho traspaso de la información, se realiza vía
conexión paralela entre la tarjeta de programación y el PC.
La figura 3.2 muestra la tarjeta implementada, mientras que el esquemático de
ésta, se encuentra disponible en el Apéndice B.
Figura 3-2 Tarjeta de Programación de Microcontroladores PIC
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 25
3.4 CONVERSORES DC/DC
3.4.1 CONVERSOR BOOST
La figura 3.3 muestra a un conversor boost (elevador). Como su nombre lo indica,
el voltaje de salida es siempre mayor que el voltaje de entrada. Cuando el switch S esta
cerrado (figura 3.4 (a)), toda la tensión de la fuente primaria se aplica sobre la bobina, lo
que provoca que la corriente circulante por la misma aumente, y de esta forma la
inductancia almacene energía. Si ahora el interruptor se abre (figura 3.4 (b)), la tensión
existente en la bobina se suma a la tensión de la fuente, obteniéndose de este modo
una tensión de salida siempre mayor a la de la fuente y de idéntica polaridad.
Figura 3-3 Conversor DC/DC Boost
A la suma del tiempo de encendido ( ) y el tiempo de apagado ( ), se conoce
como periodo de switching ( ), mientras que al inverso del periodo de switching se le
conoce como frecuencia de switching ( ). Al cuociente entre y , se le llama ciclo
de trabajo D (Ecuación 3.1).
ONt OFFt
ST
Sf ONt ST
S
ON
Tt
D = ; (3-1) 10 << D
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 26
3.4.1.1 MODO DE CONDUCCIÓN CONTINUA
En la figura 3.4 muestra las formas de onda para este modo de conducción,
donde la corriente del inductor fluye continuamente ( )[ ]0>tiL .
Figura 3-4 Modo de conducción continua (a) switch encendido; (b) switch apagado
Según lo expuesto en [8], en estado estacionario la integral del voltaje del
inductor sobre un periodo de switching debe ser cero (ver ecuación 3.2 y 3.3).
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 27
00
=∫ST
Ldtv (3-2)
O bien:
( ) 0=⋅−+⋅ OFFOdONd tVVtV (3-3)
Dividiendo la ecuación 3.3 por , y arreglando los términos se obtiene la
relación existente entre la tensión de salida y la de entrada. En modo de conducción
continua, esta relación esta dada por la ecuación 3.4.
ST
DtT
VV
OFF
S
d
O
−==
11 (3-4)
Asumiendo que no existen perdidas en el circuito, Od PP = .
OOdd IVIV ⋅=⋅∴
Y de esta forma, basándose en la ecuación 3.4, se obtiene la ecuación 3.5
( DII
d
O −= 1 ) (3-5)
3.4.2 CONVERSOR BUCK – BOOST
Un conversor Buck – Boost (reductor – elevador) se puede obtener por la
conexión en cascada de dos conversores básicos: un conversor reductor (Buck) y un
conversor elevador (Boost). El conversor Buck – Boost tiene un voltaje de salida que
puede ser mayor o menor al voltaje de entrada, y una polaridad en el voltaje de salida
invertido con respecto al terminal común de la tensión de entrada.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 28
La conexión en cascada de un conversor Buck y un conversor Boost, puede ser
fusionado dentro de un solo conversor denominado Buck – Boost, este hecho se ilustra
en la figura 3.5. Cuando se cierra el switch S, la fuente de entrada (Vd) provee energía
a la bobina y el diodo queda inversamente polarizado (figura 3.6(a)). Al abrir el switch
S, la energía almacenada en el inductor es transferida a la carga (figura 3.6 (b)). No hay
energía suministrada por la fuente de entrada en este intervalo. En el análisis de estado
estacionario presentado aquí, el capacitor de salida se asume muy grande, lo que trae
como consecuencia que el voltaje de salida se suponga constante . ( )oo Vtv ≈)(
Figura 3-5 Conversor Buck – Boost
3.4.2.1 MODO DE CONDUCCIÓN CONTINUA
La figura 3.6 ilustra el comportamiento de un conversor Buck – Boost operando
en modo de conducción continua, donde la corriente de la inductancia fluye
continuamente . ( )[ ]0>tiL
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 29
Figura 3-6 Modo de conducción continua (a) switch encendido (b) switch apagado
De acuerdo a lo mencionado por [8], en estado estacionario la integral del voltaje
del inductor sobre un periodo de switching debe ser cero (ecuación 3.6).
( )( ) 01 =−−+ SOSd TDVDTV (3-6)
Dividiendo la ecuación 3.6 por , y arreglando los términos se obtiene la
relación existente entre la tensión de salida y la de entrada. En modo de conducción
continua, esta relación está dada por la ecuación 3.7.
ST
( )DD
VV
d
O
−=
1 (3-7)
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 30
Asumiendo que no existen perdidas en el circuito, Od PP = .
OOdd IVIV ⋅=⋅∴
Y de esta forma, basándose en la ecuación 3.7, se obtiene la ecuación 3.8
DD
II
d
O −=
1 (3-8)
3.4.3 DISEÑO DEL CONVERSOR DC/DC
De las secciones 3.4.1 y 3.4.2, se logró apreciar que las diferencias en las
respuestas entre el conversor DC/DC Boost y el Buck – Boost, radican en la variación
en el ordenamiento de los componentes principales que conforman dichos conversores
(inductancia, condensadores, diodo y transistor). Es por ello que de esta sección en
adelante, al momento de mencionar un conversor DC/DC, se hará referencia tanto a la
topología elevadora de tensión (Boost), como a la reductora – elevadora (Buck - Boost).
Según lo anterior y de acuerdo a la referencia [9], el conversor DC/DC se ha
diseñado según las características descritas a continuación:
Entrada de voltaje al conversor DC/DC ( )dV : 13 a 17.4 V.
Salida de voltaje del conversor DC/DC ( )OV : 26 V
Frecuencia de switching ( )fs : 33kHz
Potencia máxima (peak) del panel solar: 106 Wp (100 , 25º C, A.M 1.5 ) 2/ cmmW
Máximo ripple del voltaje de salida ( )Vc∆ : 5%
Máximo ripple de la corriente de entrada ( )I∆ : 35%
Conversor operando en modo de conducción continua hasta ≈0.45A.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 31
De acuerdo a lo expuesto por [8] al [11], además de las ecuaciones (3.4) y (3.5), es
necesario para el diseño de un conversor DC/DC las siguientes ecuaciones.
LfDV
IS
dL ⋅
⋅=∆ (3-9)
CfDI
VS
OO ⋅
⋅=∆ (3-10)
Para las especificaciones dadas y utilizando la ecuación (3.4), resulta:
5.00 << D
Utilizando la ecuación (3.9) con 44.0=D , la inductancia obtenida es:
HL µ100=
Por otro lado, utilizando la ecuación (3.10) con AIO 77.2= , el capacitor calculado es:
FC µ41.28=
En esta tesis, la inductancia utilizada en la construcción del conversor DC/DC es
de Hµ100 y la cual soporta una corriente de 7.8A que se encuentra por encima de los
6.1A capaz de entregar el panel solar. Por otro lado, el condensador de salida utilizado
es de Fµ4700 y soporta una corriente de ripple cercana a los 16 A.
El switch de potencia incorporado en el conversor DC/DC, es un MOSFET de
canal N, específicamente el transistor IRFZ40, el cual tiene como característica una
muy baja resistencia de conducción ( )Ω< m30 , soporta además una tensión VVds 50= y
una corriente . Por otro lado, el diodo de potencia utilizado es el STTA2512P,
el cual es un diodo ultra rápido, con un tiempo de recuperación de , capaz de
transportar una corriente de 25 A y tener una tensión en conducción menor a 1.9 V.
AId 50=
ns60≈
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 32
3.4.4 UNIDAD DE CONTROL
La unidad de control (figura 3.1) esta basada en un microcontrolador PIC18F452
y es la encargada de realizar:
Procesamiento de las señales de medición de tensiones y corrientes del sistema
fotovoltaico.
Acondicionar las señales provenientes de los sensores de tensión y corriente
Generar la señal de PWM necesaria para controlar el flujo de potencia del
conversor.
Tener acceso a periféricos (LCD, EEPROM externo, comunicación serial con un
PC).
Lo referente al acceso de periféricos que realiza la unidad de control, será tratado
con mayor nivel de detalle en secciones posteriores de este capítulo.
La medición de corrientes en el sistema fotovoltaico utiliza dos sensores LEM
LA55 – P. La corriente máxima que es capaz de medir estos sensores es ± 50 A y el
sensado se realiza pasando corriente mediante un conductor por el orificio rectangular
que este posee. Estos sensores tienen tres pines, de los cuales dos de ellos son para
su alimentación de +15V y -15V. El tercer pin denominado M, es quien entrega en
definitiva la medición representado en un valor de tensión. La figura 3.7 ilustra la
configuración de pines de este sensor, junto con las resistencias asociadas que se
deben conectar para su adecuado funcionamiento, mientras que la figura 3.8 muestra el
sensor LEM utilizado.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 33
Figura 3-7 Configuración del sensor de corriente LEM LA 55-P
Figura 3-8 Sensor de corriente de efecto Hall LEM LA 55-P utilizado
La resistencia se obtiene de manera que la tensión máxima de salida se
logre con una corriente de 21mA. Considerando que la tensión máxima de salida
deseada es de 5V, se obtiene el siguiente valor de :
MR
MR
Ω≈−
== 220321
5eI
VRS
MM (3-11)
Por otro lado, la medición de las tensiones se realizó por medio de divisores de
tensión conformado por resistencias, para efecto de disminución de costos del sistema
fotovoltaico.
El acondicionamiento de señal o interfaz cumple la función de ajustar los niveles
de tensión (0 a 5V) además de filtrar las señales de tensiones y corrientes del sistema
fotovoltaico, disminuyendo el ruido al que se encuentran expuestas, producto de
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 34
dispositivos de potencia del conversor. Las señales acondicionadas son las siguientes:
tensión y corriente de entrada proveniente del panel solar ( )IdyVd y, tensión y
corriente del banco de batería ( )IoyVo . Además, evitan problemas de distorsión de las
señales causadas por el muestreo, lo cual es conocido como aliasing.
Para solucionar lo anteriormente expuesto se implementó un filtro pasa bajos de
segundo orden Chebyshev [12], con una frecuencia de corte de 10Hz y ganancia
unitaria. La figura 3.9 ilustra el esquema de este tipo de filtro.
Figura 3-9 Esquema de filtro antialiasing Chebyshev de segundo orden
La función de transferencia para el filtro ilustrado en la figura 3.10, se entrega en
la ecuación 3.12.
( )( ) 2
21212
21111
sCCRRsRRCsA
CC ωω +++= (3-12)
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 35
Donde:
( )2121
21
2111
CCRRb
RRCa
C
C
ω
ω
=
+=
Según lo expuesto en [11], los coeficientes y para un filtro Chebyshev de
segundo orden están dados acorde a la siguiente tabla.
1a 1b
Filtro Chebyshev de Segundo Orden
1a 1b
1.0650 1.9365
Tabla 3-1 Filtro 2º orden Tschebyscheff
De la tabla 3.1 y con una HzfC 10= los valores de condensadores y resistencias
son los siguientes: FC µ01.01 = , FC µ1.02 ≈ , Ω≈ MR 11 y Ω≈ MR 12 .
La generación del PWM se discute en la siguiente sección “DISPARO DEL
TRANSISTOR MOSFET”.
3.4.5 DISPARO DEL TRANSISTOR MOSFET
Para efecto de controlar el transistor MOSFET IRFZ40 se hizo uso de un opto
acoplador HCPL 3120, tanto en la tarjeta conversor Boost como en el Buck - Boost.
El opto acoplador actúa como interfaz entre la unidad de control, la cual como ya
se mencionó genera la señal PWM. Esta señal proviene del PIC18F452 con valores de
tensión de 5V o 0V, que no son suficientes para la correcta activación o desactivación
del transistor. Para asegurar dicha activación / desactivación se hace necesario
tensiones del orden de + 15V / - 15 V, respectivamente. Además, el HCPL 3120 realiza
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 36
una unión de tipo óptica, lo cual hace que se encuentre aislado eléctricamente la
unidad de control con respecto al circuito de potencia. En la figura 3.10 ilustra la forma
de conexión del opto acoplador HCPL – 3120.
Figura 3-10 Circuito de disparo opto acoplado del transistor MOSFET
La resistencia que aparece en la figura 3.10, se obtiene según la hoja de
característica del propio opto acoplador como:
gR
( )OLPEAK
OLEECCg I
VVVR
−−≥ (3-13)
Donde: es +15V, es -15V, y están dado en la hoja de
característica (HCPL – 3120) y tienen el valor de 0.5V y 2.5A, respectivamente.
Reemplazando los valores recién dados, se obtiene la resistencia mínima necesaria
para disminuir las perdidas por efecto de conmutación del driver. Según esto, la
resistencia debe ser superior a 12 Ohm.
CCV EEV OLV OLPEAKI
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 37
3.4.6 TARJETA CONVERSOR BOOST
La tarjeta conversor Boost fue diseñada e implementada como parte de esta tesis
para poder alimentar cargas que necesiten de una mayor tensión, de la proporcionada
por el panel solar.
Esta tarjeta cuenta con una unidad de control, basada en un microcontrolador
PIC18F452, el cual genera una señal modulada por ancho de pulso (PWM), debido a la
acción de un algoritmo de control programado en el mencionado microcontrolador.
Dicho algoritmo determina el ciclo de trabajo óptimo, en el cual se le proporciona la
máxima cantidad de energía a la carga, procedente del módulo o panel solar. La
frecuencia de switching utilizada es de 19.6kHz y el cristal que controla al PIC18F452
es de 20MHz. Además, la tarjeta cuenta con un pulsador que origina un RESET al
microcontrolador al momento de ser presionado.
La figura 3.11 y 3.12 muestran el diagrama de bloques y la tarjeta conversor
Boost implementada, respectivamente.
CO
NEC
TOR
PAN
EL S
OLA
R
C O N V E R S O R
B O O S T
CO
NEC
TOR
BANC
O D
EB
ATER
ÍA
U N ID A D D E C O N T R O LB A S A D O E N U N
P IC 1 8 F4 5 2
P W M
ME
DIC
IÓN
DE
TEN
SIÓ
N Y
CO
RRI
ENT
E
ME
DIC
IÓN
DE
TEN
SIÓ
N Y
CO
RRI
ENT
E
Figura 3-11 Diagrama de bloque de la Tarjeta Conversor Boost
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 38
Figura 3-12 Tarjeta conversor Boost implementada
Cabe señalar que esta tarjeta alimenta su unidad de control, por medio del banco
de batería el cual es la carga del sistema fotovoltaico. Para ello, el banco de batería
esta dividido en dos arreglos de dos baterías, cada arreglo esta conectado en serie y
como la tensión nominal de cada batería es de 6V, dicho arreglo es de 12V. Por ende,
el banco completo es de 24V, con una toma central (GND). Lo anterior permite que la
unidad de control cuente con las siguientes tensiones: +12V, -12V y GND, las cuales
son reducidas luego a +9V, -9V,+5V y GND, por medio de reguladores de tensión.
3.4.7 TARJETA CONVERSOR BUCK – BOOST
La tarjeta conversor Buck - Boost fue diseñada e implementada como parte de
esta tesis para poder alimentar cargas que necesiten de una mayor o menor tensión,
de la proporcionada por el panel solar.
Esta tarjeta al igual que la mencionada en la sección 3.4.6, cuenta con una
unidad de control, basada en un microcontrolador PIC18F452, el cual genera una señal
modulada por ancho de pulso (PWM), debido a la acción de un algoritmo de control
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 39
programado en el mencionado microcontrolador. Dicho algoritmo determina el ciclo de
trabajo óptimo, en el cual se le proporciona la máxima cantidad de energía a la carga,
procedente del módulo o panel solar. La frecuencia de switching utilizada es de 19.6kHz
y el cristal que controla el PIC18F452 es de 20MHz. Además, la tarjeta cuenta con un
pulsador que origina un RESET al microcontrolador.
La figura 3.13 y 3.14 muestran el diagrama de bloques y la tarjeta conversor
Buck – Boost implementada, respectivamente.
CO
NEC
TOR
PAN
EL S
OLA
R
C O N V E R S O R
B U C K - B O O S T
CO
NEC
TOR
BANC
O D
E
BAT
ERÍA
U N I D A D D E C O N T R O LB A S A D O E N U N
P I C 1 8 F 4 5 2
P W M
ME
DIC
IÓN
DE
TEN
SIÓ
N Y
CO
RRI
ENT
E
ME
DIC
IÓN
DE
TEN
SIÓ
N Y
CO
RRI
ENT
E
Figura 3-13 Diagrama de bloques de la Tarjeta Conversor Buck - Boost
Figura 3-14 Tarjeta Conversor Buck – Boost implementada
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 40
La unidad de control en esta tarjeta a diferencia de la tarjeta Boost, se alimenta
por fuente externa con las siguientes tensiones: +15V, -15V, +5V y GND.
3.5 TARJETA LCD
La tarjeta LCD permite realizar una interfaz visual con el usuario. Para ello cuenta
con un módulo LCD de 2 x 20 (dos filas de veinte caracteres cada una), la cual se
utiliza principalmente para conocer en tiempo real el estado del conversor DC/DC, como
también la energía proporcionada a la batería desde el momento en que se energizó la
unidad de control. Además de lo anterior, el módulo LCD proporciona al usuario
información cada vez que se envía una señal vía comunicación serial, o la finalización
de algún proceso como por ejemplo “fin de escritura en la eeprom externa”. Los
mensajes generados en el módulo LCD se detallan en el APÉNDICE A, denominado:
MENSAJES DEL MÓDULO LCD.
Por otro lado, además del módulo LCD, la tarjeta cuenta con tres LED’s que
indican el estado de carga del banco de batería, y con dos switch de los cuales el
primero permite realizar un cambio de pantalla (ver APÉNDICE A) y el segundo permite
el borrado de la contabilización de la energía almacenada en la carga, desde el
momento en que se encendió la unidad.
Para lograr lo mencionado en el párrafo anterior, la tarjeta se ha de conectar con
el conversor DC/DC, por medio de un bus conformado por un cable plano de 15 líneas,
el cual se divide en: 4 líneas de datos (DB4 al DB7), 3 líneas de control (RS, R/W y E),
3 LED’s, 2 switch, 1 línea de alimentación +5V y 2 líneas de tierra (GND). Estas señales
son posibles de apreciar en el diagrama de bloque de la figura 3.15.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 41
TARJETA LCDG
ND +5V
SWIT
CH 1
SWIT
CH 2
LED
1
LED
2
LED
3
DB4
DB5
DB6
DB7 RS
R/W E
PORT D PORT B
BUS
MÓDULO LCD 2 X 20
Figura 3-15 Diagrama de bloques de la tarjeta LCD
Antes de poder enviar un mensaje al módulo de cristal liquido a través de las
líneas de datos, el módulo se ha de inicializar. Para ello, es necesario crear una rutina
en C que permita configurar los bits involucrados en este proceso. La figura 3.16
proporciona el diagrama de flujo de la rutina creada en C.
Encendido
Esperar m ás de 15m s
R S R/W D B7 D B6 D B5 D B4 0 0 0 0 1 1
Esperar m ás de 4.1m s
R S R/W D B7 D B6 D B5 D B4 0 0 0 0 1 1
Esperar m ás de 100us
R S R/W D B7 D B6 D B5 D B4 0 0 0 0 1 1
R S R/W D B7 D B6 D B5 D B4 0 0 0 0 1 0
0 0 0 0 1 0 0 0 N F X X
0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1 1/D S
F in de la In icia lización
C onfiguración
Apagar d isplay
Encender d isplay
M odo deD esplazam iento
Figura 3-16 Diagrama de flujo de la rutina de inicialización del módulo LCD
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 42
Para inicializar el módulo LCD, lo primero que se debe realizar es alimentar el
módulo con una tensión de 5V y esperar un tiempo superior a 15ms para estabilizar la
tensión. Enseguida se habilitan los bits de datos (DB4 al DB7) y los de control RS y R/W
(Register Selection y Read / Write), de acuerdo a la secuencia ilustrado en la figura
3.16. Para finalizar la inicialización, se debe realizar una etapa de configuración en la
cual se elige la línea del módulo en la que se va a enviar el primer mensaje y el tipo de
letra. Posterior a ello, se apaga el módulo LCD y luego se enciende, para finalmente
posicionar el cursor y de esta forma encontrarse listo para recibir datos. La tabla 3-2
muestra el significado de las abreviaturas utilizadas en la figura 3.16.
0 Primera línea del display N
1 Segunda línea del display
0 5 x 7 píxel por cada carácter F
1 5 x 10 píxel por cada carácter
0 Mensaje fijo en el display S
1 Desplaza el mensaje en el display
0 Decrementa la posición del cursor 1/D
1 Incrementa la posición del cursor
Tabla 3-2 Significado de las abreviaturas
Como ya fue mencionado, el estado de la carga (EDC) del banco de batería
puede ser visualizado mediante LED’s. Para ello, la tarjeta LCD cuenta con tres led’s
(Verde, Amarillo y Rojo), los cuales indican un estado alto, medio y bajo del estado de
carga del banco de baterías de 12V, respectivamente. Un parpadeo sucesivo del LED
verde indica un estado de carga óptimo, superior a 14.8V (x 2 para 24V). Por otro lado,
un parpadeo sucesivo del led amarillo indica un estado de carga medio, o sea, su carga
se encuentra entre los 12.4V y 14.8V. Y por último, el parpadeo del led de color rojo
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 43
indica un estado de carga deficiente, lo cual indica que la tensión esta por debajo de los
12.4V. La figura 3.17 muestra la tarjeta LCD implementada.
Figura 3-17 Tarjeta LCD implementada
3.6 COMUNICACIÓN SERIAL
La comunicación dual existente entre el PC y la unidad de control del sistema
fotovoltaico es implementado vía serial hacia la unidad de control del sistema
fotovoltaico y viceversa. En la unidad de control el encargado de interpretar y generar la
cadena serial de bits es el microcontrolador PIC18F452. Para ello, el programa cuenta
con comandos predefinidos. Este hecho se ilustra en la figura 3.18 y en la tabla 3-3 se
entrega el significado de cada carácter.
MICROCONTROLADOR
PIC18F452
P
C
S
U
W
L
Figura 3-18 Diagrama de instrucciones predefinidas en el PIC
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 44
Carácter Función P Habilita el algoritmo perturbación y observación C Habilita el algoritmo conductancia incremental S Realiza un reset al contador de energía L Permite la lectura de la EEPROM externa W Permite la escritura de la EEPROM externa U Realiza un reset al microcontrolador
Tabla 3-3 Carácter y funciones interpretadas por el PIC18F452
Al momento en que el computador PC envía alguna de los seis caracteres
introducidos en la figura 3.18, el microcontrolador ejecuta una interrupción y da a lugar a
la petición realizada por el PC (ver tabla 3-3).
La comunicación entre el computador PC y la unidad de control, se realiza
mediante comunicación serial asincrónica, utilizando para ello protocolo RS – 232 [13].
Dicha comunicación es posible mediante la conexión de tres hilos: uno de ellos para
transmisión (TX), otro para recepción (RX) y el último como tierra común entre ambas
unidades. Este hecho se ilustra el diagrama de bloques de la figura 3.20.
COMPUTADORPERSONAL
UNIDAD DECONTROL
DELCONVERSOR
DC/DCGND
TX RX
RX TX
Figura 3-19 Comunicación serial PC / Unidad de control
El microcontrolador PIC18F452 posee un módulo AUSART [14], esto hace que
sea capaz de generar e interpretar cadenas de bits en formato serial. La cadena de bits
generada en el PIC varía entre 0 y 5V. Tensiones que no son suficientes para
adaptarse a la norma RS – 232 (tensiones entre +15 y -15V), es por ello que se hace
necesario el uso de un conversor MAX232 (ver Apéndice D) como interfase entre el
microcontrolador PIC18F452 y el PC.
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 45
3.7 MEMORIA EXTERNA EEPROM 24LC16B
La memoria externa EEPROM es la encargada de almacenar en forma de datos,
las corrientes y tensiones a la que se encuentra operando el sistema fotovoltaico. Tanto
la instrucción de lectura como la escritura de esta memoria, se realiza por medio de la
comunicación serial existente entre el PC y la unidad de control del sistema fotovoltaico,
tal como se mencionó en la sección 3.6.
La memoria EEPROM utilizada en esta tesis es el chip 24LC16B fabricado por la
empresa Microchip (Ver Apéndice D) , el cual tiene una capacidad de almacenamiento
de 16Kbyte, y para comunicarse con otros dispositivos hace uso de dos hilos (Ver
apéndice B). Dado que cumple con el protocolo tiene un pin llamado SCL (Serial
Clock) que recibe los pulsos generados por el dispositivo maestro (o sea el PIC18F452)
y el otro llamado SDA (Serial Data) que maneja el flujo de datos de forma bidireccional
(entrada / salida).
CI 2
Este dispositivo (24LC16B) no requiere de un pin habilitador o chip select ya que
en este esquema, la transferencia de información sólo se puede iniciar cuando el bus
(SDA) esté libre. Cuando el microcontrolador PIC18F452 desea entablar comunicación
con la memoria, debe enviarle una serie de bits que llevan la siguiente información:
1. Se envía el bit de arranque
2. El código 1010
3. La dirección del dispositivo (Ver Apéndice D).
4. Un bit que indica que se desea escribir en la memoria (“0”).
CAPÍTULO TERCERO: SISTEMA EXPERIMENTAL 46
Luego de esto la memoria debe enviar un reconocimiento para informarle al
microcontrolador que recibió la información. Dicho asentamiento, llamado ACK
(Acknowledge), consiste en colocar el pin SDA en un nivel bajo (lo hace la memoria).
Después el microcontrolador debe enviar los bits que corresponden a la posición de
memoria que se quiere leer o escribir; nuevamente la memoria envía un
reconocimiento. El paso siguiente depende de la operación que se vaya a realizar. Si se
trata de un proceso de escritura, el microcontrolador PIC18F452 sólo debe enviar el
dato a ser almacenado y esperar el asentamiento por parte de la memoria. Si se trata
de una lectura, nuevamente se deben repetir los primeros cuatro pasos, solo que en
lugar de un ”0” que indica escritura, se debe enviar un ”1” que indica lectura. Después
se espera el asentamiento y luego se puede leer el byte con el dato que estaba en la
posición de memoria que se indicó anteriormente. Cuando se termina la operación, el
microcontrolador debe enviar una señal de parada o stop bit.
Todos los pasos anteriormente descritos están insertos en una librería
proporcionada por el programa PCWH de CCS denominada 2416.C, la cual fue
utilizada en esta tesis y se encuentra disponible en el Apéndice B.
CAPÍTULO CUARTO
ALGORITMOS DE CONTROL
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 48
4. ALGORITMOS DE CONTROL
4.1 INTRODUCCIÓN
Como ya se mencionó en el capítulo anterior, la potencia proporcionada por los
paneles solares es dependiente de la temperatura y del nivel de radiación solar
incidente. Es por ello que una consideración importante en el diseño de un sistema
fotovoltaico eficiente es rastrear el punto donde se encuentra la máxima potencia de
manera correcta. El propósito del seguimiento del punto de máxima potencia (MPPT)
es forzar a la tensión del panel solar a las cercanías del punto de máxima potencia
(MPP) bajo condiciones atmosféricas cambiantes. De acuerdo a lo anterior, se han
propuesto numerosos métodos para alcanzar el MPP. Entre estos, la referencia [15]
menciona que la tensión del panel solar donde se encuentra la máxima potencia foto
generada , es proporcional a la tensión de circuito abierto del panel solar ( MPV ) ( )OCV .
Este hecho se ilustra en la ecuación 4.1.
( 80.073.0 <<⋅≅ KVKV OCMP ) (4-1)
Por otro lado, la referencia [16] indica que la corriente del panel solar en donde
se ubica la máxima potencia foto generada ( )MPI , es proporcional a la corriente de corto
circuito del panel solar . Este hecho se ilustra en la ecuación 4.2. (Isc)
)
( 96.092.0 <<⋅≅ KIKI SCMP (4-2)
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 49
Ambos métodos son de simple implementación [15] y [16], pero necesitan forzar
la potencia a cero durante un pequeño lapso de tiempo para obtener o ,
disminuyendo de esta forma la energía proporcionada a la carga. De acuerdo a esto, los
algoritmos que proporcionan mejor desempeño (según lo expuesto en [17] y [18]) y los
cuales han sido implementados en el desarrollo de esta tesis son:
OCV SCI
Perturbación y observación
Conductancia incremental
Controlador basado en lógica difusa
Estos algoritmos se detallan a continuación en las secciones 4.2, 4.3 y 4.4,
respectivamente.
4.2 PERTURBACIÓN Y OBSERVACIÓN
El algoritmo perturbación y observación (P&O), se basa en la comparación entre
un valor actual de potencia , y un valor obtenido de la muestra anterior ( )(kP ) ( ))1( −kP .
Basándose en la figura 4.1, el panel solar se encontraba originalmente operando en el
punto A de la curva P – V, luego se desplaza hacía el B. Ahora en el punto B, se
averigua si la potencia actual ( ))(kP , es mayor o igual a la potencia de la muestra
anterior . Si se cumple la premisa ( )1( −kP ) )1()( −> kPkP , se desplaza el punto de
trabajo de B hacía C. Esto es posible de lograr realizando un aumento a una tensión de
referencia denominada Vref , la cual entra a un lazo de control (Ver figura 4.2) y de esta
forma obliga al panel solar a trabajar en dicha tensión. El aumento de Vref , sólo se
hará efectivo si V , en caso contrario se realizará una disminución de Vref . )1( −kV)( >k
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 50
0 2 4 6 8 10 12 14 16 18 20 220
10
20
30
40
50
60
70
80
90
100
110
Tensión (V)
Pot
enci
a (W
)
(V(k-1),P(k-1))
A
B(V(k),P(k))
C(V(k+1),P(k+1))
Figura 4-1 Curva P – V bajo seguimiento del MPP con algoritmo P&O
Ahora en el punto C, se examina nuevamente si la potencia actual (ahora llamada
)) es mayor a la potencia de la muestra anterior )1( +kP ( ))(kP . Al contrario del caso
anterior, la condición es falsa, por ende Vref debe disminuir, esto sólo si
. En caso contrario, Vref debe aumentar.
)()1( kPkP >+
)()1( kVkV >+
P+I Circuito de
disparoConversor
DC/DCPanel Solar+
-
VrefVp =*Vp
Figura 4-2 Lazo de control para la tensión del panel solar
Para obtener el valor de la potencia proporcionada por el panel solar, se debe
sensar continuamente el valor de la tensión ( )kV y corriente instantánea foto
generada (sección 3.3.4), para luego acondicionar las señales a valores entre 0 y 5V,
los cuales llegan finalmente al conversor A/D del microcontrolador PIC18F452. El PIC
( )kI
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 51 efectuará el cálculo de la potencia (ver ecuación 4.3) y se encargará de almacenar este
dato, para ser comparado con la potencia generada en la muestra siguiente. La figura
4.3 resume el método, mediante un diagrama de flujo del algoritmo de búsqueda
denominado: perturbación y observación (P&O).
( ) ( ) ( )kIkVkP ⋅= (4-3)
Sensar V(k), I(k)
Calcular potencia P(k)= V(k) x I(k)
P(k) > P(k-1)
V(k) > V(k-1) V(k) > V(k-1)
NO SI
Vref = Vref - C Vref = Vref + C
SI NO
Vref = Vref - C Vref = Vref + C
SINO
Retornar
Figura 4-3 Diagrama de flujo del método perturbación y observación
La constante C mencionada en el diagrama de flujo de la figura 4.3, representa
una pequeña variación en la tensión de referencia.
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 52 4.3 CONDUCTANCIA INCREMENTAL
El algoritmo de conductancia incremental se basa en la diferenciación de la
potencia proporcionada por el panel solar con respecto al voltaje. Dicha derivada debe
ser cero para situarse en el MPP [17]. Este hecho se muestra en la ecuación 4.4.
0)(=+=
⋅=
dVdIVI
dVIVd
dVdP (4-4)
Arreglando los términos de la ecuación 4.4, se obtiene la ecuación 4.5.
dVdI
VI=− (4-5)
Cabe señalar que el lado izquierdo de la ecuación 4.5 representa la conductancia
instantánea del panel solar, mientras que el lado derecho representa la conductancia
incremental. Así, para situarse en el punto de máxima potencia, estas dos cantidades
deben ser iguales en magnitud, pero opuestos en signo. Si el punto al que se encuentra
operando el panel solar, se encuentra lejos del punto de máxima potencia, se puede
obtener un conjunto de ecuaciones provenientes de la ecuación 4.5 que indican si el
voltaje de operación del panel esta cerca o lejos del MPP (Ver Figura 4.4). Estas
ecuaciones son resumidas en las ecuaciones 4.6 al 4.8.
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 53
;VI
dVdI
−= ⎟⎠⎞
⎜⎝⎛ = 0
dVdP (4-6)
;VI
dVdI
−> ⎟⎠⎞
⎜⎝⎛ > 0
dVdP (4-7)
;VI
dVdI
−< ⎟⎠⎞
⎜⎝⎛ < 0
dVdP (4-8)
0 5 10 15 20 250
20
40
60
80
100
120
Tensión (V)
Pot
enci
a (W
)
dP/dV < 0dP/dV > 0
dP/dV = 0
Figura 4-4 Curva P – V bajo seguimiento del MPP con algoritmo Conductancia Incremental.
La ecuación 4.6 se ha repetido de la ecuación 4.5 por comodidad. Las
ecuaciones 4.6 al 4.8 son utilizadas para determinar la dirección en la cual debe ocurrir
una perturbación para mover el punto de operación a las cercanías del punto de
máxima potencia, y la perturbación se ha de repetir hasta lograr que sea satisfecha la
ecuación 4.6. Una vez localizado el punto de máxima potencia (MPP), el MPPT
continúa operando en este punto hasta existir algún cambio en la corriente medida.
Este cambio en la medición de corriente indica que ha variado el nivel de radiación solar
incidente a carga constante [17]. En la figura 2.5.b se muestra, cuando el nivel de
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 54 radiación solar incidente aumenta, el punto donde se sitúa la máxima potencia se
desplaza hacia la derecha con respecto al voltaje del panel solar. Para compensar el
movimiento del MPP, el MPPT debe incrementar el voltaje de operación del panel solar.
Lo contrario es verdadero cuando existe una disminución del nivel de radiación solar
incidente (por medio de la disminución de la corriente medida).
La figura 4.5 muestra el diagrama de flujo del algoritmo conductancia
incremental. El valor presente y el valor previo de la corriente y voltaje del panel solar
son medidos continuamente por el conversor A/D del microcontrolador PIC18F452. Una
vez en el microcontrolador, los valores de corriente y voltaje son utilizados para calcular
y dV . Si y las condiciones atmosféricas no han cambiado y el MPPT
seguirá operado en el MPP. Si
dI 0=dV 0=dI
0=dV y , entonces la cantidad de radiación ha
aumentado, aumentando el voltaje donde se halla el MPP. Esto requiere que el MPPT
debe incrementar el voltaje de referencia
0>dI
( )Vref para de esta forma seguir el MPP.
Recíprocamente, si , la cantidad de radiación ha disminuido, con lo cual se
reduce el voltaje donde se encuentra el MPP, por ende el MPPT para poder seguir el
nuevo MPP, debe disminuir el voltaje Vref . Si los cambios en el voltaje y la corriente no
son cero, las relaciones dadas en las ecuaciones 4.7 y 4.8 pueden ser utilizadas para
determinar la dirección en la cual el voltaje se debe variar, para alcanzar el nuevo MPP.
Si
0<dI
VIdVdI −> , entonces 0>dVdP , lo que indica que el panel solar se encuentra
operando a la izquierda del MPP en la curva P – V (Figura 4.4). Así, el voltaje Vref
debe ser incrementado para alcanzar al MPP. De manera similar, si VIdVdI −< ,
entonces 0<dVdP , lo cual indica que el panel solar se encuentra operando a la
derecha del MPP en la curva P – V, y por ende el voltaje Vref debe ser reducido para
alcanzar el MPP.
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 55
Al igual que en el método perturbación y observación, el voltaje de referencia
obtenido en cada iteración es ingresado al lazo de control ilustrado en la figura 4.2, a
efecto de asegurar que el panel fotovoltaico seguirá la tensión de referencia,
proporcionado por el algoritmo de MPPT.
Sensar V(k), I(k)
dV = 0
dV = V(k) - V(k-1)dI = I(k) - I(k-1)
dI / dV = - I / V dI = 0
dI / dV > - I / V dI > 0
SINO
NO NO
Vref = Vref + C Vref = Vref - C
SI NO
Vref = Vref - C Vref = Vref + C
NO SI
Retornar
SI SI
Figura 4-5 Diagrama de flujo del algoritmo conductancia incremental
La constante C mencionada en el diagrama de flujo de la figura 4.5, representa
una pequeña variación en la tensión de referencia.
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 56 4.4 CONTROLADOR BASADO EN LÓGICA DIFUSA
Esquemáticamente la configuración del controlador difuso para un conversor
DC/DC esta dado por la figura 4.6. En dicha figura se observa que tanto la corriente
como la tensión son sensados, y luego llevados a los canales A/D del microcontrolador
PIC18F452, esto para luego obtener el error el cual es una de las entradas del
controlador difuso, dicho error se obtiene según la ecuación 4.9.
)(kE
)1()()1()()(
−−−−
==kVkVkPkP
dVdPkE (4-9)
Donde y son la potencia y la tensión del panel fotovoltaico,
respectivamente. Por lo tanto, para obtener la máxima potencia foto generada
debe ser cero [18].
)(kP )(kV
)(kE
PIC18F452 Microchip
RAM
CalcularE . CE
E ControladorDifusoCE
Base deConocimiento
Puerto Serial
A / D PWM
Corriente y tensión
Panel Solar
ComputadorPrincipal
Circuito de disparo
Figura 4-6 Esquema control difuso para el conversor DC/DC
La entrada restante al controlador difuso, corresponde al denominado cambio de
error, el cual se determina haciendo la diferencia entre el valor actual del error y su valor
anterior (Ver ecuación 4.10).
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 57
)1()()( −−= kEkEkCE (4-10)
El algoritmo de control difuso, se divide en tres etapas [18] al [20]. La primera
etapa consiste en la fuzzificación, en ella los datos son transformados para ser
trabajados en un ambiente difuso. Posteriormente, en la etapa de inferencia y toma de
decisión, se definen las reglas del sistema y se evalúan para obtener una salida del tipo
difusa. Finalmente, la salida difusa ingresa a la etapa de desfuzzificación, en donde la
salida obtenida es nuevamente transformada en un variable concreta entendible por el
resto del sistema.
4.4.1 FUZZIFICACIÓN
Las variables de entrada y , son expresados en términos lingüísticos
o etiquetas como: PB (Positivo Grande), PM (Positivo Medio), PS (Positivo Pequeño),
ZO (Cero), NS (Negativo Pequeño), NM (Negativo Medio) y NB (Negativo Grande)
utilizando para ello subconjuntos difusos. La figura 4.7 muestra los grados de
pertenencia de los siete subconjuntos difusos para las variables de entrada y de salida.
)(kE )(kCE
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 58
NB NM NS ZO PS
-6 -4 -2 0 2
0
1
GradoDe
Pertenencia
(a)
u(E)
u(CE)
-6 -4 -2 0 2 4
4 6
PM PB
NB NM NS ZO PS
0
1
GradoDe
Pertenencia
(b)
6
PM PB
NB NM NS ZO PS
0
1
GradoDe
Pertenencia
(c)
6
PM PB
u(dD)
420-2-4-6
Figura 4-7 Funciones de membresía para (a) entrada E, (b) entrada CE y (c) salida dD (variación del ciclo de trabajo).
4.4.2 METODO DE INFERENCIA
La tabla 4-1 muestra las reglas del controlador difuso, la cual se obtiene de todas
las combinaciones posibles entre las entradas E y CE, y a su vez esta combinación
proporciona cuarenta y nueve reglas correspondientes a las posibles salidas del
controlador. La base de conocimiento se conoce como: base de conocimiento de
diagonal cero, y es utilizado en el control de conversores DC/DC [19].
NB NM NS ZO PS
NB NB NB NMNB
NB NB NB NM NS
NB NM NS ZONB
NB NS ZO PSNM
NM NS ZO PS PM
NB
NM
NS
ZO
PS
ECE
PM PB
NS ZO
ZO PS
PS PM
PM PB
PB PB
NS PS PM PBZO
ZO PS PM PB PB
PM
PB
PB PB
PB PB
Tabla 4-1 Base de conocimiento del controlador fuzzy
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 59
El proceso de toma de decisión se realiza por medio de la evaluación de
conjuntos de reglas como las siguientes (Tabla 4-2):
Si (E es NB) y (CE es NS) entonces (dD es NB)
Si (E es ZO) y (CE es ZO) entonces (dD es ZO)
Si (E es ZO) y (CE es PB ) entonces (dD es PB)
Tabla 4-2 Formas de regla
Luego de evaluar los antecedentes de cada regla, se obtienen los consecuentes
y con ellos se construye el conjunto difuso correspondiente a la salida (dD).
Sin embargo, la tabla 4-2 proporciona una salida de tipo lingüística y esta debe
ser convertida a un valor concreto con el cual se puede operar y realizar la acción de
control correspondiente, la cual corresponde a una variación del ciclo de trabajo. A este
proceso de conversión se le conoce como desfuzzificación.
El método de inferencia utilizado en la obtención del consecuente a partir de los
antecedentes, corresponde al de Mamdami [20].
4.4.3 DESFUZZIFICACIÓN
La salida del controlador difuso es un subconjunto difuso de control. Un sistema
para operar requiere usualmente un valor de control no difuso (concreto), es por ello
que se hace necesaria una desfuzzificación. La desfuzzificación se puede realizar
normalmente mediante dos algoritmos: método del máximo y método del centro de
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 60 gravedad (COA) [20]. El método del centro de gravedad es el más utilizado para casos
discretos y esta dado por la ecuación 4-11.
( )
( )∑
∑
=
=
⋅= n
jj
j
n
jj
dDu
dDdDudD
1
1 (4-11)
Donde es la j - ésima regla activa y jdD ( )jdDu es el grado de cumplimiento de
dicha regla ( )10 ≤≤ jdD . Por otro lado, es la salida del controlador difuso y
corresponde a una variación del ciclo de trabajo.
dD
Finalmente, en la figura 4-8 se muestra la configuración del controlador difuso, el
cual esta compuesto de un escalamiento en la entrada y la salida, fuzzificación, toma de
decisiones (inferencia), desfuzzificación. Los factores de escala SE, SCE y SdD cambia
las entradas y salida proporcionalmente. La salida dD se obtiene a partir del estado de
las variables E y CE donde cada uno se deriva de la señal actual dividiendo por el factor
de escala respectivo. La variable de salida es desfuzzificada y multiplicada por el factor
de escala SdD para construir la señal de control PWM. Su papel es afinar el controlador
difuso para obtener el seguimiento del punto de máxima potencia de un sistema
fotovoltaico.
FUZZIFICACIÓN TOMA DEDECISIÓN DESFUZZIFICACIÓN
E
CE
dd
e
ce
dD
SE
SCE
SdD
Figura 4-8 Configuración del controlador difuso
CAPÍTULO CUARTO: ALGORITMOS DE CONTROL 61
Por otro lado, la figura 4-9 muestra la superficie que representa la respuesta del
controlador difuso, en la cual se aprecia la no linealidad de este, con respecto a sus
entradas E y CE. La figura 4-9 se ha obtenido utilizando la herramienta Fuzzy Logic
Toolbox, el cual viene incorporado en el software MATLAB 7.0.
Figura 4-9 Superficie característica del controlador difuso
CAPÍTULO QUINTO
RESULTADOS EXPERIMENTALES
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 63
5. RESULTADOS EXPERIMENTALES
5.1 INTRODUCCIÓN
En este capítulo se presentan los resultados experimentales con la finalidad de
estudiar y observar el comportamiento de los algoritmos de control propuestos, e
implementados tanto en el conversor DC/DC Boost como para el Buck – Boost. El
sistema fotovoltaico utilizado corresponde al descrito en la sección 3.1.
Los resultados que se presentan corresponden al comportamiento del sistema
para las siguientes condiciones:
Generación de curvas I –V y P – V, para diversas condiciones climáticas
MPPT con Radiación Solar Incidente (RSI) constante
MPPT con variación en la RSI
Las principales variables a monitorear son: tensión, corriente, temperatura de
operación del panel solar y ciclo de trabajo del conversor DC / DC. Sin embargo, para
algunas pruebas específicas es posible que se presenten adicionalmente otras
variables que sean consideradas importantes de mostrar.
5.2 RESULTADOS EXPERIMENTALES
Los resultados experimentales se obtuvieron utilizando el sistema detallado en la
sección 3.1 y utilizando como fuente energética el sol. Los conversores DC/DC Boost y
Buck – Boost son controlados mediante un microcontrolador PIC18F452. Dicho control
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 64
se centra en la generación de una señal PWM de 19.6kHz, al cual se le varía el ciclo de
trabajo de tal forma de alcanzar el punto óptimo de operación del panel solar.
Las principales características del panel solar utilizado (Ver apéndice D) se
proporcionan a continuación:
o Voltaje de circuito abierto : 21.6 V
o Corriente de corto circuito : 6.54 A
o Voltaje de máxima potencia : 17.4 V
o Corriente de máxima potencia : 6.10 A
o Potencia máxima : 106 W
Cabe señalar que para efecto de ensayos, el panel solar se ha orientado en
dirección norte y con un ángulo de 60º con respecto a la horizontal. Por otro lado, la
carga del sistema lo compone un banco de batería, el cual es de 12V o 24V, según se
este operando con el conversor en la modalidad reductora (Buck) o elevadora de
tensión (Boost), respectivamente.
5.2.1 RESULTADOS PARA LA GENERACIÓN DE CURVAS I –V y P – V.
La primera prueba considerada de importancia corresponde a la generación de
curvas de corriente contra tensión ( )VI − y potencia contra tensión ( )VP − . La
generación de dichas curvas entrega información importante concerniente al estado de
operación del panel o panel fotovoltaico (FV). En particular, se puede conocer de
manera gráfica la máxima potencia extraíble, esto según lo expuesto en la sección 2.4
(Seguimiento del MPP). Para la obtención de dichas curvas se utilizó los conversores
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 65
DC/DC como resistencias variables, siendo para ello necesario realizar sucesivos
incrementos en los tiempos de encendido del transistor de cada conversor.
La figura 5.1, entrega una comparación de curvas I – V y P –V, obtenidas ambas
a una temperatura de 32 ºC, y con diferentes niveles de radiación solar incidente
( y ). Los niveles de RSI, fueron obtenidos mediante la medición de
la corriente de cortocircuito del panel solar
2/ 810 mW 2/ 489 mW
( )Isc , y utilizando la ecuación 5.1.
( )⎥⎦⎤
⎢⎣
⎡== 254.6 ; ..
mWmAK
KIscISR (5-1)
Donde la constante K se obtiene de los datos proporcionados por el fabricante
del panel solar.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 250
1
2
3
4
5
6
7
Tensión Panel Solar (V)
Cor
rient
e P
anel
Sol
ar (A
)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 250
10
20
30
40
50
60
70
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
(a)
(b)
948 W / m2
810 W / m2
76 W @ 948 W / m2
66 W @ 810 W / m2
Figura 5-1 a) Curvas I – V, b) Curvas P –V
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 66
De la figura 5.1b, se confirma que la curva P – V con mayor potencia foto
generada, es aquella en la cual se ha incidido mayor nivel de radiación solar
( ), alcanzando un valor de 76 W. Por otro lado, la figura 5.1a ilustra el hecho
de que el aumento en el nivel de radiación solar incidente, influye esencialmente en el
acrecentamiento de la corriente de cortocircuito (de 5.3 A 6.2 A). Además de la figura
5.1 se aprecia que la curva de menor radiación solar incidente ( ), logra llegar
a un voltaje de 1V cuando hay ≈5.5A en el panel solar, a diferencia de la curva de
mayor nivel radiación, en que la mínima tensión es de 2V a los ≈6.3A. Lo anterior no
tiene como causa el nivel de radiación solar incidente, sino que la curva de
fue generada con el conversor DC/DC Boost, mientras que la otra curva (la de
) fue obtenida mediante el conversor Buck – Boost.
2/ 489 mW
2/ 810 mW
2/ 489 mW
2/ 810 mW
La figura 5.2 ilustra la comparación de curvas I – V y P – V, para un mismo nivel
de radiación solar incidente ( ), y cambia la temperatura de 31ºC 41ºC. 2/ 489 mW
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 250
1
2
3
4
5
6
7
Tensión Panel Solar (V)
Cor
rient
e P
anel
Sol
ar (A
)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 250
10
20
30
40
50
60
70
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
41ºC
31ºC
72 W @ 41ºC
76 W @ 31ºC
(a)
(b)
Figura 5-2 a) Curva I – V. b) Curva P – V.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 67
De la figura 5.2 se ratifica el hecho de que el aumento en la temperatura del
panel solar, va en directo desmedro de la potencia generada, disminuyendo de 76W a
72W. Además, la figura 5.2.a muestra la disminución de la tensión de circuito abierto
(de 20.5 V 19.4 V), la cual tiene directa relación con el incremento de la temperatura
en el panel solar.
En definitiva, las figuras 5.1 y 5.2 confirman de manera práctica, lo ya
mencionado en la sección 2.3 denominada: Características Analíticas de los Paneles
Solares, la cual aludía la influencia de la potencia generada por un panel solar, por
efecto de la temperatura y el nivel de radiación solar incidente.
5.2.2 RESULTADOS DE MPPT CON RSI CONSTANTE
En esta sección se detallan algunos ensayos realizados concernientes al
seguimiento del punto óptimo del panel FV, para un mismo nivel de radiación solar
incidente (RSI) constante. Los resultados obtenidos en esta sección corresponde a los
logrados mediante los algoritmos: perturbación y observación (P&O), conductancia
incremental (Cond. Inc.) y controlador basado en lógica difusa. Dichos algoritmos se
han implementados en el conversor DC/DC Boost. Para el caso del conversor Buck –
Boost, se utilizaron solo los algoritmos P&O y Cond. Inc.
La figura 5.3 entrega la respuesta del seguimiento del punto de máxima potencia
(MPPT) para un sistema basado en un panel solar y utilizando como algoritmo de
control el método conductancia incremental, con una radiación solar incidente de
2 658 mW y una temperatura de 29ºC. Mientras que la figura 5.4 entrega la respuesta
del MPPT utilizando el algoritmo Perturbación y Observación, para un nivel de radiación
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 68
solar incidente de 2 617 mW y una temperatura de 26ºC. Ambos resultados obtenidos
mediante el conversor Boost.
0 5 10 15 20 250
10
20
30
40
50
60
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1014
14.25
14.5
14.75
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1051
51.5
52
52.5
53
53.5
54
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
40
50
60
70
80
90
100
Efic
ienc
ia C
onve
rsor
(%)
VpanelVref
Eficiencia del ConversorCiclo de Trabajo
MPPT (a)
(b)
(c)
Figura 5-3 a) Curva P-V con MPPT Cond. Inc. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Boost con MPPT
De la figura 5.3a se puede apreciar que el algoritmo Cond. Inc. cumple el
objetivo. O sea, se sitúa la potencia foto generada en el punto más óptimo de la curva
P–V (≈55 W), la cual a su vez, se alcanza con una tensión de ≈14.4 V. Este hecho se
reafirma en la figura 5.3b, donde la respuesta del controlador oscila en torno a la
tensión de referencia. Por otro lado, la salida del controlador es apreciable en la figura
5.3c, donde el ciclo de trabajo fluctúa entre los 51.86 % y 52.15 %. Lo que respecta a la
eficiencia, está se encuentra en torno a los 87%, llegando a un peak de 92 %.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 69
De la figura 5.4 se puede evaluar la efectividad del algoritmo P&O en el
seguimiento del MPP, la cual alcanza un valor de 50W a los ≈14.5V. Situación que se
confirma en la 5.4.b, donde la tensión del panel solar oscila en torno a la tensión de
referencia, proporcionada por el algoritmo de control. En lo que respecta a la variación
del ciclo de trabajo, esta se encuentra entre 49.2% y 50.1%, lo cual deja claro que el
algoritmo P&O es de naturaleza más oscilatorio que el algoritmo Cond. Inc. (ver sección
4). Con lo que respecta a eficiencia, esta se mantiene al igual que en el caso anterior en
≈87%, alcanzando un peak de 91%.
0 5 10 15 20 250
10
20
30
40
50
60
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1014
14.2
14.4
14.6
14.8
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1049
49.5
50
50.5
51
51.5
52
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
65
70
75
80
85
90
95
Efic
ienc
ia C
onve
rsor
(%)
MPPT
Vpanel Vref
Eficiencia del ConversorCiclo de Trabajo
(a)
(b)
(c)
Figura 5-4 a) Curva P-V con MPPT P&O. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Boost con MPPT
Por último, para el caso del conversor DC/DC Boost, se ha implementado un
controlador basado en lógica difusa. La respuesta de dicho controlador se ilustra en la
figura 5.5, la cual se ha obtenido con una temperatura de 38ºC y una RSI de 2 910 mW .
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 70
2 4 6 8 10 12 14 16 18 200
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar
0 1 2 3 4 5 6 7 8 9 10-500
0
500
1000
1500
2000
Erro
r
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
-6000
-4000
-2000
0
2000
4000
Cam
bio
de E
rror
0 1 2 3 4 5 6 7 8 9 1050
60
70
80
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
0.85
0.855
0.86
0.865
Efic
ienc
ia C
onve
rsor
(%)
Eficiencia del Conversor Ciclo de Trabajo
MPPT
Cambio de Error
Error
(a)
(b)
(c)
Figura 5-5 a) Curva P-V con MPPT Difuso. b) Entradas del controlador difuso
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Boost con MPPT
De la figura 5.5 se puede ver que la máxima potencia foto generada es de ≈70W,
la cual se consigue a una tensión de ≈14 V (figura 5.5.a). Las entradas del controlador
(figura 5.5.b) difuso oscilan en torno a cero, tal como se mencionó en la sección 4.4. Por
otra parte, la salida del controlador (ciclo de trabajo) fluctúa entre los ≈50% y 60 %.
Finalmente, al igual que con los métodos P&O y Cond. Inc., el conversor DC/DC Boost
se encuentra operando con una eficiencia de ≈86%.
Ahora, para el caso del conversor Buck – Boost, los algoritmos Cond. Inc. y P&O,
fueron puesto a prueba tanto la propiedad elevadora y reductora de tensión que posee
el conversor Buck – Boost.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 71
Según lo anterior, la figura 5.6 y 5.7 muestran el caso del conversor Buck – Boost
actuando como conversor DC/DC reductor (Buck), y bajo seguimiento del MPP,
utilizando para ello los algoritmos Cond. Inc. y P&O, respectivamente.
La figura 5.6 entrega la respuesta del seguimiento del punto de máxima potencia
(MPPT) para un sistema basado en un panel solar utilizando el algoritmo Cond. Inc.,
con una radiación solar incidente de 2 899 mW y una temperatura de 33 ºC. Mientras
que la figura 5.7 entrega la respuesta del MPPT utilizando el algoritmo P&O, para un
nivel de radiación solar incidente de 2 899 mW y una temperatura de 32 ºC.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1013.5
13.75
14
14.25
14.5
14.75
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1053
53.5
54
54.5
55
55.5
56
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
65
70
75
80
85
90
95
Efic
ienc
ia C
onve
rsor
(%)
MPPT
Vref
Vpanel
Eficiencia del ConversorCiclo de Trabajo
(a)
(b)
(c)
Figura 5-6 a) Curva P-V con MPPT Cond. Inc. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 72
0 2 4 6 8 10 12 14 16 18 200
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1014
14.25
14.5
14.75
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1053
53.25
53.5
53.75
54
54.25
54.5
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
65
70
75
80
85
90
95
Efic
ienc
ia C
onve
rsor
(%)
MPPT
Vpanel Vref
Eficiencia del Conversor Ciclo de Trabajo
(a)
(b)
(c)
Figura 5-7 a) Curva P-V con MPPT P&O. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
Las figuras 5.6 y 5.7 son muy similares. En ambas, la máxima potencia se
encuentra alrededor de los 65 W. La similitud mencionada, tiene como causa principal
el hecho que el nivel de RSI y la temperatura fueron similares. La leve diferencia entre
la figura 5.6 y la 5.7, lo indica el aumento de la tensión de referencia de ≈14.25 V
≈14.3 V. respectivamente. Lo anterior, tiene relación directa con la disminución de la
temperatura de 33º C 32º C. La eficiencia del conversor DC/DC Buck – Boost,
actuando como reductor se puede apreciar tanto en la figura 5.6.c y 5.7.c, en ambas
esta se encuentra en ≈86 %. Mientras que el ciclo de trabajo es de ≈54 %.
Por otro lado, se realizan las mismas pruebas con los algoritmos Cond. Inc. y
P&O para el conversor Buck – Boost, pero ahora en la modalidad de conversor elevador
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 73
(Boost). Los resultados del MPPT utilizando el algoritmo Cond. Inc. y P&O, se ilustran
en la figura 5.8 y 5.9, respectivamente.
La figura 5.8 entrega la respuesta del seguimiento del punto de máxima potencia
(MPPT) utilizando el algoritmo Cond. Inc., con una RSI de 2 764 mW y una temperatura
de 31 ºC. Por otra parte, la figura 5.9 ilustra la respuesta del MPPT utilizando el
algoritmo P&O, para un nivel de RSI de 2 795 mW y una temperatura de 31 ºC.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1013
13.5
14
14.5
15
15.5
16
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1067.25
67.5
67.75
68
68.25
68.5
68.75
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
65
70
75
80
85
90
95
Efic
ienc
ia C
onve
rsor
(%)
(a)
(b)
(c)
MPPT
VpanelVref
Eficiencia del Conversor
Ciclo de Trabajo
Figura 5-8 a) Curva P-V con MPPT Cond. Inc . b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
De la figura 5.8.a se observa que el algoritmo Cond. Inc., logra el objetivo de
forzar al panel solar a situarse en la zona donde se encuentra la máxima potencia foto
generada. Dicha potencia es cercana a los 62 W, la cual se obtiene a una tensión de
≈14.25 V. La tensión donde de encuentra la máxima potencia generada por el panel FV,
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 74
se confirma en la figura 5.8.b, donde se ilustra que la tensión del panel solar oscila en
torno a la tensión de referencia (≈14.25V). Por otro lado, el ciclo de trabajo (ver figura
5.8.c) al cual se encuentra operando el conversor Buck – Boost, aumento de los 54% a
68%, al cambiar la modalidad de trabajo de reductor a elevador de tensión,
respectivamente. Lo que concierne a la eficiencia del conversor, esta fluctúa en torno al
85% llegando a un peak de ≈ 91 %.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1013.75
14
14.25
14.5
14.75
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1067.75
68
68.25
68.5
68.75
69
69.25
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
65
70
75
80
85
90
95
Efic
ienc
ia C
onve
rsor
(%)
VpanelVref
MPPT
Eficiencia del Conversor
Ciclo de Trabajo
(a)
(b)
(c)
Figura 5-9 a) Curva P-V con MPPT P&O. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
Por otra parte, de la figura 5.9 se observa que al igual que con el método Cond.
Inc., el algoritmo P&O logra situarse en la zona donde se encuentra la máxima
proporcionada por el panel solar (≈65 W). El MPP se obtiene a una tensión de ≈ 14.25
V, lo cual se confirma en la figura 5.9.b, donde la tensión del panel solar oscila entorno
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 75
a la tensión de referencia obtenida mediante el algoritmo P&O, dicha tensión de
referencia asciende a los 14.25 V. Por otra parte, la eficiencia del conversor Buck –
Boost operando en la modalidad elevadora, se encuentra cercana a los 85 %, teniendo
un peak de 91 %. Mientras que el ciclo de trabajo, se mantiene constante en 68%.
5.2.3 RESULTADOS DE MPPT CON VARIACIÓN EN LA RSI
En esta sección se detallan algunas pruebas concernientes a aplicar sombras
parciales (variación en el nivel RSI) al panel solar, para lo cual se hace necesario cubrir
una zona del panel solar, durante un pequeño lapso de tiempo (≈1.5 seg. Para la
mayoría de los casos). Los resultados obtenidos corresponde a los logrados mediante
los algoritmos: P&O, Cond. Inc. y Lógica Difusa, los cuales han sido implementados en
el conversor DC / DC Boost. Para el caso del conversor DC / DC Buck – Boost, los
algoritmos empleados para la búsqueda del punto de máxima potencia, ante
variaciones del nivel de RSI corresponden a: P&O y Cond. Inc.
La figura 5.10 entrega la respuesta del sistema en MPPT, utilizando el algoritmo
conductancia incremental a una temperatura de 49º C. Mientras que la figura 5.11,
muestra la respuesta del algoritmo P&O a una temperatura de 25 ºC. Ambos resultados
obtenidos con el conversor DC/DC Boost.
El nivel de radiación solar incidente antes de producirse la perturbación para la
respuesta de la figura 5.10 y 5.11, es de 2 1040 mW y 2 842 mW , respectivamente.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 76
De la figura 5.10 se observa como el algoritmo conductancia incremental, actúa
frente a la variación en el nivel de RSI. Antes de producirse la perturbación (en 1.5
seg.), el panel solar se encontraba operando en la zona de mayor potencia foto
generada en ≈70W. Al producirse la perturbación, la tensión del panel decae de manera
abrupta y con ello la potencia foto generada (70W 10W), por lo cual el sistema de
control actúa disminuyendo el ciclo de trabajo de 55% a 30%. Dicha disminución causa
un aumento en la tensión del panel de los ≈10V a ≈18 V (figura 5.10.b). Por lo cual,
en esta circunstancia el controlador procede ahora aumentando el ciclo de trabajo y con
ello retornando la tensión del panel solar a la de referencia (≈14.5V).
2 4 6 8 10 12 14 16 18 200
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 610
12
14
16
18
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 620
30
40
50
60
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(a)
(b)
(c)
Figura 5-10 a) Curva P-V con MPPT Cond. Inc. y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Boost con MPPT
De la figura 5.11, se observa el comportamiento transiente para el algoritmo
Cond. Inc. La tensión donde se encuentra la máxima potencia foto generada (la cual
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 77
asciende a 65W) es de 15.5V. Por otro lado, el ciclo de trabajo se encuentra entre 25%
y 50% durante la perturbación, y en este lapso la potencia cae de 65W 8W.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 68
10
12
14
16
18
20
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 620
30
40
50
60
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(b)
(a)
(c)
Figura 5-11 Curva P-V con MPPT P&O y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Boost con MPPT
Para finalizar las pruebas con el conversor DC/DC Boost, se observó el
comportamiento del controlador basado en lógica difusa, ante una sombra parcial
aplicada al panel solar a una temperatura de 26º C. La respuesta de la prueba recién
mencionada, se muestra en la figura 5.12.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 78
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar
0 1 2 3 4 5 6-100
0
100
200
300
Erro
r
Tiempo (Seg)0 1 2 3 4 5 6
-1500
-1000
-500
0
500
Cam
bio
de E
rror
0 1 2 3 4 5 620
30
40
50
60
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)
MPPT
Cambio de Error Error
(a)
(b)
(c)
Figura 5-12 a) Curva P-V con MPPT Difuso y variación en la RSI. b) Entradas del controlador difuso
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Boost con MPPT
De la figura 5.12 se observa una respuesta muy similar a las obtenidas en las
figuras 5.10 y 5.11, y es que el ciclo de trabajo disminuye ante la perturbación, para
luego nuevamente aumentar y oscilar en torno al ciclo de trabajo óptimo para
suministrar la máxima potencia disponible en ese momento del panel solar. De la figura
5.12 se aprecia también, como la señal de error y la del cambio de error fluctúan en
torno a cero. Durante la perturbación el error crece cuantitativamente, forzando al
controlador a aumentar el ciclo de trabajo.
La máxima potencia proporcionada por el panel FV es de ≈76W
( )2927y º26 a mWC , la cual cae a 10W por efecto de la sombra aplicada al panel solar.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 79
Ahora, para el caso del conversor Buck – Boost, se probaron los algoritmos: P&O
y Cond. Inc., tanto en la modalidad reductora como elevadora de dicho conversor.
La figura 5.13 entrega la respuesta del sistema en MPPT, utilizando el algoritmo
conductancia incremental a una temperatura de 45º C. Mientras que la figura 5.14,
muestra la respuesta del algoritmo P&O a una temperatura de 30 ºC. Ambos resultados
obtenidos con el conversor DC/DC Buck – Boost, operando en la modalidad reductora.
El nivel de radiación solar incidente antes de producirse la perturbación para la
respuesta de la figura 5.13 y 5.14, es de 2 890 mW y 2 683 mW , respectivamente.
0 2 4 6 8 10 12 14 16 18 200
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 610
12
14
16
18
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 635
40
45
50
55
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(a)
(b)
(c)
Figura 5-13 a) Curva P-V con MPPT Cond. Inc. y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
De la figura 5.13 se aprecia como la potencia cae de los cerca de 65W 8W, al
momento de producirse la perturbación. La máxima potencia se encuentra a una
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 80
tensión de ≈14.5V. Por otra parte, el ciclo de trabajo desciende durante la perturbación
de 54% a 40%. El tiempo que dura la perturbación, es de aproximadamente 1.5 seg.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 610
12.5
15
17.5
20
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 630
35
40
45
50
55
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(a)
(b)
(c)
Figura 5-14 a) Curva P-V con MPPT P&O. y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT
De la figura 5.14 se observa que la RSI sufre una perturbación de duración
≈1seg. En dicha perturbación actúa el algoritmo de control, de igual forma que en el
caso del conversor DC/DC elevador (Boost). Por otra parte, la perturbación causa un
descenso en el ciclo de trabajo de 54 a ≈33%.
Para finalizar, se verificó el seguimiento del punto de máxima potencia del
sistema fotovoltaico, utilizando ahora el conversor DC/DC Buck – Boost, en su
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 81
modalidad elevadora de tensión. Los resultados de esta modalidad se ilustran en la
figura 5.15 y 5.16, para el caso del algoritmo Cond. Inc. y P&O, respectivamente.
El nivel de radiación solar incidente antes de producirse la perturbación para la
respuesta de la figura 5.15 y 5.16, es de 2 846 mW (a 36ºC) y 2 954 mW (a 36ºC),
respectivamente.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 65
7.5
10
12.5
15
17.5
20
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 645
50
55
60
65
70
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(a)
(b)
(c)
Figura 5-15 a) Curva P-V con MPPT Cond. Inc. y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT.
De la figura 5.15 se observa la caída de la potencia de ≈60W a 10W durante la
perturbación. En dicha perturbación, el ciclo de trabajo cae de 68% a 47%.
CAPÍTULO QUINTO: RESULTADOS EXPERIMENTALES 82
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 610
12.5
15
17.5
20
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 655
60
65
70
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)
MPPT
Vpanel
Vref
(a)
(b)
(c)
Figura 5-16 a) Curva P-V con MPPT P&O. y variación en la RSI. b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Buck – Boost con MPPT.
Para finalizar, de la figura 5.16 se observa la caída de la potencia de 78W a 20W,
al momento de producirse la baja en el nivel de RSI, la cual tiene una duración de ≈1
seg. En dicha perturbación, el ciclo de trabajo desciende de 68% a 58%.
CAPÍTULO QUINTO
CONCLUSIONES
CAPÍTULO SEXTO: CONCLUSIONES 84
6. CONCLUSIONES
La potencia proporcionada por un panel solar puede ser maximizada utilizando
para ello un sistema de control con seguimiento del punto de máxima potencia, el cual
consiste de un conversor DC/DC como interfase entre el panel solar y la carga, y una
unidad de control, que controla al conversor DC/DC de forma tal de obtener la máxima
energía proporcionada por el panel FV. En el presente trabajo de tesis se han
implementado dos conversores DC/DC: Boost y Buck – Boost. Cada conversor cuenta
con una unidad de control, basada en un microcontrolador PIC18F452. A su vez, en el
microcontrolador se han implementado tres algoritmos de MPPT, estos son:
perturbación y observación, conductancia incremental y controlador basado en lógica
difusa.
Los resultados experimentales presentados se obtuvieron para diferentes
condiciones, tales como: nivel de radiación solar incidente constante, aplicación de
sombra parcial al panel solar (equivalente a una baja en el nivel de radiación solar) y
efectos de la temperatura en un panel solar. En todas ellas, los resultados obtenidos
muestran un buen desempeño en el funcionamiento. En particular, para la generación
de curvas I –V y P – V, se muestra la buena eficacia de los conversores DC/DC, al
momento de utilizarse como adaptadores de impedancia, siendo el parámetro de
adaptación el ciclo de trabajo. Por otra parte, la respuesta del controlador de tensión
utilizado en los algoritmos P&O y Conductancia Incremental es aceptable (menos de un
5% de la tensión de referencia para la mayoría de los casos). Para el caso del
controlador difuso, aun cuando es más oscilatorio que los algoritmos recién
mencionados, logra mantener el error en torno a cero. La robustez del sistema también
se hizo cierta al momento de aplicársele una sombra parcial al panel solar.
CAPÍTULO SEXTO: CONCLUSIONES 85
Los resultados experimentales obtenidos en esta tesis muestran las ventajas que
presentan las técnicas de control clásica y difuso en los sistemas fotovoltaicos. Además,
se aprecia los beneficios de utilizar un microcontrolador de bajo costo, para
aplicaciones en la cual el tiempo de muestreo no es critico (procesos lentos),
permitiendo también realizar de manera simple modificaciones al sistema. Si bien es
cierto, este trabajo se centró en sistemas de carga aislada, estás técnicas son
aplicables a sistemas híbridos (solar – diesel o eólico – solar – diesel), como también a
sistemas conectados a la red eléctrica, siendo para esto último necesario el uso de un
inversor.
REFERENCIAS BIBLIOGRÁFICAS 86
REFERENCIAS BIBLIOGRÁFICAS [1] Biografía Henry Becquerel
http://es.wikipedia.org/wiki/Henri_Becquerel
[2] Jacob Millmans and Christos C Halkias, "ELECTRONICA INTEGRADA".
[3] “Preguntas y respuestas sobre la energía solar”.
http://www.construir.com/ECONSULT/Construr/Nro59/document/solar.htm
[4] Chihchiang Hua, Jongrong Lin and Chihming Shen., “IMPLEMENTATION OF A
DSP-CONTROLLED PHOTOVOLTAIC SYSTEM WITH PEAK POWER
TRACKING”. IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL.
45, NO.1, FEBRUARY 1998.
[5] E. Koutroulis, K. Kalatzakis and Nicholas C. Voulgaris. “DEVELOPMENT OF A
MICROCONTROLLER – BASED, PHOTOVOLTAIC MAXIMUM POWER POINT
TRACKING CONTROL SYSTEM”. IEEE TRANSACTIONS ON POWER
ELECTRONICS, VOL. 16, NO.1, JANUARY 2001.
[6] Chihchiang Hua and Chihming Shen., “STUDY FOR MAXIMUM POWER POINT
TRACKING TECHNIQUES AND CONTROL OF DC/DC CONVERTERS
PHOTOVOLTAIC POWER SYSTEM ”.ANNUAL IEEE PESC, IEEE COMPUTER
SOC. PRESS, pp. 86 – 93. NEW YORK 1998.
[7] Andujar M. José, Enrique G. Juan, Durán A. Eladio, Martínez B. Miguel .,
“SISTEMA PARA LA GENERACIÓN AUTOMÁTICA DE CURVAS I – V, P – V Y
MONITORIZACIÓN DE MÓDULOS FOTOVOLTAICOS ”.
[8] Moham. M. “POWER ELECTRONIC: CONVERTER, APLICATIONS AND
DESIGN”, 1989.
REFERENCIAS BIBLIOGRÁFICAS 87
[9] Jancarle L. Santos y Fernando L. M. Antunes., “MAXIMUM POWER POINT
TRACKER FOR PV SYSTEM”. RIO 3 – WORLD CLIMATE & ENERGY EVENT,
1 – 5 DECEMBER 2003, RIO DE JANEIRO, BRAZIL.
[10] APPLICATION NOTES. “UNDERSTANDING BOOST POWER STAGES IN
SWITCHMODE POWER SUPPLIES”. TEXAS INSTRUMENTS, 1999.
[11] APPLICATION NOTES. “UNDERSTANDING BUCK – BOOST POWER STAGES
IN SWITCHMODE POWER SUPPLIES”. TEXAS INSTRUMENTS, 2002.
[12] TEXAS INSTRUMENTS, CHAPTER 16. “ACTIVE FILTER DESIGN
TECHNIQUES”.
[13] Tehuana C. Jorge, “INTERFASE GRÁFICA PARA MEDIDOR DE NIVEL”.
[14] DATASHEET PIC18FXX2 HIGH PERFORMANCE MICROCONTROLLERS
WITH 10 BITS A/D. Disponible en www.microchip.com.
[15] Johan H. R. Enslin, Mario S. Wolf, Daniel B. Snyman , and Wernher Swiegers.,
“INTEGRATED PHOTOVOLTAIC MAXIMUM POWER POINT TRACKING
CONVERTER ”. IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL.
44, NO.6, DECEMBER 1997.
[16] Toshihiko Noguchi, Shigenori Togashi, and Ryo NakIamoto., “SHORT –
CURRENT PULSE – BASED MAXIMUM – POWER – POINT TRACKING
METHOD FOR MULTIPLE PHOTOVOLTAIC – AND – CONVERTER MODULE”.
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 49, NO.1,
FEBRUARY 2001.
[17] D. P. Hohm and M. E. Ropp., “COMPARIVE STUDY OF MAXIMUM POWER
POINT TRACKING ALGORITHMS”, June 2002.
[18] Chung – Yuen Won, Duk – Weon Kim, Sei – Chan Kim, Won – Sam Kim, and
Hack – Sung Kim., “A NEW MAXIMUM POWER POINT TRACKER OF
PHOTOVOLTAIC ARRAYS USING FUZZY CONTROLLER”. IEEE 1994.
REFERENCIAS BIBLIOGRÁFICAS 88
[19] Tarun Gupta, R. R. Boudreaux, R. M. Nelms and John Y. Hung.,
“IMPLEMENTATION OF A FUZZY CONTROLLER FOR DC – DC
CONVERTERS USING AN INEXPENSIVE 8 – b MICROCONTROLLER”. IEEE
TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 44, NO.5, OCTOBER
1997.
[20] Reyero R y Nicolás C., “SISTEMAS DE CONTROL BASADO EN LÓGICA
BORROSA: FUZZY CONTROL”, CAPÍTULO 1, 2, 3 y 4 AÑO 1995.
APÉNDICES
APÉNDICE A
MENSAJES GENERADOS EN EL LCD
APÉNDICE A: MENSAJES GENERADOS EN EL LCD 91
La figura A1.a y b, ilustra la pantalla principal y secundaria, respectivamente. La
pantalla principal proporciona los niveles de tensiones y corrientes a los cuales se
encuentra operando el conversor DC/DC. Dichos niveles tienen un tiempo de refresco
de ≈1.5 seg. Por otro lado, para acceder a la pantalla secundaria, se debe presionar
uno de los botones existentes en la tarjeta LCD. Realizando dicha operación, se informa
al usuario del ciclo de trabajo y la potencias a las cuales se encuentra operando el
conversor DC/DC (salida y entrada), además de conocer la energía entregada por el
panel solar a la carga. La pantalla secundaria se encontrará activa hasta que se deje de
presionar el pulsador.
(a)
(b)
Figura A.1 a) Pantalla principal. b) Pantalla secundaria
La figura A.2 muestra el algoritmo de MPPT que esta utilizando el
microcontrolador. Salvo el mensaje de la figura A.2.c, el cual surge al momento de
energizar el sistema, los mensajes restantes aparecerán cada vez que por medio de la
comunicación serial existente entre el PC y la unidad de control de cada conversor
DC/DC, se elija el algoritmo P&O ó Cond. Inc.
APÉNDICE A: MENSAJES GENERADOS EN EL LCD 92
(a)
(b)
(c)
Figura A.2 a) Mensaje algoritmo Perturbación y Observación
b) Mensaje algoritmo Conductancia Incremental c) Mensaje algoritmo basado en un controlador difuso
De la figura A.3 se observa los mensajes generados en el LCD, al momento de
realizar u solicitar una operación relacionada con la memoria EEPROM externa.
(a)
(b)
(c)
Figura A.3 a) Indicación de escritura de la memoria externa
b) Indicación de lectura de la memoria externa c) Indicación de término de la lectura de la memoria externa
APÉNDICE A: MENSAJES GENERADOS EN EL LCD 93
Por último, la figura A.4a y b muestra el caso de una solicitud de generación de
tabla (I –V) y de la ejecución de un borrado de la energía contabilizada por el
microcontrolador, respectivamente.
(a)
(b)
Figura A.1 a) Mensaje de generación de tabla I –V b) Mensaje de borrado de energía
APÉNDICE B
CÓDIGOS DE PROGRAMAS Y LIBRERÍAS
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 95 Programa: Cond_inc.c Este programa es el encargado de realizar el seguimiento del MPP de un panel solar utilizando el conversor Boost. Para ello realiza los siguientes procesos: adquirir datos, crear las interrupciones del timer (cada 10ms) y de la comunicación serial, generar la señal de PWM proveniente de un PI para el conversor DC/DC. Según lo solicitado por el usuario, mediante el software de interfaz y la comunicación serial, el seguimiento del MPP se puede efectuar con el algoritmo P&O o Cond Inc. Siendo este último el programado por defecto. #include <18F452.H> #device adc=10; #include <math.h> #fuses HS,NOWDT,NOPUT,NOPROTECT,NOLVP #use delay (clock=20000000) #use rs232 (baud=9600, xmit=PIN_C6 , rcv=PIN_C7) #include "lcd420b452.c" #include "2416.c" float di; float dv; float vp; float vp_old; float ip; float ip_old; float m1; float m; float x1; float x; float n; float n1; float y1; float y; float p_new; float p_old; float vref; float ibat; float vbat; float o0; float o1; float e; float en; float energy; float fduty; float suma_pot; int16 dato; int16 dato1; int16 dato2; int16 dato3; int16 dato4; int16 dato5; int16 duty; int16 i; int16 ii; int32 j; int32 jj; int16 jjj; int32 cnta; int32 cnt_read; int16 cnta1; int16 medicion; int16 duty_per;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 96 int16 p_i; int16 p_i_i; int16 p_o; int16 p_o_o; int8 cnt_e; char c; // caracter que selecciona el método cond inc char p; // caracter que selecciona el método perturbación y obs. char r; // reset energy char w; // escribir datos en la e2prom externa char l; // leer datos de la e2prom externa boolean ENABLE; boolean clear_energy; boolean clear_cpu; boolean w_eeprom; boolean eeprom; boolean leer_eeprom; boolean pp; boolean cc; byte vp_i; byte vp_o; byte ip_i; byte vref_i; byte ddd; float const ki = 0.922799538; // Constante del PI float const kpr = 2.884600482; // Constante del PI float const aa1 = 0.5335; // Constante del Filtro (10Hz y 10ms) float const aa2 = 0.4665; // Constante del Filtro (10HZ Y 10ms) #INT_RDA void recepcion() char value; value = getc(); if(value=='p') // Habilita algoritmo P&O ENABLE = FALSE; pp = TRUE; if(value=='c') // Habilita algoritmo cond. inc. ENABLE = TRUE; cc = TRUE; if(value=='s') // Limpia el contador de Energía clear_energy = TRUE; if(value=='u') // Resetea el PIC y genera nuevamente una tabla reset_cpu(); if(value=='w') w_eeprom = TRUE; // Escribir la EEPROM EXT. eeprom = TRUE; if(value=='l') leer_eeprom = TRUE;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 97 #INT_RTCC void interrupcion() set_timer0(53036); // Interrupción c/10mseg. output_high(pin_C0); ip_old = ip; vp_old = vp; p_old = p_new; set_pwm1_duty(duty); // SENSAR CORRIENTE DEL PANEL set_adc_channel(0); delay_us(10); medicion = read_adc(); m = medicion * (22.73/(3*1023)); ip = aa1*m1 + aa2*m; // Filtro Digital m1=m; // FIN DE LA MEDICION DE CORRIENTE DEL PANEL // set_adc_channel(2); delay_us(10); medicion = read_adc(); x = medicion *(30.7/859.32); // vp = aa1*x1 + aa2*x; // Filtro Digital x1=x; // FIN DE LA MEDICION DEL VOLTAJE di=ip-ip_old; dv=vp-vp_old; p_new = vp * ip; if(enable==TRUE) if(dv!=0) if((di/dv)!=(ip/vp)) if((di/dv)>(-ip/vp)) vref = vref + 0.002; else vref = vref - 0.006; //0.005 else if(di!=0) if(di>0) vref = vref + 0.002; else vref = vref - 0.006;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 98 else // Si no se elige Cond Inc, entonces se utiliza P&O if(p_new>p_old) if(vp>vp_old) vref = vref + 0.002; else vref = vref - 0.006; //0.1 else if(vp>vp_old) vref = vref - 0.006; else vref = vref + 0.002; if (vref>20.0) vref=20.0; else if (vref<10.0) vref=10.0; // Controlador PI e=vp-vref; o1=o0+ki*e; fduty=(o1+kpr*e); // salida del controlador // Se aplica Antiwinding Up if(fduty>1023) fduty = 1023; else if(fduty<0) fduty = 0; else o0 = o1; duty=(int16)(fduty); // Almacenar datos en la EEPROM EXT. if(w_eeprom && j<=250) ddd = (byte)(0.33*duty); vp_i = (byte)(vp*8); vref_i = (byte)(vref*8); p_i_i = (byte)(p_i*2); vp_o = (byte)(vbat*8); p_o_o = (byte)(p_o*2); if(jjj==0) // Cada 100ms escribir en la eeprom j+=1; // Se incrementa la variable j
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 99 jjj+=1; // Se incrementa la variable jjj write_ext_eeprom(j,ddd); // Almacenamos duty 0 - 250 write_ext_eeprom(j+251,vp_i); // Almacenamos Vpanel 251 - 501 write_ext_eeprom(j+502,vref_i); // Almacenamos VRef panel 502 - 752 write_ext_eeprom(j+753,p_i_i); // Potencia de In 753 - 1003 write_ext_eeprom(j+1004,vp_o); // tensión batería 1004 - 1254 write_ext_eeprom(j+1255,p_o_o); // potencia batería 1255 - 1505 else if(jjj==3)jjj=0; else jjj+=1; // FIN de Almacenar datos en la EEPROM // SENSAR CORRIENTE DE LA BATERIA set_adc_channel(1); delay_us(10); medicion = read_adc(); n = medicion * (22.73/(3*1023)); // Filtro Digital ibat = aa1*n1 + aa2*n; n1=n; // FIN DE LA MEDICION DE CORRIENTE DE LA BATERIA // SENSAR VOLTAJE DE LA BATERIA set_adc_channel( 3 ); delay_us(10); medicion = read_adc(); y = medicion * (30.7/859.32); // vbat = aa1*y1 + aa2*y; // Filtro Digital y1 = y; // FIN DE LA MEDICION DEL VOLTAJE // VISUALIZACION ESTADO DE LA BATERIA if(cnta1==1) if(vbat>29.4) output_high(pin_D0); if(25.4<=vbat && vbat<=29.2) output_high(pin_D1); if(vbat<25.2) output_high(pin_D2); cnta1=cnta1+1; else if(cnta1==50) output_low(pin_D2); output_low(pin_D1); output_low(pin_D0); if(cnta1==100) cnta1=0; cnta1=cnta1+1;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 100 // Fin de Visualización del estado de la Batería duty_per=ceil(100*(fduty)/1024); // Traspaso del ciclo de trabajo, de binario a % p_i=ceil(p_new); p_o=ceil(ibat*vbat); if(cnt_e<20) cnt_e+=1; suma_pot+=p_new; else cnt_e=0; en=(suma_pot/20)*0.2; //energia dada en Watts*seg energy+=(en*0.00028); // energía dada en Watts*hora suma_pot=0; output_low(pin_c0); main() p_i_i = 0; dato = 0; dato1 = 0; dato2 = 0; dato3 = 0; dato4 = 0; dato5 = 0; cnta = 0; cnta1 = 0; duty_per = 0; medicion = 0; vbat = 0; ibat = 0; vp = 0; vp_old = 0; ip = 0; ip_old = 0; dv = 0; di = 0; m = 0; m1 = 0; x = 0; x1 = 0; p_new = 0; p_old = 0; o0 = 0; o1 = 0; vref = 14; e = 0; fduty = 0; duty = 0; i = 0; j = 0; p_i = 0; p_o = 0; duty_per = 0; ii = 0; jj = 0; jjj = 0; en = 0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 101 energy = 0; suma_pot = 0; cnt_e = 0; cnt_read = 0; vp_i = 0; vp_o = 0; vref_i = 0; ddd = 0; ip_i = 0; p_o_o = 0; enable = TRUE; clear_energy = FALSE; pp = FALSE; cc = FALSE; w_eeprom = FALSE; leer_eeprom = FALSE; eeprom = FALSE; output_low(PIN_C5); // Apagado del mosfet de SHORT CIRCUIT lcd_init(); init_ext_eeprom(); setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_ccp1(CCP_PWM); // Configura CCP1 como PWM setup_timer_2(T2_DIV_BY_1,255, 1); // fs = 19.53kHz lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* Incremental Cond *"); delay_ms(1500); lcd_gotoxy(1,1); lcd_putc(" Table Generating "); lcd_gotoxy(1,2); lcd_putc(" Wait "); do set_pwm1_duty(duty); delay_ms(5); // SENSAR CORRIENTE DEL PANEL set_adc_channel(0); delay_us(10); medicion = read_adc(); m = medicion * (22.73/(3*1023)); // Filtro Digital ip = aa1*m1 + aa2*m; m1 = m; // FIN DE LA MEDICION DE CORRIENTE DEL PANEL // SENSAR VOLTAJE DEL PANEL set_adc_channel( 2 ); delay_us(10); medicion = read_adc(); x= medicion * (30.7/859.32); // vp = aa1*x1 + aa2*x; // Filtro Digital x1 = x; // FIN DE LA MEDICION DEL VOLTAJE // SENSAR CORRIENTE DE LA BATERIA set_adc_channel(1); delay_us(10); medicion = read_adc(); n = medicion * (22.73/(3*1023)); // Filtro Digital ibat = aa1*n1 + aa2*n;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 102 n1=n; // FIN DE LA MEDICION DE CORRIENTE DE LA BATERIA // SENSAR VOLTAJE DE LA BATERIA set_adc_channel( 3 ); delay_us(10); medicion = read_adc(); y = medicion * (30.7/859.32); // vbat = aa1*y1 + aa2*y; // Filtro Digital y1 = y; // FIN DE LA MEDICION DEL VOLTAJE printf("%lu %02.3f %02.3f %02.3f %02.3f\r\n",duty,vp,ip,vbat,ibat); duty+=4; delay_ms(5); while(duty<=1024); duty = 200; medicion = 0; vp = 0; ip = 0; vbat = 0; ibat = 0; x1 = 0; x = 0; m1 = 0; m = 0; n1 = 0; n = 0; y1 = 0; y = 0; enable_interrupts(INT_TIMER0); enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); for(;;) if(cnta==1) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("IN"); lcd_gotoxy(9,1); lcd_putc("V"); lcd_gotoxy(20,1); lcd_putc("V"); lcd_gotoxy(9,2); lcd_putc("A"); lcd_gotoxy(20,2); lcd_putc("A"); lcd_gotoxy(11,1 ); lcd_putc("OUT"); lcd_gotoxy(4,1); printf(lcd_putc,"%02.1f",vp); lcd_gotoxy(15,1); printf(lcd_putc,"%02.1f",vbat); lcd_gotoxy(4,2); printf(lcd_putc,"%02.1f",ip); lcd_gotoxy(15,2);
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 103 printf(lcd_putc,"%02.1f",ibat); if(!input(pin_D3)) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("IN"); lcd_gotoxy(11,1); lcd_putc("OUT"); lcd_gotoxy(9,1); lcd_putc("W"); lcd_gotoxy(20,1); lcd_putc("W"); lcd_gotoxy(1,2); lcd_putc("Duty"); lcd_gotoxy(9,2); lcd_putc("%"); lcd_gotoxy(11,2); lcd_putc("E"); lcd_gotoxy(19,2); lcd_putc("Wh"); lcd_gotoxy(5,1); printf(lcd_putc,"%Lu",p_i); // Potencia de Entrada lcd_gotoxy(15,1); printf(lcd_putc,"%Lu",p_o); // Potencia de Salida lcd_gotoxy(6,2); printf(lcd_putc,"%Lu",duty_per); // Ciclo de trabajo en % lcd_gotoxy(13,2); printf(lcd_putc,"%02.2f",energy); // Energía en Watts-Hora dowhile(!input(pin_D3)); // Detectar que se solto tecla if(!input(pin_D4) || clear_energy ) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Reset Energy "); lcd_gotoxy(1,2); lcd_putc("--------------------"); dowhile(!input(pin_D4)); // Detectar que se solto tecla clear_energy = FALSE; delay_ms(500); energy = 0; if(pp) pp = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* P&O Algorithm *"); delay_ms(1500); if(cc) cc = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* Incremental Cond *");
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 104 delay_ms(1500); if(eeprom) eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Write Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); if(leer_eeprom) // Para mostrar datos leer_eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); for(jj=0;jj<=250;jj++) dato = (read_ext_eeprom(jj)); // Se recupera duty dato1 = (read_ext_eeprom(jj+251)); // Se recupera Vpanel dato2 = (read_ext_eeprom(jj+502)); // Se recupera Vref dato3 = (read_ext_eeprom(jj+753)); // Se recupera Pot panel dato4 = (read_ext_eeprom(jj+1004)); // Se recupera la Vout dato5 = (read_ext_eeprom(jj+1255)); // Se recupera la pot printf("%lu %lu %lu %lu %lu %lu\r\n",dato,dato1,dato2,dato3,dato4,dato5); if(jj==251) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ready "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(5000); if(cnta == 150000) cnta = 0; cnta+=1;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 105 Programa: Cond_inc_bb.c Este programa es el encargado de realizar el seguimiento del MPP de un panel solar utilizando el conversor Buck - Boost. Para ello realiza los siguientes procesos: adquirir datos, crear las interrupciones del timer (cada 10ms) y de la comunicación serial, generar la señal de PWM proveniente de un PI para el conversor DC/DC. Según lo solicitado por el usuario, mediante el software de interfaz y la comunicación serial, el seguimiento del MPP se puede efectuar con el algoritmo P&O o Cond Inc. Siendo este último el programado por defecto. #include <18F452.H> #device adc=10; #include <math.h> #fuses HS,NOWDT,NOPUT,NOPROTECT,NOLVP #use delay (clock=20000000) #use rs232 (baud=9600, xmit=PIN_C6 , rcv=PIN_C7) #include "lcd420b452.c" #include "2416.c" float di; float dv; float vp; float vp_old; float ip; float ip_old; float p_new; float p_old; float vref; float ibat; float vbat; float o0; float o1; float e; float en; float energy; float fduty; float suma_pot; int16 dato; int16 dato1; int16 dato2; int16 dato3; int16 dato4; int16 dato5; int16 duty; int16 duty_aux=0; int16 i; int16 ii; int32 j; int32 jj; int16 jjj; int32 cnta; int32 cnt_read; int16 cnta1; int16 medicion; int16 duty_per; int16 p_i; int16 p_i_i; int16 p_o; int16 p_o_o; int8 cnt_e; char c; // carácter que selecciona el método cond inc
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 106 char p; // carácter que selecciona el método perturbación y obs. char r; // reset energy char w; // escribir datos en la e2prom externa char l; // leer datos de la e2prom externa boolean ENABLE; boolean clear_energy; boolean clear_cpu; boolean w_eeprom; boolean eeprom; boolean leer_eeprom; boolean pp; boolean cc; byte vp_i; byte vp_o; byte ip_i; byte vref_i; byte ddd; float const ki = 0.922799538; // Constante del PI float const kpr = 2.884600482; // Constante del PI float const aa1 = 0.7304; // Constante del Filtro (5Hz y 10ms) float const aa2 = 0.2696; // Constante del Filtro (5HZ y 10ms) float const aa3 = 0.9391; // Constante del Filtro (1Hz y 10ms) float const aa4 = 0.0609; // Constante del Filtro (1Hz y 10ms) float const aa5 = 0.9691; // Constante del Filtro (0.5Hz y 10ms) float const aa6 = 1-aa5; // Constante del Filtro (0.5Hz y 10ms) float const aa7 = 0.9937 ; // Constante del Filtro (0.1Hz y 10ms) float const aa8 = 1-aa7; // Constante del Filtro (0.1Hz y 10ms) float const aa9 = 0.9994; // Constante del Filtro (0.01Hz y 10ms) float const aa10= 1- aa9; Float m=0,m1=0,n=0,n1=0,y=0,y1=0,x=0,x1=0; #INT_RDA void recepcion() char value; value = getc(); if(value=='p') // Habilita algoritmo P&O ENABLE = FALSE; pp = TRUE; if(value=='c') // Habilita algoritmo cond. inc. ENABLE = TRUE; cc = TRUE; if(value=='s') // Limpia el contador de Energía clear_energy = TRUE; if(value=='u') // Resetea el PIC y genera nuevamente una tabla reset_cpu(); if(value=='w') w_eeprom = TRUE; // Escribir la EEPROM EXT. eeprom = TRUE; if(value=='l')
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 107 leer_eeprom = TRUE; #INT_RTCC void interrupcion() set_timer0(53036); // Interrupción c/10mseg. output_high(pin_C0); ip_old = ip; vp_old = vp; p_old = p_new; set_pwm1_duty(duty); // SENSAR CORRIENTE DEL PANEL set_adc_channel(0); delay_us(10); medicion = read_adc(); m = medicion * 6.45e-3; // Filtro Digital ip = aa1*m1 + aa2*m; m1 = m; // FIN DE LA MEDICION DE CORRIENTE DEL PANEL // SENSAR VOLTAJE DEL PANEL set_adc_channel(2); delay_us(10); medicion = read_adc(); x = medicion* 0.02975; vp = aa1*x1 + aa2*x; // Filtro Digital x1=x; // // FIN DE LA MEDICION DEL VOLTAJE di=ip-ip_old; dv=vp-vp_old; p_new = vp * ip; if(enable==TRUE) if(dv!=0) if((di/dv)!=(ip/vp)) if((di/dv)>(-ip/vp)) vref = vref + 0.01; else vref = vref - 0.03; //0.005 else if(di!=0) if(di>0) vref = vref + 0.01; else vref = vref - 0.03;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 108 else // Si no se elige Cond Inc, entonces se utiliza P&O if(p_new>p_old) if(vp>vp_old) vref = vref + 0.01; else vref = vref - 0.03; //0.1 else if(vp>vp_old) vref = vref - 0.03; else vref = vref + 0.01; if (vref>20.0) vref=20.0; else if (vref<11.5) vref=11.5; // Controlador PI e=vp-vref; o1=o0+ki*e; fduty=(o1+kpr*e); // salida del controlador // Se aplica Antiwinding Up if(fduty>1023) fduty = 1023; else if(fduty<0) fduty = 0; else o0 = o1; duty=(int16)(fduty); // Almacenar datos en la EEPROM EXT. if(w_eeprom && j<=250) ddd = (byte)(0.33*duty); vp_i = (byte)(vp*8); vref_i = (byte)(vref*8); p_i_i = (byte)(p_i*2); vp_o = (byte)(vbat*8); p_o_o = (byte)(p_o*2); if(jjj==0) // Cada 100ms escribir en la eeprom
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 109 j+=1; // Se incrementa la variable j jjj+=1; // Se incrementa la variable jjj write_ext_eeprom(j,ddd); // Almacenamos duty 0 - 250 write_ext_eeprom(j+251,vp_i); // Almacenamos Vpanel 251 - 501 write_ext_eeprom(j+502,vref_i); // Voltaje Ref panel 502 - 752 write_ext_eeprom(j+753,p_i_i); // Potencia de In 753 - 1003 write_ext_eeprom(j+1004,vp_o); // tensión batería 1004 - 1254 write_ext_eeprom(j+1255,p_o_o); // potencia batería 1255 - 1505 else if(jjj==3)jjj=0; else jjj+=1; // FIN de Almacenar datos en la EEPROM // SENSAR CORRIENTE DE LA BATERIA set_adc_channel(1); delay_us(10); medicion = read_adc(); n = medicion*6.45e-3; ibat = aa1*n1 + aa2*n; n1=n; // FIN DE LA MEDICION DE CORRIENTE DE LA BATERIA // SENSAR VOLTAJE DE LA BATERIA set_adc_channel( 3 ); delay_us(10); medicion = read_adc(); y = medicion* 0.02975; vbat = aa1*y1 + aa2*y; y1=y; // FIN DE LA MEDICION DEL VOLTAJE // VISUALIZACION ESTADO DE LA BATERIA if(cnta1==1) if(vbat>29.4) output_high(pin_D0); if(25.4<=vbat && vbat<=29.2) output_high(pin_D1); if(vbat<25.2) output_high(pin_D2); cnta1=cnta1+1; else if(cnta1==50) output_low(pin_D2); output_low(pin_D1); output_low(pin_D0); if(cnta1==100) cnta1=0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 110 cnta1=cnta1+1; // Fin de Visualización del estado de la Batería duty_per=ceil(100*(fduty)/1024); // Traspaso del ciclo de trabajo, de binario a % p_i=ceil(p_new); p_o=ceil(ibat*vbat); if(cnt_e<20) cnt_e+=1; suma_pot+=p_new; else cnt_e=0; en=(suma_pot/20)*0.2; //energia dada en Watts*seg energy+=(en*0.00028); // energía dada en Watts*hora suma_pot=0; output_low(pin_c0); main() p_i_i = 0; dato = 0; dato1 = 0; dato2 = 0; dato3 = 0; dato4 = 0; dato5 = 0; cnta = 0; cnta1 = 0; duty_per = 0; medicion = 0; vbat = 0; ibat = 0; vp = 0; vp_old = 0; ip = 0; ip_old = 0; dv = 0; di = 0; p_new = 0; p_old = 0; o0 = 0; o1 = 0; vref = 14.5; e = 0; fduty = 0; duty = 0; i = 0; j = 0; p_i = 0; p_o = 0; duty_per = 0; ii = 0; jj = 0; jjj = 0; en = 0; energy = 0; suma_pot = 0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 111 cnt_e = 0; cnt_read = 0; vp_i = 0; vp_o = 0; vref_i = 0; ddd = 0; ip_i = 0; p_o_o = 0; enable = TRUE; clear_energy = FALSE; pp = FALSE; cc = FALSE; w_eeprom = FALSE; leer_eeprom = FALSE; eeprom = FALSE; output_low(PIN_C5); // Apagado del mosfet de SHORT CIRCUIT lcd_init(); init_ext_eeprom(); setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_ccp1(CCP_PWM); // Configura CCP1 como PWM setup_timer_2(T2_DIV_BY_1,255, 1); // fs = 19.53kHz lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* Incremental Cond *"); delay_ms(1500); lcd_gotoxy(1,1); lcd_putc(" Table Generating "); lcd_gotoxy(1,2); lcd_putc(" Wait "); do set_pwm1_duty(duty); delay_ms(5); // SENSAR CORRIENTE DEL PANEL set_adc_channel(0); delay_us(10); medicion = read_adc(); m = medicion * 6.45e-3; ip = aa1*m1 + aa2*m; m1 = m; // FIN DE LA MEDICION DE CORRIENTE DEL PANEL // SENSAR VOLTAJE DEL PANEL set_adc_channel(2); delay_us(10); medicion = read_adc(); x = medicion* 0.02975; vp = aa1*x1 + aa2*x; // Filtro Digital x1=x; // FIN DE LA MEDICION DEL VOLTAJE // SENSAR CORRIENTE DE LA BATERIA set_adc_channel(1); delay_us(10); medicion = read_adc(); n = medicion*6.45e-3;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 112 ibat = aa1*n1 + aa2*n; n1=n; // FIN DE LA MEDICION DE CORRIENTE DE LA BATERIA // SENSAR VOLTAJE DE LA BATERIA set_adc_channel( 3 ); delay_us(10); medicion = read_adc(); y = medicion* 0.02975; vbat = aa1*y1 + aa2*y; y1=y; // FIN DE LA MEDICION DEL VOLTAJE printf("%lu %02.3f %02.3f %02.3f %02.3f\r\n",duty,vp,ip,vbat,ibat); duty+=4; delay_ms(5); while(duty<=1024); duty = 200; medicion = 0; vp = 0; ip = 0; vbat = 0; ibat = 0; enable_interrupts(INT_TIMER0); enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); for(;;) if(cnta==1) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("IN"); lcd_gotoxy(9,1); lcd_putc("V"); lcd_gotoxy(20,1); lcd_putc("V"); lcd_gotoxy(9,2); lcd_putc("A"); lcd_gotoxy(20,2); lcd_putc("A"); lcd_gotoxy(11,1 ); lcd_putc("OUT"); lcd_gotoxy(4,1); printf(lcd_putc,"%02.1f",vp); lcd_gotoxy(15,1); printf(lcd_putc,"%02.1f",vbat); lcd_gotoxy(4,2); printf(lcd_putc,"%02.1f",ip); lcd_gotoxy(15,2); printf(lcd_putc,"%02.1f",ibat); if(!input(pin_D3))
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 113 lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("IN"); lcd_gotoxy(11,1); lcd_putc("OUT"); lcd_gotoxy(9,1); lcd_putc("W"); lcd_gotoxy(20,1); lcd_putc("W"); lcd_gotoxy(1,2); lcd_putc("Duty"); lcd_gotoxy(9,2); lcd_putc("%"); lcd_gotoxy(11,2); lcd_putc("E"); lcd_gotoxy(19,2); lcd_putc("Wh"); lcd_gotoxy(5,1); printf(lcd_putc,"%Lu",p_i); // Potencia de Entrada lcd_gotoxy(15,1); printf(lcd_putc,"%Lu",p_o); // Potencia de Salida lcd_gotoxy(6,2); printf(lcd_putc,"%Lu",duty_per); // Ciclo de trabajo en % lcd_gotoxy(13,2); printf(lcd_putc,"%02.2f",energy); // Energía en Watts-Hora dowhile(!input(pin_D3)); // Detectar que se solto tecla if(!input(pin_D4) || clear_energy ) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Reset Energy "); lcd_gotoxy(1,2); lcd_putc("--------------------"); dowhile(!input(pin_D4)); // Detectar que se solto tecla clear_energy = FALSE; delay_ms(500); energy = 0; if(pp) pp = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* P&O Algorithm *"); delay_ms(1500); if(cc) cc = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("* Incremental Cond *"); delay_ms(1500); if(eeprom)
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 114 eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Write Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); if(leer_eeprom) // Para mostrar datos leer_eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); for(jj=0;jj<=250;jj++) dato = (read_ext_eeprom(jj)); // Se recupera duty dato1 = (read_ext_eeprom(jj+251)); // Se recupera Vpanel dato2 = (read_ext_eeprom(jj+502)); // Se recupera Vref dato3 = (read_ext_eeprom(jj+753)); // Se recupera Potencia panel dato4 = (read_ext_eeprom(jj+1004)); // Se recupera la tensión out dato5 = (read_ext_eeprom(jj+1255)); // Se recupera la potencia salida printf("%lu %lu %lu %lu %lu %lu\r\n",dato,dato1,dato2,dato3,dato4,dato5); if(jj==251) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ready "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(5000); if(cnta == 150000) cnta = 0; cnta+=1;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 115 Programa: fuzzy.c Este programa es el encargado de realizar el seguimiento del MPP de un panel solar utilizando el conversor Boost. Para ello realiza los siguientes procesos: adquirir datos, crear las interrupciones del timer (cada 20ms) y de la comunicación serial, generar la señal de PWM proveniente de un controlador basado en lógica difusa. // ***************************************************************| // MPPT EN SISTEMAS FOTOVOLTAICOS | // UTILIZANDO FUZZY LOGIC CONTROL | // | // Todas las funciones de pertenencia: tanto entradas e y de | // como salida (dd) son del tipo TRIANGULAR con un solapamiento | // de un 50%. | // | // nb nm ns zo ps pm pb | // ____ ____ | // \ /\ /\ /\ /\ /\ / | // \ \ \ \ \ \ | // / \/ \/ \/ \/ \/ \ | // -6 -4 -2 0 2 4 6 | // | // | // PROGRAMA FUNCIONANDO EN PERFECTO ESTADO | // ***************************************************************| #include <18F452.H> #device adc=10; #include <math.h> #fuses HS,NOWDT,NOPUT,NOPROTECT,NOLVP #use delay (clock=20000000) #use rs232 (baud=9600, xmit=PIN_C6 , rcv=PIN_C7) #include "lcd420b452.c" #include "2416.c" float vp=0.0,ip=0.0,vb=0.0,ib=0.0,ip_old=0.0,pk=0.0,pk_old=0.0,ek=0.0; float vb_old=0.0,ib_old=0.0,vp_old=0.0,vpf=0.0,ipf=0.0,vbf=0.0,ibf=0.0; float ek_old=0.0,cek=0.0,xx=0.0,xxx=0.0,yyy=0.0,pout_aux=0.0; float perror[2],pderror[2],c[7],regla[7][7],fdu[3],pdu[3],min=0.0,max=0.0; float fin[90],pout=0; float num=0.0, den=1.0,dd=0.0,fduty=0.0,ffduty=0.0; int ferror[2],fderror[2],kkk=0,uuu=0,ja=0; int16 indice,z=0,zzz=0,dato=0,dato1=0,dato2=0,dato3=0,dato4=0,dato5=0,kkkk=0; int32 medicion=0,duty=0,cnta=0; float const aa1 = 0.9875; // Constante del Filtro (0.1Hz y 20ms) float const aa2 = 1-aa1; // Constante del Filtro (0.1HZ Y 20ms) float const dutymax = 1023; float const dutymin = 0; float m=0,m1=0,n1=0,n=0,x1=0,x=0,y1=0,y=0; boolean eeprom = FALSE; boolean leer_eeprom = FALSE; boolean w_eeprom = FALSE; boolean chip = FALSE; byte vp_i =0, ip_i=0, ek_m=0, cek_m=0,dduty=0,p_o=0; //=====================================================| // Funciones de Pertenencia | //=====================================================| int const NB=0; /* NEGATIVE BIG */
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 116 int const NM=1; /* NEGATIVE MEDIUM */ int const NS=2; /* NEGATIVE SMALL */ int const ZO=3; /* ZERO */ int const PS=4; /* POSITIVE SMALL */ int const PM=5; /* POSITIVE MEDIUM */ int const PB=6; /* POSITIVE BIG */ //=====================================================| // Fin Funciones de Pertenencia | //=====================================================| float minimo(xxx,yyy) if(yyy<=xxx) min=yyy; else min=xxx; return min; float maximo(xxx,yyy) if(yyy>=xxx) max=yyy; else max=xxx; return max; #INT_RDA void recepcion() char value; value = getc(); if(value=='w') eeprom = TRUE; // orden de escribir eeprom w_eeprom = TRUE; if(value=='l') leer_eeprom = TRUE; // orden de leer eeprom if(value=='u') // Resetea el PIC reset_cpu(); if(value=='q') chip = TRUE; #INT_RTCC void interrupcion() set_timer0(53036); // Interrupción Timer c/20ms output_high(pin_C0); // medición time ejec. programa /* SENSAR CORRIENTE DEL PANEL */ set_adc_channel(0); delay_us(10); medicion = read_adc(); ip = medicion*(22.73/(3069)); // 3*1023=3069 //ip = aa1*m1 + aa2*m; //m1=m; /* FIN DE SENSAR CORRIENTE DEL PANEL */ /* SENSAR TENSION DEL PANEL*/ set_adc_channel(2); delay_us(10);
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 117 medicion = read_adc(); vp = medicion*(30.7/859.32); // //vp = aa1*x1 + aa2*x; // Filtro Digital //x1=x; /* FIN DE SENSAR TENSION DEL PANEL */ pk=vp*ip; ek=(pk-pk_old)/(vp_old-vp); ek = 3.4*ek;//0.04 / 3.25 cek=ek-ek_old; cek= 3.4*cek; ek_old=ek; pk_old= pk; ip_old = ip; vp_old = vp; vb_old = vb; ib_old = ib; //================================================================== // Fuzzificación E(K) //================================================================== if((ek>-6.0)&&(ek<6.0)) indice=(int16)((ek+6.0)*7.5); perror[0]=fin[indice]; perror[1]=1-perror[0]; ferror[0]=(int16)(indice/15.0); ferror[1]=ferror[0]+1; if(ek<=-6.0) perror[0]=1.0; perror[1]=0.0; ferror[0]=NB; ferror[1]=NM; if(ek>=6.0) perror[0]=1.0; perror[1]=0.0; ferror[0]=PB; ferror[1]=PM; //================================================================== // Fuzzificación CE(K) //================================================================== if((cek>-6.0)&&(cek<6.0)) indice=(int16)((cek+6.0)*7.5); pderror[0]=fin[indice]; pderror[1]=1-pderror[0]; fderror[0]=(int16)(indice/15.0); fderror[1]=fderror[0]+1; if(cek<=-6.0) pderror[0]=1.0; pderror[1]=0.0; fderror[0]=NB; fderror[1]=NM; if(cek>=6.0) pderror[0]=1.0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 118 pderror[1]=0.0; fderror[0]=PB; fderror[1]=PM; //=========================================================== // Toma de Decisión //=========================================================== fdu[0]=regla[ferror[0]][fderror[0]]; fdu[1]=regla[ferror[0]][fderror[1]]; fdu[2]=regla[ferror[1]][fderror[1]]; pdu[0]=minimo(perror[0],pderror[0]); pdu[1]=maximo(minimo(perror[0],pderror[1]),minimo(perror[1],pderror[0])); pdu[2]=minimo(perror[1],pderror[1]); //=========================================================== // FIN Toma de Decisión //=========================================================== //=========================================================== // Desfuzzificación //=========================================================== den=(pdu[0]+pdu[1]+pdu[2]); num=((c[fdu[0]]*pdu[0])+(c[fdu[1]]*pdu[1])+(c[fdu[2]]*pdu[2])); dd=1.4*(num/den); // dd: delta duty cycle / 2.25 //=========================================================== // FIN Desfuzzificación //=========================================================== //=========================================================== // Se aplica Antiwinding Up //=========================================================== fduty=ffduty+dd; if(fduty>dutymax) fduty=dutymax; else if(fduty<dutymin) fduty=dutymin; else ffduty=fduty; // Se integra duty=(int16)(fduty); // Se hace el traspaso de flot a int set_pwm1_duty(duty); //=========================================================== // FIN Antiwinding Up //=========================================================== //=========================================================== // Sensar Tensión y Corriente de Salida //=========================================================== set_adc_channel(1); delay_us(10); medicion = read_adc(); ib = medicion * (22.73/3069); set_adc_channel( 3 ); delay_us(10); medicion = read_adc(); vb = medicion*(30.7/859.32); //=========================================================== // Fin de Sensado de Tensión y Corriente de Salida //=========================================================== //=========================================================== // Filtrado de las Variables //=========================================================== pout_aux=vb*ib; vpf=aa1*vp_old+aa2*vp; ipf=aa1*ip_old+aa2*ip; vbf=aa1*vb_old+aa2*vb;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 119 ibf=aa1*ib_old+aa2*ib; pout=vpf*ipf; //=========================================================== // Fin Filtrado de las Variables //=========================================================== //=========================================================== // ALMACENAR DATOS EN LA EEPROM EXTERNA //=========================================================== if(eeprom && z<251) vp_i = (byte)(vpf*8); // guardar tensión del panel ip_i = (byte)(ipf*30); // guardar corriente del panel ek_m = (byte)(ek); // guardar el error cek_m = (byte)(cek); // guardar cambio de el error dduty = (byte)(duty*0.33); // guardar ciclo de trabajo p_o = (byte)(pout_aux*2); // guardar potencia salida if(zzz==0) // Cada 100ms escribir en la eeprom z+=1; // Se incrementa la variable z zzz+=1; // Se incrementa la variable zzz write_ext_eeprom(z,vp_i); // Almacenamos Voltaje Panel 0 - 250 write_ext_eeprom(z+251,ip_i); // Almacenamos corriente pv 251 - 501 write_ext_eeprom(z+502,ek_m); // Almacenamos error 502-752 write_ext_eeprom(z+753,cek_m); // Almacenamos cerror 753 - 1003 write_ext_eeprom(z+1004,dduty); // Almacenamos duty 1004 - 1254 write_ext_eeprom(z+1255,p_o); else if(zzz>1)zzz=0; else zzz+=1; //============================================================ // FIN DE ALMACENAMIENTO EN LA E2PROM //============================================================ if(kkk==0 && chip) kkk+=1; kkkk+=1; if(kkkk>249) chip = FALSE; else printf("\n\r %02.2f %02.2f %02.2f %02.2f %lu %02.2f \n\r",vp,ip,ek,cek,duty,pout_aux); else if(kkk>1) kkk=0; else kkk=kkk+1; output_low(pin_C0); // fin medicion del time de ejecución programa main() int iii=0,jjj=0; for(iii=0;iii<90;iii++) fin[iii]=0.0; // Inicialización del vector fin[iii] for(iii=0;iii<2;iii++) perror[iii]=0.0; pderror[iii]=0.0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 120 ferror[iii]=0; fderror[iii]=0; for(iii=0;iii<3;iii++) pdu[iii]=0.0; fdu[iii]=0; output_low(PIN_C5); // Apagado del mosfet de SHORT CIRCUIT lcd_init(); init_ext_eeprom(); //|===========================================================| //| Centro de las Funciones de Pertenencia | //|===========================================================| c[NB]=-6.0; c[NM]=-4.0; c[NS]=-2.0; c[ZO]= 0.0; c[PS]=-c[NS]; c[PM]=-c[NM]; c[PB]=-c[NB]; //|===========================================================| //| Creación de las Funciones de Pertenencia de entrada | //|===========================================================| for(iii=0;iii<16;iii++) xx=(1.0-(iii/15.0)); fin[iii] =xx; fin[15+iii]=xx; fin[30+iii]=xx; fin[45+iii]=xx; fin[60+iii]=xx; fin[75+iii]=xx; fin[15]=1.0; fin[30]=1.0; fin[45]=1.0; fin[60]=1.0; fin[75]=1.0; //============================================================| // REGLAS DEL CONTROLADOR DE FUZZY LOGIC | //============================================================| for(iii=0;iii<4;iii++) for(jjj=0;jjj<(4-iii);jjj++) regla[iii][jjj]=NB; regla[6-iii][6-jjj]=PB; for(iii=0;iii<5;iii++) regla[iii][4-iii]=NM; regla[iii+2][6-iii]=PM; for(iii=0;iii<6;iii++) regla[iii][5-iii]=NS; regla[iii+1][6-iii]=PS; for(iii=0;iii<7;iii++) regla[iii][6-iii]=ZO;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 121 //===============================================================| // LAS REGLAS CREAN LA MATRIZ SIGUIENTE | // | // CE(K) | // | // NB NM NS ZO PS PM PB | // \---------------------------------- | // NB | NB | NB | NB | NB | NM | NS | ZO | // ----------------------------------- | // NM | NB | NB | NB | NM | NS | ZO | PS | // ----------------------------------- | // NS | NB | NB | NM | NS | ZO | PS | PM | // ----------------------------------- | // E(K) ZO | NB | NM | NS | ZO | PS | PM | PB | // ----------------------------------- | // PS | NM | NS | ZO | PS | PM | PB | PB | // ----------------------------------- | // PM | NS | ZO | PS | PM | PB | PB | PB | // ----------------------------------- | // PB | ZO | PS | PM | PB | PB | PB | PB | // ----------------------------------- | // | //================================================================ setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_ccp1(CCP_PWM); // Configura CCP1 como PWM setup_timer_2(T2_DIV_BY_1,255, 1); // fs = 19.53kHz enable_interrupts(INT_TIMER0); enable_interrupts(INT_RDA); // Interrupción al existir un evento en com1 enable_interrupts(GLOBAL); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8); lcd_putc("******* MPPT *******"); lcd_gotoxy(1,2); lcd_putc("Fuzzy Logic Control"); delay_ms(1500); for(;;) cnta+=1; if(cnta==1) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc("IN"); lcd_gotoxy(9,1); lcd_putc("V"); lcd_gotoxy(20,1); lcd_putc("V"); lcd_gotoxy(9,2); lcd_putc("A"); lcd_gotoxy(20,2); lcd_putc("A"); lcd_gotoxy(11,1 ); lcd_putc("OUT"); lcd_gotoxy(4,1); printf(lcd_putc,"%02.1f",vpf); lcd_gotoxy(15,1); printf(lcd_putc,"%02.1f",vbf); lcd_gotoxy(4,2); printf(lcd_putc,"%02.1f",ipf); lcd_gotoxy(15,2);
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 122 printf(lcd_putc,"%02.1f",ibf); if(w_eeprom) w_eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Write Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); if(leer_eeprom) // Para mostrar datos leer_eeprom = FALSE; lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ext EEPROM "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); for(z=0;z<251;z++) dato = (read_ext_eeprom(z)); // Se recupera Vp dato1 = (read_ext_eeprom(z+251)); // Se recupera Ip dato2 = (read_ext_eeprom(z+502)); // Se recupera error dato3 = (read_ext_eeprom(z+753)); // Se recupera cambio de error dato4 = (read_ext_eeprom(z+1004)); // se recupera el ciclo de trabajo dato5 = (read_ext_eeprom(z+1255)); // Se recupera la potencia de out printf("%lu %lu %lu %lu %lu %lu\r\n",dato,dato1,dato2,dato3,dato4,dato5); if(z==251) lcd_putc("\f"); lcd_gotoxy(1,1); lcd_putc(" Read Ready "); lcd_gotoxy(1,2); lcd_putc(" 24C16B "); delay_ms(1500); delay_ms(1500); cnta = 0;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 123 Programa: lcd420b.c Esta librería es la encargada del manejo del módulo LCD. // As defined in the following structure the pin connection is as follows: // B0 enable // B1 rs // B2 rw // B4 D4 // B5 D5 // B6 D6 // B7 D7 // // LCD pins D0-D3 are not used and PIC B3 is not used. struct lcd_pin_map // This structure is overlayed BOOLEAN enable; // on to an I/O port to gain BOOLEAN rs; // access to the LCD pins. BOOLEAN rw; // The bits are allocated from BOOLEAN unused; // low order up. ENABLE will int data : 4; // be pin B0. lcd; #byte lcd = 0x6 // This puts the entire structure // on to port D (at address 8) #define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines BYTE const LCD_INIT_STRING[4] = 0x20 | (lcd_type << 2), 0xc, 1, 6; // These bytes need to be sent to the LCD // to start it up. // The following are used for setting // the I/O port direction register. struct lcd_pin_map const LCD_WRITE = 0,0,0,0,0; // For write mode all pins are out struct lcd_pin_map const LCD_READ = 0,0,0,0,15; // For read mode data pins are in BYTE lcdline; BYTE lcd_read_byte() BYTE low,high; set_tris_b(LCD_READ); lcd.rw = 1; delay_cycles(1); lcd.enable = 1; delay_cycles(1); high = lcd.data; lcd.enable = 0; delay_cycles(1); lcd.enable = 1; delay_us(1); low = lcd.data; lcd.enable = 0; set_tris_b(LCD_WRITE); return( (high<<4) | low);
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 124 void lcd_send_nibble( BYTE n ) lcd.data = n; delay_cycles(1); lcd.enable = 1; delay_us(2); lcd.enable = 0; void lcd_send_byte( BYTE address, BYTE n ) lcd.rs = 0; while ( bit_test(lcd_read_byte(),7) ) ; lcd.rs = address; delay_cycles(1); lcd.rw = 0; delay_cycles(1); lcd.enable = 0; lcd_send_nibble(n >> 4); lcd_send_nibble(n & 0xf); void lcd_init() BYTE i; set_tris_b(LCD_WRITE); lcd.rs = 0; lcd.rw = 0; lcd.enable = 0; delay_ms(15); for(i=1;i<=3;++i) lcd_send_nibble(3); delay_ms(5); lcd_send_nibble(2); for(i=0;i<=3;++i) lcd_send_byte(0, LCD_INIT_STRING[i]); void lcd_gotoxy( BYTE x, BYTE y) BYTE address; switch(y) case 1 : address=0x80;break; case 2 : address=0xc0;break; case 3 : address=0x94;break; case 4 : address=0xd4;break; address+=x-1; lcd_send_byte(0,address); void lcd_putc( char c) switch (c) case '\f' : lcd_send_byte(0,1); lcdline=1; delay_ms(2); break; case '\n' : lcd_gotoxy(1,++lcdline); break; case '\b' : lcd_send_byte(0,0x10); break; default : lcd_send_byte(1,c); break;
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 125 char lcd_getc( BYTE x, BYTE y) char value; lcd_gotoxy(x,y); lcd.rs=1; value = lcd_read_byte(); lcd.rs=0; return(value);
Programa: test.vbp Este programa es el encargado de ser interfaz para el usuario. En su pantalla presenta: el algoritmo que esta siendo utilizado para el MPPT, la tabla I –V generada, acceso a MATLAB, etc. Además, posee varios botones entre los que destaca: Lectura EEPROM externa, escritura EEPROM externa, reset al microcontrolador, guardar datos adquiridos, borrado de la contabilización de energía, etc. Private Sub chkestablecer_Click() If chkestablecer.Value = 0 Then ChkOnline.Value = 1 MSComm1.PortOpen = False CmdPer.Enabled = False CmdCond.Enabled = False CmdClearEnergy.Enabled = False cmdreset.Enabled = False cmdLeerEeprom.Enabled = False mnuGuardarEeprom.Enabled = False mnuLeerEeprom.Enabled = False Timer2.Enabled = True ChkOnline.Enabled = True End If If chkestablecer.Value = 1 Then ChkOnline.Value = 0 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If CmdPer.Enabled = True CmdClearEnergy.Enabled = True cmdreset.Enabled = True cmdLeerEeprom.Enabled = True mnuGuardarEeprom.Enabled = True mnuLeerEeprom.Enabled = True Timer2.Enabled = False End If End Sub Private Sub ChkOnline_Click() If ChkOnline.Value = 0 Then chkestablecer.Value = 1 Else chkestablecer.Value = 0 End If End Sub
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 126 Private Sub CmdClearEnergy_Click() MSComm1.Output = "s" 'En el PIC hacer energy = 0 End Sub Private Sub CmdCond_Click() If CmdPer.Enabled = False Then CmdPer.Enabled = True End If MSComm1.Output = "c" 'Cond Inc. Timer1.Enabled = True CmdCond.Enabled = False LblEstado.Caption = "Conductancia Incremental" End Sub Private Sub cmdLeerEeprom_Click() MSComm1.Output = "l" ' Envia señal de lectura de la e2prom al 'PIC End Sub Private Sub CmdLimpiar_Click() txtrx.Text = "" End Sub Private Sub cmdreset_Click() CmdPer.Enabled = False CmdCond.Enabled = True MSComm1.Output = "u" ' Establece un reset en el PIC End Sub Private Sub CmdSalir_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If Unload Me End Sub Private Sub CmdPer_Click() If CmdCond.Enabled = False Then CmdCond.Enabled = True End If MSComm1.Output = "p" ' P&O Timer1.Enabled = True CmdPer.Enabled = False LblEstado.Caption = "Perturbación y Observación" End Sub Private Sub Form_Load() MSComm1.Settings = "9600,n,8,1" ' velocidad, paridad MSComm1.CommPort = 1 'MSComm1.PortOpen = True CmdPer.Enabled = False CmdCond.Enabled = False CmdClearEnergy.Enabled = False cmdreset.Enabled = False chkestablecer.Value = 1 Timer1.Enabled = True Timer2.Enabled = False ChkOnline.Enabled = False LblEstado.Caption = "Conductancia Incremental" End Sub
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 127 Private Sub Image2_Click() Call Shell("C:\MATLABR11\BIN\MATLAB.EXE") End Sub Private Sub mnuColorTextBox_Click() CommonDialog1.Flags = &H1& ' Cambio de color de la caja de texto CommonDialog1.ShowColor txtrx.BackColor = CommonDialog1.Color End Sub Private Sub mnuGuardar_Click() 'nota: todo el archivo se almacenará como una única cadena CommonDialog1.Filter = "Archivos de texto (*.DAT)|*.DAT" CommonDialog1.ShowSave 'muestra el cuadro de diálogo Guardar If CommonDialog1.FileName <> "" Then Open CommonDialog1.FileName For Output As #1 Print #1, txtrx.Text 'guarda el texto en un archivo Close #1 'cerrar archivo End If End Sub Private Sub mnuGuardarEeprom_Click() MSComm1.Output = "w" ' write ext eeprom (PIC 18F452) End Sub Private Sub mnuLeerEeprom_Click() MSComm1.Output = "l" ' Envia señal de lectura de la e2prom al 'PIC End Sub Private Sub mnuMatlab_Click() Call Shell("C:\MATLABR11\BIN\MATLAB.EXE") End Sub Private Sub mnuPropiedad_Click() CommonDialog1.Flags = &H1& CommonDialog1.ShowColor txtrx.ForeColor = CommonDialog1.Color End Sub
APÉNDICE B: CÓDIGOS DE PROGRAMAS Y LIBRERÍAS 128 Private Sub mnuSalir_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If Unload Me End Sub Private Sub Timer1_Timer() If chkestablecer.Value = 1 Then txtrx.Text = txtrx.Text & MSComm1.Input End If End Sub Private Sub Timer2_Timer() If ChkOnline.Value = 1 Then If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If End If Text1.Text = "Hola" End Sub
APÉNDICE C
DIAGRAMAS ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADA
APÉNDICE C: DIAGRAMAS DE ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADAS 130
Figura C.1 Diagrama Esquemático de la Tarjeta Conversor DC/DC Boost
APÉNDICE C: DIAGRAMAS DE ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADAS 131
Figura C.2 Diagrama Esquemático de la Tarjeta Conversor DC/DC Buck - Boost
APÉNDICE C: DIAGRAMAS DE ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADAS 132
Figura C.3 Diagrama Esquemático de la Tarjeta de Programación de Microcontroladores PIC.
APÉNDICE C: DIAGRAMAS DE ESQUEMÁTICOS DE LAS TARJETAS IMPLEMENTADAS 133
Figura C.4 Diagrama Esquemático de la Tarjeta LCD.
APÉNDICE D
HOJAS DE DATOS INTEGRADOS
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 135
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 136
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 137
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 138
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 139
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 140
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 141
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 142
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 143
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 144
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 145
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 146
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 147
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 147
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 148
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 149
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 150
APÉNDICE D: HOJAS DE DATOS INTEGRADOS 151
Universidad de MagallanesFacultad de IngenieríaIngeniería de Ejec. en Electricidad
“EVALUACIÓN DE CONVERSORES DC / DC Y SIST. DE CONTROL
PARA APLICACIONES FOTOVOLTAICAS”
Hugo Miguel Villegas Barría2006
Contenidos
IntroducciónCeldas SolaresSistema ExperimentalAlgoritmos de ControlResultados ExperimentalesConclusiones
IntroducciónAnte la necesidad de contar con nuevas fuentes de energía se ha efectuado una fuerte actividad de investigación en el área de energía solar.Ventajas:
Energía no contaminante.Costos a largo plazo bajos.Libre o escaso de mantenimiento.
Desventajas:Dependencia de los factores climáticos.Alta inversión inicial.
Aparecen los denominados sistemas híbridos, tal como solar –diesel o eólico – solar – diesel.
IntroducciónEn el presente trabajo se presentan estrategias de control, para ser aplicados a sistemas fotovoltaicos que suministran energía a una carga aislada.
El sistema experimental esta compuesto de un panel solar que se conectará a la carga (banco de batería) por medio de un conversor DC/DC Boost y luego un Buck – Boost. Siendo ambos sistemas discutidos en este trabajo.
Celdas Solares
Celdas SolaresUna celda solar es un dispositivo capaz de convertir la energía proveniente de la radiación solar en energía eléctrica.
El efecto fotovoltaico mencionado en el párrafo anterior, solo es posible en una parte del espectro luminoso. Dicho segmento lo componen básicamente las longitudes de onda más pequeñas, las cuales están comprendidas entre la luz ultravioleta y en el espectro visible al color violeta.
Celdas SolaresMPP: Punto de Máxima Potencia MPP
Figura 1. Característica I – V de un panel solar
Celdas Solares
Figura 2. Efectos de la temperatura y la radiación en un panel solar
Celdas Solares
(a) (b)
Figura 3. Interacción de un panel fotovoltaico con carga (a) resistiva y (b) galvánica de 12 V.
Sistema Experimental
Sistema Experimental
Figura 4. Sistema fotovoltaico propuesto
Sistema Experimental
Figura 5. Sistema fotovoltaico implementado con conversor DC/DCBoost.
Sistema ExperimentalEl conversor DC/DC es empleado como adaptador de impedancia.
Esta propiedad intrínseca del conversor DC/DC se utiliza para ajustar la tensión del panel solar, al valor en el cual se entrega la máxima potencia a la carga.
Este proceso se denomina:
Seguimiento del Punto de Máxima PotenciaMPPT
Algoritmos de Control
Algoritmos de Control
Los algoritmos utilizados en esta Tesis para realizar MPPT, son los siguientes:
Perturbación y Observación (P&O)Conductancia Incremental (Cond. Inc.)Controlador basado en lógica difusa (Fuzzy Logic)
Algoritmos de Control(P&O)
Figura 6. Curva P – V bajo seguimiento del MPP con algoritmo P&O
0 2 4 6 8 10 12 14 16 18 20 220
10
20
30
40
50
60
70
80
90
100
110
Tensión (V)
Pot
enci
a (W
)
(V(k-1),P(k-1))
A
B(V(k),P(k))
C(V(k+1),P(k+1))
Algoritmos de Control
P+I Circuito dedisparo
Conversor DC/DC
Panel Solar+
-
VrefVp =*Vp
Figura 7. Lazo de control para la tensión del panel solar
En la figura 7 se muestra el controlador PI, el cual es el encargado de controlar la tensión del panel solar, mediante el aumento o disminución (según sea el caso) del ciclo de trabajo de la señal PWM aplicada al conversor DC/DC.
Algoritmos de Control (P&O)Sensar V(k), I(k)
Calcular potencia P(k)= V(k) x I(k)
P(k) > P(k-1)
V(k) > V(k-1) V(k) > V(k-1)
NO SI
Vref = Vref - C Vref = Vref + C
SI NO
Vref = Vref - C Vref = Vref + C
SINO
Retornar
Figura 8. Diagrama de flujo del método de MPPT P&O
0 5 10 15 20 250
20
40
60
80
100
120
Tensión (V)
Pot
enci
a (W
)
dP/dV < 0dP/dV > 0
dP/dV = 0
Algoritmos de Control(Cond. Inc.)
VI
dVdI
dVdIVI
dVIVd
dVdP
−=⇒
=⋅+=⋅
= 0)(
Figura 9. Curva P – V bajo seguimiento del MPP con algoritmo Cond. Inc.
Algoritmos de Control (Cond. Inc.)Sensar V(k), I(k)
dV = 0
dV = V(k) - V(k-1)dI = I(k) - I(k-1)
dI / dV = - I / V dI = 0
dI / dV > - I / V dI > 0
SINO
NO NO
Vref = Vref + C Vref = Vref - C
SI NO
Vref = Vref - C Vref = Vref + C
NO SI
Retornar
SI SI
Figura 10. Diagrama de flujo del método de MPPT Cond. Inc.
Algoritmos de Control(Fuzzy Logic)
FUZZIFICACIÓN TOMA DEDECISIÓN DESFUZZIFICACIÓN
E
CE
dd
e
ce
dD
SE
SCE
SdD
)1()()1()()(
−−−−
==kVkVkPkP
dVdPkE
)1()()( −−= kEkEkCE
Figura 11. Configuración del controlador difuso
NB NM NS ZO PS
-6 -4 -2 0 2
0
1
GradoDe
Pertenencia
(a)
u(E)
u(CE)
-6 -4 -2 0 2 4
4 6
PM PB
NB NM NS ZO PS
0
1
GradoDe
Pertenencia
(b)
6
PM PB
NB NM NS ZO PS
0
1
GradoDe
Pertenencia
(c)
6
PM PB
u(dD)
420-2-4-6
Algoritmos de Control (Fuzzy Logic)
Figura 12. Funciones de membresía para (a) entrada E, (b) entrada CE y (c) salida dD (variación del ciclo de trabajo).
Algoritmos de Control (Fuzzy Logic)
NB NM NS ZO PS
NB NB NB NMNB
NB NB NB NM NS
NB NM NS ZONB
NB NS ZO PSNM
NM NS ZO PS PM
NB
NM
NS
ZO
PS
ECE
PM PB
NS ZO
ZO PS
PS PM
PM PB
PB PB
NS PS PM PBZO
ZO PS PM PB PB
PM
PB
PB PB
PB PB
Si (E es N B) y (CE es NS) entonces (dD es NB)
Si (E es ZO ) y (CE es ZO ) entonces (dD es ZO )
Si (E es ZO ) y (C E es PB) entonces (dD es PB)
Figura 13. Base de conocimiento y formas de regla del controlador difuso
Algoritmos de Control (Fuzzy Logic)La salida del controlador difuso es un subconjunto difuso de control. Un sistema para operar requiere usualmente un valor de control no difuso (concreto), es por ello que se hace necesaria una desfuzzificación.
El método del centro de gravedad es el más utilizado para casos discretos y esta dado por la siguiente ecuación.
( )
( )∑
∑
=
=
⋅= n
jj
j
n
jj
dDu
dDdDudD
1
1
Resultados Experimentales
Resultados Experimentales
En este capítulo se presentan los resultados experimentales con la finalidad de estudiar y observar el comportamiento de los algoritmos de control propuestos, e implementados tanto en el conversor DC/DC Boost como para el Buck – Boost. Los resultados que se presentan corresponden al comportamiento del sistema para las siguientes condiciones:
Generación de curvas I – V y P – V para diversas condiciones climáticas.MPPT con Radiación Solar Incidente (RSI) constanteMPPT con variación en la RSI
Resultados ExperimentalesLas principales variables a monitorear son: tensión, corriente, temperatura de operación del panel solar y ciclo de trabajo del conversor DC/DC.
Las características principales del panel solar utilizado son:
TENSIÓN DE CIRCUITO ABIERTO )(Voc
CORRIENTE DE CORTO CIRCUITO )(Isc
TENSIÓN DE MÁXIMA POTENCIA )(Vp
CORRIENTE DE MÁXIMA POTENCIA )(Ip
POTENCIA MÁXIMA
21.6 V
6.54 A
17.4 V
6.1 A
106 W
Resultados ExperimentalesEl panel se ha orientado en dirección norte y con un ángulo de inclinación de 60º con respecto a la horizontal.
La carga del sistema lo compone un banco de batería, el cual es de 12V o 24V, según se este operando en la modalidad reductora (Buck) o elevadora de tensión (Boost), respectivamente.
RESULTADOS GENERACIÓN DE CURVAS I – V Y P –V .
La figura 14 entrega una comparación de curvas I – V y P – V, obtenidas ambas a una temperatura de 32ºC y con diferentes niveles de radiación solar incidente (810 W/m2 y 948 W/m2).
Resultados Experimentales
0 5 10 15 20 250
1
2
3
4
5
6
7
Tensión Panel Solar (V)
Cor
rient
e P
anel
Sol
ar (A
)
0 5 10 15 20 250
10
20
30
40
50
60
70
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
(a)
(b)
948 W / m2
810 W / m2
76 W @ 948 W / m2
66 W @ 810 W / m2
Figura 14. a) Curvas I – V, b) Curvas P – V.
Resultados Experimentales
De la figura 14, se confirma que la curva P – V con mayor potencia foto generada, es aquella en la cual se ha incidido mayor nivel de radiación solar (948 W/m2), alcanzando un valor de 76 W.
La figura 15 ilustra la comparación de curvas I – V y P – V, para un mismo nivel de radiación solar incidente (948 W/m2), y cambia la temperatura de 31º C 41º C.
0 5 10 15 20 250
1
2
3
4
5
6
7
Tensión Panel Solar (V)
Cor
rient
e P
anel
Sol
ar (A
)
0 5 10 15 20 250
10
20
30
40
50
60
70
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
41ºC
31ºC
72 W @ 41ºC
76 W @ 31ºC
(a)
(b)
Resultados Experimentales
Figura 15. a) Curvas I – V, b) Curvas P – V.
Resultados ExperimentalesLa figura 15 ratifica el hecho de que el aumento en la temperatura del panel solar, va en directo desmedro de la potencia generada, disminuyendo de 76W a 72W.
RESULTADOS DE MPPT CON RSI CONSTANTE
La figura 16 entrega la respuesta del seguimiento del punto de máxima potencia (MPPT) para un sistema basado en un panel solar y utilizando como algoritmo de control el método conductancia incremental. Las condiciones para la prueba son las siguientes: utilización conversor DC/DC Boost, temperatura del panel solar de 29ºC y una RSI de 658 W/m2.
Resultados Experimentales
0 5 10 15 20 250
10
20
30
40
50
60
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 6 7 8 9 1014
14.25
14.5
14.75
15
Tiempo (Seg)
Ten
sión
(V)
0 1 2 3 4 5 6 7 8 9 1051
51.5
52
52.5
53
53.5
54
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
40
50
60
70
80
90
100
Efic
ienc
ia C
onve
rsor
(%)
VpanelVref
Eficiencia del ConversorCiclo de Trabajo
MPPT (a)
(b)
(c)
Figura 16. a) Curva P-V con MPPT Cond. Inc.b) Tensión del panel y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Boost con MPPT
Resultados ExperimentalesDe la figura 16 se puede apreciar que se logra situar la potencia generada por el panel solar en el punto más óptimo de la curva P–V (≈55 W), la cual a su vez se alcanza con una tensión de ≈14.4 V. Por otro lado, el ciclo de trabajo fluctúa entre los 51.86 % y 52.15 %. En lo que respecta a eficiencia esta oscila en torno a los 87%, teniendo un peak de 92%.
La figura 17 ilustra el comportamiento del controlador basado en lógica difusa. Las condiciones utilizadas para la prueba son: utilización del conversor DC/DC Boost, temperatura del panel solar de 38ºC y una RSI de 910 W/m2.
Resultados Experimentales
2 4 6 8 10 12 14 16 18 200
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar
0 1 2 3 4 5 6 7 8 9 10-500
0
500
1000
1500
2000
Erro
r
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
-6000
-4000
-2000
0
2000
4000
Cam
bio
de E
rror
0 1 2 3 4 5 6 7 8 9 1050
60
70
80
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)0 1 2 3 4 5 6 7 8 9 10
0.85
0.855
0.86
0.865
Efic
ienc
ia C
onve
rsor
(%)
Eficiencia del Conversor Ciclo de Trabajo
MPPT
Cambio de Error
Error
(a)
(b)
(c)
Figura 17. a) Curva P-V con MPPT Difuso.b) Entradas del controlador difuso
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Boost con MPPT
Resultados ExperimentalesDe la figura 17 se aprecia que se hace trabajar al panel solar en el punto más óptimo (≈70 W a 14 V). Por otro lado, las entradas del controlador (E y CE) se encuentran en torno a cero. Mientras que el ciclo de trabajo fluctúa entre los ≈50 % y 60%. Por otro lado, el conversor DC/DC Boost se encuentra operando con una eficiencia de ≈ 86%.
RESULTADOS DE MPPT CON VARIACIÓN EN LA RSILa figura 18 ilustra el comportamiento algoritmo de control P&O. Las condiciones utilizadas para la prueba son: utilización del conversor DC/DC Buck – Boost operando como reductor de tensión, cubrimiento del panel solar durante un pequeño lapso de tiempo, temperatura del panel solar de 30ºC y una RSI antes de producirse la perturbación de 683 W/m2.
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar (W
)
0 1 2 3 4 5 610
12.5
15
17.5
20
Tiempo (Seg)
Tens
ión
(V)
0 1 2 3 4 5 630
35
40
45
50
55
Tiempo (Seg)
Cic
lo d
e Tr
abaj
o (%
)MPPT
Vpanel
Vref
(a)
(b)
(c)
Resultados Experimentales
Figura 18. a) Curva P-V con MPPT P&O y variación en la RSI.b) Tensión del panel solar y tensión de referencia proveniente del algoritmo MPPT
c) Ciclo de trabajo y eficiencia al cual se encuentra operando el conversor DC/DC Buck -Boost con MPPT
De la figura 18 se aprecia que la potencia cae de ≈60 W 10 W durante la perturbación, por lo cual el sistema de control actúa disminuyendo el ciclo de trabajo de 54% 33%. Dicha disminución causa un aumento en la tensión del panel solar de ≈11 V 20 V. Por lo cual, el controlador procede ahora aumentado el ciclo de trabajo para retornar la tensión del panel solar a la tensión de referencia.
La figura 19 ilustra el comportamiento del controlador basado en lógica difusa. Las condiciones utilizadas para la prueba son: utilización del conversor DC/DC Boost, cubrimiento del panel solar durante un pequeño lapso de tiempo, temperatura del panel solar de 26º C y una RSI antes de producirse la perturbación de 927 W/m2.
Resultados Experimentales
0 5 10 15 20 250
20
40
60
80
Tensión Panel Solar (V)
Pot
enci
a P
anel
Sol
ar
0 1 2 3 4 5 6-100
0
100
200
300
Erro
r
Tiempo (Seg)0 1 2 3 4 5 6
-1500
-1000
-500
0
500
Cam
bio
de E
rror
0 1 2 3 4 5 620
30
40
50
60
Cic
lo d
e Tr
abaj
o (%
)
Tiempo (Seg)
MPPT
Cambio de Error Error
(a)
(b)
(c)
Resultados Experimentales
Figura 19. a) Curva P – V con MPPT Difuso y variación en la RSI.b) Entradas del controlador difuso.
c) Ciclo de trabajo al cual se encuentra operando el conversor DC/DC Boost con MPPT
Conclusiones
ConclusionesLos resultados experimentales presentados se obtuvieron para diferentes condiciones, tales como: nivel de radiación solar incidente constante, aplicación de sombra parcial al panel solar y efectos de la temperatura en un panel solar. En todas ellas, los resultados obtenidos muestran un buen desempeño en el funcionamiento. En particular, para la generación de curvas I –V y P – V, se muestra la buena eficacia de los conversores DC/DC, al momento de utilizarse como adaptadores de impedancia.
Por otra parte, la respuesta del controlador de tensión utilizado en los algoritmos P&O y Conductancia Incremental es aceptable (menos de un 5% de la tensión de referencia para la mayoría de los casos).
ConclusionesPara el caso del controlador difuso, aun cuando es más oscilatorio que los algoritmos recién mencionados, logra mantener el error en torno a cero. La robustez del sistema también se hizo cierta al momento de aplicársele una sombra parcial al panel solarSe observó los beneficios de utilizar un microcontrolador de bajo costo para aplicaciones en la cual el tiempo de muestreo noes crítico (procesos lentos).Algunas aplicaciones:
Sistemas aisladosSistemas híbridos (Solar – Diesel o Eólico – Solar - Diesel)Sistemas conectados a la red eléctrica
¿ Preguntas ?
Universidad de MagallanesFacultad de IngenieríaIngeniería de Ejec. en Electricidad
“EVALUACIÓN DE CONVERSORES DC / DC Y SIST. DE CONTROL
PARA APLICACIONES FOTOVOLTAICAS”
Hugo Miguel Villegas Barría2006