Chapter 2 Semiconductor Diodes

Example 2.1 , Page no:48

In [1]:
import math
from __future__ import division

#initialisation of variables
n=1
k=1.38 #x 10^-23

#CALCULATIONS
T=25+273
q=1.6 #x 10^-19
vd=((k*T)/(1.6*(10**4))*4.6151)

#RESULTS
print"what range of forward voltage drop vD can (2.1) be approximated";
print"vd =",round(vd,3),"V";
what range of forward voltage drop vD can (2.1) be approximated
vd = 0.119 V

Example 2.2 , Page no:48

In [2]:
import math
from __future__ import division

#initialisation of variables
iD2=(47.73*10) #mA

#RESULTS
print"find the forward and reverse saturation current";
print"iD2=",iD2;
print"iD1/(e^(0.3/0.02587)-1)=91nA";
find the forward and reverse saturation current
iD2= 477.3
iD1/(e^(0.3/0.02587)-1)=91nA

Example 2.3 , Page no:48

In [3]:
import math
from __future__ import division

#initialisation of variables
Rl=100 #kΩ
Rs=10 #kΩ

#CALCULATIONS
Vl=(Rl/(Rl+Rs))

#RESULTS
print"find the value of Vl";
print"The value of Vl =",round(Vl,3),"vs";
find the value of Vl
The value of Vl = 0.909 vs

Example 2.5 , Page no:50

In [4]:
import math
from __future__ import division

#initialisation of variables
Vs=5 #V
V2=3 #V

#CALCULATIONS
iD2=((Vs-V2)/500)*1000 #mA

#RESULTS
print"In the circuit D1 and D2 are ideal diodes. Find iD1 and iD2.";
print"iD2=",round(iD2),"mA";
In the circuit D1 and D2 are ideal diodes. Find iD1 and iD2.
iD2= 4.0 mA

Example 2.7 , Page no:51

In [5]:
import math
from __future__ import division

#initialisation of variables
vs=0.1 #cos wtV
Vb=2 #V

#CALCULATIONS
Rth=(100**2)/200 #kΩ
Rf=(0.7-0.5)/0.004

#RESULTS
print"Find iD and vD analytically";
print"(100/200)*(2+0.1cos wt) V";
print"Rth=",round(Rth,3),"ohm";
print"Rf=",round(Rf,3),"ohm";
Find iD and vD analytically
(100/200)*(2+0.1cos wt) V
Rth= 50.0 ohm
Rf= 50.0 ohm

Example 2.9 , Page no:52

In [6]:
import math
from __future__ import division

#initialisation of variables
Idq=5 #mA
Vdq=0.75 #V
vh=0.05 #cos wt
Rth=50 #kΩ
rd=50

#CALCULATIONS
rd=(0.7-0.5)/0.004
id=(vh/(Rth+rd))*1000
vd=(rd*id)/1000 #cos wt V

#RESULTS
print"Use the small-signal technique to find iD and vD";
print"rd=",rd,"ohm";
print"id=",round(id,3),"cos wt mA";
print"vd=",round(vd,3),"cos wt V";
print"iD = Idq + id = 5+0.5 cos wt mA";
print"vD = Vdq + vd = 0.75+0.025 cos wt V ";
Use the small-signal technique to find iD and vD
rd= 50.0 ohm
id= 0.5 cos wt mA
vd= 0.025 cos wt V
iD = Idq + id = 5+0.5 cos wt mA
vD = Vdq + vd = 0.75+0.025 cos wt V 

Example 2.11 , Page no:54

In [7]:
import math
from __future__ import division

#initialisation of variables
Rs=200 #Ω
R1=200 #Ω
Rl=50 #kΩ
vs=400 #sin wt V

#CALCULATIONS
vth=(R1/(R1+Rs))*vs
Rth=((R1*Rs)/(R1+Rs))
id=-2*10**(-6)
Rl=Rl*(10**3)
vD=vth-(id)*(Rth+Rl)

#RESULTS
print"vth =",round(vth,3),"sin wt V";
print"Rth =",round(Rth,3),"ohm";
print"vD =",round(vD,3),"V";
vth = 200.0 sin wt V
Rth = 100.0 ohm
vD = 200.1 V

Example 2.13 , Page no:55

In [8]:
import math
from __future__ import division

#initialisation of variables
Vf1=1 #v
Vf2=2 #v
Rf1=100 #Ω
Rf2=200 #Ω
Vb1=4 #v
Vb2=6 #v
R=2000

#CALCULATIONS
V01=Vf2+((Vb1-Vf1-Vf2)*Rf2)/(R+Rf1+Rf2)
V02=Vf2+((Vb2-Vf1-Vf2)*Rf2)/(R+Rf1+Rf2)
Reg=((V02-V01)/V01)*100

#RESULTS
print"V01 is=",round(V01,3),"and",round(V02,3);
print"Reg =",round(Reg,3);
V01 is= 2.087 and 2.261
Reg = 8.333

Example 2.14 , Page no:56

In [9]:
import math
from __future__ import division

#initialisation of variables
Rl=10 #Ω
Rs=10 #Ω
Vs=10 #v
Vl01=2.5 #V
Rl1=1000
Vs1=10
Rs1=10
Vl02=4.9 #V

#CALCULATIONS
Vl=(Rl/(Rl+Rs))*Vs #V
Vl1=(Rl1/(Rl1+Rs1))*Vs1
Reg=((Vl02-Vl01)/Vl01)*100

#RESULTS
print"Vl =",round(Vl,3);
print"For Rl=1000";
print"Vl1 =",round(Vl1,3);
print"Reg =",round(Reg);
Vl = 5.0
For Rl=1000
Vl1 = 9.901
Reg = 96.0

Example 2.15 , Page no:56

In [10]:
import math
from __future__ import division

#initialisation of variables
Rl=10 #Ω
Rs=10 #Ω
Vs=-10 #v
Vl0=2.5 #V

#CALCULATIONS
Vl=(Rl/(Rl+Rs))*Vs

#RESULTS
print"Vl =",round(Vl,3);
print"Vl0 =",round(Vl0,3);
Vl = -5.0
Vl0 = 2.5

Example 2.26 , Page no:61

In [11]:
import math
from __future__ import division

#initialisation of variables
R1=6 #kΩ
R2=3 #kΩ
V1=5 #v
V2=10 #v

#CALCULATIONS
Rth=(R1*R2/(R1+R2))
R2=(R1*Rth/(R1-Rth))

#RESULTS
print"Rth =",round(Rth,3);
print"R2 =",round(R2,3);
Rth = 2.0
R2 = 3.0

Example 2.30 , Page no:65

In [12]:
import math
from __future__ import division

#initialisation of variables
Vz=8.2 #V
Rl=9 #kΩ
iZ=1
Vb=13.2
Vb1=11.7

#CALCULATIONS
iL=Vz/Rl #mA
Rs=((Vb-Vz)/(iZ+iL))
iZ1=((Vb1-Vz)/Rs)-iL

#RESULTS
print"iL =",round(iL,3),"A";
print"Rs =",round(Rs,3),"ohm";
print"iZ =",round(iZ1,3);
iL = 0.911 A
Rs = 2.616 ohm
iZ = 0.427

Example 2.31 , Page no:65

In [13]:
import math
from __future__ import division

#initialisation of variables
Vz=5.2 #V
Pdmax=260 #mW
Vs=15

#CALCULATIONS
iZmax=Pdmax/Vz #mA
R=(Vs-Vz)*1000/iZmax

#RESULTS
print"iZmax =",round(iZmax,3),"mA";
print"R =",round(R,3),"ohm";
iZmax = 50.0 mA
R = 196.0 ohm