Você está na página 1de 146

Evaluación de la implementación de control

predictivo en la regulación de frecuencia con


imitación inercial y seguimiento en sistemas de
potencia con fuentes renovables

Darı́o Mateo Arango Angarita

Universidad Nacional De Colombia


Facultad de ingenierı́a, Departamento de Ingenierı́a Eléctrica y Electrónica
Bogotá, Colombia
2017
Evaluación de la
implementación de control
predictivo en la regulación de
frecuencia con imitación inercial
y seguimiento en sistemas de
potencia con fuentes renovables

Darı́o Mateo Arango Angarita

Trabajo de grado presentado como requisito para optar al tı́tulo de:


Ingeniero Electrónico

Director:
Ph.D., Sergio Raúl Rivera Rodriguez

Lı́nea de Investigación:
Análisis de sistemas de potencia con penetración de energı́a renovable
Universidad Nacional De Colombia
Facultad de ingenierı́a, Departamento de Ingenierı́a Eléctrica y Electrónica
Bogotá, Colombia
2017
Dedicatoria
A mis padres, familiares, compañeros, profeso-
res y a Dios.

En general a todos aquellos que han apoyado de


manera incondicional y de alguna u otra forma
han contribuido en este proceso de formación
a lo largo de todos estos años de crecimiento
personal y académico.

I
Agradecimientos

En el marco del desarrollo de este trabajo de grado quiero agradecer de


manera especial al profesor Sergio Raúl Rivera Rodrı́guez de la Universidad
Nacional de Colombia, quien siempre tuvo una gran disposición a lo largo de
todo el proceso de formulación y desarrollo del mismo, acompañó en cada paso
dado y sirvió no solo como guı́a, sino también como compañero y quien a través
de su experiencia y conocimientos ayudó mucho en el proceso de formación
académico y profesional.
Agradezco a mi padre Darı́o Arango Alzate que me apoyó y me inspiró para
formarme como ingeniero y siempre ha sido mi primer apoyo y a mi madre
Patricia Angarita Rodrı́guez por su leal compañı́a e incondicional amor, a
ambos infinitas gracias por hacer de este largo camino algo llevadero, los llevo
siempre en mi corazón.

II
Resumen

El presente trabajo desarrolla dos enfoques de control de frecuencia en sis-


temas de potencia, por un lado el objetivo es el mismo que se ha trabajado en
la literatura de estabilidad para sistemas en los cuales únicamente intervienen
máquinas sı́ncronas en la generación del sistema, cuyo principal objetivo es sa-
tisfacer la demanda y posteriormente realizar seguimiento de la frecuencia, esto
ante la presencia de perturbaciones de potencia en la demanda del sistema. Por
otro lado el enfoque se realiza para parques de generación que inyectan energı́a
al sistema por medio de turbinas de viento (WT), los cuales son sistemas más
susceptibles respecto a los generadores sı́ncronos en cuanto a la respuesta tran-
sitoria de la frecuencia de la onda de tensión cuando hay perturbaciones en la
demanda. Para solucionar este problema se usa un enfoque que se denomina
imitación de la inercia, cuyo objetivo es utilizar energı́a finita proveniente
de una fuente de almacenamiento energético para que la frecuencia no varı́e
súbitamente sino que se prolongue el tiempo de asentamiento de las respuestas
ante perturbaciones.
El propósito del presente trabajo es mostrar como responde el modelo de
control predictivo (MPC) ante los requerimientos de control mencionados en
el párrafo anterior, para ello se realizaron modelos para sistemas de un solo
nodo eólico, de un sistema de 14 nodos con generación mixta representados
como sólo uno (ecuación aumentada de oscilación) y del mismo sistema mode-
lando los nodos de manera independiente (sistema de ecuaciones diferenciales
y ecuaciones de potencia nodal). De acuerdo a los modelos y sus respuestas al
paso se sintonizaron los controladores que finalmente probaron su desempeño
en simulink.
Para el diseño de los controladores se utilizaron dos herramientas, la pri-
mera se implementó de acuerdo a la teorı́a citada en el capitulo 3, la segunda
fue la herramienta de MatLab mpcDesigner dónde se ilustra su manejo en el
apéndice A. La mayorı́a de controladores se diseñaron con la ayuda de la se-
gunda herramienta debido a que internamente tiene algoritmos que permiten
satisfacer las restricciones de las señales de control y las salidas más rápido
respecto a la herramienta implementada que usa la función quadProg de ma-
nera forzada en una función en simulink y no siempre converge.

III
IV

Palabras clave
Regulación de frecuencia, imitación de la inercia, seguimiento asintótico, Con-
trol predictivo.

Abstract
The present work develops two approaches of frequency control in power sys-
tems, on the one hand the objective is the same one that has been worked
on in the stability literature for systems in which only synchronous machines
intervene in the generation of the system, whose main objective is to satisfy
the demand and then track the frequency, this in the presence of power dis-
turbances in the demand of the system. On the other hand, the approach is
carried out for generation parks that inject energy into the system by means
of wind turbines (WT), which are more susceptible systems with respect to
the synchronous generators in terms of the transient response of the wave fre-
quency. tension when there are disturbances in demand. To solve this problem
we use an approach called textbf imitation of inertia, whose objective is to
use finite energy from an energy storage source so that the frequency does not
change suddenly but it prolongs the time of settlement of the energy. responses
to disturbances.
The purpose of this paper is to show how the predictive control model
(MPC) responds to the control requirements mentioned in the previous para-
graph, for which models were made for systems of a single wind node, of a
system of 14 nodes with mixed generation represented as only one (increased
oscillation equation) and the same system modeling the nodes independently
(system of differential equations and nodal power equations). According to the
models and their responses to the step, the controllers tuned in and finally
proved their performance in textbf simulink.
For the design of the controllers, two tools were used, the first one was
implemented according to the theory mentioned in chapter 3, the second was
the tool from MatLab textbf mpcDesigner where its management is shown
in appendix A. The majority of controllers were designed with the help of the
second tool because internally it has algorithms that allow to satisfy the res-
trictions of control signals and outputs faster than the implemented tool that
uses the function textbf quadProg forcedly in a function in textbf simulink
and it does not always converge.
V

Key words
Frequency regulation, mimicking inertia, tracking, predictive control.
Índice general

Agradecimientos II

Resumen III

Índice general VI

Índice de figuras IX

Índice de cuadros XII

1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Resumen de los capı́tulos . . . . . . . . . . . . . . . . . . . . . . 3

2. Conceptos y fundamentos regulación de frecuencia 5


2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Ecuación de oscilación: Generadores sı́ncronos . . . . . . . . . . 5
2.3. Generadores eólicos. . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1. Funcionamiento de aerogeneradores . . . . . . . . . . . . 7
2.3.2. Modelo aerodinámico . . . . . . . . . . . . . . . . . . . . 9
2.3.3. Modelo mecánico . . . . . . . . . . . . . . . . . . . . . . 10
2.3.4. Modelo del generador . . . . . . . . . . . . . . . . . . . . 11
2.3.5. Modelo de controladores y de convertidores . . . . . . . . 13
2.4. Imitación de la inercia . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1. Ecuación de oscilación para generadores eólicos . . . . . 15
2.4.2. Imitación de la inercia- Método algebraico . . . . . . . . 16
2.4.3. Estimación de potencia máxima para la imitación de la
inercia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5. Estado de carga para sistemas de almacenamiento. . . . . . . . 19
2.6. Ecuación agregada de oscilación . . . . . . . . . . . . . . . . . . 20

3. Solución de ecuación de oscilación para grandes sistemas 22


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Ecuaciones de potencia nodal y de oscilación . . . . . . . . . . . 23

VI
ÍNDICE GENERAL VII

3.2.1. Ecuaciones de oscilación . . . . . . . . . . . . . . . . . . 24


3.3. Regla del trapecio para la ecuación de oscilación . . . . . . . . . 26
3.4. Método de Newton Rhapson para solución de sistemas de ecua-
ciones no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5. Algoritmo para la solución de ecuaciones de potencia nodal y
de oscilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4. Fundamentos de control predictivo 36


4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2. Modelo de predicción . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1. Predicción en variables de estado . . . . . . . . . . . . . 38
4.2.2. Predicciones imparciales y relativas al estado estacionario 40
4.3. Definición del ı́ndice de desempeño o función objetivo . . . . . . 42
4.3.1. Solución del problema de modo dual . . . . . . . . . . . 46
4.4. Seguimiento asintótico y rechazo a perturbaciones . . . . . . . . 48
4.5. Control predictivo con restricciones . . . . . . . . . . . . . . . . 49
4.5.1. Restricciones finitas para horizontes infinitos . . . . . . . 49
4.5.2. Ajuste de restricciones . . . . . . . . . . . . . . . . . . . 50
4.5.3. Forma alterna para seguimiento . . . . . . . . . . . . . . 51
4.6. Implementación en simulink . . . . . . . . . . . . . . . . . . . . 52

5. Planteamiento y resultados de las simulaciones de diferentes


escenarios 54
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2. Caso 0: Seguimiento de frecuencia para un sistema de un solo
nodo eólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.1. Control de frecuencia sin actuador . . . . . . . . . . . . . 55
5.2.2. Control de frecuencia considerando el actuador . . . . . . 59
5.3. Caso 1:Imitación de la inercia para sistema de un solo nodo eólico 62
5.4. Caso 2: Ecuación agregada de oscilación. . . . . . . . . . . . . . 67
5.4.1. Rechazo a perturbaciones . . . . . . . . . . . . . . . . . 68
5.4.2. Imitación de la inercia-Ecuación agregada . . . . . . . . 70
5.5. Caso 3: Restricción de estado de carga EC . . . . . . . . . . . . 73
5.6. Caso 4: Regulación e imitación de la inercia para sistema de 14
nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.1. Imitación de la inercia en sistema de 14 nodos . . . . . . 80
5.6.2. Seguimiento de frecuencia . . . . . . . . . . . . . . . . . 89

6. Conclusiones y recomendaciones 94

A. Diseño de controlador para imitación de la inercia con mpc-


Designer 96
ÍNDICE GENERAL VIII

B. Listado de códigos 103


B.1. InicioSinRestricciones.m . . . . . . . . . . . . . . . . . . . . . . 103
B.2. InicioConRestricciones.m . . . . . . . . . . . . . . . . . . . . . . 104
B.3. UnNodoinit.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
B.4. UnNodoActu.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.5. Imitacioncaso1.m . . . . . . . . . . . . . . . . . . . . . . . . . . 111
B.6. ASEcaso.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
B.7. ASEmimmick.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
B.8. init.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
B.9. Embebido.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
B.10.imitacion14,m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
B.11.Seguimiento14,m . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Bibliografı́a 129
Índice de figuras

2.1. Esquema de las partes de un generador eólico. . . . . . . . . . . 8


2.2. Etapas de control para un aerogenerador. . . . . . . . . . . . . . 8
2.3. Modelo mecánico del aerogenerador . . . . . . . . . . . . . . . . 10
2.4. Modelo monofásico para un DFIG . . . . . . . . . . . . . . . . . 12
2.5. Arquitectura del convertidor . . . . . . . . . . . . . . . . . . . . 14
2.6. Arquitectura para controlar potencia en aerogeneradores. . . . . 15
2.7. Esquema de prueba para imitación de la inercia con control
convencional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8. Comparación de respuestas al paso, con imitación de la inercia
control convencional . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1. Diagrama de entradas y salidas del sistema embebido . . . . . . 30

4.1. Estructura general para el modelo de control predictivo [1]. . . . 37


4.2. Diagrama de bloques para LQR sin restricciones. . . . . . . . . 52
4.3. MPC con restricciones:Modo dual. . . . . . . . . . . . . . . . . . 53

5.1. Respuesta al paso generador eólico . . . . . . . . . . . . . . . . 56


5.2. Respuesta al paso generador sı́ncrono . . . . . . . . . . . . . . . 56
5.3. Arquitectura de simulación para control de frecuencia . . . . . . 57
5.4. Frecuencia en función del tiempo, seguimiento en un nodo . . . 58
5.5. Derivada de la frecuencia en función del tiempo, seguimiento en
un nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.6. Perturbación y potencia agregada, seguimiento en un nodo . . . 59
5.7. Arquitectura de simulación para imitación de la inercia con ac-
tuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.8. Desviaciones de frecuencia en función del tiempo ante pertur-
baciones tipo paso, considerando actuador . . . . . . . . . . . . 60
5.9. Derivada de la frecuencia en función del tiempo, considerando
actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.10. Perturbación, señal de control y salida del actuador en función
del tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.11. Arquitectura de simulación para imitación de la inercia . . . . . 62
5.12. Respuestas esperadas de imitación de la inercia para diferentes
potencias máximas disponibles . . . . . . . . . . . . . . . . . . . 63

IX
ÍNDICE DE FIGURAS X

5.13. Modelo de la planta para imitación de la inercia. . . . . . . . . . 64


5.14. Respuesta del generador eólico ante perturbación tipo paso:Padd
máxima de 0.03pu . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.15. Respuesta del generador eólico ante perturbación tipo paso:Padd
máxima de 0.1pu . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.16. Respuestas al paso sin control: Ecuación agregada oscilación
(EAO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.17. Respuestas ante perturbación tipo paso con control EAO.) . . . 69
5.18. Arquitectura para imitación de la inercia EAO. . . . . . . . . . 70
5.19. Imitación de la inercia ante perturbación tipo paso con control
EAO.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.20. Imitación de la inercia ante perturbación tipo rampa con control
EAO.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.21. Imitación de la inercia ante perturbación tipo rampa con control
EAO y estado de carga) . . . . . . . . . . . . . . . . . . . . . . 75
5.22. Esquemático del sistema de 14 nodos . . . . . . . . . . . . . . . 76
5.23. Esquemático del sistema de 14 nodos. . . . . . . . . . . . . . . . 78
5.24. Desviación de frecuencia en lazo abierto. . . . . . . . . . . . . . 79
5.25. Arquitectura para imitación de la inercia. . . . . . . . . . . . . . 81
5.26. Frecuencia y derivada entrada tipo paso nodo slack, sin actuador. 81
5.27. Frecuencia y derivada entrada tipo paso nodo 2, sin actuador. . 82
5.28. Potencias para entrada tipo paso sin actuador . . . . . . . . . . 82
5.29. Frecuencia y derivada entrada tipo rampa nodo slack, sin ac-
tuador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.30. Frecuencia y derivada entrada tipo rampa nodo 2, sin actuador. 84
5.31. Potencias para entrada tipo rampa sin actuador . . . . . . . . . 84
5.32. Frecuencia y derivada entrada tipo paso nodo slack, con actuador. 85
5.33. Frecuencia y derivada entrada tipo paso nodo 2, con actuador. . 86
5.34. Potencias para entrada tipo paso con actuador . . . . . . . . . . 87
5.35. Frecuencia y derivada entrada tipo rampa nodo slack, con ac-
tuador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.36. Frecuencia y derivada entrada tipo rampa nodo 2, con actuador. 88
5.37. Potencias para entrada tipo rampa con actuador . . . . . . . . . 89
5.38. Frecuencias y sus derivadas para entrada tipo paso: Seguimiento 90
5.39. Potencias y sus derivadas para entrada tipo paso: Seguimiento . 91
5.40. Potencias y sus derivadas para entrada tipo rampa: Seguimiento 92
5.41. Frecuencias y sus derivadas para entrada tipo rampa: Seguimiento 92

6.1. Sintonización de los pesos para los diferentes casos . . . . . . . . 94

A.1. Elección de la planta . . . . . . . . . . . . . . . . . . . . . . . . 97


A.2. Configuración de la vista. . . . . . . . . . . . . . . . . . . . . . 98
A.3. Nombramiento de las variables de estado y las entradas . . . . . 98
A.4. Pestañas para la configuración del caso . . . . . . . . . . . . . . 99
ÍNDICE DE FIGURAS XI

A.5. Pestañas para sintonizar el controlador . . . . . . . . . . . . . . 99


A.6. Configuración de las restricciones. . . . . . . . . . . . . . . . . . 100
A.7. Sintonización de los pesos del controlador . . . . . . . . . . . . . 101
A.8. Imitación de la inercia aceptable . . . . . . . . . . . . . . . . . . 102
A.9. Icono para exportar controlador a simulink . . . . . . . . . . . . 102
Índice de cuadros

2.1. Datos para simulación en ecuación agregada . . . . . . . . . . . 21

5.1. Resultado flujo de potencia inicial . . . . . . . . . . . . . . . . . 77

XII
Capı́tulo 1

Introducción

El uso de energı́as renovables como medio para producir electricidad y


reemplazar los combustibles fósiles ha experimentado un crecimiento muy im-
portante en la última década y el creciente auge en la implementación de
microredes es una gran prueba de ello. Diferentes tipos de recursos y tec-
nologı́as de generación distribuida como: paneles solares, turbinas de viento,
celdas de combustible, entre otros en el diseño de estas instalaciones al rededor
del mundo.
Con la instalación de este tipo de sistemas se logran diferentes beneficios
tanto para la red, como para los usuarios, entre los cuales se encuentran: Reduc-
ción de pérdidas económicas por apagones, mayor control de las instalaciones,
mejores regulaciones de tensión y mejor calidad de la potencia entregada entre
otras. [15–17].
El problema en este tipo de sistemas ocurre cuando hay perturbaciones
en las condiciones de demanda de la red, si bien en los generadores sı́ncronos
las variaciones de demanda desvı́an la frecuencia, estos tienen una energı́a
rotacional almacenada en el eje del rotor debido al momento de inercia de
la masa rotatoria y la velocidad mecánica de la máquina y esto hace que los
transitorios de esta variación no sean tan cortos si se compara con sistemas que
inyectan potencia a la red mediante convertidores de potencia, los cuales no
tienen una inercia fı́sica, aunque en el caso de los generadores de inducción de
doble alimentación (DFIGS), individualmente tienen un rotor, no se mueven a
una velocidad angular comparable con los sı́ncronos y además los momentos de
inercia son pequeños comparando con los de los grandes generadores [10],por
otro lado la fuerza primaria es el viento que es una variable aleatoria y por lo
tanto no es posible saber si el par disponible en las aspas es lo suficientemente
alto como para dar una inercia que haga menos susceptibles a estos sistemas
respecto a la perturbación de demanda.

1
1.Introducción

1.1. Antecedentes
Hay una gran cantidad de literatura que abarca el control de frecuencia en
sistemas de potencia con penetración de energı́as renovables, para el presente
trabajo conviene mencionar los siguientes enfoques de control que se le ha dado
a este tipo de sistemas.
En [3] desarrolló un control de campo orientado, considerando un modelo
completo de los DFIGS, se encontró que estos no poseen una inercia inherente
debido a que el par electromecánico esta desacoplado de la red. El resultado
motivó a concluir que para mejorar la respuesta inercial es necesario inyectar
energı́a adicional, y por lo tanto son necesarias reservas.
En [4], Rinke muestra resultados para un sistema de 14 nodos, se trabajó el
concepto de imitación de la inercia y seguimiento asintótico de frecuencia, en
el presente trabajo se usan otras herramientas para trabajar MPC con el fin de
verificar si con los pesos asignados a los controladores se obtienen los mismos
resultados.
En [8] y [9] Rivera y Gomez muestran el desempeño de un controlador
PI para la imitación de la inercia, las constantes integral y proporcional del
controlador se eligen a partir de la sintonización con algoritmos de optimización
heurı́stica y logran un bajo error de estado estacionario en la frecuencia ante
perturbaciones tipo paso y rampa de potencia, sin embargo este valor se aleja
del valor de referencia de frecuencia cuando la potencia adicional de saturación
disminuye.
En [12] Salinas diseña un controlador con respuesta inercial y seguimiento
de frecuencia, para este trabajo se usaron controladores PD y PI para imitación
inercial y seguimientos respectivamente, sin embargo no se consideró el caso
en el que la energı́a disponible tiene lı́mites de saturación.

1.2. Motivación
La motivación desde un punto de vista global es sólo uno, las regulaciones de
energı́a en cada paı́s establecen lı́mites en las variaciones máximas de frecuencia
de la onda de tensión. Por ejemplo en Colombia la Comisión de Regulación
de Energı́a y Gas, define en la resolución 025 de 1995 que el valor nominal de
la frecuencia es de 60Hz, las desviaciones máximas permitidas van a depender
del tiempo en que duren, de lo contrario se ordena disparo, estas condiciones
se resumen a continuación [9].

Entre 59.4 y 60.2 Hz, el generador eólico debe permanecer conectado y


funcionar continuamente.

Entre 58.5 a 61.5 Hz, debe permanecer conectado por lo menos 15 mi-
nutos con una generación entre 60 y 100 % de la nominal.

2
1.Introducción

Entre 57.5 y 58.5 Hz y entre 61.5 y 62 Hz, debe permanecer conectado


por lo menos 20 segundos, con una generación entre 60 y 100 % de la
nominal.

Para los valores superiores a 62 Hz e inferiores a 57.5 Hz, se debe permitir


la desconexión automática.

De lo anterior se puede ver que es obligación permanecer dentro de los


lı́mites exigidos para que exista calidad de energı́a en la red. La regulación
permite que existan tiempos de asentamiento de hasta 20 segundos en los
controladores, lo que justifica la imitación de la inercia, que aunque no se enfoca
en el rechazo de perturbaciones, si permite retardar el tiempo de decaimiento de
la frecuencia con el fin de que otros generadores con mayor energı́a disponible
mediante control secundario permitan retornar a los 60Hz a los nodos del
sistema.
La motivación para usar el MPC respecto a controladores convencionales
como PID o redes de adelanto y atraso, se debe a que éste permite el manejo
de restricciones tanto en las salidas como en las señales de control. Aunque
la matemática para describir los controladores es más compleja respecto a los
mencionados, las ventajas se justifican debido a que tanto los lı́mites de las
restricciones como los pesos asignados las señales de control y salidas en el
problema de optimización del ı́ndice de desempeño (que se ve en el capı́tulo
4), se pueden actualizar en tiempo real y por lo tanto de acuerdo a las con-
diciones instantáneas de la red se puede manejar rechazo de perturbaciones o
imitación de la inercia dependiendo de la potencia disponible en los elementos
de almacenamiento.
La restricciones para el control de frecuencia en turbinas eólicas serán pri-
mordialmente valores de los lı́mites de la potencia adicional o energı́a adicional
máxima que dispongan los elementos de almacenamiento para el aporte en la
regulación de frecuencia de la red. Esto facilita la integración de las energı́a
renovables y ayuda a que se garantice la estabilidad del sistema.

1.3. Resumen de los capı́tulos


Para que el lector entienda el trabajo realizado, las suposiciones realizadas y
los fundamentos matemáticos y fı́sicos utilizados se han desarrollado 4 capı́tulos
dónde se desarrolla la formulación y la comprobación y el último en dónde se
realizan una serie de conclusiones y recomendaciones. A continuación se resume
cada capı́tulo.

En el capitulo 2 se realiza una explicación de los fundamentos y concep-


tos necesarios para entender la regulación de frecuencia. Se desarrollan
las ecuaciones que relacionan las perturbaciones de potencia activa con la
desviación de frecuencia tanto en sistemas de un solo nodo como de varios

3
1.Introducción

nodos representados como solo uno, denominadas ecuación de oscilación,


estos son los modelos que se usarán a lo largo del trabajo. Por otro lado
se realiza una explicación del control convencional que se realiza a los
DFIGS, esto con el fin de que se tenga la idea de como se debe imple-
mentar la potencia adicional mediante dispositivos de almacenamiento.
El capı́tulo explica el concepto de imitación de la inercia, y para ello se
adapta la ecuación de generadores convencionales a sistemas con gene-
radores eólicos para posteriormente diseñar un controlador convencional
para imitar la inercia con valores del modelo previamente definidos. El
capitulo también da la explicación del estado de carga de los sistemas de
almacenamiento.

En el capı́tulo 3 se trabaja ecuación de oscilación para sistemas de varios


nodos, para ello se hace un repaso primero las ecuaciones de potencia
nodal y se escriben sistemas de ecuaciones para describir las ecuacio-
nes de oscilación de cada nodo del sistema, refiriendo las desviaciones
a la frecuencia del slack. Posteriormente se explica como la regla del
trapecio se puede extender a sistemas de ecuaciones diferenciales y vol-
ver eliminar la derivada volviendo al problema recursivo. El método de
Newton-Rhapson permite desarrollar simultáneamente las ecuaciones de
potencia nodal con las de oscilación, logrando una simulación más real
del sistema respecto a las del método de ecuación agregada de oscilación.
El capitulo muestra el algoritmo que se implementa en los códigos para
la simulación del mismo.

El capı́tulo 4 muestra los fundamentos necesarios para entender el para-


digma del control predictivo, se ilustra desde la formulación del modelo
de predicción hasta la solución del problema de minimización del ı́ndice
de desempeño. Se muestra también la forma en como se implementó la
función en simulink para el caso con y sin restricciones.

El capı́tulo 5 recopila todos los capı́tulos anteriores y plantea los casos


de análisis a la par que sus resultados y análisis.

En el capı́tulo 6 se muestran las conclusiones y las recomendaciones a


seguir, al igual que plantea alternativas para trabajos futuros.

El apéndice A muestra como utilizar la herramienta de MatLab mpc-


Designer para el diseño de un controlador para imitar la inercia en el
modelo de ecuación aumentada de oscilación.

En apéndice B muestra el listado de scripts que cargan los modelos y la


sintonización de los controladores que se deben cargar para que funcionen
los archivos de simulink adjuntos en el DVD dónde se entrega el presente
trabajo.

4
Capı́tulo 2

Conceptos y fundamentos
regulación de frecuencia

2.1. Introducción
En este capı́tulo se hace una recopilación de los conceptos clave que serán
usados a lo largo del presente trabajo. En la primera sección se empieza con
la explicación del problema de regulación de frecuencia y el porqué de su
necesidad.
En la segunda sección se desarrolla la ecuación de oscilación para una sola
máquina sı́ncrona.
En la tercera sección se desarrolla una explicación superficial del funciona-
miento de las turbinas de viento, su modelo y su respectivo control.
En la cuarta sección se ilustra el concepto de imitación de la inercia tras
la explicación de la ecuación de oscilación adaptada a un sistema con turbinas
de viento.
En la quinta sección se explica el concepto de estado de carga y su trata-
miento matemático.
En la ultima sección se muestra la ecuación oscilación que permite modelar
un sistema de varios nodos como un sistema de un solo nodo, denominada
ecuación aumentada de oscilación.

2.2. Ecuación de oscilación: Generadores sı́ncro-


nos
En mucha bibliografı́a como [6], se ha analizado que el efecto de una per-
turbación de potencia eléctrica activa es cambiar el valor de la frecuencia de
la onda de tensión generada en bornes de la máquina.
Para un generador sı́ncrono se puede desarrollar la ecuación de movimien-
to rotacional, teniendo en cuenta que dependiendo el tipo de turbina exis-
tirá un sistema de control que le permite agregar de manera controlada poten-

5
2.Conceptos y fundamentos

cia mecánica. Recordando que entre el estator y el rotor del generador hay una
interacción entre los campos magnéticos, el efecto de aumentar o disminuir la
corriente eléctrica en los devanados del estator se puede modelar como un par
mecánico de origen eléctrico que tenderá a desacelerar o acelerar la máquina
respectivamente. En un sistema rotacional, la ecuación de newton establece
que:
X dω
Ti = J (2.1)
dt
Dónde J es el momento de inercia del rotor, ω es la velocidad angular
del rotor y los Ti , son torques que inciden en el rotor, pueden ser de origen
mecánico o eléctrico quedando:

J = Tmec − Telec (2.2)
dt
En la ecuación anterior se ha despreciado el efecto de los devanados de amorti-
guamiento que introducirı́an un par opuesto al movimiento dependiente de la
velocidad, si se multiplica toda la ecuación por la velocidad angular mecánica,
queda:

Jω = ωTmec − ωTelec = Pmec − Pelec (2.3)
dt
Para un generador sı́ncrono se define la constante de inercia H como la rela-
ción entre la energı́a almacenada en el rotor en condiciones nominales respecto
a la potencia aparente de mismo, es decir:

ωo2
H=J (2.4)
2SB
Despejando J y reemplazando en la ecuación 2.3:
2SB H dω
= Pmec − Pelec (2.5)
ω dt
Es conveniente analizar la ecuación alrededor de un punto de operación,
que corresponde a perturbaciones pequeñas, de esa manera la ecuación resulta
respecto a incrementos de la frecuencia angular, que serı́a:
2SB H d∆ω
= ∆Pmec − ∆Pelec (2.6)
ω dt
Para este trabajo se supondrá que la máquina posee 2 polos únicamente y
por lo tanto la frecuencia mecánica concuerda con la frecuencia eléctrica.
Una perturbación de potencia eléctrica también afecta a las cargas que
depende de la frecuencia, esto de suele modelar como [6]:

∆Pelec = ∆Pe + D∆ω (2.7)

6
2.Conceptos y fundamentos

Dónde D es una constante de amortiguamiento normalmente en M W/Hz


o pu/Hz que representa como varı́a la potencia activa con la fecuencia, esta
se modela a nivel global en el sistema de potencia, ya que en un sistema
interconectado la perturbación puede provenir e cualquier nodo. De esa manera
la ecuación 2.7 queda de la forma:
2SB H d∆ω
= ∆Pmec − ∆Pe − D∆ω (2.8)
ω dt
Si se deja la expresión en términos de frecuencia, se expresa:
2SB H 2πd∆f
= ∆Pmec − ∆Pe − 2πD∆f (2.9)
2πfo dt
Y reorganizando:
d∆f fo πDfo
= (∆Pmec − ∆Pe ) − ∆f (2.10)
dt 2SB H SB H
Con esta última ecuación se modelará el comportamiento dinámico de los
generadores convencionales, dónde para máquinas de 20MVA el valor tı́pico
de H es de 8 segundos, por lo tanto Sb serı́a de 0.2pu respecto a una base de
100MVA y f o=60 Hz y D=0.02 Pu/Hz.

2.3. Generadores eólicos.


Este sección sirve para mencionar los controles que se realizan normalmente
en este tipo de generadores, el propósito es realizar una revisión de las etapas
de control y ver como se deberı́a introducir fı́sicamente el control que se desa-
rrolla en el presente trabajo en cada generador individual. Primero se realiza
una explicación de las partes que simulan su comportamiento, como lo son el
modelo de la parte eléctrica, mecánica, y del control tanto de las aspas como de
los inversores que permiten controlar las caracterı́sticas de las ondas de tensión
en bornes y realimentadas.

2.3.1. Funcionamiento de aerogeneradores


El siguiente conjunto de figuras permite ver a grandes rasgos las etapas que
intervienen en el funcionamiento de aerogenerador [12].

7
2.Conceptos y fundamentos

Figura 2.1: Esquema de las partes de un generador eólico.

Figura 2.2: Etapas de control para un aerogenerador.

Se puede ver que el modelo del sistema requiere al menos la caracterización


de 5 bloques que se deben modelar, estos se listan a continuación:

Modelo aerodinámico: Este involucra como entrada la velocidad del vien-


to y la velocidad actual del rotor con el fin de dar una posición de las
aspas con la lógica de su respectivo control, y de acuerdo a estas variables
el modelo debe ser capaz de dar la estimación del par transmitido al eje
del rotor en el lado de baja velocidad.

8
2.Conceptos y fundamentos

Modelo mecánico: Este involucra como entrada el par transmitido desde


las aspas, la salida es un par mecánico que está presente en el generador
de inducción doblemente alimentado DFIG.

Modelo del generador DFIG: El modelo del generador es el que abarca la


potencia transmitida a la red. Este recibe como entrada un par mecáni-
co que actúa sobre el rotor. Por otra parte le entra una señal eléctrica
en los devanados del rotor que tiene la función de darle control a las
caracterı́sticas que se evidencian en el estator de la máquina.

Modelo de los convertidores: Desde la red externa se toma la señal de


tensión y se le hace un proceso de conversión de AC-DC-AC con el fin
de brindar las caracterı́sticas eléctricas deseadas en los bornes del ro-
tor. Estos módulos de convertidores se controlan mediante electrónica
de potencia con IGBT (transistores bipolares aislados en la compuerta)
controlando básicamente sus disparos para hacer el control deseado de
la conversión e influir en las caracterı́sticas de la tensión y frecuencia en
bornes del estator.

Controlador velocidad del rotor: Este módulo recibe como entradas la


velocidad actual del rotor y de acuerdo a esto brinda una potencia activa
de referencia que ejerce una referencia de control a los convertidores.

A continuación se hace una breve descripción matemática y fı́sica de cada


módulo.

2.3.2. Modelo aerodinámico


Este modelo establece la relación que permite calcular la potencia dispo-
nible en la turbina en función de la velocidad del viento, la geometrı́a de las
aspas y las condiciones del medio:
1
Pviento = ρaire πR2 Vviento (2.11)
2

Pturbina = Pviento Cp (λ, β) (2.12)

ωturb R
λ= (2.13)
Vviento
A continuación se hace un detalle de cada variable:

Pviento =potencia total del viento [W]

Pturb =potencia mecánica de la turbina. [W]

ρ = Densidad del aire [Kg/m3 ].

9
2.Conceptos y fundamentos

R= Radio del aire barrido por las aspas. [m]

Vviento = Velocidad del viento [m/s]

Cp =Constante de potencia que depende de la relación de punta y el


ángulo del aspa.

λ Es la relación de la velocidad de punta.

ωturb Es la velocidad de la turbina.

La salida de este modelo es una potencia de entrada que se va a transmitir


a través del eje de baja velocidad.

2.3.3. Modelo mecánico


El modelo mecánico establece una relación entre el par de entrada y el par
que se transmite al rotor del generador. Se usa la teorı́a de sistemas dinámi-
cos para modelar sistemas mecánicos rotacionales que relacionan la velocidad
angula, el momento de inercia y una constante de amortiguamiento. La repre-
sentación del modelo se muestra en la figura siguiente [12].

Figura 2.3: Modelo mecánico del aerogenerador

La ecuaciones de movimiento se hallan como:


dθrot
= ωrot (2.14)
dt
dθk ωgen
= ωrot − (2.15)
dt ngear
Trot − Tshaf t
ω̇ = (2.16)
Jrot

10
2.Conceptos y fundamentos

ωgen
Tshaf t = c(ωrot − ) + kθk (2.17)
ngear
Tshaf t
Pt = ωgen (2.18)
ngear
Las variables se resumen a continuación:

θrot =Ángulo de la turbina en radianes.

θK =Ángulo en el eje de baja velocidad en radianes.

ωrot =Velocidad angular en el rotor de la turbina [rad/s].

ωgen =Velocidad angular en el rotor del generador [rad/s].

Trot = Torque aerodinámico en el rotor [N m].

Tshaf t = Torque en el eje de baja velocidad [N m].

Jrot Es el momento de inercia de la turbina [kg m2 ]

ωturb Es la velocidad de la turbina.

C = Coeficiente de amortiguamiento viscoso. N/(m/s)

K = Constante de rigidez [N/m].

ngear =Relación de caja de cambio.

Pt =Potencia del generador [W].

2.3.4. Modelo del generador


El generador de inducción con doble alimentación se diferencia de los jaula
de ardilla porque tiene un devanado en el rotor que es espejo del devanado
del estator. El objetivo del devanado en el rotor es que según la frecuencia de
la corriente que entra a los devanados del mismo va a cambiar la velocidad
con que gira el campo magnético originado por la misma. Por otro lado en
los devanados del estator hay una corriente que también genera un campo
magnético, por lo tanto la velocidad mecánica del motor se va a ver alterada
por la interacción de las velocidades de dichos campos.
La velocidad del campo rotatorio generado por las corrientes del rotor viene
dado por:
2πfr
ωr = (2.19)
p
Dónde fr es la frecuencia de la corriente que alimenta al rotor y p el número
de polos de la máquina rotatoria.

11
2.Conceptos y fundamentos

Por otra parte se tiene que la velocidad con que gira el campo magnético
generado por los devanados del estator viene dada por:
2πfred
ωs = (2.20)
p
Dónde la frecuencia en este caso es la de la red.
Estás velocidades interactúan para relacionarse con la velocidad mecánica
del rotor ωmec como:

ωs = ωmec + ωr (2.21)
De esa manera se puede ver que se puede alterar la frecuencia saliente del
estator controlando la frecuencia de la señal de corriente entrante al rotor.
En condiciones de balance, se puede hacer un modelo equivalente del DFIG
como el que se muestra en la figura 2.4.

Figura 2.4: Modelo monofásico para un DFIG

Se puede ver que en la parte derecha del circuito está la señal de tensión
proveniente del estator, mientras que en la parte derecha está la tensión pro-
veniente de los devanador del rotor. Para modelar las reactancias inductivas se
hacer artificios matemáticos para relacionar dichas impedancias con los valores
de fr y fred .
Las ecuaciones con que se suele realizar el modelo de los generadores se
resumen a continuación:
Para la ecuación del devanado del estator:
ωref 1 dϕs
Vs = Rs is + j ϕs + (2.22)
wn ωn dt
Para el devanado del rotor se tiene:
ωref − ωr 1 dϕr
Vr = Rr ir + j ϕs + (2.23)
wn ωn dt
La ecuación de transmisión de potencia viene dada por:
dωr
2H = Te − Tm (2.24)
dt

12
2.Conceptos y fundamentos

El par eléctrico viene dado por:

Te = Im(ϕs i∗s ) (2.25)


Las ecuaciones anteriores tienen todas las variables en por unidad excepto
la constante de inercia. A continuación se resume el significado de las variables.

Vs =Tensión en el estator.

Vr = Tensión entrante del rotor.

ϕs =Flujo magnético en el estator.

ϕr =Flujo magnético en el rotor.

ωref = Velocidad de referencia.

ωr = Velocidad del rotor del generador.

omegan = Velocidad nominal del sistema.

is = Corriente en el estator.

ir =Corriente en el rotor.

Rr = Resistencia del rotor.

Xs = Resistencia del estator.

Te = Torque eléctrico.

Tm = Torque mecánico.

H= Constante de inercia del generador.

2.3.5. Modelo de controladores y de convertidores


El módulo de los convertidores recibe la tensión de la red alterna, la rectifica
y lleva a un valor DC deseado mediante un rectificador controlado con IGBT,
posteriormente se le hace un proceso de conversión a alterna con el fin de
poder controlar la frecuencia de la señal de corriente entrante al rotor. La
arquitectura se muestra en la figura 2.5.

13
2.Conceptos y fundamentos

Figura 2.5: Arquitectura del convertidor

Se puede ver que tanto la rectificación como la conversión AC involucran


elementos de electrónica de potencia, normalmente se usan IGBT que combi-
nan las propiedades de los transistores de efecto de campo en la compuerta y
de los de unión bipolar entre las terminales de potencia. Los circuitos de con-
trol deben estar sincronizados con la red y efectuar los disparos en los tiempo
oportunos de acuerdo a lo requerido por las referencias deseadas de frecuencia,
potencia activa y reactiva requeridas.

3
Vac = √ P W M Vdc (2.26)
2 2
El valor de PWM esta entre cero y uno, normalmente la modulación para
el control de los disparos se hace con un comparador de una señal triangular
con una sinusoidal. La potencia AC saliente del inversor, suponiendo que las
pérdidas por conmutación son bajas se puede escribir como:


Pac = Real(Vac Iac ) = Udc Idc = Pdc (2.27)
La arquitectura del control de los disparos se hace de acuerdo al esquema
que se muestra en la figura 2.6. En el lado del estator se hace control de las
tensiones de la barra y la inyección de potencia reactiva inyectada, mientras
que del lado del rotor el control se controla la potencia de salida tanto reactiva
como activa. La arquitectura del controlador se encuentra explicada en [14],
dónde parten se un controlador que tiene como referencia un potencia activa
y reactiva. El articulo deduce una serie de ecuaciones que permiten relacionar
las referencias de potencia, como la tensión en bornes es conocida, solo basta
establecer las corrientes de referencia en el eje directo, de cuadratura y en se-
cuencia cero, y se descompone a su vez en secuencia positiva y negativa, ya que
se abarcan casos desbalanceados. Posterior a ese cálculo se realiza un control

14
2.Conceptos y fundamentos

PI que permite controlar los voltajes de cuadratura en secuencia positiva y


negativa con el fin de dar la entrada correcta al PWM después de haber hecho
la corrección del factor de 2/3 que sale de la transformación de park. Nótese
que el controlador posee realimentación tanto de las corrientes entrantes al
rotor como de las tensiones y corrientes salientes en el estator.

Figura 2.6: Arquitectura para controlar potencia en aerogeneradores.

En el momento se sale del objetivo del presente trabajo seguir haciendo


profundización en la arquitectura, solo basta mencionar que para adicionar la
potencia disponible para imitación de la inercia, se puede conectar en paralelo
la fuente de potencia adicional a la fuente DC de la cuál se pone el inversor
para dar la potencia en el estator.

2.4. Imitación de la inercia


De acuerdo al análisis realizado en las secciones anteriores, en esta sección
se muestra la aproximación a la ecuación de oscilación para un generador
eólico, y se desarrolla matemáticamente el concepto de imitación de la inercia
que será clave para entender las simulaciones que se desarrollan en el presente
trabajo.

2.4.1. Ecuación de oscilación para generadores eólicos


A pesar del sistema de control que se ha mencionado en las secciones previas
de este capı́tulo, que controla potencia activa y reactiva, en los generadores
eólicos hay una variación muy fuerte en la frecuencia de la tensión cuando
hay perturbaciones de potencia, esto es porque no hay un momento de inercia
grande que almacene energı́a en el eje y por lo tanto que suavice la caı́da o
subida de la frecuencia. Varı́as fuentes bibliográficas como [4] aceptan realizar
el modelo de un parque eólico como:

15
2.Conceptos y fundamentos

d∆f fo πDfo
= (∆Padd − ∆Pe ) − ∆f (2.28)
dt 2SB H SB H
Aunque a diferencia del generador sı́ncrono las constante de inercia se suele
modelar como 80 veces menor, por lo que en el presente trabajo se manejará de
0.1 segundos.
Si se ve como función de transferencia, reemplazando los valores de Sb=0.2pu,
fo=60Hz, D=0.02Hz/pu, y H=0.1s, entonces queda la ecuación:

∆f (s) 8
= (2.29)
∆Pe (s) 0,005s + 1
Dónde se puede ver que la ganancia es 8 y la constante de tiempo es de
0.5ms, por lo que se estabilizará en 2.5ms para entradas tipo paso, y además
tendrá un valor de estado estacionario de -0.8Hz para perturbaciones tipo paso
de -0.1pu, según se puede ver en la figura 5.1 del capı́tulo 5.
El problema de imitación de la inercia es que no se quiere que la frecuencia
caiga tan rápido y por lo tanto es deseable disminuir la razón de cambio de
la frecuencia, es decir se quiere cambiar de la respuesta de la figura 5.1 a la
respuesta de la figura 5.2.

2.4.2. Imitación de la inercia- Método algebraico


De acuerdo a las funciones de transferencia:

∆f (s) 8
Gwind (s) = = (2.30)
∆Pe (s) 0,005s + 1
Para el generador eólico, y la ecuación:

∆f (s) 8
Gconv (s) = = (2.31)
∆Pe (s) 0,42s + 1
Para el generado convencional, se quiere que cuando la perturbación entra
como se muestra en la figura 2.7, la respuesta del generador eólico con el lazo
de control sea similar al del generador convencional en lazo abierto, esto con
el fin de reducir la derivada de la frecuencia que ante perturbaciones tipo paso
de -0.1pu resulta ser un valor absoluto máximo de 50Hz/s para el convencional
y de 140Hz/s para el eólico.

16
2.Conceptos y fundamentos

Figura 2.7: Esquema de prueba para imitación de la inercia con control con-
vencional

Como se sabe que la referencia de variación de frecuencia es cero, enton-


ces se puede calcular la función de transferencia entrada perturbación salida
frecuencia incluyendo el controlador, e igualándola a la función deseada, es
decir:

∆f (s) Gwind (s)


= = Gconv (2.32)
∆Pe (s) 1 + Gwind (s)C(s)
Y al reemplazar los valores resulta que el controlador debe ser:

C(s) = 0,049s. (2.33)

sin embargo para que sea implementable se le agrega un polo en s=-1000


y queda de la forma:
0,049s
C(s) = s (2.34)
1000
+1
Los resultados se muestran en la figura 2.8, viéndose que satisfactoriamen-
te se logra una respuesta muy similar al del generador convencional usando
energı́a finita, sin embargo si se observa la curva de potencia adicional en el
tiempo inicial la potencia exige un valor de -0.1pu, y esto puede no estar dis-
ponible en tal momento, por lo que habrı́a que introducir una constante para
reducir la potencia entregada, siendo esta constante no necesariamente pro-
porcional a la potencia máxima disponible, razón por la cuál conviene usar el
control predictivo como se probará a lo largo de este trabajo.

17
2.Conceptos y fundamentos

Figura 2.8: Comparación de respuestas al paso, con imitación de la inercia


control convencional

2.4.3. Estimación de potencia máxima para la imitación


de la inercia
Como se pudo ver en la subsección anterior, el controlador resultó ser un
derivador, esto da la noción de que el control para imitación de la inercia no
reacciona a la frecuencia sino a la derivada de la misma.
Como se ha dicho, el generador eólico a diferencia del generador sı́ncrono,
no tiene energı́a cinética almacenada en el eje del rotor, y es por esto que es
tan susceptible a variaciones de potencia eléctrica, entonces para cuantificar
cuales son los lı́mites de potencia que se deben agregar para poder imitar la
inercia, se puede partir de la ecuación de energı́a cinética rotacional:

Jω 2
Ecin = (2.35)
2
Dónde J es el momento de inercia de la máquina sı́ncrona mientras que ω
es la velocidad angular de la máquina.
Como esta energı́a es la que se debe relacionar con la potencia adicional,
derivada la energı́a respecto al tiempo, llegando a la ecuación:

d Jω 2
Padd = ( ) = Jω ω̇ (2.36)
dt 2

18
2.Conceptos y fundamentos

Se reemplaza el momento de inercia teniendo en cuenta la definición de


constante de inercia H en la ecuación 2.4, llegando a:
˙
2Sb Hω(t)ω(t)
Padd = (2.37)
ωo2
Dividiendo por la potencia base en ambos lados y dejando en términos de
la frecuencia:
˙
2Hf (t)f (t)
Padd = [pu] (2.38)
fo2
Esta ecuación permite ver que efectivamente la potencia agregada es fun-
ción de la derivada de la frecuencia como habı́a resultado con el controlador
de la anterior subsección.
Según se pudo ver en la figura 2.8, tanto la frecuencia, su derivada y la po-
tencia agregada son funciones del tiempo, luego para saber cuál es la potencia
que se debe agregar, se debe calcular en lazo abierto la ecuación de potencia
anterior para el generador sı́ncrono y el convencional y al hacer la diferencia
se tendrá la potencia adicional que deberı́a tener disponible el actuador para
hacer imitación de la inercia. Por ejemplo para el caso considerado en la ante-
rior subsección se puede ver que para imitarla perfectamente el pico debe ser
de 0.1 pu.
Estos lı́mites deben ser calculados para tenerlos presentes como restriccio-
nes en el planteamiento del MPC.

2.5. Estado de carga para sistemas de almace-


namiento.
El estado de carga describe la cantidad de energı́a disponible en elementos
de almacenamiento energético.
Para imitar la inercia el estado de carga propone un tratamiento mucho
mas extenso del modelo del sistema para describir el control predictivo como
se verá en el capı́tulo de simulaciones en el caso 3.
La potencia adicional es la derivada de la energı́a disponible en los elemen-
tos, por lo tanto las siguientes ecuaciones son equivalentes:
d∆Xec
∆Padd = (2.39)
dt
Z t
∆Xec = ∆Padd (τ )dτ (2.40)
0
Cuando se analiza un sistema de almacenamiento, la eficiencia del sistema
serı́a otra limitante, es decir se deberı́a plantear la ecuación como:

19
2.Conceptos y fundamentos

d(∆Xec )
∆Padd = η (2.41)
dt
Sin embargo para el presente trabajo se asumirá del 100 %. El planteamien-
to de las restricciones será de la forma:

xmin ≤ xeq (t) ≤ xmax (2.42)

2.6. Ecuación agregada de oscilación


Un sistema de potencia con varios generadores se puede representar como
un único nodo, eliminando el efecto de las lı́neas de transmisión, y suponiendo
que las pérdidas son nulas, esto con el fin de evaluar en un nivel básico el
comportamiento de un sistema grande. Para el presente trabajo se tratarán el
caso del sistema IEEE de 14 nodos, el cuál se explicará a detalle más adelante
en la sección de simulaciones y resultados.
La descripción de la ecuación agregada de oscilación introduce un nuevo
concepto para la frecuencia, llamado centro de inercia de la red, dónde se define
como el promedio ponderado de la frecuencia en cada nodo con las constantes
de inercia de cada nodo. La ecuación agregada de oscilación para pequeñas
oscilaciones queda de la forma:
d∆f fo πDfo
= (∆Padd − ∆Pe ) − ∆f (2.43)
dt 2SB H SB H
Con:
Png
Hi fi
f = Pi=1
ng (2.44)
i=1 Hi
ng
X
SB = SBi (2.45)
i=1
Png
Hi Sbi
H = Pi=1
ng (2.46)
i=1 SBi
ng
X
∆Padd = ∆Paddi (2.47)
i=1
ng
X
∆PL = ∆PLi (2.48)
i=1

Para el presente trabajo se prueba un sistema de 14 nodos que tiene 5


nodos de generación, se trabajará con los datos que aparecen en el cuadro 2.1:

20
2.Conceptos y fundamentos

Cuadro 2.1: Datos para simulación en ecuación agregada


Con nodos eólicos
Nodo H [seg] Sb [pu]
1 8 0.2
2 0.1 0.2
3 8 0.2
6 0.1 0.2
7 8 0.2
Agregado Wind 4.84 1
Sin nodos eólicos
Nodo H [seg] Sb [pu]
1 8 0.2
2 8 0.2
3 8 0.2
6 8 0.2
7 8 0.2
Agregado Conv 8 1

Como se puede ver en ambos casos lo único que cambia es la constante de


inercia del generador del nodo 2 y el nodo 7. En la sección de simulaciones se
le hace análisis a este sistema mediante la ecuación 2.43.

21
Capı́tulo 3

Solución de ecuación de
oscilación para grandes sistemas

3.1. Introducción
En el capı́tulo anterior se mostró el planteamiento de las ecuación de osci-
lación para el caso de una sola máquina sı́ncrona y se admitió usar el mismo
modelo para un generador eólico, solo que disminuyendo la constante de inercia
80 veces. Por otra parte se explicó el planteamiento de la ecuación de oscilación
agregada, que matemáticamente representa el comportamiento de la frecuen-
cia llamada centro de inercia de la red, que como se vio reduce un sistema de
varios nodos a un modelo de un solo nodo, y sirva para dar una noción de
como serı́a el comportamiento de la frecuencia cuando hay perturbaciones en
la demanda de potencia activa en algún nodo del sistema.
El problema se puede analizar de mejor manera si se tienen en cuenta
las lı́neas de transmisión que unen los barrajes del sistema, y que en cada
instante de tiempo la generación de potencia compleja debe ser igual a la
suma de la demanda y las pérdidas. Esto nos lleva a analizar las ecuaciones de
potencia nodal, que deben satisfacerse simultáneamente para todos los nodos.
A diferencia del problema que se resuelve regularmente en la solución de un
flujo de carga, en este caso en número de variables de estado aumentan debido
a que la frecuencia se tiene en cuenta, y por lo tanto la ecuación de oscilación
para cada generador impone una serie de ecuaciones adicionales que deben ser
concordantes con las variables del sistema.
En el presente capı́tulo se muestra como se puede adaptar un sistema de
ecuaciones diferenciales de oscilación a una manera más simple de trabajar
mediante el uso de la regla del trapecio, y finalmente se muestra como el método
de Newton-Rhapson permite resolver el sistema de ecuaciones no lineales para
que se cumplan tanto las ecuaciones de potencia nodal como las ecuaciones de
oscilación en cada nodo.

22
3.Solución de ecuación de oscilación para grandes sistemas

3.2. Ecuaciones de potencia nodal y de oscila-


ción
En está sección se hace un breve repaso de las ecuaciones de potencia nodal,
y de la manera en que se resuelve un flujo de carga, con el fin de entender como
al introducirse las ecuaciones de oscilación se altera la forma de interpretar el
comportamiento del sistema.
Se sabe que los sistemas de potencia suelen expresar ecuaciones para cada
nodo en términos de potencias complejas inyectadas al sistema de transmisión,
que se definen como:

Si = Sgen − Sdem (3.1)


Es decir que para un nodo de generación la potencia inyectada será positiva,
mientras que para un nodo de demanda será negativa.
La potencia compleja inyectada se puede separar en su parte real e imagi-
naria, y se calculan como:
N
X
Pi = |Vi Vk Yik |cos(δi − δk − θik ) (3.2)
K=1

N
X
Qi = |Vi Vk Yik |sen(δi − δk − θik ) (3.3)
K=1

Dónde i es el nodo de análisis, |Vi Vk Yik | es el producto de las magnitudes


de la tensión en el nodo i, k, y el elemento de la matriz de admitancias de la
posición i, k, mientras que δi , δk y θik son los respectivos ángulos, el sistema es
de N nodos y las ecuaciones deben satisfacerse tanto para nodos de generación
como de demanda.
Como se puede ver, para un sistema de N nodos se deben satisfacer 2N
ecuaciones, sin embargo para saber el número de incógnitas se sabe que hay
tres tipos de nodos: Los PQ o nodos de demanda, para los cuales se conoce
la demanda de potencia activa y reactiva, los nodos PV que son nodos de
generación a los cuales se les conoce tanto la potencia que desean generar
como la magnitud de la tensión en bornes, y el nodo de compensación o Slack,
que es el cuál va a entregar la potencia restante para satisfacer las pérdidas y
se le conoce el ángulo (que es cero) y la magnitud de la tensión. De esa manera
las incógnitas en el problema de flujo de potencia son:

Las magnitudes |Vl | de los nodos de carga y sus respectivos ángulos δl .

Los ángulos de las tensiones en los nodos de generación δg .

Las potencias reactivas en los nodos de generación Qg y la potencias


activa y reactiva que debe generar el Slack Ps y Qs .

23
3.Solución de ecuación de oscilación para grandes sistemas

Es conveniente resaltar la diferencia entre variables de estado y variables


dependientes, las primeras son las que definen el estado del sistema, que es el
objetivo y punto de partida en el problema de flujo de carga. Las variables
dependientes son las potencias inyectadas, y las variables de estado deben
satisfacer las 2N ecuaciones que surgen de 3.2 y 3.3. Sin embargo las ecuaciones
que se resuelven en el proceso de iteración no involucran las potencias reactivas
generadas, ni la activa generada en el slack, el objetivo es hallar las variables
de estado que satisfacen las variables dependientes que se programan (Qdem ,
Pdem y Pg )y al final se reemplaza en las ecuaciones 3.2 y 3.3 para hallar las
variables del último item mencionado en el listado anterior. Por lo tanto el
número de incógnitas serán

I = 2Nl + Ng (3.4)
Dónde 2 Nl es dos veces los nodos de carga, corresponde a que en cada uno
se desconoce la magnitud y el ángulo de la tensión. Ng es el número de nodos
PV, y las incógnitas corresponden a que en cada uno se desconoce el ángulo
de las tensión.

3.2.1. Ecuaciones de oscilación


Como se vio en la sección anterior, para cada nodo de generación, la ecua-
ción de oscilación se describe como:
d∆f πDfo fo
=− ∆f + (∆Pgi ) (3.5)
dt SB H 2SB H
Para simplificar notación se expresará cada ecuación como:
d∆fi
= Ai ∆fi + Bi ∆Pgi (3.6)
dt
Para un sistema de varios nodos, es conveniente referenciar los incrementos
de frecuencia respecto a la frecuencia del nodo Slack, por lo tanto se tienen las
ecuaciones modificadas:

d∆f̂i
= Ai∆f̂i + Bi ∆Pgi (3.7)
dt
Si el nodo slack se denota como el número 1, entonces:

∆f̂i = ∆fi − ∆f1 (3.8)


Por otra parte, para los ángulos de las tensiones δgi , se sabe que estos se
referencian respecto al ángulo del nodo slack como:

∆δgi = δgi − δslack = δgi (3.9)


Si se deriva la ecuación anterior respecto al tiempo se tiene:

24
3.Solución de ecuación de oscilación para grandes sistemas

d∆δg
= 2π∆f̂i (3.10)
dt
Por lo tanto, para ng generadores, se producen 2ng ecuaciones que se pueden
escribir como:

Ẋ = Aaum X + Baum ∆P gaum (3.11)


Con:
d  ˆ T
Ẋ = ( ∆f1 ∆fˆ2 · · · ∆fˆng ∆δg1 ∆δg2 · · · ∆δgng ) (3.12)
dt

 T
X = ( ∆f1 ∆f2 · · · ∆fng ∆δg1 ∆δg2 · · · ∆δgng ) (3.13)

 
A1 0 ··· 0 0 0 ··· 0
 −A2 A2 · · · 0 0 0 ··· 0 
 
 ··· · · · · · · · · · · · · · · · · · · · · ·
 
−Ang 0 · · · Ang 0 0 ··· 0 
Aaum =  (3.14)
 0
 0 0 ··· 0 0 ··· 0  
 −2π 2π 0 0 0 0 ··· 0 
 
 ··· · · · · · · · · · · · · · · · · · · · · ·
−2π 0 · · · 2π 0 · · · 0 0
 
B1 0 · · · 0
 0 B2 · · · 0 
 
 0 0 ... 0 
 
Baum =  0 0 · · · Bng  (3.15)
 
 
 0 0 ··· 0 
 
 0 0 ··· 0 
0 0 ··· 0
 T
∆P gaum = ∆Pg1 ∆Pg2 · · · ∆Pgng (3.16)
Como se puede ver en el conjunto de ecuaciones anterior, la matriz A
aumentada, se compone de 3 matrices: La de ecuaciones de oscilación, la de
las ecuaciones de los ángulos y una matriz de ceros a la izquierda. La matriz
B aumentada por su parte se compone de dos matrices: Una diagonal con los
valores de Bi de la ecuación 3.6, y otra que se compone de ceros. Por último, el
vector ∆P gaum es un vector que contiene los incrementos de potencia generada
alrededor del punto de operación inicial. Se debe tener en cuenta que el vector
∆P gaum tiene una dependencia implı́cita de los fasores de tensión y de la matriz
de admitancia del sistema.
Las ecuaciones 3.2 y 3.3 deben satisfacerse cuando se resuelva 3.11. Nótese
que ahora se han agregado ng + 1 más variables de estado correspondiente a

25
3.Solución de ecuación de oscilación para grandes sistemas

las frecuencias de cada nodo de generación sumando el slack, por lo tanto el


problema debe solucionarse para 2NL + 2Ng − 1 variables de estado (contando
en Ng al slack).

3.3. Regla del trapecio para la ecuación de os-


cilación
Si se analizan las 2NL + 2Ng − 1 ecuaciones que se deben resolver, se puede
ver que las primeras 2Ng −1 correspondientes a la ecuación 3.11 son ecuaciones
diferenciales, y por lo tanto es recomendable deshacerse de la derivada con el
fin de resolver por el método de Newton Rhapson el sistema de ecuaciones,
involucrando las ecuaciones de potencia nodal.
La regla del trapecio es un método que aproxima el área bajo la curva
se una función mediante la suma de áreas de trapecios, matemáticamente de
puede expresar como:
Z tn+1
∆t
f (τ )dτ ≈ (f (tn+1 ) + f (tn )) (3.17)
tn 2
con:
∆tn = tn+1 − tn (3.18)
Por el momento se puede resolver la ecuación 3.7 que corresponde solo a la
ecuación de oscilación de un nodo, por lo tanto si se integra a ambos lados se
tiene:

Z tn+1 Z tn+1
d∆f̂i
dτ = ∆fˆi (tn+1 ) = Ai ∆f̂i (τ ) + Bi ∆Pgi (τ ) dτ (3.19)
0 dt 0

Que se puede reordenar como:

∆t
∆fˆi (tn+1 ) = ∆fˆi (tn )+ (Ai (∆f̂i (tn+1 )+∆f̂i (tn ))+Bi (∆Pgi (tn+1 )+∆Pgi (tn ))
2
(3.20)
Aplicando la ecuación 3.8, y reorganizando los términos se llega a la ecua-
ción:

∆t ∆t ∆t
(1 − Ai )∆fi (tn+1 ) − (1 − Ai )∆f1 (tn+1 ) − (1 + Ai )∆fi (tn )
2 2 2 (3.21)
∆t ∆t ∆t
−(1 + Ai )∆f1 (tn ) − Bi ∆P gi (tn+1 ) − Bi ∆P gi (tn ) = 0
2 2 2
En la simulación en cada intervalo de tiempo de muestreo se tendrán como
incógnitas las variables dependientes del tiempo tn+1 , por lo tanto las variables

26
3.Solución de ecuación de oscilación para grandes sistemas

para tn son constantes porque ya se solucionaron en el intervalo anterior. La


ecuación en ese contexto se puede escribir como:

∆t ∆t ∆t
(1 − Ai )∆fi (tn+1 ) − (1 − Ai )∆f1 (tn+1 ) − Bi ∆P gi (tn+1 ) + K = 0
2 2 2
(3.22)

Dónde se debe tener en cuenta que:

∆P gi (tn+1 ) = g(|Vl1 |, |Vl2 |..|VN L |, δg1 , δg2 ..δng , δl1 , δl2 ..δN L ) (3.23)

Por otra parte, para la ecuación de los ángulos 3.10 se aplica la regla del
trapecio y se llega a:

2π∆t
∆δgi (tn+1 ) − ∆δgi (tn ) − (∆fi (tn+1 ) + ∆fi (tn ) − ∆f1 (tn+1 ) − ∆f1 (tn )) = 0
2
(3.24)
Dónde análogamente, se pueden reorganizar términos constantes para el
diferencial de tiempo de simulación como:
2π∆t
∆δgi (tn+1 ) −(∆fi (tn+1 ) − ∆f1 (tn+1 )) + K = 0 (3.25)
2
Organizando las ecuaciones 3.24 y 3.22 en forma matricial, quedan de la
forma:

   
  ∆f (tn+1 )
∆t
 ∆t
 ∆f (tn )
I− 2
Aaum − I + 2 Aaum
∆δg (tn+1 ) ∆δg (tn ) (3.26)
 ∆t    ∆t  
− 2 Baum ∆Paum (tn+1 ) − 2 Baum ∆Paum (tn ) = 0

La ecuación 3.26 posee 2Ng variables de estado, correspondientes a los


ángulos de las tensiones y las frecuencias de cada nodo de generación (aun-
que el ángulo en el slack no es incógnita), mientras que se tienen Ng variables
dependientes, correspondiente a los incrementos de potencias adicionales pro-
gramados en cada nodo.

3.4. Método de Newton Rhapson para solu-


ción de sistemas de ecuaciones no lineales
En la sección anterior se vio como la regla del trapecio permitió eliminar la
ecuación diferencial, y dejó como resultado el sistema de ecuaciones descrito en
la ecuación 3.26. Según se vio en la segunda sección de este capı́tulo, la ecuación
de oscilación debe satisfacerse a la par que las ecuaciones de potencia nodal,

27
3.Solución de ecuación de oscilación para grandes sistemas

buscando cumplir los valores programados de potencia compleja demandada y


de potencia activa generada, es decir se debe cumplir:
N
X
− Pdi = |Vi Vk Yik |cos(δi − δk − θik ) (3.27)
K=1
N
X
− Qdi = |Vi Vk Yik |sen(δi − δk − θik ) (3.28)
K=1
N
X
Pgi = |Vi Vk Yik |cos(δi − δk − θik ) (3.29)
K=1

El método de Newton Rhapson permite encontrar la solución para este sis-


tema de ecuaciones. Para ilustrar el método de Newton Rhapson, considérese
un sistema de dos ecuaciones no lineales que dependen de 2 incógnitas (varia-
bles de estado), de la forma:

g1 (x1 , x2 , u1 ) = 0 (3.30)

g2 (x1 , x2 , u2 ) = 0 (3.31)
Dónde las variables de estado son x1 y x2 , mientras que las variables depen-
dientes serı́an u1 y u2 .Si el sistema es no lineal, resulta difı́cil o imposible
despejar alguna variable en una ecuación y reemplazar en la otra hasta llegar
a una única ecuación. El método de Newton Rhapson establece que mediante
un incremento en la variable x1 y x2 (∆x1 y ∆x2 ) desde un punto de partida
inicial x1n , x2n se puede llegar en un número finito de iteraciones a la solución
de las ecuaciones 3.30 y 3.31, dependiendo del error admitido en la solución.
Los incrementos satisfacen:

      " dg1 (x1n ) #


dg1 (x2n )

∆g1 g (x ,x ) g (x , x ) ∆x1
= 1 1n+1 2n+1 − 1 1n 2n = dg2dx 1
(x1n )
dx2
dg2 (x2n )
∆g2 g2 (x1n+1 , x2n+1 ) g2 (x1n , x2n ) dx
∆x2 dx2
1
(3.32)
Dónde la matriz Jacobiana calculada para la iteración n se define como:
" #
dg1 (x1n ) dg1 (x2n )
dx1 dx2
J= dg2 (x1n ) dg2 (x2n ) (3.33)
dx1 dx2

El procedimiento para calcular la solución del sistema de ecuaciones se


puede resumir como:

1. Se elige un punto de operación inicial para x1 y x2 , los cuales se deno-


minarán como x1n y x2n .
2. Se evalúa la función en dichos puntos, de lo cuál se obtiene g1 (x1n , x2n )
y g2 (x1n , x2n ).

28
3.Solución de ecuación de oscilación para grandes sistemas

3. Como se desea que la solución dé un valor nulo en las ecuaciones 3.30 y
3.31, entonces se asume siempre que g1 (x1n+1 , x2n+1 ) = 0 y g2 (x1n+1 , x2n+1 ) =
0. Para despejar los incrementos, se debe primero calcular el jacobiano
con las variables x1n y x2n y luego despejar de la ecuación 3.33 como:
" #−1 
  dg1 (x1n ) dg1 (x2n ) 
∆x1 g1 (x1n , x2n )
= − dg2dx 1
(x1n )
dx2
dg2 (x2n ) (3.34)
∆x2 dx dx2
g2 (x1n , x2n )
1

4. Una vez despejados los incrementos se actualizan las variables de estado


como:      
x1n+1 x1n ∆x1
= + (3.35)
x2n+1 x2n ∆x2
5. Las variables actualizadas se reemplazan en las ecuaciones 3.30 y 3.31, si
la diferencia entre el valor calculado y el esperado (cero en ambas ecua-
ciones) para cada ecuación es menor que un error admisible previamente
definido, se pueden aceptar como soluciones los valores de x1n+1 y x2n+1 ,
de lo contrario se debe volver al segundo paso, dónde x1n+1 y x2n+1 serán
ahora x1n y x2n .
Como se pudo ver, el paso que significa más esfuerzo es el cálculo de jaco-
biano, que implica que para cada ecuación analı́tica se deben calcular todas las
derivadas parciales, evaluar en las variables de estado actuales, y posteriormen-
te invertirse. En la siguiente sección se muestra detalladamente el algoritmo
extendido al problema de solución de las ecuaciones de oscilación y de poten-
cia, y la forma de calcular el jacobiano y el análisis de las dimensiones de esta
matriz.

3.5. Algoritmo para la solución de ecuaciones


de potencia nodal y de oscilación
Hasta este punto ya se ha realizado una contextualización de los conceptos
teóricos necesarios para simular el problema de perturbaciones y control de
frecuencia en grandes sistemas de potencia. El código se implementó en el
trabajo [4] , sin embargo no se realizó la explicación detallada del mismo, por
ende en el presente trabajo se ha comentado detalladamente el código con el
fin de que se pueda entender que lı́neas editar en el caso de trabajos futuros
en los cuales la función de transferencia que modelen la ecuación de oscilación
sea más compleja que la ecuación 3.5.
El algoritmo se implementó en un bloque de simulink que permite el uso
de una función de MatLab. El bloque recibe tanto variables de inicialización
como variables que se actualizan en cada tiempo de muestreo de simulación.
El método de Newton-Rhapson únicamente permite resolver los valores
de la frecuencia en los nodos de generación, los ángulos de las tensiones en

29
3.Solución de ecuación de oscilación para grandes sistemas

todos los nodos y la magnitud de las tensiones en los nodos de carga para un
diferencial de tiempo de simulación, es decir si por ejemplo se quiere hacer una
simulación de 10 segundos, tomando un tiempo de muestreo de 10ms, entonces
la función embebida se ejecutará 1000 veces, dónde el proceso más crı́tico en
tiempo de simulación es el cálculo del Jacobiano y obtener su inversa.
El diagrama 3.1 muestra el bloque funcional del sistema embebido, las en-
tradas de inicialización son el flujo de potencia y las matrices aumentadas que
definen la ecuación 3.28. Por otra parte las entradas dinámicas son las varia-
ciones de potencia generada y demandada alrededor del punto de operación
del flujo de potencia, dónde las variaciones de potencia demandada provienen
de una señal tipo paso o tipo rampa, mientras que las variaciones de potencia
generada provienen de los controladores destinados para control de frecuen-
cia e imitación de la inercia. La función embebida permite que se agregue un
controlador de frecuencia para cada generador, sin embargo para el presente
trabajo solo se considera el control en un nodo de generación eólico suponiendo
que el slack es capaz de entregar la potencia restante.

Figura 3.1: Diagrama de entradas y salidas del sistema embebido

El algoritmo del sistema embebido se lista a continuación, numerando pri-


mero los pasos para obtener las variables de inicialización y posteriormente
para el sistema embebido.
Para las variables de iniciación se siguen los pasos:

1. Se establece un punto de operación para el sistema, esto implica definir


condiciones iniciales: De demanda compleja programada Pd , Qd para los
nodos PQ, de generación programada y magnitud de tensiones Pg y Vg
para los nodos PV, y la magnitud de la tensión a generar en el nodo
Slack.La matriz de admitancias del sistema se debe conocer.

2. Una vez definidas las variables dependientes, las variables de estado son
la magnitud de los voltajes en los nodos de carga Vl , los ángulos de las
tensiones en los nodos de carga δl y los ángulos de las tensiones en los
nodos de generación δg . Como punto de partida se asume un vector de

30
3.Solución de ecuación de oscilación para grandes sistemas

unos para Vl y de ceros para δl y δg . El sistema de ecuaciones no lineales


similares a 3.32 y 3.33 vienen dados por el sistema de ecuaciones que se
forman de:

N
X
− Pdi − |Vi Vk Yik |cos(δi − δk − θik ) = 0 (3.36)
K=1

N
X
− Qdi − |Vi Vk Yik |sen(δi − δk − θik ) = 0 (3.37)
K=1

N
X
Pgi − |Vi Vk Yik |cos(δi − δk − θik ) = 0 (3.38)
K=1

3. Se calcula el jacobiano para el sistema, que viene dado por la composición


de las matrices aumentadas:
" #
∂P ∂P
∂δ ∂Vl
J= ∂Ql ∂Ql (3.39)
∂δ ∂Vl

y satisface:
  " # ∆δ 
∆Pg ∂P ∂P g
∂δ
 ∆Pl  = ∂Q ∂Vl  ∆δl 
l ∂Ql (3.40)
∆Ql ∂δ ∂Vl ∆Vl
Dónde las matrices que componen al jacobiano se describen individual-
mente como:
 ∂Pg1 ∂Pg1 ∂Pg1 ∂Pg1

∂δ ∂δg2
··· ∂δl1
··· ∂δnl
 ∂Pg1g2 ∂Pg2 ∂Pg2 ∂Pg2 
 ∂δg1 ∂δg2
··· ∂δl1
··· ∂δnl 

 ..

∂P  . ··· ··· ··· ······ 

=  ∂Pl1 ∂Pl1 ∂Pl1 ∂Pl1  (3.41)
∂δ  ∂δ ∂δg2
··· ∂δl1
···
∂δnl 

 ∂Pg1 ∂P ∂Pl2 ∂Pl2 
 l2
 ∂δg1 ∂δg2
l2
··· ∂δl1
···
∂δnl 
..
. ··· ··· ··· ··· ···
 ∂P ∂Pg1 ∂Pg1

g1
∂Vl1 ∂Vl2
· · · ∂Vlnl
 ∂P ∂Pg2 ∂Pg2 
 g2 · · · 
 ∂Vl1 ∂Vl2 ∂Vlnl 
. ... ... ... 
∂P  .. 
= ∂Pl1 ∂Pl1 ∂Pl1 
 (3.42)
∂Vl 
 ∂Vl1 ∂Vl2
· · · ∂Vlnl 
 ∂Pl2 ∂Pl2 ∂Pl2 
 ∂V ∂Vl2
· · · 
∂Vlnl 
 l1
.. .. .. ..
. . . .

31
3.Solución de ecuación de oscilación para grandes sistemas

 ∂Q ∂Ql1 ∂Ql1 ∂Ql1



∂δ
l1
∂δg2
··· ∂δl1
··· ∂δnl
 ∂Qg1l2 ∂Ql2 ∂Ql2 ∂Ql2 
∂Ql  ∂δg1 ∂δg2
··· ∂δl1
··· ∂δnl 
= .

... ... ... 
 (3.43)
∂δ  .. ··· ··· 
∂Qnl ∂Qnl ∂Qnl ∂Qnl
∂δg1 ∂δg2
··· ∂δl1
··· ∂δnl

 ∂Ql1 ∂Ql1 ∂Ql1 


∂Vl1 ∂Vl2
··· ∂Vlnl
 ∂Ql2 ∂Ql2 ∂Ql2 
∂Ql  ∂Vl1 ∂Vl2
··· ∂Vlnl 
= . .. .. .. 
 (3.44)
∂Vl  .. . . . 

∂Qnl ∂Qnl ∂Qnl
∂Vl1 ∂Vl2
··· ∂Vlnl

Nótese que independientemente de la nomenclatura de los nodos en el


sistema, se ha organizado las derivadas respecto al ángulo desde primer
ángulo hasta el último de los nodos PV, haciendo lo mismo luego con los
PQ. Los ángulos de δgi no incluyen al slack.
Cada derivada parcial se calcula a partir de las ecuaciones 3.36, 3.37 y
3.38 , reemplazando los valores de los ángulos correspondientes a cada
iteración. Las derivadas de términos iguales, es decir dyi /dxi resultan ser
sumas de términos, mientras que los de la forma dyj /dxi son términos
sueltos.

4. Se despejan los incrementos y se actualizan las variables de estado igual


a como se vio en el método de Newton-Rhapson como se vio en la sección
anterior.

5. Se reemplaza en las ecuaciones 3.36, 3.37 y 3.38 y se mira si el resultado en


cada ecuación es menor a un error absoluto preestablecido (ejm 0.00001).
En caso de que sı́ el método converge, en caso contrario se vuelve al paso
3.

6. Una vez el método converge se puede hallar la potencia que debe generar
el slack con la ecuación 3.38, y las reactivas de todos los generadores con
la ecuación 3.37 editada para dicho caso.

Hasta ahora solo se ha listado el algoritmo para el flujo de potencia inicial,


ahora, para iniciar las caracterı́sticas dinámicas de los generadores se hacen los
pasos:

1. Se definen las constantes de inercia para cada generador, se almacenan


en un vector de tal forma que primero aparezca el del slack y luego el de
cada nodo de generación, en el orden listado según la nomenclatura del
sistema.

32
3.Solución de ecuación de oscilación para grandes sistemas

2. El valor de la constante de amortiguamiento D se modela igual para


cada generador, ya que según la ecuación 2.7 representa el cambio de la
potencia activa con la variación angular de frecuencia y se modela desde
un nivel global del sistema.
3. Para formar las matrices Aaum y Baum de las ecuaciones 3.15 y 3.16 se
hallan primero los Ai y Bi según las ecuaciones 3.5 y 3.6. Estás matrices
se usan para calcular fácilmente la ecuación 3.28.
4. Se parte de que la frecuencia en todos los nodos es 60Hz, o lo mismo que
decir incrementos nulos, por lo tanto se carga también el valor inicial de
frecuencia en cada nodo de generación como nulo.
El archivo initialization.m carga los valores necesarios para que opere bien
el sistema embebido. Cuando corra la simulación en simulink, el algoritmo se
resume en los siguientes pasos:
1. Se fijan las variables programadas. La demanda de potencia reactiva se
deja constante para el presente trabajo.
La demanda de potencia activa se altera en un nodo, es decir tendrá in-
crementos respecto al punto de operación calculado en el flujo de poten-
cia del algoritmo anterior. Esta señal se controla externamente mediante
una fuente tipo paso, tipo rampa o una combinación de ambas. Mas de
un nodo de demanda puede recibir perturbaciones, sin embargo por el
momento se limita a editar solo uno.
La generación programada se altera en un nodo, es decir se incrementa o
decrementa respecto a la generación obtenida en el flujo de potencia. Esta
es una señal proveniente de un actuador externo al sistema embebido.
Para cada tiempo de muestreo de simulación se actualizan las nuevas
demandas y generaciones programadas:

Pg = Pgo + ∆Padd (3.45)

PD = PDo + ∆Pf ault (3.46)


Dónde dentro de la función embebida se apunta a los nodos de control y
de demanda dónde ocurren los cambios.
2. Retomando las anteriores secciones, se deben satisfacer simultáneamente
las ecuaciones:

   
 ∆t
 ∆f (tn+1 )  ∆t
 ∆f (tn )
G1 = I − 2 Aaum − I + 2 Aaum
∆δg (tn+1 ) ∆δg (tn ) (3.47)
 ∆t    ∆t  
− 2 Baum ∆Paum (tn+1 ) − 2 Baum ∆Paum (tn ) = 0

33
3.Solución de ecuación de oscilación para grandes sistemas

N
X
G2 = −Pdi − |Vi Vk Yik |cos(δi − δk − θik ) = 0 (3.48)
K=1

N
X
G3 = −Qdi − |Vi Vk Yik |sen(δi − δk − θik ) = 0 (3.49)
K=1

N
X
G4 = Pgi − |Vi Vk Yik |cos(δi − δk − θik ) = 0 (3.50)
K=1

Aunque se ve que la ecuación 3.50 está contenida en el término ∆Paum (tn+1 )


de la ecuación 3.47, es por eso que se trabaja para la solución solo con
el sistema de ecuaciones 3.47, 3.48 y 3.49.
Como se ha mencionado anteriormente el sistema tiene como incógnitas
2ng + 2nl − 1 variables de estado, correspondiente a los ng incrementos
de frecuencia en los nodos de generación contando al slack (∆f (tn+1 )),
los ng − 1 ángulos de las tensiones en los nodos de generación, los nl
ángulos de las tensiones en los nodos de demanda y las nl magnitudes de
las tensiones en los nodos de demanda.
Según se pudo ver en las secciones anteriores, la ecuación 3.47 da lugar
a ecuaciones que involucran las variables del generador con sus poten-
cias programadas, mientras que las 3.48, 3.49 se involucran las potencias
programadas de demanda de potencia activa y reactiva.
La matriz Jacobiana debe satisfacer los incrementos:

   ∂G1 ∂G1 ∂G1 ∂G1


 ∆f

∆G1 ∂∆f ∂δg ∂δl ∂Vl
∂G2 ∂G2 ∂G2 
∆δ g

 0
∆G2  =  (3.51)

∂δg ∂δl ∂Vl   ∆δl 
∆G3 ∂G3 ∂G3 ∂G3
0 ∂δg ∂δl ∂Vl ∆Vl

Dónde se ve que tanto G2 como G3 no dependen de la frecuencia, es por


es que se pone cero en la respectiva casilla. De acuerdo a las ecuaciones,
las matrices que componen al jacobiano vienen dadas por:

∂G1 ∆t
[ ] = [I − Aaum ] (3.52)
∂∆f 2

∂G1 ∆t ∂Pg
[ ] = −[ Baum ] (3.53)
∂δg 2 ∂δg

∂G1 ∆t ∂Pg
[ ] = −[ Baum ] (3.54)
∂δl 2 ∂δl

34
3.Solución de ecuación de oscilación para grandes sistemas

∂G1 ∆t ∂Pg
[ ] = −[ Baum ] (3.55)
∂Vl 2 ∂Vl

Las matrices ∂G 1
∂δg
, ∂G
∂δl
1
Y ∂G
∂Vl
1
se pueden extraer de la ecuación 3.43 y
3.44, mientras que Aaum y Baum ya venı́an definidas desde la ejecución
del programa initialization.m.
Por otro lado las derivadas parciales correspondientes a G2 y G3 se pue-
den obtener apuntando a las matrices 3.43, 3.44, 3.45 y 3.46.

3. Una vez calculado el Jacobiano, se procede con el método de Newton-


Rhapson, invirtiendo el Jacobiano, despejando incrementos, actualizando
variables hasta que el error sea menor a uno preestablecido.

4. Una vez converja el método, las variables de salida son los incrementos de
las frecuencias en cada nodo de generación, y esta salida será la entrada
a los controladores, o a los derivadores dependiendo de si es regulación
de frecuencia o imitación de la inercia.

35
Capı́tulo 4

Fundamentos de control
predictivo

4.1. Introducción
En los últimos años se ha venido promoviendo el uso del control predicti-
vo tanto para temas de investigación como para el uso industrial, en la cuál
normalmente predominan controladores PID porque son fáciles de sintonizar e
implementar. La desventaja del control predictivo se debe a su alta complejidad
matemática que no suelen ser un problema mayor en el campo investigativo
pero si para ingenieros que se desempeñan en la práctica y se alejan de los
fundamentos matemáticos.
La diferencia entre el control predictivo y el control convencional como el
PID se basa en que el primero toma su decisión ante una anticipación que hace
en el horizonte del proceso, mientras que los PID no tienen la capacidad de
mirar hacı́a adelante, cuando se implementa en forma discreta la decisión en
la señal de control solo involucra valores presentes y pasados tanto de la salida
como de la entrada.
Una sencilla analogı́a que ilustra el control predictivo se puede hacer con el
conductor de un automóvil (que es el controlador del auto), el conductor debe
tomar las decisiones de darle dirección al auto y acelerar o frenar el motor.
Está decisión la toma porque conoce el horizonte, es decir el conductor ya ha
estimado la posición futura y de acuerdo a eso controla las señales presentes.
En general para que un sistema pueda estimar los valores futuros se nece-
sita un modelo lo suficientemente bueno del proceso para que las predicciones
concuerden con lo que pasarı́a en la realidad. En general cuando se habla de
control predictivo se debe hacer énfasis en tres ideas de interés, estas son:
Un modelo de predicción para predecir salidas futuras en un horizonte
de tiempo.
Cálculo de una secuencia de control que minimiza una función objetivo
y da la ley de control.

36
4.Fundamentos del control predictivo

La estrategia de retroceso, esto hace referencia a que en la función obje-


tivo se involucran señales futuras, pero solo se toma la primera que es la
correspondiente a la señal de control presente, luego para tomar la señal
de control siguiente se hace de nuevo la optimización.

La figura 4.1 muestra la estructura básica del MPC, a lo largo de este


capitulo verá como es la formulación matemática de cada bloque.

Figura 4.1: Estructura general para el modelo de control predictivo [1].

En general se tiene muchas variantes que considerar cuando se hace un


controlador bajo los principios de control predictivo, ya que los modelos de
predicción a veces solo sirven para sistemas SISO como el caso de predicción con
el modelo de C.A.R.I.M.A (Control Auto-Regressive and Integrated Moving
Average), mientras que los sistemas MIMO pueden ser modelados con variables
de estado.
A continuación se mostrarán los planteamientos matemáticos usados pa-
ra la predicción, la ley de control, el seguimiento asintótico de referencias,
el desempeño transitorio y las restricciones para la saturación de entradas y
salidas de la planta y el rechazo de perturbaciones.

4.2. Modelo de predicción


En el caso de control predictivo identificar el modelo de la planta es un
proceso fundamental, para ello se pueden utilizar los modelos de la planta

37
4.Fundamentos del control predictivo

identificados por medio de excitaciones tipo impulso o paso, pero en ocasiones


se implementan algunos modelos que toman el efecto de las incertidumbres
que pueda dar el modelo al predecir valores futuros.
Entre los modelos más conocidos se encuentra C.A.R.I.M.A, variables de
estado, respuesta al paso, y el modelo independiente, estos se resumen a con-
tinuación.
Para el modelo C.A.R.I.M.A, a(z) y b(z) representan operadores de retardo
que finalmente definen la ecuación de diferencias o la función de transferencia
nominal en el dominio Z. El efecto de incertidumbre se lo da el ζk que es una
variable aleatoria de media cero , T z es una función que se determina con la
experiencia del proceso [1].
ζk
a(z)yk = b(z)uk + T (z) (4.1)
1 − z −1
Por otra parte el modelo en variables de estado de representa como:

x(k + 1) = Ax(k) + Bu(k) (4.2)

y(k) = Cx(k) + Du(k) + dk (4.3)


Dónde A,B,C y D son la representación de la función de transferencia del
modelo nominal, y dk representa la perturbación o las discrepancias del modelo
con el proceso real. Normalmente los sistemas son propios y por lo tanto la
matriz D es cero.
El modelo basado en la respuesta al paso se suele representar como:

yk = H(z)∆uk + dk (4.4)
Dónde H(z) representa la función de transferencia de la respuesta al paso,
dk modela las diferencias entre el proceso real y el modelo. Nótese que la
entrada se muestra en incrementos no en valor real.
Por último el modelo independiente se representa como:

yk = G(z)uk + dk (4.5)
Dónde G(z) puede ser cualquier función de transferencia, con la carac-
terı́stica de que se considera de forma aislada respecto a las medidas reales de
la planta, y estás diferencias se almacenan en la variable dk .
Para el presente trabajo se hace solamente un enfoque en el modelo de
predicción con variables de estado debido a que este permite el análisis de
sistemas MIMO y permitirá ilustrar las definiciones de manera más general.

4.2.1. Predicción en variables de estado


La teorı́a que se expone a continuación se encuentra en [2]. Volviendo a la
ecuación 4.3, las dimensiones de los vectores a lo largo del presente trabajo se

38
4.Fundamentos del control predictivo

nombrarán como mx al número de variables de estado, mu al número de entra-


das y my al número de salidas. Estás definiciones automáticamente determinan
las dimensiones de las matrices A,B,C y el vector d, que respectivamente son
[mx ; mx ], [mx ; mu ], [my ; mx ] y [my ; 1].
El propósito es estimar valores futuros de la salida en función de los valores
futuros de la entrada y de las variables de estado, por ejemplo para un horizonte
de 4 tiempos de muestreo, en las variables de estado se tiene:


 x(k + 1) = Ax(k) + Bu(k)
x(k + 2) = Ax(k + 1) + Bu(k + 1)

(4.6)

 x(k + 3) = Ax(k + 2) + Bu(k + 2)
x(k + 4) = Ax(k + 3) + Bu(k + 3)

Y reemplazando las ecuaciones del tiempo k + i en el tiempo k + i + 1 se


tiene:



 xk+1 = Axk + Buk
xk+2 = A(Axk + Buk ) + Buk+1 = A2 xk + ABuk + Buk+1



xk+3 = A(A2 xk + ABuk + Buk+1 ) + Buk+2 = A3 xk + A2 Buk + ABuk+1 + Buk+2
xk+4 = Axk+3 + Buk+3 = A(A3 xk + A2 Buk + ABuk+1 + Buk+2 ) + Buk+3




xk+4 = A4 xk + A3 Buk + A2 Buk+1 + ABuk+2 + Buk+3

(4.7)
De la ecuación anterior se puede observar el patrón y generalizar para un
horizonte de predicción n como:

      
xk+1 A B 0 0 0 .. 0 uk
 xk+2   A2   AB B 0 0 .. 0    uk+1 
 
    
 xk+3  =  A3  xk +  A2 B AB B 0 .. 0   uk+2 
  (4.8)
     
 ...   ...   .. .. .. .. .. ..   ... 
xk+n An An B An−1 B .. .. AB B uk+n−1

La notación para este sistema se puede nombrar como:


−−−−−→ −−−−−→
[Xk+1→n ] = [Px ]Xk + H[Uk→(n−1) ] (4.9)
Nótese que las dimensiones de Px y de H son respectivamente [nmx ; mx ] y
−−−−−→ −−−−−→
[n ∗ mx ; n ∗ mu ], mientras que las dimensiones de Xk+1→n y Uk→(n−1) son res-
pectivamente [mx ∗ n; 1]y [n ∗ mu ; 1].
Por otro lado para determina el horizonte en las salidas se parte de la
ecuación: 

 y(k) = Cx(k) + d(k)
y(k + 1) = Cx(k + 1) + d(k + 1)

(4.10)

 y(k + 2) = Cx(k + 2) + d(k + 2)
y(k + 3) = Cx(k + 3) + d(k + 3)

Que se puede escribir en forma matricial desde la muestra k+1 como:

39
4.Fundamentos del control predictivo

     
yk + 1 xk+1 dk+1
 yk+2 
 = C xk+2  + dk+2 
   

 yk+3  xk+3  dk+3  (4.11)
yk+4 xk+4 dk+4
O en forma general:
−−−−→ −−−−−→ −−−−→
Yk+1→n = C Xk+1→n + dk+1→n (4.12)
Reemplazando la ecuación 4.9, se tiene:

−−−−→ −−−→ −−−−→ −−−→ −−−−→


Yk+1→n = C(Px Xk + H Uk→n ) + dk+1→n = PY [Xk ] + HY Uk→n + dk+1→n (4.13)

Como el vector de predicciones de los dk+1 se desconoce debido a que son


la diferencia entre las salidas del proceso y el modelo, se suele dejar todo el
vector lleno con los calculados en el tiempo dk , entonces si al vector de unos
se le denomina L la ecuación queda:
−−−−→ −−−−→
Yk+1→n = PY Xk + HY Uk→n−1 + Ldk (4.14)

Se puede entonces apreciar que el estado futuro de la salidas se estima a


partir de las variables de estado en el presente, la perturbación presente dk y
las entradas futuras. Está ecuación no se puede resolver por si sola para Yk+1 ,
pues los valores del vector Uk+1 son las variables de decisión del problema
de optimización que se verá cuando se analice la ley de control y la función
objetivo.

4.2.2. Predicciones imparciales y relativas al estado es-


tacionario
Hasta ahora se ha visto como se puede predecir salidas futuras a partir
de la ecuación 4.14, sin embargo no se ha entrado en consideración del efecto
negativo que puede tener la suposición de la perturbación dk constante a lo
largo de las predicciones. Por ejemplo si se supone que la salida se encuentra
en el estado estacionario deseado, entonces el efecto de considerar un dk puede
llevar a decisiones erróneas por parte del controlador y llevar la salida a otro
estado que no se desea. Cuando las predicciones evitan este tipo de problemas
se dicen que son imparciales. La herramienta que permite asegurar que las
predicciones sean imparciales es el estimador de perturbaciones que permite
actualizar la perturbación en cada muestra, está se define como la diferencia
entre la señal medida en la salida del proceso y la medida por el modelo que
se tenga del mismo. Esto es:

dk = yp (k) − ym (k) (4.15)

40
4.Fundamentos del control predictivo

El uso de esta predicción asegura la correcta predicción en estado estacio-


nario y el modelo no causará una estado estacionario parcial en la señal de
control.
Para el caso de las variables de estado, el objetivo es estimar los valores
esperados de estado estacionario para una entrada y encontrar los esperados
de estado estacionario para la salida,y calcular las desviaciones alrededor de
estos puntos de referencia.
Para estado estacionario las ecuaciones de las variables de estado deben
satisfacer:

xss = Axss + Buss (4.16)

yss = Cxss + dk (4.17)


Se puede crear un sistema de ecuaciones a partir del estado estacionario
como:
    
yss − d C 0 xss
= (4.18)
0 A − I B uss
Como se puede ver la ecuación anterior sugiere la estimación de la pertur-
bación para poder estimar el estado estacionario de las variables de estado y
de las señales de control.
Por otra parte, si se definen las variables relativas al estado estacionario
como:

x̂(k) = x(k) − xss
ŷ(k) = y(k) − yss (4.19)
û(k) = u(k) − uss

Se puede demostrar al hacer el uso del principio de superposición con las va-
riables X,U y Y con y sin el estado estacionario se llega a una forma alternativa
de predicción como:
−−−−→ −−−−→
Ŷk+1→n = PY X̂k + HY Ûk→n−1 (4.20)
O despejando para la variable Yk+1 únicamente, y haciendo uso del vector
de unos L:
−−−−→ −−−−→
Yk+1→n = PY X̂k + HY Ûk→n−1 + LYss (4.21)
Está forma es útil en alguna implementaciones de la función objetivo y se
traerá en alusión más adelante.

41
4.Fundamentos del control predictivo

4.3. Definición del ı́ndice de desempeño o fun-


ción objetivo
A lo largo del desarrollo del control predictivo se han trabajado con dife-
rentes ı́ndices de desempeño, este debe ser capaz de abarcar en su formulación
unos requerimientos que aseguren el buen planteamiento del sistema, que a fin
de cuentas se puede describir como seguimiento asintótico de referencias, re-
chazo de perturbaciones, transitorios rápidos y restricciones de amplitud tanto
en las entradas como en las salidas. El ı́ndice de desempeño es una función
objetivo que al ser minimizada define un valor para las variables de decisión
que son el valor de las entradas o incrementos de U para el cuál el ı́ndice de
desempeño se minimiza. Normalmente los ı́ndices de desempeño se definen en
términos cuadráticos de la variable de decisión, esto con el fin de que el mı́nimo
sea único y sea fácil de calcular mediante un programa, ya que un controla-
dor predictivo requiere que se vaya actualizando la salida en tiempo real y el
calculo debe hacerse en un tiempo menor que el de muestreo.
Un ı́ndice que permite darle un peso al estado estacionario se puede definir
como:
ny ny
X X
J= e2k+1 = (rk+1 − yk+1 )2 (4.22)
k=0 k=0

Nótese que ny determina el horizonte de predicción y por lo tanto las di-


mensiones requeridas de las matrices Py , Hy y L analizadas en la sección de
modelos de predicción que sirven para calcular las salidas futuras en términos
de las variables de decisión. Aunque si bien este ı́ndice puede asegurar un bajo
error de estado estacionario, no da peso alguno a la señal de control, y esto
puede hacer que la señal o sea lenta o sea bastante alta. Para ello se solı́a
proponer un ı́ndice más completo que le diera algún peso a la señal de control
como:
ny nu
X X
2
J= (r − yk+1 ) + λ(∆uk )2 (4.23)
k=0 k=0

El anterior ı́ndice era de bastante uso en la definición del control predictivo


general GPC, sin embargo suponiendo una referencia constante, hay tres varia-
bles que pueden afectar el desempeño de la optimización, esto es el horizonte
de la salida ny , el horizonte de la entrada nu y el factor λ. Las observaciones
permitieron concluir que el seguimiento asintótico era mejor mientras mayor
fuera el horizonte de predicción, por otro lado un valor de λ grande le disminu-
ye la importancia al valor de ∆U y puede dar valores pequeños de la entrada
a la planta y lo contrario para un valor pequeño de λ. Por otra parte si se
analiza la ecuación anterior, se puede ver que si los horizontes fuesen iguales
no se puede llegar a un seguimiento asintótico ya que si se ajusta un término

42
4.Fundamentos del control predictivo

de la suma desajusta el otro. El valor de nu le puede dar diferentes comporta-


mientos ante la presencia de perturbaciones y los transitorios. Por otra parte
en sistemas inestables el ı́ndice no resulta efectivo para volverlos estables, y
por lo tanto se dice que el ı́ndice es pobre y no llega a una robustez completa
en la mayorı́a de casos.
Es por eso que se cambió el enfoque de la función objetivo. En el MPC
óptimo se suele definir el ı́ndice de rendimiento como un regulador cuadrático
lineal LQR, que en su planteamiento hace ausente la referencia entrante en el
sistema, y a partir de ello intenta obtener un valor de U que permita extinguir
un estado inicial de las variables de estado X0 rápidamente, es decir este óptimo
garantiza los tiempos más rápidos de extinción de la respuesta de entrada cero
para unos valores de las matrices Q y R determinados, este se escribe como:

X
J= X(k)T QX(k) + U (k)T RU (k) (4.24)
k=0
En ocasiones se suele agregar una matriz N que permite relacionar las
variables de estado con las entradas, es decir:

X
J= (X(k)T QX(k) + U (k)T RU (k) + 2X(k)T N U (k) (4.25)
k=0
El horizonte infinito permite que se reduzca el problema debido a los hori-
zontes finitos que perjudican el seguimiento asintótico, aunque la optimización
también se puede hacer para horizontes finitos.
El óptimo de la función viene dado por la señal:

Uk = −KX (4.26)
Dónde K se calcula como:

K = (R + B T P B)−1 (B T P A + N T ) (4.27)
Dónde P es una solución única positiva definida de la ecuación que satisface:
P = AT P A − (AT P B + N )(R + B T P B)−1 (B T P A + N T ) + Q (4.28)
La solución anterior puede no ser adecuada bajo algunas circunstancias
porque puede que las señales de control obtenidas por el mı́nimo excedan
limites en incrementos o los limites en las señales de control, entonces a menudo
se implementa una solución sub-óptima con el fin de satisfacer restricciones
que involucran limitaciones en las salidas, las entradas y los incrementos de las
mismas.
Cuando se implementa un óptimo, se hace implı́citamente una realimenta-
ción de estados, y esto altera la solución en variables de estado como:

Xk+1 = AXk + BUK = AXk + B(−KXk ) = (A − BK)Xk (4.29)

43
4.Fundamentos del control predictivo

De esa manera se puede ver que el efecto de la matriz K es alterar los polos
de la planta, ya que cambiará los valores propios de la matriz A.
La ecuación se puede escribir como:

Xk+1 = [ϕ]Xk (4.30)

De acuerdo al planteamiento analizado en las ecuación 4.8, el horizonte de


predicción se podrı́a obtener de manera similar, para este caso:
   
Xk+1 ϕ
 Xk+2   ϕ2 
 Xk+3  =  ϕ3  = −
−−→
   
    Xk+1 = Px0 Xk (4.31)
 ...   ... 
Xk+n ϕn
Y por lo tanto para U se tiene:
   
Uk −Kϕ
 Uk+1   −Kϕ2 
 Uk+2  =  −Kϕ3  = −−→
   
    Uk+1 = Pu0 Xk (4.32)
 ...   ... 
Uk+n−1 −Kϕn
Como se sabe que se va a implementar en algunas ecuaciones una solución
diferente a la óptima, entonces es conveniente agregar flexibilidad a la variable
de control en la predicción, como:

     
Uk −K Ck
 Uk+1   −Kϕ   Ck+1 
     
 Uk+2  =  −Kϕ2  +  ...  Xk = Pu Xk + Ck (4.33)
     
 ...   ...  Ck+nc−1 
Uk+n−1 −Kϕn−1 0...

Nótese que el horizonte de predicción del vector Ck es nc .


Los valores de Ck darán cero cuando se realiza la optimización LQR con las
ecuaciones 4.27 y 4.28, sin embargo toman importancia cuando se implementa
un resultado sub-óptimo como se verá más adelante.
Como el vector de Ck solo afecta a la señal Uk , entonces se debe reordenar
la predicción, ya que se tiene:

X(k + 1) = AX(k) + B(−KX(k) + C(k)) = [ϕ]X(k) + BC(k) (4.34)

De esa manera usando el mismo procedimiento que se realizó para la de-


ducción de la ecuación 4.8.

44
4.Fundamentos del control predictivo

      
Xk+1 ϕ B 0 0 0 .. 0 Ck
 Xk+2   ϕ2   ϕB B 0 0 .. 0    Ck+1 
 
   3  2
 Xk+3  =  ϕ  Xk +  ϕ B ϕB B 0 .. 0    Ck+2  (4.35)
 
    
 ...   ...   .. .. .. .. .. ..   ... 
n n n−1
Xk+n ϕ ϕ B ϕ B .. .. ϕB B Ck+nc −1
−−−→ −

Xk+1 = Px1 Xk + Hx1 Ck (4.36)
Y el horizonte de predicción para U se transforma como:

      
Uk −K I 0 0 0 .. 0 Ck
 Uk+1   −Kϕ   −KB I 0 0 .. 0    Ck+1 
 
    
 Uk+2  =  −Kϕ2  Xk + −KϕB −KB I 0 .. 0    Ck+2 
 
    
 ...   ...   .. .. .. .. .. ..   ... 
Uk+n−1 −Kϕ n
−Kϕ B −Kϕnc −1 B
nc
.. .. −KϕB −KB Ck+nc −1
(4.37)
−−→ −

Uk+1 = Pu1 Xk + Hu1 Ck (4.38)
Resumiendo lo anterior, se puede concluir cuando usar las ecuaciones de
predicción para las variables de estado y las variables de entrada. Esto se puede
aclarar teniendo en cuenta que la predicción del vector Ck es finita hasta llegar
a un horizonte nc , es decir que en ese intervalo la predicción las predicciones las
−−→ −−−→
darán la ecuación 4.38 para Uk+1 y la ecuación 4.36 para Xk+1 . Para muestras
−−−→ −−→
superiores a nc las predicciones para Xk+1 las da la ecuación 4.32 y para Uk+1
las da la ecuación 4.33.
En conclusión para N < nc :
−−−→ −

Xk+1 = Px1 Xk + Hx1 Ck (4.39)

−−→ −

Uk+1 = Pu1 Xk + Hu1 Ck (4.40)
Y para N > nc :
−−−→
Xk+1 = Px0 Xk (4.41)

−−→
Uk+1 = Pu0 Xk (4.42)
Las ecuaciones anteriores representan lo que en la literatura se llama predic-
ciones de modo dual, debido a que hay predicciones para dos distintas dinámi-
cas, el primer par de predicciones abarcan el estado transitorio mientras que
las ultimas dos el seguimiento asintótico.

45
4.Fundamentos del control predictivo

4.3.1. Solución del problema de modo dual


Las ecuaciones 4.39, 4.40, 4.41 Y 4.42 muestran el horizonte de predicción,
sin embargo se vuelve extenso el manejo de las ecuaciones cuando se maneja
por separado los valores de Ck+1 y Xk+1 , por lo tanto se suele hacer un arreglo
para crear un vector aumentado Zk que se define como:
 
Xk+1
Zk+1 = −−→ (4.43)
Ck+1
La ecuación aumentada se puede representar como:
    
Xk+1 Φ BB Xk
Zk+1 = −−→ = −
→ = [Θ]Zk (4.44)
Ck+1 0 II Ck
La matriz [Θ] como se puede ver es el resultado de varias matrices aumen-
tadas, dónde se tiene que la matriz Φ viene dada por la ecuación 4.30, el cero
es matricial, y las otras matrices vienen dadas por:
 
BB = B 0 0 · · · (4.45)
 
0 I 0 ..
0 0 I .. 
II = 0 (4.46)
 
 0 0 ..  
.. .. .. . .
. . . .
Para el vector Uk por otro lado se tiene la ecuación:
 
  Xk
Uk = [−K, 1 0 0 · · · ] − → = −Kz ZK (4.47)
Ck
Dónde el vector K se obtiene de la ecuación 4.27, para el caso óptimo, o se
puede reemplazar por otro valor si se quiere obtener un valor sub-óptimo para
que el vector Ck dé un valor diferente de cero en el caso sin restricciones.
Con las ecuaciones planteadas, se puede escribir la función objetivo LQR
en términos del vector Zk , para ello conviene definir una matriz que recupere
las variables de estado, es decir:

XK = [I, 0]Zk = Γx Zk (4.48)


Por lo tanto se puede escribir la ecuación de costo como:

X
J= (Γx Zk+1 )T Q(Γx Zk+1 ) + (−Kz Zk )T R(−Kz Zk ) (4.49)
k=0

Y combinando con la ecuación 4.44, se tiene:

46
4.Fundamentos del control predictivo


X
J= (Γx ΘZk )T Q(Γx ΘZk ) + (−Kz Zk )T R(−Kz Zk ) (4.50)
k=0

Que se puede reorganizar como:



X
J= ZkT (ΘT ΓTx QΓx Θ + KzT RKz )Zk (4.51)
k=0

Para llegar a la expresión con que se suele trabajar el control predictivo,


es conveniente mencionar las ecuaciones de Lyapunov que sirven para seguir
trabajando con la ecuación 4.51, estas permiten reescribirla:


X
J = Z0T ( (Θk )T (ΘT ΓTx QΓx Θ + KzT RKz )Θk )Z0 = Z0T SZ0 (4.52)
k=0

Nótese que se ha hecho uso de la ecuación de predicción recursiva:

Zk = (Θk )Z0 (4.53)


Dónde Z0 es la matriz para el periodo de análisis. Se puede reescribir 4.51
como:

X
J= Z0T ( (Θk )T W Θk )Z0 (4.54)
k=0

Evaluando la sumatoria en K=0, se tiene W, y por lo tanto se puede ver


la propiedad:
ΘT SΘ = S − W (4.55)
Se puede ver que las matrices Θ, Kz , Q y R se definen en el planteamiento,
estas calculan W , la ecuación 4.55 se puede resolver usando el comando de
MatLab dlyap(Θ,W) y por lo tanto ya se tendrı́a definido S.
De esa manera se puede redefinir la ecuación del óptimo como:

J = ZkT SZk (4.56)


Si se expresa a S como:
 
S Sxc
S = tx (4.57)
Sxc Sc
La ecuación se puede 4.56 se puede reescribir como:

→ − → −

J = XkT Sx Xk + 2XkT Sxc Ck + Ck T Sc Ck (4.58)

De esa manera se ha llegado a la ecuación buscada, que es buscar optimizar


la ecuación en términos de las variables de decisión Ck .

47
4.Fundamentos del control predictivo

El problema se resuelve igualando la derivada parcial respecto a cada va-


riable a cero, llegando a la ecuación:


Ck = −[Sc ]−1 Sxc
T
Xk (4.59)
De esa manera la señal de control de halla rescatando el primer valor de


Ck y sumándose a la señal óptima hallada con el LQR convencional.

Uk = −[K + E1T [Sc ]−1 Sxc


T
]Xk (4.60)
Con E1 calculada como:

E1T = [I, 0, 0...] (4.61)


Vale la pena mencionar que la matriz Sxc siempre dará cero cuando se tra-
baje la constante Kz óptima, sin embargo el uso de las restricciones justifican
el hecho de resolver para el vector predictivo Ck ya que las restricciones pueden
prohibir la señal de control óptima por cuestiones de saturación en la señal de
control o de salida o los incrementos de las mismas como se verá más adelante.

4.4. Seguimiento asintótico y rechazo a per-


turbaciones
Como se ha visto anteriormente, el planteamiento de la función objetivo
no involucra la señal de referencia, es por eso que es conveniente hacer uso de
las ecuaciones relativas al estado estacionario dadas por la ecuación 4.19, en
ese caso como se desea que la referencia sea la salida en estado estacionario,
entonces se tiene la ecuación:
    
r−d C 0 xss
= (4.62)
0 A − I B uss
Recordando que d es la perturbación y se actualiza en cada muestra como
la diferencia entre la salida del proceso y la salida del modelo. Una vez definida
la referencia se pueden hallar las variables de estado y las estradas de estado
estacionario despejando con la ecuación anterior y estos valores se introducen
en las variables incrementales. La ecuación de optimización se puede escribir
en términos de las señales incrementales haciendo el mismo procedimiento de
la sección anterior como:

X
J= ˆ T Qxk+1
(xk+1 ˆ + uˆk T Ruˆk ) (4.63)
k=0

La anterior ecuación es idéntica a la ecuación base que se trabajó en la


sección anterior, el único cambio es que en cada muestra se renuevan los valores
de xss y el uss de acuerdo al valor de perturbación que se actualice por la lectura

48
4.Fundamentos del control predictivo

del sensor. En la siguiente sección se verá como es que se agregan restricciones


en el modelo y se puede resolver fácilmente con ayuda de MatLab.

4.5. Control predictivo con restricciones


La programación lineal permite resolver problemas de optimización que
minimicen:
J = ZkT SZk (4.64)
Sujeto a:
GZk ≤ f (4.65)
El comando de MatLab quadprog permite resolver el problema, proporcio-
nando el valor del mı́nimo de J y las valores de Z que dan la optimización.
Suceden dos problemas principales a la hora de establecer las restriccio-
nes, el primero es que se debe hacer un ajuste a las restricciones de señales
de control, variables de estado y desviación de la referencia. Por otra parte el
problema principal es establecer un conjunto de restricciones finitas que per-
mitan cumplir las restricciones en el infinito que es el horizonte de predicción
usado por la función objetivo, eliminando al máximo posible las restricciones
redundantes.

4.5.1. Restricciones finitas para horizontes infinitos


Este problema fue resuelto por Gilbert en 1988, la propuesta es la definición
de un conjunto máximo admisible, denominado MAS por su siglas en inglés
Maximal Admissible SET.
El MAS es el más amplio conjunto de las variables de decisión Zk capaz
de satisfacer las restricciones para todo K. Los miembros de este conjunto son
necesarios y suficientes. El procedimiento hace una edición a las restricciones
iniciales escritas en la forma de la ecuación 4.65 y las transforma en un conjunto
de ecuaciones con diferentes dimensiones:

F Zk ≤ t (4.66)
Es MAS tiene como hipótesis que la matriz de predicción sea asintótica-
mente nilpotente para un valor de K, y esto se logra siempre que la matriz de
predicción de las variables de decisión tenga valores propios positivos, esto es:

Zk+1 = Θk Zk → lı́m Θk = 0 (4.67)


k→0

La ecuación 4.66 se obtiene encontrando un valor de Z el cual viola la


restricción en la predicción n+1, pero que satisface las las anteriores, es decir:

49
4.Fundamentos del control predictivo

   
GΘ f
 GΘ2  f 
 ..  Zk = F ≤  ..  t (4.68)
   
 .  .
n
GΘ f
Cuando se resuelve de la manera anterior se llama MCAS, debido a que es
el máximo .El problema surge cuando por un lado no se puede encontrar un
n que evidencie la violación de la restricción , y por otro lado en el caso de
que se deba renovar la restricción resulta un proceso de mucho tiempo hallar
la restricción y luego optimizar.

4.5.2. Ajuste de restricciones


El objetivo es ahora darle un orden a las restricciones de la señal de control,
de las variables de estado y de la máxima desviación de la referencia.
Matemáticamente las restricciones se escriben como:

Umin ≤ Uk ≤ Umax
(4.69)
CXk ≤ Xmax

Si se escribe en términos de las variables incrementales, se puede escribir


como:

Umin ≤ Uˆk + Uss ≤ Umax



(4.70)
C(X̂k + Xss ) ≤ Xmax
Reemplazando los valores de Xss y Uss a partir de:
 −1      
C 0 r−d −Kxr x
= (r − d) = ss (4.71)
A−I B 0 Kur uss
Se puede entonces organizar la restricción combinando las ecuaciones 4.47,
4.48 como:
     
−Kz Umax −Kur
 Kz  Zk = −Umin  +  Kur  (r − d) (4.72)
C; 0 Xmax −CKxr
De la ecuación anterior se puede identificar la matriz G y el vector f .
Se pueden agregar más restricciones con el hecho de aumentar la matriz. La
principal observación es que si la referencia es constante, pero cambian las per-
turbaciones entonces es necesario calcular las restricciones para cada muestra
y el procedimiento se hace muy extenso en tiempo y por lo tanto ineficiente.
Una forma puede ser tomar un conjunto de restricciones para un horizonte
determinado previamente, por ejemplo 40 muestras, y suponer que estás se
comportan de manera correcta para posibles variaciones, de está manera la
optimización online puede ser mejor, el otro caso puede ser calcular el valor

50
4.Fundamentos del control predictivo

de las restricciones para diferentes perturbaciones, y mediante un algoritmo


de optimización heurı́stica probar cual es el conjunto de ecuaciones que mejor
cumple ante todas las perturbaciones.

4.5.3. Forma alterna para seguimiento


Una forma de agregar restricciones usando seguimiento, se trata con va-
riables incrementales, estas se describen con las ecuaciones 4.16, 4.17 Y 4.18,
combinando con la realimentación obtenida por la señal de control K, se ob-
tienen las ecuaciones:

Xk+1 = ϕXk + [I − ϕ]Kxr (r − d) + BCk (4.73)

Uk = −KXk + [KKxr + Kur ](r − d) + Ck (4.74)


Esta representación sugiere replantear el vector aumentado Zk y de esa
manera se puede escribir como:
 
Xk
−→
Zk =  Ck  (4.75)
rk − dk
Se replantean la matriz Θ y el vector Kz con el fin de seguir el procedimiento
que permite llegar a la ecuación 4.60.
 
ϕ BB (I − ϕ)Kxr
Θ =  0 II 0  (4.76)
0 0 I

Kz = [−K[1, 0, ...][KKrx + Kru ]] (4.77)


Y las restricciones quedan de la forma:
   
−K [I, 0, 0...] kkxr + Kur Umax
 K −[I, 0, 0...] −KKxr − Kur   −Umin 
   
 C 0 0  Zk ≤  Xmax  (4.78)
   
 0 0 I   (r − d)max 
0 0 −I −(r − d)min

Que se pueden ajustar usando MAS para satisfacer la restricciones en todo


el horizonte de optimización, la cuál se resuelve con las matriz S como se
especificó en la sección de definición del ı́ndice de desempeño. Nótese que la
principal diferencia es que ahora se tiene una restricción para las desviaciones
máximas.

51
4.Fundamentos del control predictivo

4.6. Implementación en simulink


De acuerdo a lo visto anteriormente, las ecuaciones que se implementaron
fueron tomadas del trabajo previo de [2], sin embargo dicho trabajo utilizaba
únicamente Scripts para la implementación, el aporte del presente trabajo
es que se ha adaptado el planteamiento a simulink, aunque aún se siguen
requiriendo archivos de inicialización para definir las matrices Q y R que son
los pesos para la optimización, calcular las matrices de predicción de modo
dual, calcular la matrices de restricciones y la constante sub-óptima. En el
apéndice de códigos se puede ver en los archivos de inicialización, para el
caso con y sin restricciones, mientras que en la siguientes figuras se observa el
diagrama de bloques en simulink.

Figura 4.2: Diagrama de bloques para LQR sin restricciones.

52
4.Fundamentos del control predictivo

Figura 4.3: MPC con restricciones:Modo dual.

De acuerdo a la figura anterior, las matrices M , N , t y V representan


el arreglo de las restricciones después de haber realizado el procedimiento de
MAS, la ecuación que arreglan es:

M x + N Ck + v(r − d) ≤ t (4.79)
Dónde d representa las perturbaciones máximas.
El comando Quadprog de MatLab realiza la optimización para el problema
de la forma:

Xopt = M in(0,5X T HX + f 0 X) (4.80)


sujeto a :
AX ≤ B (4.81)
Que en términos de la notación del presente trabajo, se lista como:

[Cf ut ] = quadprog(SC, SXC 0 (X − Xss ), N, t − M X − V ∗ (r − d)); (4.82)

Para este caso X es cfut, que son los Ck en el horizonte nc, de la ecuación
4.33. Del resultado de la optimización sólo se toma el Ck para el tiempo presente
y con éste se ajusta la señal de control óptima, esto se hace para cada periodo
de muestreo de simulación.

53
Capı́tulo 5

Planteamiento y resultados de
las simulaciones de diferentes
escenarios

5.1. Introducción
En el presente trabajo se ha decidido abordar en un solo capı́tulo el plan-
teamiento de los casos a simular y los resultados con su respectivo análisis,
esto con el fin de que no se pierda el hilo en lo que se quiere demostrar y la
verificación de si se cumplió o no el objetivo con el controlador diseñado y
sintonizado.
Para el diseño de todos los controladores los modelos de la planta se repre-
sentan en tiempo continuo y las herramientas computacionales se encargan de
la discretización por el método de retenedor de orden cero.
Los modelos se representan en variables de estado, debido a que esta repre-
sentación permite modelar de manera sencilla modelos de múltiples entradas
y salidas, propios para lo que sucede en un sistema de potencia dónde hay
varios nodos inyectando o almacenando energı́a, aportando para la regulación
de frecuencia y la satisfacción de la demanda del sistema.
En el presente capı́tulo se trabajan diferentes casos, el primero considera
un solo nodo el cuál tiene una baja constante de inercia y se le realiza control
de frecuencia e imitación de la inercia. En el segundo caso la meta es la misma,
solo que para un sistema de 14 nodos, que se modela como solo uno mediante
la ecuación agregada de oscilación analizada en el capı́tulo 2. El tercer caso es
similar al segundo pero considera como restricción el estado de carga de los
elementos que proporcionan energı́a adicional para la imitación de la inercia.
El último caso rechazo de perturbaciones e imitación de la inercia pero en un
sistema de 14 nodos, dónde se modela la dinámica de todos los generadores del
sistemas mediante la función embebida explicada en el capitulo 3. Cada caso
se atenderá en el siguiente orden:

54
5.Simulaciones y resultados

Explicación de los objetivos, condiciones y suposiciones del caso.


Representación en variables de estado del modelo de la planta .
Diseño del controlador.
Demostración de resultados y conclusiones.

5.2. Caso 0: Seguimiento de frecuencia para


un sistema de un solo nodo eólico
Para este caso, se supone que se dispone de un sistema de alimentación
puramente renovable, el cual esta en equilibrio de generación y demanda, y la
frecuencia se encuentra en el valor de referencia de 60Hz.
El caso pretende validar el funcionamiento del control predictivo, por lo
que se plantearon los siguientes objetivos:

Sintonizar y simular un controlador predictivo capaz de rechazar pertur-


baciones tipo paso.
Sintonizar y simular un controlador predictivo capaz de imitar la inercia.
Verificar que quedan satisfechas las restricciones impuestas en las señales
de control.
Para cada uno de los subcasos anteriores se hace una simulación adicional
introduciendo un actuador que modela el acople entre la señal de control
y los dispositivos que permiten que acople la energı́a adicional con la red.

5.2.1. Control de frecuencia sin actuador


Para este caso se usa la ecuación de oscilación convencional adaptada para
un sistema con baja inercia:
d∆f fo πDfo
= (∆Pmec + ∆Padd − ∆Pe ) − ∆f (5.1)
dt 2SB H SB H
Se reemplazan los valores:

SB = 0,2pu, f o = 60Hz, HW ind = 0,1s, D = 0,02Hz/M W (5.2)


Y se llega a la ecuación de variables de estado con:

Aw = −188,5, Bw = 1500, Cw = 1, Dw = 0 (5.3)


Al excitar al sistema con una perturbación tipo paso de -0.1pu se observa
la respuesta para el sistema continuo y discretizado que se muestra en la figura
5.1.

55
5.Simulaciones y resultados

Figura 5.1: Respuesta al paso generador eólico

El tiempo de asentamiento se observa que es de cerca de 3ms, lo cuál es


bastante bajo respecto a los generadores sı́ncronos que tiene un tiempo de
cerca de 2.5 Seg, según se observa en la figura 5.2.

Figura 5.2: Respuesta al paso generador sı́ncrono

Para eliminar la perturbación se propone una sencilla arquitectura de con-


trol como la que se muestra en la figura 5.3, dónde la señal de control es una
potencia adicional ∆Padd (porque se supone ∆Pmec nula en la ecuación 5.1),
que proviene de una fuente de energı́a que para este trabajo se trata como una

56
5.Simulaciones y resultados

caja negra, la literatura normalmente la llama energı́a cinética virtual alma-


cenada. Sin embargo esta caja negra esta limitada en su capacidad de carga y
su potencia máxima añadida y esto se tratará en simulaciones futuras.
Los generadores sı́ncronos agregan potencia a partir de los sistemas de
control que abren o cierran la válvula que permite la inyección de potencia
mecánica a la turbina, sin embargo para el caso de generadores eólicos se
podrı́a obtener energı́a adicional si:

Se trabaja el control del pitch para que no trabaje a su potencia máxima,


dejando reserva para el control de la frecuencia.

Se dispone de dispositivos de almacenamiento de energı́a con rápida res-


puesta como lo son celdas de combustible, supercapacitores o baterı́as.

Teniendo en cuenta lo anterior se puede plantear en un principio la arqui-


tectura de control que se muestra en la figura 5.3, dónde se puede ver que se
asume que la potencia se transmite de manera instantánea desde el controlador
al generador, es decir el actuador reacciona de manera inmediata.

Figura 5.3: Arquitectura de simulación para control de frecuencia

En el apéndice de códigos se muestra el Script U nN odoInit.m , cuya fun-


ción es cargar las matrices que configuran el controlador según las ecuaciones
del capitulo de MPC. El archivo en simulink se llama Caso0T rack.slx. Los
resultados se muestran en las figuras 5.4, 5.5 y 5.6, dónde se puede ver que se
logra rechazar la perturbación totalmente en un tiempo menor a 0.5ms. Sin
embargo se deben hacer las siguientes observaciones:

La derivada de la frecuencia presenta valores bastante altos.

No se ha puesto limitación en la señal de control debido a que de otra


manera nunca se rechazarı́a completamente la perturbación.

Se ha supuesto que la potencia se entrega de manera instantánea al


generado, es decir el actuador es inmediato.

57
5.Simulaciones y resultados

En la siguiente subsección se considera el efecto del actuador en el control


de frecuencia.

Figura 5.4: Frecuencia en función del tiempo, seguimiento en un nodo

Figura 5.5: Derivada de la frecuencia en función del tiempo, seguimiento en un


nodo

58
5.Simulaciones y resultados

Figura 5.6: Perturbación y potencia agregada, seguimiento en un nodo

5.2.2. Control de frecuencia considerando el actuador


Para quitar los efectos de agregar potencia de manera instantánea se modela
un actuador con la siguiente función de transferencia, que en el esquema de
control se implementa como lo muestra la figura 5.7.
1
A(s) = (5.4)
(τ1 s + 1)(τ2 s + 1)

Figura 5.7: Arquitectura de simulación para imitación de la inercia con actua-


dor

Dado un actuador de esta forma, la representación en variables de estado


se hace mediante la realización en cascada, expresando 5.4 en dos bloques
factorizados, dándole el valor de x1 a la variable que sale del polo con constante
τ1 y x2 a la que variable de estado que sale del bloque con constante τ2 , nótese
que x3 es ∆f .
   −1    1 
x˙1 τ1
0 0 x1 τ1
x˙2  =  1 −1 0  x2  +  0  ∆Padd (5.5)
τ2 τ2
x˙3 0 Bw Aw x3 0

59
5.Simulaciones y resultados

 
  x1
y = 0 0 1 x2  (5.6)
x3
Los resultados para las condiciones anteriores se muestran en las figuras 5.8,
5.9 y 5.10. El código se encuentra en el archivo U nN odoInitActu.m que carga
los datos para el archivo de simulink Case0T rack1.sxl, que se ha programado
basándose en las ecuaciones del capı́tulo del control predictivo.
Comparando con el caso sin actuadores se observa que el tiempo de rechazo
es mucho más lento, del orden de 0.9 segundos, tiempo que se harı́a mayor
para un actuador más lento. La frecuencia cae a un valor de -0.77Hz que es
prácticamente igual al caso anterior, debido a dónde se ubica la perturbación
en el sistema. La señal de control reacciona bastante rápido, sobrepasando
en algún porcentaje el valor de 0.1Pu, el sobrepico de lazo cerrado se puede
disminuir aumentando el peso a la señal de control en la minimización del
ı́ndice de desempeño.
Tanto en la figura 5.10 como en la 5.5, la derivada de la frecuencia toma un
valor muy alto, en ambos casos el máximo de la derivada fue de cerca de -140
Hz/s. Para solucionar este inconveniente en necesario cambiar el paradigma
del diseño de control como aquel que rechaza perturbaciones, proponiendo
entonces realizar un control capaz de imitar la inercia con el fin de que haga
más suave el comportamiento de la frecuencia ante este tipo de fallas.

Figura 5.8: Desviaciones de frecuencia en función del tiempo ante perturbacio-


nes tipo paso, considerando actuador

60
5.Simulaciones y resultados

Figura 5.9: Derivada de la frecuencia en función del tiempo, considerando


actuador

Figura 5.10: Perturbación, señal de control y salida del actuador en función


del tiempo.

De este primer conjunto de simulaciones se concluye lo siguiente:

61
5.Simulaciones y resultados

El control de frecuencia en cuánto a rechazo de perturbaciones funciona


de manera correcta, rechaza en tiempos cortos y desvı́a las perturbacio-
nes. Sin embargo se necesita que la fuente que agrega potencia sea capaz
de entregar la potencia de perturbación y en la práctica puede que no
este disponible.
El MPC se puede sintonizar fácilmente para que la señal de control quede
acotada a los lı́mites del actuador.
Agregar el actuador hace que el tiempo de rechazo sea más lento, debido
a que el sistema se demora más tiempo en reponerse de la ausencia de
potencia.
Para evitar la caı́da rápida de la frecuencia, se necesita que el controlador
reaccione a la derivada de la misma, debido a que este valor es más
alto y exigirá al controlador a reaccionar más rápido, según se vio en la
explicación de la imitación de la inercia.

5.3. Caso 1:Imitación de la inercia para siste-


ma de un solo nodo eólico
La figura 5.11, muestra la arquitectura del controlador para la imitación
de la inercia, como se puede ver el modelo elimina al actuador.

Figura 5.11: Arquitectura de simulación para imitación de la inercia

Como se vio en el capitulo de fundamentos y conceptos, la imitación de la


inercia responde a la derivada de la frecuencia, y esto da como resultado una
potencia con área bajo la curva (energı́a) finita, diferente a cuando el objetivo
es rechazar la perturbación, dónde se requiere que la potencia permanezca en
estado estacionario y sea opuesta a la perturbación. Según se pudo ver en la
figura 2.8, la señal de control de potencia adicional para imitar la inercia tenı́a
la forma:

62
5.Simulaciones y resultados

Padd = Pmax e−t/τconv (5.7)


Dónde τconv es la constante de tiempo del generador convencional, dónde
según se ha mencionado se quiere que sea de 0.43 segundos. Recordando que
la potencia agregada puede ser variable dependiendo de la disponibilidad que
haya en los elementos de almacenamiento de energı́a, la potencia que le entra
al generador eólico ante el caso de perturbación tipo paso de -0.1pu queda de
la forma:
−t
Pint = −0,1u(t) + Padd e τconv (5.8)
En la figura 5.12 se muestran las respuesta esperadas de frecuencia, ante
las diferentes cantidades máxima de potencia adicional disponibles. Se puede
observar que cuando la potencia adicional máxima es menor a 0.1pu, es im-
posible comportarse igual que el generador convencional, esto se debe a que
en el tiempo de falla la diferencia de potencia (P addmax − 0,1) dará lugar a
una variación rápida de la frecuencia y la potencia disponible solo estará para
que la caı́da se disminuya al final. Nótese que cuando la potencia adicional
es máxima de 0.1pu, la curva del generador convencional es igual a la de la
imitación de la inercia.

Figura 5.12: Respuestas esperadas de imitación de la inercia para diferentes


potencias máximas disponibles

De acuerdo a lo anterior, se diseñará el controlador sabiendo que para

63
5.Simulaciones y resultados

potencias disponibles máxima menores a la máxima de perturbación no se


logrará una imitación de la inercia totalmente exitosa.
Para el planteamiento las ecuaciones en variables de estado, se hace tenien-
do en cuenta el diagrama de la figura 5.13.

Figura 5.13: Modelo de la planta para imitación de la inercia.

Como se puede ver se ha planteado tal representación debido a que el


controlador debe responder a la derivada de la frecuencia. El integrador se
incluye debido a que si se quisiera obtener la función de transferencia con
entrada ∆P y salida ∆f˙, quedarı́a la ecuación:

∆f˙ 8s
= (5.9)
∆P 0,005s + 1
Dónde se nota que es bipropia y la herramienta mpcDesigner no funciona
para dichos sistemas. Por lo tanto si se agrega el integrador es posible esconder
el cero y es válida la ecuación:
fo πDfo ˙
∆f¨ = (∆Ṗadd − ∆Ṗl ) − ∆f (5.10)
2SB H SB H
Por lo tanto se puede plantear el modelo en variables de estado como:

∆f˙
      
Awind 0 Bwind ∆f 0
 ∆f¨  =  0 0   ∆f˙  + Bwind  ∆Ṗadd
 
Awind (5.11)
˙
∆Padd 0 0 0 ∆Padd 1
    
y1 1 0 0 ∆f
y2  = 0 1 0  ∆f˙  (5.12)
y3 0 0 1 ∆Padd
Aunque el interés final es medir la frecuencia y poder limitar la señal de
control, es conveniente definir cada estado como salida, ya que la herramienta
mpcDesigner permite definir restricciones en la salida y de esa manera es
posible limitar la cantidad de potencia adicional, aunque será necesario hacer
otros ajustes. En la práctica el integrador harı́a parte del controlador, y la señal

64
5.Simulaciones y resultados

de potencia agregada es la salida directa al actuador que en este caso se asume


constante, porque en caso de tener una respuesta transitoria con constante de
tiempo mayor que el tiempo de muestreo quedarı́a imposible llegar a imitar la
inercia.
El archivo Imitacioncaso1.m, se ejecuta para cargar el modelo de la planta
y el controlador que usa el archivo de Simulink, cuyo nombre es Imitacionca-
so1.sxl.
La sintonización del controlador se hace partiendo de que las referencias de
las tres salidas se quiere que sean nulas. Sin embargo para lograr imitación de
la inercia no se pretende que la desviación de frecuencia vuelva a cero, sino que
varı́e más lento, es por eso que es conveniente asignarle un peso bajo respecto
a las otras dos salidas.
Para limitar la señal de potencia agregada no basta solo limitar la variable
de salida, debido a que mpcDesigner le da mayor prioridad a la señal de
˙
entrada que en este caso serı́a ∆P add. Es por eso que se debe limitar la señal
de control a partir de su integral, es decir, como se quiere la potencia de la
forma:
Z t −(t−tpert )
∆Padd = ˙ (τ )dτ = Pmax e τconv u(t − tpert )
∆Padd (5.13)
tpert

Siendo tpert el tiempo en dónde ocurre la perturbación tipo paso. Como la


energı́a para el control, que es el área bajo la curva de la potencia agregada
debe ser finita, implica que la derivada de la potencia debe tener un cambio de
signo para que el área bajo la curva neta sea cero y al final sea cero la potencia
agregada. Derivando a ambos lados en la ecuación anterior, aplicando la regla
del producto queda:

˙ (t) = Pmax (e
−(t−tpert ) 1 −(t−tpert )
∆Padd τconv δ(t − tpert ) − e τconv u(t − tpert )) (5.14)
τconv
Esto permite ver que para lograr la imitación de la inercia, la ecuación requiere
un impulso en el tiempo de perturbación, por lo que no serı́a posible estimar
el valor inicial debido a que teóricamente el impulso es infinito, sin embargo
en la práctica el valor inicial de la derivada de la potencia será el máximo,
y por lo tanto el área bajo la curva del primer trapecio de la señal ∆Padd ˙ (t)
deberá cumplir:
Ts

˙ − Pmax e Ts
τconv
Pmax = (∆Pmax ) (5.15)
τconv 2
˙
De esa manera para un Pmax deseado se puede fijar el máximo de ∆Pmax
como:

−Ts

˙ = Pmax ( 2 + e 2 1
τconv
∆Pmax ) ≈ Pmax ( + ) = 1000Pmax (5.16)
Ts τconv Ts τconv

65
5.Simulaciones y resultados

Para un tiempo de muestreo de 0.2ms y un tao de 0.43s que es el que se asume


para una máquina sı́ncrona.
De esa manera, los resultados para una limitación a 0.025pu y a 0.1pu se
muestran en las figuras 5.14 y 5.15:

Figura 5.14: Respuesta del generador eólico ante perturbación tipo paso:Padd
máxima de 0.03pu

66
5.Simulaciones y resultados

Figura 5.15: Respuesta del generador eólico ante perturbación tipo paso:Padd
máxima de 0.1pu

La configuración del controlador se encuentra en el apéndice de codigos, el


cuál se llama imitacion1.m, el achivo en simulink que simula el caso se llama
Imitacioncaso1.m.

5.4. Caso 2: Ecuación agregada de oscilación.


De acuerdo a lo que se introdujo en la sección 2.7, la ecuación de oscilación
agregada según los datos del cuadro 2.1, reemplazados en la ecuación 2.43 da:

∆f˙ = −0,7789∆f + 6,19(∆Padd − ∆Pe ) (5.17)


o en función de transferencia:
∆f (s) 8
= (5.18)
∆P (s) 1,28s + 1
Para el caso de dos nodos eólicos, y:

∆f˙ = −0,47∆f + 3,75(∆Padd − ∆Pe ) (5.19)


o en función de transferencia:
∆f (s) 8
= (5.20)
∆P (s) 2,12s + 1

67
5.Simulaciones y resultados

Para el caso de todos los nodos convencionales.


Se puede notar de las funciones de trasferencia que la constante de tiempo
para el caso con generadores eólicos es de 1.28 segundos, mejorando la res-
puesta al paso de perturbación respecto al caso dónde operaba sólo, que era de
tan solo 0.005segundos. Por otra parte para el caso de todos los generadores
convencionales, mejora también la constante de tiempo ya que llega a 2.12
segundos, respecto al generador convencional trabajando solo que tenı́a una
constante de tiempo de 0.42 segundos. A continuación se muestra la respuesta
a la perturbación tipo paso en lazo abierto para ambos casos, dónde se observa
que en el estado estacionario la frecuencia se desvı́a el centro de frecuencia de
la red a 0.8Hz.

Figura 5.16: Respuestas al paso sin control: Ecuación agregada oscilación


(EAO)

El propósito para este caso será por un lado rechazar la perturbación y por
otro lado imitar la inercia, comparando en ambos casos el desempeño que se
tendrı́a con y sin la presencia de los nodos eólicos.

5.4.1. Rechazo a perturbaciones


En el apéndice de códigos se muestra la sintonización de los controladores
con mpcDesigner, los resultados ante una perturbación de 0.1pu se muestra en

68
5.Simulaciones y resultados

la figura 5.17.

Figura 5.17: Respuestas ante perturbación tipo paso con control EAO.)

Como el propósito es rechazar la perturbación entonces se debe poner un


alto peso a la salida y se deja menos peso a la señal de control. El código
ASEcaso.m carga los controladores que se usan en el archivo de simulink Re-
chazoAse.sxl.
Se puede ver que la señal de control llega al valor de potencia de pertur-
bación en menos de 0.5segundos, sin embargo la lenta dinámica del sistema
hace que la recuperación de la perturbación sea algo lenta, ya que se limpia
en cerca de 9 segundos para el caso con generadores eólicos y en 9.5 para el
caso con solo convencionales. En ambos casos más lento que para generadores
individuales. El sistema con generadores eólicos presenta un pico mayor en
la frecuencia de 0.044Hz, respecto al caso sin eólicos que tan solo se desvı́a
en 0.031Hz. La señal de control en ambos casos presenta un comportamiento
igual. La derivada de la frecuencia en este caso no es tan crı́tica respecto al re-
chazo de perturbaciones con generadores individuales, dónde llegaba a valores
de 144 Hz/s y 54Hz/s, sin embargo en este caso los picos son de 0.6 Hz/s para
el eólico y de 0.38Hz/s para el segundo. Esto permite ver que a nivel integrado

69
5.Simulaciones y resultados

las fuentes no sufren tanto a las perturbaciones, lo que puede resultar obvio
si se tiene en cuenta que la perturbación se mantiene igual pero la potencia
disponible es mayor ahora, y por lo tanto se vuelve menos crı́tico, respecto al
observado en las figuras 5.5.

5.4.2. Imitación de la inercia-Ecuación agregada


Para este caso el objetivo es más sencillo respecto al caso de un solo nodo, ya
que si se observa la figura 5.16 la diferencia entre los tiempos de asentamiento
son de cerca de 4 segundos, que es mayor respecto a la diferencia observada en
las las figuras 5.1 y 5.2 dónde las diferencias entre los tiempos de asentamiento
era mayor a 2 segundos, sin embargo debido a que la dinámica del sistema con
nodos eólicos es más lenta, no es tan crı́tico el tiempo de reacción de la señal
de potencia añadida que era un reto para el caso de un nodo trabajando solo.
A diferencia del planteamiento en variables de estado que se hizo para la
imitación de la inercia en el caso del sistema de un solo nodo, se puede hacer
un nuevo planteamiento con el fin de limitar la señal de control de potencia
adicional directamente y no a través de su derivada.

∆f˙
      
Aag 0 0 0 ∆f 0 Bag 
 ∆f¨   0 Aag  ∆f˙  Bag 0  ∆Padd
˙

0 0
˙ = 0
    +  (5.21)
∆Pest 0 0 0 ∆Pest   1 0  ∆Padd
ẋ4 0 0 1 0 x4 0 −1
    
y1 1 0 0 0 ∆f
y2  0 1 0 0 ˙ 
  ∆f 

 = (5.22)
y3  0 0 1 0 ∆Pest 
y4 0 0 0 1 x4

Figura 5.18: Arquitectura para imitación de la inercia EAO.

El planteamiento anterior tiene el fin de que la señal de control se pueda


acotar y restringir directamente, porque en caso contrario se debe hacer un

70
5.Simulaciones y resultados

cálculo extra para acotar la derivada como se vio en la sección anterior. Como
se puede ver se agregan dos variables de estado, una es la integral de una
salida del controlador ∆Padd˙ que vendrı́a a ser una estimación de la potencia
adicional, sin embargo es diferente de la señal de control ∆Padd que es la
entrada de la planta, por lo tanto se agrega la cuarta variable de estado cuya
razón de cambio es:

x˙4 = ∆Padd − ∆Pest (5.23)


Es decir que el controlador requiere la realimentación de la señal:
Z t Z v
x4 = ( ˙ (τ )dτ ) − ∆Padd (v)dv
∆Padd (5.24)
0 0
En el apéndice 1 se muestra el proceso de diseño de este controlador con
mpcDesigner, observando que el objetivo es que la señal de potencia estimada
sea similar a la de salida del controlador y por lo tanto debe ser finita para el
caso de imitación de la inercia. Por otro lado el error debe ser a cero, es decir
que se debe poner como referencia cero a estás dos variables y deben reaccionar
solo durante la perturbación.A la ultima variable de estado se le da un alto
peso para que el error sea nulo y se debe procurar que la potencia estimada
tenga duración finita.
En las siguientes figuras se observan los resultados obtenidos con el anterior
planteamiento, dónde se ha simulado tanto para perturbaciones tipo paso como
tipo rampa.

71
5.Simulaciones y resultados

Figura 5.19: Imitación de la inercia ante perturbación tipo paso con control
EAO.)

72
5.Simulaciones y resultados

Figura 5.20: Imitación de la inercia ante perturbación tipo rampa con control
EAO.)

Se puede ver que para ambos casos se cumple satisfactoriamente el requisito


de potencia máxima permitida.

5.5. Caso 3: Restricción de estado de carga EC


Como se vio en la sección 2.6, el estado de carga representa la cantidad
de energı́a disponible en un baterı́a o un elementos de almacenamiento. Por
ejemplo un estado de carga del 50 % indica que es esa la energı́a disponible de
la capacidad nominal de la baterı́a. Para esta simulación se supondrá que la
energı́a disponible estará entre +- 0.05pu, lo que quiere decir que si está en
0.05pu está completamente cargada, y estará totalmente descargada si está en
-0.05pu. Es decir este rango es equivalente a barrer desde el 0 al 100 % el
estado de carga. El estado de carga se adiciona como un estado para el caso
de imitación de la inercia, en dónde se deja igual las ecuaciones respecto al
caso anterior, mientras que únicamente se agrega un estado que satisface la

73
5.Simulaciones y resultados

ecuación 2.39.

∆f˙
      
Aag 0 0 0 0 ∆f 0 Bag
 ∆f¨   0 Aag 0 0 0 ˙  
  ∆f  Bag 0  ∆Padd ˙
  
  
∆P˙  =  0 0 0 0 0 ∆Pest  +  1 0  (5.25)
  
 est    ∆Padd
 ẋ4   0 0 1 0 0   x4   0 −1 
x˙e 0 0 0 0 0 xec 0 1

      
y1 1 0 0 0 0 ∆f 0 Bag
y2  0 1 0 0 0 ˙  
  ∆f  Bag 0  ∆Padd ˙
  
  
y3  = 0 0 1 0 0 ∆Pest  +  1 0  (5.26)
  
    ∆Padd
y4  0 0 0 1 0   x4   0 −1 
y5 0 0 0 0 1 xsoc 0 1

74
5.Simulaciones y resultados

Figura 5.21: Imitación de la inercia ante perturbación tipo rampa con control
EAO y estado de carga)

5.6. Caso 4: Regulación e imitación de la iner-


cia para sistema de 14 nodos
El sistema que se pretende simular se muestra en la siguiente figura [4]:

75
5.Simulaciones y resultados

Figura 5.22: Esquemático del sistema de 14 nodos

Como se puede ver, es un nodo que posee 5 nodos de generación y 9 nodos


de demanda. Las caracterı́sticas de los generadores se muestran en la tabla 2.1
en el caso dónde hay dos nodos eólico.
Según lo visto en el capı́tulo 3, el primer paso consta en establecer un punto
de operación del sistema, las demandas y generaciones programadas se listan
en la siguiente tabla, se han tomado negativas las inyecciones de potencia,
mientras que se han tomado positivas las demandas.

76
5.Simulaciones y resultados

Cuadro 5.1: Resultado flujo de potencia inicial


Nodos Tipo P [PU] Q [PU]
N1 Slack -0.495 1
N2 PV -0.2 -1.25
N3 PV -0.4 0.31
N4 PQ 0.4 0.5
N5 PQ 0.07 0.01
N6 PV -0.5 -0.47
N7 PQ 0 0
N8 PV -0.2 -0.3148
N9 PQ 0.35 0.05
N10 PQ 0.2 0.06
N11 PQ 0.2 0.08
N12 PQ 0.16 0.05
N13 PQ 0.28 0.05
N14 PQ 0.08 -0.05
Total Gen 1.795 0.7248
Total Dem 1.74 0.75

Para este sistema se tienen dos enfoques de control. El primero es imitación


de la inercia y el segundo es seguimiento de la frecuencia. En la figura 5.23 se
muestra la arquitectura de la función embebida en simulink en lazo abierto,
como se puede ver, las entradas son la matriz de admitancias del sistema
(ybinit), los fasores de tensión resultado del flujo de potencia (vbusinit), los
valores de frecuencia inicial (omegainit) que es un vector de ceros, las potencias
complejas programadas en cada nodo (snetinit), los apuntadores a nodos de
generación y demanda (genlist y loadlist), y las matriz aumentada para la
ecuación de oscilación (HI2). La entrada es una señal tipo paso llamada pf ault,
que entra en el nodo 4. En el momento padd se ha puesto en cero con el fin de
analizar el lazo abierto, para comparar la respuesta con y sin turbinas de viento,
se mide la frecuencia en el slack. En el apéndice de códigos se ve el archivo de
inicialización init.m para cargar la configuración del caso y la función embebida
que ejecuta en cada intervalo de muestreo el método de Newton-Rhapson para
resolver la ecuación aumentada de oscilación y el flujo de potencia.

77
5.Simulaciones y resultados

Figura 5.23: Esquemático del sistema de 14 nodos.

La respuesta en lazo abierto comparando ambos casos se muestra en la


figura 5.24, donde se puede observar que hay una diferencia de cerca de 0.02
Hz en el estado estacionario, y una diferencia de cerca de 2.5 segundos en el
tiempo de asentamiento en la frecuencia del slack cuando todos los generadores
son convencionales y dos nodos con aporte de energı́as renovables.

78
5.Simulaciones y resultados

Figura 5.24: Desviación de frecuencia en lazo abierto.

Aunque el sistema embebido resuelve para las potencias de acuerdo a un


método de resolución de ecuaciones no lineales, se ha observado que las res-
puestas en lazo abierto se pueden caracterizar como sistemas de primer orden,
y se observa homogeneidad al menos en las respuestas al paso debido a que
si se incrementa al doble el valor de la perturbación , la desviación de estado
estacionario de frecuencia aumenta al doble también. De esa manera, para la
presente simulación se tomará como referencia las funciones de transferencia
de lazo abierto, con entrada perturbación en el nodo 4 y salida frecuencia en
el nodo slack y el nodo 2. Al realizar la identificación se obtienen las funciones
de transferencia:

∆f1 (s) 8,37


= (5.27)
∆Pl4 (s) 1,2s + 1
Para el caso con todos los generadores convencionales, y:

∆f1 (s) 8,56


= (5.28)
∆Pl4 (s) 0,7s + 1
Para el caso de dos generadores renovables, mientras que para el nodo 2 se
tiene:

∆f2 (s) 12,49


= (5.29)
∆Pl4 (s) 1,2s + 1
Para el caso con todos los generadores convencionales, y:

∆f2 (s) 11,73


= (5.30)
∆Pl4 (s) 0,8s + 1
Para el caso de dos generadores renovables. Nótese que tanto en el nodo 2
como en el nodo slack, los errores de estado estacionario son diferentes,al igual

79
5.Simulaciones y resultados

que las constantes de tiempo. En el archivo identificacion.slx se muestra la


comparación entre los resultados obtenidos con las funciones de transferencia
anteriores y las respuestas del sistema embebido en lazo abierto. Nótese que
el resultado dista del esperado por la ecuación agregada de oscilación de las
ecuaciones 5.18 y 5.20.

5.6.1. Imitación de la inercia en sistema de 14 nodos


De acuerdo a los resultados anteriores,el control para imitación de la inercia
se hará sintonizando los controladores en el caso de dos turbinas eólicas para
obtener el comportamiento cuando todos los generadores son convencionales.
Para el diseño del controlador se usa la ecuación 5.29 ya que se le dará prioridad
a la frecuencia en el slack. De esa manera la representación en variables de
estado queda de la forma de la ecuación:

∆f˙
      
Aag 0 0 0 0 ∆f 0 Bag
 ∆f¨   0 Aag 0 0 0 ˙  
  ∆f  Bag 0  ∆Padd ˙
  
  
∆P˙  =  0 0 0 0 0 ∆Pest  +  1
    0  (5.31)
 est   ∆Padd
 ẋ4   0 0 1 0 0   x4   0 −1 
x˙e 0 0 0 0 0 xec 0 1

      
y1 1 0 0 0 0 ∆f 0 Bag
y2  0 1 0 0 0 ˙  
  ∆f  Bag 0  ∆Padd ˙
  
  
y3  = 0 0 1 0 0 ∆Pest  +  1
    0  (5.32)
   ∆Padd
y4  0 0 0 1 0   x4   0 −1 
y5 0 0 0 0 1 xsoc 0 1
con:
Ag = −1,42Bg = 1,22 (5.33)
En el apéndice de códigos se muestra la definición en variables de estado y
la sintonización del controlador con mpcDesigneer, los resultados obtenidos se
dividen en dos partes, ya que primero se supone que el actuador responde de
manera instantánea, y luego se supone de la forma:
1
A(s) = (5.34)
(τ1 s + 1)(τ2 s + 1)
Dónde se han tomado las dos constantes de 0.5 segundos para la simulación.
El esquemático del sistema completo se muestra en la siguiente figura:

80
5.Simulaciones y resultados

Figura 5.25: Arquitectura para imitación de la inercia.

Las simulaciones se realizaron pruebas tanto para entradas tipo paso como
para entradas tipo rampa. Para el caso con actuador constante se tiene:

Figura 5.26: Frecuencia y derivada entrada tipo paso nodo slack, sin actuador.

81
5.Simulaciones y resultados

Figura 5.27: Frecuencia y derivada entrada tipo paso nodo 2, sin actuador.

Figura 5.28: Potencias para entrada tipo paso sin actuador

82
5.Simulaciones y resultados

De las tres anteriores figuras se observa que se logra imitar la inercia sa-
tisfactoriamente debido a que la curva de potencia decae incluso más lento
que en el caso sin turbinas eólicas. Sin embargo se observa que en la derivada
de la frecuencia no se disminuye su pico respecto al caso sin control, esto se
debe a que se ha modelado un sensor con una constante de tiempo de 16ms, y
por lo tanto retarda la respuesta del controlador. Se observa que tanto para el
nodo 2 como el slack es satisfactorio el desempeño del controlador en cuanto a
imitar la inercia debido a que retarda la caı́da de la frecuencia en cerca de 3.5
segundos respecto al caso con todos los controladores en el nodo 2. Respecto
a la potencia se observa que en este caso la salida del actuador en la misma
que la del controlador, el pico es de 0.0015pu lo que es una potencia bastante
baja respecto a la solicitada en los casos anteriores. Esto se debe a que el slack
entrega la potencia restante de falla. Las desviaciones de frecuencia respecto
son de -0.83Hz y de -1.125Hz para el nodo slack y el nodo 2 respectivamente.
Cuando se tiene hace una perturbación con señal triangular como la de ls
cass anteriores, se tienen las respuestas:

Figura 5.29: Frecuencia y derivada entrada tipo rampa nodo slack, sin actua-
dor.

83
5.Simulaciones y resultados

Figura 5.30: Frecuencia y derivada entrada tipo rampa nodo 2, sin actuador.

Figura 5.31: Potencias para entrada tipo rampa sin actuador

De las tres figuras anteriores se puede ver que el controlador permite que
se reduzca la desviación de frecuencia máxima en cerca de 0.15Hz en el nodo
1 y de 0.22Hz en el nodo 2 respecto al caso en que todos los controladores son
convencionales. La derivada de la frecuencia presenta también un decremento

84
5.Simulaciones y resultados

de cerca de de 0.04Hz/s en el nodo 1 y de 0.5Hz/s en el nodo 2. La potencia


que entrega el controlador es de cerca de 0.01pu, siendo mayor que para la
perturbación tipo paso. La derivada de la potencia saliente y la estimada en el
controlador tienen discrepancias, sin embargo no son relevantes ya que se ha
obtenido un desempeño aceptable.
Para el caso con actuador se tienen los resultados para la respuesta al paso
que se muestran a continuación:

Figura 5.32: Frecuencia y derivada entrada tipo paso nodo slack, con actuador.

85
5.Simulaciones y resultados

Figura 5.33: Frecuencia y derivada entrada tipo paso nodo 2, con actuador.

86
5.Simulaciones y resultados

Figura 5.34: Potencias para entrada tipo paso con actuador

A diferencia de los resultados anteriores se puede ver que la frecuencia cae


hasta un valor de 0.4HZ con un comportamiento similar a sin control, esto
se debe a que lo actuadores retardan el tiempo en que la potencia adicional
se inyecta al sistema. El tiempo de asentamiento se mejora en cerca de 3.5
segundos en el nodo uno y cerca de 4 segundos respecto al caso con todos
los generadores convencionales. La potencia en el actuador tiene una amplitud
menor respecto a la potencia del controlado, sin embargo se observa que en
el actuador la salida de potencia tiene un valor máximo igual a cuando no se
tenı́a antes, lo que permite concluir que el controlador reacciona con mayor
amplitud si el sistema lo necesita, pero la amplitud de la señal de potencia
entrante se mantiene igual.

87
5.Simulaciones y resultados

Figura 5.35: Frecuencia y derivada entrada tipo rampa nodo slack, con actua-
dor.

Figura 5.36: Frecuencia y derivada entrada tipo rampa nodo 2, con actuador.

88
5.Simulaciones y resultados

Figura 5.37: Potencias para entrada tipo rampa con actuador

Para el caso de respuestas a la perturbación tipo rampa, se observa que la


frecuencia de nuevo decae la desviación máxima de frecuencia en cerca de 0.07
Hz y 0.3Hz en los nodos 1 y 2 respectivamente, comparando con el caso sin
control con todos los generadores convencionales. Le derivada de la frecuencia
por su parte se muestra más suave respecto al caso sin actuador y presenta
presenta un decremento de cerca de 0.1Hz/s y 0.08Hz/s en los nodos 1 y 2
respecto al caso sin control con todos convencionales.

5.6.2. Seguimiento de frecuencia


Para este caso el controlador se diseña con la misma arquitectura que para
el enfoque de imitación de la inercia, a diferencia de que ahora se hace un
reajuste para que los pesos de las variables de estado y de los factores de
estimación y agresividad. Estos ajustes se pueden ver en la sección de códigos
en seguimiento.m. Al igual que en el caso anterior, se simuló con dos tipos de
perturbaciones una tipo paso y otra tipo rampa, los resultados se muestran en
la siguientes figuras:

89
5.Simulaciones y resultados

Figura 5.38: Frecuencias y sus derivadas para entrada tipo paso: Seguimiento

90
5.Simulaciones y resultados

Figura 5.39: Potencias y sus derivadas para entrada tipo paso: Seguimiento

De 5.38 y 5.39 se puede ver que hay una desviación máxima de la frecuencia
en el nodo dos de 0.25Hz mientras que en el nodo 1 de 0.21Hz, como el control
se le hace al nodo 2, el error de estado estacionario para este es nulo, mientras
que es de 0.02Hz para el nodo 1. En cuánto a las potencias, si se mira los
pesos que se dieron al controlador, la señal de control de potencia adicional
se limitó a 0.1pu, sin embargo la potencia de salida del actuador máxima fue
menor 0.04pu, esto no quiere decir que se pueda poner un lı́mite mayor en
la restricción del controlador, porque en caso de que la perturbación aumente
su amplitud, en estado estacionario el actuador darı́a la misma salida que el
controlador, aunque es evidente que si el controlador hubiese permitido más
señal de control, la frecuencia hubiese llegado a su estado estacionario más
rápido.

91
5.Simulaciones y resultados

Figura 5.40: Potencias y sus derivadas para entrada tipo rampa: Seguimiento

Figura 5.41: Frecuencias y sus derivadas para entrada tipo rampa: Seguimiento

De 5.40 y 5.41 se puede ver que hay una desviación máxima de la frecuencia
en ambos nodos menor a 0.1Hz.Las derivadas de las frecuencias presentan

92
5.Simulaciones y resultados

valores máximos en ambos casos cercanos a 0.2Hz/s. En cuánto a las potencias,


los valores máximos de potencia en el actuador don de cerca de 0.03pu, que
es un valor mucho menor respecto al pico de la perturbación. En este caso la
derivada de la potencia estimada por el controlador es de cerca muy parecida
a la derivada de la señal de control saliente, mostrando un mejor desempeño
que en el caso de imitación de la inercia.

93
Capı́tulo 6

Conclusiones y recomendaciones

A lo largo del trabajo se ha visto que el problema de regulación de frecuencia


se puede abarcar mediante dos enfoques de control, el seguimiento asintótico
y la imitación de la inercia. Lo ideal en los sistemas de potencia es que la
frecuencia retorne a su valor de referencia que bien puede ser 50Hz o 60Hz,
sin embargo la limitante para el seguimiento es que requiere una cantidad
de energı́a considerable, por ejemplo el caso de las perturbaciones tipo paso,
dónde en el estado estacionario el área bajo la curva es creciente e implicarı́a
tener una gran cantidad de energı́a almacenada. Por esa razón es que conviene
imitar la inercia, como se vio en las curvas de potencia adicional, el área bajo
la curva es finita y por lo tanto la energı́a si puede estar disponible en los
dispositivos de almacenamiento.
En el apéndice de códigos se puede ver que la sintonización de los pesos
para cada caso son variables, estos se listan a continuación:

Figura 6.1: Sintonización de los pesos para los diferentes casos

De la tabla anterior se puede ver que para sintonizar el MPC para imitación
de la inercia basta con darle un peso bajo a la señal de frecuencia y se le da un
peso alto a la potencia. Caso contrario a cuando se quiere hacer seguimiento
asintótico.
En el último caso de análisis se pudo ver que el mismo modelo en espacio de
estados representado mediante las ecuaciones 5.21 y 5.22, basta con cambiar

94
6.Conclusiones y recomendaciones

los pesos para que el mismo controlador cambie el enfoque de control, la señal
que permitirı́a definir que pesos usar, serı́a la proveniente de un sensor de
energı́a o potencia disponible en la fuente de almacenamiento, si se dispone de
una buena cantidad de energı́a disponible la decisión serı́a poner los pesos para
rechazo de perturbaciones, mientras que si la cantidad es limitada el enfoque
serı́a imitar la inercia.
En la práctica la potencia adicional se puede inyectar en el nodo mediante
inversores, la señal de control proveniente del control actuarı́a en la modulación
de la onda.
La desventaja del MPC es que requiere al menos un tiempo de muestreo
para dar información de señal de control, perjudicando la imitación de la inercia
en sistemas con rápida dinámica. Una forma de evitar este inconveniente podrı́a
ser agregar al modelo de la planta un retardo inherente.
La implementación real de los controladores predictivos se puede realizar
mediante los códigos en C que genera mpcDesigner, la actualización de los
pesos y las restricciones se pueden actualizar en tiempo real.
Para trabajos futuros se puede hacer un control multinodal a partir de
solo un controlador, posible mediante el controlador predictivo que permite el
control en sistemas MIMO, y no sólo de frecuencia sino también se puede de
tensión debido a que la función embebida permite medir todas las variables de
estado del sistema.

95
Apéndice A

Diseño de controlador para


imitación de la inercia con
mpcDesigner

En este apéndice se ilustra el método para diseñar el controlador bajo el


concepto de imitación de la inercia y la representación del modelo en variables
de estado según las ecuaciones 5.21 y 5.22. Primero debe estar cargado el mo-
delo de la planta, este se carga con el archivo ASEmimick.m que se encuentra
en el apéndice de códigos en la sección del caso 2, recordando que los valores
de Aag y Bag que llenan la matriz se encuentran en la ecuación 5.17.
La herramienta se abre escribiendo mpcDesigner desde la ventana de co-
mandos, el paso siguiente será cargar el modelo, presionando en el icono en la
parte superior que dice M P CStructure, una vez abierto se carga el modelo
que se llama ASEIM1, que carga el modelo de imitación de la inercia con el
generador eólico continuo, ya que la herramienta se encarga de discretizarlo y
realizar los modelos de predicción como se vieron en el capı́tulo del MPC.

96
A.Conclusiones y recomendaciones

Figura A.1: Elección de la planta

Una vez elegida la planta se define el tiempo de muestreo, que para este
caso de 1 ms es más que suficiente. Se tienen las opciones que se ven en la
figura A.1, donde se supone que todas las variables de salida y de entrada del
controlador son medibles. Una vez se oprime el botón Define and import, y
se despliegan las gráficas de las 4 variables de salida, sin embargo resulta más
efectivo que se vean a la par con las entradas, por lo tanto se abre la pestaña
View, y se elige la opción Left/Right para ver las entradas y las salidas a la
par.

97
A.Conclusiones y recomendaciones

Figura A.2: Configuración de la vista.

Se puede asignar un nombre a cada variable con el fin de guiarse mejor en


el proceso de diseño, para ello se dirige a la pestaña I/O atributes y se le
ponen los nombres a las variables como se ve en la figura A.3.

Figura A.3: Nombramiento de las variables de estado y las entradas

Una vez elegido, se dirige a la pestaña en la parte derecha inferior que dice
Scenarios,y se elige en escenario 1. Se le da click derecho y se le da la opción
de editar, se abre la ventana que se muestra en la figura A.4, y se fijan las
referencias como constantes nulas, la perturbación en la salida se supone nula,
pero si se agrega una perturbación tipo paso de magnitud -0.1Pu a la señal de
control 2 que es ∆Padd .

98
A.Conclusiones y recomendaciones

Figura A.4: Pestañas para la configuración del caso

Posterior a la elección del escenario que se desea controlar se abre la pestaña


Tuning que tiene las opciones que sintonizan el controlador y se muestra en
la figura A.5.

Figura A.5: Pestañas para sintonizar el controlador

Primero se cuadran las restricciones en las salidas y las señales de control,


pulsando el icono que dice Constraints y se ajustan las restricciones en las
variables como se muestra en la figura A.6. Nótese que se deja un amplio
rango para la frecuencia (-5,5), debido a que en la imitación de la inercia el
control de frecuencia no es la prioridad. Por otra parte a la señal de control se
le restringe a un valor máximo de 0.025pu ya que se ha estimado es potencia
máxima suficiente para imitar la inercia. Estos mismos lı́mites se le da a la
potencia estimada, mientras que a la cuarta variable de estado se deja libre
ya que apriori es difı́cil saber cuanto se desea limitar. Se ha supuesto además
que el incremento en la señal de control puede pasar desde un lı́mite a cero
en un periodo de control, es decir se asume que los actuadores son capaces de
reaccionar inmediatamente.

99
A.Conclusiones y recomendaciones

Figura A.6: Configuración de las restricciones.

Posterior a la definición de las restricciones es necesario dar los pesos de las


señales de control, tanto en los valores absolutos como a los incrementos, como
se ve en la figura A.7. Nótese que se le da un valor muy bajo a la frecuencia ya
que no se quiere rechazo de perturbación sino imitación de la inercia. Por otra
parte se le da un alto peso a la potencia estimada y a la variable de estado
del error con el fin de que se vayan a cero, porque si la potencia estimada se
va a cero quiere decir que la energı́a entregada es finita, y por otro lado si el
error se va a cero, quiere decir que la potencia estimada será muy parecida a
la potencia adicional.

100
A.Conclusiones y recomendaciones

Figura A.7: Sintonización de los pesos del controlador

En la parte de los pesos es necesario iterar hasta obtener la sintonización


deseada, finalmente se obtiene un resultado aceptable, moviendo las dos pe-
rillas que hacen más agresivo el desempeño en lazo cerrado y más rápida la
estimación de estados, según se observa en la figura A.8, dónde se ve que la
perturbación de potencia no se rechaza, pero si se desvı́a en un intervalo de
tiempo suficiente para imitar la inercia.

101
A.Conclusiones y recomendaciones

Figura A.8: Imitación de la inercia aceptable

Una vez el resultado parece aceptable se puede exportar a Simulink o en


forma de Script dándole click al icono de la figura A.9 para verificar su funcio-
namiento y compararlo con la planta sin presencia de generadores eólicos. Si
se pulsa dónde dice Review Design la herramienta hace un test para verificar
si no se viola ninguna caracterı́stica deseable como la estabilidad o la conver-
gencia de la optimización de la programación cuadrática entre otras, y hace
las respectivas recomendaciones.

Figura A.9: Icono para exportar controlador a simulink

En el siguiente apéndice se muestran los Scripts realizado tanto con el


MPC diseñado, planteado en el capı́tulo 3, como lo los que permite exportar
mpcDesigner.

102
Apéndice B

Listado de códigos

B.1. InicioSinRestricciones.m
clear a l l

% Se d e f i n e n l a s m a t r i c e s d e l modelo en v a r i a b l e s de e s t a d o
%En tiempo c o n t i n u o
A=;
B=;
C=;
D=;
% Se pasa a f u n c i o n de t r a n s f e r e n c i a
Gw=s s (A, B, C,D) ;
% Se s e l e c c i o n a e l tiempo de muestreo Ts=t r i s e / 2 0 ;
Ts= ;
% Se d i s c r e t i z a l a p l a n t a
Hdw=c2d (Gw, Ts ) ;
% Se h a l l a n v a r i a b l e de e s t a d o d i s c r e t a s
[ num den ]= t f d a t a (Hdw, ’ v ’ ) ;
[Aw Bw Cw Dw]= t f 2 s s (num , den ) ;
% Dimensiones de l a s v a r i a b l e s de e s t a d o
nu=s i z e (Bw, 2 ) ; ny=s i z e (Cw, 1 ) ; nx=s i z e (Aw, 1 ) ;
% H o r i z o n t e de c o n t r o l para c a s o Sub−optimo
nc =5;
nuc=nu∗ nc ;
% Creacion de v a r i a b l e s de peso , s e d e b e a l t e r a r para que s e den
priridades al control
Q=Cw’ ∗Cw; Q2=Q;
R=0.1∗ eye ( 1 ) ; R2=R;
% E c u a c i o n e s 4 . 2 7 y 4 . 2 8 Optimo c u a d r a t i c o // Se deben u s a r para
e l c a s o de s i m u l i n k
[K] = d l q r (Aw, Bw, Q2 , R2) ;
% Ecuacion 4 . 3 0
Phi=Aw−Bw∗K;
% m a t r i c e s para p r e d i c c i o n e s de Modo d u a l Ecuacion 4 . 4 6
ID=diag ( o n e s ( 1 , ( nc −1)∗nu ) ) ;
ID=[ zeros ( ( nc −1)∗nu , nu ) , ID ] ;
ID=[ID ; zeros ( nu , nuc ) ] ;

103
B.Conclusiones y recomendaciones

% M a t r i z Teta , aca s e l l a m a Psi , e c u a c i o n 4 . 4 4


Teta =[ Phi , [ Bw, zeros ( nx , nuc−nu ) ] ; zeros ( nuc , nx ) , ID ] ;
% M a t r i z gamma que r e c u p e r a X( k ) , Ecuacion 4 . 4 8
Gamma=[eye ( nx ) , zeros ( nx , nuc ) ] ;
% Creacion de Vector Kz Ecuacion 4 . 4 7
Kz = [ K,−eye ( nu ) , zeros ( nu , nuc−nu ) ] ;
% Se r e s u e l v e m a t r i z
% Ecuacion 4 . 5 1
W=Teta ’ ∗Gamma’ ∗Q∗Gamma∗ Teta+Kz ’ ∗R∗Kz ;
% S o l u c i o n a l a e c u a c i o n de Lyapunov
S p s i=dlyap ( Teta ’ ,W) ;
% Se s e p a r a l a f u n c i o n c o s t o en l a s p a r t e s : J = [ x , c ] S p s i [ x ; c ] J
= x SX x + 2∗ x SXC c + c SC
SX=S p s i ( 1 : nx , 1 : nx ) ;
SXC=S p s i ( 1 : nx , nx +1:end ) ;
SC=S p s i ( nx +1:end , nx +1:end ) ;
% Se r e v i s a s i e s s o l u c i o n optima o sub−optima
i f norm(SXC)<1e −10; SXC=SXC∗ 0 ; end
% Se c a l c u l a e c u a c i o n optima , p a r t e de l a Ecuacion 4 . 5 9
KK=inv (SC) ∗SXC ’ ;
% Ecuacion 4 . 6 0 , n o t e s e que s e omite e l menos
KSOMPC=[K+KK( 1 : nu , : ) ] ;
% Se hace l a e s t i m a c i o n de v a l o r e s de e s t a d o e s t a c i o n a r i o ,
E c u a c i o n e s 4 . 6 2 , [ x s s ; u s s ] = [M1;M2] ( r−d )
M=inv ( [ Cw, zeros ( ny , nu ) ;Aw−eye ( nx ) ,Bw ] ) ;
% Se s e p a r a en dos , M1( y−r )=Xss , M2( y−r )=Uss
M1=M( 1 : nx , 1 : ny ) ;
M2=M( nx +1: nx+ny , 1 : ny ) ;

B.2. InicioConRestricciones.m
% Adaptado d e l t r a b a j o de Anthony R o s s i t e r
% Se d e f i n e n l a s m a t r i c e s de v a r i a b l e s de e s t a d o en tiempo
continuo
% Y e l p e r i o d o de muestreo
A= −0.1;
B= 0 . 1 ;
C=1;
D=0;
Ts = 0 . 0 1 ;
% Se c r e a p l a n t a c o n t i n u a
Gw=s s (A, B, C,D) ;
% Se d i s c r e t i z a p l a n t a c o n t i n u a
GD=c2d (Gw, Ts ) ;
Aw=GD.A;
Bw=GD. B ;
Cw=GD. C ;
Dw=GD.D;
% Dimensiones de l a s v a r i a b l e s de e s t a d o
nu=s i z e (Bw, 2 ) ; ny=s i z e (Cw, 1 ) ; nx=s i z e (Aw, 1 ) ;
% H o r i z o n t e de c o n t r o l para c a s o Sub−optimo

104
B.Conclusiones y recomendaciones

nc =5;
nuc=nu∗ nc ;
% Creacion de v a r i a b l e s de peso , cambiar de acuerdo a l o s
requerimentos
Q=Cw’ ∗Cw; Q2=Q;
% O b t i e n e e l v a l o r de K para e l c a s o optimo s i s e usa Q Y R
% O sub optimo s i s e e l i g e Q2 Y R2
R=0.1∗ eye ( 1 ) ; R2=R;
% E c u a c i o n e s 4 . 2 7 y 4 . 2 8 Optimo c u a d r a t i c o // Se deben u s a r para
e l c a s o de s i m u l i n k
[K] = d l q r (Aw, Bw, Q2 , R2) ;
% Ecuacion 4 . 3 0
Phi=Aw−Bw∗K;
% Restricciones
umin= −0.1; % umin<u<umax Sennal de c o n t r o l
umax = 0 . 1 ;
Kxmax=1; % Kmax X <xmax V a r i a b l e s de e s t a d o
xmax=1;
rdmax=1; rdmin =1;
% C o n s t r u c c i o n de m a t r i c e s para p r e d i c c i o n e s de
% Modo d u a l
% Ecuacion 4 . 4 6
ID=diag ( o n e s ( 1 , ( nc −1)∗nu ) ) ;
ID=[ zeros ( ( nc −1)∗nu , nu ) , ID ] ;
% Creacion de M a t r i z I I
ID=[ID ; zeros ( nu , nuc ) ] ;
% M a t r i z Teta , e c u a c i o n 4 . 4 4
Teta =[ Phi , [ Bw, zeros ( nx , nuc−nu ) ] ; zeros ( nuc , nx ) , ID ] ;
% M a t r i z gamma que r e c u p e r a X( k )
% Ecuacion 4 . 4 8
Gamma=[eye ( nx ) , zeros ( nx , nuc ) ] ;
% Creacion de Vector Kz Ecuacion 4 . 4 7
Kz = [ K,−eye ( nu ) , zeros ( nu , nuc−nu ) ] ;
% Se r e s u e l v e m a t r i z
% Ecuacion 4 . 5 1
W=Teta ’ ∗Gamma’ ∗Q∗Gamma∗ Teta+Kz ’ ∗R∗Kz ;
% S o l u c i o n a l a e c u a c i o n de Lyapunov
S p s i=dlyap ( Teta ’ ,W) ;

% Se s e p a r a l a f u n c i o n c o s t o en l a s p a r t e s :
% J = [ x , c ] Spsi [ x ; c ]
% J = x SX x + 2∗ x SXC c + c SC c
% De e s a manera queda mas c l a r a para l a o p t i m i z a c i o n ec 4 . 5 7

SX=S p s i ( 1 : nx , 1 : nx ) ;
SXC=S p s i ( 1 : nx , nx +1:end ) ;
SC=S p s i ( nx +1:end , nx +1:end ) ;

% Se r e v i s a s i e s s o l u c i o n optima o sub−optima
i f norm(SXC)<1e −10; SXC=SXC∗ 0 ; end
% Se c a l c u l a e c u a c i o n optima , p a r t e de l a Ecuacion 4 . 5 9
% Es e l v a l o r de Ck que minimiza J , C k−>=−KK∗Xk
KK=inv (SC) ∗SXC ’ ;

105
B.Conclusiones y recomendaciones

% Ecuacion 4 . 6 0 , n o t e s e que s e omite e l menos


KSOMPC=[K+KK( 1 : nu , : ) ] ;

% Se hace l a e s t i m a c i o n de v a l o r e s de e s t a d o e s t a c i o n a r i o
% Ecuaciones 4.62
% [ x s s ; u s s ] = [M1;M2] ( r−d )
M=inv ( [ C, zeros ( ny , nu ) ; A−eye ( nx ) ,B ] )
Kxr=M( 1 : nx , 1 : ny )
Kur=M( nx +1: nx+ny , 1 : ny )
% D e f i n i c i o n de l a s r e s t r i c c i o n e s para s e n n a l e s de c o n t r o l
% y v a r i a b l e s de e s t a d o Z= P s i Z
% u h a t=−Kz Z umin<u h a t+uss<umax
% Kxmax ∗( x h a t+x s s ) <xmax
%
% Primero s e d e f i n e n l a s r e s t r i c c i o n e s G∗x<f
%
% Encontrar MAS como M x + N c f u t <= f
% Ecuacion 4 . 7 1 y 4 . 7 2 Kxmax e s C, M1 e s Kxr M2 e s Kur
Kz=[Kz,−K∗Kxr−Kur ] ;
G1=[−Kz ; Kz ; [ Kxmax , zeros ( s i z e (Kxmax , 1 ) , nc ∗nu+nu ) ] ] ;
f 1 =[umax;−umin ; xmax ] ;
G2=[ zeros ( 2 ∗ nu , nx+nu∗ nc ) , [ eye ( nu ) ;−eye ( nu ) ] ] ;
f 2 =[rdmax;− rdmin ] ;
Phi=A−B∗Kz ( : , 1 : nx )

Teta =[ Teta , [ ( eye ( nx )−Phi ) ∗Kxr ; zeros ( nc ∗nu , nu ) ] ] ;


Teta =[ Teta ; [ zeros ( nu , nx+nc ∗nu ) , eye ( nu ) ] ] ;
%% % %i n i t i a l s e t f o r k =0;
%[ F , t ]= f i n d m a s t r a c k i n g ( Psi , G1 , G2 , f1 , f 2 ) ;
%[ F , t ]= f i n d m a s t r a c k i n g (A, C1 , C2 , f1 , f 2 )
F=[G1 ; G2 ] ;
t =[ f 1 ; f 2 ] ;
v a l=zeros ( s i z e ( f 1 ) ) ;
An=G1 ;
nc=s i z e (G1 , 1 ) ; %% %number o f c o n s t r a i n t s i n each sample
I n c=eye ( nc ) ;

%% %S w i t c h o f d i s p l a y
opt = o p t i m s e t ( ’ l i n p r o g ’ ) ;
opt . D i a g n o s t i c s= ’ o f f ’ ; %% % % %
S w i t c h e s o f unwanted MATLAB
displays
opt . L a r g e S c a l e= ’ o f f ’ ; %% % % H
%owever no warning o f
infeasibility
opt . D i s p l a y= ’ o f f ’ ;

c o n t =1;
while c o n t ==1;
An=An∗ Teta ; %% %forms new b l o c k An=C1∗Aˆn

%% %i n e q u a l i t i e s t o maximise − c h e c k each row o f new


constraints
%% % e ( j ) ˆT An x <= t ( j )

106
B.Conclusiones y recomendaciones

f o r j =1: nc ;
vec=−I n c ( j , : ) ∗An ;
[ x , vv , e x i t f l a g ]= l i n p r o g ( vec , F , t , [ ] , [ ] , [ ] , [ ] , [ ] , opt ) ;
i f e x i t f l a g ==1; v a l ( j )=vv ;
e l s e i f e x i t f l a g ==−3; %% %i n d i c a t e s s o l u t i o n unbounded
v a l ( j )=−f 1 ( j ) ∗ 2 ; %% marks t h i s row as needed
end
end

%% %Extra rows a r e needed i f any v a l u e s o f v a l e x c e e d f


%% %so add them i n
i f any(− val >f 1 ) ;

F=[F ; An ] ; %% Add e x t r a b l o c k t o F
t =[ t ; f 1 ] ; %% Add e x t r a b l o c k t o t
else
c o n t =0; %% %f i n i s h l o o p as a l l new rows red undan t
end
end

N=F ( : , nx +1: nx+nu∗ nc ) ;


M=F ( : , 1 : nx ) ;
V=F ( : , nx+nu∗ nc +1:end ) ;

% Ya e s t a n l i s t a s l a s r e s t r i c c i o n e s para t o d o s l o s h o r i z o n t e s
% Ahora s e cuadra e l optimo c u a d r a t i c o
opt = o p t i m s e t ( ’ quadprog ’ ) ;
opt . D i a g n o s t i c s= ’ o f f ’ ;
opt . L a r g e S c a l e= ’ o f f ’ ;
opt . D i s p l a y= ’ o f f ’ ;
opt . Algorithm= ’ a c t i v e −s e t ’ ;

%La f u n c i o n embebdida en s i m u l i n k e s :
function [ c , e x i t f l a g a ] = f c n (SC , SXC,M, N, t , V,RD, X,XHAT)
c o d e r . e x t r i n s i c ( ’ quadprog ’ )
coder . e x t r i n s i c ( ’ optimoptions ’ )
c f u t=zeros ( 3 , 1 ) ;
o p t i o n = o p t i m o p t i o n s ( ’ quadprog ’ , ’ Algorithm ’ , ’ i n t e r i o r −p o i n t −
convex ’ ) ;
o p t i o n = o p t i m o p t i o n s ( o p t i o n , ’ D i s p l a y ’ , ’ i t e r ’ , ’ TolFun ’ , 1 e −6) ;
[ ˜ , ˜ , e x i t f l a g ] = quadprog (SC , SXC’ ∗XHAT, N, ( t−M∗X−V∗RD)
, [ ] , [ ] , [ ] , [ ] , [ ] , option ) ;
i f e x i t f l a g ˜=−2
[ c f u t , ˜ , e x i t f l a g a ] = quadprog (SC , SXC’ ∗XHAT, N, ( t−M∗X−V∗RD)
, [ ] , [ ] , [ ] , [ ] , [ ] , option ) ;
else
[ c f u t , ˜ , ˜ ] = quadprog (SC , SXC’ ∗XHAT, N, ( t−M∗X−V∗RD)
∗ 0 , [ ] , [ ] , [ ] , [ ] , [ ] , option ) ;
end
c=c f u t ( 1 , 1 ) ;

107
B.Conclusiones y recomendaciones

B.3. UnNodoinit.m
clear a l l
% Prueba para o s c i l a c i o n e s de un s o l o nodo
D1=1/50;
Hwind = 0 . 1 ;
Hsinc =8;
SB= 0 . 2 ;
f o =60;
% Se d e f i n e n v a r i a b l e s de e s t a d o
A=(−pi ∗D1∗ f o ) / (SB∗Hwind ) ;
B=f o / ( 2 ∗SB∗Hwind ) ;
C=1;
D=0;
% Ecuacion de o s c i l a c i o n para e l e o l i c o .
Gw=s s (A, B, C,D) ;
% Se s e l e c c i o n a e l tiempo de muestreo t r / 2 0 ;
Ts=30e −3/100;
% Se d i s c r e t i z a l a p l a n t a
Hdw=c2d (Gw, Ts ) ;
% Se h a l l a n v a r i a b l e de e s t a d o
[ num den ]= t f d a t a (Hdw, ’ v ’ ) ;
[Aw Bw Cw Dw]= t f 2 s s (num , den ) ;
% Dimensiones de l a s v a r i a b l e s de e s t a d o
nu=s i z e (Bw, 2 ) ; ny=s i z e (Cw, 1 ) ; nx=s i z e (Aw, 1 ) ;
% H o r i z o n t e de c o n t r o l para c a s o Sub−optimo
nc =5;
nuc=nu∗ nc ;
% Creacion de v a r i a b l e s de p e s o
Q=Cw’ ∗Cw; Q2=Q;
R=0.1∗ eye ( 1 ) ; R2=R;
% E c u a c i o n e s 4 . 2 7 y 4 . 2 8 Optimo c u a d r a t i c o // Se deben u s a r para
e l c a s o de s i m u l i n k
[K] = d l q r (Aw, Bw, Q2 , R2) ;
% Ecuacion 4 . 3 0
Phi=Aw−Bw∗K;
% m a t r i c e s para p r e d i c c i o n e s de Modo d u a l Ecuacion 4 . 4 6
ID=diag ( o n e s ( 1 , ( nc −1)∗nu ) ) ;
ID=[ zeros ( ( nc −1)∗nu , nu ) , ID ] ;
ID=[ID ; zeros ( nu , nuc ) ] ;
% M a t r i z Teta , aca s e l l a m a Psi , e c u a c i o n 4 . 4 4
Teta =[ Phi , [ Bw, zeros ( nx , nuc−nu ) ] ; zeros ( nuc , nx ) , ID ] ;
% M a t r i z gamma que r e c u p e r a X( k ) , Ecuacion 4 . 4 8
Gamma=[eye ( nx ) , zeros ( nx , nuc ) ] ;
% Creacion de Vector Kz Ecuacion 4 . 4 7
Kz = [ K,−eye ( nu ) , zeros ( nu , nuc−nu ) ] ;
% Se r e s u e l v e m a t r i z
% Ecuacion 4 . 5 1
W=Teta ’ ∗Gamma’ ∗Q∗Gamma∗ Teta+Kz ’ ∗R∗Kz ;
% S o l u c i o n a l a e c u a c i o n de Lyapunov
S p s i=dlyap ( Teta ’ ,W) ;
% Se s e p a r a l a f u n c i o n c o s t o en l a s p a r t e s : J = [ x , c ] S p s i [ x ; c ] J
= x SX x + 2∗ x SXC c + c SC

108
B.Conclusiones y recomendaciones

SX=S p s i ( 1 : nx , 1 : nx ) ;
SXC=S p s i ( 1 : nx , nx +1:end ) ;
SC=S p s i ( nx +1:end , nx +1:end ) ;
% Se r e v i s a s i e s s o l u c i o n optima o sub−optima
i f norm(SXC)<1e −10; SXC=SXC∗ 0 ; end
% Se c a l c u l a e c u a c i o n optima , p a r t e de l a Ecuacion 4 . 5 9
KK=inv (SC) ∗SXC ’ ;
% Ecuacion 4 . 6 0 , n o t e s e que s e omite e l menos
KSOMPC=[K+KK( 1 : nu , : ) ] ;
% Se hace l a e s t i m a c i o n de v a l o r e s de e s t a d o e s t a c i o n a r i o ,
E c u a c i o n e s 4 . 6 2 , [ x s s ; u s s ] = [M1;M2] ( r−d )
M=inv ( [ Cw, zeros ( ny , nu ) ;Aw−eye ( nx ) ,Bw ] ) ;
% Se s e p a r a en dos , M1( y−r )=Xss , M2( y−r )=Uss
M1=M( 1 : nx , 1 : ny ) ;
M2=M( nx +1: nx+ny , 1 : ny ) ;

% Se d e b e c o r r e r p o s t e r i o r m e n t e e l a r c h i v o Caso0Track . s l x

B.4. UnNodoActu.m
clear a l l
% Prueba para o s c i l a c i o n e s de un s o l o nodo
% Se d e f i n e l a f u n c i o n de t r a n s f e r e n c i a para e l c a s o c o n t i n u o
% Se d e f i n e n l o s p ar ame tr os de l a e c u a c i o n de o s c i l a c i o n
D1=1/50;
Hwind = 0 . 1 ;
Hsinc =8;
SB= 0 . 2 ;
f o =60;
% Se d e f i n e n v a r i a b l e s de e s t a d o de l a p l a n t a
Ap=(−pi ∗D1∗ f o ) / (SB∗Hwind ) ;
Bp=f o / ( 2 ∗SB∗Hwind ) ;
Cp=1;
D=0;
% Ecuacion de o s c i l a c i o n para e l e o l i c o .
Gw1=s s (Ap , Bp , Cp ,D) ;
% Se s e l e c c i o n a e l tiempo de muestreo t r / 2 0 ;
Ts=30e −3/100;
% Se d i s c r e t i z a l a p l a n t a
Hdw1=c2d (Gw1, Ts ) ;
% Se h a l l a n v a r i a b l e de e s t a d o
[ num den ]= t f d a t a (Hdw1 , ’ v ’ ) ;
[ Aw1 Bw1 Cw1 Dw1]= t f 2 s s (num , den ) ;
% Se s e l e c c i o n a e l tiempo de muestreo t r / 2 0 ;
Ts=30e −3/100;
% Se a g r e g a e l a c t u a d o r
T1 = 0 . 1 ;
T2 = 0 . 2 ;
% Se c r e a l a nueva e c u a c i o n de e s t a d o s
A=[−1/T1 0 0 ; 1/T2 −1/T2 0 ; 0 Bp Ap ] ;
B=[1/T1 0 0 ] ’ ;

109
B.Conclusiones y recomendaciones

C=eye ( 3 ) ;
D=zeros ( 3 , 1 ) ;
Gw=s s (A, B, C,D) ;
% Se d i s c r e t i z a l a p l a n t a e q u i v a l e n t e
Hdw=c2d (Gw, Ts ) ;
% Se c r e a y s e d i s c r e t i z a l a e c u a c i o n e l a c t u a d o r
Actu=t f ( 1 , [ T1∗T2 , ( T1+T2) , 1 ] ) ;
Actud=c2d ( Actu , Ts ) ;
[ num den ]= t f d a t a ( Actud , ’ v ’ ) ;
[ Aac Bac Cac Dac]= t f 2 s s (num , den ) ;
% Se h a l l a n v a r i a b l e de e s t a d o de l a p l a n t a a c o n t r o l a r
Aw=Hdw .A;
Bw=Hdw . B ;
Cw=Hdw . C ;
Dw=Hdw .D;
% Dimensiones de l a s v a r i a b l e s de e s t a d o
nu=s i z e (Bw, 2 ) ; ny=s i z e (Cw, 1 ) ; nx=s i z e (Aw, 1 ) ;
% H o r i z o n t e de c o n t r o l para c a s o Sub−optimo
nc =5;
nuc=nu∗ nc ;
% Creacion de v a r i a b l e s de p e s o
Q= [ 0 . 0 1 0 0 ; 0 0 . 0 1 0 ; 0 0 0 . 1 ] ; Q2=Q;
R=100∗eye ( nu ) ; R2=R;
% O b t i e n e e l v a l o r de K para e l c a s o optimo s i s e usa Q Y R
% s u b o p t i m o s i s e e l i g e Q2 Y R2 .
% E c u a c i o n e s 4 . 2 7 y 4 . 2 8 Optimo c u a d r a t i c o // Se deben u s a r para
e l c a s o de s i m u l i n k
[K] = d l q r (Aw, Bw, Q2 , R2) ;
% Ecuacion 4 . 3 0
Phi=Aw−Bw∗K;
% C o n s t r u c c i o n de m a t r i c e s para p r e d i c c i o n e s de
% Modo d u a l
% Ecuacion 4 . 4 6
ID=diag ( o n e s ( 1 , ( nc −1)∗nu ) ) ;
ID=[ zeros ( ( nc −1)∗nu , nu ) , ID ] ;
% Creacion de M a t r i z I I
ID=[ID ; zeros ( nu , nuc ) ] ;
% M a t r i z Teta e c u a c i o n 4 . 4 4
Teta =[ Phi , [ Bw, zeros ( nx , nuc−nu ) ] ; zeros ( nuc , nx ) , ID ] ;
% M a t r i z gamma que r e c u p e r a X( k )
% Ecuacion 4 . 4 8
Gamma=[eye ( nx ) , zeros ( nx , nuc ) ] ;
% Creacion de Vector Kz Ecuacion 4 . 4 7
Kz = [ K,−eye ( nu ) , zeros ( nu , nuc−nu ) ] ;
% Se r e s u e l v e m a t r i z
% Ecuacion 4 . 5 1
W=Teta ’ ∗Gamma’ ∗Q∗Gamma∗ Teta+Kz ’ ∗R∗Kz ;
% S o l u c i o n a l a e c u a c i o n de Lyapunov
S p s i=dlyap ( Teta ’ ,W) ;
% Se s e p a r a l a f u n c i o n c o s t o en l a s p a r t e s :
% J = [ x , c ] Spsi [ x ; c ]
% J = x SX x + 2∗ x SXC c + c SC c
% De e s a manera queda mas c l a r a para l a o p t i m i z a c i o n

110
B.Conclusiones y recomendaciones

SX=S p s i ( 1 : nx , 1 : nx ) ;
SXC=S p s i ( 1 : nx , nx +1:end ) ;
SC=S p s i ( nx +1:end , nx +1:end ) ;
% Se r e v i s a s i e s s o l u c i o n optima o sub−optima
i f norm(SXC)<1e −10; SXC=SXC∗ 0 ; end
% Se c a l c u l a e c u a c i o n optima , p a r t e de l a Ecuacion 4 . 5 9
% Es e l v a l o r de Ck que minimiza J , C k−>=−KK∗Xk
KK=inv (SC) ∗SXC ’ ;
% Ecuacion 3 . 6 0 , n o t e s e que s e omite e l menos
KSOMPC=[K+KK( 1 : nu , : ) ] ;
% Se hace l a e s t i m a c i o n de v a l o r e s de e s t a d o e s t a c i o n a r i o
% Ecuaciones 3.62
% [ x s s ; u s s ] = [M1;M2] ( r−d )
M=inv ( [Cw( 3 , : ) , zeros ( 1 , 1 ) ;Aw−eye ( nx ) ,Bw ] ) ;
% Se s e p a r a en dos , M1( y−r )=Xss , M2( y−r )=Uss
M1=M( 1 : nx , 1 : 1 ) ;
M2=M( nx +1: nx + 1 , 1 : 1 ) ;

% Se d e b e c o r r e r p o s t e r i o r m e n t e e l a r c h i v o Caso0Track1 . s l x

B.5. Imitacioncaso1.m
%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time
Di = 0 . 0 2 ;
Sb = 0 . 2 ;
f o =60;
Hw= 0 . 1 ;
wo=2∗pi ∗ f o ;
Aw=−Di ∗wo/ (Mw∗Sb ) ;
Bw=1∗ f o / (Mw∗Sb ) ;
Cw=1;
Dw=0;
Aq=[Aw 0 Bw; 0 Aw 0 ; 0 0 0 ] ;
Bq = [ 0 ;Bw ; 1 ] ;
Cq=eye ( 3 ) ;
Dq=zeros ( 3 , 1 ) ;
WINDq=s s (Aq , Bq , Cq , Dq) ;
mpc1 = mpc(WINDq, 0 . 0 0 2 ) ;
%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc1 . P r e d i c t i o n H o r i z o n = 2 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc1 . C o n t r o l H o r i z o n = 1 5 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc1 . Model . Nominal .U = 0 ;
mpc1 . Model . Nominal .Y = [ 0 ; 0 ; 0 ] ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc1 .MV( 1 ) . Min = −10;
mpc1 .MV( 1 ) . Max = 1 0 ;
mpc1 .MV( 1 ) . RateMin = −5;
mpc1 .MV( 1 ) . RateMax = 5 ;
%% s p e c i f y c o n s t r a i n t s f o r OV

111
B.Conclusiones y recomendaciones

mpc1 .OV( 1 ) . Min = −5;


mpc1 .OV( 1 ) . Max = 5 ;
mpc1 .OV( 2 ) . Min = −1;
mpc1 .OV( 2 ) . Max = 1 ;
mpc1 .OV( 3 ) . Min = −0.025;
mpc1 .OV( 3 ) . Max = 0 . 0 2 5 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s
beta = 7 . 0 9 9 3 ;
%% s p e c i f y w e i g h t s
mpc1 . Weights .MV = 1∗ beta ;
mpc1 . Weights . MVRate = 0/ beta ;
mpc1 . Weights .OV = [ 0 . 0 1 0 . 1 5 0 0 0 0 0 ] ∗ beta ;
mpc1 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
alpha = 2 . 5 5 ;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc1 , ’ model ’ , g e t o u t d i s t ( mpc1 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc1 . Model . N o i s e = mpc1 . Model . N o i s e / a l p h a ;
%Se c a r g a para c o r r e r e l a r c h i v o I m i t a c i o n c a s o 1 . s l x

B.6. ASEcaso.m
clear a l l
% Se d e f i n e n l o s p ar ame tr os de l a e c u a c i o n de o s c i l a c i o n
Ts = 0 . 0 0 1 ;
f o =60;
% Con e o l i c o s
Sbg = [ 0 . 2 0 . 2 0 . 2 0 . 2 0 . 2 ] ’ ;
Di = 0 . 0 2 ;
Hi =[8 8 0 . 1 8 0 . 1 ] ;
% Sumatoria de p o t e n c i a s
Sbase=sum( Sbg ) ;
Heq=Hi ∗Sbg / ( Sbase ) ;
% p l a n t a en v a r i a b l e s de e s t a d o
Ag=−f o ∗ pi ∗ Di / ( Heq∗ Sbase ) ;
Bg=f o / ( 2 ∗ Heq∗ Sbase ) ;
Cg=1;
Dg=0;
ASEWIND=s s (Ag , Bg , Cg , Dg) ;
% Sin e o l i c o s
Sbg = [ 0 . 2 0 . 2 0 . 2 0 . 2 0 . 2 ] ’ ;
Di = 0 . 0 2 ;
Hi =[8 8 8 8 8 ] ;
% Sumatoria de p o t e n c i a s
Sbase=sum( Sbg ) ;
Heq=Hi ∗Sbg / ( Sbase ) ;
% p l a n t a en v a r i a b l e s de e s t a d o
Ag=−f o ∗ pi ∗ Di / ( Heq∗ Sbase ) ;
Bg=f o / ( 2 ∗ Heq∗ Sbase ) ;

112
B.Conclusiones y recomendaciones

Cg=1;
Dg=0;
ASECONV=s s (Ag , Bg , Cg , Dg) ;
%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time
mpc1 = mpc(ASEWIND, 0 . 0 0 1 ) ;
%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc1 . P r e d i c t i o n H o r i z o n = 5 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc1 . C o n t r o l H o r i z o n = 1 5 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc1 . Model . Nominal .U = 0 ;
mpc1 . Model . Nominal .Y = 0 ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc1 .MV( 1 ) . Min = −0.1;
mpc1 .MV( 1 ) . Max = 0 . 1 ;
mpc1 .MV( 1 ) . RateMin = −0.1;
mpc1 .MV( 1 ) . RateMax = 0 . 1 ;
%% s p e c i f y c o n s t r a i n t s f o r OV
mpc1 .OV( 1 ) . Min = −0.1;
mpc1 .OV( 1 ) . Max = 0 . 1 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s
beta = 7 . 3 8 9 1 ;
%% s p e c i f y w e i g h t s
mpc1 . Weights .MV = 1∗ beta ;
mpc1 . Weights . MVRate = 0/ beta ;
mpc1 . Weights .OV = 100∗ beta ;
mpc1 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
alpha = 10;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc1 , ’ model ’ , g e t o u t d i s t ( mpc1 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc1 . Model . N o i s e = mpc1 . Model . N o i s e / a l p h a ;
%c o n t r o l a d o r para e l c o n v e n c i o n a l
mpc2 = mpc(ASECONV, 0 . 0 0 1 ) ;
%% s p e c i f y p r e d i c t i o n h o r i z o n
%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc2 . P r e d i c t i o n H o r i z o n = 5 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc2 . C o n t r o l H o r i z o n = 1 5 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc2 . Model . Nominal .U = 0 ;
mpc2 . Model . Nominal .Y = 0 ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc2 .MV( 1 ) . Min = −0.1;
mpc2 .MV( 1 ) . Max = 0 . 1 ;
mpc2 .MV( 1 ) . RateMin = −0.1;
mpc2 .MV( 1 ) . RateMax = 0 . 1 ;
%% s p e c i f y c o n s t r a i n t s f o r OV
mpc2 .OV( 1 ) . Min = −1;
mpc2 .OV( 1 ) . Max = 1 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s

113
B.Conclusiones y recomendaciones

beta = 7 . 3 8 9 1 ;
%% s p e c i f y w e i g h t s
mpc2 . Weights .MV = 0 . 0 1 ∗ beta ;
mpc2 . Weights . MVRate = 0 . 0 1 / beta ;
mpc2 . Weights .OV = 100∗ beta ;
mpc2 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
alpha = 10;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc2 , ’ model ’ , g e t o u t d i s t ( mpc2 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc2 . Model . N o i s e = mpc2 . Model . N o i s e / a l p h a ;
% Se c o r r e e l a r c h i v o Rechazo . s l x

B.7. ASEmimmick.m
clear a l l
% Se d e f i n e n l o s p ar ame tr os de l a e c u a c i o n de o s c i l a c i o n a g r e g a d a
Ts = 0 . 0 0 1 ;
f o =60;
%Con e o l i c o s
Sbg = [ 0 . 2 0 . 2 0 . 2 0 . 2 0 . 2 ] ’ ;
Di = 0 . 0 2 ;
Hi =[8 8 0 . 1 8 0 . 1 ] ;
%Sumatoria de p o t e n c i a s
Sbase=sum( Sbg ) ;
Heq=Hi ∗Sbg / ( Sbase ) ;
% p l a n t a en v a r i a b l e s de e s t a d o
Ag=−f o ∗ pi ∗ Di / ( Heq∗ Sbase ) ;
Bg=f o / ( 2 ∗ Heq∗ Sbase ) ;
Cg=1;
Dg=0;
ASEWIND=s s (Ag , Bg , Cg , Dg) ;
As=[Ag 0 0 0 ; 0 Ag 0 0 ; 0 0 0 0 ; 0 0 1 0 ] ;
Bs=[0 Bg ; Bg 0 ; 1 0 ; 0 −1];
Cs=eye ( 4 ) ;
Ds=zeros ( 4 , 2 ) ;
ASEIM=s s ( As , Bs , Cs , Ds ) ;
%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time
mpc1 = mpc(ASEIM, 0 . 0 0 1 ) ;
%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc1 . P r e d i c t i o n H o r i z o n = 1 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc1 . C o n t r o l H o r i z o n = 2 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc1 . Model . Nominal .U = [ 0 ; 0 ] ;
mpc1 . Model . Nominal .Y = [ 0 ; 0 ; 0 ; 0 ] ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc1 .MV( 1 ) . Min = −0.5;
mpc1 .MV( 1 ) . Max = 0 . 5 ;

114
B.Conclusiones y recomendaciones

mpc1 .MV( 1 ) . RateMin = −0.5;


mpc1 .MV( 1 ) . RateMax = 0 . 5 ;
mpc1 .MV( 2 ) . Min = −0.025;
mpc1 .MV( 2 ) . Max = 0 . 0 2 5 ;
mpc1 .MV( 2 ) . RateMin = −0.025;
mpc1 .MV( 2 ) . RateMax = 0 . 0 2 5 ;
%% s p e c i f y c o n s t r a i n t s f o r OV
mpc1 .OV( 1 ) . Min = −5;
mpc1 .OV( 1 ) . Max = 5 ;
mpc1 .OV( 2 ) . Min = −2.5;
mpc1 .OV( 2 ) . Max = 2 . 5 ;
mpc1 .OV( 3 ) . Min = −0.025;
mpc1 .OV( 3 ) . Max = 0 . 0 2 5 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s
beta = 7 . 3 8 9 1 ;
%% s p e c i f y w e i g h t s
mpc1 . Weights .MV = [ 1 7 0 0 ] ∗ beta ;
mpc1 . Weights . MVRate = [ 1 1 ] / beta ;
mpc1 . Weights .OV = [ 0 . 0 0 0 1 2 . 5 10 1 0 0 0 0 0 0 ] ∗ beta ;
mpc1 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
alpha = 3 . 9 8 1 1 ;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc1 , ’ model ’ , g e t o u t d i s t ( mpc1 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc1 . Model . N o i s e = mpc1 . Model . N o i s e / a l p h a ;
%Se c o r r e e l a r c h i v o ImitacionASE . s l x

B.8. init.m
% I n i c i a l i z a c i o n de d a t o s para e l s i s t e m a embebido
% Codigo tomado de t e s i s de Tobias Rinke y comentado de acuerdo a l
presente trabajo
clc ;
clear a l l ;
j=sqrt ( −1) ;
% D e f i n i c i o n de l a s g e n e r a c i o n e s programadas
GeneratorBus = [
% nr . . . Vmag P Q . . .
%1 , 0 , 1 . 0 0 0 , 0 . 5 , 0 . 0 0 0 , 0 . 0 0 0 ;
2 , 0 , 1.045 , 0.483 , 0.000 , 0.000;
3 , 0 , 1.010 , 0.342 , 0.000 , 0.000;
%6 , 0 , 1 . 0 7 0 , 0 . 1 1 2 , 0 . 0 0 0 , 0 . 0 0 0 ;
6 , 0 , 1.070 , 0.2 , 0.000 , 0.000;
8 , 0 , 1 . 0 9 0 , 0 . 2 0 0 , 0 . 0 0 0 , 0 . 0 0 0 ; % was z e r o Pm ouput b e f o r e !
% 14 , 0 , 1 . 0 3 6 , −0.08 , 0 , 0 ;
];

%% Datos de l a s c a r g a s , p o t e n c i a s demandadas programadas

115
B.Conclusiones y recomendaciones

LoadBus=[
% nr . . . P Q
4 , 0 , −0.4 , −0.5;
5 , 0 , −0.07 , −0.01;
7 , 0 , 0.000 , 0.000;
9 , 0 , −0.35 , −0.05;
1 0 , 0 , −0.20 , −0.06;
1 1 , 0 , −0.2 , −0.08;
1 2 , 0 , −0.16 , −0.05;
1 3 , 0 , −0.28 , −0.05;
1 4 , 0 , −0.08 , 0 . 0 5 ;
];

%% Dato d e l S l a c k : s e f i j a s o l o l a t e n s i o n a g e n e r a r
SwingBus = [
% nr . . . Vmag P Q . . .
1 , 0 , 1.060 , 0.000;
];

%% C o n f i g u r a c i o n de l a impedancia de l a s l i n e a s
LineData = [
% nodo i n i c i a l −nodo f i n a l ; impedancia l i n e a
2 , 1 , 4.999 −15.263 j ;
5 , 1 , 1.026 −4.235 j ;
3 , 2 , 1.135 −4.782 j ;
4 , 2 , 1.686 −5.116 j ;
5 , 2 , 1.701 −5.194 j ;
4 , 3 , 1.986 −5.069 j ;
5 , 4 , 6.841 −21.579 j ;
7 , 4 , 0.000 −4.782 j ;
9 , 4 , 0.000 −1.798 j ;
6 , 5 , 0.000 −3.968 j ;
1 1 , 6 , 1.955 −4.094 j ;
1 2 , 6 , 1.526 −3.176 j ;
1 3 , 6 , 3.099 −6.103 j ;
8 , 7 , 0.000 −5.677 j ;
9 , 7 , 0.000 −9.090 j ;
1 0 , 9 , 3.902 −10.365 j ;
1 4 , 9 , 1.424 −3.029 j ;
1 1 , 1 0 , 1.881 −4.403 j ;
1 3 , 1 2 , 2.489 −2.252 j ;
1 4 , 1 3 , 1.137 −2.315 j ;
];

L ine Ma tr ix = [
% from to
% to from
4.999 −15.237∗ j , −4.999+15.263∗ j ;
−4.999+15.263∗ j , 4.999 −15.237∗ j ;
1.026 −4.210∗ j , −1.026+4.235∗ j ;
−1.026+4.235∗ j , 1.026 −4.210∗ j ;
1.135 −4.760∗ j , −1.135+4.782∗ j ;

116
B.Conclusiones y recomendaciones

−1.135+4.782∗ j , 1.135 −4.760∗ j ;


1.686 −5.097∗ j , −1.686+5.116∗ j ;
−1.686+5.116∗ j , 1.686 −5.097∗ j ;
1.701 −5.177∗ j , −1.701+5.194∗ j ;
−1.701+5.194∗ j , 1.701 −5.177∗ j ;
1.986 −5.052∗ j , −1.986+5.069∗ j ;
−1.986+5.069∗ j , 1.986 −5.052∗ j ;
6.841 −21.572∗ j , −6.841+21.579∗ j ;
−6.841+21.579∗ j , 6.841 −21.572∗ j ;
0.000 −4.782∗ j , 0 . 0 0 0 + 4 . 7 8 2 ∗ j ;
0 . 0 0 0 + 4 . 7 8 2 ∗ j , 0.000 −4.782∗ j ;
0.000 −1.798∗ j , 0 . 0 0 0 + 1 . 7 9 8 ∗ j ;
0 . 0 0 0 + 1 . 7 9 8 ∗ j , 0.000 −1.798∗ j ;
0.000 −3.968∗ j , 0 . 0 0 0 + 3 . 9 6 8 ∗ j ;
0 . 0 0 0 + 3 . 9 6 8 ∗ j , 0.000 −3.968∗ j ;
1.955 −4.094∗ j , −1.955+4.094∗ j ;
−1.955+4.094∗ j , 1.955 −4.094∗ j ;
1.526 −3.176∗ j , −1.526+3.176∗ j ;
−1.526+3.176∗ j , 1.526 −3.176∗ j ;
3.099 −6.103∗ j , −3.099+6.103∗ j ;
−3.099+6.103∗ j , 3.099 −6.103∗ j ;
0.000 −5.677∗ j , 0 . 0 0 0 + 5 . 6 7 7 ∗ j ;
0 . 0 0 0 + 5 . 6 7 7 ∗ j , 0.000 −5.677∗ j ;
0.000 −9.090∗ j , 0 . 0 0 0 + 9 . 0 9 0 ∗ j ;
0 . 0 0 0 + 9 . 0 9 0 ∗ j , 0.000 −9.090∗ j ;
3.902 −10.365∗ j , −3.902+10.365∗ j ;
−3.902+10.365∗ j , 3.902 −10.365∗ j ;
1.424 −3.029∗ j , −1.424+3.029∗ j ;
−1.424+3.029∗ j , 1.424 −3.029∗ j ;
1.881 −4.403∗ j , −1.881+4.403∗ j ;
−1.881+4.403∗ j , 1.881 −4.403∗ j ;
2.489 −2.252∗ j , −2.489+2.252∗ j ;
−2.489+2.252∗ j , 2.489 −2.252∗ j ;
1.137 −2.315∗ j , −1.137+2.315∗ j ;
−1.137+2.315∗ j , 1.137 −2.315∗ j ; ] ;

%% M a t r i z de a d m i t a n c i a y v e c t o r de p o t e n c i a n e t a
s l a c k l i s t =SwingBus ( : , 1 ) ; %Numero d e l bus d e l s l a c k
l o a d l i s t=LoadBus ( : , 1 ) ; %Numero d e l bus de l a s c a r g a s
g e n l i s t=GeneratorBus ( : , 1 ) ; %s i m i l a r . . .
%Se o b t i e n e n d i m e n s i o n e s de l o s nodos s l a c k , PV, PQ
n s l a c k=length ( s l a c k l i s t ) ;
ngen=length ( g e n l i s t ) ;
n l o a d=length ( l o a d l i s t ) ;
nbus=n s l a c k+n l o a d+ngen ;
% nbus = n l o a d+ngen numero t o t a l de b u s e s
%Punt de p a r t i d a para l a s t e n s i o n e s .
vbus=o n e s ( nbus , 1 ) ;
vbus ( g e n l i s t )=GeneratorBus ( : , 3 ) ; %I n g r e s a l o s v o l t a j e s de l o s
nodos de
%g e r e n a c i o n en Vbus ( 2 , 3 , 6 , 8 )
%v b u s ( s l a c k l i s t )=SwingBus ( : , 3 )

117
B.Conclusiones y recomendaciones

s n e t =(1+ j ) ∗ o n e s ( nbus , 1 ) ; %i n i c i a l i z a c i o n con 1+ j ( M a t r i z de unos


compleja ) .
s n e t ( l o a d l i s t )=−LoadBus ( : , 3 )−j ∗LoadBus ( : , 4 ) ;
%i n v e r s e o f minus s i g n ( l o a d i n now p o s i t i v e )
s n e t ( g e n l i s t )=−GeneratorBus ( : , 4 )−j ∗ GeneratorBus ( : , 5 ) ;
%Generacion ahora e s n e g a t i v a .
%Creacion d e l YBUS
fromto=LineData ( : , 1 : 2 ) ;
i n d e x =(1: length ( fromto ) ) ’ ;
n l i n e=length ( i n d e x ) ; %e q u i v a l e n t e a l a l o n g i t u d de ( f r o mt o )
oddindex=2∗index−o n e s ( n l i n e , 1 ) ;
e v e n i n d e x =2∗ i n d e x ;
new=[ fromto ( : , 1 ) ; fromto ( : , 2 ) ] ; %v e c t o r columna
new ( oddindex , 1 )=fromto ( : , 1 ) ;
new ( evenindex , 1 )=fromto ( : , 2 ) ;
nbus=max( new ) ;
aa=zeros ( nbus , n l i n e ) ;
f o r kk = 1 : length ( new )
aa ( new ( kk ) , kk ) =1;
end
k k l =1: length ( new ) ;
aa=sparse ( new , kkl , o n e s ( length ( new ) , 1 ) ) ;

l k l =1: n l i n e ;
l k l 2 =1:(2∗ n l i n e ) ;
lkodd =2∗ l k l −o n e s ( 1 , n l i n e ) ;
l k e v e n =2∗ l k l ;
l k t o t a l 1 =[ lkodd l k e v e n lkodd l k e v e n ] ;
l k t o t a l 2 =[ lkodd l k e v e n l k e v e n lkodd ] ;
b i g l i n e =[ L ine M atr ix ( [ lkodd ] , 1 ) ; Li ne Ma tr ix ( [ l k e v e n ] , 2 ) ; ...
L ine Ma tr ix ( [ lkodd ] , 2 ) ; Line Ma tr ix ( [ l k e v e n ] , 1 ) ; ] ;
bb=sparse ( l k t o t a l 1 ’ , l k t o t a l 2 ’ , b i g l i n e , 4 0 , 4 0 ) ;

% ” p r i m i t i v e ” ( elemento−por−e l e m e n t o ) m a t r i z de
admitancia
% para l a red , con cada e l e m e n t o t r a t a d o como uno
de dos
% p u e r t o s ( por l o t a n t o , para cada 20 e l e m e n t o s de
lineas
% de t r a n s m i s i o n , tenemos una m a t r i z d i a g o n a l de 40
x40 . Cada
% l i n e a de t r a n s m i s i o n t i e n e un campo de 2 x2 a
t r a v e s de su
% diagonal .
% Esta f o r m u l a c i o n no e s t a n d a r acomoda e l e m e n t o s
de f u t u r a s
% a d i c i o n e s de e l e m e n t o s t a l e s como
t r a n s f o r m a d o r e s de
% d e s p l a z a m i e n t o de f a s e , l o s c u a l e s pueden no
representados
% como dos e l e m e n t o s de c i r c u i t o s i m p l e t e r m i n a l .

118
B.Conclusiones y recomendaciones

yb=aa ∗bb∗ aa ’ ; % yb e s l a m a t r i z de a d m i t a n c i a d e l bus para e l


e s t u d i o de l a r e d .
% Note l a i n c i d e n c i a de l a m a t r i z , aa , y l a m a t r i z
de
% a d m i t a n c i a p r i m i t i v a , bb , son i n d i v i d u a l m e n t e
% almacenadas . Esto p e r m i t e l a s i m u l a c i o n de
estabilidad transitoria
% de l a r u t i n a (” g o t r a n s .m”) un mecanismo f a c i l
para e l ” s w i t c h i n g ” de l a s
%l i n e a s de t r a n s m i s i o n d e n t r o y f u e r a de l a r e d .
yb=f u l l ( yb ) ;

%% Datos de c a r g a y m o d i f i c a c i o n de d a t o s o r i g i n a l e s .
s n e t ( 1 ) =−0.4951 +j ∗ 0 ; % s l a c k node
s n e t ( 2 ) = −0.2; % 20090630
s n e t ( 3 ) = −0.4;
s n e t ( 6 ) = −0.5;
s n e t ( 8 ) = −0.2; % 20090630

%% f l u j o de p o t e n c i a , primera e s t i m a c i o n d e l v b u s
% pfmiss
i b u s=yb∗ vbus ;
nmiss= vbus . ∗ conj ( i b u s )+s n e t ;
% p f m i s s end
r m i s s =[ r e a l ( nmiss ( g e n l i s t ) ) ; r e a l ( nmiss ( l o a d l i s t ) ) ; imag ( nmiss (
loadlist )) ];
error = max( abs ( r m i s s ) ) ;

n s t e p s =5;

loop continue = 1;
i t c n t =0;
%Se i n i c i a l i z a e l metodo de Newton Rhapson
while ( error > . 0 0 0 0 5 && l o o p c o n t i n u e )
d e l=angle ( vbus ) ;
vmag=abs ( vbus ) ;
%
i b u s=yb∗ vbus ;
%M a t r i c e s que componen e l j a c o b i a n o
dsdd=j ∗ diag ( conj ( i b u s ) . ∗ vbus )−j ∗ diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj ( vbus
));
dsdv=diag ( conj ( i b u s ) . ∗ ( vbus . / abs ( vbus ) ) ) + . . .
diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj ( vbus ) . / abs ( vbus ) ) ;
% end p f l o w j a c
%Se c r e a e l j a c o b i a n o , t e n i e n d o en c u e n t a e l orden de l o s nodos
r j a c = [ r e a l ( dsdd ( g e n l i s t , g e n l i s t ) ) r e a l ( dsdd ( g e n l i s t , l o a d l i s t ) )
...
r e a l ( dsdv ( g e n l i s t , l o a d l i s t ) ) ; r e a l ( dsdd ( l o a d l i s t , g e n l i s t ) ) . . .
r e a l ( dsdd ( l o a d l i s t , l o a d l i s t ) ) r e a l ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ; . . .
imag ( dsdd ( l o a d l i s t , g e n l i s t ) ) imag ( dsdd ( l o a d l i s t , l o a d l i s t ) ) . . .
imag ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ] ;
%Se d e s p e j a n l o s i n c r e m e n t o s
dx=− r j a c \ r m i s s ;

119
B.Conclusiones y recomendaciones

%s e d e f i n e n l o s a p u n t a d o r e s para a c t u a l i z a r v a r i a b l e s
ngen = length ( g e n l i s t ) ;
n l o a d = length ( l o a d l i s t ) ; %
n s l a c k = length ( s l a c k l i s t ) ; %
i n d e x 1 = ngen ;
i n d e x 2 = i n d e x 1 +1;
i n d e x 3 = ngen + n l o a d ;
index4 = index3 + 1 ;
i n d e x 5 = ngen + 2∗ n l o a d ;
%Se a c t u a l i z a n l o s v a l o r e s de l a s v a r i a b l e s de e s t a d o
d e l ( g e n l i s t ) = d e l ( g e n l i s t ) + dx ( 1 : i n d e x 1 ) ;
d e l ( l o a d l i s t ) = d e l ( l o a d l i s t ) + dx ( i n d e x 2 : i n d e x 3 ) ;
vmag ( l o a d l i s t ) = vmag ( l o a d l i s t ) + dx ( i n d e x 4 : i n d e x 5 ) ;
newvbus = vmag . ∗ exp ( j ∗ d e l ) ;
vbus = newvbus ;
%Se c a l c u l a l a c o r r i e n t e con l o s nuevos v o l t a j e s
i b u s=yb∗ vbus ;
% Se haya e l e r r o r en p o t e n c i a a p a r e n t e t o t a l
nmiss= vbus . ∗ conj ( i b u s )+s n e t ;
%Se r e s c a t a n l a s v a r i a b l e s de e s t a d o de i n t e r e s
r m i s s =[ r e a l ( nmiss ( g e n l i s t ) ) ; r e a l ( nmiss ( l o a d l i s t ) ) ; imag ( nmiss (
loadlist )) ];
%El e r r o r e s l a maxima d i f e r e n c i a
error = max( abs ( r m i s s ) ) ;
i t c n t= i t c n t +1;
%s e mira s i c o n v e r g e en 10 p a s o s
i f i t c n t >10
type c o n v e r g e f a i l . msg
loop continue = 0;
end
end

%Se c r e a un v e c t o r de e s t a d o s i n i c i a l para e l embebido


xeq =[ zeros ( ngen +1 ,1) ; d e l ( [ 1 ; g e n l i s t ] ) ] ;
xs=0∗xeq ; % c o n s t r u c t ” n a t u r a l ” 10− d i m e n s i o n a l
% state vector : generator freq deviations
% and g e n e r a t o r p ha se a n g l e s . Note t h a t
% freq deviation at equilibrium i s forced to zero .
%f r e c u e n c i a s a n g u l a r e s i n i c i a l e s
omega=0∗ o n e s ( ngen+n s l a c k , 1 ) ; %omega v e c t o r i n i t i a l i s a t i o n

veq=vbus ;
%Algo de v i s u a l i z a c i o n
disp ( ’ The i n i t i a l e q u i l i b r i u m power f l o w s o l u t i o n f o r t h e study
network i s : ’ )
disp ( ’ Bus# V p . u . Angle−d e g r e e s ’ )
b i n d i c e s =(1: length ( vbus ) ) ’ ;
disp ( [ b i n d i c e s abs ( vbus ) ( 1 8 0 / pi ) ∗ angle ( vbus ) ] )

%% V a l o r e s de i n i c i a l i z a c i o n para f u n c i o n e s d e l embebido de
S i m u l i n k de
% Matlab
y b i n i t=f u l l ( yb )

120
B.Conclusiones y recomendaciones

v b u s i n i t=vbus
o m e g a i n i t=omega
s n e t i n i t=s n e t
x s i n i t=xs ;

% d e b e r i a s e r s n e t i n i t=
S=v b u s i n i t . ∗ conj ( y b i n i t ∗ v b u s i n i t ) ;
s n e t i n i t=−S ;

kP = 1 . 8 9 5 ;
kI =1.2256;
%%i n i c i a l i z a c i o n c o r r e s p o n d i e n t e a e c u a c i o n de o s c i l a c i o n
%% 60 hz 50 hz i n i c i a l i z a c i o n , tiempo de muestreo
d e l t i m e = . 0 1 6 6 6 6 6 ; %60Hz
%% C o n s t a n t e s para l a e c u a c i o n de o s c i l a c i o n (D ( a m o r t i g u a m i e n t o )
y M ( Inercias ) )
syms D1 D2 D3 D6 D8 ;
D=[D1 ; D2 ; D3 ; D6 ; D8 ] ;
D temp = 0 . 0 2 ;
par .D = D temp∗ o n e s ( 5 , 1 ) ; %Amortiguamiento r o t a c i o n a l
%c o n s t a n t e s de i n e r c i a
par .M = [ 8 ; . 1 ; 8 ; 8 ; . 1 ] ;
D1 = par .D( 1 , 1 ) ;
D2 = par .D( 2 , 1 ) ;
D3 = par .D( 3 , 1 ) ;
D6 = par .D( 4 , 1 ) ;
D8 = par .D( 5 , 1 ) ;
%D14 = par .D( 2 , 1 ) ;
D = s u b s (D) ;
% Generador de i n e r c i a s
syms M1 M2 M3 M6 M8;
%TR250510 o r i g i n a l
%M=(1/( p i ∗60) ) ∗ [M1; M2; M3; M6; M8 ] ;
%o r i g i n a l end
M=(1/( pi ∗ 6 0 ) ) ∗ [M1; M2; M3; M6; M8 ] ;
% (1/60∗ p i ) ∗ p e r u n i t ”H”
% ”H” v a l u e s a bo ve
% ( note : H i s r a t i o of generator / t u r b i n e stored
% f o r g e n s @ b u s e s % k i n e t i c e n e r g y a t r a t e d speed ,
% s 1 ,2 ,3 ,6 ,8 % t o system wide ” b a s e ” power
% ( h e r e chosen as 100 MVA) . H i s a s t a n d a r d
% s p e c i n power system t r a n s i e n t s t a b i l i t y
% s t u d i e s . I t has u n i t s o f s e c o n d s )
M1 = par .M( 1 , 1 ) ;
M2 = par .M( 2 , 1 ) ;
M3 = par .M( 3 , 1 ) ;
M6 = par .M( 4 , 1 ) ;
M8 = par .M( 5 , 1 ) ;
%M14 = par .M( 2 , 1 ) ;
M = s u b s (M) ;
%Es d e l t i m e /2 m u t i p l i c a d o por l a m a t r i z Aaum . Para e s t e c a s o
%l a f r e c u e n c i a e s a n g u l a r y por l o t a n t o e l 2 p i de l a e c u a c i o n
3.14 se

121
B.Conclusiones y recomendaciones

%omite . La m a t r i z Baum e s t a a d j u n t a .
HI = ( d e l t i m e / 2 ) ∗ [ diag (−(D) . /M) −[[0; −(D( 2 : 5 ) ) . /M( 2 : 5 ) ] zeros ( 5 , 4 )
]...
diag(− o n e s ( ngen+n s l a c k , 1 ) . / ( 2 ∗M) ) ; . . .
[ 0 zeros ( 1 , 4 ) ; −o n e s ( 4 , 1 ) eye ( ngen ) ] 0∗ eye ( ngen+n s l a c k ) ] ;
HI=d o u b l e ( HI ) ;

B.9. Embebido.m
% Tomado de l a t e s i s de Tobias Rinke y comentado para e l p r e s e n t e
trabajo
function [ omegasave , f r e q 1 c , f r e q 2 c , f r e q 3 c , f r e q 5 c , f r e q 8 c ] = . . .
system ( padd , p f a u l t , y b i n i t , v b u s i n i t , o m e g a i n i t , s n e t i n i t , . . .
g e n l i s t , l o a d l i s t , HI )
% S a l i d a s : Son l o s i n c r e m e n t o s de f r e c u e n c i a en t o d o s l o s nodos .
% Entradas : padd que e s e l i n c r e m e n t o de p o t e n c i a a g r e g a d a a l nodo
de
% g e n e r a c i o n de c o n t r o l .
% P f a u l t : e s e l i n c r e m e n t o en l a demanda en e l nodo que s e
especificara
% y b i n i t : e s l a m a t r i z de a d m i t a n c i a s de l a r e d
% v b u s i n i t : e s e l v e c t o r c o m p l e j o de t e n s i o n e s en cada nodo
d e s p u e s de
% s o l u c i o n a r e l f l u j o de p o t e n c i a .
% o m e g a i n i t : son l o s i n c r e m e n t o s i n i c i a l e s de f r e c u e n c i a en cada
nodo
% s n e t i n i t : son l a s p o t e n c i a s c o m p l e j a s programadas , tomado
negativad las generaciones
% g e n l i s t : son l o s a p u n t a d o r e s a l o s nodos PV
% l o a d l i s t : son l o s a p u n t a d o r e s a l o s nodos PQ
% HI e s l a m a t r i z de d e l t i m e / 2 [Aaum Baum ]

% Se d e f i n e n l a s d i m e n s i o n e s de l o s nodos PV,PQ SLACK


[ ngen , ˜]= s i z e ( o m e g a i n i t ) ;
ngen=ngen −1;
[ nload , ˜ ]= s i z e ( y b i n i t ) ;
n l o a d=nload−ngen−1
n s l a c k =1;

% Returns t h e r e s u l t s o f t h e c a l c u l a t i o n t h a t s a t i s f y t h e
% Error para newton−rhapson o f 0 . 0 0 0 0 5 . :
% v b u s : complex v e c t o r o f bus v o l t a g e p h a s o r s
% omega : v e c t o r o f a n g u l a r f r e q u e n c i e s
% yb : a d m i t t a n c e m a t r i x
% s n e t : n e t complex power
% s : a c t u a l complex power
% d e l : angles at vbus
% Compute i n i t i a l mismatch
j=sqrt ( complex ( −1) ) ;
% Se crean v a r i a b l e s p e r s i s t e n t e s , e s t a s son l o c a l e s a l a f u n c i o n
y se

122
B.Conclusiones y recomendaciones

% guardan en memoria aun d e s p u e s de h a b e r s e e j e c u t a d o , n e c e s a r i a s


para
% que en s i m u l i n k no s e r e i n i c i e n l o s d a t o s d e s p u e s de cada
deltime
p e r s i s t e n t vbus v b u s o l d omega omegaold yb s n e t d e l d e l o l d
snet save ;
%Llenado para l a primera e j e c u c i o n de c o d i g o
i f isempty ( v b u s o l d )
vbus=v b u s i n i t ;
omega=o m e g a i n i t ;
yb=y b i n i t ;
s n e t=s n e t i n i t ;
s n e t s a v e=s n e t i n i t ;
end
% Llenado para e j e c u c i o n e s p o s t e r i o r e s
v b u s o l d=vbus ;
omegaold=omega ;
% padd = [ ] ;
% Para e s t e c a s o s e ve que e l nodo de f a l l a e s e l 4 y e l de
control el 2
% Es c l a r o que s e pueden a g r e g a r mas .
% Se a c t u a l i z a n l a s p o t e n c i a s programadas .
snet (4) = snet save (4) + pfault ;
s n e t ( 2 ) = s n e t s a v e ( 2 ) − padd ;
% s n e t ( 8 ) = s n e t s a v e ( 8 ) − padd ;
% s n e t ( 2 ) = s n e t s a v e ( 2 ) + padd ;

% C a l c u l o de m a t r i c e s que componen e l j a c o b i a n o , p r i m e r o s haya


Ibus
i b u s=yb∗ vbus ;
% Se d e r i v a r e s p e c t o a t o d o s l o s a n g u l o s l a p o t e n c i a c o m p l e j a
[ ds / dd ]
dsdd=j ∗ diag ( conj ( i b u s ) . ∗ vbus )−j ∗ diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj (
vbus ) ) ;
% Se d e r i v a r e s p e c t o a t o d o s l a s m agn it ude s l a p o t e n c i a
c o m p l e j a [ ds / dv ]
dsdv=diag ( conj ( i b u s ) . ∗ ( vbus . / abs ( vbus ) ) ) + . . .
diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj ( vbus ) . / abs ( vbus ) ) ;

% Se usan l o s a p u n t a d o r e s de l o s nodos para o r g a n i z a r l a s m a t r i c e s


% j a c o b i a n a s n e c e s a r i a s para l a s e c u a c i o n e s 3 . 5 1
dpgddg=r e a l ( dsdd ( [ 1 ; g e n l i s t ] , [ 1 ; g e n l i s t ] ) ) ; % dPgen/ d d e l t a g e n
dpgddl=r e a l ( dsdd ( [ 1 ; g e n l i s t ] , l o a d l i s t ) ) ; % dPgen/ d d e l t a L
dpgdv=r e a l ( dsdv ( [ 1 ; g e n l i s t ] , l o a d l i s t ) ) ; % dPgen/dVL
dplddg=r e a l ( dsdd ( l o a d l i s t , [ 1 ; g e n l i s t ] ) ) ; % dPL/ d d e l t a g e n
dp l d d l=r e a l ( dsdd ( l o a d l i s t , l o a d l i s t ) ) ; % dPgen/ d d e l t a l
dpldv=r e a l ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ; % dPl / dVl
dqlddg=imag ( dsdd ( l o a d l i s t , [ 1 ; g e n l i s t ] ) ) ; % dQl / ddgen
d q l d d l=imag ( dsdd ( l o a d l i s t , l o a d l i s t ) ) ; % dQl / d d l
dqldv=imag ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ; % dPl / dVl
% M a t r i z que i n v o l u c r a l o s g e n e r a d o r e s , a l i s t a para e l j a c o b i a n o
ecuacion

123
B.Conclusiones y recomendaciones

% 3.51
temprows =[eye ( ngen +1) 0∗ eye ( ngen +1) zeros ( ngen +1, n l o a d ) . . .
zeros ( ngen +1, n l o a d ) ; 0∗ eye ( ngen +1) dpgddg dpgddl dpgdv ] ;
% Ecuacion 3 . 5 1 , j a c o b i a n o aumentado
t r a p j a c =[([ − eye ( 2 ∗ ngen +2) zeros ( ( 2 ∗ ngen +2) , ( 2 ∗ n l o a d ) ) ] + . . .
HI∗ temprows ) ; zeros ( nload , ngen +1) dplddg d p l d d l dpldv ; . . .
zeros ( nload , ngen +1) dqlddg d q l d d l dqldv ] ;
% t r z j a c end
% Angulos para l a primera e s t i m a c i o n
d e l=angle ( vbus ) ;
% Angulos de l o s v o l t a j e s a n t e r i o r e s
d e l o l d=angle ( v b u s o l d ) ;
% trzmiss
% Punto de p a r t i d a para Newton−Rhapson para e l v e c t o r de
v a r i a b l e s de
% estado ecuacion 3.13
x p o r t i o n =[( omegaold−omega ) ; ( d e l o l d ( [ 1 ; g e n l i s t ] )−d e l ( [ 1 ;
genlist ]) ) ]
% Fpart t ( n )
% pfmiss
i b u s=yb∗ vbus ;
% E r r o r e s en e s t i m a c i o n de p o t e n c i a
nmiss= vbus . ∗ conj ( i b u s )+s n e t ;
% p f m i s s end
% c a l c u l o de v a l o r e s p a s a d o s de l a e c u a c i o n 3 . 2 6
f p a r t a=HI ∗ [ omega ; r e a l ( nmiss ( [ 1 ; g e n l i s t ] ) ) ] ;
%% end f p a r t t ( n )
%% Fpart t ( n−1)
% pfmiss
i b u s b=yb∗ v b u s o l d ;
% D i f e r e n c i a s de p o t e n c i a s e s t i m a d a s c o m p l e j a s
nmissb=v b u s o l d . ∗ conj ( i b u s b )+s n e t ;
% p f m i s s end
% HI [ d e l t a F ; deltaPG ]
f p a r t b=HI ∗ [ omegaold ; r e a l ( nmissb ( [ 1 ; g e n l i s t ] ) ) ] ;
%% end f p a r t t ( n−1)
% v a r i a b l e s de e s t a d o para l a primera i t e r a c i o n
f p o r t i o n=f p a r t a+f p a r t b ;
% Vector de i n c r e m e n t o s de l a e c u a c i o n 3 . 5 1 d e l t a G
t r z m i s s =[( x p o r t i o n+f p o r t i o n ) ; r e a l ( nmiss ( l o a d l i s t ) ) ; imag ( nmiss (
loadlist )) ];
% t r z m i s s end

%% l o o p
i l o c o n t =1;
i l o c n t =1;
loop continue = 1;

while (norm( t r z m i s s ) >0.00005 & l o o p c o n t i n u e )


% w h i l e i l o c n t <10 %Mod S e r g i o
i l o c n t=i l o c n t +1
d e l=angle ( vbus ) ;
vmag=abs ( vbus ) ;

124
B.Conclusiones y recomendaciones

% incrementos
dx=−t r a p j a c \ t r z m i s s ;
% a c t u a l i z a c i o n de f r e c u e n c i a s
omega=omega+dx ( 1 : ( ngen +1) , 1 ) ;
% a c t u a l i z a c i o n de a n g u l o s g e n e r a c i o n
d e l ( [ 1 ; g e n l i s t ] )=d e l ( [ 1 ; g e n l i s t ] )+dx ( 6 : 1 0 , 1 ) ;
% a c t u a l i z a c i o n de a n g u l o s en c a r g a s
d e l ( l o a d l i s t )=d e l ( l o a d l i s t )+dx ( 1 1 : 1 9 , 1 ) ;
% a c t u a l i z a c i o n de magnitud de t e n s i o n e s en c a r g a s
vmag ( l o a d l i s t )=vmag ( l o a d l i s t )+dx ( 2 0 : 2 8 , 1 ) ;
% z e=z e+dx ( ( s t a t e s s y s +1) : ( s t a t e s s y s+s t a t e s a d d ) ) ;
%% ab Regelung v b u s=vmag . ∗ exp ( j ∗ d e l ) ;

% trzjac

% se r e c a l c u l a e l jacobiano
i b u s=yb∗ vbus ;
dsdd=j ∗ diag ( conj ( i b u s ) . ∗ vbus )−j ∗ diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj (
vbus ) ) ;
dsdv=diag ( conj ( i b u s ) . ∗ ( vbus . / abs ( vbus ) ) ) + . . .
diag ( vbus ) ∗ conj ( yb ) ∗ diag ( conj ( vbus ) . / abs ( vbus ) ) ;
% end p f l o w j a c
dpgddg=r e a l ( dsdd ( [ 1 ; g e n l i s t ] , [ 1 ; g e n l i s t ] ) ) ;
dpgddl=r e a l ( dsdd ( [ 1 ; g e n l i s t ] , l o a d l i s t ) ) ;
dpgdv=r e a l ( dsdv ( [ 1 ; g e n l i s t ] , l o a d l i s t ) ) ;
dplddg=r e a l ( dsdd ( l o a d l i s t , [ 1 ; g e n l i s t ] ) ) ;
d p l d d l=r e a l ( dsdd ( l o a d l i s t , l o a d l i s t ) ) ;
dpldv=r e a l ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ;
dqlddg=imag ( dsdd ( l o a d l i s t , [ 1 ; g e n l i s t ] ) ) ;
d q l d d l=imag ( dsdd ( l o a d l i s t , l o a d l i s t ) ) ;
dqldv=imag ( dsdv ( l o a d l i s t , l o a d l i s t ) ) ;

temprows =[eye ( ngen +1) 0∗ eye ( ngen +1) zeros ( ngen +1, n l o a d ) . . .
zeros ( ngen +1, n l o a d ) ; 0∗ eye ( ngen +1) dpgddg dpgddl dpgdv ] ;

t r a p j a c =[([ − eye ( 2 ∗ ngen +2) zeros ( ( 2 ∗ ngen +2) , ( 2 ∗ n l o a d ) ) ] + . . .


HI∗ temprows ) ; zeros ( nload , ngen +1) dplddg d p l d d l dpldv ; . . .
zeros ( nload , ngen +1) dqlddg d q l d d l dqldv ] ;
% t r z j a c end

% trzmiss
x p o r t i o n =[( omegaold−omega ) ; ( d e l o l d ( [ 1 ; g e n l i s t ] )−d e l ( [ 1 ;
genlist ]) ) ];
%%Fpart t ( n )
% pfmiss
i b u s=yb∗ vbus ;
nmiss= vbus . ∗ conj ( i b u s )+s n e t ;
% p f m i s s end
f p a r t a=HI ∗ [ omega ; r e a l ( nmiss ( [ 1 ; g e n l i s t ] ) ) ] ;
%% end f p a r t t ( n )
%% Fpart t ( n−1)
%p f m i s s
i b u s b=yb∗ v b u s o l d ;

125
B.Conclusiones y recomendaciones

nmissb=v b u s o l d . ∗ conj ( i b u s b )+s n e t ;


%p f m i s s end
f p a r t b=HI ∗ [ omegaold ; r e a l ( nmissb ( [ 1 ; g e n l i s t ] ) ) ] ;
%% end f p a r t t ( n−1)
f p o r t i o n=f p a r t a+f p a r t b ;
%3 .
t r z m i s s =[( x p o r t i o n+f p o r t i o n ) ; r e a l ( nmiss ( l o a d l i s t ) ) ; imag ( nmiss (
loadlist )) ];
% t r z m i s s end

i f ( i l o c n t +1>9) % don ’ t a l l o w more than 12 N−R i t e r a t e s


%t y p e bconv . msg
l o o p c o n t i n u e =0;
end
% i f i l o c n t >10 %mod Nelson
% loop continue = 0;
% end

end
% outputs
% v b u s s a v e=v b u s ;
omegasave = omega ;
% y b s a v e=yb ;
% snetsave = snet ;
% delsave = del ;
% ssave = diag ( vbus ) ∗ conj ( ibus ) ;
f r e q 1 c=omegasave ( 1 ) ;
f r e q 2 c=omegasave ( 2 ) ;
f r e q 3 c=omegasave ( 3 ) ;
f r e q 5 c=omegasave ( 4 ) ;
f r e q 8 c=omegasave ( 5 ) ;
end

B.10. imitacion14,m
%Para s i m u l a r e l s l a c k
K3=Kp/Tp ;
K4=1/Tp ;
%R e p r e s e n t a c i o n en v a r i a b l e s de e s t a d o para i m i t a c i o n de l a
inercia
Aaum=[−K4 0 0 0 ; 0 −K4 0 0 ; 0 0 0 0 ; 0 0 1 0 ] ;
Baum=[0 K3 ; K3 0 ; 1 0 ; 0 −1];
Caum=[eye ( 4 ) ] ;
Daum=zeros ( 4 , 2 ) ;
P la nt a=s s (Aaum, Baum, Caum, Daum) ;

%% c o n t r o l a d o r

%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time


mpc1 = mpc( Planta , 1 / 6 0 ) ;

126
B.Conclusiones y recomendaciones

%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc1 . P r e d i c t i o n H o r i z o n = 5 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc1 . C o n t r o l H o r i z o n = 5 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc1 . Model . Nominal .U = [ 0 ; 0 ] ;
mpc1 . Model . Nominal .Y = [ 0 ; 0 ; 0 ; 0 ] ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc1 .MV( 1 ) . Min = −2;
mpc1 .MV( 1 ) . Max = 2 ;
mpc1 .MV( 1 ) . RateMin = −2.5;
mpc1 .MV( 1 ) . RateMax = 2 . 5 ;
mpc1 .MV( 2 ) . Min = −0.1;
mpc1 .MV( 2 ) . Max = 0 . 1 ;
mpc1 .MV( 2 ) . RateMin = −0.1;
mpc1 .MV( 2 ) . RateMax = 0 . 1 ;
%% s p e c i f y c o n s t r a i n t s f o r OV
mpc1 .OV( 1 ) . Min = −5;
mpc1 .OV( 1 ) . Max = 5 ;
mpc1 .OV( 2 ) . Min = −1;
mpc1 .OV( 2 ) . Max = 1 ;
mpc1 .OV( 3 ) . Min = −0.0001;
mpc1 .OV( 3 ) . Max = 0 . 0 0 0 1 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s
beta = 1 . 6 8 2 ;
%% s p e c i f y w e i g h t s
mpc1 . Weights .MV = [ 0 . 0 1 1 0 0 0 ] ∗ beta ;
mpc1 . Weights . MVRate = [ 1 1 5 0 0 0 ] / beta ;
mpc1 . Weights .OV = [ 0 . 1 0 . 1 10 1 0 0 0 0 0 ] ∗ beta ;
mpc1 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
alpha = 0 . 7 ;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc1 , ’ model ’ , g e t o u t d i s t ( mpc1 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc1 . Model . N o i s e = mpc1 . Model . N o i s e / a l p h a ;
%% Correr tambien i n i t , y l u e g o e l I m i t a c i o n I n e r c i a . s x l

B.11. Seguimiento14,m
%Para s i m u l a r e l s l a c k
K3=Kp/Tp ;
K4=1/Tp ;
%R e p r e s e n t a c i o n en v a r i a b l e s de e s t a d o para i m i t a c i o n de l a
inercia
Aaum=[−K4 0 0 0 ; 0 −K4 0 0 ; 0 0 0 0 ; 0 0 1 0 ] ;
Baum=[0 K3 ; K3 0 ; 1 0 ; 0 −1];
Caum=[eye ( 4 ) ] ;
Daum=zeros ( 4 , 2 ) ;

127
B.Conclusiones y recomendaciones

PlantaReg=s s (Aaum, Baum, Caum, Daum) ;


%% % % % % % % %
%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time
%% c r e a t e MPC c o n t r o l l e r o b j e c t w i t h sample time
mpc1 = mpc( PlantaReg , 1 / 6 0 ) ;
%% s p e c i f y p r e d i c t i o n h o r i z o n
mpc1 . P r e d i c t i o n H o r i z o n = 3 0 ;
%% s p e c i f y c o n t r o l h o r i z o n
mpc1 . C o n t r o l H o r i z o n = 1 5 ;
%% s p e c i f y nominal v a l u e s f o r i n p u t s and o u t p u t s
mpc1 . Model . Nominal .U = [ 0 ; 0 ] ;
mpc1 . Model . Nominal .Y = [ 0 ; 0 ; 0 ; 0 ] ;
%% s p e c i f y c o n s t r a i n t s f o r MV and MV Rate
mpc1 .MV( 1 ) . Min = −10;
mpc1 .MV( 1 ) . Max = 1 0 ;
mpc1 .MV( 1 ) . RateMin = −10;
mpc1 .MV( 1 ) . RateMax = 1 0 ;
mpc1 .MV( 2 ) . Min = −0.1;
mpc1 .MV( 2 ) . Max = 0 . 1 ;
mpc1 .MV( 2 ) . RateMin = −0.1;
mpc1 .MV( 2 ) . RateMax = 0 . 1 ;
%% s p e c i f y c o n s t r a i n t s f o r OV
mpc1 .OV( 1 ) . Min = −1;
mpc1 .OV( 1 ) . Max = 1 ;
mpc1 .OV( 2 ) . Min = −0.05;
mpc1 .OV( 2 ) . Max = 0 . 0 5 ;
mpc1 .OV( 3 ) . Min = −0.15;
mpc1 .OV( 3 ) . Max = 0 . 1 5 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o w e i g h t s
beta =10;
%% s p e c i f y w e i g h t s
mpc1 . Weights .MV = [ 0 . 1 0 . 1 ] ∗ beta ;
mpc1 . Weights . MVRate = [ 0 . 0 5 0 . 0 5 ] / beta ;
mpc1 . Weights .OV = [ 1 0 0 0 10 10 0 . 1 ] ∗ beta ;
mpc1 . Weights .ECR = 1 0 0 0 0 0 ;
%% s p e c i f y o v e r a l l a d j u s t m e n t f a c t o r a p p l i e d t o e s t i m a t i o n model
gains
%a l p h a = 0 . 2 2 9 0 9 ;
alpha =0.1;
%% a d j u s t d e f a u l t o u t p u t d i s t u r b a n c e model g a i n s
s e t o u t d i s t ( mpc1 , ’ model ’ , g e t o u t d i s t ( mpc1 ) ∗ a l p h a ) ;
%% a d j u s t d e f a u l t measurement n o i s e model g a i n s
mpc1 . Model . N o i s e = mpc1 . Model . N o i s e / a l p h a ;

%Correr e l a r c h i v o i n i t .m y l u e g o s e g u i m i e n t o . s x l

128
Bibliografı́a

[1] E. Camacho. C. Bordons, Model Predictive Control, Springer Science &


Business Media 2013.

[2] A. Rossiter Model-based predictive control: a practical approach, 2003

[3] A. Mullane, M. O’Malley The Inertial Response of Induction-Machine-


Based Wind Turbines, IEEE Transaction on power systems, vol. 20, No.
3, August 2005

[4] Rinke. Tobias, MPC-based Frequency Regulation and Inertia Mimicking


for Improved Grid Integration of Renewable Energy Sources, Diploma The-
sis , (2011).

[5] Grote. Wolfgang, Katsian Darya, Monningmann Martin Optimal power


system unit commintment with guaranteed local Stability, American Con-
trol Conference June 29 2011).

[6] Kundur Prabha Power System Stability and Control,McGraw-Hill 1994,


chapter 12

[7] Ulbig. Andreas, Rinke. Tobias,Chatzivasileiadis Spyros, Andersson Go-


ran Predictive Control for Real-Time Frequency Regulation and Rotational
Inertia Provision in Power Systems, 52nd IEEE Conference on Decision
and Control December 10-13, 2013. Florence, Italy, (2013).

[8] Rivera. Sergio, Gomez. Nelson Sintonización de control PID en sistema


de potencia con generadores eólicos, En revisión 2017.

[9] Gomez. Nelson Regulación de frecuencia en sistemas de potencia que in-


tegran fuentes de energı́a eólica mediante un controlador PI e imitación
inercial , Ingenierı́a Solidaria 2017

[10] Johan . Morren, de Haann . Sjoerd, Ferreira . J.A, Kling. Wil Wind Turbi-
nes Emulating Inertia and Supporting Primary Frequency Control, IEEE
TRANSACTIONS ON POWER SYSTEMS, VOL 21 FEBRUARY 2006

[11] Sierra . Eric Análisis del diseño y control de un generador trifásico doble-
mente alimentado, Memoria de tı́tulo, Universidad de Chile, mayo 2012

129
B.Conclusiones y recomendaciones

[12] Sierra . Eric Diseño de esquemas de control para respuesta inercial en ge-
neradores de inducción doblemente alimentados, Memoria de tı́tulo, Uni-
versidad de Chile, 2016

[13] Tielens . Pieter,De Rijcke . Simon, Muhamad . Reza Frequency Support by


Wind Power Plants in Isolated Grids with Varyin Generation MIX,IEEE
Power and Energy Society General Meeting, 2012.

[14] Xu . Lie,Wang . Yi Dynamic Modeling and Control of DFIG-BasedWind


Turbines Under Unbalanced Network Conditions,IEEE .

[15] S. Cagle, Microgrids could bring big green changes to power systems, www.
grist.org, (2012).

[16] P. Asmus, No Rules, Only Exceptions with Microgrids, Pike research blog,
(2012).

[17] Zpryme Analysis and Consulting, POWER SYSTEMS OF THE FUTU-


RE: The Case for Energy Storage, Distributed Generation, and Micro-
grids, IEEE Smart Grid, (2012).

130

Você também pode gostar