# Chapter 07 : Armature Windings¶

## Example 7.1, Page No 148¶

In [1]:
import math
#initialisation of variables
# to calculate no of parrallel path

S=12.0         #no of commutator segments
P=4

#Calculations
Y_cs=S/P         #slots
Y_b=2*Y_cs+1
y_f=Y_b-2

#Results
print(y_f,'no of parralel path')

(5.0, 'no of parralel path')


## Example 7.2, Page No 149¶

In [2]:
import math
#initialisation of variables
# to find spacing b/w brushes

S=22.0
P=4

#Calculations
Y_cs=math.floor(S/P)
U=6         #coil sides/slot
Y_b=Y_cs*U+1
y_f=Y_b-2
n=(1.0/2)*U*S         #no of commutator segments
A=4         #no of brushes
sp=n/A

#Results
print(sp,'spacing b/w adjacent brushes')

(16.5, 'spacing b/w adjacent brushes')


## Example 7.3, Page No 149¶

In [3]:
import math
#initialisation of variables
#to calculate relevant pitches for wave windings

S=16
P=6

#Calculations
Y_cs=math.floor(S/P)
U=2
Y_b=Y_cs*U+1
C=16
y_c=U*(C-1)/P
y_f=2*y_c-Y_b

#Results
print(y_f,'no of pitches')

(5.0, 'no of pitches')


## Example 7.4 Page No 150¶

In [4]:
import math
#initialisation of variables
# to find distance b/w brushes

S=28.0
P=4.0
U=8.0

#Calculations
c=U*S/2
y_c=2*(c-1)/P
Y_c=55.0
C=(P/2)*Y_c+1
Y_cs=math.floor(S/P)
Y_b=Y_cs*U+1
y_f=2*Y_c-Y_b
d=C/P

#Results
print(d,'dis b/w brushes')

(27.75, 'dis b/w brushes')


## Example 7.5, Page No 151¶

In [5]:
import math
#initialisation of variables
# to find the torque and gross mech power developed

D=.3
l=.2
p=4
fd=.4         #flux density

#Calculations
phi=math.pi*(D/p)*l*fd         #flux/pole
n=1500
Z=400
A=4
E_a=phi*n*Z*(p/A)/60
I_a=25
mp=E_a*I_a

#Results
print(mp,'gross mech power developed(W)')
T=mp/(2*math.pi*n/60)
print(T,'torque developed(Nm)')

(4712.388980384691, 'gross mech power developed(W)')
(30.00000000000001, 'torque developed(Nm)')


## Example 7.6, Page No 152¶

In [6]:
import math
#initialisation of variables
# to calculate ratio of generator speed to motor speed

V=220.0
P=4000.0
I_a=P/V
r_a=.4         #armature resistance

#Calculations
E_ag=V+I_a*r_a
E_am=V-I_a*r_a
a=1.1         #phi_m/phi_g
n=(E_ag/E_am)*a

#Results
print(n,'n_g/n_m')

(1.1752136752136753, 'n_g/n_m')


## Example 7.7 Page No 163¶

In [7]:
import math
#initialisation of variables
# to calculate speed of motor

V=230.0
R_f=115.0         #field resistance
I_f=V/R_f
P_g=100000.0         #electric power (m/c running as generator)

#Calculations
I_L=P_g/V
I_a=I_f+I_L
R_a=.08         #armature resitance
E_ag=V+I_a*R_a
n_g=750         #speed

P_m=9000         #m/c running as motor
I_l=P_m/V
I_A=I_l-I_f
E_am=V-I_A*R_a
n_m=(E_am/E_ag)*n_g

#Results
print(n_m,'motor speed(rpm)')

(642.6756902233134, 'motor speed(rpm)')


## Example 7.8, Page No 164¶

In [8]:
import math
#initialisation of variables
#to calculate electomagnetic power and torque

E_a=250
R_a=.05
n=3000
w_m=(n*2*math.pi)/60

#Calculations
print('when terminal voltage is 255V')
V_t=255
I_a=(V_t-E_a)/R_a
P_in=E_a*I_a
print(P_in,'electromagnetic power(W)')
T=P_in/w_m
print(T,'torque(Nm)')

print('when terminal voltage is 248V')
V_t=248
I_a=(E_a-V_t)/R_a
P_in=E_a*I_a

#Results
print(P_in,'electromagnetic power(W)')
T=P_in/w_m
print(T,'torque(Nm)')

when terminal voltage is 255V
(25000.0, 'electromagnetic power(W)')
(79.57747154594767, 'torque(Nm)')
when terminal voltage is 248V
(10000.0, 'electromagnetic power(W)')
(31.830988618379067, 'torque(Nm)')


## Example 7.9 Page No 165¶

In [9]:
import math
#initialisation of variables
#to calculate electomagnetic power

n_f=3000.0         #field speed
n_a=2950.0         #armature speed
E=250.0

#Calculations
E_a=E*(n_a/n_f)
V_t=250
R_a=0.05
I_a=(V_t-E_a)/R_a
P_in=V_t*I_a

#Results
print(P_in,'power(W)')
P=E_a*I_a
print(P,'electromagnetic power(W)')

(20833.333333333427, 'power(W)')
(20486.111111111204, 'electromagnetic power(W)')


## Example 7.10 Page No 165¶

In [10]:
import math
#initialisation of variables
# to calculate cross and demagnetising turns/pole

P=250000.0
V=400.0
I_a=P/V         #armature current
n=6         #no of parallel path

#Calculations
I_c=I_a/n     #conductor current
Z=720         #lap wound conductors
AT_a=(1/2)*Z*I_c/n

B=2.5*n/2         #brush leadof 2.5 angular degrees(mech) from geo neutral
AT_c=AT_a*(1-(2*B)/180)

#Results
print(AT_c,'cross magnetising ampere turns(AT/pole)')
AT_d=AT_a*((2*B)/180)
print(AT_d,'demagnetising ampere turns(AT/pole)')

(0.0, 'cross magnetising ampere turns(AT/pole)')
(0.0, 'demagnetising ampere turns(AT/pole)')


## Example 7.11 Page No 172¶

In [11]:
import math

#initialisation of variables
#to calculate no of conductors on each pole piece

Z=256
A=6
P=6

#Calculations
r=.71         #ratio of pole arc to pole pitch
N_cw=(Z/(2*A*P))*r
N_cc=math.ceil(2*N_cw)

#Results
print(N_cc,'compensating conductors/pole')

(5.0, 'compensating conductors/pole')


## Example 7.12, Page No 176¶

In [12]:
import math

#initialisation of variables
#to calculate no of turns reqd on each interpole

P=25000
V=440
I_a=P/V
Z=846
A=2
P=4
B_i=.5

#Calculations
u_o=4*math.pi*10**-7
l_gi=.003
AT_i=((I_a*Z)/(2*A*P))+(B_i*l_gi)/u_o
N_i=math.ceil(AT_i/I_a)

#Results
print(N_i,'no of turns')

(75.0, 'no of turns')


## Example 7.16, Page No 197¶

In [13]:
import math
#initialisation of variables
#to calculate terminal voltage and rated output current and calculate no of series turns/pole

P=100000.0
V=200.0
I_L=P/V
I_f=5
I_a=I_L+I_f
I_se=I_a
N_se=5
N_f=1200

#Calculations
I_feq=I_f+(N_se/N_f)*I_se
n=1000
E_a=225
nn=950
E_aa=E_a*(nn/n)
R_a=0.03
R_se=0.004
V_t=E_aa-I_a*(R_a+R_se)
print(V_t,'terminal voltage(V)')
I_fd=0.001875*I_a
V_t=200
E_a=V_t+I_a*(R_a+R_se)
E_aa=E_a*(n/nn)
I_fnet=7.5
N_f=1000
N_se=math.ceil((I_fnet+I_fd-I_f)*(N_f/I_a))

#Results
print(N_se,'no of series turns/pole')

(-17.17, 'terminal voltage(V)')
(7.0, 'no of series turns/pole')


## Example 7.22, Page No 198¶

In [14]:
import math
#initialisation of variables
# to compute terminal voltage at rated voltage current

R_a=0.05
R_se=.01
N_f=1000
N_se=3
I_sf=5.6         #shunt field current
I_L=200

#Calculations
I_a=I_L+I_sf
N=N_f*I_sf+I_a*N_se         #excitation ampere turns
I_freq=N/N_f

E_a=282
n=1200
nn=1150
Ea=E_a*(nn/n)
V_t=Ea-I_a*(R_a+R_se)

#Results
print(V_t,'terminal voltage(V)')

(-12.336, 'terminal voltage(V)')


## Example 7.24, Page No 223¶

In [15]:
import math
#initialisation of variables
#to find generator output

P=20000.0
V=250.0
I_a=P/V
R_a=.16
vd=I_a*R_a

#Calculations
def output(E_a):
V_t=E_a-vd
P_o=I_a*V_t
print(P_o,'generator output(W)')
return P_o

print('at I_f=1A')
E_a=150.0
P_o=output(E_a)
print('at I_f=2A')
E_a=257.5
P_o=output(E_a)
print('at I_f=2.5A')
E_a=297.5
P_o=output(E_a)

print('at speed 1200rpm')

def ratio(E_a):
Ea=.8*E_a
return Ea

print('at I_f=1A')
E_a=150
Ea=ratio(E_a)
P_o=output(Ea)
print('at I_f=2A')
E_a=257.5
Ea=ratio(E_a)
P_o=output(Ea)

#Results
print('at I_f=2.5A')
E_a=297.5
Ea=ratio(E_a)
P_o=output(Ea)

at I_f=1A
(10976.0, 'generator output(W)')
at I_f=2A
(19576.0, 'generator output(W)')
at I_f=2.5A
(22776.0, 'generator output(W)')
at speed 1200rpm
at I_f=1A
(8576.0, 'generator output(W)')
at I_f=2A
(15456.0, 'generator output(W)')
at I_f=2.5A
(18016.0, 'generator output(W)')


## Example 7.25, Page No 223¶

In [16]:
import math
#initialisation of variables
#to find power to the load

R_L=3
R_a=.16

#Calculations
def output(E_a):
I_a=E_a/(R_a+R_L)
P_o=I_a**2*R_L
print(P_o,'power fed to the load(W)')
return P_o

print('at I_f=1A')
E_a=150
P_o=output(E_a)
print('at I_f=2A')
E_a=257.5
P_o=output(E_a)

#Results
print('at I_f=2.5A')
E_a=297.5
P_o=output(E_a)

at I_f=1A
(6759.734016984458, 'power fed to the load(W)')
at I_f=2A
(19920.56060727447, 'power fed to the load(W)')
at I_f=2.5A
(26590.1648373658, 'power fed to the load(W)')


## Example 7.28, Page No 231¶

In [17]:
import math
#initialisation of variables
#to compute the generator induced emf when fully loaded in long shunt compound and short shunt compound

P=75000.0
V_t=250.0
I_L=P/V_t
R_a=.04
R_se=.004
R_f=100

#Calculations
print('case of long shunt')
I_f=V_t/R_f
I_a=I_L+I_f
V_b=2
E_aLS=V_t+I_a*(R_a+R_se)+V_b
print(E_aLS,'generator induced emf(V)')

print('case of short shunt')
V_b=V_t+I_L*R_se
I_f=V_b/R_f
I_a=I_L+I_f
E_aSS=V_t+(I_a*R_a)+2

#Results
print(E_aSS,'generator induced emf(V)')

d=(E_aLS-E_aSS)*100/V_t
print(d,'percent diff')

case of long shunt
(265.31, 'generator induced emf(V)')
case of short shunt
(264.10048, 'generator induced emf(V)')
(0.48380799999999907, 'percent diff')


## Example 7.29, Page No 231¶

In [18]:
import math
#initialisation of variables
# to find field current and field resistance at rated terminal voltage, em power and     torque

V_o=250         #no load voltage
I_f=1.5
R_f=V_o/I_f
print(R_f,'field resistance(ohm)')
P=25000
V_t=220
I_L=P/V_t
I_a=I_L

#Calculations
print(I_a,'field current(A)')
R_a=.1
E_a=V_t+I_a*R_a
I_f=1.1
R_f=V_t/I_f
print(R_f,'field resistance(ohm)')
I_a=I_L-I_f
emp=E_a*I_a
print(emp,'em power(W)')
n=1600
emt=emp/(n*2*math.pi/60)
print(emt,'torque(Nm)')
I_fa=1.25         #actual I_f
I_c=I_fa-I_f

#Results
print(I_c,'I_f needed to counter effect armature current')

(166.66666666666666, 'field resistance(ohm)')
(113, 'field current(A)')
(199.99999999999997, 'field resistance(ohm)')
(25882.47, 'em power(W)')
(154.47461399728832, 'torque(Nm)')
(0.1499999999999999, 'I_f needed to counter effect armature current')


## Example 7.32, Page No 231¶

In [19]:
import math
#initialisation of variables
#to determine the reduction of flux/pole due to armature rxn

V=250
R_a=.7
def arxn(I_a,n):
phi=(V-I_a*R_a)/n
return phi

#Calculations
phinl=arxn(1.6,1250)

phil=arxn(40,1150)

d=(phinl-phil)*100/phinl

#Results
print(d,'reduction in phi due to armature rxn(%)')

(0.199104, 'flux/pole no load')
(3.0438975305018667, 'reduction in phi due to armature rxn(%)')


## Example 7.33, Page No 231¶

In [20]:
import math
#initialisation of variables
#to determine internal em torque developed

V=250.0
I_a=85.0
R_a=.18
E_a=V-I_a*R_a
n=1100
T=E_a*I_a/(n*2*math.pi/60)

#Calculations
print(T,'torque(Nm)')
T_1=.8*T
print(T_1,'new torque(Nm)')
#T=K_a'*K_f*I_f*I_a=K_a'*K_f*.8*I_f*I_a1    so
I_a1=I_a/.8
E_a1=V-I_a1*R_a
#E_a=K_a'*K_f*I_f*n
#E_a1=K_a'*K_f*.8*I_f*n1    so
n1=(E_a1/E_a)*n/.8

#Results
print(n1,'speed is(rpm)')

(173.18517475700543, 'torque(Nm)')
(138.54813980560434, 'new torque(Nm)')
(1352.5910737111205, 'speed is(rpm)')


## Example 7.34, Page No 231¶

In [21]:
import math
#initialisation of variables
#to determine speed, calculate internal torque developed on load and no load

V=220.0
R_f=110.0
I_f=V/R_f
I_L=5
I_a0=I_L-I_f
R_a=.25
E_a0=V-I_a0*R_a
n=1200

#Calculations
T_0=(E_a0*I_a0)/(2*math.pi*n/60)
print(T_0,'torque at no load(Nm)')

I_L=62
I_a1=I_L-I_f
E_a1=V-I_a1*R_a
n1=(E_a1/E_a0)*n/.95
print(n1,'speed(rpm)')
T_1=(E_a1*I_a1)/(2*math.pi*n1/60)

#Results
print(T_1-T_0,'torque at on load(Nm)')

(5.234208190934708, 'torque at no load(Nm)')
(1181.0598331632962, 'speed(rpm)')
(94.21574743682471, 'torque at on load(Nm)')


## Example 7.36, Page No 231¶

In [22]:
import math
#initialisation of variables
#to sketch speed the speed-torque characteristicsof the series motor connectedto mains by calculating speed and torque values at diff values of armature current

Ise=[75,100,200,300,400]
V=250
Ra=.08

#Calculations
def Eaa(Ise):
Ea=V-Ra*Ise
return Ea

def speed(Ea,Eav):
nn=n*Ea/Eav
return nn
Eav=[121.5,155,250,283,292]
n=1200.0

def torque(nn,Ea,Ise):
T=(60*Ea*Ise/(2*math.pi*nn))
return T

Ise=75
Ea=Eaa(Ise)
Eav=121.5
nn1=speed(Ea,Eav)
T1=torque(nn1,Ea,Ise)

Ise=100
Ea=Eaa(Ise)
Eav=155
nn2=speed(Ea,Eav)
T2=torque(nn2,Ea,Ise)

Ise=200
Ea=Eaa(Ise)
Eav=250
nn3=speed(Ea,Eav)
T3=torque(nn3,Ea,Ise)

Ise=300
Ea=Eaa(Ise)
Eav=283
nn4=speed(Ea,Eav)
T4=torque(nn4,Ea,Ise)

Ise=400
Ea=Eaa(Ise)
Eav=292
nn5=speed(Ea,Eav)
T5=torque(nn5,Ea,Ise)

nn=[nn1,nn2,nn3,nn4,nn5]

#Results
print(nn,'speed(rpm)')
T=[T1,T2,T3,T4,T5]
print(T,'torque(Nm)')

([2409.8765432098767, 1873.5483870967741, 1123.2, 958.303886925795, 895.8904109589041], 'speed(rpm)')
([72.51497094624482, 123.34508089621889, 397.88735772973837, 675.6127334250957, 929.4648676566688], 'torque(Nm)')


## Example 7.37, Page No 231¶

In [23]:
import math
#initialisation of variables
#to determine the power delivered to the fan,torque developed by the motor and calculate external resistance to be added to armature ckt

V=220
Ra=.6
Rse=.4
Ia=30
Ea=V-(Ra+Rse)*Ia
P=Ea*Ia
print(P,'Power(W)')
n=400
w=2*math.pi*n/60
T=P/w

#Calculations
print(T,'torque(Nm)')

nn=200
T1=T*(nn/n)**2
Iaa=Ia*nn/n
w1=2*math.pi*nn/60
P1=T1*w1
print(P1,'power developed when n=200 rpm((W))')
Ea1=P1/Iaa
Rext=(V-Ea1)/Iaa-(Ra+Rse)

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

(5700.0, 'Power(W)')
(136.0774763435705, 'torque(Nm)')
(0.0, 'power developed when n=200 rpm((W))')
(13.666666666666666, 'external resistance(ohm)')


## Example 7.38, Page No 231¶

In [24]:
import math
#initialisation of variables
# to determine the starting torque developed

P=180000.0
V=600.0
Ia=P/V
Ra=.105
Ea=V-Ia*Ra
n=600.0
nn=500.0

#Calculations
Eaa=Ea*nn/n
Iaa=282     #from magnetising curve
Ias=500     #at start
Eas=590     #from magnetising curve
Ts=Eas*Ias/(2*math.pi*nn/60)

#Results
print(Ts,'T_start(Nm)')

(5634.084985453095, 'T_start(Nm)')


## Example 7.39, Page No 231¶

In [25]:
#initialisation of variables
#to determine speed and mech power

k=.2*10**-3
Ia=250
Ea=428     #from magnetising curve
V=600
Ra=.105

#Calculations
Eaact=V-Ia*Ra
n=500
nn=n*Eaact/Ea
print(nn,'speed(rpm)')
Pmech=Eaact*Ia
print(Pmech,'mech power debeloped(W)')
T=Pmech/(2*math.pi*nn/60)

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

(670.268691588785, 'speed(rpm)')
(143437.5, 'mech power debeloped(W)')
(2043.5494692999362, 'torque(Nm)')


## Example 7.40, Page No 231¶

In [26]:
import math
#initialisation of variables
#to calculate the mmf per pole on no load and speed developed

ATsefl=2400.0
ATsenl=(3.0/25)*ATsefl
ATsh=ATsefl

#Calculations
ATnet=ATsenl+ATsh
print(ATnet,'mmf/pole(AT)')
Ea=148     #from magnetising curve
V=240
vd=3
Eanl=V-vd
n=850
nnl=n*Eanl/Ea

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

(2688.0, 'mmf/pole(AT)')
(1361, 'speed(rpm)')


## Example 7.41, Page No 231¶

In [27]:
import math
#initialisation of variables
#to calculate demagnetisising ampeare turns, em torque,starting torque and no of turns of the series field

P=10000.0
Vt=240.0
Ia=P/Vt
If=.6
Ra=.18
Ri=0.025
Ea=Vt-Ia*(Ra+Ri)
n=1218
Eaa=Ea*Vt/Ea

#Calculations
Iff=.548     #from n-If characteristics
Ifd=If-Iff
N_s=2000     #shunt field turns
ATd=N_s*Ifd
print(ATd,'demagnetising ampere turns')
T=Ea*Ia/(2*math.pi*n/60)
print(T,'torque(Nm)')
Rf=320
If=Vt/Rf
ATd=165     #given
Ifd=ATd/N_s
Ifnet=If-Ifd
n=1150     #from n-If characteristics
#Ea=Ka*phi*w     Ka*phi=k
k=Vt/(2*math.pi*n/60)
Iastart=75
Tstart=Iastart*k

#Results
print(Tstart,'starting torque(Nm)')
n_0=1250
Ea=240
If=.56     #from n-If characteristics
n=1200
Rse=.04
R=Rse+Ra+Ri
Eaa=Ea-Ia*R
nn=n*Ea/Eaa
Ifnet=.684     #from n-If characteristics
Ifd=Ifnet-If
Nse=N_s*Ifd/Ia
print(math.ceil(Nse),'no of turns of the series field')

(103.99999999999987, 'demagnetising ampere turns')
(75.61112042243762, 'torque(Nm)')
(149.467250903693, 'starting torque(Nm)')
(6.0, 'no of turns of the series field')


## Example 7.43, Page No 231¶

In [28]:
import math
#initialisation of variables
#to find the no of starter sections reqd,and resistance of each section

I1=55.0
I2=35.0
g=I1/I2
V1=220.0
R1=V1/I1
Ra=.4

#Calculations
n=math.log((R1/Ra)-g)+1
print((n),'no of starter sections reqd')

def res(re):
R=(1.0/g)*re
return R

R_1=R1-res(R1)

#Results
print(R_1,'R1(ohm)')
R_2=res(R_1)
print(R_2,'R2(ohm)')

(3.1316272948504063, 'no of starter sections reqd')
(1.4545454545454546, 'R1(ohm)')
(0.9256198347107438, 'R2(ohm)')


## Example 7.44, Page No 231¶

In [29]:
import math
#initialisation of variables
#to find the lower current limit, motor speed at each stud

Pop=25.0*1000
Vt=230.0
Ra=.12
rf=120.0
Nfl=2000.0

#Calculations
Iafl=Pop/Vt
Iamax=1.5*Iafl
k=5
I1=Iamax
R1=Vt/I1
r=(R1/Ra)**(1.0/(k-1))
I2=I1/r
def res(re):
R=(1.0/r)*re
return R
R_1=R1-res(R1)

#Results
print(R_1,'R1(ohm)')
R_2=res(R_1)
print(R_2,'R2(ohm)')
R_3=res(R_2)
print(R_3,'R3(ohm)')
R_4=res(R_3)
print(R_4,'R4(ohm)')

Iaf1=103.7
Ea=Vt-Iaf1*Ra
Ka=Ea/Nfl
def speed(r):
Ea=Vt-I2*r
n=Ea/Ka
return n
r1=R1
n1=speed(r1)
print(n1,'n1(rpm)')
r2=r1-R_1
n2=speed(r2)
print(n2,'n2(rpm)')
r3=r2-R_2
n3=speed(r3)
print(n3,'n3(rpm)')
r4=r3-R_3
n4=speed(r4)
print(n4,'n4(rpm)')

(0.6488269413387042, 'R1(ohm)')
(0.3504032174680013, 'R2(ohm)')
(0.189237540843471, 'R3(ohm)')
(0.10219896701649034, 'R4(ohm)')
(972.5036432479316, 'n1(rpm)')
(1497.7105726801958, 'n2(rpm)')
(1781.351997202184, 'n3(rpm)')
(1934.534396741029, 'n4(rpm)')


## Example 7.45, Page No 231¶

In [30]:
import math
#initialisation of variables
#to calculate the ratio of full load speed to no load speed

V=400.0
Rf=200.0
If=V/Rf
Inl=5.6

#Calculations
I_a0=Inl-If
vd=2     #voltage drop
Ra=.18
E_a0=V-Ra*I_a0-vd
Ifl=68.3
Iafl=Ifl-If
E_afl=V-Ra*Iafl-vd
e=.03     #armature rxn weakens the field by 3%
k=(E_afl/E_a0)*(1/(1-e))

#Results
print(k,'n_fl/n_nl')

(1.0016463628395236, 'n_fl/n_nl')


## Example 7.46, Page No 231¶

In [31]:
import math
#initialisation of variables
#to calculate load torque, motor speed and line current

V=250.0
Rf=41.67
If1=V/Rf
Ia=126.0
Ia1=Ia-If1
Ra=.03

#Calculations
Ea1=V-Ra*Ia1
n1=1105     #rpm
w1=2*math.pi*n1/60
Ka=Ea1/(If1*w1)
T=Ka*If1*Ia1
print(T,'torque(Nm)')

If2=5
Ia2=Ia1*(If1/If2)
I_L2=Ia2+2
print(I_L2,'motor current(A) initial')
Ea2=V-Ra*Ia2
w2=Ea2/(Ka*If2)

If1=6
Voc1=267
n=1200
k1=Voc1/(2*math.pi*n/60)     #k=Ka*phi
If1=5
Voc2=250
n=1200
k2=Voc2/(2*math.pi*n/60)     #k=Ka*phi
Ia2=Ia1*(k1/k2)
I_L2=Ia2+2
print(I_L2,'motor current(A) final')
Ea2=V-Ra*Ia2
w2=Ea2/k2

#Results

(255.52462829375477, 'torque(Nm)')
(145.98905682937735, 'motor current(A) initial')
(130.16051259899209, 'motor current(A) final')


## Example 7.47, Page No 231¶

In [32]:
import math
#initialisation of variables
#to calculate armature current,speed and value of external resistance in field ckt

V=250.0
Ia=5.0
Ra=.6
n=1000.0

#Calculations
k=(V-Ia*Ra)/(2*math.pi*n/60)
T=100.0
Ia=T/k
print(Ia,'armature current(A)')
w_m=(V-Ia*Ra)/k
n=(60*w_m)/(2*math.pi)
print(n,'speed(rpm)')

Rf=150
If=V/Rf
kk=k/If
Iaa=44.8
nn=1200
Iff=(V-Iaa*Ra)/(kk*2*math.pi*nn/60)
Rftot=V/Iff
Rfext=Rftot-Rf

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

(42.396661991765086, 'armature current(A)')
(909.1579060928783, 'speed(rpm)')
(49.26496952312658, 'external resistance(ohm)')


## Example 7.48, Page No 231¶

In [33]:
import math
#initialisation of variables
#to determine speed and torque of the motor

Ra=0.035
Rf=0.015
V=220
I=200

#Calculations
Ea=V-I*(Ra+Rf)
print('full field winding')
n=900
nn=n*Ea/V
print(nn,'speed(rpm)')
T=(Ea*I/2)/(2*math.pi*nn/60)
print(T,'torque(Nm)')
print('field winding reduced to half')
Rse=Rf/2
Rtot=Rse+Ra
Ea=V-I*(Rtot)
Iff=I/2
V=150     #from magnetisation characteristic
nn=n*Ea/V
print(nn,'speed(rpm)')
T=(Ea*I)/(2*math.pi*nn/60)
print(T,'torque(Nm)')

print('divertor across series field')
Ra=0.03
Rse=.015
Kd=1/((Rse/Ra)+1)
Ise=Kd*I
V1=192
I1=150
V2=150
I2=100
v=V2+((V1-V2)/(I1-I2))*(Ise-I2)
R=(2/3)*Rse
Ea=V-I*(Ra+R)
nn=n*Ea/v

#Results
print(nn,'speed(rpm)')
T=(Ea*I)/(2*math.pi*nn/60)
print(T,'torque(Nm)')

full field winding
(859.0909090909091, 'speed(rpm)')
(233.42724986811317, 'torque(Nm)')
field winding reduced to half
(1269.0, 'speed(rpm)')
(318.3098861837907, 'torque(Nm)')
divertor across series field
(864.0, 'speed(rpm)')
(318.3098861837907, 'torque(Nm)')


## Example 7.50, Page No 231¶

In [34]:
import math
#initialisation of variables
#to determine speed regulation, load speed and power regulation and compare power wasted in both cases

V=230.0
Ra=2.0
Ia=5.0
Ea=V-Ia*Ra
n=1250.0
w=2*math.pi*n/60
k=Ea/w     #k=Ka*phi
Re=15
Ia0=1

#Calculations
Ea=V-Ia0*(Ra+Re)
w0=Ea/k
Ia=5
Ea=V-Ia*(Ra+Re)
w=Ea/k
wr=(w0-w)*100/w
print(wr,'(i)speed regulation(%)')

R1=10
R2=15
B=R2/(R1+R2)
V_TH=V*B
R_TH=R1*B
Ea=V_TH-Ia0*(R_TH+Ra)
w0=Ea/k
Ia=5
Ea=V_TH-Ia*(R_TH+Ra)
w=Ea/k
wr=(w0-w)*100/w
print(wr,'(ii)speed regulation(%)')

Pe=Ia**2*Re

#Results
print(Pe,'power loss by rheostat control(W)')
Ra=2
Ea=98
Va=Ea+Ra*Ia
P2=Va**2/R2
I2=Va/R2
I1=I2+Ia
P1=I1**2*R1
Pe=P1+P2
print(Pe,'power loss by shunted armature control(W)')

(46.896551724137936, '(i)speed regulation(%)')
(-80.0, '(ii)speed regulation(%)')
(375, 'power loss by rheostat control(W)')
(2217, 'power loss by shunted armature control(W)')


## Example 7.52, Page No 231¶

In [35]:
import math
#initialisation of variables
#to determine armature current

n1=1600.0
Ia1=120.0
n2=400.0

#Calculations
Ia2=(n1*Ia1)/n2     #P=K*Ia*n

#Results
print(Ia2,'Ia(A)')

(480.0, 'Ia(A)')


## Example 7.54, Page No 231¶

In [36]:
import math
#to find speed and ratio of mech o/p

V=400.0
Ra=.25
Ia1=25.0
Ea1=V-Ra*Ia1
n1=1200
Rr=2.75
Ia2=15

#Calculations
Ea2=V-(Ra+Rr)*Ia2
phi=.7     #phi=(phi(15)/phi(25))
n2=(Ea2/Ea1)*n1/phi
print(n2,'speed(rpm)')

Po2=Ea2*I2
Po1=Ea1*I1

#Results
print(Po2/Po1,'ratio of mech o/p')
Ia=120     #Ia is constant indep of speed
print(Ia,'Ia(A)')

(1545.578231292517, 'speed(rpm)')
(0.5259259259259259, 'ratio of mech o/p')
(120, 'Ia(A)')


## Example 7.55, Page No 231¶

In [37]:
import math
#initialisation of variables
#to calculate the armature voltage reqd

V=500.0
Ra=.28
Ia1=128.0

#Calculations
Ea1=V-Ia1*Ra
#(Vt2-.28*Ia2)-->n1/math.sqrt(2)    (i)
#Ea1-->n1    (ii)
Vt2=(Ea1/math.sqrt(2))+(Ia1*Ra)

#Results
print(Vt2,'armature voltage(V)')

(364.05068355554783, 'armature voltage(V)')


## Example 7.57, Page No 231¶

In [38]:
import math
#initialisation of variables
#to calculate m/c eff as a generator and max eff when generating and motoring.

Pop=10*1000.0
Vt=250.0
Ra=.8
Rf=275.0
Ia=3.91
Psh=Vt**2/Rf
Prot=Vt*Ia-Ia**2*Ra
print(Prot,'rotational loss(W)')

I1=Pop/Vt
If=Vt/Rf
Ia=I1+If
Ploss=Prot+Psh+Ia**2*Ra
Eff_gen=(1-Ploss/(Ploss+Pop))*100
print(Eff_gen,'generator eff(%)')

#Calculations
Ia=I1-If
Ploss=Prot+Psh+Ia**2*Ra
Eff_motor=(1-Ploss/(Pop))*100
print(Eff_motor,'motor eff(%)')

Ia=math.sqrt((Prot+Psh)/Ra)
Ploss_tot=2*(Prot+Psh)
print(Ploss_tot,'total loss(W)')

I1=Ia-If
Pout=Vt*I1
Eff_gen_max=((1-Ploss_tot/(Ploss_tot+Pout)))*100
print(Eff_gen_max,'max generator eff(%)')

I1=Ia+If
Pin=Vt*I1
Eff_motor_max=((1-Ploss_tot/(Pin)))*100

#Results
print(Eff_motor_max,'max motor eff(%)')

(965.2695199999999, 'rotational loss(W)')
(79.799637649488, 'generator eff(%)')
(75.84978413884296, 'motor eff(%)')
(2385.0844945454546, 'total loss(W)')
(79.80476689843074, 'max generator eff(%)')
(75.85848385798421, 'max motor eff(%)')


## Example 7.59, Page No 231¶

In [39]:
import math
#initialisation of variables
#to determine rotational loss, no load armature current and speed and also find speed regulation and to calculate armature current for given em torque

Pout=60.0*1000
eff=.85
P_L=((1.0/eff)-1)*Pout
Pin=Pout+P_L
V=600.0
I_L=Pin/V
Rf=100
If=V/Rf
Ia=I_L-If
Ra=.16
Ea=V-Ia*Ra
n=900

#Calculations
Prot=P_L-Ia**2*Ra-V*If
print(Prot,'rotational loss(W)')

Iao=Prot/V
print(Iao,'no load armature current(A)')
Eao=V
n0=n*Eao/Ea
reg=(n0-n)*100.0/n
print(reg,'speed regulation(%)')

K=Ea/(2*math.pi*n/60)     #K=Ka*phi
T=600
Ia=T/K

#Results
print(Ia,'reqd armature current(A)')

(4993.824775086507, 'rotational loss(W)')
(8.323041291810844, 'no load armature current(A)')
(927.617538640626, 'no load speed(rpm)')
(3.0686154045139977, 'speed regulation(%)')
(97.13988149114788, 'reqd armature current(A)')


## Example 7.60, Page No 231¶

In [40]:
import math
#initialisation of variables
#to determine load torque and motor eff,armature current for max motor eff and ots value

V=250.0
Ia=35.0
Ra=.5
Ea=V-Ia*Ra
Poutg=Ea*Ia
Prot=500
Pout_net=Poutg-Prot
n=1250
w=2*math.pi*n/60
T_L=Pout_net/w

Rf=250.0
If=V/Rf
I_L=If+Ia
Pin=I_L*V
eff=Pout_net*100/Pin
print(eff,'efficiency(%)')

#Calculations
Pk=Prot+V*If
Ia=math.sqrt(Pk/Ra)
print(Ia,'armature current(A)')
Tloss=2*Pk
I_L=If+Ia
Pin=I_L*V
eff_max=1-(Tloss/Pin)
print(eff_max*100,'max efficiency(%)')

Ea1=V-Ia*Ra
n1=n*Ea1/Ea
print(n1,'speed(rpm)')
w=2*math.pi*n1/60
Poutg=Ea1*Ia
Pout_net=Poutg-Prot
T_L=Pout_net/w

#Results

(58.34620213748883, 'load torque(Nm)')
(84.86111111111111, 'efficiency(%)')
(38.72983346207417, 'armature current(A)')
(84.89799861424649, 'max efficiency(%)')
(1239.973565962166, 'speed(rpm)')


## Example 7.61, Page No 231¶

In [41]:
import math
#initialisation of variables
#to calculate rotational loss ,armature resistance,eff,line current and speed

Pshaft=20000.0
eff=.89
P_L=((1.0/eff)-1)*Pshaft
Pin=Pshaft+P_L
V=250
I_L=Pin/V
print(I_L,'line current(A)')
Rf=125
If=V/Rf
Ia=I_L-If

#Calculations
Ploss=P_L/2
Ra=Ploss/Ia**2
print(Ra,'armature resistance(ohm)')
Psh=V*If
Prot=Ploss-Psh
print(Prot,'rotational loss(W)')
Ea=V-I_L*Ra
n=850
Ia=100

Pc=Ia**2*Ra
P_L=Pc+Ploss
Pin=V*I_L
eff=(1-P_L/Pin)*100
Ea1=V-Ia*Ra
n1=n*Ea1/Ea

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

(89.88764044943821, 'line current(A)')
(0.16000997913103768, 'armature resistance(ohm)')
(735.955056179776, 'rotational loss(W)')
(844.1627038605443, 'speed(rpm)')


## Example 7.62, Page No 231¶

In [42]:
import math
#initialisation of variables
#to calculate eff of motor and generator

Iag=60.0
Ia=15.0
Iam=Iag+Ia
Vt=250.0
Ram=.2
Rag=.2

#Calculations
Pstray=.5*(Vt*Ia-Iam**2*Ram-Iag**2*Rag)
Ifm=2
Pinm=Vt*(Iam+Ifm)
P_Lm=(Pstray+Vt*Ifm)+Iam**2*Ram
eff_M=1-(P_Lm/Pinm)
print(eff_M*100,'efficiency of motor(%)')

Iag=60
Ifg=2.5
P_Lg=(Pstray+Vt*Ifg)+Iag**2*Rag
Poutg=Vt*Iag
eff_G=1-(P_Lg/(Poutg+P_Lg))

#Results
print(eff_G*100,'efficiency of generator(%)')

(86.6103896103896, 'efficiency of motor(%)')
(86.71773377655731, 'efficiency of generator(%)')


## Example 7.63, Page No 231¶

In [43]:
import math
#initialisation of variables
#to calculaate torque constt,value of rotational loss,stalled torque and stalled current of motor, armature current anad eff, motor o/p and eff

Vt=6.0
Iao=.0145
n=12125
w=2*math.pi*n/60
Ra=4.2
Ea=Vt-Iao*Ra
Km=Ea/w

#Calculations
print(Km,'torque constt')

Prot=Ea*Iao
print(Prot,'rotational loss(W)')

Ia_stall=Vt/Ra
print(Ia_stall,'stalled current(A)')
Tstall=Km*Ia_stall
print(Tstall,'stalled torque(Nm)')

Poutg=1.6
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

#Ea*Ia=1.6
#(Vt-Ra*Ia)*Ia=Poutg
Ea=Vt-Ia*Ra
wo=Ea/Km
Proto=Prot*(w/wo)**2
Pout_net=Poutg-Prot
Pi=Vt*Ia
eff=Pout_net/Pi
print(eff*100,'efficiency(%)')

n1=10250
w1=2*math.pi*n1/60
Km=.004513
Ea1=Km*w1
Ia=(Vt-Ea1)/Ra
Pout_gross=Ea1*Ia
Prot1=Prot*(n1/n)
Pout_net=Pout_gross-Prot1
print(Pout_net,'o/p power(W)')
Pin=Vt*Ia
eff=Pout_net/Pin

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

(0.004677462049569034, 'torque constt')
(0.08611695, 'rotational loss(W)')
(1.4285714285714286, 'stalled current(A)')
(0.006682088642241477, 'stalled torque(Nm)')
(71.12044194138065, 'efficiency(%)')
(1.3331193196856814, 'o/p power(W)')
(80.73587687106667, 'efficiency(%)')