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