Vous êtes sur la page 1sur 35

Trabajo n 002-2017-Laboratorio

Espacio de Vectores

Objetivos:
1) Demostrar que se puede analizar el espacio de vectores obtenido de la
transformacin de secuencia 012 en Matlab.
2) Entender el modelamiento de las corrientes trifsicas expresadas a travs de
las dos componentes, tanto de la componente permanente como de la
armnica.

Demostracin:
El estudio de mquinas elctricas rotativas depende en gran parte del sistema de
coordenadas elegido. Segn donde se han elegido tres fasores cooplanares y
congruentes en un punto, existen seis grados de libertad: la magnitud y ngulo para
cada uno de ellos. Si se elige por ejemplo una condicin que puede ser que la suma
de los tres fasores sea nula, uno de estos est determinado por la suma de los otros
dos, con lo que se han eliminado dos grados de libertad.
Para un sistema general de n fasores coplanares y congruentes en un punto, por
tanto, existirn 2*n grados de libertad. Es posible, por medio de una transformacin
escribir los n vectores como n sistemas con un punto en comn.
Anlisis del Tema (Marco Conceptual):
Entendiendo la transformada de Fortescue:
Si se considera que los autovectores poseen las siguientes componentes complejas:

Con lo que la matriz de transformacin resulta en la conocida matriz compleja de


componentes simtricas de Fortescue.
Ntese que los autovectores, x1, x2, x3, corresponden a la representacin de
vectores unitarios de secuencia cero, positiva y negativa respectivamente

Si despejamos I012=P*Iabc, tenemos:


Tomaremos en cuenta para la simulacin la siguiente estructura para las
corrientes.

1) Programacin en MATLAB:

clear all
clc
j=sqrt(-1);
phi=2*pi/3;
% Matriz de fortescue(Transformada parametros de secuencia)
a=cos(phi)+j*sin(phi);
A=[1 1 1;1 a a^2;1 a^2 a];
% Insertamos los Parmetros "M", "alpha" y "n".
m = input('Enter value of m > ')
alpha = input('Enter attenuation factor, alpha > ')
n = input('Enter value of harmonic order n > ')
% Vector Tiempo de Simulacin, controlar la grfica
t=0:0.01:0.95;
% Magnitudes de Corrientes trifsicas
Ia=10.*exp(-alpha.*t).*cos(m*2*pi.*t)+(10/n).*cos(n*2*pi.*t);
Ib=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-2*pi/3))+(10/n).*cos(n*(2*pi.*t-
2*pi/3));
Ic=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-4*pi/3))+(10/n).*cos(n*(2*pi.*t-
4*pi/3));

Iabc=[Ia;Ib;Ic];
% Transformacin en Corrientes de Secuencias "012"
I012=A*Iabc;

% Extraccin de Datos-Parte Real y Imaginaria 1-2 respectivamente;


y1(1,:)=abs(I012(2,:)).*cos(angle(I012(2,:)));
y1(2,:)=abs(I012(2,:)).*sin(angle(I012(2,:)));

y2(1,:)=abs(I012(3,:)).*cos(angle(I012(3,:)));
y2(2,:)=abs(I012(3,:)).*sin(angle(I012(3,:)));

% Graficos I1,I2
subplot(2,3,1)
plot(y1(1,:),y1(2,:),'-')
axis([-20 20 -20 20])
axis square
title('Secuencia Positiva I1')
subplot(2,3,2)
plot(y2(1,:),y2(2,:),'-')
axis([-20 20 -20 20])
axis square
title('Secuencia Negativa I2')
subplot(2,3,4)
plot(t,Ia,'-')
axis([0 1 -20 20])
% Graficos Ia,Ib,Ic
axis square
title('Ia(t)')
subplot(2,3,5)
plot(t,Ib,'-')
axis([0 1 -20 20])
axis square
title('Ib(t)')
subplot(2,3,6)
plot(t,Ic,'-')
axis([0 1 -20 20])
axis square
title('Ic(t)')
- Probando con el Sptimo armnico:
Enter value of m > 1
m=
1
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 7
n=
7

FIGURA: Secuencias Positiva, Negativa y grficos de corrientes de


fase.
- Probando con el Quinto armnico:
Enter value of m > 1
m=
1
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 5
n=
5

FIGURA: Secuencias Positiva, Negativa y grficos de corrientes de


fase.
Probaremos el circuito cambiando valores del parmetro m.
m= 2
Enter value of m > 2
m=
2
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 1
n=
1
Probaremos el circuito cambiando valores del parmetro m.

m= 5
Enter value of m > 5
m=
5
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 1
n=
1
Probaremos el circuito cambiando valores del parmetro m y
n.
m= 5 y n=3

Enter value of m > 5


m=
5
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 3
n=
3
Probaremos el circuito cambiando valores del parmetro m y
n.
m=7 y n=5

Enter value of m > 7


m=
7
Enter attenuation factor, alpha > 0
alpha =
0
Enter value of harmonic order n > 5
n=
5
Trabajo n 003-2017-Laboratorio

Transformacin de abc a qd0

Objetivos:
1) Verificar el comportamiento de las corrientes qd0s y qd0 en el tiempo.
2) Entender el modelamiento de las corrientes trifsicas expresadas a travs de
las dos componentes, tanto de la componente permanente como de la
armnica.

Anlisis del Tema (Marco Conceptual):

Para aclarar
- qd0s: Estacionario
- qd0: Rotacional

PASO1: Primero transformamos del sistema abc al sistema qd0s(sistema


estacionario)
PASO2: Segundo transformamos del sistema qd0s al sistema qd0(sistema
Rotacional)

Tomamos en cuenta la variacin de en el tiempo: (t)=2*pi*t+ (0)


1) Programacin en MATLAB:

clear all
clc
j=sqrt(-1);

% Insertamos los Parmetros "M", "alpha" y "n".


m = input('Ingrese el valor de m')
alpha = input('Ingrese el valor de alpha')
n = input('Ingrese el valor de n')
theta = input('Ingrese el valor inicial de theta(angulo
rotacional)')
% Vector Tiempo de Simulacin, controlar la grfica
i=1
t1=0:0.01:3;

for t=0:0.01:3
% Magnitudes de Corrientes trifsicas
Ia=10.*exp(-alpha.*t).*cos(m*2*pi.*t)+(10/n).*cos(n*2*pi.*t);
Ib=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-
2*pi/3))+(10/n).*cos(n*(2*pi.*t-2*pi/3));
Ic=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-
4*pi/3))+(10/n).*cos(n*(2*pi.*t-4*pi/3));
IIa(:,i)=Ia;
Iabc=[Ia;Ib;Ic];
% Aplicamos la Transformada de qd0s(abc a qd0s)
IIqd0s=(2/3).*[1 -0.5 -0.5;0 -sqrt(3)/2 sqrt(3)/2;0.5 0.5
0.5]*Iabc;
Iqd0s(:,i)=IIqd0s;
% Aplicamos la Transformada de qd0(qd0s a qd0)
phi=2*pi.*t+theta*pi/180;
IIqd0=[cos(phi) -1*sin(phi) 0;sin(phi) cos(phi) 0;0 0 1]*IIqd0s;
Iqd0(:,i)=IIqd0;
i=i+1;
end

% Graficos Ia,Iqs,Ids,I0s,Iq,Id
subplot(3,3,1)
plot(t1,IIa,'-')
axis([0 3 -20 20])
axis square
title('Ia(t)')
subplot(3,3,2)
plot(t1,Iqd0s(1,:),'-')
axis([0 3 -20 20])
axis square
title('Iqs(t)')
subplot(3,3,3)
plot(t1,Iqd0s(2,:),'-')
axis([0 3 -20 20])
axis square
title('Ids(t)')
subplot(3,3,4)
plot(t1,Iqd0s(3,:),'-')
axis([0 3 -20 20])
axis square
title('I0s(t)')
subplot(3,3,5)
plot(t1,Iqd0(1,:),'-')
axis([0 3 -20 20])
axis square
title('Iq(t)')
subplot(3,3,6)
plot(t1,Iqd0(2,:),'-')
axis([0 3 -20 20])
axis square
title('Id(t)')
Probaremos eliminando del cdigo el efecto del armnico (borrando n
de la estructura de las corrientes):
Y logramos la figura del libro entregado por el ingeniero.
Estas son las corrientes que se consider para este primer grafico
- Ia=10.*exp(-alpha.*t).*cos(m*2*pi.*t);
- Ib=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-2*pi/3));
- Ic=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-4*pi/3));

Ingrese el valor de m1

m=

Ingrese el valor de alpha0

alpha = 0

Ingrese el valor inicial de theta(angulo rotacional)45

theta =

45
Estas son las corrientes que se consider para este segundo grafico

- Ia=10.*exp(-alpha.*t).*cos(m*2*pi.*t)+(10/n).*cos(2*pi.*t);

- Ib=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-
2*pi/3))+(10/n).*cos((2*pi.*t-2*pi/3));

- Ic=10.*exp(-alpha.*t).*cos(m*(2*pi.*t-
4*pi/3))+(10/n).*cos((2*pi.*t-4*pi/3));

Ingrese el valor de m 5

m= 5

Ingrese el valor de Alpha 0

alpha = 0

Ingrese el valor de n 1

n= 1

Ingrese el valor inicial de theta(angulo rotacional)45

theta = 45
Trabajo n 003-2017-Laboratorio

Simulacin s1 de un Generador Sncrono

Objetivos:
1) Observar como son afectados tanto los parmetros como las variables de la
mquina sncrona al generar una perturbacin en su Tensin de excitacin,
Torque Mecnico, o en las tensiones del Estator.
2) Entender el modelamiento de las corrientes trifsicas expresadas a travs de
las dos componentes, tanto de la componente permanente como de la
armnica-ya que considerando ambas componentes se pueden simular fallas.

Anlisis del Tema (Marco Conceptual):


Entendiendo las Transformadas y el Concepto de flujos magnticos en la
Mquina Sncrona.

a) Una vez que comprendemos las transformadas, de los captulos anteriores


tenemos las tensiones en qd0(rotacional)de las Tensiones Estatricas:
b) Ahora formulamos las ecuaciones de Flujos totales en la mquina,
relacionndolos con los parmetros inductivos de la misma en ambas partes
de la mquina.

c) Ahora analizamos el torque


d) Consideramos lo siguiente con respecto al Angulo de la mquina, en funcin
el Angulo que presente ambas partes de la mquina con respecto a la
referencia.

e) Consideraremos al final el arreglo a travs de valores unitarios de la mquina,


teniendo las siguientes ecuaciones del movimiento:
2) Programacin en MATLAB(Usaremos el simulink para
poder resolver los sistemas de ecuaciones diferenciales):

% MATLAB script file m1.m file for Projects 1 and 5 on

clear all
clc

% parameters of SET3C.M

Perunit = 1 % parameters given in per unit of machine base

Frated = 60;
Poles = 2;
Pfrated= 0.9;
Vrated =26e3;
Prated=722.222e6;
rs = 0.004; % estimate
xd = 1.92;
xq = 1.85;
xls = 0.19;
xpd = 0.34;
xpq = 0.60;
xppd = 0.26;
xppq = 0.26;
Tpdo = 4.8;
Tpqo = 1.0;
Tppdo = 0.04;
Tppqo = 0.053;
H = 3.; % estimate
Domega = 0; % mechanical damping coeff

% Calculate base quantities


we = 2*pi*Frated;
wbase = 2*pi*Frated;
wbasem = wbase*(2/Poles);
Sbase = Prated/Pfrated;
Vbase = Vrated*sqrt(2/3); % Use peak values as base quantites
Ibase = sqrt(2)*(Sbase/(sqrt(3)*Vrated));
Zbase = Vbase/Ibase;
Tbase = Sbase/wbasem;

% Calculate dq0 equivalent circuit parameters

if(xls ==0) xls = x0 % assume leakage reactance = zero_sequence


end

xmq = xq - xls;
xmd = xd - xls;
xplf = xmd*(xpd - xls)/(xmd - (xpd-xls));

xplkd = xmd*xplf*(xppd-xls)/(xplf*xmd - ...


(xppd-xls)*(xmd+xplf));

xplkq = xmq*(xppq - xls)/(xmq - (xppq-xls));

rpf = (xplf + xmd)/(wbase*Tpdo);

rpkd = (xplkd + xpd - xls)/(wbase*Tppdo);

rpkq = (xplkq + xmq)/(wbase*Tppqo);

% Convert to per unit dqo circuit parameters

if(Perunit == 0) % parameters given in Engineering units


fprintf('Dq0 circuit paramters in per unit\n')

H = 0.5*J_rotor*wbasem*wbasem/Sbase;
rs = rs/Zbase;
xls = xls/Zbase;

xppd = xppd/Zbase;
xppq = xppq/Zbase;
xpd = xpd/Zbase;
xpq = xpq/Zbase;

x2 = x2/Zbase;
x0 = x0/Zbase;

xd = xd/Zbase;
xq = xq/Zbase;

xmd = xmd/Zbase;
xmq = xmq/Zbase;

rpf = rpf/Zbase;
rpkd = rpkd/Zbase;
rpkq = rpkq/Zbase;

xplf = xplf/Zbase;
xplkd = xplkd/Zbase;
xplkq = xplkq/Zbase;

end
%****************************************************
% Establish initial conditions for starting simulation

wb=wbase;
xMQ = (1/xls + 1/xmq + 1/xplkq)^(-1);
xMD = (1/xls + 1/xmd + 1/xplf + 1/xplkd)^(-1);

% Specify desired operating condition lists


P = 1.0;% specify range and increment of real
Q = 0; % and reactive output power,
% P is negative for motoring
Vt = 1. + 0*j; % specify terminal voltage
thetaeo = angle(Vt); % initial value of voltage angle
Vm = abs(Vt);
St = P+Q*j; % generated complex power

It = conj(St/Vt);
Eq = Vt + (rs + j*xq)*It;
delt = angle(Eq); % angle Eq leads Vt

% compute q-d steady-state variables

Eqo = abs(Eq);
I = It*(cos(delt) - sin(delt)*j);% same as I = (conj(Eq)/Eqo)*It;
Iqo = real(I);
Ido = -imag(I); % when the d-axis lags the q-axis
Efo = Eqo + (xd-xq)*Ido;
Ifo = Efo/xmd;

Psiado = xmd*(-Ido + Ifo);


Psiaqo = xmq*(-Iqo);

Psiqo = xls*(-Iqo) + Psiaqo;


Psido = xls*(-Ido) + Psiado;
Psifo = xplf*Ifo + Psiado;
Psikqo = Psiaqo;
Psikdo = Psiado;

Vto = Vt*(cos(delt) - sin(delt)*j);


Vqo = real(Vto);
Vdo = -imag(Vto);
Sto = Vto*conj(I);
Eqpo = Vqo + xpd*Ido + rs*Iqo;
Edpo = Vdo - xpq*Iqo + rs*Ido;

delto = delt;% initial value of rotor angle


thetaro = delto+thetaeo;% thetar(0) in variable frequency oscillator
Pemo = real(Sto);
Qemo = imag(Sto);
Tmech = Pemo;

T2piby3 = 2*pi/3; % phase angle of bus phase voltages

% set up loop for repeating multiple cases using the same


% starting condition

repeat_option = 2 ; % set initially to 2 to repeat yes for more cases


while repeat_option == 2

% prompt for choice of disturbance


disp('Choices of disturbance')
opt_dist = menu('Your choice of disturbances? ','Step change in Eex', 'Step
change in Tmech','Step change in Vm')

if (opt_dist == 1) % step change in Eex


tstop = 5; % run time
Vm_time = [0 tstop];
Vm_value = [1 1]*Vm; % Bus voltage kept constant
tmech_time = [0 tstop];
tmech_value = [1 1]*Tmech; % Tmech kept constant
Ex_time = [0 0.2 0.2 tstop];
Ex_value = [1 1 1.1 1.1]*Efo; % step change in Eex
disp(' Disturbance sequence in Eex is ')
Ex_time
Ex_value
end % if for step change in Eex

if (opt_dist == 2) % step change in Tmech


tstop = 5; % run time
Vm_time = [0 tstop];
Vm_value = [1 1]*Vm; % Bus voltage kept constant
tmech_time = [0 0.5 0.5 3 3 tstop];
tmech_value = [1 1 0 0 -1 -1]*Tmech; % step change in Tmech
Ex_time = [0 tstop];
Ex_value = [1 1]*Efo; % Eex kept constant
disp(' Disturbance sequence in Tmech is ')
tmech_time
tmech_value
end % if for step change in Tmech

if (opt_dist == 3) % step change in Vm


tstop = 100.5; % run time
tmech_time = [0 tstop];
tmech_value = [1 1]*Tmech; % step change in Tmech
Ex_time = [0 tstop];
Ex_value = [1 1]*Efo; % Eex kept constant
disp('Three phase terminal short-circuit fault')
disp('will be applied at 0.1 second into the simulation')
ncycle = input('Enter in the number of cycles desired > ')
tfault = ncycle/Frated; % fault time
tfstart = 0.1; % set fault to begin at 0.1 sec into simulation
Vm_time = [0 tfstart tfstart (tfstart+tfault) (tfstart+tfault) tstop];
Vm_value = [1 1 1 1 1 1]*Vm; % Vm is zero during short circuit
disp(' Disturbance sequence in Vm is ')
Vm_time % print array
Vm_value % print array
end % if for step change in Vm

% Transfer to keyboard for simulation


disp('Simulation s1.m is now ready for running,');
disp(' You may still enter changes to parameters or input values')
disp(' via the MATLAB window before running s1')
disp('Ater running s1, type ''return'' for plots');
keyboard
clf;
subplot(4,1,1)
plot(y(:,1),y(:,2),'-')
ylabel('|Vt| in pu')
axis([-inf inf 0.9 1.1])
title('stator voltage magnitude')
subplot(4,1,2)
plot(y(:,1),y(:,3),'-')
ylabel('|It| in pu')
axis([-inf inf 0 inf])
title('stator current magnitude')
subplot(4,1,3)
plot(y(:,1),y(:,4),'-')
ylabel('Pgen in pu')
title('Real power generated')
subplot(4,1,4)
plot(y(:,1),y(:,5),'-')
ylabel('Qgen in pu')
xlabel('time in sec')
title('Reactive power generated')

h2=figure;
subplot(4,1,1)
plot(y(:,1),y(:,6),'-')
ylabel('Delta in rad')
title('Power angle delta')
subplot(4,1,2)
plot(y(:,1),y(:,7),'-')
ylabel('Tem in pu')
title('Instantaneous electrical torque')
subplot(4,1,3)
plot(y(:,1),y(:,8),'-')
ylabel('If in pu')
title('Field current')
subplot(4,1,4)
plot(y(:,1),y(:,9),'-')
ylabel('ia in pu')
xlabel('time in sec')
title('Instantaneous phase a current')

disp('Save plots array before typing return to exit')


keyboard
close (h2)
% prompt for options to repeat over with determination of Ipm
% for new terminal condition or
% just with new parameters, eg inertia or loading.
repeat_option = menu('Repeat run?,','Quit','Repeat run');
if isempty(repeat_option) % if empty return a 1 to terminate
repeat_option = 1;
end % if isempty
end % while repeat for another runs
Graficaremos teniendo en cuenta los tres tipos de
perturbaciones.
Con la primera perturbacin que es la perturbacin de Tensin de Excitacin(Eexc)
Tenemos:
Choices of disturbance
opt_dist =
1
Disturbance sequence in Eex is
Ex_time =
0 0.2000 0.2000 5.0000
Ex_value =
2.1664 2.1664 2.3830 2.3830

En simulink:
En Matlab:
Graficaremos teniendo en cuenta los tres tipos de
perturbaciones.
Con Segunda perturbacin que es la perturbacin de Torque Mecnico(Tmech)
Choices of disturbance
opt_dist = 2
Disturbance sequence in Tmech is
tmech_time =
Columns 1 through 5
0 0.5000 0.5000 3.0000 3.0000
Column 6
5.0000
tmech_value =
1 1 0 0 -1 -1

En simulink:
En Matlab
Graficaremos teniendo en cuenta los tres tipos de
perturbaciones.
Con Tercera perturbacin que es la perturbacin de Tension Estator Maxima(Vm)

Choices of disturbance
opt_dist =
3
Three phase terminal short-circuit fault
will be applied at 0.1 second into the simulation
Enter in the number of cycles desired > 1
ncycle =
1
Disturbance sequence in Vm is
Vm_time =
Columns 1 through 5
0 0.1000 0.1000 0.1167 0.1167
Column 6
100.5000
Vm_value =
1 1 1 1 1 1
En Simulink:
En Matlab:
CONCLUSIONES:
- Como pudimos evaluar con la insercin de datos(m,n,alpha)
podemos variar el tipo de seal entrante(corriente) y generar
fallas o la aparicin de armnicos en la misma seal.
- En la simulacin dqo se pudo evaluar el desarrollo de las
transformadas tanto para un mismo sistema o para sistemas
referidos como lo es la transformada dq0(en mquinas rotativas)
- En el ltimo laboratorio, con el anlisis realizado se pudo
establecer un sistema en Matlab-Simulink de la mquina
Sncrona, pudiendo as notar las variaciones en sus variables al
momento de la ocurrencia de una perturbacin, estamos
hablando de las tres antes vistas, perturbacin en la excitacin,
en el torque mecnico y en la tensin de fase del estator.
- Para finalizar se pudo completar los primeros laboratorios
cumpliendo con el requisito de haberlo desarrollado todo en
MATLAB, pero en el ltimo laboratorio, no se pudo cumplir este
requisito ya que se presentaron sistemas de ecuaciones
diferenciales, por lo cual se vieron involucrados los parmetros
matemticos de integracin y derivacin, teniendo como
consecuencia la complejidad de la solucin en solo MATLAB sin la
ayuda de SIMULINK, en conclusin, el ultimo laboratorio solo se
analiz a travs de la modelacin de la mquina sncrona, como
influencia los parmetros externos al funcionamiento de la
mquina.

Vous aimerez peut-être aussi