# Chapter 27: Armature Reaction and Commutation¶

## Example Number 27.1, Page Number:943¶

In [1]:
#variable declaration
p=4
z=722
ia=100.0#A
theta_m=8.0#degrees

#calculatons
i=ia/2
atd_perpole=z*i*theta_m/360
atc_perpole=z*i*((1/(2.0*p))-(theta_m/360.0))

#result
print "armature demagnetization=",atd_perpole
print "cross-magnetization=",atc_perpole

armature demagnetization= 802.222222222
cross-magnetization= 3710.27777778


## Example Number 27.2, Page Number:943¶

In [12]:
#variable declaration
p=8
z=1280
v=500#V
ia=200.0#A
commuter=160

#calculatons
i=ia/8
atd_perpole=z*i*theta_m/360
atc_perpole=z*i*((1/(2.0*p))-(theta_m/360.0))

#result
print "armature demagnetization=",atd_perpole
print "cross-magnetization=",atc_perpole

armature demagnetization= 800.0
cross-magnetization= 1200.0


## Example Number 27.3(a), Page Number:943¶

In [17]:
#variable declaration
p=4
z=880
ia=120.0#A
theta_m=3.0#degrees
n=1100#tturns/pole
#calculatons
i=ia/2
atd_perpole=z*i*theta_m/360
atc_perpole=z*i*((1/(2.0*p))-(theta_m/360.0))

#result
print "a)armature demagnetization=",atd_perpole,"AT"
print "b)cross-magnetization=",atc_perpole,"AT"

a)armature demagnetization= 440.0 AT
b)cross-magnetization= 6160.0 AT


## Example Number 27.3(b), Page Number:943¶

In [27]:
#variable declaration
p=4
z=480
ia=150.0#A
theta_m=10.0*2#degrees

#calculatons
i=ia/4
total=(z*i)/(2*p)
atd_perpole=total*(2*theta_m/180)
atc_perpole=total*(1-(2*theta_m/180))

#result
print "armature demagnetization=",atd_perpole
print "cross-magnetization=",atc_perpole

armature demagnetization= 500.0
cross-magnetization= 1750.0


## Example Number 27.4, Page Number:944¶

In [32]:
#variable declaration
z=492
theta_m=10.0
ia=143.0+10.0

#calculations
i1=ia/2#wave wound
i2=ia/4#lap wound
atd_perpole1=z*i1*theta_m/360#wave wound
extra_shunt1=atd_perpole1/theta_m
atd_perpole2=z*i2*(theta_m/360.0)#lap wound
extra_shunt2=atd_perpole2/theta_m
#result
print "wave wound:"
print "demagnetization per pole=",atd_perpole1,"AT"
print "extra shunt field turns=",int(extra_shunt1)
print "lap wound:"
print "demagnetization per pole=",atd_perpole2,"AT"
print "extra shunt field turns=",int(extra_shunt2)

wave wound:
demagnetization per pole= 1045.5 AT
extra shunt field turns= 104
lap wound:
demagnetization per pole= 522.75 AT
extra shunt field turns= 52


## Example Number 27.5, Page Number:944¶

In [35]:
#variable declaration
pole=4
p=50*1000.0#W
v=250.0#V
z=400
commuter=4
rsh=50.0#ohm
a=2

#calculations
i=p/v
ish=v/rsh
ia=i+ish
i=ia/2
segments=z/a
theta=pole*360.0/segments
atd=z*i*(theta/360)
extra=atd/ish

#result
print "demagnetisation=",atd,"AT"
print "extra shunt turns/poles",extra

demagnetisation= 820.0 AT
extra shunt turns/poles 164.0


## Example Number 27.6, Page Number:943¶

In [45]:
#variable declaration
z=500
ia=200.0#A
p=6
theta=10.0#degrees
lambda_=1.3

#calculations
i=ia/2
atc=((1/(2.0*p))-(theta/360.0))*z*i
atd=z*i*theta/360
extra=lambda_*atd/ia

#result
print "i)cross magnetization ampere-turns=",atc
print "ii)back ampere-turns",atd
print "iii)series turns required to balance the demagnetising ampere turns",int(extra)

i)cross magnetization ampere-turns= 2777.77777778
ii)back ampere-turns 1388.88888889
iii)series turns required to balance the demagnetising ampere turns 9


## Example Number 27.7, Page Number:945¶

In [59]:
#variable declaration
p=22.38#kW
v=440.0#V
pole=4
z=840
commutator=140
efficiency=0.88
ish=1.8#A
back=1.5

#calculations
motor_input=p*1000.0/efficiency
input_i=motor_input/v
ia=input_i-ish
i=ia/2.0
theta=back*360/commutator
atd=z*i*(theta/360.0)
atc=((1/(2.0*pole))-(theta/360.0))*z*i
#result
print "armature demagnetization amp-turns/pole=",atd
print "distorting amp-turns/pole=",atc

armature demagnetization amp-turns/pole= 251.998140496
distorting amp-turns/pole= 2687.98016529


## Example Number 27.8, Page Number:945¶

In [62]:
#variable declaration
v=400#V
ia=1000#A
p=10
z=860
per=0.7

#calculations
i=ia/p
at=per/p*z*(i/2)

#result
print "AT/pole for compensation winding=",at

AT/pole for compensation winding= 3010.0


## Example Number 27.9, Page Number:948¶

In [64]:
#variable declaration
n=800.0#rpm
segment=123
wb=3
#calculations
v=n/60.0*segment
commutation=wb/v

#result
print "commutation time=",commutation*1000,"millisecond"

commutation time= 1.82926829268 millisecond


## Example Number 27.10, Page Number:948¶

In [65]:
#variable declaration
p=4
n=1500#rpm
d=30#cm
ia=150#A
wb=1.25#cm
L=0.07*0.001#H

#calculation
i=ia/2
v=3.14*d*(n/60)
tc=wb/v
E=L*2*i/tc

#result
print "average emf=",E,"V"

average emf= 19.782 V


## Example Number 27.11, Page Number:949¶

In [67]:
import math
#variable declaration
segments=55
n=900
wb=1.74
L=153*math.pow(10,-6)#H
i=27#A

#calculations
v=segments*n/60
Tc=wb/v
E=L*2*i/Tc

#result
print "average emf=",E,"V"

average emf= 3.91732758621 V


## Example Number 27.12, Page Number:949¶

In [68]:
#variable declaration
p=4
n=1500.0#rpm
ia=150.0#A
z=64
wb=1.2
L=0.05#mH

#calculations
L=L*0.001
v=n/60*z
tc=wb/v
i=ia/p
#i.linear
E1=L*2*i/tc
#ii.sinusoidal
E2=1.11*E1

#result
print "Linear commutation,E=",E1,"V"
print "Sinosoidal commutation,E=",E2,"V"

Linear commutation,E= 5.0 V
Sinosoidal commutation,E= 5.55 V


## Example Number 27.13, Page Number:951¶

In [89]:
import math
#variable declaration
p=6
B=0.5#Wb/m2
Ig=4.0#mm
ia=500.0#A
z=540

#calculations
arm_mmf=z*(ia/p)/(2*p)
compole=int(B*Ig*0.001/(4*3.14*math.pow(10,-7)))
mag=0.1*compole
total_compole=int(compole+mag)
total_mmf=arm_mmf+total_compole
Ncp=total_mmf/ia

#result
print "Number of turns on each commutating pole=",int(Ncp)

Number of turns on each commutating pole= 11


## Example Number 27.14, Page Number:957¶

In [92]:
#variable declaration
p1=100.0#kW
V1=250#V
p2=300.0#kW
V2=250#V
i1=200#A
i2=500#A
il=600#A

#calculations
delI1=p1/(p1+p2)*il
delI2=p2/(p1+p2)*il

#result

Current supplied by generator 1 with additional load= 150.0 A


## Example Number 27.15, Page Number:957¶

In [6]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
i1=Symbol('i1')
i2=Symbol('i2')
v_nl1=270#V
v_l=220#V
il1=35#A
v_nl2=280#V
il2=50#A
il=60#A

#calculations
#generator 1
vd1=v_nl1-v_l
vd_pa=vd1/il1#voltage drop per ampere
#generator 2
vd_pa2=(v_nl2-v_l)/il2
#270=(10/7)i1=280-1.2*i2
ans=solve([4.2*i2-5*i1-35,i1+i2-60],[i1,i2])
v=v_nl2-vd_pa2*ans[i2]
o1=v*ans[i1]/1000.0
o2=v*ans[i2]/1000.0

#result
print "output current of first machine=",round(ans[i1],1)
print "output current of second machine=",round(ans[i2],1)
print "output of first machine=",round(o1,1),"kW"
print "output of second machine=",round(o2,1),"kW"

output current of first machine= 23.6
output current of second machine= 36.4
output of first machine= 5.7 kW
output of second machine= 8.9 kW


## Example Number 27.16, Page Number:958¶

In [15]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
i1=Symbol('i1')
i2=Symbol('i2')
v=Symbol('v')
ra=0.01#ohm
rf=20#ohm
i=4000#A
v1=210#V
v2=220#V

#calculations
#V+(i1+v/20)*0.01=210
#V+(i2+v/20)*0.01=220
#solving the above two equations we have i1-i2=1000
ans=solve([i1-i2-1000,i1+i2-4000],[i1,i2])
V=solve([v1-(ans[i1]+v/20)*0.01-v],[v])
o1=V[v]*ans[i1]/1000
o2=V[v]*ans[i2]/1000

#result
print "Bus bar voltage=",V[v],"V"
print "output of first generator=",o1,"kW"
print "output of second generator=",o2,"kW"

Bus bar voltage= 184.907546226887 V
output of first generator= 462.268865567216 kW
output of second generator= 277.361319340330 kW


## Example Number 27.17, Page Number:959¶

In [19]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
i1=Symbol('i1')
i2=Symbol('i2')
i=250.0#A
v1=50.0#kW
v2=100.0#kW
v=500.0#V
r1=0.06
r2=0.04

#calculations
#generator 1
vd1=v*r1
il1=v1*1000/v
i_d1=vd1/il1
#generator 2
vd2=v*r2
il2=v2*1000/v
i_d2=vd2/il2
#3i1/10=i2/10
ans=solve([i1+i2-i,3*i1-i2],[i1,i2])
v=v-(3*ans[i1]/10)

#result
print "current delivered to first machine=",round(ans[i1],1),"A"
print "current delivered to second machine=",round(ans[i2],1),"A"
print "terminal voltage=",round(v,1),"V"

current delivered to first machine= 62.5 A
current delivered to second machine= 187.5 A
terminal voltage= 481.3 V


## Example Number 27.18, Page Number:959¶

In [23]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
x1=Symbol('x1')
x2=Symbol('x2')
i1=Symbol('i1')
i2=Symbol('i2')
v=125.0#V
w1=250.0#kW
v1=119.0#V
w2=200.0#kW
v2=116.0#V
i=3500.0#A

#calculations
#v=125-[(125-119)(x1/100)] for generator 1
#v=125-[(125-116)(x2/100)] for generator 2
#(250x1*1000/100)+(200x2*1000/100)=v*3500
#v=125-6x1/100
ans=solve([(250.0*x1*1000.0/100.0)+(200.0*(2.0*x1*1000.0)/300.0)-((125.0-((6.0*x1)/100.0))*3500.0)],[x1])
V=v-(6.0*ans[x1]/100.0)
ans2=solve([V-(v-((v-v2)*(x2/100.0)))],[x2])
ratio=ans[x1]/ans2[x2]
I=solve([ratio-((i1*w2)/(i2*w1)),i1+i2-i],[i1,i2])
print "I1=",round(I[i1],0),"A"
print "I2=",round(I[i2],0),"A"

I1= 2283.0 A
I2= 1217.0 A


## Example Number 27.19, Page Number:960¶

In [16]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
IA=Symbol('IA')
IB=Symbol('IB')
va1=240.0#V
va2=220.0#v
ia=200.0#A
vb1=245.0#V
vb2=220.0#V
ib=150.0#A
i=300.0#A

#calculations
I=solve([(va1-((va1-va2)*IA/ia))-(vb1-((vb1-vb2)*IB/ib)),IA+IB-i],[IA,IB])
vbus=va1-((va1-va2)*I[IA]/ia)
#result
print "IA=",round(I[IA],2),"A"
print "IB=",round(I[IB],2),"A"
print "V bus=",round(vbus,2),"V"

IA= 168.75 A
IB= 131.25 A
V bus= 223.13 V


## Example Number 27.20, Page Number:961¶

In [14]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
i1=Symbol('i1')
i2=Symbol('i2')
n=5.0#number ofshunt generators
ra=0.1#ohm
p=250.0#kW
v=500.0#V
incr=0.04#increase in current

#calculations
a_drop=ra*o
emf=v+a_drop
incr=incr*emf
emf1=emf+incr
#emf1-ra*i1=V
#emf-ra*i2=V
I=solve([emf1-emf-ra*(i1-i2),i1+4.1*i2-510],[i1,i2])
V=I[i1]+4.0*I[i2]#V=i1+4*i2
o1=V*I[i1]/1000.0
o2=V*I[i2]/1000.0

#result
print "Power output of first machine=",round(o1),"kW"
print "Power output of second machine=",round(o2,2),"kW"
print "Terminal voltage=",round(V),"V"

Power output of first machine= 133.0 kW
Power output of second machine= 30.24 kW
Terminal voltage= 504.0 V


## Example Number 27.21, Page Number:961¶

In [2]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
V=Symbol('V')
i=1500.0#A
ra1=0.5#ohm
emf1=400.0#V
ra2=0.04#ohm
emf2=440.0#V
rs1=100.0#ohm
rs2=80.0#ohm

#calculations
#i2=1500-i1
#ish1=v/100, ish2=v/80
#ia1=i1+v/100, ia2=i2+v/80
ans=solve([(0.5/0.04)-((emf1-1.005*V)/(1.0005*V-380))],[V])
i1=(emf1-1.005*ans[V])/0.5
i2=i-i1
o1=ans[V]*i1/1000
o2=ans[V]*i2/1000
#result
print "I1=",round(i1,2),"A"
print "I2=",round(i2,2),"A"
print "Terminal Voltage=",round(ans[V],2),"V"

I1= 33.86 A
I2= 1466.14 A
Terminal Voltage= 381.16 V


## Example Number 27.22, Page Number:962¶

In [24]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
V=Symbol('V')
I=Symbol('I')
v1=250#V
ra1=0.24#ohm
rf1=100#ohm
v2=248#V
ra2=0.12#ohm
rf2=100#ohm
i=40#A
ir=0.172#ohm

#calculations
ans=solve([V+((I+V/rf1)*ra1)-v1,V+((I+V/rf2)*ra2)-v2],[I,V])
ib=i-2*ans[I]
vd=ib*ir
eb=ans[V]+vd

#result
print "emf of battery=",round(eb),"V"

emf of battery= 248.0 V


## Example Number 27.23, Page Number:963¶

In [4]:
#variable declaration
va=400#V
ra=0.25#ohm
vb=410#V
rb=0.4#ohm
V=390#V

#calculations
net_v=vb-va
total_r=ra+rb
i=net_v/total_r
terminal_v=va+(i*ra)
power_AtoB=terminal_v*i

#result
print "Current=",i,"A"
print "Voltage=",terminal_v,"V"
print "Power=",power_AtoB,"W"

Current= 15.3846153846 A
Voltage= 403.846153846 V
Power= 6213.01775148 W


## Example Number 27.24, Page Number:964¶

In [7]:
import math
from sympy.solvers import solve
from sympy import Symbol
#variable declaration
v=Symbol('v')
i=500.0#A
ra1=0.01#ohm
ra2=0.02#ohm
sw1=0.004#ohm
sw2=0.006#ohm
e1=240.0#V
e2=244.0#V

#calculations
V=solve([(((e1-v)/ra1)+((e2-v)/ra2)-i)],[v])
i1=(e1-V[v])/ra1
i2=(e2-V[v])/ra2
#ratio of series winding (1/0.004):(1/0.0006) or 3:2
is1=i*3/5
is2=i*2/5
vbus=V[v]-(is1*sw1)

#result
print "I1=",round(i1),"A"
print "I2=",round(i2),"A"
print "Current in series winding:"
print "generator A=",round(is1),"A"
print "generator B=",round(is2),"B"
print "Bus bar voltage=",round(vbus,1),"V"

I1= 200.0 A
I2= 300.0 A
Current in series winding:
generator A= 300.0 A
generator B= 200.0 B
Bus bar voltage= 236.8 V

In [ ]: