Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
I
Agradecimientos
II
Resumen
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
1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Resumen de los capı́tulos . . . . . . . . . . . . . . . . . . . . . . 3
VI
ÍNDICE GENERAL VII
6. Conclusiones y recomendaciones 94
Bibliografı́a 129
Índice de figuras
IX
ÍNDICE DE FIGURAS X
XII
Capı́tulo 1
Introducción
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 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
3
1.Introducción
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.
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:
dω
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:
dω
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]:
6
2.Conceptos y fundamentos
7
2.Conceptos y fundamentos
8
2.Conceptos y fundamentos
ωturb R
λ= (2.13)
Vviento
A continuación se hace un detalle de cada variable:
9
2.Conceptos y fundamentos
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:
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.
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
Vs =Tensión en el estator.
is = Corriente en el estator.
ir =Corriente en el rotor.
Te = Torque eléctrico.
Tm = Torque mecánico.
13
2.Conceptos y fundamentos
∗
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
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.
∆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
17
2.Conceptos y fundamentos
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
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:
20
2.Conceptos y fundamentos
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
N
X
Qi = |Vi Vk Yik |sen(δi − δk − θik ) (3.3)
K=1
23
3.Solución de ecuación de oscilación para grandes sistemas
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.
d∆f̂i
= Ai∆f̂i + Bi ∆Pgi (3.7)
dt
Si el nodo slack se denota como el número 1, entonces:
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:
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
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
∆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
∆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)
∆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
27
3.Solución de ecuación de oscilación para grandes sistemas
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:
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
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.
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
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
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
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.
32
3.Solución de ecuación de oscilación para grandes sistemas
∆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
∂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.
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
37
4.Fundamentos del control predictivo
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.
38
4.Fundamentos del control predictivo
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
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:
40
4.Fundamentos del control predictivo
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
42
4.Fundamentos del control predictivo
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:
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:
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...
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
46
4.Fundamentos del control predictivo
∞
X
J= (Γx ΘZk )T Q(Γx ΘZk ) + (−Kz Zk )T R(−Kz Zk ) (4.50)
k=0
∞
X
J = Z0T ( (Θk )T (ΘT ΓTx QΓx Θ + KzT RKz )Θk )Z0 = Z0T SZ0 (4.52)
k=0
47
4.Fundamentos del control predictivo
48
4.Fundamentos del control predictivo
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:
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.
50
4.Fundamentos del control predictivo
51
4.Fundamentos del control predictivo
52
4.Fundamentos del control predictivo
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:
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
55
5.Simulaciones y resultados
56
5.Simulaciones y resultados
57
5.Simulaciones y resultados
58
5.Simulaciones y resultados
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.
60
5.Simulaciones y resultados
61
5.Simulaciones y resultados
62
5.Simulaciones y resultados
63
5.Simulaciones y resultados
∆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
˙ (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
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
67
5.Simulaciones y resultados
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.
68
5.Simulaciones y resultados
la figura 5.17.
Figura 5.17: Respuestas ante perturbación tipo paso con control EAO.)
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.
∆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
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:
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.)
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)
75
5.Simulaciones y resultados
76
5.Simulaciones y resultados
77
5.Simulaciones y resultados
78
5.Simulaciones y resultados
79
5.Simulaciones y resultados
∆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
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.
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.
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
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
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
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
93
Capı́tulo 6
Conclusiones y recomendaciones
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
96
A.Conclusiones y recomendaciones
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
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
99
A.Conclusiones y recomendaciones
100
A.Conclusiones y recomendaciones
101
A.Conclusiones y recomendaciones
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
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
% 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 )
%% %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
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
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
% 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
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
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 ;
];
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
%% 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
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
%% 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
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 ]
% 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
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;
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 ] ;
% 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
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
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
%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
[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
[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).
130