V1=1 # V across SCR
IG=0 # A
Ih=2 # mA holding current
R=50 # ohm
# Applying kirchoff law
#VA-(IAK*R)-V1=0
VA=(Ih*10**-3*R)+V1 # V (let IAK=Ih)
print 'VA = %.2f V'%(VA)
diBYdt=1000 # A/s (rate of rise of current)
il=10 # mA (latching current = diBYdt * tp)
tp=il*10**-3/diBYdt # s
print 'Minimum duration of gating pulse = %.f us'%(tp*10**6)
from __future__ import division
m=16 # V/A (gradient)
t_on=4 # us
IG=500 # mA
VS=15 # V
VG=m*IG/1000 # V
#Load line equation
#VG=VS-IG*RS
RS=(VS-VG)/(IG/1000) # ohm
Pg=VS*(IG/1000)**2 # # W
print 'Gate power dissipation = %.f W'%(Pg)
print '\n Resistance to be connected = %.f ohm'%(RS)
from numpy import roots
# VG=0.5+8*IG -- eqn(1)
f=400# # Hz
delta=0.1 # # (Duty Cycle)
P=0.5 # W
VS=12 # V
Tp=1/f*10**6 # us
# P= VG*IG -- eqn(2)
# solving eqn 1 and 2
#8*IG*IG**2+0.5*IG-P=0
p=[8, 0.5, -P] # polynomial for IG
IG=roots(p) # A
IG=IG[1] # A (discarding -ve value)
VG=0.5+8*IG # V
# VS=VG+IG*RS
RS=(VS-VG)/IG
print 'Value of resistance to be added in series = %.2f ohm'%(RS)
from __future__ import division
from math import sqrt
# VG=10*IG -- eqn(1)
PGM=5 # W
PGav=.5 # W
VS=12 # V
Tp=20 # us
# PGM = VG*IG where VG=10*IG
IG=sqrt(PGM/10) # A
VG=10*IG # V
# During the application of pulse VS = VG+(IG*RS)
RS=(VS-VG)/IG # ohm
f=PGav/(PGM*Tp*10**-6)/1000 # kHz
delta=f*1000*Tp*10**-6 # Duty Cycle
print 'Value of resistance to be connected in series = %.2f ohm'%(RS)
print '\n Triggering frequency = %.2f kHz'%(f)
print '\n Duty Cycle = %.1f '%(delta)
# Note : ans in the textbook is not accurate.
from __future__ import division
VS=3 # kV
IS=750 # A
VD=800 # V
ID=175 # A
dr=30/100 # de-rating factor
IB=8 # mA
delQ=30 # u Coulomb
# dr = 1-IS/np*ID
np = round(IS/(1-dr)/(ID)) # # no. of parallel string
ns = round(VS*1000/(1-dr)/(VD)) # # no. of series string
R=(ns*VD-VS*1000)/(ns-1)/(IB/1000)/1000 # kohm
C=(ns-1)*delQ*10**-6/(ns*VD-VS*1000)
print 'Value of R = %.2f kohm'%(R)
print '\n Value of C = %.2e F'%(C)
from __future__ import division
from math import ceil
VS=4 # kV
IS=800 # A
VD=800 # V
ID=200 # A
dr=20/100 # de-rating factor
# for series connection
ns = ceil(VS*1000/(1-dr)/(VD)) # # no. of series string
# for parallel connection
np = round(IS/(1-dr)/(ID)) # # no. of parallel string
print '\n no. of series connection = %d'%(ns)
print '\n no. of parallel connection = %d'%(np)
from __future__ import division
IS1=100 # A
IS2=150 # A
vd1=2.1 # V
vd2=1.75 # V
I=250 # A
rf1=vd1/IS1 # ohm
rf2=vd2/IS2 # ohm
# Equating voltage drops
# vd1+IS1*re = vd2+IS2*re
re=(vd1-vd2)/(IS2-IS1)
print ' Series resistance = %.3f ohm'%(re)
from __future__ import division
from math import pi
Vf1=1 # V
If1=0 # A
Vf2=1.9 # V
If2=60 # A
IT=20*pi # A
# PAV = 1/T*integrate(VT*IT,0,T)*dt = ITAV+0.015*IRMS**2
ITAV=IT/pi # A
ITRMS=IT/2 # A
dt=ITAV+0.015*ITRMS**2 # W
print 'Average power loss = %.1f W'%(dt)
from __future__ import division
R=10 # ohm
L=0.1 # H
delta_i=20/1000 # A
Vs=230 # V4
f=50 # Hz
theta=45 # degree
delta_t = L*delta_i/Vs# # s
delta_t = delta_t*10**6 # us
print 'Minimum gate pulse width = %.1f us'%(delta_t)
from __future__ import division
from math import sqrt
m=3*10**3 # gradient (VG/IG)
VS=10 # V
PG=0.012 # W
# IG = VG/m & PG=VG*IG
VG=sqrt(PG*m)
IG=VG/m # # A
RS=(VS-VG)/IG/1000 # kohm
print 'gate source resistance = %.1f kohm'%(RS)
from __future__ import division
VS=300 # V
delta_i = 50/1000 # A
R=60 # ohm
L=2 # H
TP=40*10**-6 # s
I1=VS/L*TP # A (at the end of pulse)
# as I1 << delta_i
I2=delta_i # A (anode current with RL load)
Rdash = VS/(I2-I1)/1000 # kohm
print 'Value of resistance = %.2f kohm'%(Rdash)
from __future__ import division
from math import pi,sqrt
Im=50 # A
print 'For half sine wave current : \n'
# theta=180 # degree
theta=180 # degree
Iav=Im/pi # A
Irms=Im/2 # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(i) Average ON State current = %.2f A\n'%(ITav)
# theta=90 # degree
theta=90 # degree
Iav=Im/2/pi # A
Irms=Im/2/sqrt(2) # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(ii) Average ON State current = %.2f A\n'%(ITav)
# theta=180 # degree
theta=180 # degree
Iav=Im*0.0213 # A
Irms=Im*0.0849 # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(iii) Average ON State current = %.2f A\n'%(ITav)
print '\n For rectangular wave current : \n'
# theta=180 # degree
theta=180 # degree
Iav=Im/2 # A
Irms=Im/sqrt(2) # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(i) Average ON State current = %.2f A\n'%(ITav)
# theta=90 # degree
theta=90 # degree
Iav=Im/4 # A
Irms=Im/2 # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(ii) Average ON State current = %.2f A\n'%(ITav)
# theta=180 # degree
theta=180 # degree
Iav=Im/12 # A
Irms=Im/2/sqrt(3) # A
FF=Irms/Iav # form factor
ITav=Im/FF # # A
print '(i) Average ON State current = %.2f A\n'%(ITav)
from __future__ import division
VS=500 # V
IP=250 # A
diBYdt=60 # A/us
dvaBYdt=200 # V/us
RL=20 # ohm
r=0.65 # ohm
eps=0.65 # damping ratios
F=2 # saftety factor
IP=IP/2 # A
diBYdt=60/2 # A/us
dvaBYdt=200/2 # V/us
L=VS/diBYdt # uH
R=L*10**6/VS*dvaBYdt/10**6 # ohm
print 'Value of L = %.2f uH'%(L)
print '\n Value of R = %.1f ohm'%(R)
Ip=VS/RL+VS/R # A
if Ip > IP :
print '\n Value of Ip = %.1f A is greater than permissible peak current = %.1f A\n change the value of Rs'%(Ip,IP)
Rs=6 # ohm
Ip=VS/RL+VS/Rs # A
Cs=(2*eps/Rs)**2*L # uF
print '\n Value of C = %.2f uF'%(Cs)
from __future__ import division
from math import ceil,sqrt
Isb=3000 # A
f=50 # Hz
I=sqrt((Isb**2*1/2/f)*f) # A
I2t=I**2/2/f # A**2/s
print 'I2t rating = %d A**2/s'%(ceil(I2t))