Carga de batería de plomo ácido por medio de convertidor ...
Transcript of Carga de batería de plomo ácido por medio de convertidor ...
Carga de batería de plomo ácido por medio de convertidor
SEPIC alimentado por un panel solar
ARMANDO RUBEN VILLAR TOVAR
DANIEL JOSE FRANCO GUZMAN
DIRECTOR
ING. ABDEL KARIM HAY HARB
FACULTAD DE INGENIERÍA
PONTIFICIA UNIVERSIDAD JAVERIANA
BOGOTA D.C. 2018
2
Advertencia
“La Universidad Javeriana no se hace responsable de los conceptos emitidos por sus alumnos
en sus trabajos de tesis. Solo velará porque no se publique nada contrario al dogma y la moral
católica y porque la tesis no contenga ataques o polémicas puramente personales; antes bien,
se vea en ella el anhelo de buscar la verdad y la justicia”.
Reglamento de la Pontificia Universidad Javeriana, Artículo 23, de la Resolución 13, de Julio
de 1965
3
Daniel Franco
Dedicado a mi madre y a mi padre quienes con su apoyo, dedicación, amor y comprensión, han sido mi
motivación para continuar y superar obstáculos con mi tesis, mi carrera y mi vida.
Armando Villar Tovar
Dedicado a Dios, a mi madre y a mi padre por el apoyo y amor incondicional desde el primer dia. A
enseñarme a no rendirme y luchar contra los obstáculos.
Agradezco la paciencia y apoyo de mis hermanas, mi familia y cada persona importante en este proceso
que me ha empujado y alentado dia a dia.
“No temas, porque yo estoy contigo; no desmayes, porque yo soy tu Dios que te esfuerzo; siempre te
ayudaré, siempre te sustentaré con la diestra de mi justicia.” Isaías 41:10
4
AGRADECIMIENTOS
*****Los integrantes de este Trabajo de Grado queremos agradecer a nuestro director, Ing. Abdel Karim
Hay Harb, quien con sus pautas en asesoría y conocimiento nos mostró el camino de viabilidad para
cumplir los objetivos planteados desde un principio
5
TABLA DE CONTENIDO
1. INTRODUCCIÓN ...................................................................................................................................6
2. MARCO TEÓRICO ................................................................................................................................7
2.1 EFECTO FOTOVOLTAICO
................................................................................................................7
2.2 CONVERSOR DC-DC SEPIC..............................................................................................................7
2.3 ALGORITMO MPPT ...........................................................................................................................8
3. OBJETIVO DEL PROYECTO ..............................................................................................................8
4. DESARROLLO.........................................................................................................................................9
4.1 ANÁLISIS SEPIC...................................................................................................................................9
4.2 DEDUCCIÓN FUNCIONES DE TRANSFERENCIA SEPIC.........................................................11
4.3 CONTROL POR CORRIENTE PICO PROGRAMADO CON RAMPA DE COMPENSACIÓN
(CPM)...........................................................................................................................................................16
4.4 DEDUCCIÓN FUNCIONES DE TRANSFERENCIA PLANTA....................................................21
4.5 SELECCIÓN COMPONENTES.........................................................................................................23
4.6 CIRCUITOS DE ENSADO................................................................................................................32
4.7 SELECCIÓN ALGORITMO MPPT..................................................................................................33
4.8 FUNCIONES DE TRANSFERENCIA...............................................................................................34
4.9 ANÁLISIS BODES PLANTA..............................................................................................................35
4.10 CONTROLADOR PI DISCRETO....................................................................................................37
4.11 SIMULACIONES EN SOFTWARE
SIMULINK............................................................................38
5. PROTOCOLO DE PRUEBAS............................................................................................................46
5.1 RESULTADOS CONVERTIDOR CON REFERENCIA
FIJA........................................................46
5.2 RESULTADOS CONVERTIDOR CON CONTROLADOR DIGITAL Y
MPPT..........................53
6. ANÁLISIS DE RESULTADOS
.............................................................................................................49
7. CONCLUSIONES Y RECOMENDACIONES ...................................................................................48
8. BIBLIOGRAFÍA ....................................................................................................................................53
9. ANEXOS..................................................................................................................................................56
Anexo 1. CÓDIGO ANÁLISIS FUNCIONES DE TRANSFERENCIA, ESTABILIDAD Y
CONTROLADOR PI EN SOFTWARE MATLAB.................................................................................67
Anexo 2. CIRCUITO DE SIMULACIÓN EN SOFTWARE SIMULINK
............................................67
Anexo 3. Algoritmo MPPT implementado...............................................................................................67
Anexo 4. CÓDIGO IMPLEMENTACIÓN CONTROL DIGITAL EN SOFTWARE CODE
COMPOSER A LAZO ABIERTO O LAZO CERRADO......................................................................68
Anexo 5. CIRCUITO ESQUEMÁTICO DEL CONVERTIDOR IMPLEMENTADO EN
SOFTWARE
ALTIUM...............................................................................................................................79
Anexo 6. TARJETA CIRCUITO IMPRESO
...........................................................................................80
6
1. INTRODUCCIÓN
Las fuentes de energía tradicional como las termoeléctricas, hidroeléctricas, y plantas nucleares dependen
de combustibles esenciales para su funcionamiento; combustibles tales como el petróleo, el carbón y sus
derivados hacen parte de lo que hoy llamamos recursos no renovables. A lo largo de los años, los recursos
naturales de los que se benefician los combustibles han presentado problemas de escasez, esto debido a la
explotación inadecuada y el mal manejo que se les da a los recursos naturales. Teniendo en cuenta lo
anterior, la sociedad se ha visto comprometida a desarrollar y generar nuevas formas de producir energía
eléctrica por medio de fuentes renovables (eólica, solar, hidráulica, etc.) las cuales necesitan sistemas de
almacenamiento de energía (ESSs) para emplearlas posteriormente. El uso de energías limpias junto a
sistemas de almacenamiento intenta mejorar los efectos adversos de las energías tradicionales reduciendo
el consumo de recursos y ahorrando la contaminación al producirlos. Hoy en día, es frecuente el uso de
sistemas de energía solar fotovoltaica en los que se almacena energía producida por paneles solares y es
luego consumida durante largos períodos de tiempo. También la alta producción y demanda de
dispositivos móviles ha obligado a los usuarios a depender de un sistema de almacenamiento de carga para
prolongar su uso. Por esta razón, el proyecto busca generar un sistema práctico de carga de baterías.
Esta propuesta hace un aporte al desarrollo de convertidores DC-DC para proyectos de mayor enfoque en
la conversión de energías renovables. Decidimos usar el convertidor SEPIC por ventajas que esta
topología ofrece como: el aislamiento entre el panel y el sistema de almacenamiento y la característica de
manejar tensiones menores, iguales o mayores a las del panel, esta última permite cambiar el panel con
facilidad para trabajar con la misma batería, por lo que es flexible ante las entradas y salidas del sistema.
En este proyecto haremos un prototipo de laboratorio como fase inicial de un posible producto que puede
ser comercializado y, por lo tanto, tiene la posibilidad de ser la base para la creación de una empresa.
‘Debido a la demanda de electricidad y normas a seguir de organizaciones no gubernamentales y
gubernamentales por el medio ambiente y la preservación de la naturaleza, una de las expansiones más
grandes en el campo de la tecnología en las últimas décadas es la energía solar’ [1].
Este trabajo de grado implementará el convertidor SEPIC y analizará el comportamiento del circuito ante
un control digital.
7
2. MARCO TEÓRICO
2.1 EFECTO FOTOVOLTAICO
La energía que un panel puede entregar depende de los fotones que caen sobre la superficie del panel;
estos son absorbidos y producen un flujo de electrones cuando cada fotón entrega la energía que tiene. Los
paneles solares se conforman por múltiples celdas fotovoltaicas las cuales transforman energía de luz solar
en energía eléctrica. Estas celdas son capaces de generar voltajes, corrientes y potencia, las cuales se
determinan por el nivel de radiación que este recibe en unidades de (𝑊/𝑊2) y temperatura. El
comportamiento del efecto fotovoltaico que ocurre en en los paneles se define por las curvas de 𝑊 ∗ 𝑊
bajo diferentes condiciones de operación.[1][2][3][8]
Figura (2.0). Curva característica de panel solar V*I [7]
2.2 CONVERSOR DC-DC SEPIC
El Single-Ended Primary-Inductance Converter (SEPIC) es un convertidor DC-DC el cual entrega una
tensión de salida mayor, igual o menor a la de entrada. Su topología consta de dos inductancias, dos
capacitores, un diodo y un switch cuyo ciclo de trabajo modifica la tensión promedio de salida lo cual
demostraremos en un análisis posterior.[8]
La topología del convertidor se puede apreciar en la figura (2.1)
Figura (2.1). Topología del convertidor SEPIC[11]
8
2.3 ALGORITMO MPPT
Los algoritmos MPPT están hechos para aprovechar la máxima energía que se le suministra al panel solar.
El voltaje 𝑊𝑊𝑊𝑊 es el punto donde la potencia entregada por el panel es máxima, esto se debe a diferentes
factores como lo son la irradiación, temperatura, incluso un sombreado parcial.
El algoritmo más reconocido y el que implementaremos es el de perturbar y observar, este tiene como
objetivo hacer un seguimiento de potencia, el cual es un equivalente a la salida de tensión y la corriente
que atraviesa por el panel. El seguimiento se produce cuando el algoritmo compara la medida de potencia
de la muestra anterior y dependiendo de si se encuentra en un valor menor o mayor a esta, el algoritmo
decide si aumenta o disminuye la variable de control hasta llegar a un equilibrio. Adicional a esto el
MPPT por medio de perturbar y observar tiene una eficiencia que depende de la velocidad de adquisición
de datos.[9][11][12]
3. OBJETIVO DEL PROYECTO
El presente trabajo contiene el análisis y modelamiento del convertidor DC - DC SEPIC desde su
topología y los elementos que lo componen, el sistema de control en sus diferentes posibles condiciones
de radiación del panel solar y su forma de cargar la batería.
Se logró encontrar la función de transferencia del convertidor SEPIC para determinar la estabilidad del
sistema. También se elabora un algoritmo MPPT de perturbar y observar para seguir el máximo punto de
potencia que puede entregar el panel solar por medio del microprocesador TMS320F28069.
Se hicieron pruebas de eficiencia a diferentes corrientes de control y se logró superar un umbral del 80%
de eficiencia.
Se cumplió el objetivo de cargar la batería de plomo ácido de 12V y 7.5 Ah/20h a una corriente máxima
de 1 A. Se tuvo un inconveniente con el panel que se planteó utilizar, ya que en condiciones de medición
de laboratorio no es posible acceder a radiación solar para extraer máxima potencia de él, sin embargo se
usó una fuente convencional DC para alimentar el circuito en serie con una resistencia para simular la
resistencia del panel y así seguir el máximo punto de potencia.
Para cargar la batería se implementaron dos controladores, los cuales aseguran una potencia de salida
directamente proporcional a las posibles variaciones de la entrada (el panel solar).
Para lograr una eficiencia adecuada y mayor estabilidad, se implementó un controlador tipo proporcional
integral con rampa de compensación (CPM) cuya referencia a seguir es determinada por el algoritmo
MPPT, con esto se logró cargar la batería primero a corriente constante hasta que ésta alcanza el voltaje de
flotación y luego a voltaje constante hasta que la corriente disminuye hasta un umbral determinado.
4. DESARROLLO
4.1 ANÁLISIS SEPIC
Debido a que las inductancias en el convertidor SEPIC se pueden reemplazar por un transformador
acoplado para aumentar la eficiencia y el área disponible en el circuito impreso como podemos apreciar en
la figura [4.1], usaremos un transformador con relación de vueltas 1:1 cuyo modelo es un transformador
ideal en paralelo con una inductancia de magnetización.
9
Figura (4.1). Comparación de eficiencia del convertidor con inductancias acopladas y desacopladas[17]
Teniendo en cuenta lo anterior, nuestro circuito es el siguiente:
Figura (4.2). Convertidor SEPIC con transformador 1:1 como inductancias acopladas
El SEPIC como fuente de conmutación tiene dos estados: cuando el interruptor está abierto (OFF) y
cerrado (ON).
Cuando el interruptor está cerrado (ON),el circuito equivalente es:
10
Figura (4.3). Circuito equivalente con interruptor encendido
En este estado, el voltaje del devanado primario del transformador (NP) es equivalente al voltaje de
entrada y a su vez lo refleja en el devanado secundario. El voltaje en el capacitor CX es igual al voltaje de
entrada Vin debido a que está en paralelo con el devanado secundario.[18][24][26]
Cuando el switch está abierto (OFF), tenemos el siguiente circuito equivalente:
Figura (4.4). Circuito equivalente con interruptor apagado
Ahora el voltaje en el ánodo del diodo es la suma de VO y VD, por ende el devanado secundario tiene este
valor con respecto a tierra. Este voltaje es reflejado al primario como se puede apreciar en la figura [4.4].
Aplicando la ley de Kirchoff de la malla de entrada, obtenemos:
Teniendo en cuenta las deducciones anteriores en OFF y ON, despreciaremos la variable de estado del
capacitor CX dado que su voltaje es constante (cambios en Vin lentos y por tanto insignificantes en un
período de conmutación), así tenemos la ecuación:
Debido a que nuestro objetivo es alimentar el convertidor con un panel solar, usaremos un capacitor de
desacople en paralelo a la entrada con el objetivo de desacoplar la impedancia del panel y por tanto,
modelar la entrada como fuente de tensión constante. Para la carga y la entrada usaremos los modelos
correspondientes de nuestro proyecto para un análisis adecuado: la carga del convertidor es una una
batería (fuente de tensión en serie con un resistor) y la entrada es un panel solar (fuente de voltaje en serie
con resistor).
La conmutación la hará un transistor MOSFET cuya señal de gate controlará su apertura y cierre.
11
Con las modificaciones propuestas, el convertidor con el cual se va a desarrollar el proyecto es el
siguiente:
Figura (4.5). Circuito equivalente con modelo de panel y batería
4.2 DEDUCCIÓN FUNCIONES DE TRANSFERENCIA SEPIC
Las variables de estado que describen el convertidor son:
Corriente de la inductancia
Voltaje del condensador de salida
Voltaje del condensador de entrada
Voltaje del condensador de acople (constante)
Las entradas al convertidor son:
Voltaje panel
Ciclo útil señal de conmutación
Las ecuaciones diferenciales de las variables de estado cuando el interruptor está en encendido (ON) son:
12
Las ecuaciones diferenciales de las variables de estado cuando el interruptor está abierto (OFF) son:
Por lo tanto las ecuaciones no lineales son:
Definiendo las variables de promedio móvil, obtenemos:
Reemplazamos las definiciones de promedio móvil en la ecuación (1) para hallar las ecuaciones que
describen la corriente de la inductancia
Despreciando términos de segundo orden y factorizando
Hallamos las condiciones de equilibrio
13
La ecuación linealizada para la corriente de la inductancia
Reemplazamos las definiciones de promedio móvil en la ecuación (2) para hallar las ecuaciones que
describen el voltaje en el condensador de salida
Despreciando términos de segundo orden y factorizando
Hallamos las condiciones de equilibrio
La ecuación linealizada para el voltaje del capacitor de salida
Reemplazamos las definiciones de promedio móvil en la ecuación (3) para hallar las ecuaciones que
describen el voltaje en el condensador de entrada
Hallamos las condiciones de equilibrio
14
La ecuación linealizada para el voltaje del capacitor de entrada
A continuación escribimos las ecuaciones (1.2),(2.2) y (3.2) en la transformada de LAPLACE y
construimos la matriz de espacio de estados que describe al convertidor en señal pequeña.
Utilizando la matriz de espacio de estados, hallamos las funciones de transferencia que describen nuestro
convertidor SEPIC
Donde
Definiendo DEN como el denominador de todas las funciones de transferencia:
15
Para la corriente de la inductancia
Donde
Para el voltaje del capacitor de salida
Para el voltaje del capacitor de entrada
16
Figura (4.6). Diagrama en bloques del convertidor en señal pequeña[13]
4.3 CONTROL POR CORRIENTE PICO PROGRAMADO CON RAMPA DE COMPENSACIÓN
(PCPM)
Como comprobaremos en un análisis posterior, usaremos el control por corriente programada debido a
mayor estabilidad y control de la planta.
El diagrama en bloques de la figura [4.7] describe el funcionamiento del control por corriente con rampa
de compensación, este controla la señal del gate del MOSFET, es decir nuestro PWM; en este sistema
cada ciclo de reloj, la salida “Q” del flip-flop está en alto hasta que el reset “R” se activa en hTs , esto
sucede cuando la señal de entrada (corriente que circula por la inductancia) es igual al valor de la rampa
artificial en ese momento. El comportamiento de la corriente y la rampa se puede observar en la figura
[4.9], las pendientes m1, m2 y ma se pueden observar deducidas en las ecuaciones (5.1) y (5.2) [13][28]
Figura (4.7). Diagrama en bloques CPM[13]
17
Figura (4.8). Rampa artificial[13]
Figura (4.9). Comportamiento corriente inductor y rampa de compensación[13]
Como se aprecia en la figura [4.9], en control por CPM, la señal del gate del MOSFET se hará cero
cuando:
Figura (4.10). Preciso comportamiento de la corriente del inductor y rampa de compensación
18
De la figura [4.10] podemos deducir la ecuación (4) que describe el comportamiento entre la corriente
promedio del inductor y la corriente de control [13]
Teniendo en cuenta las perturbaciones
Reescribimos la ecuación (4) con las perturbaciones descritas en (4.1)
Separando las perturbaciones para el análisis dinámico
Despejando h
Siendo m1 y m2 las pendientes de la corriente que circula por la inductancia en cada ciclo:
A continuación hallaremos la pendiente de la rampa de compensación para su posterior implementación
19
Figura (4.11). Comportamiento CPM con perturbaciones en el ciclo útil
De la figura [4.11] deducimos las ecuaciones de recta de la rampa de compensación, la corriente del
inductor y la corriente del inductor perturbada por el ciclo útil[13]
Igualando las rectas obtenemos las ecuaciones (5.a) ,(5.b),(5.e) y (5.f)
De la figura 4 podemos plantear los puntos de interés según las perturbaciones del ciclo útil
Reemplazando (5.a) y (5.b) en (5.c), obtenemos (5.d)
Ahora hallamos los puntos de interés con la corriente del inductor en la segunda parte del ciclo y de forma
similar hallamos (5.g)
20
Igualando (5.d) y (5.g):
Para el período n-ésimo:
En la ecuación (5.h) podemos notar que alfa tiene que ser menor que 1 para que la corriente del inductor
sea estable, además de que en estado estable:
Elegimos entonces la pendiente de la rampa de compensación para que se cumpla la inecuación,
reemplazando m2 especificada en (5.1):
4.4 DEDUCCIÓN FUNCIONES DE TRANSFERENCIA PLANTA
Deducida la pendiente para que el sistema sea estable, procedemos a hallar la función de transferencia que
describe el voltaje de salida con respecto a la corriente de referencia de la rampa de compensación.
Reemplazando las ecuaciones (5.1) y (5.2) en (5) obtenemos la dinámica del ciclo útil en (6)
Donde
21
Figura (4.12). Diagrama en bloques SEPIC con CPM
En el diagrama en bloques de la figura [4.12] podemos notar que las salidas del convertidor dependen de
la corriente de control y el voltaje del panel. Nuestra planta será entonces la función de transferencia que
describe el voltaje de salida con respecto a la corriente de control.[13]
Reemplazando las ecuaciones que describen la corriente por la inductancia (1.3) y el voltaje del capacitor
de entrada (3.3) en (6), obtenemos el ciclo útil en términos de las entradas del sistema y el voltaje de
salida:
Reemplazando el ciclo útil (7) en la ecuación que describe el voltaje de salida del convertidor (2.3),
despejamos y ordenamos:
22
Deducimos entonces las plantas que cargan la batería con CPM:
Carga con voltaje constante:
Carga con corriente constante:
4.5 SELECCIÓN COMPONENTES
Antes de hacer los cálculos de los componentes, debemos tener en cuenta las características de nuestro
circuito.
Voltaje de flotación de la batería
Voltaje de máximo punto de potencia del panel
Corriente de máximo punto de potencia del panel
Voltaje forward del diodo
Frecuencia de conmutación
Período de conmutación
Resistencia sensado corriente
Resistencia batería (parte del modelo batería)
Resistencia total de la carga
Voltaje fuente (parte del modelo batería)
Resistencia panel
Solucionando el sistema de ecuaciones de (1.1),(2.1) y (3.1), hallamos las condiciones de equilibrio:
Corriente promedio de la inductancia
Ciclo útil en el punto de equilibrio
Voltaje del panel antes de la caída de tensión de Rp
Ciclo útil (Duty cycle)
23
El convertidor SEPIC está operado en modo de conducción continua (CCM), por lo tanto definimos el
ciclo útil como:
Inductancia de magnetización del transformador
Estableceremos un ripple de corriente pico a pico máximo de 40% del valor de corriente de entrada.
Figura (4.13). Corriente y voltaje en la inductancia
De la figura [4.13] podemos deducir la ecuación de la recta de la corriente sobre la inductancia durante
Ton:
(9.1)
También la ecuación que relaciona el voltaje y la corriente en la inductancia durante Ton
(9.2)
Igualando las ecuaciones (9.1) , (9.2) y despejando L
(9.3)
De manera análoga, durante Toff, comprobamos el valor de la inductancia
En un transformador acoplado,el ripple total de corriente se divide igualmente entre los dos devanados,
esta es una de las razones por la cual la eficiencia en la topología del SEPIC aumenta.
Ahora el cálculo de la corriente pico por el inductor, para asegurar que este no se sature está dada por:
24
El transformador DRQ-127-221-R cumple los requisitos de corriente pico de saturación, inductancia de
magnetización y frecuencia cercana para su implementación en el convertidor actual. Sus características
más importantes son:
Como podemos notar, el ripple de corriente disminuye debido a la ecuación (9.3).
Capacitor de Salida
Asumiendo un ripple de salida pico a pico relativamente bajo (100 mV) para evitar picos altos de corriente
en el circuito, hallamos el capacitor ideal a utilizar
Figura (4.14). Corriente y voltaje en el capacitor de salida
De la figura [4.14] podemos deducir la ecuación de la recta del voltaje sobre el capacitor durante Ton:
(10.1)
También la ecuación que relaciona el voltaje y la corriente en el capacitor durante Ton
(10.2)
Igualando las ecuaciones (10.1) , (10.2) y despejando C:
(10.3)
De manera análoga comprobamos el valor del capacitor durante Toff:
El capacitor de salida debe ser capaz de aguantar la máxima corriente RMS, la cual está dada por la
siguiente ecuación:
25
Figura (4.15). Voltaje capacitor de salida[16]
El ESR(Equivalent Series Resistance) y la capacitancia del capacitor de salida determinan el ripple de
salida como se puede observar en el figura [4.15]. Podemos asumir que la mayor parte del ripple se debe
al ESR y la otra parte por la cantidad de capacitancia.[12][14][15][26]
Por lo tanto para disminuir el ripple causado por ESR, se debe considerar[14][15][16]:
El capacitor KEMET A767KN566M1HLAE029 cumple los requisitos de ESR, capacitancia y frecuencia
cercana para su implementación en el convertidor actual. Sus características más importantes son:
Como podemos notar, el ripple de corriente disminuye debido a la ecuación (10.3).
Capacitor de acople
El capacitor de acople Cx debe aguantar la corriente RMS que atraviesa por el. La corriente RMS está
dada por [14],[15][16]:
El capacitor KEMET A767KN566M1HLAE029 cumple los requisitos de ESR, capacitancia y frecuencia
cercana para su implementación en el convertidor actual. Sus características más importantes son:
Asumiendo que no hay ESR, el ripple de voltaje pico a pico en CX se obtiene de la ecuación de la
corriente en un condensador
Capacitor de entrada
En un convertidor SEPIC se tiene una onda de corriente de entrada continua y triangular. Por lo que el
inductor asegura que el capacitor de entrada vea un ripple de corriente relativamente bajo, este capacitor
de entrada permite que haya menos fluctuación de ripple de voltaje en la entrada, permitiendo que se
mantenga cerca al maximo punto de potencia y al mismo tiempo que se permita ver el panel como una
fuente ideal de voltaje .[14][15][16]
Para calcular la corriente RMS en el capacitor de entrada usamos la siguiente ecuación
26
El capacitor KEMET A767KN566M1HLAE029 cumple también con la especificación de corriente RMS
máxima en la entrada.
Selección de MOSFET de Potencia
Los parámetros para la selección del MOSFET son el mínimo voltaje de threshold VTH(min), la
resistencia de encendido RDS(ON), la carga de Gate-Drain QGD y el máximo voltaje de Drain-Source
VDS(max): A nivel lógico el MOSFET debe ser usado basado en el voltaje de Gate.
El voltaje pico de switcheo es la suma del voltaje de entrada y el de salida.[16]
La corriente pico de switcheo está dada por:
La corriente RMS que fluye por el switch es
Para saber la disipación del MOSFET, primero se debe analizar cuánta potencia consume, esta está dada
por:
En la figura (4.15b) se puede apreciar la potencia consumida debido a la conmutación, la cual depende del
tiempo de subida y bajada del MOSFET y la resistencia de Drain-Source en el encendido.
Figura (4.15b). Potencia consumida del MOSFET
Diodo
El diodo de salida debe poder aguantar la corriente pico de switcheo y el voltaje inverso VRD.
Se utiliza un diodo Schottky para aprovechar sus características de bajo voltaje forward (𝑊𝑊 = 475𝑊𝑊),
velocidad y la habilidad de minimizar las pérdidas de eficiencia.[15]
La corriente pico que pasa por el diodo es la mismo a la corriente de pico del drain mosfet.
Idrain pico =3.003 A
Driver
27
El IR2110 se encarga de enviar una señal al GATE del MOSFET replicando la señal de conmutación para
controlar el encendido y apagado de este. En nuestra aplicación solo utilizaremos 3 entradas para controlar
la salida del driver: el voltaje alimentación lógica superior a 3 V (VDD), entrada lógica para controlar el
gate driver de salida baja (LIN) y voltaje de alimentación (VCC). El IR2110 debe entregar en su salida
LO la señal lógica que recibe de LIN con la amplitud de VCC. Una de las ventajas de este gate driver es
que permite entregar una señal de control (PWM) al GATE con un voltaje y corriente que el MOSFET
necesita para generar la conmutación.
Fuente
Por decisión del grupo de trabajo de grado y el director de trabajo de grado, decidimos implementar una
fuente regulada y aislada para alimentar la el kit experimental de texas y unir ambos sistemas de manera
autónoma sin necesidad de alimentación de la línea.
Decidimos usar el convertidor DC-DC RS6-1205D el cual recibe el voltaje de salida de la batería (12V)
filtrado por un filtro LC. Esta fuente de salida dual, regulada y aislada entrega ± 5 V y ± 600 mA con un
85% de eficiencia.
Panel
La entrada de tensión a nuestro circuito SEPIC será un panel solar de 17.5V 20W. Las especificaciones de
este se ven a continuación en la figura [4.16].
Figura (4.16). Especificaciones panel solar RENOGY RNG-20D
Figura (4.17). Voltaje vs corriente en el panel especificado
28
Figura (4.18). Voltaje vs potencia en el panel especificado
Como se aprecia en las figuras [4.17] y [4.18], el objetivo del MPPT es alcanzar el máximo punto de
potencia entregado por el panel, ya que este depende de la impedancia que vea el panel desde la entrada.
Batería
El SEPIC cargará la batería de plomo ácido FL1275. Se decidió escoger esta referencia por el tipo de
aplicación, evitar quemaduras o daños a terceros y seguridad en el momento de carga y descarga.
Figura (4.18). Especificaciones batería de plomo ácido FL1275
Podemos observar en la hoja de especificaciones, su voltaje de flotación tiene que estar entre 14.5 y 14.9
V, lo cual es adecuado para nuestra aplicación ya que buscaremos cargar la batería con corriente constante
hasta un voltaje de 14.7 V.
Tarjeta de desarrollo F28069 y control digital
29
La topología SEPIC como convertidor DC-DC de conmutación tiene un MOSFET, el cual por medio de
una señal PWM actúa como un interruptor. Debemos adquirir señales análogas de la salida del circuito
acondicionadas entre 0 V y 3.3 V para convertirlas en una magnitud digital de 12 bits. Las entradas al
ADC son Voltaje Panel, Corriente Panel, Corriente Drain, Voltaje Salida y Corriente Salida. Una vez
convertidas estas señales, es necesario controlar en tiempo real el ciclo útil del PWM que ingresa al GATE
del MOSFET. El control de la tarjeta está compuesto por un algoritmo MPPT, un controlador PI y un
Control por Corriente (CPM). Se decidió usar el microcontrolador TMS320F28069 de la familia Piccolo
de Texas Instruments ya que este permite controlar el SEPIC por medio de un PWM generado por la
comparación entre la corriente ascendente del Drain y una rampa de compensación como se mencionó
anteriormente. [30]
Figura (4.19). Diagrama en bloques módulo comparador Tarjeta F28069.
Como se aprecia en la figura [4.19], la tarjeta dispone de 3 comparadores análogos que comparan un valor
entrante al DAC y su salida genera señales de PWM, estas son las que controlarán el gate del MOSFET de
potencia.[30]
30
Figura (4.20). Diagrama en bloques módulo generador de rampa de Tarjeta F28069.
Una de las ventajas que ofrece este microprocesador es además del comparador análogo, la posibilidad de
conectar una señal digital interna en el puerto negativo cuyos parámetros se pueden establecer en el
algoritmo a implementar. En nuestro caso, modificaremos la pendiente de la rampa digital como se
muestra en el Anexo 4 representada en la variable “pend”. Esta rampa es básicamente un sumador de
comparación en tiempo real con tiempo de suma cada ciclo de reloj como se denota en la figura (4.19), lo
cual permite una comparación casi exacta.[30]
4.6 CIRCUITOS DE SENSADO
Las señales de corriente y voltaje del SEPIC deben ser acondicionadas con el objetivo de poder leerlas y
procesarlas con la tarjeta de desarrollo para controlar el ciclo útil del gate del MOSFET. El ADC de la
tarjeta permite un rango de entrada analógico entre 0V y 3.3V. Los voltajes del convertidor están en un
rango de 0V - 22V y corrientes de 0A-3A.
Para el acondicionamiento de las señales se eligió la implementación de un amplificador diferencial no
inversor con el amplificador operacional rail-to-rail LM6142A debido a su eficaz slew rate (25 V/us) y
limitación de voltaje de salida debido a que es rail-to-rail (Vcc=3.3 V). Esta característica ayuda a
proteger la tarjeta de desarrollo. La topología del amplificador diferencial y sus ecuaciones son descritas a
continuación.[13]
Sensado Voltaje
31
Figura (4.21). Amplificador diferencial para medir voltaje.
El voltaje que entra al ADC de la tarjeta de desarrollo es función de las resistencias RA,RB,V1 y V2 de la
siguiente forma:
Se usarán resistencias de precisión del 1% de tolerancia para mayor precisión en la toma de medidas.
Sensado Corriente
Figura (4.22). Amplificador diferencial para medir corriente.
32
El voltaje que entra al ADC de la tarjeta de desarrollo es función de las resistencias RA,RB,V1 y V2 pero
en este caso V1 y V2 representan la variable de corriente que circula con la ley de ohm de la siguiente
forma:
Figura (4.23). Tabla de sensado
En la tabla de la figura [4.23] podemos ver la resolución de la medición usando resistencias de precisión
del 1%, además de tener en cuenta que nuestra medida máxima debe estar por encima de las condiciones
límites del convertidor para proteger la tarjeta de picos de voltajes y corrientes.
4.7 SELECCIÓN ALGORITMO MPPT
El algoritmo MPPT es muy común debido a la simplicidad del funcionamiento. Este consiste en modificar
el ciclo útil del convertidor SEPIC. Al cambiar el ciclo útil, ‘se modifica la corriente extraída del panel y
como resultado la potencia obtenida se modifica en relación a la modificación del ciclo útil de la señal del
disparo del convertidor.’[28]
El algoritmo MPPT de perturbar y observar consiste en la evaluación de que si se tiene una perturbación
en cierta dirección del voltaje de operación Vp y ‘la potencia de este incrementa, esto significa que el
punto de operación se movió más cerca al Punto de Máxima Potencia (MPP). Entonces el voltaje se debe
perturbar en la misma dirección, si no es así la potencia de salida disminuye. Si la potencia disminuye el
algoritmo intenta buscar siempre el punto de máxima potencia y perturbaria el voltaje en la dirección
contraria al valor previo. El MPPT por medio de perturbar y observar siempre tiene en cuenta el valor
previo medido de potencia y agrega una perturbación en la dirección que más se acerque al punto de
máxima potencia. En la figura (4.231) se tiene el diagrama de flujo del algoritmo perturbar y
observar.[27][28][10]
Siendo pact la potencia medida actual, pant la potencia anterior, pert la dirección de la perturbación, step
la magnitud de la perturbación y pwm el valor del ciclo útil.
33
Figura (4.231). Diagrama de flujo del algoritmo perturbar y observar[28]
4.8 FUNCIONES DE TRANSFERENCIA
Con los componentes calculados, el convertidor se puede controlar por el ciclo útil o por la referencia de
una rampa de compensación (CPM)[13][14]. A continuación reemplazamos en las funciones de
transferencia (9),(10) y (2.3) los parámetros reales del convertidor previamente hallados:
SEPIC controlado por ciclo útil (carga con voltaje constante)
SEPIC controlado por ciclo útil (carga con corriente constante)
SEPIC controlado por CPM (carga con voltaje constante)
SEPIC controlado por CPM (carga con corriente constante)
34
4.9 ANÁLISIS BODES PLANTAS
Figura(4.24). Bode SEPIC controlado CPM Figura(4.25). Bode SEPIC controlado por CPM
Las ecuaciones (13) y (14) corresponden a los bodes de las figuras [4.24] y [4.25].
Figura(4.26). Bode SEPIC controlado por ciclo útil Figura(4.27). Bode SEPIC controlado por ciclo útil
Las ecuaciones (11) y (12) corresponden a los bodes de las figuras [4.26] y [4.26].
Independientemente del tipo de carga, se puede apreciar que el control por CPM ofrece un mayor margen
de ganancia y un margen de fase bastante grande como para asegurar mayor estabilidad que su posible
implementación en control por ciclo útil. Por esta razón y por la funcionalidad del microprocesador a usar,
los integrantes del presente trabajo decidimos optar por establecer el control por CPM como nuestra planta
para hallar el controlador proporcional integral discreto correspondiente.
35
Figura(4.28). Bode planta discretizada , retardada Figura(4.29). Bode planta discretizada ,
y continua (volt. cte.) retardada y continua (corr. cte.)
Es necesario discretizar la planta ya que la tarjeta lee datos cada período de conmutación y toma
decisiones para controlar el ciclo útil. Estas decisiones las calcula el controlador proporcional integral
cuya referencia es la salida del algoritmo MPPT. También cabe mencionar que los cambios se ven
reflejados en cada inicio de período de conmutación, por esta razón se debe añadir un retardo de magnitud
igual al tiempo de conmutación, la deducción de las funciones de transferencia correspondientes se
encuentran en el anexo 1.[15]
Figura(4.30). Bode planta lazo abierto (volt. cte.) Figura(4.31).Bode planta lazo abierto (corr cte.)
Debido a que los componentes implementados calculados en el inicio de la presente sección pueden tener
tolerancia mayor a 10%, es necesario calcular qué combinación de componentes puede generar la planta
más inestable. Se calcularon plantas con combinaciones de tolerancias de -30, 0 y 30%. en la figura [4.30]
y [4.31] podemos ver qué tan diferentes son las plantas y notar que hay dos que pueden ser inestables en
lazo abierto. Las plantas están calculadas en un bucle de 243 iteraciones en el anexo 1.
4.10 CONTROLADOR PI DISCRETO
36
Al tener plantas que pueden ser inestables debido a la tolerancia de sus componentes, es necesario calcular
el controlador adecuado para la más inestable y así asegurar la estabilidad del sistema en el peor caso. Para
este fin se usó la herramienta “sisotool” de MATLAB, que permite sintonizar los controladores con
tiempos de respuesta, margen de ganancia y margen fase adecuados para el sistema. Los controladores
calculados son:
PI(z)=Kp+Ki*(Ts/(z-1))
Para carga con corriente constante: Kp = 0.2244, Ki =2.0583e+04, Ts=10e-6
Para carga con voltaje constante: Kp = 1.7219, Ki =1.3317e+05, Ts=10e-6
Se usa la transformada z para implementar el controlador en el algoritmo a ejecutar en la tarjeta y su
fórmula simplificada es:
SalidaPI=(Kp*ErrorPI)-((Kp-(Ki*Ts))*ErrorPIprev0)+SalidaPIprev0;
Los parámetros se pueden ver implementados en el algoritmo del control digital (anexo 4)
Figura(4.32). Bode planta lazo abierto discretizado y Figura(4.33). Bode planta lazo abierto
controlado (volt. cte.) discretizado y controlado (corr. cte.)
37
Figura(4.34). Respuesta paso planta controlada Figura(4.35). Respuesta paso planta controlada
Como se puede apreciar en las figuras [4.32] y [4.33], tenemos un margen de ganancia y margen de fase
bastante buenos y suficientes para controlar todas las plantas posibles. Además se pudo estimar en las
figuras [4.34] y [4.35] los tiempos de estabilización de aproximadamente medio milisegundo, valor que
nos sirve para aumentar la referencia del algoritmo MPPT adecuadamente en tiempo.
4.11 SIMULACIONES EN SOFTWARE SIMULINK
El software SIMULINK ofrece una gran librería de potencia para simular circuitos electrónicos entre los
cuales podemos simular la implementación del SEPIC especificado en este documento con el panel y la
batería propuestos en los objetivos.
Figura (4.36).Circuito SEPIC en SIMULINK
Figura (4.37). Diagrama en bloques del algoritmo (bloque TARJETA PI)
38
Figura (4.38). Diagrama en bloques algoritmo perturbar y observar (bloque MPPT)
Figura (4.39). Diagrama en bloques controlador PI digital (bloque PI)
Figura (4.40). Diagrama en bloques rampa de compensación (bloque CPM)
39
Figura (4.41). Comportamiento CPM en simulación
En al figura [4.41] podemos observar el control por CPM similar al teórico de la figura 4.9. Se puede
comprobar que la corriente de drain tiene un valor incremental. En amarillo se tiene la rampa artificial que
cuando compara envía el PWM en bajo lógico hasta el siguiente tiempo de conmutación. En esta figura
podemos observar que el caso ideal cuando la rampa artificial intercepta con la corriente de drain, esta se
descarga de inmediato.
Radiacion 100 W/m2
40
Figura (4.42). Gráfica señales de entrada al SEPIC (RAD=100 W/m2)
Figura (4.43). Gráfica señales de salida del SEPIC (RAD=100 W/m2)
41
Figura (4.44). Gráfica señales de control del SEPIC (RAD=100 W/m2)
Radiacion 300 W/m2
Figura (4.45). Gráfica señales de entrada al SEPIC (RAD=300 W/m2)
42
Figura (4.46). Gráfica señales de salida del SEPIC (RAD=300 W/m2)
Figura (4.47). Gráfica señales de control del SEPIC (RAD=300 W/m2)
Radiacion 700 W/m2
43
Figura (4.48). Gráfica señales de entrada al SEPIC (RAD=700 W/m2)
Figura (4.49). Gráfica señales de salida del SEPIC (RAD=700 W/m2)
44
Figura (4.50). Gráfica señales de control del SEPIC (RAD=700 W/m2)
Radiación 1000 W/m2
Figura (4.51). Gráfica señales de entrada al SEPIC (RAD=1000 W/m2)
45
Figura (4.52). Gráfica señales de salida del SEPIC (RAD=1000 W/m2)
Figura (4.53). Gráfica señales de control del SEPIC (RAD=1000 W/m2)
En la simulación podemos comprobar que a medida que aumentamos la radiación recibida por el panel, la
potencia que suministra es mayor y está limitada y controlada por los tiempos de subida del MPPT y la
rampa de compensación, calculados adecuadamente para su posterior implementación en el circuito real.
Podemos notar que en este caso ideal, la eficiencia es alta ya que en la salida podemos cargar la batería
con más de 1 Amperio aunque no es lo ideal, no llegaremos a ese límite debido a los objetivos propuestos.
5. PROTOCOLO DE PRUEBAS
46
A continuación se tomaron mediciones experimentales por medio del software Keysight Benchvue para su
posterior procesamiento y análisis en Microsoft Excel. Así mismo, primero se comprobó el
funcionamiento del convertidor a lazo abierto y luego en lazo cerrado con el algoritmo MPPT Y el
controlador PI
5.1 RESULTADOS CONVERTIDOR CON REFERENCIA FIJA
Figura (5.1). Gráfica PWM VS Voltaje Gate (frecuencia, ciclo útil y amplitud)
En la figura (5.1) podemos observar en azul la señal del PWM que genera la tarjeta F28069, generada por
la comparación de la rampa artificial contra la corriente de drain del MOSFET. Esta tiene una amplitud de
3.3 V equivalente al voltaje 1 lógico que genera la tarjeta y una frecuencia de 100.83 kHz muy cercana a
la frecuencia de conmutación con un error menor al 1% . En violeta podemos observar la señal de entrada
al GATE del MOSFET, la cual posee la amplitud de VCC del driver, cabe mencionar que este es el voltaje
de la batería (11.8 V). Adicional a estas características es posible analizar que ambas señales se encuentran
aproximadamente en la misma frecuencia y el mismo ciclo útil, lo cual demuestra que el driver que
alimenta el MOSFET opera de manera óptima.
47
Figura (5.2). Gráfica PWM VS Voltaje Gate (retardo)
Ahora en la Figura (5.2) analizamos el retardo que obtenemos entre la señal de PWM de control y la señal
que entra al GATE del MOSFET. Analizando las imagenes, podemos afirmar que entre la señal violeta y
la azul, explicadas previamente, hay un retardo de aproximadamente 200 ns, esto equivale a una
frecuencia de 5 MHz. El periodo de conmutación de nuestro circuito es de 10 µs por lo tanto este retardo
es despreciable para el circuito y nuestro análisis.
48
Figura(5.3). Gráfica Corriente DRAIN a diferentes corrientes de control ia
En la Figura[5.3] se comparan los cambios de amplitud de corriente DRAIN del MOSFET en diferentes
corriente de control ia. Es posible apreciar que a mayor corriente de control ia permitida por la tarjeta
F28069, se obtiene una mayor amplitud de corriente DRAIN permitida que circula por el MOSFET en
cada tiempo de conmutación.
La corriente DRAIN máxima que puede alcanzar el DRAIN del MOSFET es de 3.03 A y esta permite
alcanzar una corriente de salida de 1.2 A. Los picos de corriente que se observan cerca al máximo de cada
señal se interpreta como el momento en el que la corriente de DRAIN alcanza el nivel de comparación
establecido por la tarjet, a continuación compara y manda en bajo el PWM. En práctica la corriente de
DRAIN no alcanza visualmente la corriente de control ia debido a errores de retardos de conmutación,
pérdidas por conmutación, errores de precisión, etc.
Teóricamente en el momento en el que el PWM cambia de alto a bajo, la corriente en el DRAIN debería
ser cero ya que el MOSFET se descarga de inmediato, sin embargo en la práctica el MOSFET no se
comporta de forma ideal, por lo tanto este se comienza a descargar por los circuitos equivalentes que ve el
MOSFET en DRAIN, GATE y SOURCE conformado por las capacitancias parásitas 𝑊𝑊𝑊, 𝑊𝑊𝑊 y, 𝑊𝑊𝑊.
La dinámica de descarga se toma como una respuesta de primer orden formada por circuitos RC;
conformado por las capacitancias por efecto miller y las impedancias vistas desde cada terminal.
Considerando lo fundamental que es la descarga de corriente DRAIN, el MOSFET 0N4S4 se escogió por
tener capacitancias muy pequeñas y de esta forma asegurar una descarga aún más veloz. Adicional a esto,
existen tiempos de retardo de apagado y de caída.
49
Figura (5.4). Gráfica Corriente de Salida a diferentes corrientes de control ia
En la Figura [5.4] podemos apreciar que a mayor corriente de control ia obtenemos una mayor corriente
de salida Iout. En este caso el efecto de tener una corriente de control mayor, permite limitar la corriente a
un valor mayor al de de DRAIN del MOSFET, por lo tanto el transformador podrá tener una mayor carga
de corriente cuando el PWM este en alto y cuando este se encuentre en bajo permitirá descargar esta
corriente en el condensador de salida y la carga (batería). En este caso la corriente DRAIN máxima del
MOSFET es de 3.03 A, equivalente a una corriente de salida de 1 A. Adicionalmente se puede notar en la
gráfica que los ripples de corriente no son tan altos, esto debido a la implementación de un filtro LC en la
salida y en la entrada para evitar ruido en la toma de mediciones. El valor de la inductancia de filtrado se
escogió en comparación a un 0.5% con el valor de la inductancia del transformador, así los cambios en los
polos del sistema serían despreciables, pudiendo considerar el convertidor como el mismo analizado en la
anterior sección.
50
Figura (5.5). Gráfica Corriente de Entrada a diferentes corrientes de control ia
En la Figura (5.5) se observa que cuando la corriente de control ia es mayor podemos obtener una mayor
corriente de entrada Iin, permitiendo mayor potencia de entrada cuando este lo requiera. Cuando se tiene
una corriente mayor de control, la corriente de DRAIN del MOSFET llega a un valor más alto, y eso como
efecto permite que el transformador llegue a tener mayor carga de corriente cuando el PWM este en alto.
En este caso la corriente DRAIN máxima del MOSFET es de 3.03 A, equivalente a una corriente de
entrada aproximadamente 1.05 A.
51
Figura (5.6). Gráfica Voltaje de Entrada a diferentes corrientes de control ia
En la Figura [5.6] se observa que cuando la corriente de control ia es mayor podemos obtener una
corriente de entrada y salida más alta, por lo tanto obtendremos una carga de batería más rápida y de esta
manera la carga de la batería se produciría en menor tiempo (esto no es del todo recomendable ya que se
disminuye la vida útil de la batería). Adicional a la medición observamos que el ripple de voltaje de salida
es aproximadamente de 150 mV, lo cual concuerda con lo establecido en el ripple de voltaje en el cálculo
del condensador de salida.
52
5.2 RESULTADOS CONVERTIDOR CON CONTROLADOR DIGITAL Y MPPT
Debido a limitaciones con los equipos de prueba, no fue posible alimentar el convertidor con un panel
solar debido a limitaciones de radiación, razón por la cual se reemplazó el panel por una fuente de voltaje
de 19 V con una resistencia de 1.33 ohm que simula la resistencia del panel. Los resultados usando el
código del anexo 4 en la tarjeta fueron los siguientes:
Figura (5.7). Comportamiento circuito a lazo cerrado .
En la figura [5.7] observamos la corriente de drain en color azul, la corriente de salida en color rosado y el
PWM de la tarjeta en color amarillo. Podemos notar que la corriente sube gradualmente hasta lograr
estabilizarse en el máximo punto de potencia, en este caso se puso una resistencia en serie con la fuente
para bajar la eficiencia en la salida y permitir que el algoritmo suba hasta el máximo punto y vuelva a
bajar si se pasa del punto máximo.
53
Figura (5.8). Comportamiento circuito a lazo cerrado.
Figura (5.9). Comportamiento circuito a lazo cerrado.
54
Figura (5.10). Comportamiento circuito a lazo cerrado.
Las gráficas [5.8],[5.9] y [5.10] fueron medidas con el osciloscopio; tomando como entrada directamente
el panel, y la batería como salida (verde: corriente drain, rosado oscuro: corriente salida, azul: corriente
panel, amarillo: voltaje panel, rosado claro: potencia de entrada).
En la gráfica [5.8] se puede observar el tiempo de retraso que se añadió al circuito mientras el usuario
enciende los interruptores de entrada y salida para su funcionamiento. En esta etapa la potencia sube y se
estabiliza en su máximo punto como se puede apreciar en la gráfica [5.9].
Para el protocolo de pruebas, después de estabilizado el circuito (gráfica [5.10]), se puso un sombreado
parcial en el panel, este resultó en un reinicio del convertidor para hallar el nuevo máximo punto de
potencia.
6. ANÁLISIS DE RESULTADOS
Después de realizar el protocolo de pruebas del convertidor con referencia fija haremos un análisis de la
potencia de entrada, potencia de salida y eficiencia.
Para determinar la potencia de salida y por tanto, la eficiencia, se hizo el promedio de corriente de entrada,
corriente de salida y voltaje de salida de los datos tomados en las figuras [5.4],[5.5] y[5.6]
55
Ia 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75
Iout 0.037 0.081 0.127 0.190 0.283 0.413 0.523 0.619 0.717 0.803 0.880
Vout 12.74 12.80 12.87 12.94 13.04 13.19 13.30 13.43 13.71 13.94 14.12
Pout 0.47 1.04 1.63 2.46 3.69 5.45 6.96 8.32 9.83 11.19 12.42
Iin 0.08 0.12 0.16 0.21 0.30 0.43 0.51 0.61 0.73 0.82 0.95
Vin 15.30
Pin 1.17 1.84 2.44 3.28 4.66 6.58 7.87 9.37 11.11 12.52 14.50
Eficiencia 40% 57% 67% 75% 79% 83% 88% 89% 88% 89% 86%
Figura (6.1). Tabla representando Potencias de entrada, salida y eficiencia
7. CONCLUSIONES Y RECOMENDACIONES
Las ventajas de un control programado por corriente:
● Dinámica más simple - Polo del inductor es movido a una frecuencia alta.
● Se puede obtener un control de tensión de salida robusto y simple, con un gran margen de fase, sin
el uso de redes de conductores compensadores
● Siempre es necesario detectar la corriente del transistor para proteger contra fallas de
sobrecorriente. También podemos usar la información durante el funcionamiento normal. para
obtener un mejor control
● Las fallas del transistor debidas a una corriente excesiva se pueden evitar simplemente limitando
la corriente de control en el tiempo
● Los problemas de saturación del transformador en los convertidores puente o de empuje pueden
mitigarse
●
Desventaja:
● Susceptible a ruido
En conclusión , a menor corriente de control, tendremos una corriente de salida muy baja, por lo tanto el
circuito tendrá una potencia de salida muy baja en comparación a la entrada. En consecuencia, se obtuvo
una eficiencia muy baja. Logramos superar el umbral del 80% a partir de una corriente de drain de mínimo
56
de 1.5A. Sin embargo, si el transformador está llegando a su corriente de saturación se empieza
nuevamente a perder eficiencia.
El control digital en la actualidad se puede implementar fácilmente aprovechando los avances
tecnológicos de la nueva generación de microprocesadores, esto resulta en la facilidad de implementar
convertidores de distintas características únicamente cambiando los componentes principales del
convertidor sin tener en cuenta el control ya que este se puede cambiar únicamente en pocas líneas de
programación.
El control digital también facilita la conversión de energía en las diferentes condiciones de irradiación: si
tiene una caída muy rápida, el convertidor reinicia su operación para encontrar el punto de máxima
potencia, y si hay poca luz, la tarjeta de desarrollo apaga el convertidor y lo deja en bajo consumo de
energía.
Es recomendable añadir una etapa de calibración en el sensado para obtener una medida de voltaje y
corriente más precisa en la tarjeta de desarrollo, esto generará una mayor eficiencia ya que se encontrará el
máximo punto de potencia del panel con mayor exactitud.
El control digital también ayuda a proteger el circuito de picos de corriente o voltaje inesperados, con un
condicional en el código de programación es suficiente para reiniciar el circuito o entrar en modo de
protección hasta que el usuario decida qué medida de precaución tomar para que no ocurra nuevamente.
8. BIBLIOGRAFÍA
[1]Serway, Raymond A.; Jewett, John W. (2012). Principles of Physics: A Calculus-Based Text, 5th Ed.
Cengage Learning. pp. 801–802. ISBN 1133104266.
[2]Ida, Nathan (2007). Engineering Electromagnetics, 2nd Ed. Springer Science and Business Media. p.
572. ISBN 0387201564.
[3]Purcell, Edward (2011). Electricity and Magnetism, 2nd Ed. Cambridge University Press. p. 285. ISBN
1139503553.
[4] E.F.R. Romaneli, J.D. Gabriel, D.B. de Alvarenga, R. Gules, J. Urbanetz, “Distributed generation:
Design and implementation of an AC module based on a current fed push-pull converter for connecting
photovoltaic panels to electric grid,” in Proc. of Brazilian Power Electronics Conference (COBEP), pp.
20-25, 2011.
[5] R. Teodoresku, and F. Blaaberg, "Photovoltaic systems are with power electronics," IEEE Power
Electronics Society Newsletter, Vol. 17, No. 4, pp.10-13, 2005.
[6] G. Rizzo, I. Arsie, M. Sorrentino, “Hybrid Solar Vehicles,” in Solar Collectors and Panels, Theory and
Applications, Dr. Reccab Manyala, Ed., InTech, 2010, ch. 4, pp. 79–96. [Online] Available:
http://www.intechopen.com/books/solar-collectors-andpanels–theory-and-applications/hybrid-solar-
vehicles
[7] M. Grosso, D. Lena, A. Bocca, A. Macii, S. Rinaudo, “Energy-Efficient Battery Charging in Electric
Vehicles with Solar Panels,” IEEE 2nd International Forum on Research and Technologies for Society and
Industry Leveraging a better tomorrow, pp 1-5 2016.
[8] M. Nirmal, P, Jayaprakash, “Isolated SEPIC Converter fed Trinary Hybrid
Cascaded H-bridge Multilevel Inverter for Solar PV System”, IEEE Region 10 Symposium (TENSYMP),
pp 1-5, 2017
57
[9] Prajof P. and V. Agarwal, "Novel boost-SEPIC type interleaved dc-dc converter for low-voltage
bipolar dc microgrid-tied solar pv applications," 2015 IEEE 42nd Photovoltaic Specialist Conference
(PVSC), New Orleans, LA, 2015, pp. 1-6.
[10] B. Xiao, L. Hang, C. Riley, L. M. Tolbert, B. Ozpineci, "Three-phase modular cascaded H-bridge
multilevel inverter with individual MPPT for grid-connected photovoltaic systems", Proc. 28th Annu.
IEEE Appl. Power Electron. Conf. Expo., pp. 468-474, 2013.
[11]http://www.scribd.com/doc/45845512/10/%E2%80%93-ALGORITMO-MPPT-
DEPERTURBACION-
Y-OBSERVACION (Libro) KNOPF, Hannes. Analysis, Simulation, and Evaluation of Maximum Power
PointTracking (MPPT) Methods for a solar Powered Vehicle. Portland State University (1999).
[12]Koutroulis, E.; Kalaitzakis, K.; Voulgaris, N.C “Development of a Microcontroller-
Based,Photovoltaic Maximum Power Point Tracking Control System” Power Electronics, IEEE
transactions on ,Volume: 16 , Issue: 1 Digital Object Identifier: 10.1109/63.903988 Publication Year:
2001 , Page(s): 46 – 54
[13] Robert W. Erickson, Dragan Maksimovic, “Fundamentals of Power Electronics” Second Edition
University of Colorado Boulder, Colorado, Kluwer Academic Publishers, New York pp.439-473, 2004.
[14] Wei Gu, “Designing A SEPIC Converter”, Application note 1484, National semiconductor pp. 1-8,
June 2007.
[15] Jeff Falin, “Designing DC/DC converters based on SEPIC topology”, Power Mangament, Texas
Instruments Incorporated, 4Q, pp. 1-8, 2008.
[16] Dongbing Zhang, “AN-1484 Designing A SEPIC Converter”, Application Report SNVA168E- May
2006, Texas Instruments Incorporated, pp. 1-11, April 2013.
[17] John Betten, “Benefits of a coupled-inductor SEPIC Converter”, Applications Engineer, Texas
Instruments Incorporated pp. 1-6, 2011.
[18] Ray Ridley. (Nov. 2006). Analyzing the SEPIC converter. Power Systems Design Europe [Online].
Available: http://www.powersystemsdesign.com/design_tips_nov06.pdf
[19] Robert W. Erickson and Dragan Maksimovic, Fundamentals of Power Electronics, 2nd ed. (New
York: Springer Science+Business Media LLC, 2001).
[20] John Betten and Robert Kollman. (Jan. 25, 2006). No need to fear: SEPIC outperforms the flyback.
Planet Analog [Online]. Available: http://www.planetanalog.com/showArticle.jhtml?articleID=177103753
[21] John Betten. (May 27, 2010). SEPIC converter benefits from leakage inductance. PowerPulse.Net
Design Features [Online]. Available: http://www.powerpulse.net/techPaper.php?paperID=153
[22] Robert Kollman. (July 13, 2009). Power tip: Don’t get burned by inductor core losses. EE Times
Power Management DesignLine [Online]. Available: http://www.eetimes.com/design/power-
management-
design/4012507/Power-Tip-Don-t-get-burned-by-inductorcore-losses
[23]B. Kumar Padhi, A. Narain. CONTROLLLER DESIGN FOR SEPIC CONVERTER USING MODEL
ORDER REDUCTION. International Journal of Electric, Electronics and Data Comunication. 2013.
[24] A. Hren,M. Milanovic, Dynamic Analysis of SEPIC Converter. Automatika 48(3-4): 137-144 (2007).
[25]V.Vorperian. Analysis of the Sepic converter by Dr. Vatché Vorpérian. Ridley Engineering Inc,
www.switchingpowermagazine.com, 2006.
[26]H. Y. Kanaan, K. Al-Haddad. A Comparative Analysis of Nonlinear Current Control Schemes
Applied to a SEPIC Power Factor Corrector. 31ª Conferencia Anual del IEEE (IECON 2005). 6
Noviembre 2005.
58
[27] E.Vuthchhay, P. Unnat, C. Bunlaksananusorn. Modeling of a sepic converter operating in continous
conduction mode. 6ª Conferencia Internacional sobre Ingeniería Eléctrica/Electrónica, Informática,
Telecomunicaciones y Tecnología de la Información 2009 (ECTI-CON 2009), pp. 136-139, Mayo 2009.
[28] Ruiz C. Luis J., Beristáin J. José A., Sosa T. Ian M. y Hernández L. Jesús H., “Estudio del Algoritmo
de Seguimiento de Punto de Máxima Potencia Perturbar y Observar”. Revista de ingeniería electrónica y
computación, Vol 8 No 1, pp. 3, Diciembre 2010
[29]http://www.ugr.es/~amroldan/enlaces/dispo_potencia/transis.htm, imagen gráfica Cálculo de
potencias disipadas en conmutación con carga inductiva
[30] Texas Instruments, “Technical Reference Manual TMS320x2806x Piccolo”, Literature Number:
SPRUH18G, January 2011–Revised April 2017
9. ANEXOS.....................................................................................................................................................
Todos los archivos anexados se encuentran en el siguiente link:
https://drive.google.com/open?id=1lF3-xY1euDeOsbLb7QysSQDSBtTRVF0m
Anexo 1. CÓDIGO ANÁLISIS FUNCIONES DE TRANSFERENCIA, ESTABILIDAD Y
CONTROLADOR PI EN SOFTWARE MATLAB
%% Análisis funciones de transferencia
syms s H L C R CIN RP VIN VO VD I VP
H=(VO+VD)/(VIN+VO+VD);
% i vo vin ---- vp h
A=[0 -(1-H)/L H/L;(1-H)/C -1/(C*R) 0;-1/CIN 0 -1/(CIN*RP) ]
B=[0 (VIN+VO+VD)/L;0 -I/C; 1/(RP*CIN) 0]
D=[0];
%Para i
Ci=[1 0 0];
Gi=Ci*(inv((s.*eye(3))-A))*B;
Gig=Gi(1)
[cnumig,cdenig]=zpsym2numden(Gig);
Gih=Gi(2)
[cnumih,cdenih]=zpsym2numden(Gih);
%Para vo
59
Cvo=[0 1 0];
Gvo=Cvo*(inv((s.*eye(3))-A))*B;
Gvg=Gvo(1)
[cnumvg,cdenvg]=zpsym2numden(Gvg);
%SEPIC controlado por ciclo útil(Carga con voltaje constante)
Gvh=Gvo(2)
[cnumvh,cdenvh]=zpsym2numden(Gvh);
%Para vin
Cvin=[0 0 1];
Gvin=Cvin*(inv((s.*eye(3))-A))*B;
Gving=Gvin(1);
[cnumving,cdenving]=zpsym2numden(Gving);
Gvinh=Gvin(2)
[cnumvinh,cdenvinh]=zpsym2numden(Gvinh);
%
%Funciones CPM
disp('Ahora analizamos el CPM para hallar la f.t vo/icontrol')
syms Ma Ts H L
M1=VIN/L
M2=-(VO+VD)/L
Ma=M2*0.55
Fm=1/(Ma*Ts+H*M1*Ts-(1-H)*M2*Ts)
Fg=(H^2)*Ts/(2*L)
Fv=((1-H)^2)*Ts/(2*L)
%Ahora
%h=Fm*(ic-il-Fg*vin-Fv*vo)
%Reemplazamos il y vin por las funciones de transferencia correspindientes
%
% h=Fm*(ic-(Gig*vp+Gih*h)-Fg*(Gving*vp+Gvinh*h)-Fv*vo)
%Por lo tanto las funciones de transferencia de control:
%vo/vp
Gvcpm=(Gvg*(1+Fm*(Gih+Fg*Gvinh))-Gvh*Fm*(Gig+Fg*Gving))/(1+Fm*(Gih+Fg*Gvinh-Fv*Gvh));
Gvcpm=simplify(Gvcpm);
60
[cnumvcpm,cdenvcpm]=zpsym2numden(Gvcpm);
disp('F.T vo/vp(Gvcpm)')
Gvcpm
%vo/ic
%Sepic controlado por CPM (Carga con voltaje constante)
Gvc=(Fm*Gvh)/(1+Fm*(Gih+Fg*Gvinh-Fv*Gvh));
Gvc=simplify(Gvc);
[cnumvc,cdenvc]=zpsym2numden(Gvc);
disp('F.T vo/ic(Gvc)')
Gvc
%Si la batería no ha alcanzado el voltaje de flotación, tendrá que ser
%cargada a corriente constante con una de las plantas:
%SEPIC controlado por ciclo útil(Carga con corriente constante)
Gioh=(1/R)*Gvh;
Gioh=simplify(Gioh);
[cnumioh,cdenioh]=zpsym2numden(Gioh);
disp('F.T io/h(Gioh)')
Gioh
%SEPIC controlado por CPM(Carga con corriente constante)
Gioc=(1/R)*Gvc;
Gioc=simplify(Gioc);
[cnumioc,cdenioc]=zpsym2numden(Gioc);
disp('F.T io/ic(Gioc)')
Gioc
%% Funciones de transferencia con componentes reemplazados
disp('Funciones de transferencia con componentes reemplazados')
invocomp();
s=tf('s')
%vo/vp
disp('F.T vo/vp(Gvg)')
Gvgsys=tf(eval(cnumvg),eval(cdenvg))
%vo/h(Carga con voltaje constante)
disp('F.T vo/h(Gvd)')
Gvhsys=tf(eval(cnumvh),eval(cdenvh))
%i/vp
disp('F.T i/vp(Gig)')
Gigsys=tf(eval(cnumig),eval(cdenig))
%i/h
disp('F.T i/h(Gid)')
61
Gihsys=tf(eval(cnumih),eval(cdenih))
%Funciones CPM
disp('Ahora analizamos el CPM para hallar la f.t vo/icontrol')
M1=VIN/L
M2=-(VO+VD)/L
Ma=M2*0.55
Fm=1/(Ma*Ts+H*M1*Ts-(1-H)*M2*Ts)
Fg=(H^2)*Ts/(2*L)
Fv=-((1-H)^2)*Ts/(2*L)
Aramp=-(Ma*Ts)
%vo/vp
disp('F.T vo/vp(Gvcpm)')
Gvcpmsys=tf(eval(cnumvcpm),eval(cdenvcpm))
% vo/h(Carga con voltaje constante) SEPIC controlado por ciclo útil
disp('F.T vo/h(Carga con voltaje constante) controlada por ciclo útil')
Gvhsys=tf(eval(cnumvh),eval(cdenvh))
% io/h(Carga con corriente constante) SEPIC controlado por ciclo útil
disp('F.T io/h(Carga con corriente constante) controlada por ciclo útil')
Giohsys=tf(eval(cnumioh),eval(cdenioh))
%vo/ic(Carga con voltaje constante) SEPIC controlado por CPM
disp('F.T vo/ic(Carga con voltaje constante) controlada por CPM')
Gvcsys=tf(eval(cnumvc),eval(cdenvc))
%io/ic(Carga con corriente constante) SEPIC controlado por CPM
disp('F.T io/ic(Carga con corriente constante) controlada por CPM')
Giocsys=tf(eval(cnumioc),eval(cdenioc))
% Bodes SEPIC con control por ciclo útil(Gvh y Gioh)
figure;
margin(Gvhsys)
62
grid on
legend('Bode SEPIC controlado por el ciclo útil(voltaje cte.)')
figure;
margin(Giohsys)
grid on
legend('Bode SEPIC controlado por el ciclo útil(corriente cte.)')
% Bodes SEPIC con control por CPM(Gvc y Gioc)
figure;
margin(Gvcsys)
grid on
legend('Bode SEPIC controlado por CPM(voltaje cte.)')
figure;
margin(Giocsys)
grid on
legend('Bode SEPIC controlado por CPM(corriente cte.)')
%Comparando los bodes (mayor eficiendcia en CPM), nuestras plantas serán entonces Gvcsys y Giocsys
%% Selección planta
%Añadimos el retardo y la discretización para trabajar con la planta
%Voltaje cte.
Gvcsysret=tf(eval(cnumvc),eval(cdenvc),'InputDelay',Ts);
Gvcsyszoh=c2d(Gvcsysret,1/f,'zoh')
%Corriente cte.
Giocsysret=tf(eval(cnumioc),eval(cdenioc),'InputDelay',Ts);
Giocsyszoh=c2d(Giocsysret,1/f,'zoh')
opts = bodeoptions('cstprefs');
opts.FreqUnits = 'kHz';
figure;
bodeplot(Gvcsyszoh,'r',Gvcsys,'b',opts);
grid on
title('Bode planta(carga voltaje cte.)')
legend('Planta discretizada y retardada','Planta continua')
figure;
bodeplot(Giocsyszoh,'r',Giocsys,'b',opts);
grid on
title('Bode planta(carga corriente cte.)')
63
legend('Planta discretizada y retardada','Planta continua')
%%
%Tiempo de delay para limitar el ciclo útil (Para correcta simulación en simulink)
LimH=0.95;
Td=(LimH)*Ts;
%%
%Análisis de estabilidad variando los parámetros de los componentes
syms s
invocomp();
%Hacemos un bucle para hallar todas las plantas con error en los parámetros de -30%,0% y +30%
var=1;
porc=0.3;
for(a=1:1:3)
Laux=L+L*(a-2)*porc;
for(b=1:1:3)
Caux=C+C*(b-2)*porc;
for(c=1:1:3)
Cinaux=CIN+CIN*(c-2)*porc;
for(d=1:1:3)
VPaux=VP+VP*(d-2)*porc;
for(e=1:1:3)
VOaux=VO+VO*(e-2)*porc;
%Variamos los parámetros
L=Laux;
C=Caux;
CIN=Cinaux;
VO=VOaux;
VS=VO-1*R;
VP=VPaux;
VIN=VP-I*RP;
H=(VO+VD)/(VIN+VO+VD);
%Creamos la planta con los componentes
%modificados
%(Voltaje cte.)
sysv=tf(eval(cnumvc),eval(cdenvc),'InputDelay',Ts);
syszohv=c2d(sysv,1/f,'zoh');
%(Corriente cte.)
sysi=tf(eval(cnumioc),eval(cdenioc),'InputDelay',Ts);
64
syszohi=c2d(sysi,1/f,'zoh');
%Guardamos la planta en un arreglo que las contiene todas
%(Voltaje cte.)
PLANTASv(var)=syszohv;
%(Corriente cte.)
PLANTASi(var)=syszohi;
%Guardamos su margen de ganancia, margen de fase y frecuencias correspondientes
%(Voltaje cte.)
[Gmv(var),Pmv(var),Wcgv(var),Wcpv(var)] = margin(syszohv);
Gmv(var)=20*log10(Gmv(var));
%(Corriente cte.)
[Gmi(var),Pmi(var),Wcgi(var),Wcpi(var)] = margin(syszohi);
Gmi(var)=20*log10(Gmi(var));
%Incrementamos el contador y volvemos a los componentes iniciales
var=var+1;
invocomp();
end
end
end
end
end
%Hallando los minimos margenes de fase y ganancia
%Volt. cte.
[minGmv,minGmvarv]=min(Gmv);
[minPmv,minPmvarv]=min(Pmv);
%Corr. cte.
[minGmi,minGmvari]=min(Gmi);
[minPmi,minPmvari]=min(Pmi);
%Para las plantas con peor margen de ganancia
sysacompensargainv=PLANTASv(minGmvarv);
sysacompensargaini=PLANTASi(minGmvari);
%Para las plantas con peor margen de ganancia
sysacompensarfasev=PLANTASv(minPmvarv);
sysacompensarfasei=PLANTASi(minPmvari);
65
%Bodes plantas con errores en componentes
figure;
bodeplot(Gvcsyszoh,'r',sysacompensarfasev,'b',sysacompensargainv,'g--',opts);
grid on
title('Bode planta lazo abierto(Voltaje cte.)')
legend('Con comp. ideales','Peor MF','Peor MG')
figure;
bodeplot(Giocsyszoh,'r',sysacompensarfasei,'b',sysacompensargaini,'g--',opts);
grid on
title('Bode planta lazo abierto(Corriente cte.)')
legend('Con comp. ideales','Peor MF','Peor MG')
%%
%(Importar controladores de la carpeta PI)
[Kp,Ki,Kd,Tf,Tm]=piddata(PICi)
[Kpv,Kiv,Kdv,Tf,Tm]=piddata(PICv)
%Hacemos un controlador PI para tener una F.T a lazo abierto con Margen de
%fase mayor a 59 y Margen de ganancia mayor a 25 dB
% pidTuner(sysacompensargain,'PI')
%%
disp('Seleccionado los controladores, procedemos')
PICv
PICi
%Comprobamos que controlemos las plantas
%Por lo tanto los bodes compensados son:
%Voltaje cte.
figure;
bodeplot(PICv*Gvcsyszoh,'r',PICv*sysacompensarfasev,'b',PICv*sysacompensargainv,'g--',opts);
grid on
title('Bode planta lazo abierto discretizado y controlado(volt. cte.)')
legend('Con comp. ideales','Peor MF','Peor MG')
%Corriente cte.
figure;
bodeplot(PICi*Giocsyszoh,'r',PICi*sysacompensarfasei,'b',PICi*sysacompensargaini,'g--',opts);
grid on
title('Bode planta lazo abierto discretizado y controlado(corr. cte.)')
legend('Con comp. ideales','Peor MF','Peor MG')
%% Tenemos entonces la repuesta paso del sistema
66
%Voltaje cte.
figure;
hold on
step(feedback(PICv*Gvcsyszoh,1),'r')
step(feedback(PICv*sysacompensarfasev,1),'b')
step(feedback(PICv*sysacompensargainv,1),'g--')
legend('con componentes ideales','con peor margen de fase','con peor margen de ganancia');
title('Respuesta paso planta controlada(Carga con voltaje cte.)')
grid on
hold off
%Corriente cte.
figure;
hold on
step(feedback(PICi*Giocsyszoh,1),'r')
step(feedback(PICi*sysacompensarfasei,1),'b')
step(feedback(PICi*sysacompensargaini,1),'g--')
legend('con componentes ideales','con peor margen de fase','con peor margen de ganancia');
title('Respuesta paso planta controlada(Carga con corriente cte.)')
grid on
hold off
%%
%Función para extraer numerador y denominador
function [numsym,densym]=zpsym2numden(F)
syms s z
[num,den]=numden(F);
numsymm=coeffs(num,s);
numsym=fliplr(numsymm);
densymm=coeffs(den,s);
densym=fliplr(densymm);
end
%Función que retorna los valores de los componentes a los iniciales
function invocomp()
ESR=0.029; %ESR capacitores
RSH=0.1; %Resistencia shunt de sensado de corriente
VO=14.7; %Voltaje de salida de equilibrio
VIN=17.5; %Voltaje de entrada de equilibrio
VD=0.45; %Voltaje forward diodo
R=0.124; % Resistencia carga (Rshunt+Rbateria)
VS=VO-1*R; %Fuente de voltaje modelada
CIN=56*10^-6; %Capacitor de entrada
RP=1.3323; %Resistencia panel
67
%Solucionando el sistema de ecuaciones para las condiciones de equilibrio
% syms I H VP
% eqns = [VIN*H-(VO+VD)*(1-H)==0, I*(1-H)-((VO-VS)/R)==0, ((VP-VIN)/RP)-I==0];
% [I H VP] = solve(eqns, [I H VP]);
%
% I=double(I)
% H=double(H)
% VP=double(VP)
I=1.8657; %Corriente inductancia de equiilibrio
H=0.4640; %Ciclo útil de equilibrio (en voltajes de equilibrio)
VP=19.9857; %Antes de la caída de la resistencia panel
f=100000; %Frecuencia de conmutación
Ts=1/f; %Período de conmutación
L=220*10^-6; %Inductancia magnetización del transformador
CX=56*10^-6; %Capacitor de acople
C=56*10^-6; %Capacitor de salida
assignin('base','VO',VO)
assignin('base','VP',VP)
assignin('base','VD',VD)
assignin('base','VS',VS)
assignin('base','VIN',VIN)
assignin('base','R',R)
assignin('base','RSH',RSH)
assignin('base','ESR',ESR)
assignin('base','H',H)
assignin('base','I',I)
assignin('base','CIN',CIN)
assignin('base','RP',RP)
assignin('base','f',f)
assignin('base','Ts',Ts)
assignin('base','L',L)
assignin('base','CX',CX)
assignin('base','C',C)
end
Anexo 2. CIRCUITO DE SIMULACIÓN EN SOFTWARE SIMULINK
68
Anexo 3. Algoritmo MPPT implementado en MATLAB
function D = PertYObs(Vpv,Ipv,ERROR,REF)
persistent Dprev Pprev Vprev Contbaj
%Si es la primera vez que ejecuta el algoritmo:
if isempty(Dprev)
%Referencia inicial
Dprev = 0.01;
Vprev = 17;
Pprev = 0;
end
%Delta de referencia
deltaD = 0.001;
%Calculamos la potencia instantánea
Ppv = Vpv*Ipv;
%Ejecutamos la decisión para aumentar o disminuir la referencia
if (Ppv-Pprev) ~= 0
if (Ppv-Pprev) > 0
if (Vpv-Vprev) > 0
D = Dprev - deltaD;
else
D = Dprev + deltaD;
end
else
if (Vpv-Vprev) > 0
D = Dprev + deltaD;
else
D = Dprev - deltaD;
end
69
end
else
D = Dprev;
end
%Actualizar variables iniciales en el próximo ciclo
Dprev = D;
Vprev = Vpv;
Pprev = Ppv;
Anexo 4. CÓDIGO IMPLEMENTACIÓN CONTROL DIGITAL EN SOFTWARE CODE COMPOSER
A LAZO ABIERTO O LAZO CERRADO
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
//Variables usadas
Uint16 dec;
Uint16 pr;
Uint16 period;
float f;
float pend;
float Ts=0.00001;
float RMAX=1000; //Valor inicial de la rampa
Uint16 RIN=1000;
float Io=0;
float Ioprev=0;
float Vo=0;
float Voprev=0;
float IM;
float Ip=0;
float Vp=0;
float Vprev=17;
float ErrorPI;
float ErrorPIprev0=0;
float ErrorPIprev1=0;
float SalidaPI=0;
float SalidaPIprev0=0; //Valor inicial rampa
float SalidaPIprev1=0;
float Refcorr=0;
float Refvolt=14.7;
float Ppv=0;
70
int modo=0;
float Refcorrprev=0.05;
float Pprev=0;
float deltaREFcorr=0.002;
float Kpc=0.224;
float Kic=20583;
float Kpv=1.7219;
float Kiv=133170;
Uint16 on1=0;
Uint16 on2=0;
Uint16 ACW;
// Prototype statements for functions found within this file.
__interrupt void MPPT(void);
__interrupt void Controlador(void);
main()
{
InitSysCtrl();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
//SE INICIA EL ADC
InitAdc();
AdcOffsetSelfCal();
71
//EN LAZO ABIERTO SE DESACTIVAN LOS TIMERS Y LAS INTERRUPCIONES, EN LAZO
CERRADO ACTIVAR LA SIGUIENTE LINEA
CONFIGTIMER();
EALLOW;
PWM_CLOCK(); //Asigna el estado inicial del PWM y asigna
//flanco de bajada cuando el comparador interrumpa
FADC(); //Configuracion ADC, pines y sincronizacion con PWM
COMPARADOR(); //Acciona y configura parámetros de la rampa y el comparador
GpioCtrlRegs.GPAMUX1.bit.GPIO6=11; //Mirar la señal de sincronismo
GpioCtrlRegs.GPAMUX2.bit.GPIO20=11; //Gpio20 como el pulso de la salida del comparador
GpioCtrlRegs.GPAMUX1.bit.GPIO1=1; //Gpio1 como EL pwm
//Pin para observar cada cuanto se ejecuta el cálculo del MPPT
GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 0; //Pin como INPUT o OUTPUT
GpioCtrlRegs.GPBDIR.bit.GPIO33 = 1; //Pin como OUTPUT
//Pin para observar cada cuanto se ejecuta el cálculo del controlador
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0; //Pin como INPUT o OUTPUT
GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; //Pin como OUTPUT
EDIS;
}
void PWM_CLOCK()
{
period=900; //El periodo será de 900 tiempos de reloj (100 kHz)
EPwm1Regs.TBPRD = period+1;
EPwm1Regs.TBPHS.half.TBPHS = 0; // Set Phase register to zero
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Asymmetrical mode
72
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Phase loading disabled
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET; // Set PWM1A on Zero // Define an event (DCAEVT2)
based on // Comparator 1 Output
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
//SINCRONIZAMOS EL RELOJ DEL PWM CON LA COMPARACION DIGITAL DEL
COMPARADOR
EPwm1Regs.DCTRIPSEL.bit.DCBHCOMPSEL = DC_COMP1OUT; // DCAH = Comparator 1 output
EPwm1Regs.TZDCSEL.bit.DCBEVT2 = TZ_DCAH_HI; // DCAEVT2 = DCAH high(will become
active // as Comparator output goes high)
EPwm1Regs.DCBCTL.bit.EVT2SRCSEL = DC_EVT2; // DCAEVT2 = DCAEVT2 (not filtered)
EPwm1Regs.DCBCTL.bit.EVT2FRCSYNCSEL = DC_EVT_ASYNC; // Take async path // Enable
DCAEVT2 as a // one-shot trip source // Note: DCxEVT1 events can be defined as // one-shot. //
DCxEVT2 events can be defined as // cycle-by-cycle.
EPwm1Regs.TZSEL.bit.DCBEVT2 = 1; // What do we want the DCAEVT1 and DCBEVT1 // events
to do? // DCAEVTx events can force EPWMxA // DCBEVTx events can force EPWMxB
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // EPWM1A will go low
}
void CONFIGTIMER()
{
EALLOW;
PieVectTable.TINT0 = Controlador;
PieVectTable.TINT1 = MPPT;
EDIS;
InitCpuTimers();
//Cálculo del Controlador cada 10 us
ConfigCpuTimer(&CpuTimer0, 90, 10);
//Cálculo del MPPT cada 500 us
ConfigCpuTimer(&CpuTimer1, 90, 500);
CpuTimer0Regs.TCR.all = 0x4000;
CpuTimer1Regs.TCR.all = 0x4000;
// Enable CPU int1 which is connected to CPU-Timer 0, CPU int13
// which is connected to CPU-Timer 1
IER |= M_INT1;
73
IER |= M_INT13;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
}
void FADC()
{
//CONFIGURAMOS PINES ADC Y EL TRIGGER EN SINCRONISMO CON PWM
AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 1; // Enable non-overlap mode
AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; // ADCINT1 trips after AdcResults latch
AdcRegs.INTSEL1N2.bit.INT1E = 1; // Enabled ADCINT1
AdcRegs.INTSEL1N2.bit.INT1CONT = 0; // Disable ADCINT1 Continuous mode
AdcRegs.INTSEL1N2.bit.INT1SEL = 1; // setup EOC1 to trigger ADCINT1 to fire
AdcRegs.ADCSOC0CTL.bit.CHSEL = 0; // Io
AdcRegs.ADCSOC1CTL.bit.CHSEL = 1; // Vo
AdcRegs.ADCSOC3CTL.bit.CHSEL = 3; // Ip
AdcRegs.ADCSOC4CTL.bit.CHSEL = 4; // Vp
AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 5; // set SOC0 start trigger on EPWM1A, due to round-
robin SOC0 converts first then SOC1
AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 5; // set SOC1 start trigger on EPWM1A, due to round-
robin SOC0 converts first then SOC1
AdcRegs.ADCSOC3CTL.bit.TRIGSEL = 5; // set SOC1 start trigger on EPWM1A, due to round-
robin SOC0 converts first then SOC1
AdcRegs.ADCSOC4CTL.bit.TRIGSEL = 5; // set SOC1 start trigger on EPWM1A, due to round-
robin SOC0 converts first then SOC1
//Ventana de adquisicion
//Acq Window = 90M/12.85M = 7 cycles -1 (counts 0) -> 6
ACW=6;
AdcRegs.ADCSOC0CTL.bit.ACQPS = ACW; // set SOC0 S/H Window to 7 ADC Clock Cycles,
(6 ACQPS plus 1)
AdcRegs.ADCSOC1CTL.bit.ACQPS = ACW; // set SOC1 S/H Window to 7 ADC Clock Cycles,
(6 ACQPS plus 1)
AdcRegs.ADCSOC3CTL.bit.ACQPS = ACW; // set SOC1 S/H Window to 7 ADC Clock Cycles,
(6 ACQPS plus 1)
AdcRegs.ADCSOC4CTL.bit.ACQPS = ACW; // set SOC1 S/H Window to 7 ADC Clock Cycles,
(6 ACQPS plus 1)
74
// Assumes ePWM1 clock is already enabled in InitSysCtrl();
EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group
EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from CMPA on upcount
EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
}
__interrupt void MPPT(void)
{
EALLOW;
CpuTimer0.InterruptCount++;
//Pin para observar cada que hay interrupción
GpioDataRegs.GPBTOGGLE.bit.GPIO33 = 1;
if (on1<14)
{
}
else
{
Ip=((AdcResult.ADCRESULT3)*1.5)/4095; //Leemos y convertimos el dato a corriente
Vp=((AdcResult.ADCRESULT4)*22.0)/4095; //Leemos y convertimos el dato a voltaje
Ppv=Vp*Ip;
if (modo==0) //Si estamos cargando con corriente constante
{
//Ejecutamos el algoritmo mppt
if ((Ppv-Pprev)==0)
{
Refcorr = Refcorrprev;
}
else
{
if((Ppv-Pprev)>0)
{
if((Vp-Vprev)>0)
{
75
Refcorr = Refcorrprev + deltaREFcorr;
}
else
{
Refcorr = Refcorrprev - deltaREFcorr;
}
}
else
{
if((Vp-Vprev)>0)
{
Refcorr = Refcorrprev - deltaREFcorr;
}
else
{
Refcorr = Refcorrprev + deltaREFcorr;
}
}
}
Refcorrprev=Refcorr;
}
else//Si estamos cargando con voltaje constante
{
//La referencia de voltaje se mantiene en 14.7
}
Vprev=Vp;
Pprev=Ppv;
}
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //Clear ADCINT1 flag reinitialize for next SOC
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
EDIS;
return;
}
__interrupt void Controlador(void)
{
EALLOW;
CpuTimer0.InterruptCount++;
if (on1<14) // Hacemos un delay para alcanzar a encender la tarjeta después de 8.4 segundos
{
on2=on2+1;
if(on2==60000)
{
on2=0;
on1=on1+1;
}
76
}
else
{
//Pin para observar cada que hay interrupción
GpioDataRegs.GPATOGGLE.bit.GPIO5 = 1;
Io=((AdcResult.ADCRESULT0)*1.5)/4095; //Leemos y convertimos el dato a corriente
Vo=((AdcResult.ADCRESULT1)*16.5)/4095; ////Leemos y convertimos el dato a voltaje
//Elección método de carga a controlar
if (Vo<14.7) //Si el voltaje leído es menor al voltaje de flotación(Corriente constante)
{
modo=0; // Variable para saber el tipo de carga
ErrorPI=Refcorr-Io;
SalidaPI=(Kpc*ErrorPI)-((Kpc-(Kic*Ts))*ErrorPIprev0)+SalidaPIprev0;
if (SalidaPI>2.7)//Saturamos el controlador PI
{
SalidaPI=2.7;
}
if(SalidaPI<0.001)
{
SalidaPI=0.001;
}
SalidaPIprev0=SalidaPI;
ErrorPIprev0=ErrorPI;
}
else //(Voltaje constante)
{
if(modo==0) //Si apenas llegamos al voltaje de flotación, iniciamos las previas
{
SalidaPIprev1=SalidaPI;
ErrorPIprev1=0;
}
modo=1; // Variable para saber el tipo de carga
ErrorPI=Refvolt-Vo;
SalidaPI=(Kpv*ErrorPI)-((Kpv-(Kiv*Ts))*ErrorPIprev1)+SalidaPIprev1;
SalidaPIprev1=SalidaPI;
ErrorPIprev1=ErrorPI;
}
77
//Salida escalizada con respecto a la corriente máxima del MOSFET
RMAX=SalidaPI*65535/3.003;
}
//Saturamos el máximo y mínimo de la rampa para que compare siempre
if (RMAX<RIN)
{
RMAX=RIN;
}
if (RMAX>55000)
{
RMAX=55000;
}
Comp1Regs.RAMPMAXREF_SHDW=RMAX; //Maximo de la rampa (Variable controlada)
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //Clear ADCINT1 flag reinitialize for next SOC
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
EDIS;
return;
}
void COMPARADOR()
{
//Configuramos el comparador
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; // Enable Clock to the ADC
AdcRegs.ADCCTL1.bit.ADCBGPWD = 1; // Comparator shares the internal BG
reference of the ADC, must be powered even if ADC is unused
DELAY_US(1000); // Delay for Power Up
SysCtrlRegs.PCLKCR3.bit.COMP1ENCLK = 1; // Enable clock to the Comparator 1 block
Comp1Regs.COMPCTL.bit.COMPDACEN = 1; // Power up Comparator 1 locally
//Comp1Regs.COMPCTL.bit.COMPSOURCE = 1; // Pin analogo B
Comp1Regs.COMPCTL.bit.COMPSOURCE = 0; //DAC interno
Comp1Regs.DACCTL.bit.DACSOURCE=1; //DAC INTERNO RAMPA
// Comp1Regs.DACCTL.bit.DACSOURCE=0; // DAC INTERNO CONSTANTE
//Comp1Regs.DACVAL.bit.DACVAL = 512; // Set DAC output to midpoint
Comp1Regs.DACCTL.bit.RAMPSOURCE=0; //Asigna PWMSYNC1
78
AdcRegs.COMPHYSTCTL.bit.COMP1_HYST_DISABLE=0; //Activar histéresis
//LA PENDIENTE DEBE SER MA, CALCULADA Y ESCALIZADA
pend=10;
Comp1Regs.RAMPDECVAL_SHDW=pend; //Pendiente
Comp1Regs.RAMPMAXREF_SHDW=RIN; //Maximo INICIAL
}
Anexo 5. CIRCUITO ESQUEMÁTICO DEL CONVERTIDOR IMPLEMENTADO EN SOFTWARE
ALTIUM.
79
Anexo 6. TARJETA CIRCUITO IMPRESO
80