# Chapter 09 : Induction Machine¶

## Example 9.1, Page No 148¶

In [18]:
import math
#initialisation of variables
# to campute cu loss in rotoe windings, input to the motor, efficiency

f_s=120.0/60         #cycles/min
f=50.0
s=f_s/f
n_s=1000.0

#Calculations
n=(1-s)*n_s
w=n*2*math.pi/60.0
T=160.0
P=T*w
T_L=10
P_m=(T+T_L)*w
cu=P_m*(s/(1.0-s))
print(cu,'rotor cu loss(W)')
P_sl=800.0     #stator loss
P_in=P_m+cu+P_sl
print(P_in,'power i/p to motor(W)')

eff=P/P_in

#Results
print(eff*100.0,'efficiency(%)')

(712.0943348136864, 'rotor cu loss(W)')
(18602.358370342157, 'power i/p to motor(W)')
(86.46728584706803, 'efficiency(%)')


## Example 9.2, Page No 149¶

In [19]:
import math
#initialisation of variables
#to calculate torque,resitance to be added to rotor ckt

f=50.0
P=6.0
n_s=120.0*f/P
w_s=2*math.pi*n_s/60
n=875.0
s_maxT=(n_s-n)/n_s
R_2=.25
X_2=R_2/s_maxT
T_max=10.0
#v=V/a

#Calculations
v=math.sqrt((T_max*w_s*X_2)/(3*.5))
T=((3.0)*v**2*(R_2/s))/(w_s*((R_2/s)**2+(X_2)**2))
print(T,'torque(Nm)')

#from eqn(T_start/T_max)=(R2+Rext)*(X2/.5)/((R2+Rext)**2+X2**2)
#after solving
#Rt**2-6.67*Rt+4=0
d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
if(x1>x2):
x=x2
else:
x=x1
return x
r2=.25

#Results
print(Rt-r2,'external resistance(ohm)')

(5.805515239477503, 'torque(Nm)')
(0.41625029274006264, 'external resistance(ohm)')


## Example 9.3, Page No 149¶

In [20]:
import math
#initialisation of variables
#to find slip at max torque,full load slip and rotor current at starting

#Tfl=(3/w_s)*(V**2*Rs/s_fl)/((R2/s_fl)**2+X2**2)     (i)
#Ts=(3/w_s)*(V**2*R2)/(R2**2+X2**2)     (ii)
#Tmax=(3/w_s)*(.5*V**2)/X2**2     (iii)
#Tmax/Ts=2     k=R2/X2     (iii)/(ii)and solving
#k**2-4*k+1=0

#Calculations
d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
if(x1>x2):
x=x2
else:
x=x1
return x
print(k,'s_max_T')

#(iii)/(i)and solving
#s_fl**2-1.072*s_fl+.072=0
print(s_fl,'s_fl')

a=math.sqrt((k/s_fl)**2+1)/(k**2+1)

#Results

(0.2679491924311228, 's_max_T')
(0.07200000000000001, 's_fl')


## Example 9.5 Page No 150¶

In [21]:
import math
#initialisation of variables
#to determine ckt model parameters,parameters of thevenin equivalent, max torque and slip, stator current, pf and eff

j=math.sqrt(1.0)
#NL test
V=3300.0
f=50.0
Inl=5.0
Po=2500.0
Zo=V/(math.sqrt(3.0)*Inl)
Ro=Po/(3*Inl**2)
print(Ro,'Ro(ohm)')
Xo=math.sqrt(Zo**2-Ro**2)
print(Xo,'Xo(ohm)')
#BR test
V_BR=400.0
I_BR=27.0
ff=15.0
P_BR=15000.0

#Calculations
Z_BR=V_BR/(math.sqrt(3.0)*I_BR)
R_BR=P_BR/(3*I_BR**2)
X_BR=math.sqrt(Z_BR**2-R_BR**2)
x1=X_BR/2     #at 15 Hz
X1=x1*f/ff     #at 50Hz
print(X1,'X1(ohm)')
Xm=Xo-X1
print(Xm,'Xm(ohm)')
R1=3.75
R2=(R_BR-R1)*((Xm+X1)/Xm)**2
print(R2,'R2(ohm)')

print(V_TH,'V_TH(V)')
Z_TH=complex(0,Xm)*complex(R1,X1)/complex(R1,X1+Xm)
print((Z_TH.real),'R_TH(ohm)')
print((Z_TH.imag),'X_TH(ohm)')

a=(math.sqrt((Z_TH.real)**2+(X1+(Z_TH.imag))**2))
s_max_T=R2/a
n_s=1000.0
Z_tot=complex((Z_TH.real)+a,X1+(Z_TH.imag))
I2=abs(V_TH)/abs(Z_tot)
T_max=3*(I2**2)*R2/(s_max_T*(2*math.pi*n_s/60))
print(T_max,'T_max(Nm)')

Z_f=complex(0,Xm)*complex(81.25,X1)/complex(81.25,X1+Xm)
Z_in=Z_f+complex(R1,X1)
I1=V/(math.sqrt(3)*abs(Z_in))
s=.04
Pmechg=(1-s)*3*I1**2*(Z_f.real)
Prot=Po-Inl**2*R1
Pip=math.sqrt(3.0)*V*I1*pf
Pop=Pmechg-Prot
eff=Pop/Pip
print(eff,'efficiency')
Tint=Pmechg/((1-s)*2*math.pi*n_s/60)

#Results
print(Tint,'internal torque developed(Nm)')

(33.333333333333336, 'Ro(ohm)')
(379.5904225463136, 'Xo(ohm)')
(8.517574764607758, 'X1(ohm)')
(371.07284778170583, 'Xm(ohm)')
(3.2530626454410436, 'R2(ohm)')
((1862.3223709107285+18.39801131985398j), 'V_TH(V)')
(3.583247004147812, 'R_TH(ohm)')
(8.36184927709782, 'X_TH(ohm)')
(2384.194780011334, 'T_max(Nm)')
(0.8935727897525297, 'efficiency')
(1079.130406010449, 'internal torque developed(Nm)')


## Example 9.6, Page No 151¶

In [22]:
import math
#initialisation of variables
#to calculate starting torque and current,full load current,pf, torque , internal and overall eff,slip and max torque

R1=.3
R2=.25
X1=.6
X2=.6
Xm=35
Prot=1500.0
V=231.0
Z_TH=complex(0,Xm)*complex(R1,X1)/complex(R1,X1+Xm)
V_TH=(V*complex(0,Xm))/complex(R1,X1+Xm)
n_s=1500.0
w_s=2*math.pi*n_s/60

s=1
Z_f=complex(0,Xm)*complex(R2,X2)/complex(R2,X2+Xm)
R_f=(Z_f.real)
Z_in=Z_f+complex(R1,X1)
I1=V/abs(Z_in)
print(I1,'starting current(A)')
Tstart=3*I1**2*R_f/w_s
print(Tstart,'starting torque(Nm)')

n=1450.0
s=1-n/n_s
a=R2/s
Z_f=complex(0,Xm)*complex(a,X2)/complex(a,X2+Xm)
R_f=(Z_f.real)
Z_in=Z_f+complex(R1,X1)
I1=V/abs(Z_in)

#Calculations
print(pf,'pf')
P_G=3*I1**2*R_f
Popg=P_G*(1-s)
Pop=Popg-Prot
Tnet=Pop/((1.0-s)*w_s)
print(Tnet,'net torque(Nm)')
Vt=400
Pip=math.sqrt(3)*Vt*I1*pf
eff=Pop/Pip
print(eff*100,'efficiency(%)')
int_eff=Popg/Pip
print(int_eff*100,'internal eff(%)')

s_max_T=1/(math.sqrt((Z_TH.real)**2+((Z_TH.imag)+X1)**2)/R2)
print(s_max_T,'max slip')
Z_tot=Z_TH+complex(R2/s_max_T,X2)
I2=abs(V_TH)/abs(Z_tot)
T_max=3*I2**2*(R2/s_max_T)/w_s

#Results
print(T_max,'max torque(Nm)')

(176.48305256673922, 'starting current(A)')
(143.73484876981178, 'starting torque(Nm)')
(0.9389975693602858, 'pf')
(109.07162925039286, 'net torque(Nm)')
(84.9884813377422, 'efficiency(%)')
(92.6858609868727, 'internal eff(%)')
(0.2037356745317859, 'max slip')
(324.6427710199817, 'max torque(Nm)')


## Example 9.9, Page No 152¶

In [23]:
import math
#initialisation of variables
#to determine the line current,pf, power ip, shaft torque, mech op and efficiency

R1=1.4
R2=.6
X1=2
X2=1
Xm=50.0
V=400.0
Prot=275.0
n_s=1000.0

#Calculations
w_s=2*math.pi*n_s/60.0

print('slip=0.03')
s=0.03
I2=(V/math.sqrt(3.0))/complex(R1+R2/s,X1+X2)
I1=Im+I2
I_L=abs(I1)
print(I_L,'line current(A)')
print(pf,'pf')
print(Pip,'power i/p(W)')

P_G=3*abs(I2)**2*R2/s
Pmechg=(1-s)*P_G
print(Pmechg,'mech power op(W)')
Popnet=Pmechg-Prot
Tnet=Popnet/(w_s*(1.0-s))
print(Tnet,'shaft torque(Nm)')
eff=Popnet/Pip
print(eff,'efficiency')

print('slip= -0.03')
s=-0.03
I2=(V/math.sqrt(3))/complex(R1+R2/s,X1+X2)
I1=-(Im+I2)
I_L=abs(I1)
print(I_L,'line current(A)')
print(pf,'pf')
print(Pip,'power i/p(W)')

P_G=3*abs(I2)**2*R2/s
Pmechop=(1-s)*P_G
Pmechipnet=-Pmechop
Pmechipg=Pmechipnet+Prot
print(Pmechipg,'mech power op(W)')
Tnet=Pmechipg/(w_s*(1-s))
print(Tnet,'shaft torque(Nm)')
eff=Pip/Pmechipg
print(eff,'efficiency')

print('slip= 1.2')
s=1.2
I2=(V/math.sqrt(3))/complex(R1+R2/s,X1+X2)
I1=Im+I2
I_L=abs(I1)
print(I_L,'line current(A)')
print(pf,'pf')
Pip=math.sqrt(3)*V*abs(I1)*pf
print(Pip,'power i/p(W)')

P_G=3*abs(I2)**2*.5/s
Pmechg=(1-s)*P_G
print(Pmechg,'mech power op(W)')
Pmechabs=-Pmechg
n=n_s*(1-s)
w=2*math.pi*n/60
Tnet=Pmechg/w

#Results
print(Tnet,'torque developed(Nm)')
P=Pmechabs+Pip
print(P,'power disipated(W)')

slip=0.03
(12.216911505440674, 'line current(A)')
(0.9389975693602858, 'pf')
(7332.533835874596, 'power i/p(W)')
(6647.250299811549, 'mech power op(W)')
(62.732482505184755, 'shaft torque(Nm)')
(0.8690379672897196, 'efficiency')
slip= -0.03
(13.770083713222693, 'line current(A)')
(0.8788126748308187, 'pf')
(8384.043272481405, 'power i/p(W)')
(9560.553301780481, 'mech power op(W)')
(88.63743592263522, 'shaft torque(Nm)')
(0.8769412195965717, 'efficiency')
slip= 1.2
(68.98053758242195, 'line current(A)')
(0.5044420753093245, 'pf')
(24107.85091197462, 'power i/p(W)')
(-1057.3618821041503, 'mech power op(W)')
(50.48531105214763, 'torque developed(Nm)')
(25165.21279407877, 'power disipated(W)')


## Example 9.10 Page No 163¶

In [24]:
import math
#initialisation of variables
#to calculate max torque and slip, starting torque

k=5.0     #k=I_s/I_fl
s_fl=0.04

#Calculations
s_max_T=math.sqrt((s_fl**2*(1-k**2))/((k*s_fl)**2-1))
print(s_max_T,'slip')
T_max=.5*(s_max_T**2+s_fl**2)/(s_fl*s_max_T)
print(T_max,'max torque(pu)')

T_s=k**2*s_fl

#Results
print(T_s,'starting torque(pu)')

(0.2, 'slip')
(2.6, 'max torque(pu)')
(1.0, 'starting torque(pu)')


## Example 9.11, Page No 164¶

In [25]:
import math
#initialisation of variables
#to find starting current and torque, necessary exteranl resistance and corresponding starting torque

f=50.0
R2=.1
X2=2*math.pi*f*3.61*10**-3
a=3.6
R22=a**2*R2
X22=a**2*X2
V=3000.0
n_s=1000.0

#Calculations
w_s=2*math.pi*n_s/60
I_s=(V/math.sqrt(3.0))/math.sqrt(R22**2+X22**2)
print(I_s,'starting current(A)')
T_s=(3/w_s)*(V/math.sqrt(3.0))**2*R22/(R22**2+X22**2)
print(T_s,'torque(Nm)')

Iss=30
Rext=math.sqrt(((V/math.sqrt(3.0)/Iss)**2-X22**2)-R22)
print(Rext,'external resistance(ohm)')
T_s=(3/w_s)*(V/math.sqrt(3.0))**2*(R22+Rext)/((R22+Rext)**2+X22**2)

#Results
print(T_s,'torque(Nm)')

(117.38613867026375, 'starting current(A)')
(511.600867712354, 'torque(Nm)')
(55.821163691822676, 'external resistance(ohm)')
(1411.238212203274, 'torque(Nm)')


## Example 9.12 Page No 165¶

In [26]:
import math
#initialisation of variables
#find line current and starting torque with direct switching, stator resistance starting, autotransformer starting, star delta starting, autotransformer ratio give 1 pu

#I_s/I_fl=6
s_fl=0.05
print('by direct switching')
Is=6.0

#Calculations
print(Is,'line current(pu)')
T=Is**2*s_fl
print(T,'torque(pu)')

print('by stator resistance starting')
Is=2.0
print(Is,'line current(pu)')         #given
T=Is**2*s_fl
print(T,'torque(pu)')

print('by autotransformer starting')
x=2/6.0
Is_motor=2
Is=Is_motor*x
print(Is,'line current(pu)')
T=Is**2*s_fl
print(T,'torque(pu)')

print('by star delta starting')
Is=(1/3.0)*6
print(Is,'line current(pu)')
T=Is**2*s_fl*3.0

#Results
print(T,'torque(pu)')

print('by autotransformer starting')
Ts=1.0
x=math.sqrt(Ts/((6**2)*s_fl))
print(x,'x')

by direct switching
(6.0, 'line current(pu)')
(1.8, 'torque(pu)')
by stator resistance starting
(2.0, 'line current(pu)')
(0.2, 'torque(pu)')
by autotransformer starting
(0.6666666666666666, 'line current(pu)')
(0.022222222222222223, 'torque(pu)')
by star delta starting
(2.0, 'line current(pu)')
(0.6000000000000001, 'torque(pu)')
by autotransformer starting
(0.7453559924999299, 'x')


## Example 9.13 Page No 165¶

In [27]:
import math
#initialisation of variables
#to find resistance added to ckt

Rrot=.061
R2=Rrot/2.0
f=50.0
P=12.0
w_s=(120.0*f/P)*(2*math.pi/60.0)
s=0.045

#Calculations
w=(1.0-s)*w_s
P=200.0*10.0**3
T_fan=P/w
I2=math.sqrt(T_fan*w_s*s/(3.0*R2))
E2=I2*R2/s
n=450.0
ww=2*math.pi*n/60
nn=500.0
ss=(nn-n)/nn
Tnew=T_fan*(ww/w)**2
Rt=(3.0/w_s)*(E2*ss)**2/(ss*Tnew)
Rext=Rt-R2

#Results
print(Rext,'external resistance(ohm)')

(0.04581484910836761, 'external resistance(ohm)')


## Example 9.14 Page No 172¶

In [28]:
import math
#initialisation of variables
#to find resistance added to ckt

n_s=1500.0
w_s=2*math.pi*n_s/60.0
n=1250.0
s=1-n/n_s
#Im=(1/3.0)*(0.3+.25/s+j*1.83)ohm/ph
T=150.0
V=440.0

#Calculations
#T=(3.0/w_s)*(V**2*(R_2t/s))/((.1+(R_2t/s))**2+(X1+X2)**2)
#after solving R_2t**2-1.34*R_2t+0.093=0

d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
if(x1>x2):
x=x1
else:
x=x2
return x
Rext=x-0.083

#Results
print(Rext,'external resitance(ohm)')

(1.1835735495309863, 'external resitance(ohm)')


## Example 9.15, Page No 176¶

In [29]:
import math
#initialisation of variables
#to calculate the min resistance to be added and speed of the motor

V=400.0
a=2.5
X2=.4
R2=0.08
n_s=750.0

#Calculations
w_s=2*math.pi*n_s/60.0
T=250.0
x=[];
#T=(3.0/w_s)*((V/math.sqrt(3))/a)*R2t/(R2t**2+X2**2)
#after solving
#R2t**2-1.304*R2t+0.16=0

d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
if(x1>x2):
x=x1
else:
x=x2
return x1,x2
if x[0]>x[1]:
R2t=x[1]
else:
R2t=x[0]
Rext=R2t-R2
print(Rext,'external resistance(ohm)')

#T=(3/w_s)*((V/math.sqrt(3))/a)*(R2t/s)/((R2t/s)**2+X2**2)
#after solving
#(R2t/s)**2-1.304*(R2t/s)+0.16=0
x=[0,0]
s=x[1]/x[0]
n=n_s*(1-s)
print(n,'speed(rpm)')

#T=(3/w_s)*((V/math.sqrt(3))/a)*(R2/s)/((R2/s)**2+X2**2)
#after solving
#(R2/s)**2-1.304*(R2/s)+0.16=0
R2=0.08
s1=R2/x[0]
s2=R2/x[1]
if s1>s2:
ss=s2
else:
ss=s1

n=n_s*(1-ss)

#Results
print(n,'speed(rpm)')

(0.057117489129801594, 'external resistance(ohm)')
(661.8693476940879, 'speed(rpm)')
(698.5809415763244, 'speed(rpm)')


## Example 9.16, Page No 186¶

In [30]:
import math
#initialisation of variables

T_jm=125
th_jc=.15     #degC/W
th_cs=0.075     #degC/W

#Calculations
dT=54     #dT=T_s-T_a
P_av=120
th_sa=dT/P_av
T_a=40     #ambient temp
P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)
if (P_av-120)<1 :
print("selection of heat sink is satisfactory")

dT=58     #dT=T_s-T_a
P_av=120
th_sa=dT/P_av
T_a=40     #ambient temp
P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)
if (P_av-120)<1 :
print("selection of heat sink is satisfactory")

V_m=math.sqrt(2)*230
R=2
I_TAV=V_m/(R*math.pi)
P_av=90
th_sa=(T_jm-T_a)/P_av-(th_jc+th_cs)
dT=P_av*th_sa
print("for heat sink")
print("T_s-T_a=%.2f degC" %dT)
print("\nP_av=%.0f W" %P_av)
P=(V_m/2)**2/R
eff=P/(P+P_av)
print("\nckt efficiency=%.3f pu" %eff)
a=60     #delay angle
print("\nI_TAV=%.2f A" %I_TAV)
dT=46
T_s=dT+T_a
T_c=T_s+P_av*th_cs
T_j=T_c+P_av*th_jc

#Results
print("\ncase temp=%.2f degC" %T_c)
print("\njunction temp=%.2f degC" %T_j)

for heat sink
T_s-T_a=-20.25 degC

P_av=90 W

ckt efficiency=0.993 pu

I_TAV=38.83 A

case temp=92.75 degC

junction temp=106.25 degC


## Example 9.17, Page No 187¶

In [31]:
import math
#initialisation of variables
#to find the ratio of currents and torques at the starting,V2/V1

f1=50.0
f2=60.0
f=f2/f1
V=1     #V=V2/V1
s_max_T=0.2
#Is=I_s2/I_s1

#Calculations
Is=V*math.sqrt((s_max_T**2+1)/(s_max_T**2+f**2))
print(Is,'ratio of currents at starting')
#Ts=T_s2/T_s1
Ts=V**2*((s_max_T**2+1)/(s_max_T**2+f**2))
print(Ts,'ratio of torques at starting')
#Tmax=Tmax2/Tmax1
Tmax=V**2/f**2
print(Tmax,'ratio of max torques')
Vr=math.sqrt(1/math.sqrt((s_max_T**2+1)/(s_max_T**2+f**2)))

#Results
print(Vr,'V2/V1')

(0.8382736442849094, 'ratio of currents at starting')
(0.7027027027027027, 'ratio of torques at starting')
(0.6944444444444444, 'ratio of max torques')
(1.0922123778851107, 'V2/V1')


## Example 9.18, Page No 197¶

In [32]:
import math
#initialisation of variables
#to calculate ratio of torques at starting and at slip=0.05

R1=0.01
X1=.5
R2=0.05
X2=.1

#Calculations
Ts=((R1**2+X1**2)/(R2**2+X2**2))*(R2/R1)
print(Ts,'Tso/Tsi')

s=0.05
T=(((R1/s)**2+X1**2)/((R2/s)**2+X2**2))*(R2/R1)

#Results
print(T,'To/Ti')

(100.03999999999998, 'Tso/Tsi')
(1.4356435643564356, 'To/Ti')


## Example 9.19, Page No 198¶

In [33]:
import math
#initialisation of variables
#to compute acc time and value of rotor resistance

s=1-.96     #load is brought to .96 of n_s
s_max_T=math.sqrt((1.0-s**2)/(2*math.log(1.0/s)))
R=1.5
R2_opt=R*s_max_T

#Calculations
print(R2_opt,'rotor resistance(ohm)')
n=1000
w_s=2*math.pi*n/60
V=415
Tmax=(3.0/w_s)*(.5*(V/math.sqrt(3.0))**2)/R
J=11
t_A=(J*w_s/(2*Tmax))*((1-s**2)/(2*s_max_T)+s_max_T*math.log(1.0/s))

#Results
print(t_A,'acc time(min)')

(0.5907128737793668, 'rotor resistance(ohm)')
(2.663571640987115, 'acc time(min)')