# Chapter 3 - Thyristor control of electric motors¶

## Example 1 - pg 215¶

In [1]:
#calculate the Efficiency, Form Factor, Ripple Factor, Transformer Utilisation Factor and Peak Inverse Voltage
#Initialization of variables
import math
from math import sqrt
V=120.;#in Volts
V_dc=40.5;#in volts
V_rms=76.1;#in volts
R=10.;#in ohms
#Calculations
I_dc=V_dc/R;#in Amperes
I_rms=V_rms/R;#in Amperes
P_dc=V_dc*I_dc;#in watts
P_ac=V_rms*I_rms;#in watts
Eff=P_dc/P_ac;#in per unit
K_f=V_rms/V_dc;#in per unit
Y=sqrt(K_f**2-1);
T_f=P_dc/(V*I_rms);
P_iv=sqrt(2)*V;
#Results
print '(a) Efficiency (in Per Unit=)',round(Eff,3)
print '(b) Form Factor (in Per Unit=)',round(K_f,3)
print '(c) Ripple Factor (in Per Unit=)',round(Y,2)
print'(d) Transformer Utilisation Factor=',round(T_f,2)
print '(e) Peak Inverse Voltage (in volts)=',round(P_iv,1)

(a) Efficiency (in Per Unit=) 0.283
(b) Form Factor (in Per Unit=) 1.879
(c) Ripple Factor (in Per Unit=) 1.59
(d) Transformer Utilisation Factor= 0.18
(e) Peak Inverse Voltage (in volts)= 169.7


## Example 2 - pg 216¶

In [30]:
#calculate the field current, firing angle and power factor of the converter
#Initialization of variables
import math
from math import sqrt
alpha_f=0;
R_f=250.;#in ohms
K_f=0.8;#torque constant
R_a=0.2;#in ohms
N=1000.;# in rpm
T_d=50.;#In Newton-meter
V_rms=220.;#in volts
#Calculations
V_f=int(V_rms*sqrt(2.)*(1+math.cos(alpha_f*math.pi/180.))/math.pi);# Feild Circuit Voltage (in volts)
I_f=V_f/R_f;#in Amperes
I_a=T_d/(K_f*I_f);#in amperes
E_b=V_const*w*I_f;#Back emf (in volts)
V_a=E_b+(I_a*R_a);#armature voltage (in volts)
alpha_a=math.acos(((V_a*math.pi/(V_rms*sqrt(2))))-1)*180/math.pi;
P_o=int(V_a*I_a);#in watts
I=52.66;#in amperes
pf=P_o/(V_rms*I);
#Results
print '(a) Field Current (in Amperes)=',I_f
print '(b) Firing angle of the converter (in degrees)=',round(alpha_a,2)
print '(c) Power factor of the converter=',round(pf,2)

(a) Field Current (in Amperes)= 0.792
(b) Firing angle of the converter (in degrees)= 99.83
(c) Power factor of the converter= 0.56


## Example 3 - pg 217¶

In [3]:
#calculate the Speed of Motor and Motor Torque
#Initialization of variables
import math
from math import sqrt
alpha_a=45.;#in degrees
V=230.;#in volts
R_a=0.2;#in ohms
I_a=30.;#in amperes
#Calculations
V_a=2*V*math.sqrt(2)*math.cos(alpha_a*math.pi/180.)/math.pi;#in volts
E_b=V_a-(I_a*R_a);# in volts
N=math.ceil(w*60./(2*math.pi));
T=K*I_a;
#Results
print '(a) Speed Of Motor (in rpm)=',N
print '(b) Motor Torque (in Newton-meter)=',T

(a) Speed Of Motor (in rpm)= 804.0
(b) Motor Torque (in Newton-meter)= 50.04


## Example 4 - pg 217¶

In [4]:
#calculate the Firing angle
#Initialization of variables
import math
R_a=0.06;#in ohms
N1=875.;# in rpm
N2=750.;#in rpm
V_rms=220.;#in volts
V_dc=200.;#in volts
I_a=150.;#in amperes
#Calculations
E_b1=V_dc-(I_a*R_a);#Back emf (in volts)
E_b2=E_b1*(N2/N1);# in volts
V_a=E_b2+(I_a*R_a);#armature voltage (in volts)
alpha_a=math.acos((V_a*math.pi/(2*V_rms*math.sqrt(2))))/math.pi*180.;
#Results
print 'Firing angle (in degrees)=',round(alpha_a,2)

Firing angle (in degrees)= 29.31


## Example 5 - pg 217¶

In [6]:
#calculate the Average Load Voltage, Current and Input Power Factor
#Initialization of variables
import math
alpha=30.;#in degrees
V=230.;#in volts
R=2.;#in ohms
#Calculations
V_avg=2*V*math.sqrt(2)*math.cos(alpha*math.pi/180.)/math.pi;#in volts
I_avg=V_avg/R;#in amperes
I_rms=I_avg;#in amperes (as ripple free)
P=V_avg*I_avg;#in watts
Q=2*V*math.sqrt(2)*I_avg*math.sin(alpha*math.pi/180.)/math.pi;# in VAR
pf=math.cos(math.atan(Q/P));
#Results
print '(a) Average Load Voltage (in Volts)=',round(V_avg,2)
print '(b) Average Load Current (in Amperes)=',round(I_avg,3)
print '(c) Input Power Factor (lagging)=',round(pf,3)

(a) Average Load Voltage (in Volts)= 179.33
(b) Average Load Current (in Amperes)= 89.665
(c) Input Power Factor (lagging)= 0.866


## Example 6 - pg 218¶

In [7]:
#calculate the motor Armature Current and motor Speed
#Initialization of variables
import math
alpha=60.;#in degrees
V=250.;#in volts
T=140.;#in Newton-Meter
K_a=2.5;#motor voltage constant (in Volt/radian/sec)
R_a=0.2;#in ohms
#Calculations
V_a=2*V*math.sqrt(2)*math.cos(alpha*math.pi/180.)/math.pi;#in volts
I_a=T/K_a;#in amperes
E_b=V_a-(I_a*R_a);#in volts
w=E_b*I_a/T;
#Results
print '(a) Motor Armature Current (in amperes)=',I_a
print '(b) Motor Speed (in radian/sec)=',round(w,3)

(a) Motor Armature Current (in amperes)= 56.0
(b) Motor Speed (in radian/sec)= 40.536


## Example 7 - pg 218¶

In [8]:
#calculate the firing angle in both cases
#Initialization of variables
import math
V_dc=220.;#in volts
V=230.;#in volts
I_a1=10.;#in amperes
N1=1500.;#in rpm
N2=500.;#in rpm
N3=-1000.;#in rpm
R_a=2.;#in ohms
#Calculations
E_b1=V_dc-(I_a1*R_a);#in volts
E_b2=E_b1*(N2/N1);#in volts
I_a2=I_a1/2;#in amperes
V_a1=E_b2+(I_a2*R_a);#in volts
alpha_a1=math.acos((V_a1*math.pi/(2*V*math.sqrt(2))))*180/math.pi;
E_b3=E_b1*(N3/N1);#in volts
I_a3=I_a1;#in amperes
V_a2=E_b3+(I_a3*R_a);#in volts
alpha_a2=math.acos((V_a2*math.pi/(2*V*math.sqrt(2))))*180/math.pi;
#Results
print '(a) Firing angle (in degrees) at half the rated torque=',round(alpha_a1,2)
print '(b) Firing angle (in degrees) at rated motor torque=',round(alpha_a2,2)

(a) Firing angle (in degrees) at half the rated torque= 68.27
(b) Firing angle (in degrees) at rated motor torque= 123.18


## Example 8 - pg 219¶

In [9]:
#calculate the Torque developed and motor Speed
#Initialization of variables
import math
alpha_f=0;#in degrees
alpha_a=30.;#in degrees
V=220.;#in volts
I_a=40.;#in amperes
R_a=0.2;#in amperes
K_t=1.12;#motor voltage constant (in Volt/radian/sec)
R_f=200.;#in ohms
#Calculations
V_f=2*V*math.sqrt(2)*math.cos(alpha_f*math.pi/180.)/math.pi;#in volts
I_f=V_f/R_f;#in amperes
V_a=2*V*math.sqrt(2)*math.cos(alpha_a*math.pi/180.)/math.pi;#in volts
E_b=V_a-(I_a*R_a);#in volts
T_d=K_t*I_a*I_f;
N=E_b*60/(2*math.pi*K_t*I_f);
#Results
print '(a) Torque developed (in N-m)=',round(T_d,3)
print '(b) Motor Speed (in rpm)=',math.ceil(N)

(a) Torque developed (in N-m)= 44.368
(b) Motor Speed (in rpm)= 1408.0


## Example 9 - pg 221¶

In [10]:
#calculate the Firing Angle
#Initialization of variables
import math
from math import sqrt
R_a=0.2;#in ohms
alpha_f=0;#in degrees
V=400.;#in volts
R_f=250.;#in ohms
N=1200.;#in rpm
I_a=60.;#in amperes
#Calculations
V_f=3*sqrt(3)*V*sqrt(2)/(sqrt(3)*math.pi);#in volts
I_f=V_f/R_f;#in amperes
E_b=K*I_f*2*math.pi*N/60;#in volts
V_a=E_b+(I_a*R_a);#in volts
alpha_a=math.acos((V_a*math.pi)/(3*V*sqrt(2)))*180/math.pi;
#Results
print'Firing Angle (in degrees)=',round(alpha_a,2)

Firing Angle (in degrees)= 47.49


## Example 10 - pg 221¶

In [12]:
#calculate the No-Load Speed and Firing Angle
#Initialization of variables
import math
from math import sqrt
alpha_a=45.;#in degrees
R_a=0.2;#in ohms
K=0.25;#in volts/rpm
V=400.;#in volts
I_ao=5.;#in amperes (no load armature current)
N=1500.;#in rpm
I_a=100.;#in amperes
#Calculations
V_ao=3*sqrt(3)*V*sqrt(2)*(1+math.cos(180/math.pi*alpha_a))/(sqrt(3)*math.pi*2);#in volts
E_bo=V_ao-(I_ao*R_a);#in volts
N_o=E_bo/K;
E_b=N*K;#in volts
V_a=E_b+(I_a*R_a);#in volts
alpha_ao=math.acos(((V_a*math.pi*2)/(3*V*sqrt(2)))-1)*180/math.pi;
#Results
print'No-Load Speed (in rpm)=',int(N_o)
print 'Firing Angle (in degrees)=',round(alpha_ao,2)

No-Load Speed (in rpm)= 436
Firing Angle (in degrees)= 62.45


## Example 11 - pg 222¶

In [15]:
#calculate the speed-torque characteristics
#Initialization of variables
import warnings
warnings.filterwarnings("ignore")
import math
import numpy
import matplotlib
from matplotlib import pyplot
Vm=400. #V
alp=90 #degrees
Ia=([5,10,20,30,40])
Ra=0.8
Kt=2.
n=len(Ia)
Ta=numpy.zeros(n)
Eb=numpy.zeros(n)
RPM=numpy.zeros(n)
#Calculations
Va=3*math.sqrt(2)/2./math.pi *Vm*(1+math.cos(alp*math.pi/180.))
for i in range (0,n):
Ta[i] = 2*Ia[i]
Eb[i] = Va-Ia[i]*Ra
RPM[i] = round(Eb[i] /Kt *60./2/math.pi,0)

#Results
print RPM
pyplot.plot(Ta,RPM)
pyplot.xlabel('Ta')
pyplot.ylabel('RPM')
pyplot.title('speed-torque characteristic curve')
pyplot.show()

[ 1271.  1251.  1213.  1175.  1137.]


## Example 12 - pg 226¶

In [16]:
#calculate the Average Load Voltage, thyristor current, Diode current, Effective input resistance
#Initialization of variables
alpha=0.4;#duty cycle
V_dc=200.;#in volts
R=10;#in ohms
#Calculations
V_a=alpha*V_dc;
I=V_a/R;
I_d=0;
R_eff=R/alpha;
#Results
print '(a) Average Load Voltage (in volts)=',V_a
print '(b) Average thyristor current (in amperes)=',I
print '(c) Diode Current (in amperes)=',I_d
print '(d) Effective input resistance (in ohms)=',R_eff

(a) Average Load Voltage (in volts)= 80.0
(b) Average thyristor current (in amperes)= 8.0
(c) Diode Current (in amperes)= 0
(d) Effective input resistance (in ohms)= 25.0


## Example 13 - pg 228¶

In [17]:
#calculate the average load Current and Firing Angle
#Initialization of variables
V_dc=220.;#in volts
V_a=250.;#average load voltage (in volts)
R=10.;#in ohms
#Calculations
alpha=1.-(V_dc/V_a);
I=V_a/R;
#Results
print 'Average Load Current (in amperes)=',I
print 'Firing Angle (in degrees)=',alpha

Average Load Current (in amperes)= 25.0
Firing Angle (in degrees)= 0.12


## Example 14 - pg 229¶

In [18]:
#calculate the Frequency of Switching pulse
#Initialization of variables
V_dc=125.;#in volts
V_a=200.;#average output voltage (in volts)
T_on=1*10**-3;#in seconds
#Calculations
alpha=V_a/(V_a+V_dc);#duty cycle
f=alpha/T_on;
#Results
print'Frequency Of Switching pulse (in hertz)=',round(f,1)

Frequency Of Switching pulse (in hertz)= 615.4


## Example 15 - pg 234¶

In [19]:
#calculate the Frequency
#Initialization of variables
alpha=0.25;#duty cycle
V=400;#in volts
L=0.5;#in henery
I=10;#ripple current (in amperes)
#Calculations
V_a=alpha*V;#in volts
T_on=L*I/(V-V_a);#in seconds
T=T_on/alpha;#in seconds
f=1./T;
#Results
print 'Frequency (in hertzs)=',f

Frequency (in hertzs)= 15.0


## Example 16 - pg 234¶

In [21]:
#calculate the Range of Speed Control and duty cycle
#Initialization of variables
V_a=120.;#in volts
I_a=20.;#in amperes
R_a=0.5;#in ohms
K=0.05;#Motor constant (in volts/rpm)
#Calculations
E_b=V_a-(I_a*R_a);#in volts
N=E_b/K;#in rpm
E_bo=0;#in volts
V_a1=E_bo+(I_a*R_a);#in volts
alpha=V_a1/V_a;
#Results
print 'Range of Speed Control is :'
print 'Lowest Speed (in rpm) = 0'
print 'Highest Speed (in rpm)=',N
print 'Range of duty cycle is :'
print 'lowest value of duty cycle=',round(alpha,3)
print 'Highest value of duty cycle= 1'

Range of Speed Control is :
Lowest Speed (in rpm) = 0
Highest Speed (in rpm)= 2200.0
Range of duty cycle is :
lowest value of duty cycle= 0.083
Highest value of duty cycle= 1


## Example 17 - pg 235¶

In [22]:
#calculate the Duty Cycle of the Chopper
#Initialization of variables
V=200;#in volts
I_a=100;#in amperes
R_a=0.02;#in ohms
N1=940;#in rpm
N2=500;#in rpm
#Calculations
E_b1=V-(I_a*R_a);#in volts
E_b2=E_b1*N2/N1;#in volts
V_a=E_b2+(I_a*R_a);#in volts
alpha=V_a/V;
#Results
print 'Duty Cycle Of The Chopper=',round(alpha,4)

Duty Cycle Of The Chopper= 0.5366


## Example 18 - pg 235¶

In [23]:
#calculate the power input, motor speed, Torque developed, Minimum and Maximum speed
#Initialization of variables
import math
alpha=0.6;#duty cycle
alpha1=0.1;#duty cycle
alpha2=0.9;#duty cycle
V=400.;#in volts
R_a=0.1;#in ohms
K=4;#Motor Constant (in Volts/radians)
I_a=150.;#in Amperes
#Calculations
P_in=alpha*V*I_a/1000;
V_a=alpha*V;#in volts
E_b=V_a-(I_a*R_a);#in volts
N=60*E_b/(2*math.pi*K);
T=E_b*I_a*60/(2*math.pi*N);
E_b1=(alpha1*V)-(I_a*R_a);#in volts
N1=60*E_b1/(2*math.pi*K);
E_b2=(alpha2*V)-(I_a*R_a);#in volts
N2=60*E_b2/(2*math.pi*K);
#Results
print '(a) Power input (in Kilo-Watts)=',P_in
print '(b) Motor Speed (in rpm)=',int(N)
print '(c) Torque developed (in Newton-meter)=',T
print '(d) Minimum Speed (in rpm)=',math.ceil(N1)
print '    Maximum Speed (in rpm)=',math.ceil(N2)

(a) Power input (in Kilo-Watts)= 36.0
(b) Motor Speed (in rpm)= 537
(c) Torque developed (in Newton-meter)= 600.0
(d) Minimum Speed (in rpm)= 60.0
Maximum Speed (in rpm)= 824.0


## Example 19 - pg 236¶

In [24]:
#calculate the Average Voltage, Power Dissipated and Speed
#Initialization of variables
import math
alpha=0.4;#duty cycle
R_b=7.5;#in ohms
R_a=0.1;#in ohms
I_f=1.5;#in amperes
K=1.6;#Voltage Constant (in V/A-rad/sec)
I_a=150;#in amperes
#Calculations
V_b=(1-alpha)*R_b*I_a;
P_b=I_a**2*R_b*(1-alpha);
E_g=V_b+(I_a*R_a);#in volts
N=60*E_g/(K*I_f*2*math.pi);
#Results
print'(a) Average Voltage (in volts)=',V_b
print'(b) Power Dissipated (in kilo-watts)=',P_b/1000.
print'(c) Speed (in rpm)=',int(N)

(a) Average Voltage (in volts)= 675.0
(b) Power Dissipated (in kilo-watts)= 101.25
(c) Speed (in rpm)= 2745


## Example 20 - pg 236¶

In [25]:
#calculate the Firing Angle and Power Supplied
#Initialization of variables
import math
E_g=-163.53;#in volts
I_a=40.;#in amperes
R_a=0.2;#in ohms
V=220.;#in volts
#Calculations
V_a=E_g+(I_a*R_a);#in volts
alpha_a=math.acos(V_a*math.pi/(2*V*math.sqrt(2)))*180/math.pi;
P=V_a*I_a*(-1);
#Results
print 'Firing Angle (in degrees)=',round(alpha_a,2)
print 'Power Supplied (in Kilo-Watts)=',P/1000.

Firing Angle (in degrees)= 141.74
Power Supplied (in Kilo-Watts)= 6.2212


## Example 21 - pg 236¶

In [26]:
#calculate the Pulse Width
#Initialization of variables
E_b=100;#in volts
I_a=25;#in amperes
R=0.2;#(R_a+R_se) in ohms
V=220.;#in volts
f=200.;#in hertz
#Calculations
V_a=E_b+(I_a*R);#in volts
T_on=V_a/(V*f);
#Results
print ' Pulse Width (in mili-seconds)',round(T_on*1000,2)

 Pulse Width (in mili-seconds) 2.39


## Example 22 - pg 244¶

In [27]:
#calculate the Armature Current and Motor Torque
#Initialization of variables
import math
N=1000.;#in rpm
V=240.;#in volts
R=0.25;#in ohms
K=0.025;#in Nm/A**2
#Calculations
V_a1=math.sqrt(2)*V*(1+math.cos(alpha))/math.pi;#in volts
I_a1=V_a1/(R+(K*w));
T_1=K*I_a1**2;
V_a2=2*math.sqrt(2)*V*math.cos(alpha)/math.pi;#in volts
I_a2=V_a2/(R+(K*w));
T_2=K*I_a2**2;
#Results
print 'When controlled through semiconverter'
print 'Armature Current (in Amperes)=',round(I_a1,1)
print 'Motor Torque (in N-m)=',round(T_1,2)
print 'When controlled through full converter'
print 'Armature Current (in Amperes)=',round(I_a2,2)
print 'Motor Torque (in N-m)=',round(T_2,2)

When controlled through semiconverter
Armature Current (in Amperes)= 70.3
Motor Torque (in N-m)= 123.53
When controlled through full converter
Armature Current (in Amperes)= 65.25
Motor Torque (in N-m)= 106.43


## Example 23 - pg 244¶

In [28]:
#calculate the Average Motor Current and Speed
#Initialization of variables
import math
from math import sqrt
V=230.;#in volts
K_t=0.3;#torque constant (in N-m/A^2)
T_L=30.;#in N-m
#Calculations
V_dc=sqrt(2)*V*2/math.pi;#in volts
I_a=sqrt(T_L/K_t);
N=w*60./(2*math.pi);
#Results
print 'Average Motor Current (in Amperes)=',I_a
print 'Speed (in rpm)=',round(N,0)

Average Motor Current (in Amperes)= 10.0
Speed (in rpm)= 627.0


## Example 24 - pg 245¶

In [29]:
#calculate the Armature current and Firing angle
#Initialization of variables
import math
from math import sqrt
I_a1=36;#in amperes
N1=400;#in amperes
N2=600;#in amperes
V=675;#in volts
R=0.4;#in ohms
#Calculations
V_a1=sqrt(2)*V*(1+math.cos(alpha_1))/math.pi;#in volts
E_b1=V_a1-I_a1*R;#in volts
I_a2=I_a1*N2/N1;#in amperes
E_b2=E_b1*I_a2*N2/(I_a1*N1);#in volts
V_a2=E_b2+21.6;#/in volts
alpha=math.acos((V_a2*math.pi/(sqrt(2)*V))-1)*180/math.pi;
#Results
print 'Armature current (in Amperes)=',I_a2
print 'Firing angle (in degrees)=',round(alpha,2)

Armature current (in Amperes)= 54
Firing angle (in degrees)= 34.54