# Chapter 9: Single- and Two-Phase Motors¶

### Example 9.1, Page number: 459¶

In [1]:
from __future__ import division
from sympy import *
import math

#Variable declaration:
Zmain=4.5+3.7j                              #main winding impedance(ohm)
Zaux=9.5+3.5j                               #auxilliary winding impedance(ohm)
f=60                                        #frequency(Hz)

#Calculations:
phy_main=math.degrees(math.atan(Zmain.imag/Zmain.real))
phy=phy_main-90
w=2*pi*60
Xc=symbols('Xc')
C=-1/(w*a[0])

#Results:
print "The starting capacitance:",round(float(C)*10**6,0), "uF"

The starting capacitance: 176.0 uF


### Example 9.2, Page number: 467¶

In [2]:
from __future__ import division
import cmath
from math import *

#Variable Declaration:
R1_m=2.02                                   #resistance of main winding(ohm)
X1_m=2.79                                   #resistance of main
R2_m= 4.12                                  #Rotor resistance ref. to stator(ohm)
X2_m=2.12                                   #Rotor reactance ref. to stator(ohm)
Xm=66.8                                     #Magnetising reactance(ohm)
s=0.05                                      #slip
Pcu=24                                       #copper loss(W)
Pw=13                                       #friction & windage loss(W)
V=110                                       #line-to-line voltage(V)
p=4                                         #no.of poles
fc=60                                       #frequency(Hz)

#Calculations:
X22=X2_m+Xm
Q2_m=X22/R2_m
Rf=(Xm**2/X22)*(1/(s*Q2_m+1/(s*Q2_m)))
Xf=(X2_m*Xm/X22)+Rf/(s*Q2_m)
Zf=Rf+1j*Xf                             #forward field impedance(ohm)

Rb=R2_m*(Xm/X22)**2/(2-s)
Xb=(X2_m*Xm/X22)+Rb/((2-s)*Q2_m)
Zb=Rb+1j*Xb                             #bachward field impedance
Zt=0.5*(Zf+Zb)+R1_m+1j*X1_m
I=V/abs(Zt)                             #Stator current(A)
pf=cos(cmath.phase(Zt))                 #power factor
Pin=V*I*pf
Pg_f=I**2*0.5*Rf                        #power absorbed by forward field(W)
Pg_b=I**2*0.5*Rb                        #power absorbed by backward field(W)
Pmech=(1-s)*(Pg_f-Pg_b)
Pshaft=Pmech-(Pcu+Pw)
ws=(2/p)*120*pi
ns=(120/p)*fc
n=(1-s)*ns                              #Rotor speed(rpm)
wm=(1-s)*ws
Tshaft=Pshaft/wm                         #shaft torque(Nm)
eff=Pshaft/Pin

#Results:
print "Stator current:",round(I),"A", "\nPower factor:",round(pf,3)
print "Power output:",round(Pshaft),"W", "\nSpeed:",n,"rpm"
print "Shaft torque:",round(Tshaft,3),"Nm","Efficiency",round(eff*100),"%"

Stator current: 4.0 A
Power factor: 0.621
Power output: 147.0 W
Speed: 1710.0 rpm
Shaft torque: 0.823 Nm Efficiency 60.0 %


### Example 9.3, Page number: 474¶

In [4]:
from __future__ import division
import math
import cmath

#Variable declaration:
f=60                                        #freq(Hz)
omeag=2*pi*f
s=0.05                                      #slip
R1=0.534                                    #resistance of main winding(ohm)
X1=2.45
Xm=70.1
R2=0.956
X2=2.96
Valpha=230
Vbeta=210*cmath.exp(1j*80*pi/180)

#Calculations:
Vf = 0.5*(Valpha - 1j*Vbeta)
Vb = 0.5*(Valpha + 1j*Vbeta)
Zf=R1+1j*X1+1j*Xm*(R2/s+1j*X2)/(R2/s+1j*(X2+Xm))
If=Vf/Zf
Zb=R1+1j*X1+1j*Xm*(R2/(2-s)+1j*X2)/(R2/(2-s)+1j*(X2+Xm))
Ib = Vb/Zb
Ialpha=If+Ib
Ibeta=1j*(If-Ib)
Pgf=2*((Vf*(If.conjugate())).real-R1*abs(If)**2)
Pgb=2*((Vb*(Ib.conjugate())).real-R1*abs(Ib)**2)
Pmech=(1-s)*(Pgf-Pgb)

#Results:
print "(a) Positive seq components:", round(Vf.real,1)+1j*round(Vf.imag,1),"V"
print"    Negative seq. components:", round(Vb.real,1)+1j*round(Vb.imag,1),"V"

print"\n(b) Positive stator currents:",round(If.real,1)+1j*round(If.imag,1),"A"
print"    Negative stator currnets:",round(Ib.real,1)+1j*round(Ib.imag,1),"A"

print"\n(c) Positive currents:",round(Ialpha.real,1)+1j*round(Ialpha.imag,1),"A"
print"    Negative currnets:",round(Ibeta.real,1)+1j*round(Ibeta.imag,1),"A"

print "\n(d) Power to forward field:",round(Pgf,0),"W"
print "    Power to backward field:",round(Pgb,0),"W"
print "    Pmech:",round(Pmech,0),"W"

(a) Positive seq components: (218.4-18.2j) V
Negative seq. components: (11.6+18.2j) V

(b) Positive stator currents: (9.3-6.3j) A
Negative stator currnets: (3.7-1.5j) A

(c) Positive currents: (13-7.8j) A
Negative currnets: (4.8+5.6j) A

(d) Power to forward field: 4149.0 W
Power to backward field: 15.0 W
Pmech: 3928.0 W


### Example 9.5, Page number: 483¶

In [4]:
from __future__ import division
%matplotlib inline
import cmath
from math import *
from matplotlib.pyplot import *

#Variable declaration:
Lmain=0.0806                           #main winding inductance(H)
Rmain = 0.58                           #main winding resistance(ohm)
Laux = 0.196                           #auxilliary winding inductance(H)
Raux = 3.37                            #auxilliary winding resistance(ohm)
Lr=4.7*10**-6                          #rotor inductance(H)
Rr=37.6*10**-6                         #rotor resistance(ohm)
Lmain_r=0.588*10**-3                   #main inductance ref. to rotor(H)
Laux_r = 0.909*10**-3                  #aux inductance ref. to rotor(H)
p=2                                    #poles
Vo=230                                 #terminal voltage(V)
w=120*pi                               #angular frequency(Hz)
C=35*10**-6
Prot=40                                #Windage losses(W)
Pcore=105                              #Core loss(W)
n=3500                                 #rpm

#calculations and Results:
Xc=-1/(w*C)
speed=[0]*102
for cal in range(1,3,1):
if cal==1:
mmax=2
else:
mmax=102
for m in range(1,mmax,2):
if cal==1:
speed[m-1]=3500
else:
speed[m-1]=3599*(m-1)/100

ns=(2/p)*3600
s=(ns-speed[m-1])/ns

#for part (a):
Kplus=s*w/(2*(Rr+1j*s*w*Lr))
Kminus=(2-s)*w/(2*(Rr+1j*(2-s)*w*Lr))
A1=Lmain-1j*Lmain_r**2*(Kplus+Kminus)
A2=Lmain_r*Laux_r*(Kplus-Kminus)
A3=Laux-1j*Laux_r**2*(Kplus+Kminus)
M=[[0]*2,[0]*2]
M[0][0]=Rmain + 1j*w*A1
M[0][1] = 1j*w*A2;
M[1][0] = -1j*w*A2;
M[1][1] = Raux + 1j*Xc+ 1j*w*A3
V=[[Vo],[-Vo]]
M1=inv(M)
I=dot(M1,V)
Imain=I[0][0]
Iaux=I[1][0]
Is=Imain-Iaux
magImain=abs(Imain)
angleImain=math.degrees(cmath.phase(Imain))
magIaux=abs (Iaux)
angleIaux=math.degrees(cmath.phase(Iaux))
magIs=abs(Is)
angleIs=math.degrees(cmath.phase(Is))
Vcap=Iaux*Xc
magVcap=abs(Vcap)

#for part (b):
Tmech=[0]*102
Pshaft=[0]*102
Tmechl = (Kplus-Kminus).conjugate()
Tmechl=Tmechl*(Lmain_r**2*Imain*((Imain).conjugate())+Laux_r**2*Iaux*((Iaux).conjugate()))
Tmech2 = 1j*Lmain_r*Laux_r*((Kplus+Kminus).conjugate())
Tmech2 = Tmech2*((Imain).conjugate()*Iaux-Imain*((Iaux).conjugate()));
Tmech[m-1] = (p/2)*(Tmechl+Tmech2).real
Pshaft=((2/p)*(1-s)*w*Tmech[m-1])-Prot

#for part (c):
Pmech=[0]*102
Pmain = (Vo*(Imain.conjugate())).real
Paux = (-Vo*(Iaux.conjugate())).real
Pin = Pmain+Paux+Pcore
eta = Pshaft/Pin;
if cal==1:
print "part (a):"
print  "\nImain=",round(magImain,1),"A  at an angle",round(angleImain,1),"degrees"
print  "\nImain=",round(magIaux,1),"A  at an angle",round(angleIaux,1),"degrees"
print  "\nImain=",round(magIs,1),"A  at an angle",round(angleIs,1),"degrees"
print  "\nVcap=",round(magVcap,0),"V"
print "\npart (b):"
print "\nTmech=",round(Tmech[0],2),"Nm"
print "\nPshaft=",round(Pshaft),"W"
print "\npart (c):"
print "\nPmain=",round(Pmain,0),"W"
print "\nPaux=",round(Paux,0),"W"
print "\nPin=",round(Pin,0),"W"
print "\nEfficiency=",round(eta*100,1),"%"
else:

plot(speed,Tmech,'g.')
xlabel('speed (rpm)')
ylabel('Tmech (Nm)')
title('Electromagnetic torque vs speed')
show()

part (a):

Imain= 15.9 A  at an angle -37.6 degrees

Imain= 5.2 A  at an angle -150.8 degrees

Imain= 18.5 A  at an angle -22.7 degrees

Vcap= 394.0 V

part (b):

Tmech= 9.75 Nm

Pshaft= 3532.0 W

part (c):

Pmain= 2893.0 W

Paux= 1043.0 W

Pin= 4041.0 W

Efficiency= 87.4 %