Академический Документы
Профессиональный Документы
Культура Документы
TESIS
AREQUIPA – PERÚ
2017
RESUMEN
El desarrollo del método Look-Ahead es el método más rápido, con solo dos
flujos de potencia puede predecir el margen de cargabilidad de los sistemas
eléctricos de potencia, el método consiste en ubicar la barra piloto a partir de la
segunda solución de flujo de potencia y encontrando los parámetros del
polinomio del segundo grado.
i
ABSTRACT
Due to the increase of the demand and the complexity of electrical networks,
problems arise in the operation that are attributed to strain to voltage instability,
as the progressive drop of voltage in the load bars, carrying to limits and causing
strain collapses in the electrical power systems.
In the search of a solution more for the problems of strain instability, several
methods have been developed instable operation of the system to prevent
voltage collapses, however, they aren’t sufficient due to the magnitude of the
computational effort for this reason have been developed methods of estimation
of load range in the electric power systems.
The development of the Look-Ahead method, is faster, with only two power flows
can predict the range of chargeability of electric power systems, and this method
consists to locate the pilot bar from the second power flow solution and finding
the polynomial parameters of the second degree.
In this paper we present the development and results of the estimation of load
range for the electric power systems by the methods of flow continuous of power
and the Look-Ahead in the Matlab software.
ii
AGRADECIMIENTOS
A Dr. Moussa Reda Mansour, quien atendió amablemente mis consultas para
despejar dudas en el desarrollo del presente trabajo.
iii
DEDICATORIA
iv
INDICE
CAPITULO I ....................................................................................................... 1
PLANTEAMIENTO DE LA INVESTIGACIÓN ............................................. 1
1.1. DETERMINACIÓN DEL PROBLEMA ............................................... 1
1.2. JUSTIFICACION ............................................................................... 2
1.3. ESTADO DEL ARTE ......................................................................... 2
1.4. FORMULACIÓN DEL PROBLEMA .................................................. 4
1.5. OBJETIVOS ...................................................................................... 4
1.6. HIPÓTESIS........................................................................................ 4
1.7. VARIABLES ...................................................................................... 5
1.8. MÉTODOLOGÍA DE LA INVESTIGACIÓN ....................................... 6
1.9. LIMITACIONES Y ALACANCES ...................................................... 6
CAPITULO II ...................................................................................................... 7
MARCO TEORICO ...................................................................................... 7
2.1. OPERACIÓN EN TIEMPO REAL DE LOS SISTEMAS
ELECTRICOS DE POTENCIA .................................................................... 7
2.1.1. Introducción .................................................................................... 7
2.1.2. Estados de operación ..................................................................... 7
2.1.3. Metodología de operación en tiempo real ...................................... 9
2.2. COLAPSOS DE TENSION .............................................................. 10
2.2.1. Introducción .................................................................................. 10
2.2.2. Estabilidad de sistemas de potencia ............................................ 11
2.2.3. Operación critica de los sistemas de potencia ............................. 25
2.2.4. Curva P - V. .................................................................................. 27
2.2.5. Curva Q - V .................................................................................. 31
2.3. INCREMENTO DE LA CARGA EN LOS SISTEMAS ELÉCTRICOS
DE POTENCIA .......................................................................................... 32
2.3.1. Introducción .................................................................................. 32
2.3.2. Incremento de la carga ................................................................. 33
v
2.3.3. Incremento de la de la generación ............................................... 36
2.4. METODO TRADICIONAL DE ANALISIS DE ESTABILIDAD DE
TENSION EN LOS SISTEMAS ELECTRICOS DE POTENCIA ................ 38
2.4.1. Introducción .................................................................................. 38
2.4.2. Flujo continuado de potencia ........................................................ 39
2.4.3. Parametrización............................................................................ 46
2.5. MÉTODO DE EVALUACIÓN EN TIEMPO REAL LOOK-AHEAD
PARA PREVENIR COLAPSOS DE TENSIÓN EN LOS SISTEMAS
ELÉCTRICOS DE POTENCIA .................................................................. 58
2.5.1. Introducción .................................................................................. 58
2.5.2. Estimación de margen de cargabilidad por trazado de las curvas 58
2.5.3. Estimación de margen de cargabilidad con Look-Ahead.............. 60
2.5.4. Estimación de la máxima cargabilidad ......................................... 67
2.5.5. Estimación de la tensión crítica .................................................... 68
2.6. APORTE PARA LA ESTIMACIÓN DE MARGEN DE
CARGABILIDAD ....................................................................................... 70
2.7. DEFINICIÓN DE TÉRMINOS .......................................................... 72
CAPITULO III ................................................................................................... 73
DESARROLLO DEL METODO TRADICIONAL FLUJO DE POTENCIA
CONTINUADO Y METODO LOOK-AHEAD MEDIANTE EL SOFTWARE
MATLAB.................................................................................................... 73
3.1. SOFTWARE MATLAB ....................................................................... 73
3.1.1. Entorno del software..................................................................... 74
3.2. IMPLEMENTRACION DEL CÓDIGO DE METDO TRADICIONAL Y
LOOK AHEAD EN MATLAB ..................................................................... 76
3.2.1. Condiciones iniciales del Sistema ................................................ 80
3.2.2. Incremento de la carga ................................................................. 80
3.2.3. Método tradicional flujo de potencia continuado .............................. 83
IMPLEMENTACIÓN DEL CÓDIGO FUENTE DE FLUJO DE POTENCIA
CONTINUADO .......................................................................................... 87
3.2.4. Método Look-Ahead ........................................................................ 95
IMPLEMENTACIÓN DEL CÓDIGO FUENTE PARA LOOK AHEAD ...... 97
CAPITULO IV ................................................................................................ 101
VALIDACIÓN DE LA METODOLOGÍA Y DISCUSIÓN DE LOS
RESULTADOS ........................................................................................ 101
4.1. VALIDACIÓN DE LA METODOLOGÍA ......................................... 101
vi
4.2. INCREMENTO DE LA CARGA ..................................................... 101
4.3. RESULTADOS DE FLUJO CONTINUADO Y LOOK AHEAD ...... 103
4.3.1. Método Flujo Continuado ........................................................... 104
4.3.2. Método de Look Ahed ................................................................ 112
4.4. EVALUACIÓN DE MARGEN DE CARGABILIDAD DEL SISTEMA
N-1 115
4.5. DISCUSIÓN DE LOS RESULTADOS ........................................... 116
4.5.1. Contrastación de hipótesis con los resultados ........................... 116
CAPITULO V ................................................................................................. 117
CONCLUSIONES Y RECOMENDACIONES .......................................... 117
REFERENCIAS BIBLIOGRAFICAS ....................................................... 119
ANEXO .......................................................................................................... 121
a.1. Programa de Flujo Continuado ........................................................ 122
a.2. Programa Look – Ahead .................................................................. 137
vii
LISTA DE FIGURAS
viii
LISTA DE TABLAS
ix
Tabla 20: Aproximación de la máxima cargabilidad con el método Look-Ahead
para la contingencia en la línea 7-8. ....................................................... 114
Tabla 21: Aproximación de la máxima cargabilidad con el método Look-Ahead
para la contingencia en la línea 8-9. ....................................................... 114
Tabla 22: Aproximación de la máxima cargabilidad con el método Look-Ahead
para la contingencia en la línea 9-4. ....................................................... 114
Tabla 23: Comparación de resultados para las contingencias con el método de
Flujo Continuado y el método Look – Ahead. ......................................... 115
x
NOMENCLATURA
P : Potencia Activa W
Q : Potencia Reactiva VA
X : Reactancia Ω
Z : Impedancia Ω
J : Matriz Jacobiano
xi
CAPITULO I
PLANTEAMIENTO DE LA INVESTIGACIÓN
1
Una nueva metodología conocida como Look -Ahead fue propuesto (H.D.
Chiang, C.S. Wand y A.J. Flueck, 1997), este método solo utiliza dos flujos
de carga, con el complemento de ecuaciones algebraicas lineales puede
estimar rápidamente y en tiempo real el margen de cargabilidad de un
sistema eléctrico con características no lineales.
1.2. JUSTIFICACION
2
estacionarias específicamente con un elevador de tensión y líneas de
transmisión de alta tensión, sin embargo en la actualidad los problemas
de estabilidad de tensión aún persisten por los problemas que se
presentan por capacidad o límites de operación de los elementos del
sistema.
3
1.4. FORMULACIÓN DEL PROBLEMA
1.5. OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
1.6. HIPÓTESIS
HIPÓTESIS GENERAL
HIPÓTESIS ESPECÍFICOS
4
b) Es posible mostrar la rapidez del método Look - Ahead para determinar
el punto de colapso de tensión o margen de cargabilidad sin considerar
los límites de la potencia reactiva en todos los elementos de los
sistemas eléctricos de potencia.
1.7. VARIABLES
VARIABLES INDEPENDIENTES
VARIABLES DEPENDIENTES
5
1.8. MÉTODOLOGÍA DE LA INVESTIGACIÓN
Limitaciones
Alcances
6
CAPITULO II
MARCO TEORICO
2.1.1. Introducción
7
Normal
Recuperación Alerta
Extremo Emergencia
8
2.1.3. Metodología de operación en tiempo real
Variaciones de la frecuencia.
9
2.2. COLAPSOS DE TENSION
2.2.1. Introducción
10
directamente a la carga. En consecuencia, pérdidas de elementos del
sistema como líneas de transmisión, generación, carga y otros elementos
por el disparo de las protecciones por mínima tensión conllevando a la
operación critica del sistema.
11
La sociedad y las industrias constantemente necesitan del suministro de
energía eléctrica para cubrir el crecimiento de la demanda. Por lo tanto, es
necesario incrementar la capacidad del sistema con ingreso de nuevos
elementos de generación, redes de transmisión que lleven directamente la
energía producida al consumidor, esto hace que el sistema sea dinámico
en el cual los parámetros y las variables de operación varíen en el tiempo,
ocasionando problemas en la operación del sistema.
Los elementos del sistema, procesos y el lapso del tiempo que debe
ser considerado para evaluar la estabilidad en los sistemas eléctricos
de potencia.
12
Figura 2: Clasificación de los problemas de inestabilidad en los sistemas eléctricos de
potencia.
13
angulares llevando a la perdida de sincronismo contra el resto de los
generadores.
14
El cambio del torque electromecánico de una maquina síncrona después
de una perturbación se puede resolver en dos componentes:
15
Actualmente en los sistemas de potencia, el problema de
estabilidad angular de pequeños disturbios generalmente se
asocia a la falta de las oscilaciones amortiguadas. El problema
de la estabilidad no oscilatoria ha sido eliminado con el uso de
los reguladores de voltaje ubicados en el generador; sin
embargo, este problema todavía puede producirse cuando los
generadores funcionan con la excitación constante o cuando se
somete a las acciones del limitador de la excitación (limitadores
de corriente de campo). [Definition and Classification of Power
System Stability, IEEE 2004]
16
El tiempo en interés para el estudio de estabilidad de pequeños
disturbios es en orden de 10 a 20 segundos después de la
perturbación. [Definition and Classification of Power System
Stability, IEEE 2004]
17
El tiempo en interés del estudio de estabilidad transitoria es
generalmente de 3 a 5 segundos después de la perturbación.
puede extenderse a 10 – 20 segundos para sistemas muy
grandes con dominio de oscilaciones inter áreas. [Definition and
Classification of Power System Stability, IEEE 2004]
18
por la respuesta general del sub sistema como se evidencia por su
frecuencia media. Generalmente, problemas de estabilidad de frecuencia
son asociados con las respuestas deficientes de los equipos, la mala
coordinación de la protección y los equipos de control o insuficiente reserva
de la generación. En sistemas aislados, estabilidad de frecuencia podría
ser motivo de preocupación para cualquier perturbación que causa una
pérdida relativamente importante de carga o generación. [Definition and
Classification of Power System Stability, IEEE 2004]
19
2.2.2.4. Estabilidad de tensión
20
alcanzar el límite con impulso del cambio en el taps del transformador, con
intencional y/o no intencional del disparo en alguna carga. Las cargas que
quedan conectados al sistema son sensibles a la variación de la tensión,
no se cumple con la normalidad de la demanda. [Definition and Classification
of Power System Stability, IEEE 2004]
21
se ha experimentado por lo menos en un sistema. Es causado por el
comportamiento capacitivo de la red, así como los limitadores bajos de la
excitación del generador y/o compensadores síncronos que absorbe el
exceso de la energía reactiva. En este caso, la inestabilidad está asociada
con la incapacidad de sistema para combinar la generación y las líneas de
transmisión para operar debajo de un cierto nivel de carga. En intento de
restaurar la carga, el cambio del taps de los transformadores causa
inestabilidad de largo plazo. [Definition and Classification of Power System
Stability, IEEE 2004]
22
está abierto, los condensadores de derivación y banco de filtros en
subestaciones de HVDC. [Definition and Classification of Power System
Stability, IEEE 2004]
Como en el caso de estabilidad angular, es útil clasificar la estabilidad de
tensión en las siguientes categorías.
23
estabilidad. Esta linealización, sin embargo, puede obviar los efectos no
lineales como los efectos de cambio del taps en el transformador (bandas
muertas, paso discreto en del taps y retraso de relés). Por lo tanto, el
análisis lineal y no lineal se usa de manera complementaria. [Definition and
Classification of Power System Stability, IEEE 2004]
Como se ha denotado anteriormente, el marco de tiempo de estudio en
interés para problemas de estabilidad de tensión puede variar de pocos
segundos a decenas de minutos. Por lo tanto, la estabilidad de tensión
puede ser un fenómeno de corto o largo plazo como de ha identificado en
la figura 2.
24
acumulación de carga (ejemplo, aumento de la carga). En muchos
casos el análisis estático puede ser usado para estimar márgenes
de estabilidad, identificación de factores que influyen la estabilidad,
reconocer el amplio rango de las condiciones del sistema y un gran
número de escenarios. Cuando las acciones de control en el tiempo
son importantes, esto se puede complementar con la simulación de
dominio en el tiempo. [Definition and Classification of Power System
Stability, IEEE 2004]
25
Figura 3: Potencia máxima del sistema y el margen aceptable de la
tensión
Fuente: Computational Techniques for Voltage Stability Assessment and
Control, Venkataramana Ajjarapu, 2006
26
Figura 4: Diagrama Radial Simple del Sistema de Potencia.
Fuente: Computational Techniques for Voltage Stability Assessment and
Control, Venkataramana Ajjarapu, 2006
2.2.4. Curva P - V.
V E j * X I (2. 1)
*
*
V E
V E
S P jQ V * I V * V*
jX jX
(2. 2)
E0 V EV EV V2
V * sin( ) j * cos( )
jX X X X
27
EV EV V2
S P j *Q sin( ) j * cos( ) (2. 3)
X X X
EV
P sin( ) (2. 4)
X
EV V2
Q * cos( ) (2. 5)
X X
PX
sin( ) (2. 6)
EV
QX V 2
cos( ) (2. 7)
EV
2
PX QX V
2 2
1 (2. 8)
EV EV
V PX QX
Remplazando por v , p 2 , q 2
E E E
V 4 V 2 2q 1 p 2 q 2 0 (2. 9)
28
La ecuación (2.10) es cuadrática v2 , donde la solución es:
v2
1
2
(2 p * tan 1) (2 p * tan 1) 2 4 p 2 * sec2 (2. 11)
29
cos
p max ; Solución para el voltaje alto
2(1 sen )
cos
p max ; Solución para el voltaje bajo
2(1 sen )
1
vCrit ; Voltaje critico
2 * 1 sin
30
2.2.5. Curva Q - V
v2
1
2
(2q 1) (2q 1) 2 4( p 2 q 2 ) (2. 14)
Figura 7: Curva Q – V
31
Se puede obtener el Qcrit de la ecuación (2.14), siendo el término de la
raíz cuadrada igual a cero que corresponde a la operación critica antes de
entrar a estado inestable del sistema.
1
Qcrit p2
4
(2. 15)
Vcrit
1
1 2qCrit
2
2.3.1. Introducción
32
2.3.2. Incremento de la carga
Donde:
PTotal : Potencia total de la demanda
Po : Potencia inicial de la demanda
: Parámetro de Crecimiento de la carga.
PB j : Potencia en la barra j.
PAi : Potencia total en el área i.
33
n
PAi PB j (2. 17)
i Ai
n
PTotal PAi (2 18)
i 1
Dónde:
PTotal 1 * PTo PAi PoAi (1 KAi * ) PoAi PoAi * KAi * (3. 21)
i Ai
i Ai i Ai i Ai
Si; Po PoAi
i Ai
1 * PoAi PoAi PoAi * KAi *
i Ai i Ai i Ai
34
El parámetro es:
PoAi *
(2. 22)
PoAi * KAi
PoAi
área (2. 23)
PoAi * KAi
35
PoBi * 1 KBi * PoAi1 KAi * área* (2. 27)
i Ai
El parámetro de es:
PB j PoB j * 1 KB j * j * (2 30)
36
PGeneneraci ón (i) fg (i) * Pdemanda (2. 31)
Donde:
nb
PC Total PC arg a ( j ) (2. 32)
i 1
nb
PGene(i ) fg i * PB j ( ) PB j (o) (2. 34)
j 1
Como en la ecuación (2.33), la potencia generada en cada unidad o
central se obtiene de la diferencia entre el incremento de la potencia y la
potencia de caso inicial Pg (o) .
37
nb
Pgen(i ) Po gen(i ) fgi * PB j ( ) PB j (o) (2. 36)
j 1
nb nb
Pgeni fgi * PB j ( ) fgi * PoB j
j 1 j 1
nb nb
Pgeni fgi * PoB j * (1 KB j * j * ) fgi * PoB j
j 1 j 1
nb
Pgeni fgi * PoB j * KB j * j * (2. 37)
j 1
nb
Pgen(i ) Pogen(i ) fgi * PoB j * KB j * j * (2. 38)
j 1
2.4.1. Introducción
38
2.4.2. Flujo continuado de potencia
a. Formulación general
F ( x, ) 0 (2. 39)
39
Reformulando la ecuación de flujo de carga, según la primera ley de
Kirchhoff e incluyendo el parámetro lambda se obtiene el balance nodal de
potencia.
Vi *V j * Yi j * Cos i j ij
n
PTi
j 1
Vi *V j * Yi j * Sin i j ij
n
QTi
j 1
40
PLi PLio * KAB j * j * PLo (2 42)
PLi PLio 1 * KAB j * j
QLi PLio *Tan Li * 1 * KAB j * j
Dónde:
nb
PGi PGio fpgi * PoB j * KB j * j * (2. 44)
j 1
Donde:
41
La solución de la ecuación general, consiste en calcular las variables de
la función no lineal generados por la variación del parámetro lambda a
través de método continuado. Así, el método se divide en dos pasos,
proyección del comportamiento de la trayectoria pasó predictor, y la
solución de las variables que afina la predicción lineal pasó corrector.
b. Paso Predictor
El paso predictor consiste en estimar los puntos por donde pasa la trayectoria de
la curva V- . Para trazar la trayectoria de la curva a partir del punto de equilibrio
encontrado x j , j , es encontrar el valor precedido que corresponde al
segundo punto estimado x j 1 , j 1 resultante de la variación d j , dv j , j
respecto a la trayectoria de la curva.
42
Para encontrar el siguiente punto se basa en dos métodos tradicionales
resultantes de unas ecuaciones ordinarias basados en extrapolación de
polinomios.
d
F F F 0
* d 1 (2. 45)
ek d
43
Figura 9: Predictor Tangente
El valor j 1 ,V j 1 , j 1 , encontrado de la predicción del vector tangente será:
j 1 j d
V j 1 V j dV
j 1 j d
44
Otro de los métodos es el denominado predictor secante, uno de los métodos de
predicción que calcula a partir de dos flujos de potencia. Es una predicción que
traza a partir del punto anterior pasando por el punto actual estimando un nuevo
punto precedido.
45
c. Paso Corrector
F ( x, )
x 0 (2. 47)
k
2.4.3. Parametrización
46
a. Parametrización Física
f ( x, )
F ( x, ) 0 (2. 49)
( x, )
- Predictor tangente
Dx f D f x 0
0
1 1
* (2. 51)
47
El vector tangente toma los valores de cero excepto en la
posición de lambda 1 , siendo +1 para la solución de
ecuaciones de flujo continuado en alto voltaje o la parte
superior desde el punto máximo de cargabilidad del sistema, -1
solución de ecuación en bajo voltaje o parte inferior de la curva
de máxima cargabilidad del sistema.
xi 1 xi xi
* (2. 52)
i 1 i i
- Corrector
48
D f D f x
F ( x, ) F ( x0, 0) x * (2. 54)
D x D f
D x f D f D x f D f
D D f 0 1
(2. 55)
x
Dx f D f x f ( xi , i )
0
1
* (2. 56)
i esp
xi 1 xi x
(2. 57)
i 1 i
49
b. Parametrización Local
f ( y)
F ( x, ) 0 (2. 59)
( x, )
50
La ecuación (2.60), escrita en forma matricial y parametrizada en
el paso predictor y k 1 .
D x f D f x 0
D * (2. 61)
yk 1
ek e1 e2 . . . en 1
xi 1 xi x
i * (2. 62)
i 1 i
- Corrector
51
D f D f x
F ( x, ) F ( x 0 , 0 ) x * 0 (2. 63)
ek
Dxf Df
J (2. 64)
ek
Dxf Df x f ( xi , i ) f ( x0 , 0 )
e * yk yk esp (2. 65)
k (i ) (i ) (i )
xi 1 xi x
(2. 66)
i 1 i
52
c. Parametrización por longitud del arco
x x( s ), ( s ) (2. 67)
53
Lni xi2 xi1 xi3 xi2 ... xin xin1 (s) (2. 68)
n
Lni1 ( x, ) xi(n) xi(n 1) ( s) (2. 69)
1
n
Lim L n ( x, ) xi xi( s) ( s ) (2. 71)
i 1
P0 i 1
n
P 2 xi xi( s )
2 2
(s) (2. 72)
i 1
n
( x, ) xi xi ( s)2 ( s)2 s esp 0 (2. 73)
1
54
Si la ( x, ) es nulo entonces.
n
s 2 xi xi ( s)2 ( s)2 (2. 74)
1
F ( x, , s )
F x, , s 0 (2. 75)
( x, , s )
- Predictor tangente
n
xi 2 2 s 2 (2. 79)
i 1
55
El paso controlado fijado es s 1 , siendo.
n
xi 2 2 1 (2. 80)
i 1
Dxf x Df 0
n
(2. 81)
xi 2 2 1
i 1
- Paso corrector
56
La solución del paso corrector será.
n
( xv , v ) xi 2 2 s 2
i 1
x v 1 x v x
v 1 v (2. 85)
57
2.5. MÉTODO DE EVALUACIÓN EN TIEMPO REAL LOOK-AHEAD PARA
PREVENIR COLAPSOS DE TENSIÓN EN LOS SISTEMAS
ELÉCTRICOS DE POTENCIA
2.5.1. Introducción
58
a. Método generalizado
1 * x1 * x1 2
(2. 86)
2 * x2 * x2 2
(2. 87)
3 * x 3 * x 3 2
(2. 88)
Figura 12: Trazado de la curva V-λ con tres soluciones de flujo de potencia y la
estimación de la máxima cargabilidad del sistema
Fuente: Look-ahead Q-constrained Load Margin for Large-Scale Power
Systems, Shao-Hua Li, Hsiao-Dong Chiang, 2008, P2
59
b. Método Look-Ahead
1 * x1 * x12
(2. 89)
2 * x2 * x2 2
(2. 90)
d _ _
* x2 2 * x2 * x2
d 2 (2. 91)
60
tensión y el más próximo a colapsar por operar próximo al punto máximo
de cargabilidad.
V ( ) Vi (2 )
Vi i 1
Vi (2 ) (2. 92)
1 * Vp1 * Vp12
(2. 94)
2 * Vp 2 * Vp 2 2
(2. 95)
61
parámetros , y del polinomio esperado para calcular el punto
máximo de cargabilidad del sistema.
d ( 2 ) dVp2 dVp2
* 2 *Vp 2 *
d d d (2. 96)
62
De la ecuación lineal (2.96), tangente a la curva cuadrática, encontramos la
dVp2
tercera ecuación. Sin embrago surge una nueva variable relativa a la
d
variación de la tensión con respecto al parámetro . Siendo fácil de determinar
por el grado de sensibilidad de las tensiones y ángulos en las barras del sistema,
dado la variación e incremento de la cargabilidad del sistema.
F ( x, ) 0
F F
* x * 0
x
F x F
*
x (2. 97)
1
x F F
x (2. 98)
63
x
Siendo , el vector tangente en el desarrollo de flujo potencia
x
aproximadamente similar o igual a . Por lo tanto, la ecuación (2.98) se escribe
de la siguiente forma.
1
x F F
x (2. 99)
F F
Donde, es la matriz jacobiano de la solución de flujo de potencia, la
x
variación de la potencia activa tanto reactiva en función del incremento de la
carga.
La función de flujo de potencia está definida con la primera ley de Kirchhoff o ley
de nodos.
64
Sea la ecuación (2.100) en una barra i del sistema y aplicando el equilibrio nodal,
obtenemos las ecuaciones de flujo de potencia, considerando las barras según
el tipo de operación P-V, P-Q y Slack.
Donde; Pi componen ente activa de flujo de potencia por las redes, solamente
depende de las condiciones de la operación del sistema, es decir de las
características eléctricas de tensión, corriente en la línea y la diferencia angular
en la operación.
n
Pi Vi * Vj * Yij * cosij j i (2. 103)
j 1
n
PGi PLi * (Pgi PLi ) Vi * Vj * Yij * cosij j i 0
j 1 (2. 104)
F
Derivando la ecuación (2.104) obtenemos la variable conocida , tanto para
active y reactiva mostrada en las ecuaciones (2.105) y (2.109) respectivamente.
Pesp
Pgi PLi
(2. 105)
65
De la misma forma que la potencia activa calculamos la variación específica de
la potencia reactiva, siendo esto característico de las barras P-Q o puramente
las barras de suministro.
Qg 0 QL0 * QLi Qi
(2. 106)
Donde; Qi componente reactiva del flujo de potencia por las redes de transmisión
o distribución.
n
Qi Vi * Vj * Yij * sinij j i
j 1 (2. 107)
n
Qg 0 QL0 * QLi Vi * Vj * Yij * cosij j i 0
j 1 (2. 108)
Qesp
QLi
(2. 109)
1
x F Pgi PLi
*
x QLi (2. 110)
66
dVp2
Finalmente obtenida se puede escribir la ecuación matricial (2.95), de
d
este modo podemos determinar los valores de los parámetros de la ecuación
general de la curva y trazar la trayectoria.
Vp12
1 1 Vp1
2 1 Vp 2 Vp 2 2 *
(2.
1 0 dVp2 2 * Vp 2 *
dVp2
111)
d d
( * Vp ( 2) * Vp ( 2) 2 ) 0 (2. 112)
Vp ( 2) Vp ( 2)
Vp ( 2) (2. 114)
2
2 2
*Vcri (2. 115)
2 4
67
2
*Vcri (2. 116)
4
2
* max (2. 117)
4
68
* max *Vcri *Vcri 2 (2. 119)
*V *V 2 (2. 121)
* max * Vcri V 2
(2. 122)
1 * max
(2. 125)
2 * max
69
Finalmente se obtiene la ecuación polinómica (2.126), siendo Vcri
variable desconocida, el cual puede ser calculado a través del proceso
iterativo de aproximación lineal de Newton Raphson.
2 * (V 1 *V 2) *V 2 2 V 12
Vcri
2
*Vcri 0 (2. 126)
1 1
2 * (V 1 *V 2) *V 2 2 V 12
a 1; b ; c
1 1
2.6.1. Introducción
70
n
F ( x, ) Pg 0 PL0 * Pgi PLi Vi * V j * Yi j * Cos i j ij (2. 128)
j 1
F
Pgi PLi (2. 129)
nb (2. 130)
Pgi fpgi * PoB j * KB j * j
j 1
71
F F nb
pgi * PoB j * KB j * j KAB j * j * P0 B j
V j 1
JA (2. 131)
ek
72
CAPITULO III
DESARROLLO DEL METODO TRADICIONAL FLUJO DE
POTENCIA CONTINUADO Y METODO LOOK-AHEAD
MEDIANTE EL SOFTWARE MATLAB
73
dominio. El entorno de escritorio invita a experimentar, explorar y descubrir.
Todas estas herramientas y prestaciones de MATLAB están probadas y
diseñadas rigurosamente para trabajar juntas.
74
a. Ventana de Comandos (Command Window)
La ventana de comandos se localiza en el lado central de la vista por
defecto de la pantalla de MATLAB, como se muestra en la figura 14. La
ventana de comandos ofrece un ambiente similar a una memoria de
trabajo auxiliar (scratch pad). El empleo de la ventana de comandos le
permite guardar desarrollar operaciones matemáticas instruidas y mostrar
resultados.
Esta ventana se abre mediante las opciones de menú File y se utiliza para
escribir y editar programas como se muestra en la figura 15. Es útil para
automatizar series de comandos, como los cálculos que se debe realizar
repetidamente y grabar la secuencia de operaciones en formato (.m).
75
La ventana de edición toma relevancia para este trabajo, porque aquí se
escribirá todo el programa de la simulación, prueba, ejecución de
resultados.
76
Para mostrar el desarrollo y la determinación del margen de cargabilidad
en los sistemas eléctricos de potencia se ha utilizado el sistema de IEEE
9 Barras. A continuación, mostramos los parámetros y las condiciones
iniciales del sistema para la aplicación del método tradicional (flujo de
potencia continuado) y el Método Look-Ahead.
77
Datos del Sistema IEEE 9 Barras
Líneas y Transformadores
1 4 - 0.0576 - 1
4 5 0.0170 0.0920 0.0790 1
5 6 0.0390 0.1700 0.1790 1
3 6 - 0.0586 - 1
6 7 0.0119 0.1008 0.1045 1
7 8 0.0085 0.0720 0.0745 1
8 2 - 0.0625 - 1
8 9 0.0320 0.1610 0.1530 1
9 4 0.0100 0.0850 0.0880 1
Tabla 1: Datos de diagrama unifilar del sistema eléctrico de 9 barras
Fuente: Base de Datos Power Factory DIgSILENT, Nine Bus System
78
Barras
79
3.2.1. Condiciones iniciales del Sistema
80
función de los parámetros del margen de cargabilidad del sistema, como
se ha desarrollado en capítulo II del presente trabajo.
for k=1:max(are);
Plo=0;
for i=1:nb
if are(i)==k
Plo=Pl(i,1)+Plo;
end
end
Pa0(k,1)=Plo;
for i=1:nb
if are(i)==k && Pl(i,1)>0
kab(i,1)=Pl(i,1)/Pa0(k,1);
P0kab(i,1)=kab(i,1)*Pl(i,1);
end
end
ka(k,1)=Pa0(k,1)/sum(Pl);
81
for i=1:nb
if are(i)==k && Pl(i,1)>0
kaPa0(i,1)=ka(k,1)*Pa0(k,1);
end
end
sumpokab0=0;
for i=1:nb
if are(i)==k && Pl(i,1)>0
sumpokab0=sumpokab0+P0kab(i,1);
end
end
sumpokab(k,1)=sumpokab0;
for i=1:nb
if are(i)==k && Pl(i,1)>0
%if tipo(i)==3
barea(i,1)=Pa0(k,1)/kaPa0(i,1);
%end
end
end
for i=1:nb
if are(i)==k && Pl(i,1)>0
%if tipo(i)==3
%if Pl(i)>0
bbus(i,1)=ka(k,1)*Pa0(k,1)*barea(i,1)/sumpokab(k,1);
%end
%end
end
end
end
82
3.2.3. Método tradicional flujo de potencia continuado
Inicio
Flujo de potencia
While
error>e
Predictor
x i+1=x i+z *
Corrector
x i+1=x i+ x
error=max( x)
max
Vcri
Fin
83
El paso predictor estima los parámetros de la operación del sistema a
través del vector tangente (z), controlado por el ajuste del paso ( ). En
dP dQ
esta etapa la matriz jacobiano se adiciona el vector columna ; y
d d
vector fila compuesta por ceros y la unidad en la posición de (n+1) para
evitar la singularidad de la matriz.
84
Inicio
Flujo de potencia
Calculo del
Vector Columna
[dP/d , dQ/d
Parametrizacion del
Vector Predictor
ek=[Zeros(npv+2npq,1), 1]
Vector predictor
z=z/norm(z)
Fin
85
sin embargo en esta parte utilizamos la parametrizacion al igual que la
matriz jacobiana del paso predictor aumentadon la matriz con el vector
dP dQ
columna ; y el vector fila. En este trabajo para la aplicación de flujo
d d
de potencia continuado se utiliza parametrización por longitud de arco (ps).
86
IMPLEMENTACIÓN DEL CÓDIGO FUENTE DE FLUJO DE POTENCIA
CONTINUADO
Vprv=V;
tethaprv=tetha;
con_step=0;
correc=1;
numcal=0;
z=[zeros(npv+2*npq,1);1];
while correc==1
con_step=con_step+1;
%% calculamos jacobiano
%paso predictor
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
87
end
J3(i,k) = J3(i,k) - abs(V(m)^2*Y(m,m))*cos(angle(Y(m,m)));
else
J3(i,k) = -abs(V(m)*V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
dFlamV=zeros(nb-1,1);
k=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
k=k+1;
dFlamV(k,1)= kab(i,1)*bbus(i,1)*Pl(i,1)-dpg(i,1);
end
end
dFlamQ=zeros(npq,1);
k=0;
for i=1:nb
if tipo(i)==3
k=k+1;
dFlamQ(k,1)=kab(i,1)*bbus(i,1)*Ql(i,1);
end
end
%funcion de parametrizacion del jacobiano
if param==1; %parametrizacion local o fisica (predictor)
dp_dv=zeros(1,npv+2*npq-1);
if lam>=lam0
dp_lam=1;
else
dp_lam=-1;
end
elseif param==2; %parametrizacion por longitud de arco (predictor)
m=1;
n=1;
88
for i=1:nb
if tipo(i)==2 || tipo(i)==3
dp_dv1(m)=tetha(i)-tetha0(i);
m=m+1;
end
if tipo(i)==3
dp_dv2(n)=V(i)-Vo(i);
n=n+1;
end
end
%dp_dv=2*([tetha; V]-[tetha0; Vo]);
dp_dv=2*([dp_dv1 dp_dv2]);
if lam==lam0
dp_lam=1;
else
dp_lam=2*(lam-lam0);
end
elseif param==3; %parametrizacion por pseudo longitud de arco (predictor)
dp_dv=[z(1:npv+2*npq-1,1)]'; %
dp_lam=z(end);
end
%%%fin de parametrizacion
s=[zeros(npv+2*npq-1,1);1];
z=J\s;
z=z/norm(z);
Xo1=zeros(nb-1,1);
Xo2=zeros(npq,1);
k1=0;k2=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
k1=k1+1;
Xo1(k1,1)=tetha(i,1);
end
if tipo(i)==3
k2=k2+1;
Xo2(k2,1)=V(i,1);
end
end
Xo=[Xo1; Xo2; lam];
lam0=lam;
%Vector Predicto es:
Xpre=Xo+sig*z;
lam=Xpre(end,1);
%% estrategicamente actualizamos los valores solucionados
tetha0=tetha;
Vo=V;
%%
k1=0;
k2=npv+npq-1;
for i=1:nb
89
if tipo(i)==2 || tipo(i)==3
k1=k1+1;
tetha(i)=Xpre(k1,1);
end
%%%
if tipo(i)==3
k2=k2+1;
V(i,1)=Xpre(k2,1);
end
end
%% paso corrector
error=1e-8;
Iter=1;
correc=0;
Vprv=V;
tethaprv=tetha;
while correc==0
%%parametrizacion corrector
if param==1 %parametrizacion fisica local (predictor)
if lam>=lam0
ps=lam-lam0-sig;
else
ps=lam0-lam-sig;
end
elseif param==2 %parametrizacion por longitud de arco (predictor)
X01=zeros(npv+npq-1,1);
X02=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
X01(m,1)=tetha0(i,1);
X11(m,1)=tetha(i,1);
end
if tipo(i)==3
n=n+1;
X02(n,1)=Vo(i,1);
X12(n,1)=V(i,1);
end
end
X0=[X01;X02;lam0];
X1=[X11;X12;lam];
ps=sum((X1-X0).^2)-sig^2;
elseif param==3 %Parametrizacion por pseudo longitud de arco (predictor)
X01=zeros(npv+npq-1,1);
X02=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
X01(m,1)=tetha0(i,1);
X11(m,1)=tetha(i,1);
90
end
if tipo(i)==3
n=n+1;
X02(n,1)=Vo(i,1);
X12(n,1)=V(i,1);
end
end
X0=[X01;X02;lam0];
X1=[X11;X12;lam];
ps=z'*(X1-X0)-sig;
end
P = zeros(nb,1);
Q = zeros(nb,1);
% CALCULANDO POTENCIA ACTIVA Y REACTIVA
for i = 1:nb
for k = 1:nb
P(i) = abs(V(i)* V(k)*Y(i,k))*cos(angle(Y(i,k))+tetha(k)-tetha(i))+P(i);
Q(i) = - abs(V(i)*V(k)*Y(i,k))*sin(angle(Y(i,k))+tetha(k)-tetha(i))+Q(i);
end
end
i=1;
Fx1=zeros(npv+npq-1,1);
Fx2=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==3 || tipo(i)==2
m=m+1;
Fx1(m,1)= P(i,1)+Pl(i,1)*(1+kab(i,1)*bbus(i,1)*lam)-Pg(i,1)-dpg(i,1)*lam; %P(i)-
Psp(i)+lam*dFlamV(m,1);
end
if tipo(i)==3
n=n+1;
Fx2(n,1)=Q(i)+Ql(i,1)*(1+kab(i,1)*bbus(i,1)*lam);%-Qge(i,1);%Q(i)-
Qsp(i)+lam*dFlamQ(n,1);
end
end
F=[Fx1;Fx2;ps];
%% Calculamos el jacobiano
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
91
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
92
J4(i,k) = -abs(V(m)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
dx=-J\F;
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
tetha(i,1)=tetha(i,1)+dx(k,1);
k=k+1;
end
end
93
k = 1;
for i = 2:nb
if tipo(i) == 3
V(i) = dx2(k) + V(i); % Magnitud de Voltaje
k = k+1;
end
end
Iter= Iter+1;
if max(abs(dx))<error
correc=1;
end
if Iter>10
disp('el calculo de newton Raphson no Converge');
break
end
end
numcal=numcal+1;
if numcal==1
V2=V;
dV=V1-V2;
sbplot=find(dV==max(dV));
end
if lam<lam0 && lam-sig<0
sig=lam;
param=1;
end
lambus(1,con_step+1)=lam;
Vbus(1:nb,con_step+1)=V;
if lam<=0;
correc=0;
end
if Iter<10
numbusx=['V(',num2str(sbplot),')='];
fprintf('n =%4.0f ; Lambda= %4.4f ; %4.4s = %4.4f ; Iteraciones=
%2.0f\n',con_step,lam,numbusx,V(sbplot),Iter)
end
94
3.2.4. Método Look-Ahead
95
Figura 20: Desarrollo de Look-Ahead
96
IMPLEMENTACIÓN DEL CÓDIGO FUENTE PARA LOOK AHEAD
%%
lammax=max(max(lambus));
%Actualizacion de las condiciones en escenario 2
lam=lammax*.95;
fprintf('Segundo flujo de potencia = %4.4f\n',lam)
for i=1:nb
if tipo(i)==2
Pg(i,1)=Pg(i,1)+dpg(i,1)*lam;
end
if tipo(i)==3
Pl(i,1)=Pl(i,1)*(1+kab(i,1)*bbus(i,1)*lam);
Ql(i,1)=Ql(i,1)*(1+kab(i,1)*bbus(i,1)*lam);
end
end
Psp=Pg-Pl;
Qsp=Qg-Ql;
cver=1;
while cver==1; %error d iteraciones
%for x=1:3
P = zeros(nb,1);
Q = zeros(nb,1);
% CALCULANDO POTENCIA ACTIVA Y REACTIVA
for i = 1:nb
for k = 1:nb
P(i) = abs(V(i)* V(k)*Y(i,k))*cos(angle(Y(i,k))+tetha(k)-tetha(i))+P(i);
Q(i) = - abs(V(i)*V(k)*Y(i,k))*sin(angle(Y(i,k))+tetha(k)-tetha(i))+Q(i);
end
end
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
dP(k,1)=dPa(i,1);
k=k+1;
end
end
for i = 1:nb
if tipo(i) == 3
dQ(k,1) = dQa(i);
k = k+1;
end
end
dP = dPa(2:nb);
M = [dP; dQ]; %MATRIZ DE DIFERENCIA DE POTENCIA (P,Q) PARA LA ITERACCION
% JACOBIANO
% J1 - DERIVADA DE POTENCIA REAL CON RESPECTO AL ANGULO EN LA BARRA.
97
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
98
if n == m
for n = 1:nb
J4(i,k) = J4(i,k) - abs(V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J4(i,k) = J4(i,k) - abs(V(m)*Y(m,m))*sin(angle(Y(m,m)));
else
J4(i,k) = -abs(V(m)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
k= 1;
for i = 2:nb
if tipo(i) == 3
V(i) = dV(k) + V(i); % Magnitud de Voltaje
k = k+1;
end
end
k = 1;
for i = 2:nb
if tipo(i) == 3
V(i) = dV(k) + V(i); %Voltaje actualizado en la barra
k = k+1;
end
end
Iter = Iter + 1;
error = max(abs(M)); % Tolerancia
if error<=maxerror;
cver=0;
elseif Iter>maxiteration
disp('Flujo de potencaia Caso inicial no ha convergido');
break
end
end
V2=V;
tetha2=tetha;
%% LOOK AHEAD
m=0;
n=0;
dfx=zeros(nb-1,1);
dfy=zeros(npq,1);
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
dfx(m,1)=dpg(i,1)-dpl(i,1);
end
99
if tipo(i)==3
n=n+1;
dfy(n,1)=-dql(i,1);
end
end
%% LOOK AHEAD
%Calculamos la derivada de dx/dlambda
dnb=find(V1-V2==max(V1-V2));
dF=[dfx;dfy];
dxlam=J\dF;
dx=dxlam(1:nb-1);
dv=dxlam(nb:end);
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
dxtetha(i,1)=dx(k,1);
k=k+1;
else
dxtetha(i,1)=0;
end
end
k=1;
for i=1:nb
if tipo(i)==3
dxv(i,1)=dv(k,1);
k=k+1;
else
dxv(i,1)=0;
end
end
%dxtetha=dxlam(1:nb-1,1);
%dxv=dxlam(nb:end,1);
dxv2=dxv(dnb);
lams=[0; lam; 1];
abg=[1 V1(dnb) V1(dnb).^2;1 V2(dnb) V2(dnb).^2; 0 dxv2 2*dxv2*V2(dnb)];
da=abg\lams;
lammax=da(1,1)-da(2,1)^2/(4*da(3,1));
end
numbusx=['V(',num2str(dnb),')='];
fprintf('Lambda maxima = %4.4f; %4.4s; =%4.4f\n',lammax,numbusx,vcri)
100
CAPITULO IV
VALIDACIÓN DE LA METODOLOGÍA Y DISCUSIÓN DE LOS
RESULTADOS
101
elemento y las potencias calculados por el flujo de potencia. En el
caso presente la PBj es igual a PBo, debido que el incremento de la
carga es nulo, sin embargo, se determina las variables que son
relevantes para el desarrollo del método flujo continuado KABj, β(área)
y βj. Las cuales trazaran la trayectoria del incremento de la carga para
determinar el margen de cargabilidad en los sistemas eléctricos de
potencia.
Barra PBo Área KABj PB0*KAB KA PA0 KA*PA0 β(Área) Βj PBj ∆PB(j) PAi λ(i)
102
carga y la generación depende de la variable λ. con el único propósito
para la ilustración se ha establecido de manera aleatoria el valor de λ
a uno, sin embargo, en el desarrollo del sistema la variable está sujeto
a ajustes de paso, parametrización y error de la iteración del método
de Newton Raphson hasta ubicar la máxima cargabilidad del sistema.
Barra PBo Área KABj PB0*KABj KA PA0 KA*PA0 β(Área) βj PBj ∆PB(j) PAi λ(i)
7 100.0 1 31.75% 31.75 100% 315 315 1 2.942 193.40 93.4 630 1
103
Para mostrar las aproximaciones entre el método tradicional Flujo de
Potencia Continuado y Look- Ahead se ha calculado el margen de
cargabilidad del sistema, considerando que todos los elementos de la
misma están conectados y sin restricciones, las cuales se muestran
en las secciones siguientes 4.3.1 y 4.3.2 del presente trabajo.
n λ V(p.u) Iteraciones
0 0.000 0.996 4
1 0.192 0.974 4
2 0.383 0.950 4
3 0.573 0.923 4
4 0.760 0.892 4
5 0.945 0.857 4
6 1.125 0.816 4
7 1.296 0.765 5
8 1.448 0.696 5
9 1.5299 0.5846 6
10 1.420 0.460 5
11 1.269 0.389 5
12 1.113 0.336 4
13 0.958 0.294 4
14 0.803 0.257 4
15 0.651 0.225 4
16 0.499 0.197 4
17 0.349 0.171 4
18 0.201 0.146 4
19 0.054 0.124 4
20 0.000 0.116 4
Tabla 8: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia.
Fuente: Elaboración Propia, Resultado de Flujo Continuado de Potencia, 2017
104
La tensión critica para el sistema es de 0.5846 p.u. Finalmente para
este método se presenta el perfil obtenido en la gráfica 17.
Para ampliar los resultados se muestran los casos de contingencia n-1; donde,
se simula y determina el margen de cargabilidad del sistema para cada caso de
fuera de servicio de las líneas de transmisión.
105
Caso 1. Para la contingencia con fuera de la línea (4-5), se ha obtenido el
margen de cargabilidad el valor de λ(max)=0.8191 y una tensión critica
de 0.5712 p.u. Resultando la barra 5 como la barra critica. (Ver Figura
22)
n λ V(p.u) Iteraciones
0 0 0.9418 6
1 0.1842 0.9067 4
2 0.3633 0.8659 4
3 0.5338 0.8173 4
4 0.6878 0.7567 5
5 0.8033 0.6763 5
6 0.8191 0.5712 5
7 0.7181 0.4782 5
8 0.5712 0.4062 4
9 0.4063 0.3464 4
10 0.2327 0.2942 4
11 0.0539 0.2473 4
12 0.0000 0.2341 4
106
Caso 2. Para la contingencia con fuera de la línea (5-6), se ha obtenido el
margen de cargabilidad el valor de λ(max)=0.9418 y una tensión critica
de 0.6363 p.u. Resultando la barra 9 como la barra critica. (Ver Figura
23)
n λ V(p.u) Iteraciones
0 0 0.9678 6
1 0.1624 0.9413 4
2 0.3195 0.9118 4
3 0.4692 0.8787 4
4 0.6086 0.8413 4
5 0.7331 0.7988 4
6 0.8361 0.7504 4
7 0.9087 0.6959 4
8 0.9418 0.6363 4
9 0.9309 0.5742 4
10 0.8796 0.5125 4
11 0.7959 0.4529 5
12 0.6867 0.3953 5
13 0.5549 0.3386 5
14 0.3967 0.2798 5
15 0.2122 0.2177 5
16 0.0909 0.1789 5
17 0 0.1507 5
Tabla 10: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia para la contingencia línea 5-6.
107
Caso 3. Para la contingencia con fuera de la línea (6-7), se ha obtenido el
margen de cargabilidad el valor de λ(max)=1.3855 y una tensión critica
de 0.6661 p.u. Resultando la barra 9 como la barra critica. (Ver Figura
24)
n λ V(p.u) Iteraciones
0 0 0.9897 6
1 0.1899 0.9669 4
2 0.3782 0.9416 4
3 0.5644 0.9134 4
4 0.7475 0.8813 4
5 0.9258 0.8440 4
6 1.0958 0.7992 4
7 1.2492 0.7426 5
8 1.3588 0.6661 5
9 1.3447 0.5798 6
10 1.2125 0.5860 7
11 1.072 0.6297 5
12 0.9167 0.6682 4
13 0.7529 0.7010 4
14 0.584 0.7292 4
15 0.4117 0.7540 4
16 0.2369 0.7761 4
17 0.0604 0.7958 4
18 0 0.8021 4
Tabla 11: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia para la contingencia línea 6-7.
Fuente: Elaboración Propia, Resultado de Flujo Continuado de Potencia, 2017
108
Caso 4. Para la contingencia con fuera de la línea (7-8), se ha obtenido el
margen de cargabilidad el valor de λ(max)=0.8784 y una tensión critica
de 0.6804 p.u Resultando la barra 9 como la barra critica. (Ver Figura
25)
n λ V(p.u) Iteraciones
0 0.0000 0.9736 6
1 0.1651 0.9470 4
2 0.3240 0.9169 4
3 0.4742 0.8826 4
4 0.6122 0.8432 4
5 0.7324 0.7973 4
6 0.8257 0.7434 5
7 0.8784 0.6804 5
8 0.8749 0.6101 5
9 0.8148 0.5411 5
10 0.7191 0.4797 4
11 0.6048 0.4254 4
12 0.4800 0.3762 4
13 0.3484 0.3301 4
14 0.2110 0.2854 4
15 0.0667 0.2402 4
16 0.0000 0.2193 5
Tabla 12: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia para la contingencia línea 7-8.
Fuente: Elaboración Propia, Resultado de Flujo Continuado de Potencia, 2017
109
Caso 5. Para la contingencia con fuera de la línea (8-9), se ha obtenido el
margen de cargabilidad el valor de λ(max)=0.6977 y una tensión critica
de 0.6614 p.u Resultando la barra 9 como la barra critica. (Ver Figura
26)
n λ V(p.u) Iteraciones
0 0 0.938 6
1 0.1399 0.9073 4
2 0.274 0.8729 4
3 0.4006 0.8339 4
4 0.5171 0.7886 4
5 0.6193 0.7338 5
6 0.6977 0.6614 5
7 0.6965 0.5227 7
8 0.595 0.4286 5
9 0.4897 0.3695 4
10 0.3803 0.3214 4
11 0.267 0.2794 4
12 0.1503 0.2413 4
13 0 0.1973 5
Tabla 13: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia para la contingencia línea 8-9.
Fuente: Elaboración Propia, Resultado de Flujo Continuado de Potencia, 2017
110
Caso 6. Para la contingencia con fuera de la línea (9-4), se ha obtenido el
margen de cargabilidad el valor de λ(max)=0.2005 y una tensión critica
de 0.5573 p.u Resultando la barra 9 como la barra critica. (Ver Figura
27)
n λ V(p.u) Iteraciones
0 0 7
1 0.1208 0.7627 5
2 0.1981 0.6685 5
3 0.2005 0.5573 5
4 0.1203 0.4471 4
5 0 0.3565 5
Tabla 14: Resultados de la iteración sucesiva del método Flujo Continuado de
Potencia para la contingencia línea 9-4.
Fuente: Elaboración Propia, Resultado de Flujo Continuado de Potencia, 2017
111
4.3.2. Método de Look Ahed
N° Flujo de
Λ
Potencia
1 0.000
2 1.453
Tabla 15: Resultados de la primera y segunda ejecución de flujo de potencia
Fuente: Elaboración Propia, Resultado de Look-Ahead, 2017
112
Caso 1. Para la contingencia con fuera de la línea (4-5), se obtiene los
resultados mostrados en la tabla 17; donde λ0=0 para el caso base,
segundo flujo de potencia con λ1=0.7781 y la máxima cargabilidad
λ(max)=0.8229. Siendo la barra 5 como la más crítica o piloto con un
error de 0.464%.
113
Caso 4. Para la contingencia con fuera de la línea (7-8), se obtiene los
resultados mostrados en la tabla 20; donde λ0=0 para el caso base,
segundo flujo de potencia con λ1=0.8345 y la máxima cargabilidad
λ(max)=0.8728. Siendo la barra 9 como la más crítica o piloto con un
error de 0.638%.
114
4.4. EVALUACIÓN DE MARGEN DE CARGABILIDAD DEL
SISTEMA N-1
Falta de Tiempo
λ max
Línea (s)
Contingencia Error (%)
Look Look
(n-1) CPF CPF
Ahead Ahead
1 Normal 1.5299 1.513 1.11% 1.2829 0.4637
2 4-5 0.8191 0.8229 0.46% 1.3013 0.4573
3 5-6 0.9418 0.9303 1.22% 2.0998 0.4604
4 6-7 1.3855 1.3297 4.03% 1.2684 0.458
5 7-8 0.8784 0.8728 0.64% 1.3431 0.4542
6 8-9 0.6977 0.7106 1.85% 1.3401 0.4653
7 9-4 0.2005 0.2084 3.94% 1.1585 0.4599
Tabla 23: Comparación de resultados para las contingencias con el método de
Flujo Continuado y el método Look – Ahead.
Fuente: Elaboración Propia, Resultado Flujo de Potencia Continuado y Look-
Ahead, 2017
115
4.5. DISCUSIÓN DE LOS RESULTADOS
116
CAPITULO V
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
117
RECOMENDACIONES
118
REFERENCIAS BIBLIOGRAFICAS
[2] Prabha Kundur (Canada, Convener), John Paserba (USA, Secretary), Venkat
Ajjarapu (USA), Göran Andersson (Switzerland), Anjan Bose (USA) , Claudio
Canizares (Canada), Nikos Hatziargyriou (Greece), David Hill (Australia),
Alex Stankovic (USA), Carson Taylor (USA), Thierry Van Cutsem (Belgium),
and Vijay Vittal (USA) “Definition and Classification of Power System
Stability”, IEEE TRANSACTIONS ON POWER SYSTEMS, Manuscript
received July 8, 2003. P 1-14.
[3] Jinquan Zhao, Hsiao-Dong Chiang, Fellow, IEEE, and Hua Li, Member, IEEE,
“Enhanced Look-ahead Load Margin Estimation for Voltage Security
Assessment”, IEEE 2003, P 2640-2642.
119
[7] Prabha Kundur, POWER SYSTEM STABILITY AND CONTROL, Power
System Planing and Operation program Electrical Systems Division, EPRI
Editors Neal J. Balu and Mark G. Lauby, 1993, P 699-1161.
[10] Ricardo Vargas, M.A Arjona and Manuel Carrillo, “PV Curves for Steady-
State Security Assessment with MATLAB”, Instituto Tecnológico de la Laguna
División de Estudios de Posgrado e Investigación México, P 267-282.
[11] Holly More, MATLAB para ingenieros, Salt Lake Community College, 2007
[12] Amos Gilat, Matlab una introducción con ejemplos prácticos, Department of
Mechanical Engineering, 2005
120
ANEXO
121
a.1. Programa de Flujo Continuado
INICIO
clc
clear all
tic;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
% % tipo=1 Barra de tipo Slack %%
% % tipo=2 Barra de tipo PV %%
% % tipo=3 Barra de tipo PQ %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
num=1; %Seleccione el ejemplo que desee ejecutar
sig=0.2;
lam=0;
lambda(1,1)=0;
maxerror=1e-8;
maxiteration=20;
npmc=1;
nconver=0;
param=3;
kc=2.5;
fprintf('\t\t\t\t\t\t\t\t \b Ejercicio Numero : =%2.0f\n', num);
%% DATOS DE ENTRADA
switch num
case 1
disp('IEEE 9 BARRAS P. ANDERSON')
%ingresamos las impedancias de la liena en forma de tabla
%| desde | hasta | R | X | Y/2 |X'(mer) |
%| pu | pu | pu | pu | pu | tap(a) |
%datos del transformador
l=[ 1 4 0 0.0576 0/2 1
4 5 0.017 0.092 0.158/2 1
5 6 0.039 0.17 0.358/2 1
3 6 0 0.0586 0 1
6 7 0.0119 0.1008 0.209/2 1
7 8 0.0085 0.072 0.149/2 1
8 2 0 0.0625 0 1
8 9 0.032 0.161 0.306/2 1
9 4 0.01 0.085 0.176/2 1];
p=[ 1 1 1.04 0 0 0 0 0 0 0 0 1
2 2 1.025 0 163 0 0 0 -300 300 0 1
122
3 2 1.025 0 85 0 0 0 -300 300 0 1
4 3 1 0 0 0 0 0 0 0 0 1
5 3 1 0 0 0 90 30 0 0 0 1
6 3 1 0 0 0 0 0 0 0 0 1
7 3 1 0 0 0 100 35 0 0 0 1
8 3 1 0 0 0 0 0 0 0 0 1
9 3 1 0 0 0 125 50 0 0 0 1];
end
%% Ybus
123
Q = Qg - Ql + Qsh; % Qi = QGi - QLi..potencia reactiva en la barra
Psp = P; % P potencia activa especifica
Qsp = Q; % Q Potencia reactiva especifica
%G = real(Y); % Conductance matrix..
%B = imag(Y); % Susceptance matrix..
pv = find(tipo == 2 | tipo == 1); % BARRA PV
pq = find(tipo == 3); % BARRA PQ
npv = length(pv); % N-PV
npq = length(pq); % N-PQ
%% Flujo de Potencia Caso Base
error = 1;
Iter = 1;
cver=1;
while cver==1; %error d iteraciones
%for x=1:3
P = zeros(nb,1);
Q = zeros(nb,1);
% CALCULANDO POTENCIA ACTIVA Y REACTIVA
for i = 1:nb
for k = 1:nb
P(i) = abs(V(i)* V(k)*Y(i,k))*cos(angle(Y(i,k))+tetha(k)-tetha(i))+P(i);
Q(i) = - abs(V(i)*V(k)*Y(i,k))*sin(angle(Y(i,k))+tetha(k)-tetha(i))+Q(i);
end
end
% JACOBIANO
% J1 - DERIVADA DE POTENCIA REAL CON RESPECTO AL ANGULO EN LA BARRA.
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
124
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
125
end
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
tetha(i,1)=tetha(i,1)+dTh(k,1);
k=k+1;
end
end
k = 1;
for i = 2:nb
if tipo(i) == 3
V(i) = dV(k) + V(i); % Magnitud de Voltaje
k = k+1;
end
end
Iter = Iter + 1;
error = max(abs(M)); % Tolerancia
if error<=maxerror;
fprintf('n =%4.0f ; Lambda= %4.4f ; Iteraciones= %4.4f\n',0,lam,Iter)
%fprintf('Caso base convergio en = %4.4f \n',Iter)
cver=0;
elseif Iter>maxiteration
disp('Flujo de potencaia Caso inicial no ha convergido');
break
end
end
Pgen0=P+Pl;
Qgen0=Q+Ql;
Vbus=V;
lambus=0;
Vo=V;
tetha0=tetha;
lam0=lam;
%% Selecionamos la curva de la barra con mayor caida de tension
sbplot=find(V==min(V));
V1=V;
%% Flot data CPF
plot_level=2;
plot(0,0);
hold on
xlabel('\lambda');
ylabel('Voltage (p.u)');
title('Flujo Continuado V - \lambda');
axis([0 max(V)*1.05 0 1]);
plot(lam0,V(sbplot),'-o','linewidth',2.5);
126
%hold on
%% CALCULO DE CRECIMIENTO DE LA CARGA
%calculamos el factor de participacion de la carga PL en el sistema
kab=zeros(nb,1); Par0=zeros(nb,1);
pa0=zeros(nb,1); P0kab=zeros(nb,1);
kaPa0=zeros(nb,1); barea=zeros(nb,1);
bbus=zeros(nb,1); sumpokab=zeros(nb,1);
for k=1:max(are);
Plo=0;
for i=1:nb
if are(i)==k
Plo=Pl(i,1)+Plo;
end
end
Pa0(k,1)=Plo;
for i=1:nb
if are(i)==k && Pl(i,1)>0
kab(i,1)=Pl(i,1)/Pa0(k,1);
P0kab(i,1)=kab(i,1)*Pl(i,1);
end
end
ka(k,1)=Pa0(k,1)/sum(Pl);
for i=1:nb
if are(i)==k && Pl(i,1)>0
kaPa0(i,1)=ka(k,1)*Pa0(k,1);
end
end
sumpokab0=0;
for i=1:nb
if are(i)==k && Pl(i,1)>0
sumpokab0=sumpokab0+P0kab(i,1);
end
end
sumpokab(k,1)=sumpokab0;
for i=1:nb
if are(i)==k && Pl(i,1)>0
%if tipo(i)==3
barea(i,1)=Pa0(k,1)/kaPa0(i,1);
%end
end
end
for i=1:nb
if are(i)==k && Pl(i,1)>0
%if tipo(i)==3
%if Pl(i)>0
bbus(i,1)=ka(k,1)*Pa0(k,1)*barea(i,1)/sumpokab(k,1);
%end
%end
end
end
end
%% factor de particpacion de la carga
Pg0=0;
dpl=0; %variacion de la carga en el sistema
127
for i=1:nb
if tipo(i)==2 || tipo(i)==1
Pg0=Pgen0(i,1)+Pg0;
end
dpl=Pl(i,1)*kab(i,1)*bbus(i,1)+dpl;
end
PgTo=Pg0;
fpg=zeros(nb,1);
dpg=zeros(nb,1);
for i=1:nb
if tipo(i)==2 && Pg(i,1)>0
fpg(i,1)=Pg(i,1)/PgTo;
dpg(i,1)=fpg(i,1)*dpl;
end
end
%%
Vprv=V;
tethaprv=tetha;
con_step=0;
correc=1;
numcal=0;
z=[zeros(npv+2*npq,1);1];
while correc==1
con_step=con_step+1;
%% calculamos jacobiano
%paso predictor
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
128
J2(i,k) = abs(V(m)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
%J3- DERIVA DE POTENCIA REACTIVA CON ANGULO DE LA BARRA
J3 = zeros(npq,nb-1);
for i = 1:npq
m = pq(i);
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J3(i,k) = J3(i,k) + abs(V(m)* V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
J3(i,k) = J3(i,k) - abs(V(m)^2*Y(m,m))*cos(angle(Y(m,m)));
else
J3(i,k) = -abs(V(m)*V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
dFlamV=zeros(nb-1,1);
k=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
k=k+1;
dFlamV(k,1)= kab(i,1)*bbus(i,1)*Pl(i,1)-dpg(i,1);
end
end
dFlamQ=zeros(npq,1);
k=0;
for i=1:nb
if tipo(i)==3
k=k+1;
dFlamQ(k,1)=kab(i,1)*bbus(i,1)*Ql(i,1);
end
129
end
%funcion de parametrizacion del jacobiano
if param==1; %parametrizacion local o fisica (predictor)
dp_dv=zeros(1,npv+2*npq-1);
if lam>=lam0
dp_lam=1;
else
dp_lam=-1;
end
elseif param==2; %parametrizacion por longitud de arco (predictor)
m=1;
n=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
dp_dv1(m)=tetha(i)-tetha0(i);
m=m+1;
end
if tipo(i)==3
dp_dv2(n)=V(i)-Vo(i);
n=n+1;
end
end
%dp_dv=2*([tetha; V]-[tetha0; Vo]);
dp_dv=2*([dp_dv1 dp_dv2]);
if lam==lam0
dp_lam=1;
else
dp_lam=2*(lam-lam0);
end
elseif param==3; %parametrizacion por pseudo longitud de arco (predictor)
dp_dv=[z(1:npv+2*npq-1,1)]'; %
dp_lam=z(end);
end
%%%fin de parametrizacion
s=[zeros(npv+2*npq-1,1);1];
z=J\s;
z=z/norm(z);
Xo1=zeros(nb-1,1);
Xo2=zeros(npq,1);
k1=0;k2=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
k1=k1+1;
Xo1(k1,1)=tetha(i,1);
end
if tipo(i)==3
k2=k2+1;
Xo2(k2,1)=V(i,1);
end
end
Xo=[Xo1; Xo2; lam];
lam0=lam;
130
%Vector Predicto es:
Xpre=Xo+sig*z;
lam=Xpre(end,1);
%% estrategicamente actualizamos los valores solucionados
tetha0=tetha;
Vo=V;
%%
k1=0;
k2=npv+npq-1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
k1=k1+1;
tetha(i)=Xpre(k1,1);
end
%%%
if tipo(i)==3
k2=k2+1;
V(i,1)=Xpre(k2,1);
end
end
%% paso corrector
error=1e-8;
Iter=1;
correc=0;
Vprv=V;
tethaprv=tetha;
while correc==0
%%parametrizacion corrector
if param==1 %parametrizacion fisica local (predictor)
if lam>=lam0
ps=lam-lam0-sig;
else
ps=lam0-lam-sig;
end
elseif param==2 %parametrizacion por longitud de arco (predictor)
X01=zeros(npv+npq-1,1);
X02=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
X01(m,1)=tetha0(i,1);
X11(m,1)=tetha(i,1);
end
if tipo(i)==3
n=n+1;
X02(n,1)=Vo(i,1);
X12(n,1)=V(i,1);
end
end
X0=[X01;X02;lam0];
X1=[X11;X12;lam];
ps=sum((X1-X0).^2)-sig^2;
131
elseif param==3 %Parametrizacion por pseudo longitud de arco (predictor)
X01=zeros(npv+npq-1,1);
X02=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
X01(m,1)=tetha0(i,1);
X11(m,1)=tetha(i,1);
end
if tipo(i)==3
n=n+1;
X02(n,1)=Vo(i,1);
X12(n,1)=V(i,1);
end
end
X0=[X01;X02;lam0];
X1=[X11;X12;lam];
ps=z'*(X1-X0)-sig;
end
P = zeros(nb,1);
Q = zeros(nb,1);
% CALCULANDO POTENCIA ACTIVA Y REACTIVA
for i = 1:nb
for k = 1:nb
P(i) = abs(V(i)* V(k)*Y(i,k))*cos(angle(Y(i,k))+tetha(k)-tetha(i))+P(i);
Q(i) = - abs(V(i)*V(k)*Y(i,k))*sin(angle(Y(i,k))+tetha(k)-tetha(i))+Q(i);
end
end
i=1;
Fx1=zeros(npv+npq-1,1);
Fx2=zeros(npq,1);
m=0;
n=0;
for i=1:nb
if tipo(i)==3 || tipo(i)==2
m=m+1;
Fx1(m,1)= P(i,1)+Pl(i,1)*(1+kab(i,1)*bbus(i,1)*lam)-Pg(i,1)-dpg(i,1)*lam; %P(i)-
Psp(i)+lam*dFlamV(m,1);
end
if tipo(i)==3
n=n+1;
Fx2(n,1)=Q(i)+Ql(i,1)*(1+kab(i,1)*bbus(i,1)*lam);%-Qge(i,1);%Q(i)-
Qsp(i)+lam*dFlamQ(n,1);
end
end
132
F=[Fx1;Fx2;ps];
%% Calculamos el jacobiano
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
133
m = pq(i);
for k = 1:npq
n = pq(k);
if n == m
for n = 1:nb
J4(i,k) = J4(i,k) - abs(V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J4(i,k) = J4(i,k) - abs(V(m)*Y(m,m))*sin(angle(Y(m,m)));
else
J4(i,k) = -abs(V(m)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
dx=-J\F;
134
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
tetha(i,1)=tetha(i,1)+dx(k,1);
k=k+1;
end
end
k = 1;
for i = 2:nb
if tipo(i) == 3
V(i) = dx2(k) + V(i); % Magnitud de Voltaje
k = k+1;
end
end
Iter= Iter+1;
if max(abs(dx))<error
correc=1;
end
if Iter>10
disp('el calculo de newton Raphson no Converge');
break
end
end
numcal=numcal+1;
if numcal==1
V2=V;
dV=V1-V2;
sbplot=find(dV==max(dV));
end
if lam<lam0 && lam-sig<0
sig=lam;
param=1;
end
lambus(1,con_step+1)=lam;
Vbus(1:nb,con_step+1)=V;
if lam<=0;
correc=0;
end
if Iter<10
numbusx=['V(',num2str(sbplot),')='];
fprintf('n =%4.0f ; Lambda= %4.4f ; %4.4s = %4.4f ; Iteraciones=
%2.0f\n',con_step,lam,numbusx,V(sbplot),Iter)
end
%% plot predictor tangent and corrector
plot(Xpre(end),Vprv(sbplot),'-x','linewidth',2);%,'Color', 0.85*[1 0.75 0.75]);
lammtang=[lam,Xpre(end)];
Vtang=[V(sbplot),Vprv(sbplot)];
plot(lammtang,Vtang,'--r','linewidth',2);%'Color', 0.85*[1 0.75 0.75]
plot(lam,V(sbplot),'-o');
lammvp=[lambus(1,end-1), Xpre(end)];
Vvp=[Vbus(sbplot,end-1), Vprv(sbplot)];
plot(lammvp,Vvp,'-r','linewidth',2);%'Color', 0.85*[1 0.75 0.75],'linewidth',2);
axis([0 max(max(abs(lambus)))*1.25 0 max(max(Vbus))]);
end
135
plot(lambus,Vbus(sbplot,1:con_step+1),'linewidth',2);
xlabel('\lambda');
axis([0 max(max(abs(lambus)))*1.1 0 max(max(Vbus))]);
legend(['Bus ',num2str(sbplot)]);
if Iter<10
fprintf('Lambda máxima = %4.4f \n\n',max(max(lambus)))
end
fprintf(' La Curva es de la barra = %4.0f \n',sbplot)
%toc;
time=toc;
fprintf(' Tiempo de calculo = %4.4f segundos\n',time)
FIN
136
a.2. Programa Look – Ahead
INICIO
clc
clear all
tic;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
% % tipo=1 Barra de tipo Slack %%
% % tipo=2 Barra de tipo PV %%
% % tipo=3 Barra de tipo PQ %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
num=1; %SELECCCIONA QUE CASO DE LOS EJERCICIOS QUIERA QUE SE EJECUTE
sig=0.2;
lam=0;
maxerror=1e-8;
maxiteration=20;
npmc=1;
nconver=0;
param=3;
kc=2.5;
fprintf('\t\t\t\t\t\t\t\t \b Ejercicio Numero : =%2.0f\n', num);
% DATOS DE ENTRADA
switch num
case 1
disp('IEEE 9 BARRAS P. ANDERSON')
%ingresamos las impedancias de la liena en forma de tabla
%| desde | hasta | R | X | Y/2 |X'(mer) |
%| pu | pu | pu | pu | pu | tap(a) |
%datos del transformador
l=[ 1 4 0 0.0576 0/2 1
4 5 0.017 0.092 0.158/2 1
5 6 0.039 0.17 0.358/2 1
3 6 0 0.0586 0 1
6 7 0.0119 0.1008 0.209/2 1
7 8 0.0085 0.072 0.149/2 1
8 2 0 0.0625 0 1
8 9 0.032 0.161 0.306/2 1
9 4 0.01 0.085 0.176/2 1];
p=[ 1 1 1.04 0 0 0 0 0 0 0 0 1
2 2 1.025 0 163 0 0 0 -300 300 0 1
3 2 1.025 0 85 0 0 0 -300 300 0 1
4 3 1 0 0 0 0 0 0 0 0 1
137
5 3 1 0 0 0 90 30 0 0 0 1
6 3 1 0 0 0 0 0 0 0 0 1
7 3 1 0 0 0 100 35 0 0 0 1
8 3 1 0 0 0 0 0 0 0 0 1
9 3 1 0 0 0 125 50 0 0 0 1];
end
%%
SBMva = 100; % Base en MVA..
bus = p(:,1); % numero de barras del sistema
tipo = p(:,2); % Tipo de barra
V = p(:,3); % voltaje en la barra
tetha = p(:,4); % V<tetha....angulo del voltaje en la barra
Pg = p(:,5)/SBMva; % PGi..potencia activa generada generada
Qg = p(:,6)/SBMva; % QGi..potencia reactiva generada generada
Pl = p(:,7)/SBMva; % PLC...Potencia activa consumida en la carga
Ql = p(:,8)/SBMva; % QLC...Potencia reactiva consumida en la carga
Qmin = p(:,9)/SBMva; % Minima potencia recativa generada por el generador o barra PV
Qmax = p(:,10)/SBMva; % maxima potencia recativa generada por el generador o barra PV
Qsh = p(:,11)/SBMva; % compensacion reactiva
are = p(:,12); %area de correspondencia en el sistema
138
%B = imag(Y); % Susceptance matrix..
k = 1;
dQ = zeros(npq,1);
for i = 1:nb
if tipo(i) == 3
dQ(k,1) = dQa(i);
k = k+1;
end
end
%dP2 = dPa(2:nb);
M = [dP; dQ]; %MATRIZ DE DIFERENCIA DE POTENCIA (P,Q) PARA LA ITERACCION
% JACOBIANO
% J1 - DERIVADA DE POTENCIA REAL CON RESPECTO AL ANGULO EN LA BARRA.
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
139
end
end
end
140
X = inv(J)*M; % Vector Corrector
dTh = X(1:nb-1); % Diferencia de error de Angulo
dV = X(nb:end); % Diferencia de Error de Voltaje
Iter = Iter + 1;
error = max(abs(M)); % Tolerancia
if error<=maxerror;
%fprintf('n =%4.0f ; Lambda= %4.4f ; Iteraciones= %4.4f\n',0,lam,Iter)
%fprintf('Caso base convergio en = %4.4f \n',Iter)
cver=0;
elseif Iter>maxiteration
disp('Flujo de potencaia Caso inicial no ha convergido');
break
end
end
V1=V;
Pgen0=P+Pl;
Vbus=V;
lambus=0;
Vo=V;
tetha0=tetha;
lam0=lam;
lamb0=lam;
%%%%%%%%%%
fprintf('Segundo flujo de potencia = %4.4f\n',lam)
for i=1:nb
if tipo(i)==2
Pg(i,1)=Pg(i,1)+dpg(i,1)*lam;
end
%if tipo(i)==3 || tipo(i)==2
Pl(i,1)=Pl(i,1)*(1+kab(i,1)*bbus(i,1)*lam);
Ql(i,1)=Ql(i,1)*(1+kab(i,1)*bbus(i,1)*lam);
%end
end
Psp=Pg-Pl;
Qsp=Qg-Ql;
cver=1;
while cver==1; %error d iteraciones
%for x=1:3
P = zeros(nb,1);
141
Q = zeros(nb,1);
% CALCULANDO POTENCIA ACTIVA Y REACTIVA
for i = 1:nb
for k = 1:nb
P(i) = abs(V(i)* V(k)*Y(i,k))*cos(angle(Y(i,k))+tetha(k)-tetha(i))+P(i);
Q(i) = - abs(V(i)*V(k)*Y(i,k))*sin(angle(Y(i,k))+tetha(k)-tetha(i))+Q(i);
end
end
% JACOBIANO
% J1 - DERIVADA DE POTENCIA REAL CON RESPECTO AL ANGULO EN LA BARRA.
J1 = zeros(nb-1,nb-1);
m = 0;
for i = 1:(nb-1)
m = i+1;
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J1(i,k) = J1(i,k) + abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
J1(i,k) = J1(i,k)-abs(V(m)^2*Y(m,m))*sin(angle(Y(m,m)));
else
J1(i,k) = -abs(V(m)*V(n)*Y(m,n))*sin(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
142
J2(i,k) = J2(i,k) + abs(V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
J2(i,k) = J2(i,k) + abs(V(m)*Y(m,m))*cos(angle(Y(m,m)));
else
J2(i,k) = abs(V(m)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
%J3- DERIVA DE POTENCIA REACTIVA CON ANGULO DE LA BARRA
J3 = zeros(npq,nb-1);
for i = 1:npq
m = pq(i);
for k = 1:(nb-1)
n = k+1;
if n == m
for n = 1:nb
J3(i,k) = J3(i,k) + abs(V(m)* V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
J3(i,k) = J3(i,k) - abs(V(m)^2*Y(m,m))*cos(angle(Y(m,m)));
else
J3(i,k) = -abs(V(m)*V(n)*Y(m,n))*cos(angle(Y(m,n))+tetha(n)-tetha(m));
end
end
end
k = 1;
for i = 2:nb
143
if tipo(i) == 3
V(i) = dV(k) + V(i); %Voltaje actualizado en la barra
k = k+1;
end
end
Iter = Iter + 1;
error = max(abs(M)); % Tolerancia
if error<=maxerror;
cver=0;
elseif Iter>maxiteration
disp('Flujo de potencaia Caso inicial no ha convergido');
break
end
end
V2=V;
tetha2=tetha;
%% LOOK AHEAD
m=0;
n=0;
dfx=zeros(nb-1,1);
dfy=zeros(npq,1);
for i=1:nb
if tipo(i)==2 || tipo(i)==3
m=m+1;
dfx(m,1)=dpg(i,1)-dpl(i,1);
end
if tipo(i)==3
n=n+1;
dfy(n,1)=-dql(i,1);
end
end
%% LOOK AHEAD
%Calculamos la derivada de dx/dlambda
dnb=find(V1-V2==max(V1-V2));
dF=[dfx;dfy];
dxlam=J\dF;
dx=dxlam(1:nb-1);
dv=dxlam(nb:end);
k=1;
for i=1:nb
if tipo(i)==2 || tipo(i)==3
dxtetha(i,1)=dx(k,1);
k=k+1;
else
dxtetha(i,1)=0;
end
end
k=1;
for i=1:nb
if tipo(i)==3
dxv(i,1)=dv(k,1);
k=k+1;
else
dxv(i,1)=0;
144
end
end
%dxtetha=dxlam(1:nb-1,1);
%dxv=dxlam(nb:end,1);
dxv2=dxv(dnb);
lams=[0; lam; 1];
abg=[1 V1(dnb) V1(dnb).^2;1 V2(dnb) V2(dnb).^2; 0 dxv2 2*dxv2*V2(dnb)];
da=abg\lams;
lammax=da(1,1)-da(2,1)^2/(4*da(3,1));
end
numbusx=['V(',num2str(dnb),')='];
fprintf('Lambda maxima = %4.4f; %4.4s; =%4.4f\n',lammax,numbusx,vcri)
time=toc;
fprintf(' Tiempo de calculo = %4.4f segundos\n',time)
FIN
145