G08071147 Donacion Tesis Bib
G08071147 Donacion Tesis Bib
G08071147 Donacion Tesis Bib
OPCIÓN I
TESIS PROFESIONAL
PRESENTA:
ASESOR:
A mis maestros los cuales fueron parte importante en mi desarrollo profesional, así
como a mi director de tesis el M.C. Hermenegildo Cisneros Villegas, por su apoyo durante
el desarrollo del proyecto.
A mis padres Olga y Juan, mi fuente de admiración, por la inspiración que me han
dado y el apoyo que me han brindado en cada momento.
A mi novia Nayely que estuvo a mi lado en todo este proceso dándome ánimos.
Resumen
Los resultados obtenidos en MATLAB son desplegados en una hoja de Excel para su
mejor visualización y facilitar el manejo de datos.
.
Abstract
The way to see if it is necessary to enter the TCSC device is through a run of flows
in MATLAB with the Newton Raphson method to load flow. With the model is obtained
the reactance of TCSC, which in the case of be required is used to perform again a run on
flows and see what effect it had with the insertion of the device. The program is designed to
work with any network, considering the controlled voltaje buses.
The results obtained in MATLAB are deployed in an Excel worksheet for your best
viewing and facilitate the handling of data.
Contenido
Página
Resumen...................................................................................................................... i
Abstract ii
Lista de Figuras............................................................................................................ v
Lista de Tablas............................................................................................................. vi
Capítulo 1: Introducción……………………………………………………………. 1
1.1. ANTECEDENTES............................................................................................ 2
1.1.1. El Sistema Eléctrico de Potencia........................................................ 2
1.1.2. Características de las líneas de transmisión............................…...…. 3
1.1.3. Compensación serie en líneas de transmisión.................................... 5
1.1.4. Efectos de los capacitores serie en líneas de transmisión…………... 5
1.2. PLANTEAMIENTO DEL PROBLEMA.......................................................... 7
1.3. JUSTIFICACIÓN………………...................................................................... 7
1.4. OBJETIVOS...................................................................................................... 8
1.5. HIPÓTESIS....................................................................................................... 8
1.6. ALCANCES Y LIMITACIONES..................................................................... 8
Capítulo 6: Conclusiones…………..…………………….………………………… 82
6.1. CONCLUSIONES…………………………………………………………… 83
6.2. RECOMENDACIONES PARA TRABAJOS FUTUROS………………….. 84
Referencias………………………………………………………………………...... 114
Lista de Figuras
Página
v
Lista de Tablas
Página
Tabla 3.1 Aplicación de controladores FACTS en la operación de sistemas de
potencia……………………………………………............................ 24
Tabla 5.1 Datos de línea de la red de 4 nodos………………………...……….. 57
Tabla 5.2 Datos de buses para la red de 4 nodos………………………………. 57
Tabla 5.3 Perfiles de voltaje para la red de 4 nodos…………………...………. 58
Tabla 5.4 Flujos de potencia para la red de 4 nodos………………………........ 58
Tabla 5.5 Pmax y MEEE para la red de 4 nodos………………………...…….. 58
Tabla 5.6 Datos de línea de la red de 5 nodos…………………………...……. 59
Tabla 5.7 Datos de buses para la red de 5 nodos……………………………..... 59
Tabla 5.8 Perfiles de voltaje para la red de 5 nodos……………..……………. 60
Tabla 5.9 Flujos de potencia para la red de 5 nodos…………………………… 60
Tabla 5.10 Pmax y MEEE para la red de 5 nodos………………………………. 60
Tabla 5.11 Datos de línea de la red de 14 nodos……………………...………… 61
Tabla 5.12 Datos de buses para la red de 14 nodos……………………………... 62
Tabla 5.13 Perfiles de voltaje para la red de 14 nodos………………………….. 62
Tabla 5.14 Flujos de potencia para la red de 14 nodos………………………….. 63
Tabla 5.15 Pmax y MEEE para la red de 14 nodos……………………………... 64
Tabla 5.16 Datos de línea de la red de Zona Victoria…………………………… 65
Tabla 5.17 Datos de buses para la red de Zona Victoria………………...……… 66
Tabla 5.18 Perfiles de voltaje para la red de Zona Victoria………...…………... 66
Tabla 5.19 Flujos de potencia para la red de Zona Victoria.……………………. 67
Tabla 5.20 Pmax y MEEE para la red de Zona Victoria……………….……….. 68
Tabla 5.21 Datos de línea de la red de Zona Valles…………………………...... 69
Tabla 5.22 Datos de buses para la red de Zona Valles...………………..……… 70
Tabla 5.23 Perfiles de voltaje para la red de Zona Valles.………..……………. 70
Tabla 5.24 Flujos de potencia para la red de Zona Valles…………......………... 71
Tabla 5.25 Pmax y MEEE para la red de Zona Valles…………………………. 72
Tabla 5.26 Perfiles de voltaje para la red de la figura 5.6.……………..………. 73
Tabla 5.27 Flujos de potencia para la figura 5.6.………………………………... 74
Tabla 5.28 Pmax y MEEE para la figura 5.6…..…………...…………………… 75
Tabla 5.29 Perfiles de voltaje para la red de 14 nodos con el TCSC insertado…. 76
Tabla 5.30 Flujos de potencia para la red de 14 nodos con el TCSC insertado.... 77
Tabla 5.31 Perfiles de voltaje para la red de Zona Victoria con el TCSC
insertado…………………………………………………………...… 79
Tabla 5.32 Flujos de potencia para la red de Zona Victoria con el TCSC
insertado……………………………………………………………... 80
Tabla 6.1 Resultados de la red de 14 nodos. ………………………………….. 83
Tabla 6.2 Resultados de la red de Zona Victoria. …………………………….. 83
vi
Capítulo 1
Introducción.
En este capítulo se da una descripción del trabajo desarrollado, se muestran los
antecedentes, el planteamiento del problema, la justificación, así como los objetivos, la
hipótesis, los alcances y limitaciones.
Introducción
1.1. ANTECEDENTES.
Los sistemas eléctricos de potencia (SEP) son claves para el bienestar y el progreso
de la sociedad moderna. Estos permiten el suministro de energía eléctrica con la calidad
adecuada pata manejar motores, iluminar hogares y calles, hacer funcionar plantas de
manufactura, negocios, así como para proporcionar potencia a los sistemas de
comunicaciones y de cómputo.
Sin embargo, todas estas formas de potencia utilizadas son en su mayoría obtenidas
de un proceso de conversión de potencia eléctrica. Esto hace que la potencia eléctrica sea la
más importante en nuestra sociedad.
2
Introducción
Dadas las características de los SEP modernos, los medios de transporte de la potencia
eléctrica son las Líneas de Transmisión, que operan a niveles de tensión en el orden de los
cientos de kilovolts.
Existen desde luego medios para lograr los niveles de tensión requeridos para
transportar convenientemente la potencia eléctrica a grandes distancias. Esto se logra con los
Transformadores, los cuales forman parte del sistema de transporte de la potencia eléctrica.
Existen desde luego una gran cantidad de dispositivos complementarios que hacen
posible que los SEP operen en condiciones satisfactorias, como por ejemplo, compensadores,
interruptores, protecciones, etcétera.
Sin embargo, todos ellos son dispositivos que se agregan a los componentes principales para
mejorar su funcionamiento en lo individual y el del SEP en lo general.
3
Introducción
(1. 3)
Is = CER + DIR
4
Introducción
La aplicación de los capacitores serie a líneas de transmisión de alta tensión fue objeto
de una considerable atención durante tiempo atrás. Este interés generalizado puede atribuirse
a los factores siguientes:
5
Introducción
sistemas, ya que dicho aumento no justifica el cambio del voltaje del sistema ni la
construcción de otro circuito paralelo.
2. Proveer un aumento de la capacidad de la línea, de manera que el sistema pueda
manejar cargas de emergencia de corta duración. En dichas aplicaciones, la eficiencia
de la línea a carga máxima para compensaciones superiores al 50%, decrecerá
materialmente.
3. Aumentar los límites de estabilidad de un sistema ante transitorios.
Fundamentalmente, el capacitor serie se utiliza para compensar la reactancia
inductiva de una línea. Tratándose de circuitos de transmisión el objetivo consiste en
aumentar la transferencia de potencia y los límites de estabilidad.
En una línea de transmisión normal, exenta de capacitores serie (haciendo caso omiso
de la resistencia de la línea), la potencia máxima que puede enviarse sobre la línea es:
Es Er (1. 4)
Pmáx =
x
Es Er (1. 5)
Pmáx =
xL − xC
Por lo que a medida que disminuye la reactancia entre los extremos de suministro y
recepción aumenta el límite de potencia del sistema.
6
Introducción
Las simulaciones son hechas haciendo uso del software MATLAB, para simular
corridas de flujos de carga y determinar en qué punto de la red el TCSC puede ayudar a
mejorar las condiciones de operación.
1.3. JUSTIFICACIÓN.
7
Introducción
1.4. OBJETIVOS.
Objetivo general.
Objetivos específicos.
Crear un programa en MATLAB que realize un estudio de flujos para cualquier red
usando el método de Newton Raphson para flujos de carga teniendo los datos
requeridos por el programa.
1.5. HIPÓTESIS.
Alcances.
Estudio en MATLAB con datos reales de un sistema eléctrico.
Creación de un programa que lleve a cabo una corrida de flujos para cualquier red.
Incrementar la potencia de transmisión en una línea de transmisión.
Mejorar el margen de estabilidad de una línea de transmisión.
Limitaciones.
Acceso a las bases de datos para extraer la información requerida para realizar la
simulación.
8
Capítulo 2
Estudio de flujos de carga.
Por lo general, se evita la convergencia sobre una solución errónea si los valores
iniciales son de magnitud razonable y no difieren demasiado en fase. Seleccionar los
estimados iniciales de los voltajes desconocidos en todas los buses de carga como iguales a
1.0∠0° por unidad.
Al final de la corrida de flujos basta con multiplicar los resultados obtenidos por los
valores base que se tienen como datos conocidos, ya sea el valor de tensión en KV´s o por la
potencia base (100MVA) para obtener los resultados en valores reales, esto es tarea del
usuario ya que el programa se limita a manejar los resultados en valores en por unidad.
10
Estudio de flujos de carga
Inicio
Ingresar los
datos del
sistema
Arreglo de datos
y reducción de
líneas paralelas
Cálculo de la
matriz YBUS
Si
Se calcula la
matriz Jacobiana No
Se necesita
incrementar Fin
PMax o MEEE
Se calcula ∆𝑉 y ∆𝛿
∆𝑉 −1 ∆𝑃𝑖
= 𝐽𝑎𝑐𝑜𝑏𝑖𝑎𝑛𝑎
∆𝛿 ∆𝑄𝑖
No Si El sistema convergió y se
∆𝑃𝑖 &∆𝑄𝑖 < 𝑇𝑜𝑙 obtienen los fasores de
voltaje
11
Estudio de flujos de carga
2. Las magnitudes de voltaje en las barras permanecen cercanas a sus valores nominales.
A partir del diagrama unifilar del sistema de potencia se pueden obtener los datos de
entrada para las soluciones por computadora. Los datos de entrada consisten en datos de
buses, datos de líneas de transmisión y de los transformadores.
12
Estudio de flujos de carga
Bus de compensación. También llamado bus slack, el ángulo de voltaje en este bus,
sirve como referencia para los ángulos de todos los demás voltajes en los buses. Aquí
se especifican la magnitud y el ángulo de voltaje:|𝑉𝑖 | y 𝛿𝑖 . En este bus 𝑃𝑖 y 𝑄𝑖 no son
especificadas, ya que no se cuenta con las pérdidas por I2R e I2X que deben ser
sumadas a las potencias totales 𝑃𝑖 y 𝑄𝑖 , y estas pérdidas no se pueden calcular debido
a que la corriente es calculada hasta que se obtengan la magnitud y el ángulo de
voltaje.
Bus de carga. En este bus se tiene registro de los valores 𝑃𝑖 y 𝑄𝑖 que son tomados del
sistema por la carga, y las dos cantidades desconocidas son |𝑉𝑖 | y 𝛿𝑖 .
Bus de voltaje controlado. Cualquier bus del sistema que mantiene su magnitud de
voltaje controlado es llamado de voltaje controlado. En los buses que tienen un
generador conectado se pueden controlar la generación de megawatts por medio del
ajuste de la fuente de energía mecánica y la magnitud del voltaje puede ser controlada
por medio de la excitación del generador. Por lo tanto en este bus se especifican los
valores de 𝑃𝑖 y |𝑉𝑖 |. El valor del ángulo de voltaje 𝛿𝑖 no es conocido, y la potencia
reactiva del generador 𝑄𝑖 para mantener el voltaje controlado |𝑉𝑖 | no se puede conocer
hasta que el problema de flujos de potencia sea resuelto.
Dentro del análisis de sistemas eléctricos, la tarea inicial es disponer de todos los
datos para realizar estudios que permitan determinar sus condiciones de operación.
1. Los elementos de la diagonal 𝒀𝒊𝒊 son iguales a la suma de las admitancias (incluidas
las admitancias en derivación) que están directamente conectadas al nodo 𝑖.
2. Los elementos fuera de la diagonal 𝒀𝒊𝒋 son iguales al negativo de la admitancia total
conectada entre los nodos 𝑖 y 𝑗.
Las líneas de transmisión se representan por su equivalente π. Los valores numéricos para la
impedancia serie 𝒁 y la admitancia total de la carga de la línea 𝒀 son necesarios para cada
línea de manera que la computadora pueda determinar todos los elementos de la matriz de
admitancias de 𝑁 x 𝑁 buses, de la que un típico elemento 𝒀𝒊𝒋 tiene la forma:
(2. 1)
Yij = |Yij|∠θ = |Yij| cos θ + j|Yij | sin θ = Gij + jBij
13
Estudio de flujos de carga
Este método obtiene los valores de las variables de estado mediante la siguiente
secuencia:
1. Se declaran dos vectores de fasores iniciales, uno que contenga la magnitud y otro
que contenga el ángulo (flat start=1∡0°). Los buses de voltaje controlado se
indicaran con el valor de voltaje dado por el sistema.
1 0
|𝑉𝑖 |= 1 ; ∡𝑉𝑖 °= 0]
[ ] [
1 0
Q i,sch =Q gi -Q di (2. 3)
14
Estudio de flujos de carga
N
2
Q i,calc = − |Vi | Bii − ∑ |Vi Vn Yin |sin(θin + δn − δi )
n=1 (2. 5)
n≠i
Donde:
Vi = voltaje en el extremo de envío
Vn = voltaje en el extremo receptor
Gii = parte real de el elemento ii de la matriz YBus
θin = ángulo del elemento in de la matriz YBus
δn = ángulo de voltaje en el extremo receptor
δi = ángulo de voltaje en el extremo de envío
∂Pi
= −|Vi Vj Yi𝑗 |sin(θi𝑗 + δj − δi )
∂δj (2. 9)
15
Estudio de flujos de carga
∂Pi
= −𝑄𝑖,𝑐𝑎𝑙𝑐 − |𝑉𝑖 |2 𝐵𝑖𝑖 (2. 10)
∂δi
∂𝑄i
= −|Vi VjYi𝑗 |cos(θi𝑗 + δj − δi ) (2. 11)
∂δj
∂𝑄i
= 𝑃𝑖,𝑐𝑎𝑙𝑐 − |𝑉𝑖 |2 𝐺𝑖𝑖 (2. 12)
∂δi
∂Pi ∂𝑄i
|Vj | =− (2. 13)
∂|Vj | ∂δj
∂Pi ∂𝑄i
|Vi | = + 2|𝑉𝑖 |2 𝐺𝑖𝑖 (2. 14)
∂|Vi | ∂δi
∂𝑄i ∂𝑃i
|Vj | = (2. 15)
∂|Vj | ∂δj
∂𝑄i ∂𝑃i
|Vi | =− − 2|𝑉𝑖 |2 𝐵𝑖𝑖
∂|Vi | ∂δi (2.16)
7. Se actualizan las variables de estado, y se obtiene el nuevo fasor de voltaje que será
usado en la nueva iteración.
Vk+1 =Vk + ∆V (2.18)
16
Estudio de flujos de carga
8. Se verifica si ∆Pi &∆𝑄i son menores que una tolerancia establecida. Si se cumple se
habrán obtenido los fasores de voltaje, si no se cumple se regresa al punto 3 hasta
que se logre caer dentro de la tolerancia.
No se pueden incluir los errores para el bus slack porque ∆P1 y ∆𝑄1 están indefinidos
cuando P1 y Q1 no se programan.
Sabiendo que los megavars de carga varían en relación con el cuadrado del voltaje,
en este caso se toma la mitad de los Mvar totales de carga, por lo que los Mvar que son
aportados por el efecto capacitivo en cada bus son:
MvarTotales (2.20)
Carga en Mvar= *VBus 2
2
Donde:
δ= 90° (máximo ángulo de transferencia de potencia).
17
Estudio de flujos de carga
Este margen es seleccionado de manera que se pueda garantizar una operación estable
de la línea ante la presencia de diferentes disturbios, tales como: maniobras de apertura y
cierre en líneas adyacentes, cambios importantes en la carga, cambios de generación,
pérdidas de generación, fallas en elementos del sistema que produzcan cambios de topología,
etc.
18
Estudio de flujos de carga
19
Capítulo 3
Sistemas de Transmisión
Flexibles de C.A. (FACTS)
En este capítulo se analiza la importancia de los Sistemas de Transmisión Flexibles
de corriente alterna (FACTS). Se mencionan algunos de los dispositivos más importantes y
se muestra el análisis y modelado del Capacitor Serie Controlado por Tiristores.
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Los FACTS son sistemas de transmisión de corriente alterna que tienen incorporados
controladores basados en electrónica de potencia y otros controladores estáticos para mejorar
su operación
21
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Los FACTS actúan sobre las limitantes del sistema, las cuales pueden ser de estado
transitorio o de estado estacionario. Aquí se muestran algunas:
22
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Varios tipos de controladores FATCS se han aplicado en diversas partes del mundo.
Los más populares son: cambiadores de tap bajo carga, reguladores de ángulo de fase,
compensadores estáticos de VAR (CEV´s), compensadores serie controlados por tiristores,
compensadores estáticos, controladores interfasicos de potencia (IPC), y controladores
unificados de flujo de potencia (UPFC).
Cambiador de TAP bajo carga (Load TAP changer (LTC)): este puede ser
considerado un controlador FACTS si el cambio de TAP es controlado por tiristores
conmutadores.
23
Sistemas de Transmisión Flexibles de C.A. (FACTS)
24
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Por medio de este dispositivo se puede regular la tensión en un bus y controlar el flujo
de potencia activa y reactiva entre buses, estas acciones se pueden implementar
simultáneamente. El esquema de construcción básico del UPFC consta de dos inversores de
potencia en conexión espalda con espalda. Los inversores están acoplados a través de un
enlace de corriente continua por medio de un capacitor y unidos a la línea de transmisión
mediante transformadores de acoplamiento, uno en paralelo y otro en serie con la línea de
transmisión, como se muestra en la figura 3.1.
25
Sistemas de Transmisión Flexibles de C.A. (FACTS)
La respuesta de estado estable del TCSC puede ser calculada mediante la solución de
ecuaciones diferenciales que describen su comportamiento eléctrico, usando un método de
integración numérico adecuado.
Otra opción es que las ecuaciones diferenciales del TCSC sean expresadas en forma
algebraica y luego en forma fasorial resolverlas.
26
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Un módulo básico del TCSC consiste de un TCR en paralelo con un capacitor fijo.
Un TCSC actual está compuesto de uno o más módulos.
Cabe señalar que existe un escaso incentivo para operar el TCSC en modo inductivo
ya que esto aumentaría la longitud eléctrica de la línea de transmisión compensada, con
consecuencias adversas en los márgenes de estabilidad y las pérdidas adicionales.
Para los estudios de flujos de potencia, la topología del TCSC mostrada en la figura
3.3, puede ser considerado como el equivalente de un TCR en paralelo con un capacitor
equivalente.
27
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Las ecuaciones de corriente del TCSC, que nos dan el comportamiento del
dispositivo, pueden ser obtenidas con referencia del circuito mostrado en la figura 3.4, usando
la transformada de Laplace.
La corriente que circula por el TCR está dada en intervalos de tiempo definidos por
el disparo de los tiristores y se obtiene a partir de la siguiente fórmula:
√2𝑉
(cos ∝ − cos 𝑤𝑡) ∝≤ 𝑤𝑡 ≤∝ +𝜎
𝑖 = 𝑋𝐿
(3. 2)
{ 0 ∝ +𝜎 ≤ 𝑤𝑡 ≤∝ +𝜋
donde:
28
Sistemas de Transmisión Flexibles de C.A. (FACTS)
V(t)
4
Ithy(t)
0
α
-1
-2 σ
-3
α=90°
σ=180°
-4
θ=90°
-5
0 0.005 0.01 0.015 0.02 0.025 0.03
wt
Figura 3.5. Corriente del TCR a un ángulo de disparo de 90°.
5
V(t)
4 Ithy(t)
0
α
σ
-1
-2
-3
α=100°
σ=160°
-4
θ=80°
-5
0 0.005 0.01 0.015 0.02 0.025 0.03
° wt
Figura 3.6. Corriente del TCR a un ángulo de disparo de 100°.
29
Sistemas de Transmisión Flexibles de C.A. (FACTS)
5
V(t)
4 Ithy(t)
α
0
σ
-1
-2
-3
α=135°
-4 σ=90°
θ=45°
-5
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035
wt
°
Figura 3.7. Corriente del TCR a un ángulo de disparo de 135°.
V(t)
4
Ithy(t)
1
α
0
-1
σ
-2
-3
α=150°
σ=60°
-4
θ=30°
-5
0 0.005 0.01 0.015 0.02 0.025 0.03
° wt
Figura 3.8. Corriente del TCR a un ángulo de disparo de 150°.
30
Sistemas de Transmisión Flexibles de C.A. (FACTS)
𝜃
𝑡′ = 𝑡 +
𝑤 (3. 3)
𝜃
𝑡 = 𝑡′ −
𝑤 (3. 4)
𝑖𝑙í𝑛𝑒𝑎 (𝑡) = 𝐼𝑚á𝑥 cos(𝑤𝑡 ′ − 𝜃 ) = 𝐼𝑚á𝑥 cos(𝑤𝑡′) cos(𝜃) + 𝐼𝑚á𝑥 sin(𝑤𝑡′) sin(𝜃) (3. 5)
Donde θ es igual a π-α (el medio semiciclo de conducción del TCR) o α /2.
31
Sistemas de Transmisión Flexibles de C.A. (FACTS)
+
Donde 𝑉𝑐𝑎𝑝 es el voltaje en el capacitor cuando los tiristores entran en conducción.
𝑠 𝑤
𝐼𝑙í𝑛𝑒𝑎 (𝑠) = 𝐼𝑚á𝑥 cos(𝜃) + 𝐼𝑚á𝑥 sin(𝜃) (3. 9)
𝑠2 + 𝑤2 𝑠2 + 𝑤2
+
1 1 𝑉𝑐𝑎𝑝
𝑠𝐿 𝐼𝑡ℎ𝑦 = 𝐼𝑐𝑎𝑝 +
𝐶 𝑠 𝑠 (3. 10)
Sustituyendo las ecuaciones (3.9) y (3.11) para obtener la corriente en los tiristores, tenemos:
𝑠 𝑤
𝐼𝑡ℎ𝑦 = (𝐼𝑚á𝑥 cos(𝜃 ) 2 2
+ 𝐼𝑚á𝑥 sin( 𝜃 ) 2 2
) − (𝑠 2 𝐿𝐶 𝐼𝑡ℎ𝑦 − 𝐶 𝑉𝑐𝑎𝑝
+
)
𝑠 +𝑤 𝑠 +𝑤 (3. 12)
𝑠 𝑤
𝐼𝑡ℎ𝑦 (1 + 𝑠 2 𝐿𝐶 ) = 𝐼𝑚á𝑥 cos(𝜃 ) + 𝐼𝑚á𝑥 sin(𝜃 ) 2 +
+ 𝐶 𝑉𝑐𝑎𝑝
𝑠2 +𝑤 2 𝑠 + 𝑤2 (3. 13)
𝑠
𝐼𝑡ℎ𝑦 = 𝐼𝑚á𝑥 cos(𝜃 )
𝑠2
+ 𝑠 4 𝐿𝐶
+ 𝑤 2 + 𝑤 2 𝑠 2 𝐿𝐶
+
𝑤 𝐶 𝑉𝑐𝑎𝑝 (3. 14)
+ 𝐼𝑚á𝑥 sin(𝜃 ) 2 +
𝑠 + 𝑠 4 𝐿𝐶 + 𝑤 2 + 𝑤 2 𝑠 2 𝐿𝐶 1 + 𝑠 2 𝐿𝐶
Para poder adecuar esta expresión de manera que se le pueda aplicar transformada
inversa de Laplace, se define:
1
𝑤02 = (3. 15)
𝐿𝐶
32
Sistemas de Transmisión Flexibles de C.A. (FACTS)
𝑠
𝐼𝑡ℎ𝑦 = (𝐼𝑚á𝑥 cos(𝜃 )
𝑠 2 + 𝑠 4 𝐿𝐶 + 𝑤 2 + 𝑤 2 𝑠 2 𝐿𝐶
+
𝑤 𝐶 𝑉𝑐𝑎𝑝 𝑤02 (3. 16)
+ 𝐼𝑚á𝑥 sin(𝜃 ) 2 + ) ∗ ( )
𝑠 + 𝑠 4 𝐿𝐶 + 𝑤 2 + 𝑤 2 𝑠 2 𝐿𝐶 1 + 𝑠 2 𝐿𝐶 𝑤02
𝑠
𝐼𝑡ℎ𝑦 (𝑠) = 𝐼𝑚á𝑥 𝑤02 cos(𝜃 )
(𝑠 2 + 𝑤02 )(𝑠 2
+ 𝑤 2)
2
𝑤 𝑤02 𝐶 𝑉𝑐𝑎𝑝
+
(3. 17)
+ 𝐼𝑚á𝑥 𝑤0 sin(𝜃 ) 2 + 2
(𝑠 + 𝑤02 )(𝑠 2 + 𝑤 2 ) 𝑤0 + 𝑠 2
−1 {
𝑠 cos(𝑤𝑡 ′ ) cos(𝑤0 𝑡 ′ )
ℒ }= −
(𝑠 2 + 𝑤02 )(𝑠 2 + 𝑤 2 ) (𝑤0 + 𝑤)(𝑤0 − 𝑤) (𝑤0 + 𝑤)(𝑤0 − 𝑤)
−1 {
1 sin(𝑤𝑡 ′ ) sin(𝑤0 𝑡 ′)
ℒ }= −
(𝑠 2 + 𝑤02 )(𝑠 2 + 𝑤 2 ) 𝑤(𝑤0 + 𝑤)(𝑤0 − 𝑤) 𝑤0 (𝑤0 + 𝑤)(𝑤0 − 𝑤)
𝑤0
ℒ −1 { 2 } = sin(𝑤0 𝑡 ′ )
𝑠 + 𝑤02
𝑤02 ′
𝑤02
𝑖𝑡ℎ𝑦 (𝑡) = 𝐼𝑚á𝑥 2 cos(𝜃 ) cos(𝑤𝑡 ) − 𝐼𝑚á𝑥 2 cos(𝜃 ) cos(𝑤0 𝑡 ′ )
𝑤0 − 𝑤 2 𝑤0 − 𝑤 2
𝑤02
+ 𝐼𝑚á𝑥 2 sin(𝜃 ) sin(𝑤𝑡 ′ ) (3. 18)
𝑤0 − 𝑤 2
𝑤0 𝑤
− 𝐼𝑚á𝑥 2 sin(𝜃 ) sin(𝑤0 𝑡 ′) + 𝑤0 𝐶 𝑉𝑐𝑎𝑝
+
sin(𝑤0 𝑡 ′)
𝑤0 − 𝑤 2
donde:
𝑤02
𝐴=
𝑤02 − 𝑤 2
33
Sistemas de Transmisión Flexibles de C.A. (FACTS)
𝑤0 𝑤
𝐵=
𝑤02 − 𝑤 2
𝐷 = 𝑤0 𝐶
donde
𝑤0
𝜛=
𝑤
+ ( ′)
𝑑
𝑉𝑐𝑎𝑝 𝑡 =𝐿 𝑖 (𝑡 ) (3. 21)
𝑑𝑡 𝑡ℎ𝑦
+ ( ′)
𝑉𝑐𝑎𝑝 𝑡 = −𝐿 𝐴 𝐼𝑚á𝑥 𝑤 sin(𝑤𝑡 ′ − 𝜃 ) + 𝐿 𝐴 𝐼𝑚á𝑥 𝑤0 cos(𝜃 ) sin(𝑤0 𝑡 ′)
− 𝐿 𝐵𝐼𝑚á𝑥 𝑤0 sin(𝜃 ) cos(𝑤0 𝑡 ′) + 𝐿 𝐷𝑉𝑐𝑎𝑝
+
𝑤0 cos(𝑤0 𝑡 ′) (3. 22)
Con la ecuación (3.22) podemos obtener el voltaje del capacitor en estado estable, el
cual es alcanzado cuando los pulsos de corriente son iguales. Esta condición ocurre cuando
el voltaje del capacitor Vcap toma un valor cero. Analizando la figura 3.9 vemos que esto
ocurre cuando la variable auxiliar de tiempo t´ es igual a θ, o lo que es lo mismo evaluado en
el tiempo θ/w. Con lo anterior tendremos:
34
Sistemas de Transmisión Flexibles de C.A. (FACTS)
+
De la ecuación despejamos 𝑉𝑐𝑎𝑝 el cuál es el voltaje en estado estacionario.
+
𝐴 𝐵
𝑉𝑐𝑎𝑝 =− 𝐼𝑚á𝑥 cos(𝜃 ) tan(𝜛𝜃 ) + 𝐼𝑚á𝑥 sin(𝜃 ) (3. 24)
𝐷 𝐷
cos(𝜃 )
𝑖𝑡ℎ𝑦 (𝑡 ′) = 𝐴𝐼𝑚á𝑥 cos(𝑤𝑡) − 𝐴𝐼𝑚á𝑥 cos(𝜛𝑤𝑡) (3. 26)
cos(𝜛𝜃)
Con referencia a la figura 3.9 se observa que la ecuación (3.26) es simétrica y válida
en el intervalo –θ < ωt < θ y en el intervalo (2π–θ) < ωt < (2π+θ). Una ecuación similar a la
ecuación (3.26), válida para el intervalo (π–θ) < ωt < (π+θ) se puede obtener asumiendo que
el segundo disparo en la figura 3.9 ocurre π radianes después del primer disparo, produciendo
un flujo de corriente a través de los tiristores con polaridad opuesta a la corriente dada por la
ecuación 3.26:
cos(𝜃 )
𝑖𝑡ℎ𝑦 (𝑡 ′) = 𝐴𝐼𝑚á𝑥 cos(𝑤𝑡) + 𝐴𝐼𝑚á𝑥 cos(𝜛(𝑤𝑡 − 𝜋)) (3. 27)
cos(𝜛𝜃)
En el intervalo (θ) < ωt < (π-θ) no hay conducción, por lo que la corriente es:
𝑜𝑛
𝑑
𝑣𝑐𝑎𝑝 =𝐿 𝑖 (𝑡′) (3. 29)
𝑑𝑡 𝑡ℎ𝑦
35
Sistemas de Transmisión Flexibles de C.A. (FACTS)
𝑜𝑛
cos(𝜃 )
𝑣𝑐𝑎𝑝 = −𝐴𝐼𝑚á𝑥 𝑋𝐿 sin(𝑤𝑡) + 𝐴𝐼𝑚á𝑥 𝜛 𝑋𝐿 sin(𝜛𝑤𝑡) (3. 30)
cos(𝜛𝜃)
𝑜𝑛
cos(𝜃 )
𝑣𝑐𝑎𝑝 = −𝐴𝐼𝑚á𝑥 𝑋𝐿 sin(𝑤𝑡) − 𝐴𝐼𝑚á𝑥 𝜛 𝑋𝐿 sin(𝜛(𝑤𝑡 − 𝜋)) (3. 31)
cos(𝜛𝜃)
𝑜𝑓𝑓 1 𝑡 𝑜𝑛−𝑜𝑓𝑓
𝑣𝑐𝑎𝑝 = ∫ 𝐼𝑚á𝑥 cos(𝑤𝑡) 𝑑𝑡 + 𝑣𝑐𝑎𝑝 (3. 32)
𝐶 𝜃
𝑤
on−off
vcap es el voltaje del capacitor justo en el momento cuando los tiristores dejan de
conducir (por ejemplo en θ/ω). Este valor puede ser obtenido de la ecuación (3.30)
sustituyendo t= θ/ω:
𝑜𝑛−𝑜𝑓𝑓 cos(𝜃 )
𝑣𝑐𝑎𝑝 = −𝐴𝐼𝑚á𝑥 𝑋𝐿 sin(𝜃 ) + 𝐴𝐼𝑚á𝑥 𝜛 𝑋𝐿 sin(𝜛𝜃 )
cos(𝜛𝜃 ) (3. 33)
= −𝐴𝐼𝑚á𝑥 𝑋𝐿 sin(𝜃 ) + 𝐴𝐼𝑚á𝑥 𝜛 𝑋𝐿 cos(𝜃 ) tan(𝜛𝜃 )
𝑜𝑓𝑓
Sustituyendo la ecuación (3.33) en la ecuación (3.32) obtenemos la solución de 𝑣𝑐𝑎𝑝
en los intervalos –θ < ωt < θ y (π–θ) < ωt < (π+θ):
𝑜𝑓𝑓 𝐼𝑚á𝑥
𝑣𝑐𝑎𝑝 = [sin(𝑤𝑡) − sin(𝜃 )] − 𝐴𝐼𝑚á𝑥 𝑋𝐿 [sin(𝜃 ) + 𝜛 cos(𝜃 ) tan(𝜛𝜃 )] (3. 34)
𝑋𝐶
𝑜𝑓𝑓 𝐼𝑚á𝑥
𝑣𝑐𝑎𝑝 = [sin(𝑤𝑡) + sin(𝜃 )] + 𝐴𝐼𝑚á𝑥 𝑋𝐿 [sin(𝜃 ) + 𝜛 cos(𝜃 ) tan(𝜛𝜃 )] (3. 35)
𝑋𝐶
Las señales de corriente en el TCR dada por las ecuaciones (3.26), (3.27) y (3.28) así
como de voltaje en el mismo dado por las ecuaciones (3.30) y (3.31) en los intervalos
indicados se muestran en la figura 3.10.
36
Sistemas de Transmisión Flexibles de C.A. (FACTS)
Mientras que para la señal de voltaje se tienen las ecuaciones (3.30) y (3.31) durante
el periodo de conducción, y las ecuaciones 3.34 y 3.35 para cuando se tiene en serie al
capacitor con la fuente.
Voltaje TCR
20 Corriente TCR
15
10
Magnitud de voltaje y corriente en p.u.
-5
-10
-15
-20
37
Sistemas de Transmisión Flexibles de C.A. (FACTS)
30 Voltaje C
Ic
20
Magnitud de voltaje y corriente en p.u.
10
-10
-20
-30
0 100 200 300 400 500 600
wt (grados)
Figura 3.11. Corriente y Voltaje en el Capacitor.
2𝐼𝑚á𝑥 𝜃 cos(𝜃)
𝐼𝑡ℎ𝑦(1) = ∫ 𝐴 cos(𝑤𝑡) − 𝐴 cos(𝜛𝑤𝑡) cos(𝑤𝑡) 𝑑𝑤𝑡
1 cos(𝑤𝜃)
4𝑇
0
(3. 37)
2𝜃 + sin(2𝜃) 4𝐴 cos 2 (𝜃) 𝜛 tan(𝜛𝜃 ) − tan(𝜃)
= 𝐼𝑚á𝑥 〈𝐴 − 〉
𝜋 𝜛2 − 1 𝜋
De la figura 3.4 se observa que la impedancia del TCSC se puede expresar como:
𝑉𝑇𝐶𝑆𝐶
𝑍𝑇𝐶𝑆𝐶 = 𝑅𝑇𝐶𝑆𝐶 − 𝑗𝑋𝑇𝐶𝑆𝐶 = (3. 38)
𝐼𝑙í𝑛𝑒𝑎
38
Sistemas de Transmisión Flexibles de C.A. (FACTS)
𝑋𝐶2
𝑋𝑇𝐶𝑆𝐶(1) = −𝑋𝐶 + {2(𝜋 − 𝛼 ) + sin[2(𝜋 − 𝛼 )]}
(𝑋𝐶 − 𝑋𝐿 )𝜋
(3. 41)
4𝑋𝐶2 𝑋𝐿
− cos 2 (𝜋 − 𝛼) {𝜛 tan[𝜛(𝜋 − 𝛼)] − tan(𝜋 − 𝛼)}
(𝑋𝐶 − 𝑋𝐿 )2 ∙ 𝜋
200
0
Reactancia equivalente XTCSC (ohms)
-200
-400
-600
-800
-1000
90 100 110 120 130 140 150 160 170 180
Ángulo de Disparo (grados)
39
Sistemas de Transmisión Flexibles de C.A. (FACTS)
(2𝑛 − 1)𝑤(√𝐿𝐶)
∝ 𝑇𝐶𝑆𝐶 = 𝜋 1 − , 𝑑𝑜𝑛𝑑𝑒 𝑛 = 1,2,3, … (3. 42)
2
60
40
Reactancia equivalente XTCSC (ohms)
20
Región Inductiva Zona de Resonancia
-20
Región Capacitiva
-40
-60
Podremos decir que la correcta operación de este dispositivo ocurre disparando los tiristores
de 143° a 180°.
40
Capítulo 4
Funcionamiento del
programa en MATLAB.
En este capítulo se muestra cómo funciona el programa en el entorno de MATLAB,
explicando cada paso realizado durante la simulación. Primero se realiza un estudio de flujos
de carga con los datos del sistema y en base a los resultados se determina si es conveniente
la instalación del TCSC y entre que buses se colocará.
Funcionamiento del programa en MATLAB
Dado que MATLAB es tan fácil de usar, muchas tareas de programación se llevan a
cabo con él. Sin embargo, MATLAB no siempre es la mejor herramienta para usar en una
tarea de programación. El programa destaca en cálculos numéricos, especialmente en los
relacionados con matrices y gráficas, pero usted no querrá escribir un programa de
procesamiento de palabras en MATLAB. C++ y FORTRAN son programas de propósito
general y serían los programas de elección para aplicaciones grandes como los sistemas
operativos o el software de diseño. (De hecho, MATLAB, que es un programa grande de
aplicación, se escribió originalmente en FORTRAN y después se rescribió en C, precursor
de C++).
Por lo general, los programas de alto nivel no ofrecen acceso fácil a la graficación,
que es una aplicación en la que destaca MATLAB. El área principal de interferencia entre
MATLAB y los programas de alto nivel es el “procesamiento de números”: programas que
requieren cálculos repetitivos o el procesamiento de grandes cantidades de datos. Tanto
MATLAB como los programas de alto nivel son buenos en el procesamiento de números.
42
Funcionamiento del programa en MATLAB
Al inicio del programa se pregunta si se quiere trabajar con una base de datos
previamente cargada, o ir insertando los datos conforme avanza el programa, esto se hizo
para acelerar el proceso de simulación en el caso que se quiera hacer alguna modificación al
sistema y analizar los resultados. En este caso las redes de estudio son las mostradas en el
capítulo 5.
T=Número de buses;
A={La matriz con la estructura indicada en la figura 4.1 };
Equipos_shunt=0).Cuando no se tienen elementos en derivación en el
sistema.
1). Cuando si se tienen elementos en derivación en el sistema.
En caso de tener un elemento en derivación:
Vector_shunt=zeros(T,1); se crea un vector del tamaño de buses del sistema,
y se específica el valor de la suceptancia de cada elemento en paralelo.
V(1:T,1)=1; Se declara el vector de voltajes de inicio plano para el estudio.
SI se tienen buses de voltaje controlado:
Vcontrolado=1;
Num_controlado=Número de buses de voltaje controlado;
Vector_controlado=[La numeración de forma ascendiente de los buses de
voltaje controlado].
P_generación=zeros[T,1]; Se crea un vector que indica la potencia activa que
está siendo aportada a los buses de voltaje controlado, y se especifica cada
aportación de las máquinas.
Si No se tienen buses de voltaje controlado:
Vcontrolado=2;
P_generación=zeros[T,1];
Se ingresan los valores de carga en los buses:
P_carga=[Se ingresa la potencia de carga en MW de cada bus acomodado de
acuerdo a la numeración dada para el estudio]
Q_carga=[Se ingresa la potencia de carga en MVAR de cada bus acomodado
de acuerdo a la numeración dada para el estudio]
43
Funcionamiento del programa en MATLAB
Para realizar el estudio se requiere tener los datos que se piden de la manera en que
se indica, para el correcto funcionamiento, para esto se deberá ya tener la numeración
asignada para cada bus. Al momento de ejecutar el programa en Matlab se pide ingresar una
matriz con los datos, en la forma:
Se observa que la matriz es requerida con llaves ({ }), ya que esta nos permite ingresar
los nombres de cada bus en forma de cadena (string), los cuáles indican la nomenclatura de
la subestación seguido del nivel de tensión, esta es la forma en que son reconocidas las
subestaciones del Sistema Eléctrico Nacional dentro de la Comisión Federal de Electricidad.
44
Funcionamiento del programa en MATLAB
Para los nombres de dos palabras se utilizarán las dos primeras letras de la primera
palabra, y la primera letra de la segunda palabra, o la primera letra de la primera
palabra y las dos primeras de la segunda; ejemplo:
Se tomarán otras letras para evitar repeticiones en el caso de agotarse las posibilidades
anteriores, ejemplo:
Manzanillo MNZ
45
Funcionamiento del programa en MATLAB
𝐃𝐄 𝐍° 𝐀 𝐍° 𝐑 𝐞𝐧 𝐩. 𝐮. 𝐗 𝐞𝐧 𝐩. 𝐮. 𝐘𝐬 𝐞𝐧 𝐩. 𝐮.
′GUE − 400′ 1 ′GUE − 115′ 2 0 0.0746 0
′GUE − 400′ 1 ′GUE − 115′ 2 0 0.0450 0
′GUE − 115′ 2 ′TNA − 115′ 3 0.0221 0.0474 0.0052
′GUE − 115′ 2 ′JIM − 115′ 5 0.0805 0.2845 0.0358
′GUE − 115′ 2 ′OVO − 115′ 7 0.0138 0.0487 0.0061
′GUE − 115′ 2 ′OVO − 115′ 7 0.0108 0.0584 0.0078
′GUE − 115′ 2 ′VRA − 115′ 14 0.0234 0.1268 0.0168
′GUE − 115′ 2 LBT − 115′ 17 0.0362 0.0776 0.0085
′TNA − 115′ 3 ′BET − 115′ 4 0.0284 0.0609 0.0066
′JIM − 115′ 5 ′FDO − 115′ 6 0.0865 0.3058 0.0385 (4. 2)
A=
′OVO − 115′ 7 ′BIC − 115′ 8 0.0012 0.0063 0.0008
′NST − 115′ 9 ′BIC − 115′ 8 0.0030 0.0161 0.0021
′NST − 115′ 9 ′RBD − 115′ 10 0.0213 0.0456 0.0050
′NST − 115′ 9 ′VRA − 115′ 14 0.0101 0.0547 0.0073
′NST − 115′ 9 ′NHS − 115′ 15 0.0008 0.0027 0.0003
′RBU − 115′ 11 ′RBD − 115′ 10 0.0240 0.0514 0.0056
′RBU − 115′ 11 ′VDC − 115′ 12 0.0181 0.0388 0.0042
′VDC − 115′ 12 ′ODT − 115′ 16 0.0179 0.0631 0.008
′SOT − 115′ 13 ′VDC − 115′ 12 0.0709 0.2506 0.0316
′LBT − 115′ 17 ′VRA − 115′ 14 0.0019 0.0106 0.0014
{ ′LBT − 115′ 17 ′KWM − 115′ 18 0.0019 0.0068 0.0009 }
Esta parte es muy importante ya que nos permite obtener la matriz de admitancias Ybus.
Inicio
Figura 4.2. Diagrama de flujo del programa que ordena los datos de entrada.
46
Funcionamiento del programa en MATLAB
𝐍° 𝐍° 𝐑 𝐞𝐧 𝐩. 𝐮. 𝐗 𝐞𝐧 𝐩. 𝐮. 𝐘𝐬 𝐞𝐧 𝐩. 𝐮. 𝐃𝐄 𝐀
1 2 0 0.0746 0 ′GUE − 400′ ′GUE − 115′
1 2 0 0.0450 0 ′GUE − 400′ ′GUE − 115′
2 3 0.0221 0.0474 0.0052 ′GUE − 115′ ′TNA − 115′
2 5 0.0805 0.2845 0.0358 ′GUE − 115′ ′JIM − 115′
2 7 0.0138 0.0487 0.0061 ′GUE − 115′ ′OVO − 115′
2 7 0.0108 0.0584 0.0078 ′GUE − 115′ ′OVO − 115′
2 14 0.0234 0.1268 0.0168 ′GUE − 115′ ′VRA − 115′
2 17 0.0362 0.0776 0.0085 ′GUE − 115′ LBT − 115′
3 4 0.0284 0.0609 0.0066 ′TNA − 115′ ′BET − 115′
5 6 0.0865 0.3058 0.0385 ′JIM − 115′ ′FDO − 115′ (4. 3)
A= A_names =
7 8 0.0012 0.0063 0.0008 ′OVO − 115′ ′BIC − 115′
9 8 0.0030 0.0161 0.0021 ′NST − 115′ ′BIC − 115′
9 10 0.0213 0.0456 0.0050 ′NST − 115′ ′RBD − 115′
9 14 0.0101 0.0547 0.0073 ′NST − 115′ ′VRA − 115′
9 15 0.0008 0.0027 0.0003 ′NST − 115′ ′NHS − 115′
11 10 0.0240 0.0514 0.0056 ′RBU − 115′ ′RBD − 115′
11 12 0.0181 0.0388 0.0042 ′RBU − 115′ ′VDC − 115′
12 16 0.0179 0.0631 0.008 ′VDC − 115′ ′ODT − 115′
13 12 0.0709 0.2506 0.0316 ′SOT − 115′ ′VDC − 115′
17 14 0.0019 0.0106 0.0014 ′LBT − 115′ ′VRA − 115′
[ 17 18 0.0019 0.0068 0.0009 ] { ′LBT − 115′ ′KWM − 115′}
𝐃𝐄 𝐍° 𝐀 𝐍° 𝐑 𝐞𝐧 𝐩. 𝐮. 𝐗 𝐞𝐧 𝐩. 𝐮. 𝐘𝐬 𝐞𝐧 𝐩. 𝐮.
′GUE − 400′ 1 ′GUE − 115′ 2 0 0.0280 0
′GUE − 115′ 2 ′TNA − 115′ 3 0.0221 0.0474 0.0052
′GUE − 115′ 2 ′JIM − 115′ 5 0.0805 0.2845 0.0358
′GUE − 115′ 2 ′OVO − 115′ 7 0.0063 0.0266 0.0139
′GUE − 115′ 2 ′VRA − 115′ 14 0.0234 0.1268 0.0168
′GUE − 115′ 2 LBT − 115′ 17 0.0362 0.0776 0.0085
′TNA − 115′ 3 ′BET − 115′ 4 0.0284 0.0609 0.0066
′JIM − 115′ 5 ′FDO − 115′ 6 0.0865 0.3058 0.0385
′OVO − 115′ 7 ′BIC − 115′ 8 0.0012 0.0063 0.0008 (4. 4)
A=
′NST − 115′ 9 ′BIC − 115′ 8 0.0030 0.0161 0.0021
′NST − 115′ 9 ′RBD − 115′ 10 0.0213 0.0456 0.0050
′NST − 115′ 9 ′VRA − 115′ 14 0.0101 0.0547 0.0073
′NST − 115′ 9 ′NHS − 115′ 15 0.0008 0.0027 0.0003
′RBU − 115′ 11 ′RBD − 115′ 10 0.0240 0.0514 0.0056
′RBU − 115′ 11 ′VDC − 115′ 12 0.0181 0.0388 0.0042
′VDC − 115′ 12 ′ODT − 115′ 16 0.0179 0.0631 0.008
′SOT − 115′ 13 ′VDC − 115′ 12 0.0709 0.2506 0.0316
′LBT − 115′ 17 ′VRA − 115′ 14 0.0019 0.0106 0.0014
{ ′LBT − 115′ 17 ′KWM − 115′ 18 0.0019 0.0068 0.0009 }
47
Funcionamiento del programa en MATLAB
Inicio
k=T
Desde k=1 a T Fin
No
if k<a
Si
temp_1=V1(b); temp_2=V2(b);
temp_3=V1(b+1); temp_4=V2(b+1);
No
b=b+1;
Figura 4.3. Diagrama de flujo del programa que reduce líneas paralelas.
Toda la información que sirve para cálculos posteriores y que va siendo modificada,
va siendo respaldada en variables auxiliares.
48
Funcionamiento del programa en MATLAB
Una vez que los datos de la red fueron acomodados, para posteriormente reducir
equipos en paralelo en el caso que existan, mediante una función creada para obtener la matriz
Ybus, se obtiene la matriz de admitancias del sistema, en este caso se muestra la matriz para
un sistema de 18 nodos, recordando que el programa es capaz de trabajar con un sistema de
n nodos.
Con la matriz Ybus obtenida y los datos requeridos se procede a ingresar al programa
que realiza el estudio de flujos de potencia usando el método de Newton Raphson.
El programa fue creado para resolver cualquier red, por lo que, tomando en cuenta
que se pudieran tener n buses de voltaje controlado, en caso de no tener una base de datos en
un archivo .m con las especificaciones ya indicadas, durante el inicio del programa se
pregunta cuantos buses de voltaje controlado tiene el sistema, cuál fue la numeración
asignada, la cantidad de potencia reactiva que está siendo inyectada y la magnitud de voltaje
indicada en el bus, para guardarlas en distintos vectores, a los que se accederá al momento
de actualizar las variables de estado, esto por el hecho que los buses de voltaje controlado
modifican la matriz jacobiana, eliminando la fila y columna de dicho bus, y deben conservar
la magnitud de voltaje que se indica.
𝑁°2
𝑁°4 (4. 6)
𝑥 = 𝑁°5
⋮
[𝑁° 𝑛 ]
49
Funcionamiento del programa en MATLAB
|𝑉|2
|𝑉|4
(4. 7)
|𝑉| = |𝑉|5
⋮
[|𝑉|𝑛 ]
∆δ [ ∆Pi (4. 8)
[ ] = Jacobiano]-1 ∆Q
∆V i
Para el caso anterior donde se indica que los buses de voltaje controlado son 2, 4 y 5,
supongamos un sistema de 8 nodos, entonces según la fórmula anterior se eliminaran las filas
y columnas 8, 10 y 11.
Algo similar se aplica para la eliminación de las filas del vector que contiene ∆Qi , en este
caso, la eliminación se lleva a cabo según:
(4. 10)
Delete = Numero del bus de voltaje controlado − 1
∆Pi
Ahora con la ∆Qi , ya modificada se forma el nuevo vector ∆Q
i
Así en cada iteración para de esta manera obtener las variables de estado ∆V y ∆δ.
50
Funcionamiento del programa en MATLAB
Con las variables de estado, se procede a obtener la potencia entre buses. Aquí se hace
uso de las variables auxiliares las cuales guardaron los valores de impedancia de cada equipo,
en caso que estos hayan sido modificados resultado de paralelarlo con otro(s).
La forma en que se obtienen las potencias de salida como las entrantes en cada bus,
es la siguiente.
Las variables de estado son obtenidas en forma rectangular, por lo que dentro del
código para el cálculo de flujo entre buses se convierte a polar. Para el cálculo de potencia
entre buses se requiere tanto el flujo de salida como el de entrada, por lo que la matriz con
los datos completos del sistema (indicada en la matriz 4.2) es guardada y se usa para el cálculo
de flujo de potencia del bus en un sentido, y se crea una matriz dispuesta para calcular la
potencia del bus en el otro sentido, como lo muestra la matriz (4.11).
𝐀 𝐍° 𝐃𝐄 𝐍° 𝐑 𝐞𝐧 𝐩. 𝐮. 𝐗 𝐞𝐧 𝐩. 𝐮. 𝐘𝐬 𝐞𝐧 𝐩. 𝐮.
′GUE − 115′ 2 ′GUE − 400′ 1 0 0.0746 0
′GUE − 115′ 2 ′GUE − 400′ 1 0 0.0450 0
′TNA − 115′ 3 ′GUE − 115′ 2 0.0221 0.0474 0.0052
′JIM − 115′ 5 ′GUE − 115′ 2 0.0805 0.2845 0.0358
′OVO − 115′ 7 ′GUE − 115′ 2 0.0138 0.0487 0.0061
′OVO − 115′ 7 ′GUE − 115′ 2 0.0108 0.0584 0.0078
′VRA − 115′ 14 ′GUE − 115′ 2 0.0234 0.1268 0.0168
LBT − 115′ 17 ′GUE − 115′ 2 0.0362 0.0776 0.0085
′BET − 115′ 4 ′TNA − 115′ 3 0.0284 0.0609 0.0066 (4. 11)
6 ′JIM − 115′ 5
A_2 = ′FDO − 115′ 0.0865 0.3058 0.0385
′BIC − 115′ 8 ′OVO − 115′ 7 0.0012 0.0063 0.0008
′BIC − 115′ 8 ′NST − 115′ 9 0.0030 0.0161 0.0021
′RBD − 115′ 10 ′NST − 115′ 9 0.0213 0.0456 0.0050
′VRA − 115′ 14 ′NST − 115′ 9 0.0101 0.0547 0.0073
′NHS − 115′ 15 ′NST − 115′ 9 0.0008 0.0027 0.0003
′RBD − 115′ 10 ′RBU − 115′ 11 0.0240 0.0514 0.0056
′VDC − 115′ 12 ′RBU − 115′ 11 0.0181 0.0388 0.0042
′ODT − 115′ 16 ′VDC − 115′ 12 0.0179 0.0631 0.008
′VDC − 115′ 12 ′SOT − 115′ 13 0.0709 0.2506 0.0316
′VRA − 115′ 14 ′LBT − 115′ 17 0.0019 0.0106 0.0014
{′KWM − 115′ 18 ′LBT − 115′ 17 0.0019 0.0068 0.0009 }
Con las formula (2.19) se calcula la potencia aparente entre cada bus y se separa parte
real e imaginaria para tener potencia activa y reactiva respectivamente, conforme se van
calculando se van guardando en la matriz (4.2) en una nueva columna para disponer de una
fila con la información completa y necesaria. La potencia reactiva se ve modificada por lo
indicado en la formula (2.20).
Dentro de las tareas anteriores, se obtienen también las pérdidas o requerimientos del
sistema efecto de transportar energía eléctrica, aplicando, I2R e I2X.
Lo mismo se aplica para obtener la potencia en sentido opuesto usando la matriz (4.11).
51
Funcionamiento del programa en MATLAB
La potencia máxima y el Margen de estabilidad en estado estable son dos valores que
determinaran el uso del TCSC. Para obtenerlas se hace uso de los resultados ya adquiridos
mediante la corrida de flujos y se aplican las ecuaciones (2.21) y (2.22).
La inserción del TCSC al sistema se puede manejar tomando a este dispositivo como
una reactancia variable que va variando su valor con el fin de ajustar el flujo de potencia
activa entre buses a un valor específico, con esto la reactancia del TCSC se convertiría en
una variable de estado del sistema de potencia cuyo valor puede ser determinado dentro del
algoritmo de Newton Raphson para flujos de carga.
Además de esta nueva variable de estado aparece una variable de control, que es el
flujo que se desea obtener entre dos buses.
Otra forma de considerar al TCSC es como un modelo que depende del ángulo de
disparo de los tiristores del TCR, el cual varía en base al ángulo en que son disparados. Dado
que este modelo se apega más a la operación real del dispositivo, es usado para nuestro
análisis, donde la variable de estado es el ángulo de disparo que determina la reactancia del
TCSC. Este ángulo se calcula y se actualiza en cada iteración.
Con el ingreso de este dispositivo a la red se añade un bus al sistema como se muestra
en la figura 4.4.
52
Funcionamiento del programa en MATLAB
Dentro del programa, una vez que se realiza el estudio de flujos de carga se pregunta
si se quiere insertar el TCSC y si es así entre que buses, la potencia que se requiere y el nivel
de tensión base entre estos buses. Se elige el valor de reactancia de acuerdo al punto de
resonancia que se calculó con la expresión (3.42), que en este caso fue en 142.81°y para
asegurarnos de no operar en una zona cercana al punto de resonancia se elige el valor de la
reactancia en 142.81°+2°=145°. El valor de la reactancia obtenido con la ecuación (3.41) está
en ohms, por lo que se pasa a por unidad aplicando:
53
Funcionamiento del programa en MATLAB
Donde:
(4. 14)
𝛼 𝑖 = 𝛼 𝑖−1 + ∆𝛼 𝑇𝐶𝑆𝐶 𝑖
𝛼,𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑑𝑎
El valor de 𝑃𝑘−𝑝 se obtiene de acuerdo a:
(4. 15)
𝛼,𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑑𝑎
𝑃𝑘−𝑝 = −|𝑉𝑘 ||𝑉𝑝 |𝐵𝑘𝑝(1) sin(𝛿𝑘 − 𝛿𝑝 )
La variable 𝐵𝑘𝑝 es la suceptancia en p.u. del TCSC en un ángulo de 145°, que es el valor
que se toma como partida para iniciar el estudio, y en este caso introduce el signo negativo
a la ecuación.
𝛼,𝑟𝑒𝑞𝑢𝑒𝑟𝑖𝑑𝑎
Y 𝑃𝑘−𝑝 , es el flujo de potencio deseado (variable de control) entre los buses k y p, y
por lo tanto será también el flujo de potencia en la línea de transmisión donde se instala el
TCSC.
Las nuevas derivadas parciales del Jacobiano con el modelo de ractancia respecto al
ángulo de disparo son:
𝜕𝑋𝑇𝐶𝑆𝐶
= −2𝐶1 [1 + cos(2𝛼 )] + 𝐶2 sin(2𝛼 ) {𝜛 tan[𝜛(𝜋 − 𝛼 )] − tan(𝛼 )}
𝜕𝛼 (4. 19)
cos 2 (𝜋 − 𝛼)
+ 𝐶2 {𝜛 2 − 1}
cos 2 [𝜛(𝜋 − 𝛼)]
Con todo lo anterior una vez que se decide ingresar un TCSC a la red se realiza nuevamente
una corrida de flujos pero ahora con las modificaciones indicadas en el Jacobiano de la
ecuación (4.13)
54
Capítulo 5
Análisis de resultados.
En este capítulo se muestran los resultados obtenidos durante las simulaciones, se
analizan varios casos y distintas situaciones con objeto de comparar las respuestas.
Análisis de resultados
Si bien el programa está diseñado para resolver cualquier tipo de red, su estructura
tiene un enfoque dirigido a la red Nacional de Transmisión.
Si bien se quisiera realizar un estudio de flujos de carga para un caso, no sería tan
complicado pero si se necesita invertir tiempo para llevarlo a cabo, y sabiendo que
diariamente se hacen miles de libranzas a nivel nacional, el resultado es miles de horas
dedicadas a este aspecto. En la actualidad se tienen varias herramientas que permiten hacer
estos estudios, pero en su mayoría no son viables económicamente para una microempresa o
para uso personal.
En CFE se apoyan del programa PSS/E (Power System Simulator for Engineering),
este programa cuenta con más herramientas que permiten realizar diversos estudios, en estado
estacionario y dinámico.
Uno de los aspectos más destacados del programa realizado en MATLAB, es que se
considera tanto la numeración como los nombres de las subestaciones en que se encuentran
las conexiones de los equipos, esto permite una mejor visualización de los resultados y
rápidamente identificar el punto de interés del estudio. Como ya se mencionó añadido a la
herramienta de flujos de carga, se cuenta con la posibilidad de insertar el dispositivo FACTS
TCSC, lo cual puede aumentar de manera significativa la cantidad de instrucciones dentro de
las rutinas para obtener los resultados de buena manera y con una interfaz sencilla de utilizar.
Dentro de las simulaciones hechas se tienen: las redes dadas en dos libros de texto, la
red de 14 Nodos de la IEEE y dos redes con datos reales, una es la Zona Victoria y la otra la
Zona Valles. Si bien la Red Nacional de Transmisión se encuentra ampliamente
interconectada, tanto la Zona Victoria como la Zona Valles se dan como modelos reducidos
de la red, esto considerando al bus slack como un Nodo que tiene interconexión con otras
partes del SEN (Sistema Eléctrico Nacional).
Todos los resultados fueron comparados con los libros de texto, con estudios
realizados anteriormente y con la respuesta del programa PSS/E. La inserción del TCSC se
muestra en la red de 14 Nodos de la IEEE.
56
Análisis de resultados
Como se indicó, el programa fue diseñado para funcionar con cualquier red, por lo
que se presentan varios casos en donde dicho estudio. Los resultados son extraídos de una
hoja de Excel donde al final del estudio en Matlab son guardadas las respuestas.
Los valores para esta red son mostrados en las tablas 5.1 y 5.2, mientras de las
respuestas se encuentran en las tablas 5.3, 5.4y 5.5.
57
Análisis de resultados
58
Análisis de resultados
Los valores para esta red son mostrados en las tablas 5.6 y 5.7, mientras de las
respuestas se encuentran en las tablas 5.8, 5.9 y 5.10.
59
Análisis de resultados
60
Análisis de resultados
Los valores para esta red son mostrados en las tablas 5.11 y 5.12, mientras de las
respuestas se encuentran en las tablas 5.13, 5.14 y 5.15.
61
Análisis de resultados
62
Análisis de resultados
63
Análisis de resultados
64
Análisis de resultados
Los valores para esta red son mostrados en las tablas 5.16 y 5.17, mientras de las
respuestas se encuentran en las tablas 5.18, 5.19 y 5.20.
65
Análisis de resultados
66
Análisis de resultados
67
Análisis de resultados
68
Análisis de resultados
La red que se muestra en la figura 5.5 corresponde al diagrama unifilar de Zona Valles
Los valores para esta red son mostrados en las tablas 5.21 y 5.22, mientras de las
respuestas se encuentran en las tablas 5.23, 5.24 y 5.25.
69
Análisis de resultados
70
Análisis de resultados
71
Análisis de resultados
72
Análisis de resultados
d) Estudio aplicado a la red de Zona Victoria, eliminando una de las líneas que van del
nodo 2 (Subestación Güemes) al nodo 7 (Subestación Olivo).
Para realizar el estudio quitando un equipo de conexión entre los buses (línea o
transformador) lo que se hace es poner los valores de impedancia del equipo muy altos, lo
que simula el equipo abierto.
73
Análisis de resultados
74
Análisis de resultados
Comparando los resultados con la línea fuera con los obtenidos con todas las líneas
dentro del sistema, se observa cómo se afecta el perfil de voltaje en ese nodo y en algunos
otros, y que el flujo en la línea paralela a la desconectada absorbió el flujo total que debía
circula entre esos buses.
75
Análisis de resultados
El modelo del TCSC es usado en la red de 14 Nodos para tener una potencia de envío
mayor entre los nodos 13 y 15.
Como se mencionó en el capítulo 4, cuando se inserta el TCSC en la red se añade una nueva
barra al sistema entre los nodos en donde se instala. Digamos que se quiere mantener un flujo en esta
parte de la red de 7.6 MW. El TCSC se dispara a 145° como valor inicial, sabiendo que en este punto
no se está en la zona de resonancia, en este punto la reactancia del capacitor, tiene un valor de -0.836
p.u.Ω. Resolviendo para mantener la potencia de 7.6 MW, se obtienen los siguientes resultados:
Tabla 5.29. Perfiles de voltaje para la red de 14 nodos con el TCSC insertado.
Nombre del bus Número Volts (p.u.) Ángulo(grados) Generación
MW Mvar
UNO 1 1.0600 0 232.396 -23.960
DOS 2 1.0450 -4.945 40.000 26.217
TRES 3 1.0100 -12.591 0 17.448
CUATRO 4 1.0304 -10.402 0 0
CINCO 5 1.0359 -8.986 0 0
SEIS 6 1.0700 -14.198 0 41.753
SIETE 7 1.0558 -13.213 0 0
OCHO 8 1.0900 -13.213 0 21.165
NUEVE 9 1.0494 -14.731 0 0
DIEZ 10 1.0456 -14.921 0 0
ONCE 11 1.0542 -14.686 0 0
DOCE 12 1.0545 -15.103 0 0
TRECE 13 1.0487 -15.219 0 0
CATORCE 14 1.0330 -15.604 0 0
QUINCE 15 1.0533 -14.432 0 0
76
Análisis de resultados
Tabla 5.30. Flujos de potencia para la red de 14 nodos con el TCSC insertado.
Nombre del bus Número Nombre del bus Número Flujo de potencia
MW Mvar
UNO 1 DOS 2 155.76 -20.14
DOS 2 UNO 1 -151.52 27.22
UNO 1 CINCO 5 76.64 -3.82
CINCO 5 UNO 1 -73.81 10.07
DOS 2 TRES 3 72.36 3.65
TRES 3 DOS 2 -70.10 1.29
DOS 2 CUATRO 4 55.77 -8.84
CUATRO 4 DOS 2 -54.09 10.28
DOS 2 CINCO 5 41.69 -8.51
CINCO 5 DOS 2 -40.76 7.60
TRES 3 CUATRO 4 -24.10 -2.84
CUATRO 4 TRES 3 24.49 2.49
CUATRO 4 CINCO 5 -60.51 6.69
CINCO 5 CUATRO 4 60.98 -5.22
CUATRO 4 SIETE 7 26.68 -12.41
SIETE 7 CUATRO 4 -26.68 14.04
CUATRO 4 NUEVE 9 15.63 -3.15
NUEVE 9 CUATRO 4 -15.63 4.41
CINCO 5 SEIS 6 45.99 -14.06
SEIS 6 CINCO 5 -45.99 18.78
SEIS 6 ONCE 11 7.25 5.07
ONCE 11 SEIS 6 -7.19 -4.93
SEIS 6 DOCE 12 8.21 2.59
DOCE 12 SEIS 6 -8.13 -2.42
SEIS 6 TRECE 13 19.33 7.82
TRECE 13 SEIS 6 -19.08 -7.33
SIETE 7 OCHO 8 0.00 -20.50
OCHO 8 SIETE 7 0.00 21.16
SIETE 7 NUEVE 9 26.68 6.46
NUEVE 9 SIETE 7 -26.68 -5.72
NUEVE 9 DIEZ 10 5.34 2.74
DIEZ 10 NUEVE 9 -5.33 -2.71
NUEVE 9 CATORCE 14 7.47 2.90
CATORCE 14 NUEVE 9 -7.40 -2.74
DIEZ 10 ONCE 11 -3.67 -3.09
ONCE 11 DIEZ 10 3.69 3.13
DOCE 12 TRECE 13 2.03 0.82
TRECE 13 DOCE 12 -2.02 -0.81
TRECE 13 QUINCE 15 7.60 2.34
QUINCE 15 TRECE 13 -7.60 -2.46
QUINCE 15 CATORCE 14 7.60 2.46
CATORCE 14 QUINCE 15 -7.50 -2.26
77
Análisis de resultados
Se observa que el flujo requerido es logrado, el TCSC dispara a un ángulo de 155.5° donde
la reactancia es -0.1997 p.u.Ω. En la figura 5.8 se muestra el punto en donde debe disparar el TCSC
para lograr el flujo requerido.
60
40
Reactancia equivalente XTCSC (ohms)
20
-20
-40
-60
Figura 5.8. Ángulo de disparo calculado para la red de 14 nodos con e TCSC insertado.
Ahora el modelo del TCSC es utilizado entre los buses 9 y 14 para incrementar la
potencia de envío.
78
Análisis de resultados
Se inserta un nuevo bus entre la barra 9 y 14, y se requiere mantener un flujo de 4.8MW. De
igual forma que en el caso anterior el primer disparo del TCSC es a 145°.
Tabla 5.31. Perfiles de voltaje para la red de Zona Victoria con el TCSC insertado.
Nombre Volts
del bus Número (p.u.) Ángulo(grados) Generación
MW Mvar
GUE-400 1 1.000 0 129.664 16.266
GUE-115 2 0.996 -2.094 0 0
TNA-115 3 0.993 -2.420 0 0
BET-115 4 0.991 -2.615 0 0
JIM-115 5 0.988 -4.624 0 0
FDO-115 6 0.977 -6.264 0 0
OVO-115 7 0.990 -2.915 0 0
BIC-115 8 0.989 -3.037 0 0
NST-115 9 0.988 -3.304 0 0
RBD-115 10 0.986 -3.560 0 0
RBU-115 11 0.986 -3.817 0 0
VDC-115 12 0.986 -3.966 0 0
SOT-115 13 0.987 -4.478 0 0
VRA-115 14 0.986 -3.387 0 0
NHS-115 15 0.987 -3.314 0 0
ODT-115 16 0.985 -4.035 0 0
LBT-115 17 0.985 -3.371 0 0
KWM-115 18 0.985 -3.394 0 0
NUEVO 19 0.988 -3.253 0 0
79
Análisis de resultados
Tabla 5.32. Flujos de potencia para la red de Zona Victoria con el TCSC insertado.
Nombre del bus Número Nombre del bus Número Flujo de potencia
MW Mvar
GUE-400 1 GUE-115 2 48.80 6.12
GUE-115 2 GUE-400 1 -48.80 -4.32
GUE-400 1 GUE-115 2 80.86 10.14
GUE-115 2 GUE-400 1 -80.86 -7.15
GUE-115 2 TNA-115 3 12.39 0.84
TNA-115 3 GUE-115 2 -12.35 -1.27
GUE-115 2 JIM-115 5 14.95 -2.88
JIM-115 5 GUE-115 2 -14.77 0.00
GUE-115 2 OVO-115 7 30.11 3.56
OVO-115 7 GUE-115 2 -29.98 -3.72
GUE-115 2 OVO-115 7 25.22 5.28
OVO-115 7 GUE-115 2 -25.14 -5.66
GUE-115 2 VRA-115 14 18.38 4.11
VRA-115 14 GUE-115 2 -18.29 -5.30
GUE-115 2 LBT-115 17 28.62 0.56
LBT-115 17 GUE-115 2 -28.32 -0.75
TNA-115 3 BET-115 4 5.65 0.06
BET-115 4 TNA-115 3 -5.64 -0.69
JIM-115 5 FDO-115 6 9.33 -0.83
FDO-115 6 JIM-115 5 -9.25 -2.61
OVO-115 7 BIC-115 8 34.18 6.22
BIC-115 8 OVO-115 7 -34.16 -6.22
NST-115 9 BIC-115 8 -29.38 -5.78
BIC-115 8 NST-115 9 29.40 5.72
NST-115 9 RBD-115 10 8.79 -1.89
RBD-115 10 NST-115 9 -8.77 1.45
NST-115 9 NHS-115 15 6.80 2.47
NHS-115 15 NST-115 9 -6.80 -2.50
NST-115 9 NUEVO 19 4.80 2.98
NUEVO 19 NST-115 9 -4.80 -2.99
RBU-115 11 RBD-115 10 -7.52 1.73
RBD-115 10 RBU-115 11 7.53 -2.25
RBU-115 11 VDC-115 12 5.05 -3.33
VDC-115 12 RBU-115 11 -5.04 2.93
VDC-115 12 ODT-115 16 1.97 0.03
ODT-115 16 VDC-115 12 -1.97 -0.80
SOT-115 13 VDC-115 12 -3.06 -0.08
VDC-115 12 SOT-115 13 3.07 -2.96
LBT-115 17 VRA-115 14 1.62 -5.74
VRA-115 14 LBT-115 17 -1.62 5.61
LBT-115 17 KWM-115 18 6.30 2.00
KWM-115 18 LBT-115 17 -6.30 -2.08
NUEVO 19 VRA-115 14 4.800 2.9901
VRA-115 14 NUEVO 19 -4.797 -3.679
80
Análisis de resultados
Para lograr esta potencia de envío, el programa encuentra que el TCSC debe ser disparado a
un ángulo de 158.23°, donde la reactancia tiene un valor de -0.01823 p.u.Ω.
60
40
Reactancia equivalente XTCSC (ohms)
20
-20
-40
-60
Figura 5.10. Ángulo de disparo calculado para la red de Zona Victoria con e TCSC insertado.
81
Capítulo 6
Conclusiones.
En este capítulo se analizan los resultados obtenidos de las simulaciones, haciendo
también recomendaciones para mejorar el programa.
Conclusiones
6.1. CONCLUSIONES.
Comparando los resultados antes y después de incluir el TCSC en los casos donde
aplique, se mostró que se logra incrementar la potencia al nivel deseado, obteniendo el ángulo
de disparo correspondiente.
Las comparaciones son hechas en la red de 14 nodos entre los buses 13 y 14, y en la
red de Zona Victoria entre los buses 9 y 14.
Es de resaltar que aunque el TCSC puede operar tanto en la región inductiva como en
la capacitiva, en este caso se fijó solo a llevar la tarea de funcionar en la región capacitiva
para incrementar el flujo de potencia entre dos puntos, cuidando no operar en la zona de
resonancia.
83
Conclusiones
Para crear un programa más completo, se pueden añadir distintos dispositivos FACTS
para mejorar la operatividad del sistema, modificando distintas características. Esto
permitiría tener una base para realizar distintos estudios que determinen la operatividad del
sistema según sea requerido.
84
Apéndice A
Códigos del programa en
MATLAB.
En esta sección se anexan los códigos creados para el funcionamiento del programa,
los cuales son llamados conforme son requeridos.
Códigos del programa en MATLAB
temp_V1=A2(:,1)';temp_V2=A2(:,2)';temp_V3=[temp_V1,temp_V2];temp_a2=0;
for i = 1:max(temp_V3);
temp_a=0;
temp_an=0;
temp_V=[];
for l=1:length(temp_V1)
temp_an=temp_an+1;
a1=temp_V1(l);
if a1==i;
temp_a=temp_a+1;
temp_V(temp_a,:)=A2(temp_an,:);
temp_Names(temp_a,:)=A_names1(temp_an,:);
end
end
if length(temp_V)>1
temp_Vc2=temp_V(:,2)';
for p = 1 : length(temp_Vc2)
[Valor_minimo_del_vector,posicion_del_valor_minimo]=min(temp_Vc2);
A3(p+temp_a2,:)=temp_V(posicion_del_valor_minimo,:);
A_names2(p+temp_a2,:)=temp_Names(posicion_del_valor_minimo,:);
temp_Vc2(posicion_del_valor_minimo) = +Inf ;
end
end
temp_a1=size(A3);
temp_a2=temp_a1(1);
end
A=A3;A_names=A_names2;
temp=size(A);temp_1=temp(1); temp_V1=A(:,5);
86
Códigos del programa en MATLAB
for k=1:temp_1
A(k,6)=temp_V1(k)*P_base;
end
end
end
b=[A(:,1) A(:,2)];temp_1=A_names(:,1);
temp_2=A_names(:,2);temp_3=length(temp_1);A_names_buses={};
for k=1:T
a=find(b==k); %Find nos da la posición(indices) de el bus que
buscamos dentro de "b"
temp=a(1);
if temp<=temp_3
A_names_buses(k)=temp_1(temp);
else
temp=temp-temp_3;
A_names_buses(k)=temp_2(temp);
87
Códigos del programa en MATLAB
end
end
A_names_buses=A_names_buses';
function Y_bus=Ybus(A)
temp_1=size(A); % Da el tamaño de la matriz de datos
temp_2=temp_1(1,1); %Guardo el número de filas, que es el numero de
conexiones entre buses
Y_bus=zeros(temp_2); %Creo una matriz del tamaño de número de conexiones
entre buses
Y_derivacion=zeros(temp_2); %Creo una matriz con las suceptacias en
derivacion
temp_3=A(:,1); % Vector que guarda el numero del bus del que sale la
linea
temp_4=A(:,2); % Vector que guarda el numero del bus al que llega la
linea
temp_5=A(:,3); % Vector que guarda el valor de resistencia de la línea
temp_6=A(:,4)*1i; % Vector que guarda el valor de reactancia de la línea
for k=1:temp_2
temp_9=temp_3(k,1); % Número del bus que sale la linea
temp_10=temp_4(k,1); % Número del bus al que llega la linea
temp_11=temp_5(k,1)+temp_6(k,1); % Valor de la impedancia de la
forma Z=R+jX
temp_12=temp_7(k,1); % Valor de la suceptancia en derivacion
88
Códigos del programa en MATLAB
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
fprintf(' PROGRAMA PARA CÁLCULO DE POTENCIA MÁXIMA(Pmáx) Y MARGEN EN
ESTABILIDAD EN ESTADO ESTABLE(MEEE) \n')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
pause(1)
if Inicio==1
fprintf(' Con cual de las siguientes bases de datos desea trabajar:
\n')
fprintf(' 1). Zona Victoria. \n')
fprintf(' 2). Zona Valles. \n')
fprintf(' 3). Datos Grainger. \n')
fprintf(' 4). Datos Glover. \n')
fprintf(' 5). 14 buses IEEE. \n')
temp=input('');
if temp==1
Datos_victoria
elseif temp==2
Datos_valles
elseif temp==3
Datos_Grainger
elseif temp==4
Datos_Glover
elseif temp==5
IEEE_con_tcsc
end
elseif Inicio==2
% flat start
V(1:T,1)=1.0+0*1j;
%Numero de buses
Buses=1:T;
89
Códigos del programa en MATLAB
fprintf('\n Ingrese el voltaje en p.u. del bus slack: \n\n V_slack =')
x1=input('');
V(1,1)=x1;
if Vcontrolado==1
fprintf('\n Cuantos buses de voltaje controlado tiene el sistema: \n\n
N°_de_Buses_de_Voltaje_controlado = ')
Num_controlado=input('');
Vector_controlado=zeros(Num_controlado,1); % Se crea un vector
del tamaño de numero de buses
P_generacion=zeros(T,1); % Se crea un vector del tamaño de numero de
buses
for k=1:Num_controlado;
fprintf('\n De manera asendente, indique el numero del bus de voltaje
controlado:\n\n N°_de_Bus_de_Voltaje_controlado =')
temp=input(''); % Número del bus de voltaje controlado
Vector_controlado(k,1)=temp; % Se guarda el numero de bus de
voltaje controlado en el vector de buses de voltaje controlado
fprintf('\n Valor de voltaje V(%i) en p.u.: \n\n V(%i) =',temp)
V(temp,1)=input(''); % Asigna el valor de voltaje para el bus de
voltaje controlado
fprintf('\n Introducir el valor de la Potencia de generación P(%i) en
MW que estan siendo inyectados al Bus(%i): \n\n P_generacion(%i)
=',temp,temp)
P_generacion(temp,1)=input('');
end
elseif Vcontrolado==2
Vector_controlado=0; % No se tiene ningun bus de voltaje controlado
P_generacion=zeros(T,1);
end
90
Códigos del programa en MATLAB
Arreglo_m
Lineas_paralelas
Ybus(A);
Y=ans;
A=abs(Y);G=real(Y);B=imag(Y);H=angle(Y);
tic
P_generacion=P_generacion/P_base;
P_carga=P_carga/P_base;
Q_carga=1i*Q_carga/P_base;
P=P_generacion-P_carga;
Q=-Q_carga;
for k=1:200
for ii=2:T
Potencia1=0;
Potencia2=0;
for n=1:T
if ii~=n
% Sumatoria para obtener la potencia P(i)calc y Q(i)calc
Potencia1=Potencia1+abs(V(ii,k)*V(n,k)*A(ii,n))*cos(H(ii,n)+Vangulo(n,k)-
Vangulo(ii,k));
91
Códigos del programa en MATLAB
Potencia2=Potencia2+abs(V(ii,k)*V(n,k)*A(ii,n))*sin(H(ii,n)+Vangulo(n,k)-
Vangulo(ii,k));
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CALCULO DE LA MATRIZ JACOBIANA %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
92
Códigos del programa en MATLAB
end
end
end
temp=length(J1);
J1_temp=zeros(temp+1);
J1_temp((1:temp+1))=Buses_temp;
J1_temp(1,(1:temp+1))=Buses_temp;
J1_temp((2:temp+1),(2:temp+1))=[J1(1:temp,1:temp)];
Buses_temp=1:T;
Buses_temp(1,1)=0;
temp=length(J3);
J3_temp=zeros(temp+1);
J3_temp(1,(1:temp+1))=Buses_temp;
J3_temp((2:temp+1),(2:temp+1))=[J3(1:temp,1:temp)];
J3_temp(:,1)=[];
Buses_temp=zeros(1,T);
temp=length(J2);
J2_temp=zeros(temp+1);
J2_temp((1:temp+1))=Buses_temp;
J2_temp((2:temp+1),(2:temp+1))=[J2(1:temp,1:temp)];
J2_temp(1,:)=[];
93
Códigos del programa en MATLAB
DeltaQ_temp((1:temp))=Buses_temp;
DeltaQ_temp((1:temp),2)=DeltaQ;
for kk=1:Num_controlado
temp_1=Vector_controlado(kk,1);
[z,b]=find(J_temp==temp_1);
J_temp(:,b)=[];
J_temp(b,:)=[];
end
for kk=1:Num_controlado
temp_1=Vector_controlado(kk,1);
[z,b]=find(DeltaQ_temp==temp_1);
DeltaQ_temp(z,:)=[];
end
J_temp(:,1)=[];J_temp(1,:)=[];
J=J_temp;
DeltaQ_temp;
DeltaQ_temp(:,1)=[];
DeltaQ=DeltaQ_temp;
else
%Formando la matriz Jacobiana
J=[J1 J3;J2 J4];
end
Matriz=[DeltaP;DeltaQ];
% Se calcula el vector de resultados
Delta=J\Matriz;
94
Códigos del programa en MATLAB
else
V(ii,k+1)=V(ii,k); % se mantienen las magnitudes de buses de
voltaje controlado
end
end
% Calculando el error
EP=DeltaP;
EQ=DeltaQ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Verifcando la convergencia de resultados %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
convergio1=1;
convergio2=1;
for n=1:temp2
if EQ(n)>tol
convergio1=0;
end
end
for n=1:temp2
if EP(n)>tol
convergio2=0;
end
end
end
iteracion=1:1:k;
V_flujos=V(:,k+1);
V_angulo_flujos=Vangulo(:,k+1); %en radianes
P_carga_total=sum(P_carga)*P_base;
Q_carga_total=imag(sum(Q_carga))*P_base;
95
Códigos del programa en MATLAB
Potencia1=Potencia1+abs(V_flujos(ii,1)*V_flujos(n,1)*A(ii,n))*cos(H(ii,n)
+V_angulo_flujos(n,1)-V_angulo_flujos(ii,1));
Potencia2=Potencia2+abs(V_flujos(ii,1)*V_flujos(n,1)*A(ii,n))*sin(H(ii,n)
+V_angulo_flujos(n,1)-V_angulo_flujos(ii,1));
end
end
% Calculo de la potencia total P(i)calc
Pcalc(ii,1)=(abs(V_flujos(ii,1))^2)*(G(ii,ii))+Potencia1;
% Calculo de la potencia total Q(i)calc
Qcalc(ii,1)=-(abs(V_flujos(ii,1))^2)*(B(ii,ii))-Potencia2;
end
P_en_el_bus=Pcalc*P_base+P_carga*P_base;
Q_en_el_bus=Qcalc*P_base+imag(Q_carga)*P_base;
temp_ref=.1;
for k=1:length(P_en_el_bus)
temp1=P_en_el_bus(k);
temp2=Q_en_el_bus(k);
if abs(temp1)<temp_ref
P_en_el_bus(k)=0;
end
if abs(temp2)<temp_ref
Q_en_el_bus(k)=0;
end
end
%Flujos de Potencia
clc
clear all
close all
Newton
temp=length(V_flujos); %O bien length del número de buses
X2=zeros(temp,1);Y2=zeros(temp,1);V2=zeros(temp,1);
for k=1:T
%Convierto de polar a rectangular
X2(k,1)=V_flujos(k,1)*cos(V_angulo_flujos(k,1));
Y2(k,1)=V_flujos(k,1)*sin(V_angulo_flujos(k,1))*1i;
V2(k,1)=X2(k,1)+Y2(k,1); %Voltaje en forma rectangular
end
96
Códigos del programa en MATLAB
S_temp=V2(temp_1)*conj(Y_temp*(V2(temp_1)-V2(temp_2)));
A_save(k,7)=real(S_temp)*P_base;
Mvar_charging=(abs(V2(temp_1))^2)*A_save(k,6)/2;%Calculando
los mvar de carga %V^2*(Ich(k,n)/2);
if A_save(k,4)>=9999
Mvar_charging=0;
else
Mvar_charging=-Mvar_charging;%Los Mvar que se inyectan por
efecto de la carga de la línea son negativos dado su dirección hacia ese
nodo.
end
A_save(k,8)=imag(S_temp)*P_base+Mvar_charging;%Potencia
rectiva considerando los mvar de carga
% MW Y MVAR QUE NECESITA EL SISTEMA
i_temp=abs(abs(Y_temp)*(V2(temp_1)-V2(temp_2)));
perdidas_r=(i_temp^2)*A_save(k,3)*100;
perdidas_x=(i_temp^2)*A_save(k,4)*100;
Perdidas(k,:)=[A_save(k,1) A_save(k,2) perdidas_r perdidas_x
];
Names_perdidas(k,:)=A_names_save(k,:);
%Matriz de salida Flujos
if k==1
a=1;
else
a=a+2;
end
%Números impares
Flujos(a,:)=A_save(k,:);
Names_flujos(a,:)=A_names_save(k,:);
end
temp=size(A_save2);temp=temp(1);a=0;
for k=1:temp
temp_1=A_save2(k,1); temp_2=A_save2(k,2);
% Se crean las columnas 7 y 8 para guardar la potencia aparente, en
la
% columna 9 se puede ingresar la distancia de la línea
Y_temp=1/(A_save2(k,3)+A_save2(k,4)*1i);%Elijo la impedancia
correcta de la matriz A_save y obtengo la admitancia
S_temp=V2(temp_1)*conj(Y_temp*(V2(temp_1)-V2(temp_2)));
A_save2(k,7)=real(S_temp)*P_base; %Potencia Activa
Mvar_charging=(abs(V2(temp_1))^2)*A_save2(k,6)/2;%Calculando
los mvar de carga %V^2*(Ich(k,n)/2);
if A_save(k,4)>=9999
Mvar_charging=0;
else
Mvar_charging=-Mvar_charging;%Los Mvar que se inyectan por
efecto de la carga de la línea son negativos dado su dirección hacia ese
nodo.
end
A_save2(k,8)=imag(S_temp)*P_base+Mvar_charging; %Potencia
rectiva considerando los mvar de carga;
%Matriz de salida
a=a+2;
%Números pares
Flujos(a,:)=A_save2(k,:);
Names_flujos(a,:)=A_names_save2(k,:);
97
Códigos del programa en MATLAB
end
clc
temp_1=num2str(Buses',5); temp_2=num2str(V_flujos,5);
temp_3=num2str(rad2deg(V_angulo_flujos),5);
temp_4=num2str(P_en_el_bus,5); temp_5=num2str(Q_en_el_bus,5);
Buses=Buses';
Angulo_grados=rad2deg(V_angulo_flujos);
fprintf(' RESULTADOS DEL ESTUDIO MEDIANTE EL MÉTODO DE NEWTON RAPHSON')
fprintf(' PARA FLUJOS DE POTENCIA. \n')
fprintf('\n \n \t\t\t\t\t\t VOLTAJE EN LOS BUSES \n\n')
temp_6=char(A_names_buses); %A_names_buses es el creado en el archivo
"líneas paralelas.m"
disp(' Nombre Número Volts Ángulo Generación')
disp(' del Bus (p.u.) (grados) (MW)
(Mvar)')
disp('
________________________________________________________________________'
)
temp=size(temp_6);
temp=temp(1);
for i=1:temp
if i==1
fprintf(' %10s %6s %14s %11s %9s %9s \n '
,temp_6(i,:),temp_1(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:),temp_5(i,:))
;
else
fprintf(' %9s %6s %14s %11s %9s %9s \n '
,temp_6(i,:),temp_1(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:),temp_5(i,:))
;
end
end
disp('
_________________________________________________________________________
')
98
Códigos del programa en MATLAB
if i==1
fprintf(' %10s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
else
fprintf(' %9s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
end
end
disp('
________________________________________________________________')
%Pérdidas en el Sistema%
Perdidas; %SALIDA REAL
temp_1=num2str(Perdidas(:,1)); temp_2=num2str(Perdidas(:,2));
temp_3=num2str(Perdidas(:,3)); temp_4=num2str(Perdidas(:,4));
temp_5=char(Names_perdidas(:,1)); temp_6=char(Names_perdidas(:,2));
fprintf('\n \n PÉRDIDAS EN MW Y REQUERIMIENTO DE LOS EQUIPOS EN
MVAR\n\n')
disp(' Del Bus N° Al Bus N° I^2*r I^2*x')
disp(' (MW)
(Mvar)')
disp('
________________________________________________________________')
temp=size(temp_6);
temp=temp(1);
for i=1:temp
if i==1
fprintf(' %10s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
else
fprintf(' %9s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
end
end
disp('
________________________________________________________________')
end
99
Códigos del programa en MATLAB
Pmax(k-d,1)=(V_flujos(a)*V_flujos(b)/A_save(k,4))*100;
MEEE(k-d,1)=((Pmax(k-d,1)-F_temp(k-d,3))/Pmax(k-d,1))*100;
if Pmax(k-d,1)<=1
Pmax(k-d,1)=0;
MEEE(k-d,1)=0;
end
else %Cuando se tengan transformadores, no se quiere hacer el calculo
de Pmax ni MEEE
c=find((F_temp==0)); %Eiminare la fila que tenga tranfos (fila=0)
c=c(1); %localizo la fila
F_temp(c,:)=[]; %la elimino
Names_temp(c,:)=[];%elimino el nombre
d=d+1; %creo esta variable para elegir el correcto F_temp en el
cálculo de MEEE
end
end
%Convierto a cadena los valores que serán mostrados
temp_1=num2str(F_temp(:,1)); temp_2=num2str(F_temp(:,2));
temp_3=num2str(Pmax); temp_4=num2str(MEEE);
temp_5=char(Names_temp(:,1)); temp_6=char(Names_temp(:,2));
fprintf('\n \n \t\t\t\t\tPotencia Máxima Y MEEE\n\n')
disp(' Del Bus N° Al Bus N° Pmax MEEE')
disp(' (MW) (%)')
disp(' ________________________________________________________________')
for i=1:length(temp_1)
if i==1
fprintf(' %10s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
else
fprintf(' %9s %6s %12s %8s %11s %11s \n '
,temp_5(i,:),temp_1(i,:),temp_6(i,:),temp_2(i,:),temp_3(i,:),temp_4(i,:))
;
end
end
disp(' ________________________________________________________________')
100
Códigos del programa en MATLAB
disp('Número de iteraciones:')
disp(max(iteracion))
toc
%TODO EL DESARROLO DEL TCSC ES PARA SABER ENTRE QUE BUSES SE CONECTARA Y
EN
%CASO DE QUE SE TENGAN VARIAS LPINEAS SABER EN CUAL SE INSTALARA
fprintf('\n\n ¿Desea insertar el TCSC en la red?: \n')
disp('1).Si')
disp('2).No')
TCSC=input('');
if TCSC==1
% IEEE_XTCSC
T=T+1;
V=V(:,1);V(T,1)=1; Vector_shunt(T,1)=0;
P_generacion(T,1)=0; P_carga(T,1)=0;Q_carga(T,1)=0;
name_n={'NUEVO'};
101
Códigos del programa en MATLAB
save('Matrizdedatos.mat','C1','C2','wtestada','alfa','Btcsc','bus1_save',
'bus2_save','T','P_reg','A','P_base','P_carga','Q_carga','Vcontrolado','N
um_controlado','Vector_controlado','P_generacion','Equipos_shunt','Vector
_shunt','V','Xtcsc','angulo_temp','XTCSC','XTCSC_pu')
clc
clear all
Newton_Raphson_con_TCSC
%ver alfa
%Dparcial=-
2*C1*(1+cos(2*alfa))+C2*sin(2*alfa)*(wtestada*tan(wtestada*(pi-alfa))-
tan(alfa))+C2*(wtestada*wtestada*(((cos(pi-alfa)*cos(pi-
alfa)))/(cos(wtestada*(pi-alfa))*cos(wtestada*(pi-alfa))))-1);
%M_b=[Btcsc -Btcsc;-Btcsc Btcsc];
102
Códigos del programa en MATLAB
else
end
end
end
%%%%%%%%% CHECAR PORQUE SE HIZO PARA ELEGIR UNA LINEA PERO LA POTENCIA
%%%%%%%%% ENTRE BUSES CONSIERA LA REDUCCION DE LINEAS PARALELAS
%Resultado 1
xlswrite('Resultados.xls',A_names_buses,'Hoja 1','A5:A100');
xlswrite('Resultados.xls',Buses,'Hoja 1','B5:B100');
xlswrite('Resultados.xls',V_flujos,'Hoja 1','C5:C100');
xlswrite('Resultados.xls',Angulo_grados,'Hoja 1','D5:D100');
xlswrite('Resultados.xls',P_en_el_bus,'Hoja 1','E5:E100');
xlswrite('Resultados.xls',Q_en_el_bus,'Hoja 1','F5:F100');
%Resultado 2
xlswrite('Resultados.xls',Names_flujos(:,1),'Hoja 1','H5:H100');
xlswrite('Resultados.xls',Flujos_salida(:,1),'Hoja 1','I5:I100');
xlswrite('Resultados.xls',Names_flujos(:,2),'Hoja 1','J5:J100');
xlswrite('Resultados.xls',Flujos_salida(:,2),'Hoja 1','K5:K100');
xlswrite('Resultados.xls',Flujos_salida(:,3),'Hoja 1','L5:L100');
xlswrite('Resultados.xls',Flujos_salida(:,4),'Hoja 1','M5:M100');
%Resultado 4
xlswrite('Resultados.xls',Names_temp(:,1),'Hoja 1','O5:O100');
xlswrite('Resultados.xls',F_temp(:,1),'Hoja 1','P5:P100');
xlswrite('Resultados.xls',Names_temp(:,2),'Hoja 1','Q5:Q100');
xlswrite('Resultados.xls',F_temp(:,2),'Hoja 1','R5:R100');
xlswrite('Resultados.xls',Pmax,'Hoja 1','S5:S100');
xlswrite('Resultados.xls',MEEE,'Hoja 1','T5:T100');
103
Códigos del programa en MATLAB
load('Matrizdedatos.mat','C1','C2','wtestada','alfa','Btcsc','bus1_save',
'bus2_save','T','P_reg','A','P_base','P_carga','Q_carga','Vcontrolado','N
um_controlado','Vector_controlado','P_generacion','Equipos_shunt','Vector
_shunt','V','Xtcsc','angulo_temp','XTCSC','XTCSC_pu')
Arreglo_m %Acomodo de la matriz
Lineas_paralelas %Reducción de datos del sistema y matriz de nombres, en
el caso de que se tengan líneas paralelas
Ybus(A); %Calculo de la matriz Ybus
Y=ans;
A=abs(Y);G=real(Y);B=imag(Y);H=angle(Y);
tic
P_generacion=P_generacion/P_base;
P_carga=P_carga/P_base;
Q_carga=1i*Q_carga/P_base;
P=P_generacion-P_carga;
Q=-Q_carga;
for ii=2:T
Potencia1=0;
Potencia2=0;
for n=1:T
if ii~=n
% Sumatoria para obtener la potencia P(i)calc y Q(i)calc
Potencia1=Potencia1+abs(V(ii,k)*V(n,k)*A(ii,n))*cos(H(ii,n)+Vangulo(n,k)-
Vangulo(ii,k));
104
Códigos del programa en MATLAB
Potencia2=Potencia2+abs(V(ii,k)*V(n,k)*A(ii,n))*sin(H(ii,n)+Vangulo(n,k)-
Vangulo(ii,k));
end
end
end
Dparcial=-
2*C1*(1+cos(2*alfa(k)))+C2*sin(2*alfa(k))*(wtestada*tan(wtestada*(pi-
alfa(k)))-tan(alfa(k)))+C2*(wtestada*wtestada*(((cos(pi-alfa(k))*cos(pi-
alfa(k))))/(cos(wtestada*(pi-alfa(k)))*cos(wtestada*(pi-alfa(k)))))-1);
Matriz_modificadaPk=(V(bus1_save,k)*V(T,k)*sin(Vangulo(bus1_save,k)-
Vangulo(T,k)))/Xtcsc*Dparcial;
Matriz_modificadaPp=(V(T,k)*V(bus1_save,k)*sin(Vangulo(T,k)-
Vangulo(bus1_save,k)))/Xtcsc*Dparcial;
Matriz_modificadaQk=(V(bus1_save,k)^2)/Xtcsc-
(V(bus1_save,k)*V(T,k)*cos(Vangulo(bus1_save,k)-
Vangulo(T,k)))/Xtcsc*Dparcial;
Matriz_modificadaQp=(V(T,k)^2)/Xtcsc-
(V(T,k)*V(bus1_save,k)*cos(Vangulo(T,k)-
Vangulo(bus1_save,k)))/Xtcsc*Dparcial;
PVk1=(V(bus1_save,k)*V(T,k)*sin(Vangulo(bus1_save,k)-
Vangulo(T,k)))/Xtcsc;
PVk2=(V(bus1_save,k)*V(T,k)*sin(Vangulo(bus1_save,k)-
Vangulo(T,k)))/Xtcsc;
Pkp=V(bus1_save,k)*V(T,k)*sin(Vangulo(bus1_save,k)-
Vangulo(T,k))/Xtcsc;
DeltaPkp=P_reg-Pkp;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CALCULO DE LA MATRIZ JACOBIANA %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Calculo de la submatriz J1=J11
105
Códigos del programa en MATLAB
for ii=1:T-1
for jj=1:T-1
if ii==jj && ii~=bus1_save && ii~=T-1
J1(ii,jj)=-Qcalc(jj,1)-(abs(V(jj+1,k)^2))*B(jj+1,jj+1);
else
J1(ii,jj)=-
abs(V(ii+1,k)*V(jj+1,k)*A(ii+1,jj+1))*sin(H(ii+1,jj+1)+Vangulo(jj+1,k)-
Vangulo(ii+1,k));
end
end
end
else
J2(ii,jj)=-
abs(V(ii+1,k)*V(jj+1,k)*A(ii+1,jj+1))*cos(H(ii+1,jj+1)+Vangulo(jj+1,k)-
Vangulo(ii+1,k));
end
end
end
106
Códigos del programa en MATLAB
J3(ii,jj)=J2(ii,jj)+2*(abs(V(ii+1,k)^2))*G(ii+1,ii+1)+(abs(V(ii+1,k)*V(T,
k))*sin(Vangulo(ii+1,k)-Vangulo(T,k)))/Xtcsc;
J3(ii,jj)=J2(ii,jj)+2*(abs(V(ii+1,k)^2))*G(ii+1,ii+1)+(abs(V(ii+1,k)*V(bu
s1_save,k))*sin(Vangulo(ii+1,k)-Vangulo(bus1_save,k)))/Xtcsc;
else
J3(ii,jj)=-J2(ii,jj);
end
end
end
else
J4(ii,jj)=J1(ii,jj);
end
end
end
107
Códigos del programa en MATLAB
J4(T,T-1)=PVk2;
temp=length(J1);
J1_temp=zeros(temp+1);
J1_temp((1:temp+1))=Buses_temp;
J1_temp(1,(1:temp+1))=Buses_temp;
J1_temp((2:temp+1),(2:temp+1))=[J1(1:temp,1:temp)];
Buses_temp=1:T+1;
Buses_temp(1,1)=0;
temp=size(J3);
temp1=temp(1);temp2=temp(2);
J3_temp=zeros(temp1+1,temp2+1);
J3_temp(1,(1:temp2+1))=Buses_temp;
J3_temp((2:temp1+1),(2:temp2+1))=[J3(1:temp1,1:temp2)];
J3_temp(:,1)=[];
temp=size(J2);
temp1=temp(1);temp2=temp(2);
J2_temp=zeros(temp1+1,temp2+1);
J2_temp((2:temp1+1),(2:temp2+1))=[J2(1:temp1,1:temp2)];
J2_temp(1,:)=[]
J_temp=[J1_temp J3_temp;J2_temp J4];
for kk=1:Num_controlado
temp_1=Vector_controlado(kk,1);
[z,b]=find(J_temp==temp_1);
J_temp(:,b)=[];
J_temp(b,:)=[];
end
for kk=1:Num_controlado
temp_1=Vector_controlado(kk,1);
[z,b]=find(DeltaQ_temp==temp_1);
DeltaQ_temp(z,:)=[];
end
108
Códigos del programa en MATLAB
J_temp(:,1)=[];J_temp(1,:)=[];
J=J_temp;
DeltaQ_temp;
DeltaQ_temp(:,1)=[];
DeltaQ=DeltaQ_temp;
else
%Formando la matriz Jacobiana
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%MODIFICACIONES DEL JACOBIANO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%T esta bien porque el 1 no se considera
%J3=J12
J3(bus1_save-1,T)=Matriz_modificadaPk;
J3(T-1,T)=Matriz_modificadaPp;
%J2=J21
J2(T,bus1_save-1)=Pkp1;
J2(T,T-1)=Pkp2;
%J4=J22
J4(bus1_save-1,T)=Matriz_modificadaQk;
J4(T-1,T)=Matriz_modificadaQp;
J4(T,bus1_save-1)=PVk1;
J4(T,T-1)=PVk2;
en
Matriz=[DeltaP;DeltaQ;DeltaPkp];
% Se calcula el vector de resultados
Delta=J\Matriz;
Deltatemp2=Delta(temp+1:temp+temp2);
109
Códigos del programa en MATLAB
Vangulo(ii,k+1)=Vangulo(ii,k)+Deltatemp1(ii-1,1);
end
a=1;
for ii=2:T
if ii~=Vector_controlado % Se verifica que magnitud de
voltajes son las que se deben corregir
V(ii,k+1)=(V(ii,k)+Deltatemp2(a,1)); % a=Para sumarle el elemento
correcto del vector de resultados
a=a+1; % Para seleccionar el elemento correcto del vector de
resultados
else
V(ii,k+1)=V(ii,k); % se mantienen las magnitudes de buses de
voltaje controlado
end
end
% Calculando el error
EP=DeltaP;
EQ=DeltaQ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Verifcando la convergencia de resultados %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
convergio1=1;
convergio2=1;
convergio3=1;
for n=1:temp2
if EQ(n)>tol
convergio1=0;
end
end
for n=1:temp2
if EP(n)>tol
convergio2=0;
end
end
if DeltaPkp>tol
convergio3=0;
end
110
Códigos del programa en MATLAB
end
iteracion=1:1:k;
V_flujos=V(:,k+1);
V_angulo_flujos=Vangulo(:,k+1); %en radianes
P_carga_total=sum(P_carga)*P_base;
Q_carga_total=imag(sum(Q_carga))*P_base;
Potencia1=Potencia1+abs(V_flujos(ii,1)*V_flujos(n,1)*A(ii,n))*cos(H(ii,n)
+V_angulo_flujos(n,1)-V_angulo_flujos(ii,1));
Potencia2=Potencia2+abs(V_flujos(ii,1)*V_flujos(n,1)*A(ii,n))*sin(H(ii,n)
+V_angulo_flujos(n,1)-V_angulo_flujos(ii,1));
end
end
% Calculo de la potencia total P(i)calc
Pcalc(ii,1)=(abs(V_flujos(ii,1))^2)*(G(ii,ii))+Potencia1;
% Calculo de la potencia total Q(i)calc
Qcalc(ii,1)=-(abs(V_flujos(ii,1))^2)*(B(ii,ii))-Potencia2;
end
P_en_el_bus=Pcalc*P_base+P_carga*P_base;
Q_en_el_bus=Qcalc*P_base+imag(Q_carga)*P_base;
temp_ref=.1;
for k=1:length(P_en_el_bus)
temp1=P_en_el_bus(k);
temp2=Q_en_el_bus(k);
if abs(temp1)<temp_ref
P_en_el_bus(k)=0;
end
if abs(temp2)<temp_ref
Q_en_el_bus(k)=0;
end
end
111
Códigos del programa en MATLAB
XLC=XC*XL/(XC-XL);
C1=(XC+XLC)/pi;
C2=(-4*XLC*XLC)/(XL*pi);
angulo(1)=90;
alfa=90*pi/180;
XTCSC(1)=-XC+C1*(2*(pi-alfa)+sin(2*(pi-alfa)))+(C2*cos(pi-
alfa)*cos(pi-alfa))*(wtestada*tan(wtestada*(pi-alfa))-(tan(pi-alfa)));
h=0.1;
temp=0;
for k=1: 900
angulo(k+1)=angulo(k)+h;
alfa=angulo(k+1)*pi/180;
XTCSC(k+1)=-XC+C1*(2*(pi-alfa)+sin(2*(pi-alfa)))+C2*cos(pi-
alfa)*cos(pi-alfa)*(wtestada*tan(wtestada*(pi-alfa))-(tan(pi-alfa)));
if k<=90
polos_temp=pi-(((2*(k)-1)*sqrt((L*C))*pi*w)/2);
polos_temp=rad2deg(polos_temp);
temp=length(polos);
angulo_temp=90:h:180;
for k=1:temp
posicion=round(polos(k));
posicion=find(angulo_temp==posicion);
posicion(k)=XTCSC(posicion);
end
plot(angulo,XTCSC,polos,posicion,'+r')
grid on
xlabel('Ángulo de Disparo (grados)')
ylabel('Reactancia equivalente XTCSC (ohms)')
112
Códigos del programa en MATLAB
figure(2)
plot(angulo,XTCSC)
grid on
xlabel('Ángulo de Disparo (grados)')
ylabel('Reactancia equivalente XTCSC (ohms)')
axis([90 180 -70 60])
113
Referencias
[1] John J. Grainger, William D. Stevenson Jr., Análisis de sistemas de potencia,
(McGraw-Hill, Inc., USA), (2001).
[2] J. Duncan Glover, Mulukutla S. Sarma, Thomas J. Overbye, Power system analysys
& design, (Cengage Learning, USA), second edition, (2012).
[5] R. Stein, W.T. Hunt, Jr., Electric Power System Components: Transformers and
Rotating Machines, Ed. Van Nostranmd Reinhold, (1979).