0% found this document useful (0 votes)
6 views6 pages

Assignment 4

The document presents an assignment involving a 60 Hz synchronous generator connected to an infinite bus. It includes MATLAB code for analyzing the generator's rotor angle and frequency response to a disturbance, as well as calculations for critical clearing angles and times. The output provides key parameters such as initial power angle, maximum angle swing, and critical clearing time based on the provided inputs.

Uploaded by

aainajain458
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views6 pages

Assignment 4

The document presents an assignment involving a 60 Hz synchronous generator connected to an infinite bus. It includes MATLAB code for analyzing the generator's rotor angle and frequency response to a disturbance, as well as calculations for critical clearing angles and times. The output provides key parameters such as initial power angle, maximum angle swing, and critical clearing time based on the provided inputs.

Uploaded by

aainajain458
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

ASSIGNMENT 4

NAME: AAINA JAIN STUDENT ID: 2022UEE1052 BATCH: E2


Q1. A 60 Hz synchronous generator having inertia constant H = 9.94 MJ/MVA and the transient
reactance Xd’ = 0.3 pu is connected to an infinite bus through a purely reactive circuit as shown in the
figure. The reactances are marked on the diagram on a common system base. The generator is delivering
real power of 0.6 pu, 0.8 pf lagging to the infinite bus at a voltage of 1pu. Assume the pu damping power
coefficient D = 0.138. Consider a small disturbance of ∆δ = 10o. For example, the breakers open and then
quickly closed. Obtain equations describing the motion of the rotor angle and the generator frequency.
Also develop, MATLAB commands for above two parameters.

Ans. CODE:
clc

clear

E = 1.35, V= 1.0; H= 9.94; X=0.65; Pm=0.6; D=0.138; f0 = 60;

Pmax = E*V/X, d0 = asin(Pm/Pmax) % Max. power

Ps = Pmax*cos(d0) % Synchronizing power coefficient

wn = sqrt(pi*60/H*Ps) % Undamped frequency of oscillation

z = D/2*sqrt(pi*60/(H*Ps)) % Damping ratio

wd = wn*sqrt(1-z^2), fd = wd/(2*pi) %Damped frequency oscill.

tau = 1/(z*wn) % Time constant

th = acos(z) % Phase angle theta

Dd0 = 10*pi/180; % Initial angle in radian

t = 0:.01:3;

Dd = Dd0/sqrt(1-z^2)*exp(-z*wn*t).*sin(wd*t + th);

d = (d0+Dd)*180/pi; % Load angle in degree

Dw = -wn*Dd0/sqrt(1-z^2)*exp(-z*wn*t).*sin(wd*t);

f = f0 + Dw/(2*pi); % Frequency in Hz

figure(1), subplot(2,1,1), plot(t, d), grid

xlabel('t, sec'), ylabel('Delta, degree')

subplot(2,1,2), plot(t,f), grid

xlabel('t, sec'), ylabel('f, Hz')

% Example 11.2 using initial function


A = [0 1; -wn^2 -2*z*wn]; % wn, z and t are defined earlier

B = [0; 0]; % Column B zero-input

C = [1 0; 0 1]; % Unity matrix defining output y as x1 and x2

D = [0; 0];

Dx0 = [Dd0; 0]; % Zero initial cond., Dd0 is defined earlier

[y,x]= initial(A, B, C, D, Dx0, t);

Dd = x(:, 1); Dw = x(:, 2); % State variables x1 and x2

d = (d0 + Dd)*180/pi; % Load angle in degree

f = f0 + Dw/(2*pi); % Frequency in Hz

figure(2), subplot(2,1,1), plot(t, d), grid

xlabel('t, sec'), ylabel('Delta, degree')

subplot(2,1,2), plot(t, f), grid

xlabel('t, sec'), ylabel('f, Hz'), subplot(111)

OUTPUT:
E = 1.3500

Pmax = 2.0769

d0 = 0.2931

Ps = 1.9884

wn = 6.1405

z = 0.2131

wd = 5.9995

fd = 0.9549

tau = 0.764
Q2.
Ans. CODE:
Pm = 0.8; E= 1.17; V = 1.0; X1 = 0.65; X2 = inf; X3 = 0.65;

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 in p.u. X2 = '); else, end

if exist('X3')~=1

X3 = input('Reactance aftere Fault in p.u. X3 = '); else, end

Pe1max = E*V/X1; Pe2max=E*V/X2; Pe3max=E*V/X3;

delta = 0:.01:pi;

Pe1 = Pe1max*sin(delta); Pe2 = Pe2max*sin(delta); Pe3 = Pe3max*sin(delta);

d0 =asin(Pm/Pe1max); dmax = pi-asin(Pm/Pe3max);

cosdc = (Pm*(dmax-d0)+Pe3max*cos(dmax)-Pe2max*cos(d0))/(Pe3max-Pe2max);

if abs(cosdc) > 1

fprintf('No critical clearing angle could be found.\n')

fprintf('system can remain stable during this disturbance.\n\n')

return

else, end

dc=acos(cosdc);

if dc > dmax

fprintf('No critical clearing angle could be found.\n')

fprintf('System can remain stable during this disturbance.\n\n')

return

else, end

Pmx=[0 pi-d0]*180/pi; Pmy=[Pm Pm];

x0=[d0 d0]*180/pi; y0=[0 Pm]; xc=[dc dc]*180/pi; yc=[0 Pe3max*sin(dc)];

xm=[dmax dmax]*180/pi; ym=[0 Pe3max*sin(dmax)];

d0=d0*180/pi; dmax=dmax*180/pi; dc=dc*180/pi;

x=(d0:.1:dc);

y=Pe2max*sin(x*pi/180);

y1=Pe2max*sin(d0*pi/180);

y2=Pe2max*sin(dc*pi/180);

x=[d0 x dc];

y=[Pm y Pm];
xx=dc:.1:dmax;

h=Pe3max*sin(xx*pi/180);

xx=[dc xx dmax];

hh=[Pm h Pm];

delta=delta*180/pi;

if X2 == inf

fprintf('\nFor this case tc can be found from analytical formula. \n')

H=input('To find tc enter Inertia Constant H, (or 0 to skip) H = ');

if H ~= 0

d0r=d0*pi/180; dcr=dc*pi/180;

tc = sqrt(2*H*(dcr-d0r)/(pi*60*Pm));

else, end

else, end

%clc

fprintf('\nInitial power angle = %7.3f \n', d0)

fprintf('Maximum angle swing = %7.3f \n', dmax)

fprintf('Critical clearing angle = %7.3f \n\n', dc)

if X2==inf & H~=0

fprintf('Critical clearing time = %7.3f sec. \n\n', tc)

else, end

h = figure; figure(h);

fill(x,y,'m')

hold;

fill(xx,hh,'c')

plot(delta, Pe1,'-', delta, Pe2,'r-', delta, Pe3,'g-', Pmx, Pmy,'b-', x0,y0, xc,yc, xm,ym), grid

title('Application of equal area criterion to a critically cleared system')

xlabel('Power angle, degree'), ylabel(' Power, per unit')

text(5, 1.07*Pm, 'Pm')

text(50, 1.05*Pe1max,['Critical clearing angle = ',num2str(dc)])

axis([0 180 0 1.1*Pe1max])

hold off;

OUTPUT:
For this case tc can be found from analytical formula.

To find tc enter Inertia Constant H, (or 0 to skip) H = 5

Initial power angle = 26.388

Maximum angle swing = 153.612

Critical clearing angle = 84.775

Critical clearing time = 0.260 sec.


Current plot held

You might also like