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