%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % traneqckt.m - Determines transformer equivalent circuit % parameters from open-circuit & short-circuit % test data. Assumes high voltage winding is % primary and assigns subscript 1. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; V1=480; V2=240; n=V1/V2; % Rated voltage values Vsc=37.2; Isc=51.9; Psc=750; scside='hgh'; % Test data Voc=240; Ioc=9.7; Poc=720; ocside='low'; % dc resistance of windings - if not known, set R1dc=R2dc=1 R1dc=0.110; R2dc=0.029; if scside == 'low' % Refer all data to high side Vsc=n*Vsc; Isc=Isc/n; else; end if ocside == 'low' Voc=n*Voc; Ioc=Ioc/n; else; end Req=Psc/Isc^2; R1=Req*R1dc/(R1dc+n^2*R2dc); R2=(Req-R1)/n^2; Zsc=Vsc/Isc; X1=sqrt(Zsc^2-Req^2)/2; X2=X1/n^2; Rc=Voc^2/Poc; Xm=Voc/sqrt(Ioc^2-(Voc/Rc)^2); disp(' '); disp([' TRANSFORMER EQUIVALENT CIRCUIT PARAMETERS - ',... date]); disp(' Classical Data Reduction'); disp(' '); disp(' ') disp([blanks(3) 'R1(ohm)' blanks(8) 'R2(ohm)' blanks(8) 'X1(ohm)' ... blanks(8) 'X2(ohm)']); disp([blanks(3) num2str(R1) blanks(9) num2str(R2) ... blanks(8) num2str(X1) blanks(9) num2str(X2)]); disp(' '); disp([blanks(3) 'Rc(ohm)' blanks(8) 'Xm']); disp([blanks(4) num2str(Rc) blanks(8) num2str(Xm)]); % Refinement of data reduction thetoc=acos(Poc/Voc/Ioc); Eoc=abs(Voc-(R1+j*X1)*Ioc*exp(-j*thetoc)); Poc=Poc-Ioc^2*R1; Qoc=Voc*Ioc*sin(thetoc)-Ioc^2*X1; Rc=Eoc^2/Poc; Xm=Eoc^2/Qoc; thetsc=acos(Psc/Vsc/Isc); Esc=abs(Vsc-(R1+j*X1)*Isc*exp(-j*thetsc)); Psc=Psc-Esc^2/Rc; Qsc=Vsc*Isc*sin(thetsc)-Esc^2/Xm; Req=Psc/Isc^2; R1=Req*R1dc/(R1dc+n^2*R2dc); R2=(Req-R1)/n^2; X1=Qsc/Isc^2/2; X2=X1/n^2; disp(' '); disp([' TRANSFORMER EQUIVALENT CIRCUIT PARAMETERS - ',... date]); disp(' Refined Data Reduction'); disp(' '); disp(' ') disp([blanks(3) 'R1(ohm)' blanks(8) 'R2(ohm)' blanks(8) 'X1(ohm)' ... blanks(8) 'X2(ohm)']); disp([blanks(3) num2str(R1) blanks(9) num2str(R2) ... blanks(8) num2str(X1) blanks(9) num2str(X2)]); disp(' '); disp([blanks(3) 'Rc(ohm)' blanks(8) 'Xm']); disp([blanks(4) num2str(Rc) blanks(8) num2str(Xm)]);