{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 2 - The Semiconductor Diode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_1 Page No. 35" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IR = 5.00e-08 ampere\n", " Thermal voltage,VT= 0.03 volt\n", "Junction voltage,VAK1= -0.25 volt\n", "Diode current,IA =IR*(exp(VAK1/(2*VT))-1)= -4.96e-08 ampere\n", "Junction voltage,VAK2= 0.25 volt\n", "Diode current,IA =IR*(exp(VAK2/(2*VT))-1)= 6.07e-06 ampere\n", "Junction voltage,VAK3= 0.50 volt\n", "Diode current,IA =IR*(exp(VAK3/(2*VT))-1)= 7.50e-04 ampere\n", "Junction voltage,VAK4= 0.60 volt\n", "Diode current,IA =IR*(exp(VAK4/(2*VT))-1)= 0.01 ampere\n", "Junction voltage,VAK3= 0.70 volt\n", "Diode current,IA =IR*(exp(VAK5/(2*VT))-1)= 0.04 ampere\n", "Junction voltage,VAK3= 0.80 volt\n", "Diode current,IA =IR*(exp(VAK6/(2*VT))-1)= 0.24 ampere\n" ] } ], "source": [ "from __future__ import division\n", "from math import exp\n", "IR=50*10**(-9)\n", "print \"IR = %0.2e \"%(IR),\" ampere\" # value of Reverse saturation current\n", "VT=26*10**(-3)\n", "print \" Thermal voltage,VT= %0.2f \"%(VT),\"volt\"\n", "VAK1=(-0.25)# diode junction voltage\n", "print \"Junction voltage,VAK1= %0.2f\"%(VAK1),\"volt\"\n", "IA =IR*(exp(VAK1/(2*VT))-1)# formulae for diode current\n", "print \"Diode current,IA =IR*(exp(VAK1/(2*VT))-1)= %0.2e \"%(IR*(exp(VAK1/(2*VT))-1)),\" ampere\" # calculation\n", "VAK2=(+0.25)\n", "print \"Junction voltage,VAK2= %0.2f\"%(VAK2),\"volt\"\n", "IA =IR*(exp(VAK2/(2*VT))-1)\n", "print \"Diode current,IA =IR*(exp(VAK2/(2*VT))-1)= %0.2e \"%(IA),\" ampere\" # calculation\n", "VAK3=(+0.5)\n", "print \"Junction voltage,VAK3= %0.2f\"%(VAK3),\"volt\"\n", "print \"Diode current,IA =IR*(exp(VAK3/(2*VT))-1)= %0.2e \"%(IR*(exp(VAK3/(2*VT))-1)),\" ampere\" # calculation\n", "VAK4=(+0.6)\n", "print \"Junction voltage,VAK4= %0.2f\"%(VAK4),\"volt\"\n", "print \"Diode current,IA =IR*(exp(VAK4/(2*VT))-1)= %0.2f \"%(IR*(exp(VAK4/(2*VT))-1)),\" ampere\" # calculation\n", "VAK5=(+0.7)\n", "print \"Junction voltage,VAK3= %0.2f\"%(VAK5),\"volt\"\n", "print \"Diode current,IA =IR*(exp(VAK5/(2*VT))-1)= %0.2f \"%(IR*(exp(VAK5/(2*VT))-1)),\" ampere\" # calculation\n", "VAK6=(+0.8)\n", "print \"Junction voltage,VAK3= %0.2f\"%(VAK6),\"volt\"\n", "print \"Diode current,IA =IR*(exp(VAK6/(2*VT))-1)= %0.2f \"%(IR*(exp(VAK6/(2*VT))-1)),\" ampere\" # calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_2 Page No. 36" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "source voltage,VF = 5.00 volts\n", "voltage drop,VD = 0.70 volts\n", "resistance,R = 5000.00 ohm\n", "resistance,R = 100.00 ohm\n", "VR = 0.60 volts\n", "Diode current ,IA = 0.00 ampere\n", " using large signal model,IA = 8.63e-04 ampere\n", "Junction voltage,VAK = 0.69 volts\n" ] } ], "source": [ "from __future__ import division\n", "VF=5\n", "print \"source voltage,VF = %0.2f \"%(VF)+ \" volts\"#initialization\n", "VD=0.7\n", "print \"voltage drop,VD = %0.2f \"%(VD)+ \" volts\"#initialization\n", "R=5*10**(3)\n", "print \"resistance,R = %0.2f \"%(R)+ \"ohm\"#initialization\n", "RF=100\n", "print \"resistance,R = %0.2f \"%(RF)+ \"ohm\"#initialization\n", "VR=0.6\n", "print \"VR = %0.2f \"%(VR)+ \" volts\"#initialization\n", "IA=(VF-VD)/R #formulae\n", "print \"Diode current ,IA = %0.2f \"%(IA),\" ampere\" # calculation\n", "IA=(VF-VR)/(R+RF)# Formulae\n", "print \" using large signal model,IA = %0.2e \"%(IA),\" ampere\" # calculation\n", "VAK=(VR+IA*RF)# Formulae\n", "print \"Junction voltage,VAK = %0.2f\"%(VAK),\" volts\"#calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_3 Page No. 38" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Thermal voltage,VT= 0.03 volt\n", "IR = 0.00 ampere\n", "Junction voltage,VAK1= 0.70 volt\n", "Forward conductance,gf= 0.67 mho\n", "Forward resistance,rf = 1.48 ohm\n", "Reverse conductance,gr= 1.37e-12 mho\n", " Reverse resistance,rr = 7.30e+11 ohm\n" ] } ], "source": [ "from math import exp\n", "from __future__ import division\n", "VT=26*10**(-3)\n", "print \" Thermal voltage,VT= %0.2f \"%(VT),\" volt\"#initialization\n", "IR=50*10**(-9)\n", "print \"IR = %0.2f \"%(IR),\" ampere\" # value of Reverse saturation current\n", "VAK1=(0.7)# diode junction voltage\n", "print \"Junction voltage,VAK1= %0.2f\"%(VAK1),\" volt\"#initialization\n", "gf=(IR/(2*VT))*exp(VAK1/(2*VT)) #Formulae\n", "print \"Forward conductance,gf= %0.2f\"%(gf),\" mho\"\n", "rf=1/gf #Formulae\n", "print \"Forward resistance,rf = %0.2f \"%(rf)+ \" ohm\"\n", "VAK2=(-0.7)\n", "gr=(IR/(2*VT))*exp(VAK2/(2*VT)) #Formulae\n", "print \"Reverse conductance,gr= %0.2e\"%(gr),\" mho\"\n", "rr=1/gr #Formulae\n", "print \" Reverse resistance,rr = %0.2e \"%(rr)+ \" ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_4 Page No. 39" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input voltage,Vi = 10.00 volts\n", "resistance,Rs = 0.20 ohm\n", "resistance,RL = 10.00 ohm\n", "input voltage,VD = 0.70 volts\n", " Peak load current ,Iim =(Vim-VD)/(RL+Rs) = 1.32 ampere\n", " D.C load current ,Ildc =(2*Iim/(pi)) = 0.84 ampere\n", " diode d.c current ,Iadc =(Ildc/2)= 0.42 ampere\n", "peak inverse voltage ,PIV = 2*Vim= 28.28 volts\n", "D.C output voltage,Vldc=Ildc*RL= 8.39 volts\n" ] } ], "source": [ "from math import sqrt,pi\n", "Vi=10\n", "print \"input voltage,Vi = %0.2f \"%(Vi),\" volts\" #initialization\n", "Rs=0.2\n", "print \"resistance,Rs = %0.2f \"%(Rs)+ \"ohm\" #initialization\n", "RL=10\n", "print \"resistance,RL = %0.2f \"%(RL)+ \"ohm\" #initialization\n", "VD=0.7\n", "print \"input voltage,VD = %0.2f \"%(VD),\" volts\" #initialization\n", "Vim=Vi*sqrt(2) #Formulae\n", "Iim=(Vim-VD)/(RL+Rs) #Formulae\n", "print \" Peak load current ,Iim =(Vim-VD)/(RL+Rs) = %0.2f\"%(Iim),\" ampere\" # calculation\n", "Ildc=(2*Iim/(pi)) #Formulae\n", "print \" D.C load current ,Ildc =(2*Iim/(pi)) = %0.2f\"%(Ildc),\" ampere\" # calculation\n", "Iadc=(Ildc/2) #Formulae\n", "print \" diode d.c current ,Iadc =(Ildc/2)= %0.2f \"%(Iadc),\" ampere\" # calculation\n", "PIV=2*Vim #Formulae\n", "print \"peak inverse voltage ,PIV = 2*Vim= %0.2f\"%(PIV),\" volts\" # calculation\n", "Vldc=Ildc*RL #Formulae\n", "print \"D.C output voltage,Vldc=Ildc*RL= %0.2f \"%(Vldc),\" volts\" # calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_5 Page No. 40" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " D.C load current ,Idc = 1.00e-03 ampere\n", "input voltage,Vi = 2.50 volts\n", "voltage drop,VD = 0.70 volts\n", "resistance,Rm = 50.00 ohm\n", "resistance,R =[(2/pi)*((Vim-2*VD)/Idc)-Rm]= 1309.52 ohm\n" ] } ], "source": [ "from math import sqrt,pi\n", "Idc=1*10**(-3)\n", "print \" D.C load current ,Idc = %0.2e \"%(Idc),\" ampere\" #initialization\n", "Vi=2.5\n", "print \"input voltage,Vi = %0.2f \"%(Vi),\" volts\"#initialization\n", "Vim=Vi*sqrt(2)\n", "VD=0.7\n", "print \"voltage drop,VD = %0.2f \"%(VD)+ \" volts\" #initialization\n", "Rm=50\n", "print \"resistance,Rm = %0.2f \"%(Rm)+ \" ohm\" #initialization\n", "R=((2/pi)*((Vim-2*VD)/Idc)-Rm) #Formulae\n", "print \"resistance,R =[(2/pi)*((Vim-2*VD)/Idc)-Rm]= %0.2f \"%(R)+ \" ohm\"\n", "\n", "# NOTE: VALUE OF R=1310 ohm as given in book but here calculated ans is 1309.5231ohm " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_6 Page No. 45" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input voltage,Vi = 10.00 volts\n", "frequency,f1= 50.00 hertz\n", "resistance,RL = 1100.00 ohm\n", "Ripple factor,r = 0.05 \n", "output voltage,VLDC = VLDC=Vim/(1+x)= 12.96 volts\n", " voltage Regulation,VR =(Vim-VLDC)/(VLDC)= 0.09 volts\n", "Ripple output voltage,Vr = Vr=VLDC*r= 0.68 volts\n" ] } ], "source": [ "from math import sqrt,pi\n", "Vi=10\n", "print \"input voltage,Vi = %0.2f \"%(Vi),\" volts\" #initialization\n", "Vim=Vi*sqrt(2)\n", "f1=50\n", "print \"frequency,f1= %0.2f\"%(f1),\" hertz\" #initialization\n", "RL=1100\n", "print \"resistance,RL = %0.2f \"%(RL)+ \" ohm\" #initialization\n", "C=50*10**(-6)\n", "r=1/((4*sqrt(3))*f1*RL*C) # Formulae\n", "print \"Ripple factor,r = %0.2f \"%(r),\"\"\n", "x=1/(4*f1*RL*C) # Formulae\n", "VLDC=Vim/(1+x) # Formulae\n", "print \"output voltage,VLDC = VLDC=Vim/(1+x)= %0.2f\"%(VLDC),\" volts\" #calculation\n", "VR=(Vim-VLDC)/(VLDC) # Formulae\n", "print \" voltage Regulation,VR =(Vim-VLDC)/(VLDC)= %0.2f \"%(VR),\" volts\" #calculation\n", "Vr=VLDC*r # Formulae\n", "print \"Ripple output voltage,Vr = Vr=VLDC*r= %0.2f\"%(Vr),\" volts\"#calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_7 Page No. 48" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input voltage,VI = 10.00 volts\n", "diode voltage,Vz = 5.00 volts\n", "resistance,Rz = 100.00 ohm\n", "resistance,RD = 500.00 ohm\n", "percentage change in VI,DVI= 25.00 volts\n", "percentage change in VL,DVL=(DVI)*(Rz/(RD+Rz))= 0.00 %\n", "Output resistance,R0 =(RD*Rz)/(RD+Rz)= 83.00 ohm\n", "resistance,RD = 500.00 ohm\n", "Power dissipated,PZmax =PZmax=(Izmax*Vz)= 0.06 watt\n", "Power dissipated,Prd=Prd=(Izmax*Izmax*RD)= 0.08 watt\n", "Power dissipated,PD = 0.14 watt\n", "resistance,RL = 500.00 ohm\n", " voltage Regulation Percentage,%VR =(R0/RL)*(100)= 16.60 % \n" ] } ], "source": [ "VI=10\n", "print \"input voltage,VI = %0.2f \"%(VI),\" volts\" #initialization\n", "Vz=5\n", "print \"diode voltage,Vz = %0.2f \"%(Vz),\" volts\" #initialization\n", "Rz=100\n", "print \"resistance,Rz = %0.2f \"%(Rz)+ \" ohm\" #initialization\n", "RD=500\n", "print \"resistance,RD = %0.2f \"%(RD)+ \" ohm\" #initialization\n", "DVI=25\n", "print \"percentage change in VI,DVI= %0.2f \"%(DVI),\" volts\" #initialization\n", "DVL=(DVI)*(Rz/(RD+Rz)) #Formulae\n", "print \"percentage change in VL,DVL=(DVI)*(Rz/(RD+Rz))= %0.2f \"%(DVL),\" %\"\n", "R0=(RD*Rz)/(RD+Rz) #Formulae\n", "print \"Output resistance,R0 =(RD*Rz)/(RD+Rz)= %0.2f \"%(R0)+ \" ohm\"\n", "VImax=12.5\n", "Izmax=(VImax-Vz)/(RD+Rz) #Formulae\n", "print \"resistance,RD = %0.2f \"%(RD)+ \" ohm\"\n", "PZmax=(Izmax*Vz) #Formulae\n", "print \"Power dissipated,PZmax =PZmax=(Izmax*Vz)= %0.2f \"%(PZmax)+ \" watt\"\n", "Prd=(Izmax*Izmax*RD) #Formulae\n", "print \"Power dissipated,Prd=Prd=(Izmax*Izmax*RD)= %0.2f \"%(Prd)+ \" watt\"\n", "PD=(PZmax+Prd) #Formulae\n", "print \"Power dissipated,PD = %0.2f \"%(PD)+ \" watt\"\n", "RL=0.5*(10**3)\n", "print \"resistance,RL = %0.2f \"%(RL)+ \" ohm\" #initialization\n", "P_VR=(R0*100)/RL #Formulae\n", "print \" voltage Regulation Percentage,%%VR =(R0/RL)*(100)= %0.2f \"%(P_VR),\"% \"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_8 Page No. 49" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "diode voltage,Vz = 10.00 volts\n", " Zener diode TC1 = 2.00e-03 V/degree celsius\n", " voltage drop,VD = 0.70 volts\n", "Si diode TC = -0.00 V/degree celsius\n", "Combined voltage ,Vref=VD+Vz= 10.70 volts\n", " Combined TC = -0.00 V/degree celsius\n", "New Combined TC = (TC1+TC2)*100/(Vref1)= -4.67e-03 percent/degree celsius\n", "New Combined reference voltage ,Vref= Vref1-((-TC3)*(T2-T1))= 10.69 volts\n" ] } ], "source": [ "Vz=10 #initialization\n", "print \"diode voltage,Vz = %0.2f \"%(Vz),\" volts\"\n", "TC1=(10*0.02)/(100) #calculation\n", "print \" Zener diode TC1 = %0.2e \"%(TC1),\" V/degree celsius\"\n", "VD=0.7\n", "print \" voltage drop,VD = %0.2f \"%(VD),\" volts\"\n", "TC2=(-2.5*10**(-3)) #calculation\n", "print \"Si diode TC = %0.2f \"%(TC2),\" V/degree celsius\"\n", "Vref1=VD+Vz\n", "print \"Combined voltage ,Vref=VD+Vz= %0.2f \"%(Vref1),\" volts\"\n", "TC3=(TC1+TC2) #calculation\n", "print \" Combined TC = %0.2f \"%(TC3),\" V/degree celsius\"\n", "TC=(TC1+TC2)*100/(Vref1) #calculation\n", "print \"New Combined TC = (TC1+TC2)*100/(Vref1)= %0.2e\"%(TC),\" percent/degree celsius\"\n", "T1=25#temperature\n", "T2=50# new temperature\n", "Vref=Vref1-((-TC3)*(T2-T1))#calculation\n", "print \"New Combined reference voltage ,Vref= Vref1-((-TC3)*(T2-T1))= %0.2f\"%(Vref),\" volts\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2_9 Page No. 52" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input voltage,Vi1 = 0.20 volts\n", " voltage drop,VD = 0.70 volts\n", "resistance,RL = 5000.00 ohm\n", "Supply voltage,Vcc = 5.00 volts\n", "output voltage ,V01 ==VD+Vi1 = 0.90 volts\n", " output current ,IL1=IL1=(Vcc-V01)/RL = 8.20e-04 ampere\n", "input voltage,Vi2 = 5.00 volts\n", "output voltage ,V02 =3*VD= 2.10 volts\n", " output current ,IL2= IL2=(Vcc-V02)/RL = 5.80e-04 ampere\n", " Diode voltage ,VAK = V02-Vi2 = -2.90 volts\n" ] } ], "source": [ "Vi1=0.2\n", "print \"input voltage,Vi1 = %0.2f \"%(Vi1),\" volts\" #initialization\n", "VD=0.7\n", "print \" voltage drop,VD = %0.2f \"%(VD),\" volts\" #initialization\n", "RL=5*(10**3)\n", "print \"resistance,RL = %0.2f \"%(RL)+ \" ohm\" #initialization\n", "Vcc=5\n", "print \"Supply voltage,Vcc = %0.2f \"%(Vcc),\" volts\"\n", "V01=VD+Vi1 #Formulae\n", "print \"output voltage ,V01 ==VD+Vi1 = %0.2f \"%(V01),\" volts\" \n", "IL1=(Vcc-V01)/RL #Formulae\n", "print \" output current ,IL1=IL1=(Vcc-V01)/RL = %0.2e \"%(IL1),\" ampere\" # calculation\n", "Vi2=5\n", "print \"input voltage,Vi2 = %0.2f \"%(Vi2),\" volts\" #initialization\n", "V02=3*VD #Formulae\n", "print \"output voltage ,V02 =3*VD= %0.2f \"%(V02),\" volts\"\n", "IL2=(Vcc-V02)/RL #Formulae\n", "print \" output current ,IL2= IL2=(Vcc-V02)/RL = %0.2e \"%(IL2),\" ampere\" # calculation\n", "VAK=V02-Vi2 #Formulae\n", "print \" Diode voltage ,VAK = V02-Vi2 = %0.2f \"%(VAK),\" volts\"\n", "\n", "#NOTE:correct value of IL2=0.58 mA but in book given as 0.592mA" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }