import math
#initialisation of variables
Vo=25.0 #in V
ro=10.0 #in ohm
print('select a silicon reference diode')
print('two IN7555 diodes are provided')
Rz = 12.0 #in ohm
Vo=25.0 #output voltage in V
Vr = 7.5 + 7.5 #because two diodes are used
Iz = 20.0 #in mA
Ie2=10.0 #in mA
Ic2 = Ie2
Icmax=30.0 #in mA
Vcemax=45.0 #in V
hFE2=220.0
hfe2=200.0
hie2=800.0 #in ohm
Id=10.0 #in mA
Il = 1000.0 #in mA
Vi = 50.0 #in V
dVi = 10.0 #change in input voltage
dIl = 1.0 #change in load current
#Calculations
#For D1 and D2 operate
Iz = Id + Id
Rd = (Vo-Vr)/Id
print("The value of Rd is %.2f K " %Rd)
Ib2 = (1000.0*Ic2)/hFE2
print("The value of Ib2 is %.2f microA " %Ib2)
#Since we require I1>Ib2 , we select
I1=10*(10**-3)#in A
Vbe = 0.7#in V
V2 = Vbe + Vr
print("The value of V2 is %.2f v " %V2)
R1 = (Vo-V2)/I1
R2 = V2/I1
print("The value of R1 is %.2f ohm " %R1)
print("The value of R2 is %.2f ohm " %R2)
#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required
print('We are selecting Texas Instruments 2N1722 silicon power transistor')
Ic1 = 1#in A
hFE1=125.0
hfe1=100.0
hie1=20.0
#Results
Ib1 =(1000*I1 + Il + Id)/hFE1
print("The current through resistor R3 is %.2f mA " %(Ib1+Ic2))
I=Ib1 + Ic2
R3 = (Vi - (Vbe + Vo))/I
print("The value of R3 is %.2f K " %R3)
import math
#initialisation of variables
Vo=25.0 #in V
ro=10.0 #in ohm
Rz = 12.0 #in ohm
Vo=25.0 #output voltage in V
Vr = 7.5 + 7.5#because two diodes are used
Iz = 20.0 #in mA
Ie2=10.0 #in mA
Ic2 = Ie2
Icmax=30.0 #in mA
Vcemax=45.0 #in V
hFE2=220.0
hfe2=200.00
hie2=800.0 #in ohm
Id=10.0 #in mA
Il = 1000.0 #in mA
Vi = 50.0 #in V
dVi = 10.0 #change in input voltage
dIl = 1.0 #change in load current
#Calculations
#For D1 and D2 operate
Iz = Id + Id
Rd = (Vo-Vr)/Id
Ib2 = (1000*Ic2)/hFE2
#Since we require I1>Ib2 , we select
I1=10*(10**-3)#in A
Vbe = 0.7#in V
V2 = Vbe + Vr
R1 = (Vo-V2)/I1
R2 = V2/I1
#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required
Ic1 = 1#in A
hFE1=125.0
hfe1=100.0
hie1=20.0
Ib1 =(1000.0*I1 + Il + Id)/hFE1
#The current through resistor R3
I=Ib1 + Ic2
R3 = (Vi - (Vbe + Vo))/I
Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz))
Sv = (10**-3)/(Gm*R3)
#Results
print("The value of Sv is %.2f " %Sv)
import math
#initialisation of variables
Vo=25.0 #in V
ro=10.0 #in ohm
Rz = 12.0 #in ohm
Vo=25.0 #output voltage in V
Vr = 7.5 + 7.5#because two diodes are used
Iz = 20.0 #in mA
Ie2=10.0 #in mA
Ic2 = Ie2
Icmax=30.0 #in mA
Vcemax=45.0 #in V
hFE2=220.0
hfe2=200.0
hie2=800.0 #in ohm
Id=10.0 #in mA
Il = 1000.0 #in mA
Vi = 50.0 #in V
dVi = 10.0 #change in input voltage
dIl = 1.0 #change in load current
#Calculations
#For D1 and D2 operate
Iz = Id + Id
Rd = (Vo-Vr)/Id
Ib2 = (1000.0*Ic2)/hFE2
#Since we require I1>Ib2 , we select
I1=10*(10**-3)#in A
Vbe = 0.7#in V
V2 = Vbe + Vr
R1 = (Vo-V2)/I1
R2 = V2/I1
#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required
Ic1 = 1#in A
hFE1=125.0
hfe1=100.0
hie1=20.0
Ib1 =(1000*I1 + Il + Id)/hFE1
#The current through resistor R3 is
I=Ib1 + Ic2
R3 = (Vi - (Vbe + Vo))/I
Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz))
#Results
print("The value of Gm is %.2f " %Gm)
Ro = (ro + (((1000*R3) + hie1)/(1+hfe1)))/(1 + (Gm*((1000*R3) + ro)))
print("The output impedence is = %.2f K " %Ro)
import math
#initialisation of variables
Vo=25.0 #in V
ro=10.0 #in ohm
Rz = 12.0 #in ohm
Vo=25.0 #output voltage in V
Vr = 7.5 + 7.5#because two diodes are used
Iz = 20.0 #in mA
Ie2=10.0 #in mA
Ic2 = Ie2
Icmax=30.0 #in mA
Vcemax=45.0 #in V
hFE2=220.0
hfe2=200.0
hie2=800.0 #in ohm
Id=10.0 #in mA
Il = 1000.0 #in mA
Vi = 50.0 #in V
dVi = 10.0 #change in input voltage
dIl = 1.0 #change in load current
#Calculations
#For D1 and D2 operate
Iz = Id + Id
Rd = (Vo-Vr)/Id
Ib2 = (1000.0*Ic2)/hFE2
#Since we require I1>Ib2 , we select
I1=10.0*(10**-3)#in A
Vbe = 0.7#in V
V2 = Vbe + Vr
R1 = (Vo-V2)/I1
R2 = V2/I1
#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required
Ic1 = 1#in A
hFE1=125.0
hfe1=100.0
hie1=20.0
Ib1 =(1000.0*I1 + Il + Id)/hFE1
#The current through resistor R3 is
I=Ib1 + Ic2
R3 = (Vi - (Vbe + Vo))/I
Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz))
Sv = (10**-3)/(Gm*R3)
Ro = (ro + (((1000*R3) + hie1)/(1+hfe1)))/(1 + (Gm*((1000*R3) + ro)))
dVo = (Sv*dVi)+(Ro*dIl)
#Results
print("Change in output voltage = %.2f v " %dVo)
import math
from scipy import integrate
#initialisation of variables
Vs=230.0 #in V
Rl=200.0 #in ohm
#Trigger is adjusted so that conduction starts after 60degree of start of cycle
#Instantaneous Current il = (230*2^0.5*sin(a))/200
#Calculations
# to find rms value
xo = math.pi/3.0 #lower limit of integration
x1 = math.pi #upper limit of integration
def f(x):
return((230.0*(2.0**0.5)*math.sin(x))/200.0)**2.0
X = integrate.quad(f,xo,x1)
Irms = (X[0]/(2*math.pi))**0.5
#Results
print("The value of Irms is %.2f A " %Irms)
import math
from scipy import integrate
#initialisation of variables
Vs=230.0 #in V
Rl=200.0 #in ohm
#Trigger is adjusted so that conduction starts after 60degree of start of cycle
#Instantaneous Current il = (230*2^0.5*sin(a))/200
#It is noted that between 0 to pi/3 SCR voltage equals line voltage and between pi/3 to pi it is zer and for the rest it is equal to line voltage
#Vl = 230*2^0.5*sin(x)
#To find instantaneous power
x0=math.pi/3#lower limit of integral
x1=math.pi#upper limit of integral
def f(x):
return((230*230*2*(math.sin(x)**2))/200)
X = integrate.quad(f,xo,x1)
P = X[0]/(2*3.14)
print("The value of P is %.2f W " %P)
import math
#initialisation of variables
Vs=230.0 #in V
Rl=200.0 #in ohm
#Trigger is adjusted so that conduction starts after 60degree of start of cycle
#Instantaneous Current il = (230*2**0.5*sin(a))/200
#To find Vrms
#Calculations
#It is noted that between 0 to pi/3 SCR voltage equals line voltage and between pi/3 to pi it is zer and for the rest it is equal to line voltage
xo=0 #lower limit of first integral
x1=math.pi/3.0 #upper limit of first integral
x2=math.pi #lower limit of second integral
x3=2.0*(math.pi) #upper limit of second integral
def f(x):
return((230*(2**0.5)*math.sin(x))**2)
def g(x):
return((230*(2**0.5)*math.sin(x))**2)
X1 = integrate.quad(f,xo,x1)
X2 = integrate.quad(g,x2,x3)
Vrms = ((X1[0]+X2[0])/(2*math.pi))**0.5
#Results
print("The value of Vrms is %.2f v " %Vrms)
import math
#initialisation of variables
#Caption:SCR Relaxation Oscillator Phase control Circuit
#Given Data
C=0.1#in microF
V=60.0 #in V
Vb=32.0 #in V
Vh=10.0 #holding voltage in V
Ih=100.0 #in microA
c=45.0 #conductance angle in degree
cd = 360.0 - c#angle in which capacitor will get charged
td = (cd/360.0)*(1.0/60)#in ms
#Calculations
#if the anode voltage is positive,the SCR will fire when vc=32V
vc=32#in V
#let time constant = t = R*C
#vc-Vh = (V-Vh)(1-exp(-td/t))
t = -td/math.log(1-((vc-Vh)/(V-Vh)))
#Results
print("The value of time constant = is %.2f sec " %t)
R = t/C#Resistance in K
print("The value of R is %.2f K " %(R*1000))