#find the value of threshold voltage
#given
t1=25.;#degrees C#initial temperature
t2=100.;#degrees C#final temperature
V=2.*10.**-3.;#V per celsius degree#decrease in barrier potential per degree
V0=0.7#V#Potential at normal temperature
Vd=(t2-t1)*V;#decrease in barrier potential
Vt=V0-Vd;#threshold volatge at 100degree C
print '%s %.2f %s' %("Threshold volatge at 100 degrees C =",Vt,'V');
#detrenmine dc resistance of silicon diode
#given
#At Id = 2 mA
Id=2.*10.**-3.;#Ampere#diode current
Vd=0.5;#V#voltage(from given curve)
Rf=(Vd/Id);
print '%s %.f %s' %("The dc resistance is =",Rf,"ohm\n");
#At Id = 20 mA
Id=20.*10.**-3.;#Ampere#diode current
Vd=0.75;#V#voltage(from given curve)
Rf=(Vd/Id);
print '%s %.1f %s' %("The dc resistance is =",Rf,"ohm\n");
#At Vd = - 10 V
Id=-2.*10.**-6.;#Ampere#diode current(from given curve)
Vd=-10.;#V#voltage
Rf=(Vd/Id);
print '%s %.f %s' %("The dc resistance is =",Rf/10**6,"M ohm\n");
#determine dc & ac resistance of silicon diode
#given
Id=20.*10.**-3.;#A#diode current
Vd=0.75;#V# as given in the V-I graph
Rf=Vd/Id;
print '%s %.1f %s' %("The dc resistance of diode is =",Rf,"ohm\n");
#From Graph the values of dynamic voltage and current are
#which is equal to MN and NL repectively (in graph)
del_Vd=(0.8-0.68);#V
del_Id=(40-0)*10.**-3.;#A
rf=del_Vd/del_Id;
print '%s %.f %s' %("The ac resistance of the diode is =",rf,"ohm")
#determine ac resistance of silicon diode
#given
#At Id =10mA
Id=10.;#mA
rf=25./Id;
print '%s %.1f %s' %("The ac resistance of the diode is(At Id= 10mA) =",rf,"ohm\n")
#At Id =20mA
Id=20.;#mA
rf=25./Id;
print '%s %.2f %s' %("The ac resistance of the diode is(At Id= 20mA) =",rf,"ohm")
#Find current through diode
#given
Vt=0.3;#V#Threshold voltage
rf=25.;#ohm# average resistance
#assuming it to be ideal
#from fig 3.19
Vaa=10.;#V#supply
R1=45.;#ohm
R2=5.;#ohm
Vab=Vaa*R2/(R1+R2);
#Vab>Vt therefore diode is forward bias and no current flow through R2
Idi=Vaa/R1; #for ideal
print '%s %.f %s' %("The diode current (for ideal) is =",Idi*1000,"mA\n");
#assuming it to be real
#Thevenins equivalent circuit parameters of fig 3.19
Vth=Vaa*R2/(R1+R2);
Rth=R1*R2/(R1+R2);
Idr=(Vth-Vt)/(Rth+rf); #for real
print '%s %.1f %s' %("The diode current (for real) is =",Idr*1000,"mA");
#Find current through resistance in given figure
#From fig
Vaa=20.;#V#supply
Vt=0.7;#V#threshold voltage of diode
rf=5.;#ohm #forward resistance
R=90.;#ohm#given resistor
#Diode D1 and D4 are forward bias and D2 and D3 are reverse biased
Vnet=Vaa-Vt-Vt;
Rt=R+rf+rf;
I=Vnet/Rt;
print '%s %.f %s' %("Current through 90 ohm resistor is =",I*1000,"mA");
#Find current drawn by the battery
#From fig
Vaa=10.;#V#supply
R1=100.;#ohm
R2=100.;#ohm
#Forward Bias
Id=Vaa/R1;
print '%s %.1f %s' %("Current drawn from battery (forward bias) =",Id,"A\n");
#Reverse Bias
Rnet=R1+R2;
Id=Vaa/Rnet;
print '%s %.2f %s' %("Current drawn from battery (reverse bias) =",Id,"A");
#determine dc current through load and rectification efficiency and peak inverse voltage
#given
import math
TR=31./2.;#Turn ratio of the transformer
rf=20.;#ohm#Dynamic forward resistance
Rl=1000.;#ohm#Load resistance
Vt=0.66;#V#Threshold voltage of diode
V=220.;#V#input voltage of transformer
Vp=math.sqrt(2.)*220.#V#peak value of primary voltage
Vm=(1./TR)*Vp;
Im=(Vm-Vt)/(rf+Rl);
Idc=Im/math.pi;
n=40.6/(1.+rf/Rl);
print '%s %.f %s' %("The dc current through load is =",Idc*1000,"mA\n");
print '%s %.1f %s' %("The rectification efficiency is =",n,"percent\n");
print '%s %.2f %s' %("Peak inverse voltage =Vm = ",Vm,"V\n")
#determine dc voltage across load and peak inverse voltage across each diode
#given
import math
TR=12./1.##Turn ratio of the transformer
V=220.##V#input voltage of transformer
Vp=math.sqrt(2.)*220.#V#peak value of primary voltage
Vm=(1./TR)*Vp#
Vdc=(2.*Vm)/math.pi#
print '%s %.1f %s' %("The dc voltage across load =",Vdc,"V\n")#
print '%s %.1f %s' %("Peak inverse voltage (for bridge rectifier) =",Vm,"V\n")#
print '%s %.1f %s' %("Peak inverse voltage (for centre tap rectifier) =",2*Vm,"V\n")#
#find dc power supplied to load and efficiency and PIV rating of the diode
#given
import math
rf=2.;#ohm#Dynamic forward resistance
Rs=5.;#ohm#resistaqnce of secondary
Rl=25.;#ohm#Load resistance
Idc=0.1;#A#dc current to a load
Pdc=Idc**2.*Rl; #dc power
n=(81.2*Rl)/(Rl+rf+Rs); #efficiency
Im=(math.pi*Idc)/2.; #peak value current
Vm=Im*(Rl+rf+Rs); #peak voltage
Vlm=Vm-Im*(rf+Rs); #peak voltage across load
PIV=Vm+Vlm;
print '%s %.2f %s' %("The dc power supplied to the load is =",Pdc,'W\n');
print '%s %.2f %s' %("Efficiency =",n,'percent\n');
print '%s %.3f %s' %("The peak inverse voltage is =",PIV,'V');
#Calculate output voltage and current through load and voltage across series resistor and current and power dissipated in zener diode
#given
Vi=110.;#V #input voltage
Rl=6.*10.**3.;# ohm #load resistance
Rs=2.*10.**3.;#ohm #series resistance
Vz=60.;#V #Zener voltage
V=Vi*Rl/(Rs+Rl);
#This V>Vz therefore Zener diode is ON
Vo=Vz; #output voltage
Il=Vo/Rl; #Current through load resistance
Vs=Vi-Vo; #Voltage drop across the series resistor
Is=Vs/Rs #current through the series resistor
Iz=Is-Il #/By applying kirchhoffs law
Pz=Vz*Iz #Power dissipated accross zener diode
print '%s %.f %s' %("The output voltage is =",Vo,"V\n");
print '%s %.f %s' %("The current through load resistance is =",Il*1000,"mA\n");
print '%s %.f %s' %("Voltage across series resistor is =",Vs,"V\n")
print '%s %.f %s' %("Current in zener diode is =",Iz*1000,"mA\n")
print '%s %.f %s' %("Power dissipated by zener diode =",Pz*1000,'mW');
#Calculate max and min values of zener diode current
#given
Vimin=80.;#V #minimum input voltage
Vimax=120.;#V #maximum input voltage
Rl=10.*10.**3.;# ohm #load resistance
Rs=5.*10.**3.;#ohm #series resistance
Vz=50.;#V #Zener voltage
V=Vimin*Rl/(Rs+Rl);
#This V>Vz therefore Zener diode is ON
#For minimum value of zener diode
Vo=Vz; #output voltage
Vs=Vimin-Vo; #Voltage drop across the series resistor
Is=Vs/Rs #current through the series resistor
Il=Vo/Rl; #Current through load resistance
Izmin=Is-Il;
print '%s %.f %s' %("Minimum values of zener diode current is =",Izmin*1000,"mA\n");
#For maximum value of zener diode
Vo=Vz; #output voltage
Vs=Vimax-Vo; #Voltage drop across the series resistor
Is=Vs/Rs #current through the series resistor
Il=Vo/Rl; #Current through load resistance
Izmax=Is-Il;
print '%s %.f %s' %("Maximum values of zener diode current is =",Izmax*1000,"mA");
#determine value of the series resistor and wattage rating
#given
Vi=12.##V #input voltage
Vz=7.2##V #Zener voltage
Izmin=10.*10.**-3.##A #min current through zener diode
Ilmax=100*10.**-3.##A #max current through load
Ilmin=12.*10.**-3.##A #min current through load
Vs=Vi-Vz# #Voltage drop across the series resistor
Is=Izmin+Ilmax# #Current through the series resistor
Rs=Vs/Is#
print '%s %.1f %s' %("The series resistor so that 10mA current flow through zener diode is =",Rs,"ohm\n")#
Izmax=Is-Ilmin#max zener through zener diode
Pmax=Izmax*Vz#
print '%s %.1f %s' %("The maximum wattage rating is =",Pmax*1000,"mW")#
#Find the capacitance of a varactor diode
#given
import math
C=5.;#pf#capcitance of varactor diode at V=4V
V=4.;#V
K=C*math.sqrt(4.);
#When bias voltage is increased upto 6 V
Vn=6.;#V#new bias voltage
Cn=K/(math.sqrt(Vn));
print '%s %.3f %s' %("Capacitance (At 6 V ) =",Cn,"pf");