Chapter 3 - Semiconductor Diodes

Example E1 - Pg 127

In [23]:
#Ex3_1 Pg-127
#calculate current
print '%s' %("Refer to the diagram 3.11(b)")
print '%s' %("Using ohm''s law")
print '%s' %("Vt = Vd1 + Vr1")
Vd1=0.7 #voltage drop in V
Vt=12. #supply voltage in V
R1=1.2*10.**3. #resistor R1 in ohm
Vr1=Vt-Vd1 #voltage across R1 in V
It=Vr1/R1 #current in A
print '%s' %("Ohm''s law")
print '%s %.2f' %("\n Current I_t = mA",It*10**3)
Refer to the diagram 3.11(b)
Using ohm''s law
Vt = Vd1 + Vr1
Ohm''s law

 Current I_t = mA 9.42

Example E2 - Pg 182

In [24]:
#Ex3_2 Pg-182
#calculate the voltage applied across the junction
import math
J=10.**5. #forward current density
Js=250.*10.**(-3.) #saturation current density
e=1.6*10.**(-19.) #electron charge
T=300. #temperature
k=1.38*10.**(-23.) #Boltzmann constant
V=(math.log(J/Js)*k*T)/e #voltage applied across junction
print '%s %.2f' %("The voltage applied across the junction =V",V)
The voltage applied across the junction =V 0.33

Example E3 - Pg 182

In [25]:
#Ex3_3 Pg-182
import math
I=2.*10.**6. #forward current density
Is=30. #saturation current density
ekt=40.
V=(1./40.)*math.log(I/Is) #Applied forward voltage
print '%s %.3f' %("Applied forward voltage =V",V)
Applied forward voltage =V 0.278

Example E4 - Pg 182

In [26]:
#Ex3_4 Pg-182
import math
print '%s' %("I = Is*exp(eV/kT) = Is*exp(40V)")
print '%s' %("Re = del_V/del_I = 1/40I")
print '%s' %("Dividing throughtout by volume, one obtains the equation in the form of current density as")
print '%s' %("J = Js*(exp(eV/kT)-1)")
J=10.**5. #forward current density
Js=250.*10.**(-3.) #saturation current density
e=1.6*10.**(-19.) #electron charge
T=300. #temperature
k=1.38*10.**(-23.) #Boltzmann constant
V=(math.log(J/Js)*k*T)/e #voltage applied across junction
print '%s %.2f' %("\n The voltage applied across the junction =V",V)
I = Is*exp(eV/kT) = Is*exp(40V)
Re = del_V/del_I = 1/40I
Dividing throughtout by volume, one obtains the equation in the form of current density as
J = Js*(exp(eV/kT)-1)

 The voltage applied across the junction =V 0.33

Example E5 - Pg 183

In [27]:
#Ex3_5 Pg-183
print '%s' %("(a) Forward-bias")
Av=50. #applied voltage
Jr=5000. #junction resistance
Er=50. #external resistance
cur=Av/(Er+Jr) #current
print '%s %.1f %s' %("Current =mA \n",cur*10.**3.,"\n")

print '%s' %("(b) Reverse-bias")
cur_rev=Av/(Jr+10.**6.) #book expression is wrong
print '%s %.3f' %("Current =1e-2 mA \n",cur_rev*10**5)
(a) Forward-bias
Current =mA 
 9.9 

(b) Reverse-bias
Current =1e-2 mA 
 4.975

Example E6 - Pg 183

In [28]:
#Ex3_6 Pg-183
import math
print '%s' %("We know that")
print '%s' %("  r_ac = dV/dI - 1/(dI/dV) = 1/((I0/KT)exp(V/KT))")
k=8.62*10.**(-5.)
T=300. #temperaturein K
kT=k*T
I0=10.**(-6.) #saturation current
V=150.*10.**(-3.) #voltage forward biased
r_ac = 1./((I0/kT)*math.exp(V/kT)) #value of exp(0.15/0.02586)=330.45 and not the textbook value of 332.66
print '%s %.2f' %("\n The AC resistance =ohm",r_ac) #text book value wrong
We know that
  r_ac = dV/dI - 1/(dI/dV) = 1/((I0/KT)exp(V/KT))

 The AC resistance =ohm 78.26

Example E7 - Pg 184

In [29]:
#Ex3_7 Pg-184
import math
print '%s' %("We know that (I0)*T2 = (I0)*T1*(2)**((T2-T1/10))")

print '%s' %("Substituting the given values,we have ")

print '%s' %("(40*10**(-6)) = (25*10**(-6)*(2)**x) where x=(T2-T1)/10")

print '%s' %("(2)**x = 1.6")

print '%s' %("Taking log on both sides,one obtains")

print '%s' %("x*log(2) = log(1.6)")

print '%s' %("or x = log(1.6)/log(2)")

x=math.log(1.6)/math.log(2.)

print '%s' %(" Now x = (T2-T1)/10 or 0.678 = (T2-25)/10")
T1=25. #temperature T1
T2=x*10.+T1 #temperature T2
diff_temp=T2-T1 #change in temperature
print '%s %.2f' %("\n So the change in temperature =degree celsius",diff_temp)
We know that (I0)*T2 = (I0)*T1*(2)**((T2-T1/10))
Substituting the given values,we have 
(40*10**(-6)) = (25*10**(-6)*(2)**x) where x=(T2-T1)/10
(2)**x = 1.6
Taking log on both sides,one obtains
x*log(2) = log(1.6)
or x = log(1.6)/log(2)
 Now x = (T2-T1)/10 or 0.678 = (T2-25)/10

 So the change in temperature =degree celsius 6.78

Example E8 - Pg 185

In [30]:
#Ex3_8 Pg-185
import math
print '%s' %("Forward current I is given by ")
print '%s' %("I=I0*exp(V/(n*Vt))-1")
V=0.3 #voltage
n=1. #constant
T1=22.+273. #temperature T1 in Kelvin
Vt1=T1/11600.
I=(math.exp(V/0.025)-1)
print '%s' %("When temperature rises to 72 degree celcius, then")

T2=72.+273. #temperature T2 in Kelvin
Vt2=T2/11600.
TR=T2-T1 #temperature rise
I_72=(2.)**(TR/10.)

I_hash=I_72*(math.exp(V/(Vt2))-1)
for_cur_rises=I_hash/I
print '%s' %("Thus, at 72 degree celcius Forward current rises by ")
print '%s' %(for_cur_rises)
cur_I=768849.72
cur_I_hash=162753.79
FCR=cur_I/cur_I_hash
print '%s %.2f' %("\n=",FCR)
 #answer in the book  is wrong
Forward current I is given by 
I=I0*exp(V/(n*Vt))-1
When temperature rises to 72 degree celcius, then
Thus, at 72 degree celcius Forward current rises by 
4.72400496343

= 4.72

Example E9 - Pg 185

In [31]:
#Ex3_9 Pg-185
import math
n=1. #constant
T=27.+273. #temperature in K
Vt=T/11600.
V=0.2 #voltage
I0=10.**(-6.) #saturation current
I=I0*(math.exp(V/Vt)-1)
stat_res=V/I #static resistance
print '%s %.2f' %("Static resistance =ohm",stat_res)

dyn_res=Vt/(I+I0) #dynamic resistance
print '%s %.2f' %("Dynamic resistance =ohm",dyn_res)
Static resistance =ohm 87.63
Dynamic resistance =ohm 11.33

Example E10 - Pg 186

In [32]:
#Ex3_10 Pg-186
import math
print '%s' %("We know that I = I0*(math.exp(V/n*Vt)-1)")
print '%s' %("Dividing on both sides by area A, one obtains")
print '%s' %("I/A = I0/A*(mah.exp(V/n*Vt)-1)")
print '%s' %("or J = J0*(math.exp(V/n*Vt)-1)")
n=1. #constant
T=300. #temperature in K
Vt=T/11600.
J=10.**5. #forward current density
J0=250.*10.**(-3.) #saturation current density 
V=Vt*math.log(J/J0)
print '%s %.4f' %("\n The voltage applied across the junction =V",V)
We know that I = I0*(math.exp(V/n*Vt)-1)
Dividing on both sides by area A, one obtains
I/A = I0/A*(mah.exp(V/n*Vt)-1)
or J = J0*(math.exp(V/n*Vt)-1)

 The voltage applied across the junction =V 0.3336

Example E11 - Pg 186

In [33]:
#Ex3_11 Pg-186
Vmin=0.7 #minimum voltage across diode in V
V=5. #supply voltage in V
V_R1=V-Vmin #voltage across resistor R in V
Imin=10.**(-3.) #minimum current
R1=V_R1/Imin 
print '%s %.1f' %("Maximum value of R =kohm \n ",R1*1e-3)
I=5.*10.**(-3.) #current through resistance in A
V_R2=V-Vmin #voltage across resistor R in V
R2=V_R2/I
print '%s %.0f' %("\n\n Minimum value of R =ohm ",R2)
Vb=6. #supply voltage
Vb_res=Vb-Vmin #voltage across resistor
P=I*Vb_res #power dissipated across resistor
print '%s %.1f' %("\n\n Power dissipated across R =W",P*10**3)
P_diode=I*Vmin #power dissipated across diode
print '%s %.1f' %("\n power dissipated across diode =mW",P_diode*1e3)
R=10.**3. #resistor in ohm
V_R=R*Imin #voltage drop across resistor R in V
Vb=V_R+Vmin 
print '%s %.1f' %("\n\n The minimum voltage across diode =V",Vb)
Maximum value of R =kohm 
  4.3


 Minimum value of R =ohm  860


 Power dissipated across R =W 26.5

 power dissipated across diode =mW 3.5


 The minimum voltage across diode =V 1.7

Example E12 - Pg 188

In [34]:
#Ex3_12 Pg-188
print '%s' %("Refer to the figure 3.51")
Id1=2.*10.**(-3.) #diode current in I
Vd1=0.5 #diode voltage in V
Rf1=Vd1/Id1 #Dc resistance
print '%s' %("At Id=2mA and Vd=0.5V")
print '%s %.0f' %("\n Rf =ohm",Rf1)

Id2=20.*10.**(-3.) #diode current in I
Vd2=0.75 #diode voltage in V
Rf2=Vd2/Id2 #Dc resistance
print '%s' %("At Id=20mA and Vd=0.75V")
print '%s %.1f' %("\n Rf =ohm ",Rf2)

Id3=2.*10.**(-6.) #diode current in I
Vd3=10. #diode voltage in V
Rf3=Vd3/Id3 #Dc resistance
print '%s' %("At Id=2*10**(-6)A and Vd=10V")
print '%s %.0f' %("\n Rf =Mohm",Rf3*10**-6)
Refer to the figure 3.51
At Id=2mA and Vd=0.5V

 Rf =ohm 250
At Id=20mA and Vd=0.75V

 Rf =ohm  37.5
At Id=2*10**(-6)A and Vd=10V

 Rf =Mohm 5

Example E13 - Pg 188

In [35]:
#Ex3_13 Pg-188
print '%s' %("Refer to the figure 3.52")
print '%s' %("(a) Assuming the diode D to be ideal ")
print '%s' %("    Ignoring diode D,voltage across R2 is given as (By applying potential divider concept)")
R1=45. #resistor R1
R2=5. #resistor R2
Vaa=10. #supply voltage
Vab=Vaa*(R2/(R1+R2))
print '%s %.0f' %("\n Vab=V",Vab)

print '%s' %(" Thus,diode D is forward biased.It conducts,offering zero resistance  Hence no current would flow through the parallel bransh R2.The circuit equivalent to that shown in figure 3.53(a)")
ID=Vaa/R1 #diode current
print '%s %.0f' %("\n Current through diode =mA ",ID*10**3)

print '%s' %("(b)Assuming the diode to be real")
print '%s' %("     Voltage Vab is much larger than Vt hencethe diode conducts.It is replaced by its equivalent as shown in figure 3.53(b).To determine current Id through the diode we first find the Thevenin''s equivalent of the circuit on the left of AB.Vth=open circuit voltage across AB")
Vth=Vaa*(R2/(R1+R2))
print '%s %.0f' %("\n Vth=V",Vth)
Rth=R1*R2/(R1+R2)
print '%s %.0f' %("\n Rth=ohm ",Rth) #textbook value is wrong
print '%s' %("Thus,the equivalent circuit becomes as shown in figure 3.53(c)")
Vt=0.3 #load voltage
tf=25. #load resistance
Id=(Vth-Vt)/(Rth+tf)
print '%s %.1f' %("\n Current through diode = mA",Id*10**3)
 
Refer to the figure 3.52
(a) Assuming the diode D to be ideal 
    Ignoring diode D,voltage across R2 is given as (By applying potential divider concept)

 Vab=V 1
 Thus,diode D is forward biased.It conducts,offering zero resistance  Hence no current would flow through the parallel bransh R2.The circuit equivalent to that shown in figure 3.53(a)

 Current through diode =mA  222
(b)Assuming the diode to be real
     Voltage Vab is much larger than Vt hencethe diode conducts.It is replaced by its equivalent as shown in figure 3.53(b).To determine current Id through the diode we first find the Thevenin''s equivalent of the circuit on the left of AB.Vth=open circuit voltage across AB

 Vth=V 1

 Rth=ohm  4
Thus,the equivalent circuit becomes as shown in figure 3.53(c)

 Current through diode = mA 23.7

Example E14 - Pg 190

In [36]:
#Ex3_14 Pg-190
print '%s' %("Diodes D2 and D3 are reverse-biased.\nTherefore,these are like open-switches.\nDiodes D1 and D2 are forward biased.\nThese are replaced by their equivalent circuits,as shown in figure 3.54.\nSince the diodes are silicon V=0.7V. ")
Vt=0.7 #voltage drop
Vaa=20. #supply voltage in V
net_emf=Vaa-Vt-Vt #net emf
R1=5.  
R2=90.
R3=5. #R1,R2,R3 are resistances
tot_res=R1+R2+R3 #total resistance
print'%s' %("Therefore, current through 90 ohm resistor is")
I=net_emf/tot_res
print'%s %.0f' %("\nCurrent I =mA",I*10**3)
Diodes D2 and D3 are reverse-biased.
Therefore,these are like open-switches.
Diodes D1 and D2 are forward biased.
These are replaced by their equivalent circuits,as shown in figure 3.54.
Since the diodes are silicon V=0.7V. 
Therefore, current through 90 ohm resistor is

Current I =mA 186

Example E15 - Pg 190

In [37]:
#Ex3_15 Pg-190
print '%s' %("(a) When the diode is forward biased figure 3.55(b),it offers zero resistance.\nIt is like shorted switch.This shorted switch across AB also short-circuits the resistance R2.Obviously,a parallel combination of the diode and R2 is equivalent to a resistance of zero ohms.")
R1=100. #reisitor R1 in ohm 
R=R1
Vaa=10. #supply voltage in V
I=Vaa/R
print '%s %.1f' %("\n Current drawn from battery =A",I)
print '%s' %("(a) When the diode is reverse biased figure 3.55(b).\nIt is like open switch.Obviously,it then does not make any difference whether the diode is connected or not.")
R2=100 #resistor R2 in ohm
tot_R=R1+R2
I1=Vaa/tot_R
print '%s %.2f' %("\n Current drawn from battery =A",I1)
(a) When the diode is forward biased figure 3.55(b),it offers zero resistance.
It is like shorted switch.This shorted switch across AB also short-circuits the resistance R2.Obviously,a parallel combination of the diode and R2 is equivalent to a resistance of zero ohms.

 Current drawn from battery =A 0.1
(a) When the diode is reverse biased figure 3.55(b).
It is like open switch.Obviously,it then does not make any difference whether the diode is connected or not.

 Current drawn from battery =A 0.05

Example E16 - Pg 191

In [38]:
#Ex3_16 Pg-191
Vz=9. #breakdown voltage in V
per=0.1 #10% tolerance 
Tol=Vz*per
print '%s %.1f'%("Tolerance =V",Tol)
tol_high=Vz+Tol
tol_low=Vz-Tol #ranges in tolerance
print'%s %.1f %.1f'%("\n Range of breakdown voltage=to V",tol_low,tol_high)
# in the textbook the value 8.2 is wrong the correct value is 8.1
T1=25. #temperature T1 in degree celcius
T2=75. #temperature T2 in degree celcius
diff_temp=T2-T1 #chnage in temperature
Vzener=2.*10.**(-3.) #zener voltage
fall_break_vol=Vzener*diff_temp #fall in breakdown voltage
new_break_vol=Vz-fall_break_vol #new break don voltage
print '%s %.1f' %("\n New break don voltage =V",new_break_vol)
range_high=tol_low-fall_break_vol
range_low=tol_high-fall_break_vol
print '%s %.1f %.1f' %("\n Range of breakdown voltage=to V",range_high,range_low)
Tolerance =V 0.9

 Range of breakdown voltage=to V 8.1 9.9

 New break don voltage =V 8.9

 Range of breakdown voltage=to V 8.0 9.8

Example E17 - Pg 192

In [39]:
#Ex3_17 Pg-192
import math
C=20. #capacitance in pF
V=5. #supply voltage in V
K=C*math.sqrt(V)
C_V1=K/math.sqrt(V+1)
print '%s %.1f' %("Capacitance for 1V increase =pF",C_V1)
Capacitance for 1V increase =pF 18.3

Example E18 - Pg 192

In [40]:
#Ex3_18 Pg-192
import math
print '%s' %("(a) The two diodes are connected in series and hence the current I flows in D1 and D2.\nObviously,it is in forward direction through D2 and in reverse direction through D1.\nSince D2 diode is forward biased,V2 will be very small and hence V1=(5-V2) will be very much larger than Vt=0.026V.\nThis means the current will be equal to reverse saturation current I0.\nNow,we consider diode D2.\nWe have \n\n")
print '%s' %("I = I0*(exp(V/Vt)-1)")
print '%s' %("Putting I=I0 and V=V2, we have")
print '%s' %("I0 = I0*(exp(V2/Vt)-1)")
print '%s' %("exp(V2/Vt)-1 = 1")
Vt=0.026 #threshold voltage
V2=Vt*math.log(2.)
V=5. #supply voltage in V
V1=V-V2 #value in textbook incorrect
print '%s %.3f' %("\n V2 =V",V2)
print '%s %.3f' %("\n V2 =V\n ",V1)
print '%s' %("Effect of temperature : V2=Vt*ln(2) = kT*ln(2)")
print '%s' %("So V2 will increase with temperature\n")
print '%s' %("(b) If Vz is 4.9V then D1 will breakdown. This means V1=4.9V")
Vz=4.9 #breakdown voltage
V2=V-Vz
print '%s' %("Now using I0=5*10**(-6)A and V2=0.1V,one obtains")
I0=5*10**(-6) #current in ampere
I=I0*(math.exp(V2/Vt)-1)
print '%s %.0f' %("\n Current I=microA",I*10**6)
(a) The two diodes are connected in series and hence the current I flows in D1 and D2.
Obviously,it is in forward direction through D2 and in reverse direction through D1.
Since D2 diode is forward biased,V2 will be very small and hence V1=(5-V2) will be very much larger than Vt=0.026V.
This means the current will be equal to reverse saturation current I0.
Now,we consider diode D2.
We have 


I = I0*(exp(V/Vt)-1)
Putting I=I0 and V=V2, we have
I0 = I0*(exp(V2/Vt)-1)
exp(V2/Vt)-1 = 1

 V2 =V 0.018

 V2 =V
  4.982
Effect of temperature : V2=Vt*ln(2) = kT*ln(2)
So V2 will increase with temperature

(b) If Vz is 4.9V then D1 will breakdown. This means V1=4.9V
Now using I0=5*10**(-6)A and V2=0.1V,one obtains

 Current I=microA 229

Example E19 - Pg 193

In [41]:
#Ex3_19 Pg-193
print '%s' %("We have Iv=40*iD")
Iv=1. #luminous intensity
iD=Iv/(40.*10.**(-3.)) #LED current
print '%s %.0f' %("LED current =mA",iD)
We have Iv=40*iD
LED current =mA 25

Example E20 - Pg 193

In [42]:
#Ex3_20 Pg-193
print '%s %s' %("(a) At Id=10mA,","\n")
V=25. #voltage in mV
Id=10. #current in mA
Rac=V/Id 
#AC resistance (value in textbook is wrong)
print '%s %.1f %s' %("AC resistance Rac=ohm",Rac,"\n")
Id=20. #current in mA
Rac=V/Id 
#AC resistance (value in textbook is wrong)
print '%s %.2f %s' %("AC resistance Rac=ohm",Rac,"\n")
(a) At Id=10mA, 

AC resistance Rac=ohm 2.5 

AC resistance Rac=ohm 1.25 

Example E21 - Pg 194

In [43]:
#Ex3_21 Pg-194
import math
print '%s' %("We know that")
print '%s' %("  r_ac = dV/dI - 1/(dI/dV) = 1/((I0/KT)exp(V/KT))")
k=8.62*10.**(-5.)
T=300. #temperaturein K
kT=k*T
I0=10.**(-6.) #saturation current
V=150.*10.**(-3.) #voltage forward biased
r_ac = 1./((I0/kT)*math.exp(V/kT))
#value of exp(0.15/0.02586)=330.45 and not the textbook value of 332.66
print '%s %.2f' %("\n The AC resistance =ohm",r_ac) #text book value wrong
We know that
  r_ac = dV/dI - 1/(dI/dV) = 1/((I0/KT)exp(V/KT))

 The AC resistance =ohm 78.26