# 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)")
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