Write a MATLAB script to plot a set of per-unit power-angle curves for a salient-pole synchronous generator connected to an infinite bus (Vbus = 1.0 per unit). The generator reactances are Xd = 1.27 per unit and Xq = 0.95 per unit. Assuming Eaf = 1.0 per unit, plot the following curves:
a) Generator connected directly to the
infinite bus.
b) Generator connected to the infinite
bus through a reactance Xbus= 0.1 per unit.
c) Generator connected directly to
the infinite bus. Neglect saliency effects, setting Xq =Xd.
d) Generator connected to the infinite
bus through a reactance Xbus = 0.1 per unit. Neglect saliency
effects, setting Xq=Xd.
(a)
Matlab Code
delta=0:180;
XdT=1.27;
XqT=0.95;
Vbus=1.0;
Veq=Vbus;
Eaf=1.0;
Pa=(Eaf*Veq/XdT).*sind(delta)+Veq^2.*((XdT-XqT)/(2*XdT*XqT)).*sind(2*delta);
plot(delta,Pa);
xlabel('power angle (degrees)');
ylabel('power (per unit)');
Output
(b) Matlab Code
delta=0:180;
Xd=1.27;
Xq=0.95;
Xbus=0.1;
XdT=Xd+Xbus;
XqT=Xq+Xbus;
Vbus=1.0;
Veq=Vbus;
Eaf=1.0;
Pa=(Eaf*Veq/XdT).*sind(delta)+Veq^2.*((XdT-XqT)/(2*XdT*XqT)).*sind(2*delta);
plot(delta,Pa);
xlabel('power angle (degrees)');
ylabel('power (per unit)');
Output
(c) Matlab Code
delta=0:180;
XdT=1.27;
XqT= XdT;
Vbus=1.0;
Veq=Vbus;
Eaf=1.0;
Pa=(Eaf*Veq/XdT).*sind(delta)+Veq^2.*((XdT-XqT)/(2*XdT*XqT)).*sind(2*delta);
plot(delta,Pa);
xlabel('power angle (degrees)');
ylabel('power (per unit)');
Output
(d) Matlab
Code
delta=0:180;
Xd=1.27;
Xq=Xd;
Xbus=0.1;
XdT=Xd+Xbus;
XqT=Xq+Xbus;
Vbus=1.0;
Veq=Vbus;
Eaf=1.0;
Pa=(Eaf*Veq/XdT).*sind(delta)+Veq^2.*((XdT-XqT)/(2*XdT*XqT)).*sind(2*delta);
plot(delta,Pa);
xlabel('power angle (degrees)');
ylabel('power (per unit)');
Output