%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % smphasor.m - Draws phasor diagram for a round rotor % synchronous machine. Per unit values used. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; mode=input('Operating mode ( gen or mot ) ','s'); PF=input('Power Factor ( numerical value ) '); if PF < 0 | PF > 1; disp('WARNING - Improper PF value'); pause; else; end if PF ~= 1.0 PFS=input('PF Sense ( leading or lagging ) ','s'); else; PFS='unityPF'; end VL=1.0; Ia=1.0; Vt=VL; Ra=0.05; Xs=0.9; Xl=0.15*Xs; thet=acos(PF); if PFS == 'lagging' Ia=Ia*exp(-j*thet); elseif PFS == 'leading' Ia=Ia*exp(j*thet); elseif PFS == 'unityPF' Ia=Ia+j*0; else; end if mode == 'mot' p1=0; p2=Vt; p3=Vt-Ra*Ia; p4=Vt-(Ra+j*Xs)*Ia; p5=Vt-(Ra+j*Xl)*Ia; elseif mode == 'gen' p1=0; p2=Vt; p3=Vt+Ia*Ra; p4=Vt+(Ra+j*Xs)*Ia; p5=Vt+(Ra+j*Xl)*Ia; else; end P=[p1 p2 p3 p4 p1 p5]; R=abs(P);Rm=1.1*max(R); A=angle(P); figure(1); polar(0,Rm); hold; % Size plot scale polar(A,R); polar(A(2),0.98*R(2),'>'); % Van arrow head polar(A(4),R(4),'.'); % Dot at tip of Ef polar(A(6),R(6),'.'); hold off; % Dot at tip of Er if mode == 'gen'; text(0.8*R(2),-0.1*R(2),'Van'); else; text(0.8*R(2),0.1*R(2),'Van'); end text(1.05*real(p4),1.1*imag(p4),'Ef'); text(1.05*real(p5),1.1*imag(p5),'Er'); text(-0.9*Rm,0.4*Rm,'Synchronous'); text(-0.9*Rm,0.3*Rm,'machine (RR)'); text(-0.9*Rm,0.2*Rm,'phasor'); text(-0.9*Rm,0.1*Rm,'diagram'); if mode == 'mot' text(-0.9*Rm,-0.1*Rm,'Motor mode'); else text(-0.9*Rm,-0.1*Rm,'Generator mode'); end text(-0.9*Rm,-0.2*Rm,['PF = ',num2str(PF),' ',PFS]); text(-0.9*Rm,-0.3*Rm,date);