File - Electrical Engineering at ADCET Ashta.

advertisement
Department of Electrical Engineering
POWER SYSTEM
STABILITY AND CONTROL
Laboratory Manual
(Release 1.0)
Semester – VI, TE- II, Shivaji University Kolhapur
Editor
Iranna Korachagaon – Assistant Professor
Assistance
Amit Raut - Lecturer
ANNASAHEB DANGE COLLEGE OF ENGINEERING & TECHNOLOGY, ASHTA
LIST OF EXPERIMENTS
As per Shivaji University Syllabus effective from the year 2009-10
SUBJECT: POWER SYSTEM STABILITY AND CONTROL
Class: TE – II Electrical Engineering (Sem. VI)
Ex. No.
Practical: 2 Hours/ Week
Name of the Experiment
1
Symmetrical components from an unbalanced system
2
Unbalanced system from symmetrical components
3
4
Sequence impedances, complex power in terms of
symmetrical components.
Unsymmetrical Faults
5
Optimal power dispatch
6
Using Fluke 434 Power analyzer*
7
Power Angle Curve
8
Equal Area Criterion
9
Load frequency control
10
Stability by swing curve
Page No.
*Out of syllabus
Reference Book:
Power System Analysis – Hadi Sadat, Tata McGraw-Hill Edition 2002.
Power System Stability and Control
1
Experiment 1: Symmetrical components from an unbalanced system.
To obtain the symmetrical components of a set of unbalanced currents Ia=1.6L25⁰,
Ib=1.0L180⁰ and Ic=0.9L132⁰. [Ref. Ex10.1, PSA, Hadi Sadat]
%Ex 10.1 Haadi Saadat
Iabc = [1.6 25
1.0 180
0 .9 132];
I012 = abc2sc(Iabc);
% Symmetrical components of phase a
I012p= rec2pol(I012) % Converts rectangular phasors into polar form
% The function returns the symmetrical components in rectangular form.
% The function plots the original unbalanced phasors and the % symmetrical components.
function [symcomp] = abc2sc(fabc)
rankfabc=length(fabc(1,:));
if rankfabc == 2
mag= fabc(:,1); ang=pi/180*fabc(:,2);
fabcr=mag.*(cos(ang)+j*sin(ang));
elseif rankfabc ==1
fabcr=fabc;
else
fprintf('\n Three phasors must be expressed in a one column array in rectangular complex
form \n')
fprintf(' or in a two column array in polar form, with 1st column magnitude & 2nd column
\n')
fprintf(' phase angle in degree. \n')
return, end
a=cos(2*pi/3)+j*sin(2*pi/3);
A = [1 1 1; 1 a^2 a; 1 a a^2];
fa012=inv(A)*fabcr;
symcomp= fa012;
%scpolar = [abs(fa012) 180/pi*angle(fa012)];
%fprintf(' \n Symmetrical components \n')
%fprintf(' Magnitude Angle Deg.\n')
%disp(scpolar)
fabc0=fa012(1)*[1; 1; 1];
fabc1=fa012(2)*[1; a^2; a];
fabc2=fa012(3)*[1; a; a^2];
Power System Stability and Control
2
figure
subplot(221);
[Px, Py, Vscale]= phasor3(fabcr);
[Px0, Py0, Vscale0]= phasor3(fabc0);
[Px1, Py1, Vscale1]= phasor3(fabc1);
[Px2, Py2, Vscale2]= phasor3(fabc2);
Vscle=max([Vscale, Vscale0, Vscale1, Vscale2]);
plot(Px', Py','r')
title('a-b-c set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(222);
plot(Px0', Py0','g')
title('Zero-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(223);
plot(Px1', Py1','m')
title('Positive-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(224);
plot(Px2', Py2','b')
title('Negative-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(111)
--- --- --- --- --- --- ---
Power System Stability and Control
3
RESULT
I012p =
0.4512 96.4529
0.9435 -0.0550
0.6024 22.3157
Power System Stability and Control
4
Experiment 2: Unbalanced system from symmetrical components
To obtain the original unbalanced phasor from the given symmetrical components of
a set of three-phase voltages are Va0=0.6L90, Va1=1.0L30 and Va2=0.8L-30. [Ref.
Ex10.2, PSA, Hadi Sadat]
%Ex 10.2 Haadi Saadat
V012 = [0.6 90
1.0 30
0.8 -30];
Vabc = sc2abc(V012); % Unbalanced phasors from symmetrical components
Vabcp= rec2pol(Vabc) % Converts rectangular phasors into polar form
% The function returns the abc phsors in rectangular form.
% The function plots the original symmetrical components and the unbalanced phasors.
function [fabc] = sc2abc(fa012)
rankf012=length(fa012(1,:));
if rankf012 == 2
mag= fa012(:,1); ang=pi/180*fa012(:,2);
fa012r=mag.*(cos(ang)+j*sin(ang));
elseif rankf012 ==1
fa012r=fa012;
else
fprintf('\n Symmetrical components must be expressed in a one column array in
rectangular complex form \n')
fprintf(' or in a two column array in polar form, with 1st column magnitude & 2nd column
\n')
fprintf(' phase angle in degree. \n')
return, end
a=cos(2*pi/3)+j*sin(2*pi/3);
A = [1 1 1; 1 a^2 a; 1 a a^2];
fabc= A*fa012r;
%fabcp= [abs(fabc) 180/pi*angle(fabc)];
%fprintf(' \n Unbalanced phasors \n')
%fprintf(' Magnitude Angle Deg.\n')
%disp(fabcp)
fabc0=fa012r(1)*[1; 1; 1];
fabc1=fa012r(2)*[1; a^2; a];
fabc2=fa012r(3)*[1; a; a^2];
Power System Stability and Control
5
figure
subplot(221);
[Px, Py, Vscale]= phasor3(fabc);
[Px0, Py0, Vscale0]= phasor3(fabc0);
[Px1, Py1, Vscale1]= phasor3(fabc1);
[Px2, Py2, Vscale2]= phasor3(fabc2);
Vscle=max([Vscale, Vscale0, Vscale1, Vscale2]);
plot(Px', Py','r')
title('a-b-c set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(222);
plot(Px0', Py0','g')
title('Zero-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(223);
plot(Px1', Py1','m')
title('Positive-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(224);
plot(Px2', Py2','b')
title('Negative-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(111)
--- --- --- --- --- --- ---
Power System Stability and Control
6
RESULT
Vabcp =
1.7088 24.1825
0.4000 90.0000
1.7088 155.8175
Power System Stability and Control
7
Experiment 3: Sequence impedances, complex power in terms of
symmetrical components.
A three-phase unbalanced source with the following phase-to-neutral voltages
𝟐𝟎𝟎𝑳𝟐𝟓𝟎
𝑽𝒂𝒃𝒄 = [𝟐𝟎𝟎𝑳 − 𝟏𝟓𝟓𝟎 ]
𝟐𝟎𝟎𝑳𝟏𝟎𝟎𝟎
is applied to the circuit as shown. The load series impedance per phase is Zs=8+j24
and the mutual impedance between phases is Zm=j4. The load and source neutrals
are solidly grounded. [Ref. Ex10.4, PSA, Hadi Sadat]
To determine
a) Load sequence impedance matrix Z012=A-1ZabcA
b) The symmetrical components of voltage
c) The symmetrical components of current
d) The load phase currents
e) The complex power delivered to the load in terms of symmetrical components
S3ph=3(Va0Ia0*+ Va1Ia1* +Va2Ia2*)
f) The complex power delivered to the load by summing up the power in each
phase, S3ph=3(VaIa*+ VbIb* +VcIc*)
Power System Stability and Control
8
% Ex. 10.4 Haadi Saadat
Vabc=
[200 25
100 -155
80 100];
Zabc =
[8+j*24 j*4 j*4
j*4 8+j*24 j*4
j*4 j*4 8+j*24];
Z012 = zabc2sc(Zabc)
% Symmetrical components of impedance
V012 = abc2sc(Vabc);
% Symmetrical components of voltage
V012p= rec2pol(V012) % Converts rectangular phasors to polar forms
I012 = inv(Z012)*V012 ;
% Symmetrical components of current
I012p= rec2pol(I012) % Converts rectangular phasors to polar forms
Iabc = sc2abc(I012);
% Phase currents
Iabcp= rec2pol(Iabc) % Converts rectangular phasors to polar forms
S3ph = 3*(V012.')*conj(I012) % Power using symmetrical components
Vabcr = Vabc(:,1).*(cos(pi/180*Vabc(:,2))+j*sin(pi/180*Vabc(:,2)));
S3ph=(Vabcr.')*conj(Iabc) % Power using phase currents and voltages
% This function Obtains the symmetrical components of a 3x3 impedance matrix
function [Z012] = zabc2sc(Zabc)
a =cos(2*pi/3)+j*sin(2*pi/3);
A = [1 1 1; 1 a^2 a; 1 a a^2];
Z012=inv(A)*Zabc*A;
% The function returns the symmetrical components in rectangular form.
% The function plots the original unbalanced phasors and the % symmetrical components.
function [symcomp] = abc2sc(fabc)
rankfabc=length(fabc(1,:));
if rankfabc == 2
mag= fabc(:,1); ang=pi/180*fabc(:,2);
fabcr=mag.*(cos(ang)+j*sin(ang));
elseif rankfabc ==1
fabcr=fabc;
else
fprintf('\n Three phasors must be expressed in a one column array in rectangular complex
form \n')
fprintf(' or in a two column array in polar form, with 1st column magnitude & 2nd column
\n')
fprintf(' phase angle in degree. \n')
Power System Stability and Control
9
return, end
a=cos(2*pi/3)+j*sin(2*pi/3);
A = [1 1 1; 1 a^2 a; 1 a a^2];
fa012=inv(A)*fabcr;
symcomp= fa012;
%scpolar = [abs(fa012) 180/pi*angle(fa012)];
%fprintf(' \n Symmetrical components \n')
%fprintf(' Magnitude Angle Deg.\n')
%disp(scpolar)
fabc0=fa012(1)*[1; 1; 1];
fabc1=fa012(2)*[1; a^2; a];
fabc2=fa012(3)*[1; a; a^2];
figure
subplot(221);
[Px, Py, Vscale]= phasor3(fabcr);
[Px0, Py0, Vscale0]= phasor3(fabc0);
[Px1, Py1, Vscale1]= phasor3(fabc1);
[Px2, Py2, Vscale2]= phasor3(fabc2);
Vscle=max([Vscale, Vscale0, Vscale1, Vscale2]);
plot(Px', Py','r')
title('a-b-c set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(222);
plot(Px0', Py0','g')
title('Zero-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(223);
plot(Px1', Py1','m')
title('Positive-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(224);
plot(Px2', Py2','b')
title('Negative-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(111)
Power System Stability and Control
10
% The function returns the abc phsors in rectangular form.
% The function plots the original symmetrical components and the unbalanced phasors.
function [fabc] = sc2abc(fa012)
rankf012=length(fa012(1,:));
if rankf012 == 2
mag= fa012(:,1); ang=pi/180*fa012(:,2);
fa012r=mag.*(cos(ang)+j*sin(ang));
elseif rankf012 ==1
fa012r=fa012;
else
fprintf('\n Symmetrical components must be expressed in a one column array in
rectangular complex form \n')
fprintf(' or in a two column array in polar form, with 1st column magnitude & 2nd column
\n')
fprintf(' phase angle in degree. \n')
return, end
a=cos(2*pi/3)+j*sin(2*pi/3);
A = [1 1 1; 1 a^2 a; 1 a a^2];
fabc= A*fa012r;
%fabcp= [abs(fabc) 180/pi*angle(fabc)];
%fprintf(' \n Unbalanced phasors \n')
%fprintf(' Magnitude Angle Deg.\n')
%disp(fabcp)
fabc0=fa012r(1)*[1; 1; 1];
fabc1=fa012r(2)*[1; a^2; a];
fabc2=fa012r(3)*[1; a; a^2];
figure
subplot(221);
[Px, Py, Vscale]= phasor3(fabc);
[Px0, Py0, Vscale0]= phasor3(fabc0);
[Px1, Py1, Vscale1]= phasor3(fabc1);
[Px2, Py2, Vscale2]= phasor3(fabc2);
Vscle=max([Vscale, Vscale0, Vscale1, Vscale2]);
plot(Px', Py','r')
title('a-b-c set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
Power System Stability and Control
11
subplot(222);
plot(Px0', Py0','g')
title('Zero-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(223);
plot(Px1', Py1','m')
title('Positive-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(224);
plot(Px2', Py2','b')
title('Negative-sequence set')
axis([-Vscle Vscle -Vscle Vscle]);
axis('square')
subplot(111)
--- --- --- -- -- ---- -- --- ---
Power System Stability and Control
12
RESULT
Z012 =
8.0000 +32.0000i
0.0000 + 0.0000i
0 + 0.0000i
-0.0000 + 0.0000i
8.0000 +20.0000i
0.0000 - 0.0000i
-0.0000 - 0.0000i
-0.0000 + 0.0000i
8.0000 +20.0000i
V012p =
47.7739 57.6268
112.7841 -0.0331
61.6231 45.8825
I012p =
1.4484 -18.3369
5.2359 -68.2317
2.8608 -22.3161
Iabcp =
8.7507 -47.0439
5.2292 143.2451
3.0280 39.0675
S3ph =
9.0471e+002 +2.3373e+003i
S3ph =
9.0471e+002 +2.3373e+003i
Power System Stability and Control
13
Power System Stability and Control
14
Experiment 4: Unsymmetrical faults
The one-line diagram of a simple power system is shown below. The neutral of each
generator is grounded through a current limiting reactor of 0.25/3 per unit on a 100
MVA base. The system data expressed in per unit on a common 100 MVA base is
tabulated below. The generators are running on no-load at their rated voltage and
rated frequency with their emfs in phase. [Ref. Ex10.5, PSA, Hadi Sadat]
Item
Base MVA Voltage rating
X0
X1
X2
G1
100
20 KV
0.05
0.15
0.15
G2
100
20 KV
0.05
0.15
0.15
T1
100
20/ 220 KV
0.10
0.10
0.10
T2
100
20/ 220 KV
0.10
0.10
0.10
L12
100
220 KV
0.30
0.125
0.125
L13
100
220 KV
0.35
0.15
0.15
L23
100
220 KV
0.7125
0.25
0.25
Determine the fault currents for the following faults.
a) A balanced three-phase fault at bus 3 through a fault impedance Zf=j0.1 per
unit.
b) A single-line-to-ground fault at bus 3 through fault impedance Zf=j0.1 per unit.
c) A line-to-line fault at bus 3 through fault impedance Zf=j0.1 per unit.
d) A double-line-to-ground fault at bus 3 through fault impedance Zf=j0.1 per
unit.
Power System Stability and Control
15
%Ex 10.5 Haadi Saadat
Z133 = j*0.22; Z033 = j*0.35; Zf = j*0.1;
disp('(a) Balanced three-phase fault at bus 3')
Ia3F = 1.0/(Z133+Zf)
disp('(b) Single line-to-ground fault at bus 3')
I03 = 1.0/(Z033 + 3*Zf + Z133 + Z133);
I012=[I03; I03; I03]
%sctm;
Iabc3 = sctm*I012
disp('(c) Line-to-line fault at bus 3')
I13 = 1.0/(Z133 + Z133 + Zf);
I012 = [0; I13; -I13]
Iabc3 = sctm*I012
disp('(b) Double line-to-ground fault at bus 3')
I13 = 1/(Z133 + Z133*(Z033+3*Zf)/(Z133+Z033+3*Zf));
I23 = -(1.0 - Z133*I13)/Z133;
I03 = -(1.0 - Z133*I13)/(Z033+3*Zf);
I012 = [I03; I13; I23]
Iabc3 = sctm*I012;
Iabc3p = rec2pol(Iabc3)
function sctm = sctm
global sctm
a =cos(2*pi/3)+j*sin(2*pi/3);
sctm = [1 1 1; 1 a^2 a; 1 a a^2];
Power System Stability and Control
16
RESULTS
(a) Balanced three-phase fault at bus 3
Ia3F =
0 - 3.1250i
(b) Single line-to-ground fault at bus 3
I012 =
0 - 0.9174i
0 - 0.9174i
0 - 0.9174i
Iabc3 =
0 - 2.7523i
0.0000 + 0.0000i
0.0000 + 0.0000i
(c) Line-to-line fault at bus 3
I012 =
0
0 - 1.8519i
0 + 1.8519i
Iabc3 =
0
-3.2075 + 0.0000i
3.2075 - 0.0000i
(b) Double line-to-ground fault at bus 3
I012 =
0 + 0.6579i
0 - 2.6017i
0 + 1.9438i
Iabc3p =
0.0000 90.0000
4.0583 165.9265
4.0583 14.0735
Power System Stability and Control
17
Experiment 5: Optimal power dispatch
The fuel-cost function for three thermal plants in $/h are given by
C1=500+5.3P1+0.004P12; C2=400+5.5P2+0.006P22; C3=500+5.8P3+0.009P32
where P1, P2 and P3 are in MW. The total load Pd is 800 MW. Neglecting line losses
and generator limits, find the optimal dispatch and the total cost in $/h by
a) By analytical method
b) By graphical method
c) By iterative technique using gradient method. [Ref. Ex 7.4, PSA, Hadi Sadat]
% Iterative solution Using Newton method
alpha =[500; 400; 200];
beta = [5.3; 5.5; 5.8]; gama=[.004; .006; .009];
PD=800;
DelP = 10;
% Error in DelP is set to a high value
lambda = input('Enter estimated value of Lambda = ');
fprintf('\n ')
disp([' Lambda P1
P2
P3
DP
grad Delambda'])
iter = 0;
% Iteration counter
while abs(DelP) >= 0.001
% Test for convergence
iter = iter + 1;
% No. of iterations
P = (lambda - beta)./(2*gama);
DelP =PD - sum(P);
% Residual
J = sum( ones(length(gama), 1)./(2*gama));
% Gradient sum
Delambda = DelP/J;
% Change in variable
disp([lambda, P(1), P(2), P(3), DelP, J, Delambda])
lambda = lambda + Delambda;
% Successive solution
end
totalcost = sum(alpha + beta.*P + gama.*P.^2)
%Graphical Demonstration
axis([0 450 6.5 10.5]);
P1=250:10:450; P2 = 150:10:350; P3=100:10:250;
IC1= 5.3 + 0.008*P1;
IC2= 5.5 + 0.012*P2;
IC3= 5.8 + 0.018*P3;
Px = 0:100:400;
plot(P1, IC1, P2, IC2, P3, IC3, Px, lambda*ones(1, length(Px)),'-m'),
xlabel('P, MW'), ylabel(' $/MWh'), grid
Power System Stability and Control
18
RESULTS
Enter estimated value of Lambda = 6
Lambda
6.0000
8.5000
P1
87.5000
400.0000
P2
41.6667
250.0000
P3
11.1111
150.0000
DP
659.7222
0
grad
Delambda
263.8889 2.5000
263.8889 0
totalcost =
6.6825e+003
Power System Stability and Control
19
Experiment 6: Using Power Analyzer for Load Flow Analysis*
Lighting ballast Evaluation
Problem description
In most facilities, lighting is a major element of operating cost. Part of that cost is due to
energy, and part is due to maintenance. The maintenance costs can be significant. Light
fixtures require periodic maintenance — for example, lamps burn out, ballasts fail and
lenses need cleaning. The amount of maintenance required varies with the age and design
of the lighting fixtures. The logistics of that maintenance (e.g., needing a personnel lift for
high ceiling areas) can magnify “typical” cost estimates by an order of magnitude. It is
sometimes cost-effective to replace an entire system with a more efficient one. In the case
described here, the owner decided to replace the entire system.
While reducing the maintenance costs was the driving force in obtaining a replacement
system, reducing energy costs was the driving force in selecting a replacement system.
Determining the actual reduction in energy consumption required significant research. The
Power System Stability and Control
20
research was difficult, because there was no common platform for comparing the widely
varying performance claims from competing suppliers. Sometimes, critical specs were
missing altogether.
The plant engineer decided to compare various units side-by-side, in the field. He began by
asking each supplier to submit a sample for evaluation. Next, he worked on determining
what to measure and how to make the measurements. The final measurement criteria
included measurements of power consumption, power factor, displacement power factor
and harmonic spectrum.
Power consumption and displacement power factor would translate directly to operating
cost. Harmonic distortion was of interest, because the plant engineer knew that high levels
of harmonic current could cause problems for transformers, circuit breakers and other
parts of the electrical distribution system.
Power System Stability and Control
21
To make these measurements easy, the plant engineer chose the Fluke 43B. The electrical
team made measurements using a setup similar to Fig. 1. This is an experiment that you can
easily duplicate on your work-bench.
They recorded data in the matrix table shown here. From the table, you can see they were
able to make comparisons of all the key electrical factors on a level playing field. This
allowed them to select the most cost-effective approach.
It’s worth noting that each manufacturer bases its performance claims on a specified set of
operating conditions — these conditions may be ideal or they may be “typical.” But, the
conditions vary between manufacturers and the conditions differ from actual applications.
Therefore, those claims, while made in good faith, can be a poor basis for a final product
decision. When trying to make economic decisions on lighting or other electrical
applications, measuring actual performance under actual conditions — with the right test
equipment — is a sure way to arrive at the best decision.
Power System Stability and Control
22
Notes to table:
1. The comparison test for compact fluorescents can easily be demonstrated using a desk
lamp and a split extension cord with one conductor wrapped in a 10-turn coil. The 10-turn
coil increases the range of current measurement. Power consumption for one unit would
be the recorded value divided by 10.
2. To make a fair comparison, the line voltage should be the same for each unit tested.
3. The performance value of current THD will depend on the amount of harmonic
distortion on the supply voltage and impedance of the voltage source. It may not be
possible to duplicate the ballast suppliers’ exact specification number — but, if all tests are
made from the same supply source, the performance comparison will be valid.
4. Measurement values for the lamp tested in Fig. 2 and Fig. 3 are recorded as “Brand A.”
The remaining tests for brands C and D are left as an exercise for the reader.
Power System Stability and Control
23
Experiment 7: Power Angle Curve
Consider a synchronous machine characterized by the following parameters:
Xd=1.0, Xq=0.6, X’d=0.3 per unit
and negligible armature resistance. The machine is connected directly to an infinite
bus of voltage 1.0 per unit. The generator is delivering a real power of o.5 per unit at
0.8 power factor lagging. Determine the voltage behind transient reactance and the
transient power-angle equation for the following cases.
a) Neglecting the saliency effect
b) Including the effect of saliency. [Ref. Ex 11.1, PSA, Hadi Sadat]
V=1.0; Xd = 1; Xdd = 0.3; Xq=0.6; th = acos(0.8);
S=0.5/0.8*(0.8 +j*0.6)
Ia = conj(S)/V
disp('Neglecting Saliency')
Ed = V + j*Xdd*Ia
Ed = abs(Ed)
Pmax = Ed*V/Xdd
delta = 0:.01:pi;
P = Pmax*sin(delta);
%
disp('Considering the saliency effect')
d = atan(Xq*abs(Ia)*.8/(V + Xq* abs(Ia)*0.6));
dd=d*180/pi
E = V*cos(d)+Xd*abs(Ia)*sin(d+th)
Edq = (Xdd*E-(Xdd - Xd)*V*cos(d))/Xd
Pmax1 = Edq*V/Xdd, Pmax2=V^2*(Xdd - Xq)/(2*Xdd*Xq)
Ps =Pmax1*sin(delta)+ Pmax2*sin(2*delta);
%plot(delta*180/pi, P, delta*180/pi, Ps), grid
subplot(1,2,1), plot(delta*180/pi, P), grid
ylabel('Pe')
subplot(1,2,2), plot(delta*180/pi, Ps), grid
ylabel('Pe')
[Pmax, k]=max(Ps)
dmax=delta(k)*180/pi
subplot(111)
Power System Stability and Control
24
RESULTS
S = 0.5000 + 0.3750i
Ia = 0.5000 - 0.3750i
Neglecting Saliency
Ed = 1.1125 + 0.1500i
Ed = 1.1226
Pmax = 3.7419
Considering the saliency effect
dd = 13.7608
E = 1.4545
Edq = 1.1162
Pmax1 = 3.7208
Pmax2 = -0.8333
Pmax = 4.0321
k = 193
dmax = 110.0079
Power System Stability and Control
25
Experiment 8: Equal Area Criterion
The machine is delivering a real power of 0.6 per unit at 0.8 power factor lagging to
the infinite bus bar. The infinite bus bar voltage is 1.0 per unit. Determine,
a) The maximum power input that can be applied without loss of synchronism.
b) Repeat (a) with zero initial power input. Assume the generator internal
voltage remains constant at the value computed in (a).
The transfer reactance and the generator internal voltage were found to be X=0.65
pu and E’=1.35 pu. [Ref. Ex 11.4, PSA, Hadi Sadat]
% (a) Initial real power P0 = 0.60
P0 = 0.6; E = 1.35; V = 1.0; X = 0.65;
eacpower(P0, E, V, X)
h=figure;
% (b) Zero initial power
P0 = 0;
eacpower(P0, E, V, X)
function eacpower(P0, E, V, X)
% This program obtains the power angle curve for a one-machine system
% during normal operation. Using equal area criterion the maximum input
% power that can be suddenly applied for the machine to remain critically
% stable is obtained.
%
% Copyright (c) 1998 H. Saadat
if exist('P0')~=1
P0 = input('Generator initial power in p.u. P0 = '); else, end
if exist('E')~=1
E = input('Generator e.m.f. in p.u. E = '); else, end
if exist('V')~=1
V = input('Infinite bus-bar voltage in p.u. V = '); else, end
if exist('X')~=1
X = input('Reactance between internal emf and infinite bus in p.u. X = '); else, end
Pemax= E*V/X;
if P0 >= Pemax
fprintf('\nP0 must be less than the peak electrical power Pemax = %5.3f p.u. \n', Pemax)
Power System Stability and Control
26
fprintf('Try again. \n\n')
return, end
d0=asin(P0/Pemax);
delta = 0:.01:pi;
Pe = Pemax*sin(delta);
dmax=pi;
Ddmax=1;
while abs(Ddmax) > 0.00001
Df = cos(d0) - (sin(dmax)*(dmax-d0)+cos(dmax));
J=cos(dmax)*(dmax-d0);
Ddmax=Df/J;
dmax=dmax+Ddmax;
end
dc=pi-dmax;
Pm2=Pemax*sin(dc);
Pmx =[0 pi-d0]*180/pi; Pmy=[P0 P0];
Pm2x=[0 dmax]*180/pi; Pm2y=[Pm2 Pm2];
x0=[d0 d0]*180/pi; y0=[0 Pm2]; xc=[dc dc]*180/pi; yc=[0 Pemax*sin(dc)];
xm=[dmax dmax]*180/pi; ym=[0 Pemax*sin(dmax)];
d0=d0*180/pi; dmax=dmax*180/pi; dc=dc*180/pi;
x=(d0:.1:dc);
y=Pemax*sin(x*pi/180);
%y1=Pe2max*sin(d0*pi/180);
%y2=Pe2max*sin(dc*pi/180);
x=[d0 x dc];
y=[Pm2 y Pm2];
xx=dc:.1:dmax;
h=Pemax*sin(xx*pi/180);
xx=[dc xx dmax];
hh=[Pm2 h Pm2];
delta=delta*180/pi;
%clc
fprintf('\nInitial power
=%7.3f p.u.\n', P0)
fprintf('Initial power angle
=%7.3f degrees \n', d0)
fprintf('Sudden additional power
=%7.3f p.u.\n', Pm2-P0)
fprintf('Total power for critical stability =%7.3f p.u.\n', Pm2)
fprintf('Maximum angle swing
=%7.3f degrees \n', dmax)
fprintf('New operating angle
=%7.3f degrees \n\n\n', dc)
fill(x,y,'m')
Power System Stability and Control
27
hold;
fill(xx,hh,'c')
plot(delta, Pe,'-', Pmx, Pmy,'g', Pm2x,Pm2y,'g', x0,y0,'c', xc,yc, xm,ym,'r'), grid
Title('Equal-area criterion applied to the sudden change in power')
xlabel('Power angle, degree'), ylabel(' Power, per unit')
axis([0 180 0 1.1*Pemax])
hold off;
RESULTS
Initial power
= 0.600 p.u.
Initial power angle
= 16.791 degrees
Sudden additional power
= 1.084 p.u.
Total power for critical stability = 1.684 p.u.
Maximum angle swing
=125.840 degrees
New operating angle
= 54.160 degrees
Current plot held
Initial power
Initial power angle
Sudden additional power
Total power for critical stability
Maximum angle swing
New operating angle
= 0.000 p.u.
= 0.000 degrees
= 1.505 p.u.
= 1.505 p.u.
=133.563 degrees
= 46.437 degrees
Current plot held
Power System Stability and Control
28
Power System Stability and Control
29
Experiment 9: Load Frequency Control
An isolated power station has the following parameters
Turbine time constant =0.5 sec
Governor time constant = 0.2 sec
Generator inertia constant = 5
Governor speed regulation = R per unit
The load varies by 0.8 percent for a 1 percent change in frequency, i.e. D=0.8
a) Use MATLAB rlocus function to obtain the root locus plot.
b) The governor speed regulation is set to R=0.05 per unit. The turbine rated
output is 250 MW at nominal frequency of 60 Hz. A sudden load change of 50
MW (PL=0.2 per unit) occurs,
i)
Find the steady-state frequency deviation in Hz.
ii)
Use MATLAB to obtain the time-domain performance specifications
and the frequency deviation step response.
[Ref. Ex 12.1, PSA, Hadi Sadat]
disp('Example 12.1 (b) Root-locus')
num = 1;
den = [1 7.08 10.56 .8];
figure (1), rlocus(num, den)
disp('Example 12.1 (c) Frequency deviation step response')
PL = 0.2;
numc = [0.1 0.7 1];
denc = [1 7.08 10.56 20.8];
t = 0:.02:10;
c = -PL*step(numc, denc, t);
figure(2), plot(t, c), grid
xlabel('t, sec'), ylabel('pu')
title('Frequency deviation step response')
timespec(numc, denc)
RESULTS
Example 12.1 (b) Root-locus
Example 12.1 (c) Frequency deviation step response
Peak time = 1.22311
Percent overshoot = 54.8019
Rise time = 0.418873
Settling time = 6.80249
Power System Stability and Control
30
Power System Stability and Control
31
Experiment 10: Stability by Swing Curve
In the system given, a three-phase fault at the middle of one line is cleared by
isolating the faulted circuit simultaneously at both ends.
a) The fault is cleared in 0.3 second. Obtain the numerical solution of the swing
equation for 1.0 second using the modified Euler method with a step size of
t=0.01 second. From the swing curve, determine the system stability.
b) Repeat the simulation and obtain the swing plots for the critical clearing time
and when the fault is cleared in 0.5 second. [Ref. Ex 11.6, PSA, Hadi Sadat]
global Pm f H E V X1 X2 X3
Pm = 0.80; E = 1.17; V = 1.0;
X1 = 0.65; X2 = 1.80; X3 = 0.8;
H = 5.0; f = 60; tf = 1; Dt = 0.01;
% (a) Fault is cleared in 0.3 sec.
tc = 0.3;
swingmeu(Pm, E, V, X1, X2, X3, H, f, tc, tf, Dt)
% (b) Fault is cleared in 0.4 sec. and 0.5 sec.
tc = .5;
swingmeu(Pm, E, V, X1, X2, X3, H, f, tc, tf, Dt)
tc = .4;
swingmeu(Pm, E, V, X1, X2, X3, H, f, tc, tf, Dt)
disp('Parts (a) & (b) are repeated using swingrk4')
disp('Press Enter to continue')
pause
tc = 0.3;
swingrk4(Pm, E, V, X1, X2, X3, H, f, tc, tf)
tc = .5;
swingrk4(Pm, E, V, X1, X2, X3, H, f, tc, tf)
tc = .4;
swingrk4(Pm, E, V, X1, X2, X3, H, f, tc, tf)
Power System Stability and Control
32
% This program solves the swing equation of a one-machine system
% when subjected to a three-phase fault with subsequent clearance
% of the fault. Modified Euler method
%
% Copyright (c) 1998 H. Saadat
%
function swingmeu(Pm, E, V, X1, X2, X3, H, f, tc, tf, Dt)
%global Pm f H E V X1 X2 X3
clear t
if exist('Pm')~=1
Pm = input('Generator output power in p.u. Pm = '); else, end
if exist('E')~=1
E = input('Generator e.m.f. in p.u. E = '); else, end
if exist('V')~=1
V = input('Infinite bus-bar voltage in p.u. V = '); else, end
if exist('X1')~=1
X1 = input('Reactance before Fault in p.u. X1 = '); else, end
if exist('X2')~=1
X2 = input('Reactance during Fault X2 = '); else, end
if exist('X3')~=1
X3 = input('Reactance after Fault X3 = '); else, end
if exist('H')~=1
H = input('Generator Inertia constant in sec. H = '); else, end
if exist('f')~=1
f = input('System frequency in Hz f = '); else, end
if exist('Dt')~=1
Dt = input('Time interval Dt = '); else, end
if exist('tc')~=1
tc = input('Clearing time of fault in sec tc = '); else, end
if exist('tf')~=1
tf = input('Final time for swing equation in sec tf = '); else, end
Pe1max = E*V/X1; Pe2max=E*V/X2; Pe3max=E*V/X3;
clear t x1 x2 delta
d0 =asin(Pm/Pe1max);
t(1) = 0;
x1(1)= d0;
x2(1)=0;
np=tf /Dt;
Pemax=Pe2max;
Power System Stability and Control
33
ck=pi*f/H;
for k = 1:np
if t(k) >= tc
Pemax=Pe3max;
else, end
t(k+1)=t(k)+Dt;
Dx1b=x2(k);
Dx2b=ck*(Pm-Pemax*sin(x1(k)));
x1(k+1)=x1(k)+Dx1b*Dt;
x2(k+1)=x2(k)+Dx2b*Dt;
Dx1e=x2(k+1);
Dx2e=ck*(Pm-Pemax*sin(x1(k+1)));
Dx1=(Dx1b+Dx1e)/2;
Dx2=(Dx2b+Dx2e)/2;
x1(k+1)=x1(k)+Dx1*Dt;
x2(k+1)=x2(k)+Dx2*Dt;
end
delta=180*x1/pi;
clc
fprintf('\nFault is cleared at %4.3f Sec. \n', tc)
head=['
'
' time delta Dw '
' s
degrees rad/s'
'
'];
disp(head)
disp([t', delta' x2'])
h=figure; figure(h)
plot(t, delta), grid
title(['One-machine system swing curve. Fault cleared at ', num2str(tc),'s'])
xlabel('t, sec'), ylabel('Delta, degree')
cctime(Pm, E, V, X1, X2, X3, H, f) % Obtains the critical clearing time
% This program solves the swing equation of a one-machine system
% when subjected to a three-phase fault with subsequent clearance
% of the fault.
%
% Copyright (c) 1998 H. Saadat
Power System Stability and Control
34
%
function swingrk4(Pm, E, V, X1, X2, X3, H, f, tc, tf, Dt)
%global Pm f H E V X1 X2 X3
if exist('Pm') ~= 1
Pm = input('Generator output power in p.u. Pm = '); else, end
if exist('E') ~= 1
E = input('Generator e.m.f. in p.u. E = '); else, end
if exist('V') ~= 1
V = input('Infinite bus-bar voltage in p.u. V = '); else, end
if exist('X1') ~= 1
X1 = input('Reactance before Fault in p.u. X1 = '); else, end
if exist('X2') ~= 1
X2 = input('Reactance during Fault X2 = '); else, end
if exist('X3') ~= 1
X3 = input('Reactance after Fault X3 = '); else, end
if exist('H') ~= 1
H = input('Generator Inertia constant in sec. H = '); else, end
if exist('f') ~= 1
f = input('System frequency in Hz f = '); else, end
if exist('tc') ~= 1
tc = input('Clearing time of fault in sec tc = '); else, end
if exist('tf') ~= 1
tf = input('Final time for swing equation in sec tf = '); else, end
Pe1max = E*V/X1; Pe2max=E*V/X2; Pe3max=E*V/X3;
clear t x delta
d0 =asin(Pm/Pe1max);
t0 = 0;
x0 = [d0; 0];
tol=0.001;
%[t1,xf]=ode45('pfpower', t0, tc, x0, tol); % During fault solution (use with MATLAB 4)
tspan = [t0; tc];
% use with MATLAB 5
[t1,xf]=ode45('pfpower', tspan, x0); % During fault solution (use with MATLAB 5)
x0c =xf(length(xf), :);
%[t2,xc] =ode45('afpower', tc, tf, x0c, tol); % After fault solution (use with MATLAB 4)
tspan = [tc, tf];
% use with MATLAB 5
[t2,xc] =ode45('afpower', tspan, x0c); % After fault solution (use with MATLAB 5)
t =[t1; t2]; x = [xf; xc];
Power System Stability and Control
35
delta = 180/pi*x(:,1);
clc
fprintf('\nFault is cleared at %4.3f Sec. \n', tc)
head=['
'
' time delta Dw '
' s
degrees rad/s'
'
'];
disp(head)
disp([t, delta, x(:, 2)])
h=figure; figure(h)
plot(t, delta), grid
title(['One-machine system swing curve. Fault cleared at ', num2str(tc),'s'])
xlabel('t, sec'), ylabel('Delta, degree')
cctime(Pm, E, V, X1, X2, X3, H, f) % Obtains the critical clearing time
Power System Stability and Control
36
RESULTS
Fault is cleared at 0.400 Sec.
time
s
0
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0001
0.0002
0.0003
0.0003
0.0006
0.0010
0.0013
0.0016
0.0033
0.0049
0.0065
0.0081
0.0163
0.0244
0.0326
0.0407
0.0507
0.0607
0.0707
0.0807
0.0907
0.1007
0.1107
0.1207
0.1307
0.1407
0.1507
0.1607
0.1707
0.1807
0.1907
0.2007
0.2107
0.2207
0.2307
0.2407
0.2507
0.2607
delta
degrees
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3878
26.3879
26.3880
26.3883
26.3887
26.3893
26.3937
26.4010
26.4112
26.4244
26.5343
26.7172
26.9729
27.3010
27.8021
28.4104
29.1247
29.9435
30.8649
31.8871
33.0080
34.2251
35.5361
36.9382
38.4288
40.0049
41.6635
43.4016
45.2160
47.1036
49.0611
51.0853
53.1731
55.3214
57.5270
59.7869
Dw
rad/s
0
0.0001
0.0001
0.0002
0.0002
0.0005
0.0007
0.0010
0.0012
0.0025
0.0037
0.0050
0.0062
0.0125
0.0188
0.0251
0.0313
0.0627
0.0941
0.1255
0.1569
0.3136
0.4699
0.6255
0.7802
0.9685
1.1546
1.3383
1.5192
1.6968
1.8708
2.0410
2.2069
2.3684
2.5252
2.6770
2.8237
2.9651
3.1011
3.2315
3.3564
3.4757
3.5894
3.6976
3.8003
3.8978
3.9901
time
s
0.2707
0.2807
0.2907
0.3007
0.3107
0.3207
0.3307
0.3407
0.3507
0.3607
0.3706
0.3804
0.3902
0.4000
0.4000
0.4100
0.4200
0.4300
0.4400
0.4550
0.4700
0.4850
0.5000
0.5150
0.5300
0.5450
0.5600
0.5750
0.5900
0.6050
0.6200
0.6350
0.6500
0.6650
0.6800
0.6950
Power System Stability and Control
delta
degrees
62.0983
64.4585
66.8648
69.3148
71.8063
74.3372
76.9057
79.5103
82.1497
84.8228
87.4789
90.1663
92.8850
95.6351
95.6351
98.3820
100.9893
103.4594
105.7951
109.0542
112.0305
114.7366
117.1860
119.3919
121.3673
123.1245
124.6751
126.0300
127.1987
128.1900
129.0113
129.6691
130.1685
130.5133
130.7065
130.7497
Dw
rad/s
4.0775
4.1602
4.2386
4.3129
4.3834
4.4506
4.5148
4.5766
4.6363
4.6944
4.7505
4.8061
4.8617
4.9179
4.9179
4.6724
4.4306
4.1934
3.9616
3.6251
3.3033
2.9968
2.7058
2.4301
2.1692
1.9223
1.6884
1.4664
1.2551
1.0532
0.8594
0.6723
0.4905
0.3127
0.1373
-0.0369
time
s
0.7100
0.7250
0.7400
0.7550
0.7700
0.7850
0.8000
0.8150
0.8300
0.8450
0.8600
0.8750
0.8900
0.9050
0.9200
0.9350
0.9500
0.9650
0.9800
0.9850
0.9900
0.9950
1.0000
delta
degrees
130.6431
130.3858
129.9758
129.4099
128.6835
127.7909
126.7254
125.4789
124.0423
122.4054
120.5572
118.4857
116.1782
113.6216
110.8026
107.7081
104.3252
100.6427
96.6506
95.2495
93.8128
92.3406
90.8327
Dw
rad/s
-0.2114
-0.3877
-0.5670
-0.7509
-0.9406
-1.1377
-1.3434
-1.5591
-1.7860
-2.0253
-2.2780
-2.5451
-2.8272
-3.1248
-3.4379
-3.7660
-4.1083
-4.4632
-4.8282
-4.9516
-5.0757
-5.2002
-5.3250
37
Searching with a final time of 0.80 Sec.
Critical clearing time = 0.41 seconds
Critical clearing angle = 98.83 degrees
Power System Stability and Control
38
Power System Stability and Control
39
Download