Chapter 08 : Inverters

Example 8.3, Page No 465

In [1]:
import math
#initialisation of variables
T=0.1*10**-3
f=1.0/T
k=15*10**-6 #k=th/w

#Calculations
th=2*math.pi*f*k
X_l=10.0
R=2.0
X_c=R*math.tan(th)+X_l
C=1/(2*math.pi*f*X_c)    

#Results
print("value of C=%.3f uF" %(C*10**6))
value of C=1.248 uF

Example 8.4 Page No 466

In [2]:
import math
#initialisation of variables
V_s=230.0

#Calculations
V_01=2*V_s/(math.sqrt(2)*math.pi)
R=2.0
I_01=V_01/R
P_d=I_01**2*R    
V=V_s/2
I_s=math.sqrt(2)*I_01/math.pi
P_s=V*I_s

#Results
print("power delivered to load=%.1f W" %P_d)
print("power delivered by both sources=%.1f W" %(2*P_s))
power delivered to load=5359.9 W
power delivered by both sources=5359.9 W

Example 8.5, Page No 468

In [3]:
import math
#initialisation of variables
V_s=230.0
V_01=4*V_s/(math.pi*math.sqrt(2))
R=1.0
X_L=6.0
X_c=7.0

#Calculations
I_01=V_01/math.sqrt(R**2+(X_L-X_c)**2)
P=I_01**2*R    
I_s=math.sqrt(2)*I_01*(2*math.cos(math.radians(45)))/math.pi
P_s=V_s*I_s    

#Results
print("power delivered to the source=%.3f kW" %(P/1000))
print("\npower from the source=%.3f kW" %(P_s/1000))
   
power delivered to the source=21.440 kW

power from the source=21.440 kW

Example 8.6 Page No 469

In [4]:
import math
#initialisation of variables
V_01=230.0
R=2.0
I_01=V_01/R
I_m=I_01*math.sqrt(2)
I_T1=I_m/2    
I_D1=0    
X_L=8.0
X_C=6.0

#Calculations
I_01=V_01/math.sqrt(R**2+(X_L-X_C)**2)
phi1=math.degrees(math.atan((X_L-X_C)/R))
I_T1=I_T1*math.sqrt(2)*0.47675    
I_D1=.1507025*I_m/math.sqrt(2)    


#Results
print("when load R=2 ohm")
print("rms value of thyristor current=%.2f A" %I_T1)
print("rms value of diode current=%.0f A" %I_D1)
print("when load R=2ohm % X_L=8ohm and X_C=6ohm")
print("rms value of thyristor current=%.3f A" %I_T1)
print("rms value of diode current=%.3f A" %I_D1)
when load R=2 ohm
rms value of thyristor current=54.83 A
rms value of diode current=17 A
when load R=2ohm % X_L=8ohm and X_C=6ohm
rms value of thyristor current=54.826 A
rms value of diode current=17.331 A

Example 8.7 Page No 470

In [5]:
import math
#initialisation of variables
V_s=230.0
R=4.0
f=50.0
w=2*math.pi*f
L=0.035

#Calculations
C=155*10**-6
X_L=w*L
X_C=1/(w*C)
Z1=math.sqrt(R**2+(X_L-X_C)**2)
phi1=-math.degrees(math.atan((X_L-X_C)/R))
Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)
phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))
Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)
phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))
I_m1=4*V_s/(Z1*math.pi)
I_01=I_m1/math.sqrt(2)    
I_m3=4*V_s/(3*Z3*math.pi)
I_m5=4*V_s/(5*Z5*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2)
I_0=I_m/math.sqrt(2)
P_0=(I_0)**2*R    
P_01=(I_01)**2*R    
t1=(180-phi1)*math.pi/(180*w)    
t1=(phi1)*math.pi/(180*w)    

#Results
print("rms value of fundamental load current=%.2f A" %I_01)
print("load power=%.1f W" %P_0)
print("fundamental load power=%.1f W" %P_01)
print("rms value of thyristor current=%.3f A" %(I_m/2))
print("conduction time for thyristor=%.3f ms" %(t1*1000))
print("Conduction time for diodes=%.3f ms" %(t1*1000))
rms value of fundamental load current=20.02 A
load power=1632.5 W
fundamental load power=1602.6 W
rms value of thyristor current=14.285 A
conduction time for thyristor=3.736 ms
Conduction time for diodes=3.736 ms

Example 8.8, Page No 473

In [6]:
import math
#initialisation of variables
V_s=230.0
V_01=2*V_s/(math.sqrt(2)*math.pi)    
R=10.0

#Calculations
I_01=V_01/R
P=I_01**2*R    
V_or=math.sqrt((V_s/2)**2)
P=V_or**2/R    
I_TP=V_s/(2*R)
I_or=I_TP
pf=I_01**2*R/(V_or*I_or)  
DF=V_01/V_or  
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01 
V_03=V_01/3
HF=V_03/V_01

#Results
print("fundamental rms o/p voltage=%.3f V" %V_01)
print("fundamental power to load=%.1f W" %P)
print("total o/p power to load=%.1f W" %P)
print("avg SCR current=%.2f A" %(I_TP*180/360))
print("i/p pf=%.3f" %pf)  
print("distortion factor=%.1f" %DF)
print("THD=%.3f" %THD)    
print("harmonic factor=%.4f" %HF)
fundamental rms o/p voltage=103.536 V
fundamental power to load=1322.5 W
total o/p power to load=1322.5 W
avg SCR current=5.75 A
i/p pf=0.811
distortion factor=0.9
THD=0.483
harmonic factor=0.3333

Example 8.9 Page No 474

In [7]:
import math
#initialisation of variables
V_s=60
R=3.0

#Calculations
V_or=math.sqrt(V_s**2*math.pi/math.pi)    
V_01=4*V_s/(math.sqrt(2)*math.pi)    
P_o=V_or**2/R    
P_01=V_01**2/R    
I_s=V_s/R    
I_avg=I_s*math.pi/(2*math.pi)    
V_03=V_01/3
HF=V_03/V_01    
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01   

#Results
print("rms value of o/p voltage=%.0f V" %V_or)
print("o/p power=%.0f W" %P_o)
print("fundamental component of rms voltage=%.2f V" %V_01)
print("fundamental freq o/p power=%.2f W" %P_01) 
print("peak current=%.0f A" %I_s)
print("avg current of each transistor=%.0f A" %I_avg)
print("peak reverse blocking voltage=%.0f V" %V_s)
print("harmonic factor=%.4f" %HF)
print("THD=%.4f" %THD)
rms value of o/p voltage=60 V
o/p power=1200 W
fundamental component of rms voltage=54.02 V
fundamental freq o/p power=972.68 W
peak current=20 A
avg current of each transistor=10 A
peak reverse blocking voltage=60 V
harmonic factor=0.3333
THD=0.4834

Example 8.10 Page No 475

In [8]:
import math
#initialisation of variables
V_s=220.0
R=6.0
f=50.0
w=2*math.pi*f
L=0.03
C=180*10**-6
X_L=w*L
X_C=1/(w*C)

#Calculations
V_or=math.sqrt(V_s**2*math.pi/math.pi)
V_01=4*V_s/(math.sqrt(2)*math.pi)
V_oh=math.sqrt(V_or**2-V_01**2)
THD=V_oh/V_01    
print("THD of voltage=%.4f" %THD)
DF=V_01/V_or    
Z1=math.sqrt(R**2+(X_L-X_C)**2)
phi1=-math.degrees(math.atan((X_L-X_C)/R))
Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)
phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))
Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)
phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))
Z7=math.sqrt(R**2+(X_L*7-X_C/7)**2)
phi7=math.degrees(math.atan((X_L*7-X_C/7)/R))
I_01=19.403
I_m1=4*V_s/(Z1*math.pi)
I_m3=4*V_s/(3*Z3*math.pi)
I_m5=4*V_s/(5*Z5*math.pi)
I_m7=4*V_s/(7*Z7*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)
I_or=I_m/math.sqrt(2)
I_oh=math.sqrt((I_m**2-I_m1**2)/2)
THD=I_oh/I_01    
DF=I_01/I_or    
P_o=I_or**2*R    
I_avg=P_o/V_s    
t1=(180-phi1)*math.pi/(180*w)    
t1=1/(2*f)-t1    
I_p=I_m1    
I_t1=.46135*I_p 

#Results
print("\nDF=%.1f" %DF)
print("THD of current=%.4f" %THD)   
print("DF=%.3f" %DF)
print("load power=%.1f W" %P_o)
print("avg value of load current=%.2f A" %I_avg)
print("conduction time for thyristor=%.0f ms" %(t1*1000))
print("conduction time for diodes=%.0f ms" %(t1*1000))
print("peak transistor current=%.2f A" %I_p)
print("rms transistor current=%.2f A" %I_t1)
THD of voltage=0.4834

DF=1.0
THD of current=0.1557
DF=0.988
load power=2313.5 W
avg value of load current=10.52 A
conduction time for thyristor=3 ms
conduction time for diodes=3 ms
peak transistor current=27.44 A
rms transistor current=12.66 A

Example 8.11 Page No 497

In [9]:
import math
#initialisation of variables
V_s=450.0
R=10.0

#Calculations
I_or=math.sqrt((V_s/(3*R))**2*2/3+(2*V_s/(3*R))**2*1/3)    
I_T1=math.sqrt((1/(2*math.pi))*((V_s/(3*R))**2*2*math.pi/3+(2*V_s/(3*R))**2*math.pi/3))   
P=3*I_or**2*R    
I_or=math.sqrt((1/(math.pi))*((V_s/(2*R))**2*2*math.pi/3))    
I_T1=math.sqrt((1/(2*math.pi))*((V_s/(2*R))**2*2*math.pi/3))    
P=3*I_or**2*R    

#Results
print("for 180deg mode")
print("rms value of load current=%.3f A" %I_or)
print("power delivered to load=%.1f kW" %(P/1000))
print("rms value of load current=%.0f A" %I_T1)
print("for 120deg mode")
print("rms value of load current=%.3f A" %I_or)
print("rms value of load current=%.2f A" %I_T1)
print("power delivered to load=%.3f kW" %(P/1000))
for 180deg mode
rms value of load current=18.371 A
power delivered to load=10.1 kW
rms value of load current=13 A
for 120deg mode
rms value of load current=18.371 A
rms value of load current=12.99 A
power delivered to load=10.125 kW

Example 8.12, Page No 510

In [10]:
import math
#initialisation of variables
V_s=230.0
R=10.0
f=50.0
w=2*math.pi*f
L=0.03

#Calculations
X_L=w*L
V_or=math.sqrt(V_s**2*math.pi/math.pi)
V_01=4*V_s/(math.sqrt(2)*math.pi)
Z1=math.sqrt(R**2+(X_L)**2)
phi1=-math.degrees(math.atan((X_L)/R))
Z3=math.sqrt(R**2+(X_L*3)**2)
phi3=math.degrees(math.atan((X_L*3)/R))
Z5=math.sqrt(R**2+(X_L*5)**2)
phi5=math.degrees(math.atan((X_L*5)/R))
Z7=math.sqrt(R**2+(X_L*7)**2)
phi7=math.degrees(math.atan((X_L*7)/R))
I_m1=4*V_s/(math.sqrt(2)*Z1*math.pi)
I_m3=4*V_s/(math.sqrt(2)*3*Z3*math.pi)
I_m5=4*V_s/(math.sqrt(2)*5*Z5*math.pi)
I_m7=4*V_s/(math.sqrt(2)*7*Z7*math.pi)
I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)
P=I_m**2*R    
I_01=I_m1*math.sin(math.radians(45))
I_03=I_m3*math.sin(math.radians(3*45))
I_05=I_m5*math.sin(math.radians(5*45))
I_07=I_m7*math.sin(math.radians(7*45))
I_0=(I_01**2+I_03**2+I_05**2+I_07**2)
P=I_0*R    
g=(180-90)/3+45/2
I_01=2*I_m1*math.sin(math.radians(g))*math.sin(math.radians(45/2))
I_03=2*I_m3*math.sin(math.radians(g*3))*math.sin(math.radians(3*45/2))
I_05=2*I_m5*math.sin(math.radians(g*5))*math.sin(math.radians(5*45/2))
I_07=2*I_m7*math.sin(math.radians(g*7))*math.sin(math.radians(7*45/2))
I_0=(I_01**2+I_03**2+I_05**2+I_07**2)
P=I_0*R    


#Results
print("using square wave o/p")
print("power delivered=%.2f W" %P)
print("using quasi-square wave o/p")
print("power delivered=%.2f W" %P)
print("using two symmitrical spaced pulses")
print("power delivered=%.2f W" %P)
using square wave o/p
power delivered=845.87 W
using quasi-square wave o/p
power delivered=845.87 W
using two symmitrical spaced pulses
power delivered=845.87 W

Example 8.14, Page No 520

In [11]:
import math
#initialisation of variables
f=50.0
T=1/f
I=0.5

#Calculations
di=I/T     #di=di/dt
V_s=220.0
L=V_s/di    
t=20*10**-6
fos=2     #factor of safety
t_c=t*fos
R=10
C=t_c/(R*math.log(2))

#Results    
print("source inductance=%.1f H" %L)
print("commutating capacitor=%.2f uF" %(C*10**6))
source inductance=8.8 H
commutating capacitor=5.77 uF

Example 8.15, Page No 539

In [12]:
import math
#initialisation of variables
R=10.0
L=.01
C=10*10**-6
#Calculations
if (R**2)<(4*L/C) :
    print("ckt will commutate on its own")
else:
    print("ckt will not commutate on its own")

xie=R/(2*L)
w_o=1/math.sqrt(L*C)
w_r=math.sqrt(w_o**2-xie**2)
phi=math.degrees(math.atan(xie/w_r))
t=math.pi/w_r
V_s=1
v_L=V_s*(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180+phi))
v_c=V_s*(1-(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180-phi)))   
di=V_s/L    


#Results
print("voltage across inductor(*V_s)=%.5f V" %v_L) 
print("voltage across capacitor(*V_s)=%.5f V" %v_c)
print("di/dt*V_s (for t=0)=%.0f A/s" %di)
ckt will commutate on its own
voltage across inductor(*V_s)=-0.60468 V
voltage across capacitor(*V_s)=1.60468 V
di/dt*V_s (for t=0)=100 A/s

Example 8.16, Page No 540

In [13]:
import math
#initialisation of variables
L=0.006
C=1.2*10**-6
R=100.0

#Calculations
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=0.2*10**-3
f=1/(2*(T+T_off))    
R=40
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=.2*10**-3
f=1/(2*(T+T_off))    
R=140
T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)
T_off=.2*10**-3
f=1/(2*(T+T_off)) 

#Results
print("o/p freq=%.2f Hz" %f)
print("for R=40ohm")
print("upper limit o/p freq=%.1f Hz" %f)
print("for R=140ohm")
print("lower limit o/p freq=%.1f Hz" %f)
o/p freq=239.81 Hz
for R=40ohm
upper limit o/p freq=239.8 Hz
for R=140ohm
lower limit o/p freq=239.8 Hz

Example 8.17, Page No 540

In [14]:
import math
#initialisation of variables
f=5000.0
w=2*math.pi*f
R=3.0

#Calculations
L=60*10**-6
xie=R/(2*L)
C=7.5*10**-6
w_o=1/math.sqrt(L*C)
w_r=math.sqrt(w_o**2-xie**2)
t_c=math.pi*(1/w-1/w_r)    
fos=1.5
t_q=10*10**-6
f_max=1/(2*math.pi*(t_q*fos/math.pi+1/w_r))    

#Results
print("ckt turn off time=%.2f us" %(t_c*10**6))
print("max possible operating freq=%.1f Hz" %f_max)
 #Answers have small variations from that in the book due to difference in the rounding off of digits.
ckt turn off time=21.39 us
max possible operating freq=5341.4 Hz

Example 8.18, Page No 541

In [15]:
import math
#initialisation of variables
a=30.0
R=10.0
P=5000.0

#Calculations
V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))
V_ph=V_s/math.sqrt(3)    
I_or=math.sqrt(P*R)
V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))
V_ph=V_s/math.sqrt(3) 

#Results
print("per phase voltage  V_ph=%.3f V" %V_ph)   
print("for constant load current")
print("V_ph=%.2f V" %V_ph)
per phase voltage  V_ph=110.384 V
for constant load current
V_ph=110.38 V

Example 8.19, Page No 547

In [16]:
import math
#initialisation of variables
t=20.0
fos=2.0     #factor of safety

#Calculations
t_c=t*fos
n=1.0/3
R=20.0
C=n**2*t_c/(4*R*math.log(2)) 

#Results   
print("value of capacitor=%.2f uF" %C)
 #printing mistake in the answer in book.
value of capacitor=0.08 uF

Example 8.20, Page No 547

In [17]:
import math
#initialisation of variables
V_s=220.0
V_p=math.sqrt(2)*V_s/3    
V_L=math.sqrt(3)*V_p    
V_p1=math.sqrt(2)*V_s/math.pi    
V_L1=math.sqrt(3)*V_p1    
V_oh=math.sqrt(V_L**2-V_L1**2)

#Calculations
THD=V_oh/V_L1    
V_a1=2*V_s/math.pi
V_a5=2*V_s/(5*math.pi)
V_a7=2*V_s/(7*math.pi)
V_a11=2*V_s/(11*math.pi)
R=4.0
L=0.02
f=50
w=2*math.pi*f
Z1=math.sqrt(R**2+(w*L)**2)
Z5=math.sqrt(R**2+(5*w*L)**2)
Z7=math.sqrt(R**2+(7*w*L)**2)
Z11=math.sqrt(R**2+(11*w*L)**2)
I_a1=V_a1/Z1
I_a5=V_a5/Z5
I_a7=V_a7/Z7
I_a11=V_a11/Z11
I_or=math.sqrt((I_a1**2+I_a5**2+I_a7**2+I_a11**2)/2)
P=3*I_or**2*R    
I_s=P/V_s    
I_TA=I_s/3   
 
#Results
print("rms value of phasor voltages=%.2f V" %V_p)
print("rms value of line voltages=%.2f V" %V_L)
print("fundamental component of phase voltage=%.3f V" %V_p1)
print("fundamental component of line voltages=%.3f V" %V_L1)
print("THD=%.7f" %THD)
print("load power=%.1f W" %P)
print("avg value of source current=%.3f A" %I_s)
print("avg value of thyristor current=%.3f A" %I_TA)
rms value of phasor voltages=103.71 V
rms value of line voltages=179.63 V
fundamental component of phase voltage=99.035 V
fundamental component of line voltages=171.533 V
THD=0.3108419
load power=2127.6 W
avg value of source current=9.671 A
avg value of thyristor current=3.224 A