Chapter 3: Dynamics of Electric Drives

Example no:3.1,Page no:34

In [1]:
import math 

#Variable declaration
MoI=0.3              #Moment of inertia of motor[Kg-m**2]
T=20                 #Torque developed[N-m]
MoIshaft=10          #Shaft load moment of inertia in Kg-m**2
LostT=10             #Torque lost [%]

#Calculation
MoItotal=MoI+MoIshaft            #Total moment of inertia in Kg-m**2
LoadTorque=T-T*LostT/100         # Load torque in N-m

#Result
print"Total Moment of Inertia: ",MoItotal,"Kg-m**2"
print"Load Torque is:",LoadTorque,"N-m"
Total Moment of Inertia:  10.3 Kg-m**2
Load Torque is: 18 N-m

Example no:3.2,Page no:34

In [2]:
import math 
from fractions import Fraction
from decimal import Decimal
#Variable declaration
n=0.1                #teeth ratio
ETAg=90/100.0        #efficiency
J0=0.4               #Inertia of motor Kg-m**2
J1=10                #Load moment of inertia Kg-m**2
TL=50                #Torque N-m
N=1400               #speed in rpm

#Calculation
J=J0+n**2*J1         #Kg-m**2
T=n*TL/ETAg          #Load torque referred to motor side in [N-m]
MotorSpeed=2*math.pi*N/60     #Speed of motor [rad/sec]
Pdev=MotorSpeed*T             #Power developed by motor [Watt]

#Result
print"Equivalent Inertia: ",J,"Kg-m^2"
print"Load Torque refered to motor side : ",round(T,3),"N-m,(which is equal to 50/9 N in fraction)"
print"Power developed by motor: ",round(Pdev,3),"W"
Equivalent Inertia:  0.5 Kg-m^2
Load Torque refered to motor side :  5.556 N-m,(which is equal to 50/9 N in fraction)
Power developed by motor:  814.487 W

Example no:3.3,Page no:35

In [3]:
import math 

#Variable declaration
v=60.0                 #Velocity of train Km/hr
w=400.0                #Total weight of train in KN
friction=5.0           #frictional resistance  N/KN weight
tan_theta=1/100.0      #inclination
g=9.81                 # gravity constant

#Calculation

#Part(a):
sin_theta=tan_theta 
W_sin_theta=w*1000*sin_theta           #N
R=friction*W_sin_theta/10.0            #frictional resistance in N
P=W_sin_theta+R                        #Total force opposing motion[N]
v=60*1000/60.0/60.0                    #Speed of traing[m/s]
Power=P*v                              #Power[Watt]
Force=P                                #down the inclined force in N

#Part(b):
u=v #initial velocity in m/s
v=0 #final velocity in m/s
m=w*1000/g #in Kg
KE=1.0/2.0*m*u**2 #in Joule
d=KE/P #distance in meter

#Result
print"(a).Final KW rating of the motor of train : ",Power/1000.0,"KW"
print"(b).Distance covered : ",d,"m"
(a).Final KW rating of the motor of train :  100.0 KW
(b).Distance covered :  943.859251708 m

Example no:3.4,Page no:35

In [4]:
import math 

#Variable declaration
MotorOutput=200.0                        #Increased output of motor in KW
v=60.0                                   #Velocity of train in Km/hr
w=400.0                                  #Total weight of train in KN
friction=5.0                             #frictional resistance in N/KN weight
tan_theta=1/100.0                        #inclination
g=9.81                                   # gravity constant

#Calculation
sin_theta=tan_theta 
W_sin_theta=w*1000*sin_theta             #N
R=friction*W_sin_theta/10                #frictional resistance in N
P=W_sin_theta+R                          #N
v=60*1000.0/60.0/60.0                    #Velocity of train[m/s]
Power=P*v                                #Power[Watt]
Pdash=MotorOutput*1000-Power             #Power causes acceleration in watt or N-m/s
m=w*1000.0/g                             #Mass in Kg
a=Pdash/m                                #Acceleration of train in m/s**2

#Result
print"Acceleration is: ",round(a,3),"m/s**2"
Acceleration is:  2.453 m/s**2

Example no:3.5,Page no:36

In [5]:
import math 

#Variable declaration
MotorSpeed=200                        #Speed of motor [rpm]
d1=50                                 #diameter of motor pulley in cm
MachineSpeed=100                      #Speed of machine [rpm]

#Calculation
d2=MotorSpeed/MachineSpeed*d1         #diameter of machine pulley in cm

#Result
print"Diameter of machine pulley : ",d2,"cm"
Diameter of machine pulley :  100 cm

Example no:3.6,Page no:36

In [6]:
import math 

#Variable declaration
v=1.2                    #belt conveyer speed in m/s
TransRate=100            #rate of transportation of material in tons/hour
l=200                    #length of belt in meter
MotorSpeed=1200          #Speed of motor in rpm
MoI=0.1                  #Moment of Inertia in Kg-m**2


#Calculation
#Part A
TransRate=TransRate*1000/60.0/60.0 #rate of transportation of material in Kg/sec
TransTime=l/v #Time of transportation [sec]
omega=MotorSpeed*2*math.pi/60.0 #Angular velocity [rad/sec]
M=TransRate*TransTime #Mass of material carried[Kg]
J=M*(v/omega)**2 #Total inertia[Kg-m**2]
#Part B
t=8 #Time [sec]
a=v/t #Acceleration [m/s**2]
TorqueInertai=MoI*omega/t #Torque required for inertia [N-m]
F=M*a #Force[N]
Tload=F*v/omega #Totruq to accelerate load [N-m]
TotalTorque=Tload+TorqueInertai #Total torque[N-m]

#Result
print"(a).Load Inertia  : ",round(J,4),"Kg-m**2"
print"(b).Total Torque is: ",round(TotalTorque,2),"N-m"
(a).Load Inertia  :  0.4222 Kg-m**2
(b).Total Torque is:  8.2 N-m

Example no:3.7,Page no:37

In [7]:
import math 

#Variable declaration
w=400                  #Weight to be lifted Kg
v=1                    #Uniform velocity m/s
MotorSpeed=1000        #Motor speed rpm
MoI=0.5                #Moment of Inertia in Kg-m**2
winch=0.3              #Moment of inertia of winch Kg-m**2
Tnl=80                 #Torque in absence of wt in N-m
Speed_nl=1000          #speed of motor in rpm
g=9.81                 #gravity constant

#Calculation
mass=w*g #N
omega=MotorSpeed*2*math.pi/60 #rad/sec
TotTorque=Tnl+mass*v/omega #Total torque [N-m]
J=MoI+winch+w*(v/omega)**2 #Kg-m**2

#Result
print"Total Motor Torque  :  ",round(TotTorque,2),"N-m"
print"Moment of Inertia refered to motor shaft : ",round(J,4),"Kg-m**2"
Total Motor Torque  :   117.47 N-m
Moment of Inertia refered to motor shaft :  0.8365 Kg-m**2

Example no:3.9,Page no:38

In [8]:
import math 

#Variable declaration
Jmotor=0.3                 #Inertia of motor in Kg-m**2
Jgd_load=15.0              #Kg-m**2(Inertia gear driven load)
GSRratio=0.1               #gear speed reduction ratio
Jbd_load=0.6               #Kg-m**2(Inertia belt driven load)
d1=10.0                    #cm(diameter of driver pulley)
d2=30.0                    #cm(diameter of driven pulley)
MotorSpeed=1440.0          #Speed of motor in rpm
Tload1=100.0               #Troque on load 1 N-m
Tload2=35.0                #Torque on load 2 in N-m


#Calculation
MotorSpeed=MotorSpeed*2*math.pi/60.0 #Speed of motor [rad/sec]
Speed_gd=GSRratio*MotorSpeed #Speed of load driven gear[rad/sec]
Speed_bd=MotorSpeed*d1/d2 #Speed of belt driven load[rad/sec]

#Equating Kinetic Energies
#1/2*J*MotorSpeed**2=1/2*Jmotor*MotorSpeed**2+1/2*Jgd_load*speed_gd**2+1/2*Jbd_load*speed_bd**2
J=(1/2.0*Jmotor*MotorSpeed**2+1/2.0*Jgd_load*Speed_gd**2+1/2.0*Jbd_load*Speed_bd**2)*2.0/MotorSpeed**2.0   #Equivalent inertia 

#Equating power of motor
#T*(MotorSpeed)=Tload1*Speed_gd+Tload2*Speed_bd
T=(Tload1*Speed_gd+Tload2*Speed_bd)/MotorSpeed #Torque at motor shaft[N-m]
Pdev=T*MotorSpeed #Power developed by motor [watt]


#Result
print"Moment of Inertia refered to motor shaft : ",round(J,4),"Kg-m^2"
print"Torque is: ",round(T,3),"N-m"
print"Power developed by the motor: ",round(Pdev,1),"W"
Moment of Inertia refered to motor shaft :  0.5167 Kg-m^2
Torque is:  21.667 N-m
Power developed by the motor:  3267.3 W

Example no:3.10,Page no:39

In [9]:
import math 

#Variable declaration
MotorSpeed=1440                #Motor speed rpm
Jmotor=0.4                     # Moment of inertia of motor Kg-m**2
Jdc_load=0.6                   #Kg-m**2(Inertia directly coupled load)
w_tl=100                       #kg(weight of transratioonal load)
F_res=1.2                      #N/Kg(Friction resistance for translational load)
v=10                           #Velocity of translational load in m/s
T_RotLoad=1.5                  #Torque of rotational load in N-m
g=9.81                         #gravity constant

#Calculation
MotorSpeed=MotorSpeed*2*math.pi/60 #Motor speed [rad/sec]
F_horz=w_tl*F_res #N(horizontal force of translational load)
mass=w_tl*g #Mass of load[N]
J=Jmotor+Jdc_load+mass*(v/MotorSpeed)**2 #Inertia [Kg-m**2]
T=T_RotLoad+F_horz*v/MotorSpeed #Torque at motor shaft[N-m]

#Result
print"Moment of Inertia at motor shaft is:",round(J,3),"Kg-m^2"
print"Torque at motor shaft: ",round(T,2),"N-m"
Moment of Inertia at motor shaft is: 5.314 Kg-m^2
Torque at motor shaft:  9.46 N-m

Example no:3.11,Page no:41

In [16]:
import math 
import numpy as np
from scipy import misc
#Variable declaration
#T=0.6+1.9*omega_m
#TL=2.8*math.sqrt(omega_m)
def T(w):
    return(0.6+1.9*w)
def Tl(w):
     return(2.8*w**0.5)
    
#Calculation
coeff = [3.61,-5.56,0.36]
W=np.roots(coeff)
dT_dw=range(2)
dTl_dw=range(2)
for i in range(0,2):
    dT_dw[i]=scipy.misc.derivative(T,W[i],dx=1e-6)
    dTl_dw[i]=scipy.misc.derivative(Tl,W[i], dx=1e-6)

#Result    
print"w=",round(W[0],2),"or",round(W[1],3),"rad/sec"
for i in range(0,2):  
    print"At,w=",round(W[i],3),"rad/s"
    if dTl_dw[i] < dT_dw[i]:
        print "This operating point does not have steady state stability"
    elif dTl_dw[i] > dT_dw[i]:
        print "This operating point has steady state stability"  
        print"\nANSWER: Thus,wm=",round(W[i],3),"rad/sec"
   
w= 1.47 or 0.068 rad/sec
At,w= 1.472 rad/s
This operating point does not have steady state stability
At,w= 0.068 rad/s
This operating point has steady state stability

ANSWER: Thus,wm= 0.068 rad/sec

Example no:3.12,Page no:42

In [19]:
import numpy as np
from scipy.optimize import fsolve


#Variable declaration
#T=15-0.5*omega_m
#TL=0.5*omega_m**2
def T(w):
    return(15-0.5*w)
def Tl(w):
     return(0.5*w**2)

    
#Calculation
P=[1,1,-30] #Polynomial for omega_m calculated by equating T=TL
omega_m=np.roots(P) #Angular velctiy rad/sec
coeff = [1,1,-30]
W=np.roots(coeff)
dT_dw=range(2)
dTl_dw=range(2)
for i in range(0,2):
    dT_dw[i]=scipy.misc.derivative(T,W[i],dx=1e-6)
    dTl_dw[i]=scipy.misc.derivative(Tl,W[i], dx=1e-6)

#Result    
print"w=",round(W[0],2),"or",round(W[1],3),"rad/sec"
for i in range(0,2):  
    print"At,w=",round(W[i],3),"rad/s"
    if dTl_dw[i] < dT_dw[i]:
        print "This operating point does not have steady state stability"
    elif dTl_dw[i] > dT_dw[i]:
        print "This operating point has steady state stability"  
        print"\nANSWER: Thus,wm=",round(W[i],3),"rad/sec"
w= -6.0 or 5.0 rad/sec
At,w= -6.0 rad/s
This operating point does not have steady state stability
At,w= 5.0 rad/s
This operating point has steady state stability

ANSWER: Thus,wm= 5.0 rad/sec