%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % torq1ph.m - calculates torque-speed curve for % single-phase induction motor. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; clf; p=4; f=60; Vm=120*sqrt(2); % p=poles, f=frequency Rs=2.02; Xs=2.79; Xm=106.8; Rr=4.12; Xr=2.12; smax=2; npts=100; % smax=max slip, npts=points for curve ws=2/p*2*pi*f; % Synchronous speed Zs=Rs+Xs*j; Zm=0+Xm/2*j; s=zeros(1,npts); dels=smax/npts; for i=2:npts-1; s(i)=(i-1)*dels; end s(1)=0.001; s(npts)=smax-0.001; Td=zeros(1,npts); Tdf=Td; Tdb=Td; wm=Td; for i=1:npts % Loop to calculate torque points ZU=Rr/2/s(i)+Xr/2*j; ZL=Rr/2/(2-s(i))+Xr/2*j; Zf=Zm*ZU/(Zm+ZU); Zb=Zm*ZL/(Zm+ZL); Is=Vm/sqrt(2)/(Zs+Zf+Zb); Irf=abs(Is*Zm/(Zm+ZU)); Irb=abs(Is*Zm/(Zm+ZL)); wm(i)=(1-s(i))*ws; if wm(i) == 0 Tdf(i)=0.5*Irf^2*Rr/s(i)/ws; Tdb(i)=-0.5*Irb^2*Rr/(2-s(i))/ws; else; Tdf(i)=0.5*Irf^2*Rr*(1-s(i))/wm(i)/s(i); Tdb(i)=0.5*Irb^2*Rr*(s(i)-1)/wm(i)/(2-s(i)); end Td(i)=Tdf(i)+Tdb(i); nm=wm*30/pi; end plot(nm,Td,nm,Tdf,'--',nm,Tdb,'-.');grid title('Torque-speed for single-phase induction motor'); xlabel('Speed, rpm'); ylabel('Torque, N-m');