FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
Flujo de Potencia por Newton-Raphson con el Jacobiano Calculado en las Ecuaciones de Errores de Potencia Rueda Mayorga Christian Alexander Escuela Politécnica Nacional, Facultad de Ingeniería Eléctrica y Electrónica, Quito, Ecuador e-mail:
[email protected]
Resumen: En el presente documento se presenta un algoritmo de solución de flujos de potencia aplicando el método Newton-Raphson desarrollado con programación en el Software de programación MATLAB. Por medio de este método los términos de la matriz Jacobiana son calculados como parte de las ecuaciones de errores de potencia de barra. Dado que estas ecuaciones siempre deben calcularse, resulta muy eficiente el cálculo de todas las derivadas requeridas en las cuatro submatrices de la matriz Jacobiana. Palabras clave: Sistema Eléctrico de Potencia, Flujos de potencia, Método Newton-Raphson, Jacobiano, Matlab Abstract: In this document, a power flux solution algorithm is presented applying the Newton-Raphson method developed with programming in the MATLAB programming software. By means of this method the terms of the Jacobian matrix are calculated as part of the bar power error equations. Since these equations must always be calculated, it is very efficient to calculate all the derivatives required in the four sub-matrices of the Jacobian matrix. Keywords: Electric Power System, Power flows, Newton-Raphson method, Jacobian, MATLAB. 1. INTRODUCCION
- Exponer los resultados del estudio de flujos de potencia
En el análisis de redes eléctricas el cálculo de la potencia real y reactiva es fundamental para conocer la condición de operación bajo una carga conocida. Para el cálculo de flujos de potencia se establecen ecuaciones no lineales que se resuelven preferentemente de una forma iterativa. La complejidad principal de resolución de sistemas de este tipo son la no linealidad de las ecuaciones, debido a la relación al cuadrado del voltaje en las potencias y a la presencia de funciones trigonométricas. A través del método Newton-Raphson se resuelve este sistema de ecuaciones, linealizándolas por medio del cálculo de las derivadas parciales de la potencia real y reactiva con respecto de la magnitud del voltaje y su ángulo. La aplicación del método de Newton-Raphson a la solución de las ecuaciones de flujos de potencia genera la matriz jacobiana que tiene, para un sistema con únicamente nodos de carga un orden de 2(N-1) En el presente estudio se optimizan el número de cálculos de potencias activa y reactiva de barra con el fin de estimar todos los términos de la matriz Jacobiana. A continuación, se muestra un breve análisis del método de NewtonRaphson orientado a la solución de flujos de potencia. 2. OBJETIVOS -
Desarrollar una herramienta computacional eficaz para el análisis de sistemas eléctricos donde es común la resolución de grandes sistemas de ecuaciones simultaneas desarrollar herramientas e interpretar correctamente los resultados obtenidos.
- Evaluar la metodología de solución para sistemas
eléctricos potencia con indicadores como tiempo de ejecución, número de iteraciones requeridas para que la solución converja
basándose en la metodología propuesta. 3. MARCO TEÓRICO El análisis de flujo de potencia se refiere a describir el estado operativo de un sistema de energía completo, lo que significa una red de generadores, líneas de transmisión y cargas que podrían representar un área tan pequeña como una provincia o tan grande como regiones. Dadas ciertas cantidades conocidas, por lo general, la cantidad de energía generada y consumida en diferentes ubicaciones, el análisis de flujo de potencia permite determinar otras cantidades. La más importante de estas cantidades son los voltajes en ubicaciones a lo largo del sistema de transmisión, que, para la corriente alterna consta de una magnitud y un elemento de tiempo o ángulo de fase. Una vez que se conocen los voltajes, las corrientes que fluyen a través de cada enlace de transmisión se pueden calcular fácilmente. Por lo tanto, el nombre de flujo de potencia o flujo de carga, dada la cantidad de potencia entregada y de dónde viene, dice cómo fluye a su destino. 4. DIAGRAMA DE BLOQUES El algoritmo de la programación para la solución de flujos de potencia define en principio la lectura ordenada de datos, para inicializar las variables de estado. Este proceso se lo realiza importando datos desde el programa Excel. La matriz YB se calcula a través de matrices dispersas. El proceso iterativo empleado usa el Jacobiano embebido con ecuaciones de errores de potencia incluidas. Posteriormente se actualizan de las variables de estado, previo a las correcciones obtenidas y se evalúa la convergencia en función de la tolerancia máxima admitida. Finalmente se calculan las potencias de la barra de compensación, potencias reactivas.
PROYECTO EPN, VOL. 1, AGOSTO 2018
FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
5. APLICACIONES Para evaluar la funcionalidad del algoritmo implementado se corren casos de flujos de potencia para un sistema de prueba.
Fig. 2. Diagrama unifilar para el ejemplo 9.2 en que se muestran los nombres y números de las barras.
Ejemplo 9.2. En la figura 2 se muestra el diagrama unifilar de un sistema de potencia sencillo. Los generadores están conectados en las barras (1) y (4), mientras las cargas se indican en todas las cuatro barras. Los valores base para el sistema de trasmisión son 100 MVA y 230 kV. Los datos de líneas de la tabla 1 dan las impedancias serie en por unidad y las susceptancias de carga de la línea para los circuitos equivalentes nominales π de las cuatro líneas identificadas por las barras en las que terminan. Los datos de barras en la tabla 2 enlistan los valores para P, Q y V en cada barra. Los valores de la Q de la carga se calculan a partir de los valores P correspondientes bajo el supuesto de un factor de potencia de 0.85. Los valores programados totales, Pi,prog y Qi,prog son negativos en las barras de carga (2) y (3). No se especifica la Qgi donde la magnitud del voltaje es constante. En la columna de voltajes, los valores para las barras de carga son estimaciones de inicio plano. La magnitud de voltaje |V 1| y el ángulo 𝛿 1 de la barra de compensación, así como la magnitud |V4| en la barra (4), se mantienen constantes en los valores que se enlistan.
Figura 1. Diagrama de flujo del programa
Tabla 1. Datos de líneas para el ejemplo 9.2 Serie Z Serie Y= Z-1
Línea, de barra a barra
R por unidad
X por unidad
G por unidad
1-2
0.01008
0.05040
3.815629
1-3
0.00744
0.03720
5.169561
2-4
0.00744
0.03720
5.169561
3-4
0.01272
0.06360
3.023705
B por unidad 19.078144 25.847809 25.847809 15.118528
Base 100MVA, 230 kV *A 230 kV. Tabla 2. Datos de barras para el ejemplo 9.2 Generación Carga Barra P, Q, P, Q, V, por MW Mvar MW Mvar * unidad
Y en paralelo Mvar Y/2 totales por de unidad carga* 10.25
0.05125
7.75
0.03875
7.75
0.03875
12.75
0.06375
Observaciones
Barra de compensación Barra de carga 2 0 0 170 105.35 1.00 0° (inductiva) Barra de carga 3 0 0 200 123.94 1.00 0° (inductiva) 4 318 --80 49.58 1.02 0° Voltaje controlado * Los valores Q de la carga se calculan de los correspondientes valores de P suponiendo un factor de potencia de 0.85 1
---
PROYECTO EPN, VOL. 1, AGOSTO 2018
---
50
30.99
1.00
0°
FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
Solución. Los cálculos que se hacen a continuación son realizados mediante el programa computacional Matlab. El sistema de Ybarra mostrado en la tabla 3 se construye a partir de los datos de líneas dados en la tabla 1. Por ejemplo, los elementos fuera de la diagonal que no son cero, Y21 y Y24, están asociados con la barra (2) de la figura 1 y son iguales a los negativos de sus respectivas admitancias de línea.
(1)
(2)
(3)
(4)
(1)
8.985190j44.835953
3.815629+j19.0 78144
-5.169561+ j25.847809
0
-3.815629 +j19.078144
8.985190j44.835953
0
(3)
5.169561+j25.8 47809
0
8.193267j40.863838
(4)
3.023705+j15.1 18528 Valores en por unidad redondeados a seis lugares decimales 0
-5.169561 +j25.847809
[1] [2]
[3] [4]
Tabla 3. Matriz de admitancias de barra para el ejemplo 9.2 No. de bar ra
(2)
REFERENCIAS
5.169561+j25.8 47809 3.023705+j15.1 18528
[5]
Grainger, J.J., Stevenson, W.D., Power System Analysis, McGraw-Hill, New York, 1994. Meier, A., Electric Power Systems A Conceptual Introduction, IEEE John Wiley & Sons, Inc., Hoboken, New Jersey, 2006. Pp:195-198. Villafuerte R., Aplicación de un Método Iterativo de dos Pasos para el Cálculo de Flujos de Potencia, 2017, Pp:190,197. Játiva J., Flujo de Potencia por Newton-Raphson con el Jacobiano Calculado en las Ecuaciones de Errores de Potencia, Escuela Politécnica Nacional, Revista Politécnica, vol. 33, No. 3, 2014, [En línea]. Disponible en: https://revistapolitecnica.epn.edu.ec/ojs2/index.php/revista_politecni ca2/article/view/157 [Accedido: 29 de julio de 2018]. pp.:1-7. MATLAB, Math Works, Inc., Natick, MA, USA. www.mathworks.com
8.193267j40.863838
N° de iteraciones: 4 GeneracionV = Voltaje _______ 1 0.98242 0.969 1.02
Angulo ________ 0 -0.97612 -1.8722 1.5231
GeneracionS = PkW QVAr ______ ______ 186.81 114.5 0 0 0 0 318 181.43 6. CONCLUSIONES -
-
-
Se ha mejorado el método de calculo de NewtonRaphson mediante la inclusión de los errores de potencia de barra en el calculo iterativo de la matriz Jacobiana. El método propuesto se ideó con el objetivo de tener una herramienta para el cálculo de flujos potencia con elevado número de barras, a través de la formación de una función y sus derivadas llevando a cabo el mismo calculo en cada iteración con el manejo de operaciones elementales. El uso adecuado de los elementos que componen a la matriz Jacobiana ha permitido obtener la mayor cantidad de resultados con el mínimo numero de cálculos realizados en cada iteración.
PROYECTO EPN, VOL. 1, AGOSTO 2018
FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
Anexo Código de MATLAB %% Limpieza y Seteo clc; clear variables; format short %% Lectura de la matriz Ybarra G=xlsread('Datos de Ingreso.xlsx','Yreal');% Obtencion de las admitancias B=xlsread('Datos de Ingreso.xlsx','Yimaginario');% obtencion de las suceptancias Y=G+1i*B; %% Lectura de las condiciones iniciales Nbarras = length(Y); vbase = xlsread('Datos de Ingreso.xlsx','Voltaje','C6:C6'); voltaje = xlsread('Datos de Ingreso.xlsx','Voltaje'); v = voltaje(1,:); th = voltaje(2,:); potencia = xlsread('Datos de Ingreso.xlsx','Potencia'); Pg = potencia(1,:); Qg = potencia(2,:); Pc = potencia(3,:); Qc = potencia(4,:); %% Condiciones de Iteraciones tol = 10^-5; %Tolerancia Maxima para el flujo Nmx_it = 10; %Número Máximo de iteraciones para el flujo %% Cálculo de la matriz Jacobiana for iter = 1:Nmx_it n = Nbarras; for i=1:n for j=1:n jac(i,j) = v(i)*(G(i,j)*sin(th(i)-th(j))-B(i,j)*cos(th(i)-th(j)))*v(j); jac(i+n,j) = -v(i)*(G(i,j)*cos(th(i)-th(j))+B(i,j)*sin(th(i)-th(j)))*v(j); jac(i,j+n) = -jac(i+n,j); jac(i+n,j+n)= jac(i,j); end end for i=1:n Q(i,1) = sum(jac(i,1:n)); P(i,1) = -sum(jac(i+n,1:n)); end J11 J12 J21 J22
= = = =
jac(1:n,1:n); jac(1:n,n+1:2*n); jac(n+1:2*n,1:n); jac(n+1:2*n,n+1:2*n);
for j = 1:n J11(j,j) = -Q(j,1)-B(j,j)*v(j)^2; J12(j,j) = P(j,1)+G(j,j)*v(j)^2; J21(j,j) = P(j,1)-G(j,j)*v(j)^2; J22(j,j) = Q(j,1)-B(j,j)*v(j)^2; end J = [J11 J12; J21 J22]; %% Cálculo de la Potencia especificada for i=1:n Sesp(i,1) = Pg(i)- Pc(i); Sesp(i+n,1)= Qg(i)- Qc(i); end %% Cálculo de la Potencia calculada for i=1:n Scal(i,1) = J(n+i,i)+G(i,i)*v(i)^2; Scal(n+i,1)= -J(i,i)-B(i,i)*v(i)^2; PROYECTO EPN, VOL. 1, AGOSTO 2018
FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
end %% Cálculo de las Variaciones de potencia for i = 1:2*n DS(i,1)= Sesp(i)-Scal(i); end %Limite de Iteraciones if max(abs(DS))<= tol P = P+Pc'; Q = Q+Qc'; for i = 1:n if Barras(i)== 1 P(i,:) = 0; Q(i,:) = 0; end end fprintf('N° de iteraciones: %d',iter-1) GeneracionV = table(v',(th*(180/pi))','VariableNames',{'Voltaje' 'Angulo' }) GeneracionS = table(P*vbase,Q*vbase,'VariableNames',{'PkW' 'QVAr' }) xlswrite('Resultados.xlsx',iter-1','Iteraciones','C2'); xlswrite('Resultados.xlsx',tol','Iteraciones','C3'); xlswrite('Resultados.xlsx',v ,'Voltajes','C3'); xlswrite('Resultados.xlsx',th,'Voltajes','C4'); xlswrite('Resultados.xlsx',P*vbase, 'Potencias','C4'); xlswrite('Resultados.xlsx',Q*vbase, 'Potencias','D4'); xlswrite('Resultados.xlsx',Pc'*vbase','Potencias','E4'); xlswrite('Resultados.xlsx',Qc'*vbase','Potencias','F4'); break end %% Reducción de las filas y columnas de la matriz Jacobiana % Descrpción del Tipo de barra %0: Barra de compensación V0 %1: Barra de carga PQ %2: Barra de generaciòn PV Barras = (xlsread('Datos de Ingreso.xlsx','Tipo de barra'))'; dir = 1; V0 = 0; %Número de Barras de compensación PV = 0; %Número de Barras de generación for j = 1:n if Barras(j)==0 erase(dir)=j; erase(dir+1)=j+n; dir=dir+2; V0=V0+1; elseif Barras(j)==2 erase(dir)=j+n; dir=dir+1; PV=PV+1; end end J(erase,:) =[]; J(:,erase) =[]; DS(erase,:)=[]; %% Factorizacion triangular [n,n] = size(J); for k = 1:n L(k,k) = 1; for i = k+1:n L(i,k) = J(i,k) / J(k,k); for j = k+1:n J(i,j) = J(i,j) - L(i,k)*J(k,j); PROYECTO EPN, VOL. 1, AGOSTO 2018
FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA
end end for j = k:n U(k,j) = J(k,j); end end n = n(1); %% Sustitución hacia adelante y = DS; for j = 1:n-1 y(j) = y(j)/L(j,j); y(j+1:n) = y(j+1:n) - y(j)*L(j+1:n,j); end y(n)= y(n)/L(n,n); %% Sustitución hacia atrás x = y; for j = n:-1:2 x(j) = x(j)/U(j,j); x(1:j-1) = x(1:j-1) - x(j)*U(1:j-1,j); end x(1)=x(1)/U(1,1); x; %% Actualización de los Datos de voltaje y ángulo Thdir = x(1:length(Barras)-V0-PV+1); %Dirección de separación de los ángulos Vdir = x(length(Barras)-V0-PV+2:length(x));%Dirección de separación de los voltajes c1 = 1; c2 = 1; % Contadores for i = 1:length(Barras) if Barras(i)== 1 %2: Barra de carga v(i) = Vdir(c1)+v(i); th(i)= Thdir(c2)+th(i); c1 = c1+1; c2 = c2+1; end if Barras(i)== 2 %1: Barra de generaciòn th(i)= Thdir(c2)+th(i); c2 = c2+1; end end end
PROYECTO EPN, VOL. 1, AGOSTO 2018