%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % tranperf2.m - Calculates voltages, currents, regulation and % efficiency for a constant input voltage with a % specified load impedance. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; R1=0.06; R2=0.015; X1=0.18; X2=0.045; Xm=400; Rc=1200; V1=240; V2=120; KVA=5; n=V1/V2; R2p=n^2*R2; X2p=n^2*X2; % Load characterization at rated load voltage disp(' DESCRIPTION OF LOAD @ RATED VOLTAGE '); disp(' '); Load=input(' Percent Load( 0->100 ) = '); PF=input(' Load Power Factor( 0->1 ) = '); if PF ~= 1 PFS2=input(' PF Sense( leading,lagging ) = ','s'); else PFS2='unityPF'; end V1=input(' Input Voltage( V ) = '); if PFS2 == 'lagging'; thet2=acos(PF); elseif PFS2 == 'leading'; thet2=-acos(PF); elseif PFS2 =='unityPF'; thet2=0; else; end ZL=V2^2/KVA/1000/Load*100*exp(j*thet2); Z2=R2p+j*X2p+n^2*ZL; Zm=j*Rc*Xm/(Rc+j*Xm); Zin=R1+j*X1+Z2*Zm/(Z2+Zm); thet1=angle(Zin); PFin=cos(thet1); if thet1 > 0; PFS1='lagging'; elseif thet1 < 0; PFS1='leading'; else PFS1='unityPF';end I1=V1/Zin; E1=V1-(R1+j*X1)*I1; Im=E1/(j*Xm); Ic=E1/Rc; I2=(I1-Im-Ic)*n; V2=I2*ZL; Pout=real(V2*conj(I2)); Pin=real(V1*conj(I1)); eff=Pout/Pin*100; deg=180/pi; Znl=R1+j*X1+Zm; Vnl=abs(V1*Zm/Znl); Reg=(Vnl/n-abs(V2))/abs(V2)*100; deg=180/pi; angV1=angle(V1)*deg; angV2=angle(V2)*deg; angE1=angle(E1)*deg; angI1=angle(I1)*deg; angI2=angle(I2)*deg; angIm=angle(Im)*deg; angIc=angle(Ic)*deg; disp(' '); disp(' TRANSFORMER PERFORMANCE'); disp(' '); disp(' ') disp([blanks(3) 'V1 mag' blanks(8) 'V1 ang' blanks(8) 'V2 mag' ... blanks(8) 'V2 ang']); disp([blanks(3) num2str(abs(V1)) blanks(11) num2str(angV1) ... blanks(13) num2str(abs(V2)) blanks(9) num2str(angV2)]); disp(' '); disp([blanks(3) 'E1 mag' blanks(8) 'E1 ang']); disp([blanks(4) num2str(abs(E1)) blanks(7) num2str(angE1)]); disp(' '); disp([blanks(3) 'I1 mag' blanks(8) 'I1 ang' blanks(8) 'I2 mag' ... blanks(8) 'I2 ang']); disp([blanks(3) num2str(abs(I1)) blanks(9) num2str(angI1) ... blanks(8) num2str(abs(I2)) blanks(9) num2str(angI2)]); disp(' '); disp([blanks(3) 'Im mag' blanks(8) 'Im ang' blanks(8) 'Ic mag' ... blanks(8) 'Ic ang']); disp([blanks(3) num2str(abs(Im)) blanks(8) num2str(angIm) ... blanks(8) num2str(abs(Ic)) blanks(7) num2str(angIc)]); disp(' '); disp([blanks(4) 'PFin' blanks(10) 'PFS1' blanks(10) 'PFout' ... blanks(9) 'PFS2']); disp([blanks(3) num2str(PFin) blanks(8) PFS1 ... blanks(9) num2str(PF) blanks(9) PFS2 ]); disp(' '); disp([blanks(4) 'Pin' blanks(11) 'Pout' blanks(11) 'eff' ... blanks(10) '%Reg']); disp([blanks(4) num2str(Pin/1000) blanks(10) num2str(Pout/1000) ... blanks(10) num2str(eff) blanks(9) num2str(Reg)]);