Вы находитесь на странице: 1из 11

1

ANÁLISIS DE ESTABILIDAD EN EL SNI REDUCIDO A 53 BARRAS Y 20


GENERADORES CON LA IMPLEMENTACIÓN DE GOVERNADORES Y
REGULADORES DE VOLTAJE
Janeta Auquilla Luis Fabricio
Angos Guevara Reynaldo

Sistemas Eléctricos de Potencia, Escuela Politécnica Nacional

Quito, Ecuador

luis.janeta@epn.edu.ec
reynaldo.angos@epn.edu.ec

Abstract—En el presente documento se mostrará el estudio de mismo o si las acciones a realizarse no son las correctas se
estabilidad transitoria aplicado en el SIN reducido a 53 barras y puede ocasionar un colapso parcial o incluso total del sistema.
20 generadores, por el método de Rugen Kutta, con el fin de Debido a que las consecuencia por perdida de estabilidad
determinar el comportamiento del sistema frente a una falla,
comportamiento de las variables de estado como voltaje, ángulos transitoria que se podría ocasionar es necesario conocer de
internos de los generadores, etc. Ya que Rugen Kutta me permite manera rápida y oportuna la respuestas de las máquinas ante
obtener un método de solución mucho más rápido evitando la distintas contingencias que se podrían presentar, con la ayuda
corrida de flujos de potencias innecesarios y solo se enfoca en la de análisis matemático que nos permite saber el
respuesta de las ecuaciones de oscilación de los generadores, que comportamiento del sistema dentro del lapso que dura la
me permite obtener un análisis en el tiempo. El estudio será
perturbación, modelos o análisis matemáticos que permitan la
realizado con la ayuda del software de Matlab, finalmente se
procederán analizar los resultados que se obtuvieron solución de ecuaciones diferencial como Rugen Kutta, Euler,
considerando el modelo matemático de dicho método. Método Paso a Paso, criterio de igualdad de áreas, etc.

Index Terms—Estabilidad Transitoria, Voltaje internos, II.MÉTODO DE RUNGE KUTTA


ángulos internos, Y reducida, admitancia, suceptancia,
Los métodos de Runge Kutta son un conjunto de métodos
predicciones, oscilaciones, ciclos, perturbaciones.
iterativos implícitos y explícitos para la aproximación de
soluciones de ecuaciones diferenciales ordinarias del problema
de valor inicial.
I. INTRODUCCIÓN
A partir del valor inicial:

L A estabilidad transitoria es la capacidad del Sistema


eléctrico para mantener el sincronismo cuando es
sometido a una perturbación[1].
De forma general tenemos:

Una perturbación que puede ser por ejemplo una pérdida de


generación o la pérdida de una cantidad importante de carga. Donde h es el paso por iteración, el incremento entre los
La pérdida de estabilidad en los sistemas eléctricos de puntos t(n) y t(n+1).
potencia afecta de forma directa a las máquinas sincrónicas De esta forma obtenemos los términos de aproximación
mediante grandes variaciones de los ángulos y grandes intermedios:
oscilaciones de los flujos de potencia, de los voltajes y de
otras variables del sistema, ya que las máquinas sincrónicas
son las encargadas de entregar el suficiente torque
sincronizante ante algún desbalance que se produzca entre
generación y carga.[1], [2]
Siendo el caso de que las máquinas no entreguen el
suficiente torque sincronizante, estas perderán el El siguiente valor (yn+1) es determinado por el presente valor
sincronismos, el cual se hace evidente transcurridos 2 o 3 (yn) más el producto del tamaño del intervalo (h) por una
segundos desde la perturbación, Pero si la separación angular pendiente estimada. La pendiente es un promedio ponderado
entre generadores sincrónicos permanece acotada entonces el de pendientes, donde k 1 es la pendiente al principio del
sistema se mantiene en sincronismo. intervalo, k 2 es la pendiente en el punto medio del intervalo,
Si el sistema no vuelve a sincronismo luego de salir del
2

h Una vez obtenidos los cálculos preliminares, o condiciones


usando k 1 para determinar el valor de y en el punto  x n +   iniciales se procede a desarrollar el método de Rugen Kutta.
2
1) Primeras derivadas en el Punto medio.
. k 3 es otra vez la pendiente del punto medio, pero ahora dωi , 1 ωs
usando k 2 para determinar el valor de y; k 4 es la pendiente al = ( Pm i−Pei , 0 )
dt 2 Hi (8)
final del intervalo, con el valor de y determinado por k 3.
dδ i , 1
Promediando las cuatro pendientes, se le asigna mayor peso a =ωi ,1 −ω s
las pendientes en el punto medio: dt (9)
2) Primera Predicción del Punto Medio
dω Δt
ωi , 1=ωi , 0 + i , 1 .
dt 2 (10)
dδ Δt
III. RESOLUCIÓN DE SISTEMAS DE ECUACIONES δ i , 1=δ i ,0 + i ,1 .
DIFERENCIALES POR RUGEN KUTTA dt 2 (11)
Un Sistema Multi – máquina puede ser escrito o descrito de
manera similar a un Sistema de una sola máquina, hacienda las 3) Se procede a calcular la Potencia eléctrica de salida del
siguientes consideraciones. generador.
n
 Cada máquina sincrónica es representada con un Pe , 1 =Ei ∑ (Gij cos ( δ ij )+ Bij sin( δ ij ) ) E j
voltaje interno E detrás de una reactancia ‘X’. j =1 (12)
 La potencia de entrada es constante. 4) Primera derivada en el punto medio.
 Usar voltajes de las barras pre fallas, todas las cargas dωi, 2 ωs
deben ser modeladas como admitancias a tierra. = ( Pm i−Pei , 1 )
dt 2 Hi (13)
 El amortiguamiento y los efectos asíncronos se ignoran.
dδ i , 2
A. Solución del sistema multi – máquina. =ωi ,1 −ω s
dt (14)
Solucionar el flujo de potencia inicial y determinar los
5) Segunda predicción en el punto medio.
voltajes de las barras y el ángulo de fase.
dω Δt
Si ¿ jQ i ωi , 2=ωi, 0 + i, 2 .
Ii = ¿ = ¿ dt 2 (15)
Vi Vi (1) dδ i ,2 Δt
'
Ei =V i + jX d I i
' δ i, 2=δ i ,0 + .
(2) dt 2 (16)
Modelar la carga como impedancia constante. 6) Se actualiza el valor de la potencia eléctrica.
P i− jQi n
y i 0= Pe , 2 =Ei ∑ (G ij cos ( δ ij )+ Bij sin( δ ij ) ) E j
|V i|2 (3) j =1 (17)
Ecuaciones nodales del Sistema. 7) Segunda derivada
In Y Y nr V n dωi , 3 ωs
[ ][
o
= nn
Y rn Y rr V 'r ][ ] (4)
dt
=
2 Hi
( Pm i−Pe i, 2 )
(18)
Calcular la potencia eléctrica y mecánica de salida de las dδ i , 3
=ωi ,2 −ω s
maquinas en estado estable antes de la perturbación. Debido a dt (19)
que este estudio se centra a el estudio de un cortocircuito 8) Predicción en el segundo punto.
trifásico se deben además determinar las Y reducidas. dω
n ωi , 3=ωi , 0 + i , 3 . Δt
Pe , i=Re {Ei , I i }=Ei ∑ (G ij cos ( δ ij )+ Bij sin( δ ij ) ) E j dt (20)
j =1 dδ i ,3
(5) δ i, 3=δ i , 0 + . Δt
n dt (21)
Q e , i =Re {Ei , I i }=Ei ∑ (G ij sin ( δ ij )−Bij cos ( δ ij )) E j 9) Actualizar valores de potencia eléctrica.
j=1 n
(6) Pe , 3 =Ei ∑ ( G ij cos( δ ij )+ Bij sin( δ ij )) E j
Luego de determinar las condiciones iniciales del Sistema j=1 (22)
se procede a determinar las matrices reducidas de admitancia,
con la ayuda de la reducción de Kramer, la Yred, se obtendrá a 10) Derivada en el siguiente punto, derivada ponderada.
partir del desarrollo de la ecuación 4. dωi, 4 ω s
In = ( Pmi −Pei , 3 )
Yred= =Y nn−Y nr Y −1 Y rn dt 2 Hi (23)
Vn rr (7)
3

dδ i , 4 VI. RESULTADOS GRÁFICOS DEL SISTEMA


=ω i , 3 −ω s
dt (24) A. Ángulos Internos de los generadores sincrónicos.
11) Derivadas Ponderosas. El Rugen Kutta nos permite realizar un análisis de
d ω i 1 dωi , 1 dω dω dω estabilidad del sistema por lo cual cómo podemos observar en
dt (
=
6 dt
+2 i , 2 +2 i , 3 + i , 4
dt dt dt ) (25)
la figura los ángulos delta antes de la perturbación son
estables, pero posterior empiezan a oscilar las variables de
d δ 1 dδ dδ i ,2 dδ dδ estado y se atenúan a lo largo del tiempo hasta que exista la
= (
i i ,1
+2 +2 i ,3 + i , 4 ) apertura.
dt 6 dt dt dt dt (26)
12) Predicción Final
d ωi
ωi ( t + Δt )=ω i ( t )+ Δt
dt (27)
d δi
δ i ( t+ Δt )=δ i ( t )+ Δt
dt (28)
Como se puede observar el método de Rugen Kutta, permite
obtener la forma en como varían las variables de estado del
generador, flujo de potencia, velocidad angular en el tiempo,
en presencia de la perturbación ya que si se disminuye la
variación del tiempo, se puede incluso obtener un análisis más
preciso y resultados que se apegan a la realidad de lo que se B. Potencias Activa.
espera. Este método es útil solo hasta 1 segundo ya que más La potencia activa cae ya que cae el voltaje y por lo tanto se
allá de ese tiempo el modelo matemático se desapega de la crea una potencia de aceleración que causa las oscilaciones
realidad en la máquina.[3] hasta que el sistema encuentre otro punto de operación.
Como se mencionó en la introducción los estudios de
estabilidad Transitoria en sistemas multi máquina abordan
problemas tales como grandes y repentinos disturbios
ocasionados por la ocurrencia de una falla, la repentina
eliminación de una línea o la entrada o salida de una carga.

IV. APLICACIÓN SEP REDUCIDO SNI


Después de analizar detenidamente la metodología a usar en
el análisis de estabilidad transitoria, se muestra los resultados
obtenidos después de la aplicación de Rugen Kutta en
MatLab, además de las condiciones iniciales del sistema.[4]
A. Descripción de sistema empleado.
C.Potencias Reactiva.
El sistema aplicado es el mostrado en clase, los datos fueron
proporcionados para realizar el flujo de potencia, obtener Durante la falla existe una entrega de reactivos, ya que los
condiciones iniciales y por medio del software Power Factory voltajes caen y se necesita estabilizar los voltajes, logrando
DigSilent. esto por medio de la entrega de reactivos por cada uno de los
Con lo cual por medio del método explicado se obtuvieron los generadores. Al ser la diferencia de voltajes entre barras
siguientes resultados proporcional a la potencia reactiva se demuestra nuevamente
Los datos obtenidos se encuentran en un archivo Excel que el flujo de potencia reactiva se dirige a la falla.
exportado del Power Factory.

V. DESCRIPCIÓN DEL PROGRAMA EN MATLAB.


El programa en Matlab fue desarrollado tomando en cuenta
una falla cerca de la barra 40 entre la barra 40 y 41.
Por medio de este informe se trata de implementar un
código mediante Matlab en el cual se visualizará por medio
del método de Rugen Kutta el análisis de estabilidad del
sistema de 50 barras y 20 generadores reducido del SNI.
El código se encuentra dentro del ANEXO 1 en donde se
puede visualizar la parte de programación del flujo de potencia
y del Rugen Kutta.
4

D.Velocidad del generador comportamiento frente a fallas o algún evento que ocasione la
Inicialmente las maquinas tienen una velocidad inicial igual al salida temporal o permanente de un generador, porque así se
ser un sistema sincrónico, pero posterior a la falla cada puede prever lo que pueda pasar en el sistema y lo que la falla
generador sufre afectaciones dependiendo de la ubicación en o evento pueda ocasionar dentro del sistema, como variación
el SEP y de sus características constructivas, como la de ángulo, variación de voltaje que son las dos principales que
constante de inercia (H). si una de las dos varia, varia el flujo de potencia que por el
sistema existe cambiando las condiciones de su
funcionamiento, que en muchos de los casos el sistema no
puede soportar.
Considerando estos cambios que se puedan dar el análisis
de estabilidad puede darme una respuesta aproximada y así
poder solucionar el problema ya sea dimensionando o
coordinando protecciones, calibres de conductores,
dimensionamiento de líneas de transmisión, etc.
El método de Rugen Kutta permite obtener un método de
solución más rápido ya que es un método iterativo corto,
evitando así el cálculo de varios flujos de potencia.

BIBLIOGRAFIA
VII. CONCLUSIONES Y RECOMENDACIONES. [1] P. LEDESMA, Estabilidad Transitoria. Madrid, España, 2008.
[2] E. MORENO y V. HINOJOSA, “ANÁLISIS DE ESTABILIDAD
El tiempo de interés para el estudio de estabilidad, es de 3 a TRANSITORIA PARA EL SISTEMA ELÉCTRICO ECUATORIANO
5 segundos, existiendo la posibilidad de que la falla se UTILIZANDO REDES NEURONALES ARTIFICIALES”, Escuela
extienda hasta 10 segundos para sistemas muy grandes, sin Politecnica Nacional, Cenace, Quito, Ecuador
[3] A. Goméz, “HERRAMIENTA COMPUTACIONAL PARA EL
embargo, el análisis por el método de Rugen Kutta, es de
ÁNALISIS DE ESTABILIDAD TRANSITORIA EN SISTEMAS
máximo hasta 2 segundos, ya que las condiciones del sistema MULTIMÁQUINA”, Universidad de los Andes, Mérida, 2008.
cambian y el modelo matemático deja de ser el adecuado para [4] S. PADHI y B. MISHRA, “Solution of Swing equation for Transient
el fenómeno ocurrido. Stability Analysis in Dual-machine System”, vol. 05, pp. 34–39.
Rugen Kutta permite obtener las formas de onda
aproximadas a lo que ocurre en el transcurso del tiempo,
debido a que ofrece una solución a las ecuaciones
diferenciales, específicamente a las ecuaciones de oscilación.
Existe una gran ventaja en predecir los posibles
5

ANEXO 1

clear all
clc
close all
fprintf (' ------------------------------------------------- \n');
fprintf (' | ESCUELA POLITECNICA NACIONAL | \n');
fprintf (' | FACULTAD DE INGENIERIA ELECTRICA Y ELECTR?NICA | \n');
fprintf (' | DEPARTAMENTO DE ENERGIA ELECTRICA | \n');
fprintf (' | SISTEMAS ELECTRICOS DE POTENCIA | \n');
fprintf (' ------------------------------------------------- ');
fprintf('\n');
fprintf (' SNI REDUCIDO 53 BARRAS CON REGULADORES');
fprintf('\n\n');
fprintf('Realizado por: Reynaldo Angos G.\n');
fprintf(' Luis Janeta A. ');
fprintf('\n\n');
fprintf (' --------------------- \n');
fprintf(' | INICIO DEL PROGRAMA |\n');
fprintf (' --------------------- \n');
Sb=100;%100 MVA
error=1;
b=0;
ngen=20;
fallad=40;%40 %donde ocurre la falla
fallah=41;%41
datosbarra=xlsread('Data_Proyecto','DATOS BARRAS');
datosred=xlsread('Data_Proyecto','DATOS RED');
load('datosbarra')
load('datosred')

barra=datosbarra(:,1); %Separacion de datos


PG=datosbarra(:,2)/Sb;
QG=datosbarra(:,3)/Sb;
PC=datosbarra(:,4)/Sb;
QC=datosbarra(:,5)/Sb;
V=datosbarra(:,6);
t=datosbarra(:,7);
tipo=datosbarra(:,8);
xd=datosbarra(:,9);
H=datosbarra(:,10);

bd=datosred(:,1);
bh=datosred(:,2);
r=datosred(:,3);
x=datosred(:,4);
ys=datosred(:,5)/Sb*j;
circ=datosred(:,6);
circ=circ./circ;
z=r+j*x; %Elementos serie
z=z./circ;
yp=1./z;

y=ys.*circ; %elementos en paralelo


6

nbarra=length(barra); %cantidad datos de barra


nred=length(bd); %cantidad datos de red

%V=ones(nbarra,1); %Valores iniciales de voltaje


t=zeros(nbarra,1); %Valores iniciales de ángulo

for i=1:nred
YB_nr(bd(i),bh(i))=-yp(i); %Son como cooredenadas
YB_nr(bh(i),bd(i))=-yp(i); %Fuera de la diagonal
end
for i=1:nbarra
YB_nr(i,i)=sum(yp(find(bd==i)))+sum(yp(find(bh==i)))
+sum(y(find(bd==i)))/2+sum(y(find(bh==i)))/2;
end

dtV=1;
while max(abs(dtV))>10e-5 %JACOBIANO
for i=1:nbarra %Elementos fuera de la diagonal
for j=1:nbarra
J11(i,j)=V(i)*(real(YB_nr(i,j))*sin(t(i)-t(j))-imag(YB_nr(i,j))*cos(t(i)-
t(j)))*V(j); %dPi/dtj
J21(i,j)=-V(i)*(real(YB_nr(i,j))*cos(t(i)-t(j))+imag(YB_nr(i,j))*sin(t(i)-
t(j)))*V(j); %dQi/dtj
J12(i,j)=-J21(i,j);
%Vj*dPi/dVj
J22(i,j)=J11(i,j);
%Vj*dQi/dVj
end
end

for i=1:nbarra %Potencia Calculada


Qcal(i,1)=sum(J11(i,1:nbarra));
Pcal(i,1)=-sum(J21(i,1:nbarra));
end

for i=1:nbarra %Elementos de la diagonal


J11(i,i)=-Qcal(i)-imag(YB_nr(i,i))*V(i)^2;
J12(i,i)=Pcal(i)+real(YB_nr(i,i))*V(i)^2;
J21(i,i)=Pcal(i)-real(YB_nr(i,i))*V(i)^2;
J22(i,i)=Qcal(i)-imag(YB_nr(i,i))*V(i)^2;
end
dV=V;
dt=t;
tipo1=tipo;
tipo2=tipo;
tipo3=tipo;
Pesp=PG-PC;
Qesp=QG-QC;
dP=Pesp-Pcal;
dQ=Qesp-Qcal;

aux=tipo;
J11(find(tipo==0),:)=[]; %Eliminando barras V0
J11(:,find(tipo==0))=[];
J12(find(tipo==0),:)=[];
J12(:,find(tipo==0))=[];
J21(find(tipo==0),:)=[];
J21(:,find(tipo==0))=[];
J22(find(tipo==0),:)=[];
7

J22(:,find(tipo==0))=[];
dt(find(tipo==0))=[];
tipo1(find(tipo==0))=[];
tipo2(find(tipo==0))=[];
dV(find(tipo==0))=[];
dP(find(tipo==0))=[];
dQ(find(tipo==0))=[];
aux(find(tipo==0))=[];

J12(:,find(aux==2))=[]; %Eliminando barra PV


J21(find(aux==2),:)=[];
J22(find(aux==2),:)=[];
J22(:,find(aux==2))=[];
tipo2(find(tipo==2))=[];
dV(find(aux==2))=[];
dQ(find(aux==2))=[];

J=[J11 J12; J21 J22]; %Uniendo submatrices


tV=[dt;dV];
dPQ=[dP;dQ];
dtV=J^-1*dPQ;
tV=tV+dtV;

a=1; %Para coordinar donde se deben


sumar los errores
for i=1:nbarra
if tipo(i)==2 || tipo(i)==1
t(i)=tV(a);
a=a+1;
end

end
for i=1:nbarra
if tipo(i)==1
V(i)=tV(a);
a=a+1;
end
end
b=b+1;
end

clear j;
for i=1:nbarra %Cálculo de las potencias de
generacion
if tipo(i)==0
PG(i)=Pcal(i)+PC(i);
QG(i)=Qcal(i)+QC(i);
elseif tipo(i)==2
QG(i)=Qcal(i)+QC(i);
end
end
I=conj((PG+j.*QG)./(V.*exp(j.*t)));
Ev=V.*exp(j.*t)+j.*xd.*I;

E=abs(Ev');
d=angle(Ev')*180/pi;
t=t*180/pi;
%%
z_rk=z; %Elementos serie tomando en cuenta
xd
8

clear j
for i=1:ngen
z_rk(i)=z_rk(i)+j*xd(i);
end
yp_rk=1./z_rk;

yl=PC./V.^2-j.*QC./V.^2; %Cargas en admitancias


y_rk=y;

for i=1:nred
YB_rk(bd(i),bh(i))=-yp_rk(i); %Son como cooredenadas
YB_rk(bh(i),bd(i))=-yp_rk(i); %Fuera de la diagonal
end
for i=1:nbarra
YB_rk(i,i)=sum(yp_rk(find(bd==i)))+sum(yp_rk(find(bh==i)))
+sum(y_rk(find(bd==i)))/2+sum(y_rk(find(bh==i)))/2+yl(i);
end

YB_rk_pos=YB_rk;
YB_rk_pos(fallad,fallad)=YB_rk_pos(fallad,fallad)+YB_rk_pos(fallad,fallah);
YB_rk_pos(fallah,fallah)=YB_rk_pos(fallah,fallah)+YB_rk_pos(fallad,fallah);
YB_rk_pos(fallad,fallah)=0;
YB_rk_pos(fallah,fallad)=0;

YB_rk_falla=YB_rk;
YB_rk_falla(fallad,:)=[];
YB_rk_falla(:,fallad)=[];

%Datos necesarios para Runge Kutta: PG=Pm=pe d Yred (pre falla pos) E
Resp1=[E' d'];
Resp2=[V t];
xlswrite('Respuesta Flujo.xlsx',barra,'Hoja1','B4');%barras
xlswrite('Respuesta Flujo.xlsx',Resp1,'Hoja1','C4');%E, d
xlswrite('Respuesta Flujo.xlsx',Resp2,'Hoja1','E4');%V, t
d=angle(Ev')*pi/180;

YBr_pre=YB_rk(1:ngen,1:ngen)-
YB_rk(1:ngen,ngen+1:nbarra)*YB_rk(ngen+1:nbarra,ngen+1:nbarra)^-
1*YB_rk(ngen+1:nbarra,1:ngen);
YBr_falla=YB_rk_falla(1:ngen,1:ngen)-YB_rk_falla(1:ngen,ngen+1:nbarra-
1)*YB_rk_falla(ngen+1:nbarra-1,ngen+1:nbarra-1)^-1*YB_rk_falla(ngen+1:nbarra-
1,1:ngen);
YBr_pos=YB_rk_pos(1:ngen,1:ngen)-
YB_rk_pos(1:ngen,ngen+1:nbarra)*YB_rk_pos(ngen+1:nbarra,ngen+1:nbarra)^-
1*YB_rk_pos(ngen+1:nbarra,1:ngen);
%%

Pe=zeros(1,ngen);
Qe=zeros(1,ngen);
for j=1:ngen
for k=1:ngen
pe(j,k)=E(j)*(real(YBr_pre(j,k))*cos(d(j)-d(k))+imag(YBr_pre(j,k))*sin(d(j)-
d(k)))*E(k);
qe(j,k)=E(j)*(real(YBr_pre(j,k))*sin(d(j)-d(k))-imag(YBr_pre(j,k))*cos(d(j)-
d(k)))*E(k);
Pe(j)=Pe(j)+pe(j);
Qe(j)=Qe(j)+qe(j);
end
end
Pm0=Pe;
9

%%
Km=0.1;
Tm=0.1;
Ka=0.1;
Ta=0.02;
ws=377;
w=ws*ones(1,ngen);
m=4;
H=H([1:ngen])';
xd=xd([1:ngen])';
paso=0.002;
tfalla=0.2;%0.2
tposf=0.3;

tiempo=0:paso:2;
ngen=20;
dwm=zeros(m,ngen);
ddm=zeros(m,ngen);
dwp=zeros(1,ngen);
ddp=zeros(1,ngen);
dDpm=zeros(1,ngen);
DP0=zeros(1,ngen);
dDEm=zeros(1,ngen);
DE0=zeros(1,ngen);
d=d(1:20);
w0=w;
d0=d;
W=w;
D=d;
PM=Pm0;
E2=E([1:ngen]);
E0=E2;
Vref=V([1:ngen],:)';
V0=Vref;
PE=Pe;
QE=Qe;

for i=1:length(tiempo)-1
if tiempo(i)>=tfalla %Escojer YB
YBr=YBr_falla; %Falla
else
YBr=YBr_pre; %Pre
end
if tiempo(i)>=tposf
YBr=YBr_pos; %Pos
end
for m=1:4
if m==1 || m==2
dwm(m,:)=(ws./(2.*H)).*(Pm0-Pe); %Pendientes
ddm(m,:)=w-ws;
% dDpm(m,:)=Km/Tm*ddm(m,:)-DP0;
% dDEm(m,:)=Ka/Ta*(Vref-V0)-DE0./Ta;

w=w0+dwm(m,:).*paso./2; %Predicciones
d=d0+ddm(m,:).*paso./2;
% DP=DP0+dDpm(m,:).*paso/2;
% Pm=Pm0+DP;
% DE=DE0+dDEm(m,:).*paso/2;
% E=E0+DE;
10

else
dwm(m,:)=(ws./(2.*H)).*(Pm0-Pe); %Pendientes
ddm(m,:)=w-ws;
% dDpm(m,:)=Km/Tm*ddm(m,:)-DP0;
% dDEm(m,:)=Ka/Ta*(Vref-V0)-DE0./Ta;

w=w0+dwm(m,:).*paso; %Predicciones
d=d0+ddm(m,:).*paso;
% DP=DP0+dDpm(m,:).*paso;
% Pm=Pm0+DP;
% DE=DE0+dDEm(m,:).*paso/2;
% E=E0+DE;
end

Pe=zeros(1,ngen);
Qe=zeros(1,ngen);
for j=1:ngen
for k=1:ngen
pe(j,k)=E(j)*(real(YBr(j,k))*cos(d(j)-d(k))+imag(YBr(j,k))*sin(d(j)-
d(k)))*E(k);
qe(j,k)=E(j)*(real(YBr(j,k))*sin(d(j)-d(k))-imag(YBr(j,k))*cos(d(j)-
d(k)))*E(k);
Pe(j)=Pe(j)+pe(j);
Qe(j)=Qe(j)+qe(j);
end
end
clear j
% V0=abs(E.*exp(j*d)-((Pe-j*Qe)./E.*exp(-j*d)).*(j*xd));
end

dwp=(dwm(1,:)+2.*dwm(2,:)+2.*dwm(3,:)+dwm(4,:))./6;
ddp=(ddm(1,:)+2.*ddm(2,:)+2.*ddm(3,:)+ddm(4,:))./6;
% dDpp=(dDpm(1,:)+2.*dDpm(2,:)+2.*dDpm(3,:)+dDpm(4,:))./6;
% dDEp=(dDEm(1,:)+2.*dDEm(2,:)+2.*dDEm(3,:)+dDEm(4,:))./6;

w0=w0+dwp.*paso;
d0=d0+ddp.*paso;
% DP0=DP0+dDpp.*paso;
% Pm0=Pm0+DP0;
% DE0=DE0+dDEp.*paso;
% E0=E0+DE0;

W=[W;w0]; %Almacenando las variables para plot


D=[D;d0];
PE=[PE;Pe];
QE=[QE;Qe];
% PM=[PM;Pm0];
% E2=[E2;E0];
end

figure(1)
for i=1:ngen
plot(tiempo,W(:,i))
title('Velocidad vs Tiempo')
ylabel('Velocidad [rad/s]')
xlabel('Tiempo [s]')
hold on
end
grid minor
11

figure(2)
for i=1:ngen
plot(tiempo,D(:,i))
title('Ángulo vs Tiempo')
ylabel('Ángulo [rad]')
xlabel('Tiempo [s]')
hold on
end
grid minor

figure(3)
for i=1:ngen
plot(tiempo,PE(:,i))
axis([0 2 -40 40])
title('Potencia Activa vs Tiempo')
ylabel('Potencia Activa [p.u.]')
xlabel('Tiempo [s]')
hold on
end
grid minor

figure(4)
for i=1:ngen
plot(tiempo,QE(:,i))
axis([0 2 -40 20])
title('Potencia reactiva vs Tiempo')
ylabel('Potencia reactiva [p.u]')
xlabel('Tiempo [s]')
hold on
end
grid minor

% figure(5)
% for i=1:ngen
% plot(tiempo,PM(:,i))
% % axis([0 2 -50 50000])
% title('Potencia Mecanica vs Tiempo')
% ylabel('Potencia Activa [p.u.]')
% xlabel('Tiempo [s]')
% hold on
% end
% grid minor

Вам также может понравиться