{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 4 - Bipolar Junction Transistor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 201 example 1" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "r1 = 19990.91 ohm\n" ] } ], "source": [ "alpha=0.98#\n", "vbe=0.7##base emitter voltage volt\n", "ie=-4*10**-3##emitter current\n", "vc=12##colector voltage volt\n", "colr=3.3*10**3##ohms\n", "colCurrent=ie*(-alpha)#\n", "baseCurrent=0.02*ie#\n", "vbn=vbe+(-4*10**-3*100)#\n", "i2=-vbn/(10*10**3)#\n", "i1=-(baseCurrent+i2)#\n", "vcn=(vc-((colCurrent+i1)*colr))#\n", "v1=vcn-0.9#\n", "r1=v1/i1#\n", "print \"r1 = %0.2f\"%(abs(r1)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 202 example 2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rb = 21500.00 ohm\n", "rc = 700.00 ohm\n", "rb at emitter resistance 100ohm = 18950.00 ohm\n" ] } ], "source": [ "colvoltag=12##volts\n", "vbe=5##volts\n", "colcur=10*10**-3##ampere\n", "vce=5##volts\n", "beta1=50#\n", "ib=colcur/beta1#\n", "rb=(vbe-0.7)/ib#\n", "rc=(12-vbe)/colcur#\n", "#when 100ohm included\n", "print \"rb = %0.2f\"%(rb),\"ohm\"\n", "print \"rc = %0.2f\"%(rc),\"ohm\"\n", "rb=(vce-0.7-(colcur+ib)*beta1)/ib#\n", "\n", "print \"rb at emitter resistance 100ohm = %0.2f\"%(rb),\"ohm\"#correction in the book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 205 example 5" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max resistance = 76562.50 ohm\n", "baseresistance = 100000.00 ohm\n", "temperature = 46.70 celsius\n" ] } ], "source": [ "from math import log\n", "#given\n", "reveri=2*10**-6##ampere at 25\n", "icb=2*10**-6*2**5##ampere at 75\n", "basevoltag=5##volt\n", "#(1)\n", "rb=(-0.1+basevoltag)/(icb)#\n", "print \"max resistance = %0.2f\"%((rb)),\"ohm\"#correction in the book\n", "#(2)\n", "basevoltag=1#\n", "rb=100*10**3#\n", "reveri=(-0.1+basevoltag)/rb#\n", "q=reveri/(2*10**-6)#\n", "w=q**10#\n", "u=log(w)\n", "t=25+(u/log((2)))#\n", "print \"baseresistance = %0.2f\"%((rb)),\"ohm\"\n", "print \"temperature = %0.2f\"%((t)),\"celsius\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 205 example 6" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "min resistance = 3769.23 ohm\n" ] } ], "source": [ "#given\n", "vbe=0.8##volt\n", "beta1=100#\n", "vce=0.2##volt\n", "rb=200*10**3##ohm\n", "bascur=(6-vbe)/rb#\n", "colres=(10-vce)/(beta1*bascur)#\n", "print \"min resistance = %0.2f\"%((colres)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 206 example 7" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "in saturation mode\n", "vo = 3.51 volt\n", "emitter resistance < 688.58 ohm\n" ] } ], "source": [ "beta1=100#\n", "colres=3*10**3##collector resistance #ohm\n", "rb=8*10**3##ohm\n", "r1=500##ohm\n", "voltag=5##volt\n", "#(1)\n", "ib=(-voltag+0.7)/((1+beta1)*r1+(rb))#\n", "ic=beta1*ib#\n", "vce=(-10-ic*(colres)+r1*(ib+ic))#\n", "vcb=vce+0.7#\n", "#(2)\n", "volmin=-0.2+abs(ib+ic)*r1#\n", "re=-(0.7+rb*ib+voltag)/((1+(beta1))*ib)#\n", "print \"in saturation mode\"\n", "print \"vo = %0.2f\"%((volmin)),\"volt\"#correction in the book\n", "print \"emitter resistance < %0.2f\"%((re)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 207 example 9" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "the operating point at vbb = 1.00 volt ic = 2.50e-03 ampere vce = 7.00 volt\n", "the operating point at vbb = 12.00 volt ic = 5.95e-03 ampere vce = -176.33 volt\n", "beta at saturation = 6.32\n" ] } ], "source": [ "vcc=12##volt\n", "rb=12*10**3##ohm\n", "colres=2*10**3##ohm\n", "beta1=100#\n", "vb=0.7##volt\n", "vce=0.1##volt\n", "\n", "for q in range(1,3):\n", " if q==1:\n", " vbb=1\n", " else:\n", " vbb=12\n", " \n", " ib=(vbb-vb)/rb\n", " ic=beta1*ib\n", " ie=ic+ib\n", " vce=vcc-ic*colres\n", " if q==2 :\n", " ic=(vcc-0.1)/colres\n", " \n", "\n", " print \"the operating point at vbb = %0.2f\"%((vbb)),\"volt ic = %0.2e\"%((ic)),\"ampere vce = %0.2f\"%((vce)),\" volt\"\n", "\n", "beta1=ic/ib#\n", "\n", "print \"beta at saturation = %0.2f\"%((beta1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 208 example 11" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "current = 1.00e-03 ampere\n" ] } ], "source": [ "vbe=0.65##volt\n", "colres=2*10**3##ohm\n", "voltag=10##volt\n", "i1=voltag/10#\n", "q=(1.65-vbe)/(1*10**3)#\n", "\n", "\n", "print \"current = %0.2e\"%((q)),\"ampere\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 208 example 12" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "vce = 5.70 volt\n", "collector current = 1.05e-03 ampere\n" ] } ], "source": [ "vcc=12##volt\n", "r1=10*10**3##ohm\n", "colres=1*10**3##ohm\n", "re=5*10**3##ohm\n", "rb=5*10**3##ohm\n", "beta1=100#\n", "vbe=0.7##volt\n", "basvol=vcc*10/20#\n", "ib=((basvol-vbe)/(rb+beta1*rb))#\n", "ic=beta1*ib#\n", "vce=vcc-ic*(colres+re)#\n", "print \"vce = %0.2f\"%((vce)),\"volt\"\n", "print \"collector current = %0.2e\"%((ic)),\"ampere\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 209 example 13" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "r1 = 4.22 times r2\n", "if r2 is 1200ohm\n", "r1 = 5061.77 ohm\n", "r2 = 1200.00 ohm\n" ] } ], "source": [ "colres=330##ohm\n", "re=0.1*10**3##ohm\n", "vcc=12##volt\n", "vce=0.2##volt\n", "revcur=18*10**-3#ampere\n", "ib=0.3*10**-3##ampere\n", "stability=10#\n", "beta1=100#\n", "colres=0.330##ohm\n", "re=0.1*10**3##ohm\n", "vbe=0.2#\n", "rb=(((1+beta1)*re)/10-((1+beta1)*re))/(1-10.1)#\n", "vb=2+ib*rb#\n", "w=vcc/vb#\n", "q=w-1#\n", "r1=1.2*10**3#\n", "r=q*1.2*10**3#\n", "print \"r1 = %0.2f\"%((q)),\"times r2\"\n", "print \"if r2 is 1200ohm\"\n", "print \"r1 = %0.2f\"%((r)),\"ohm\"\n", "\n", "print \"r2 = %0.2f\"%((r1)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 210 example 14" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "collector current = 2.49e-03 ampere\n", "emitter current = 2.52e-03 ampere\n", "collector current with ib = 2.47e-03 ampere\n", "emitter current = 2.50e-03 ampere\n", "error = 7.94e-03\n" ] } ], "source": [ "alpha1=0.99#\n", "ib=25*10**-6##ampere\n", "icb=200*10**-9##ampere\n", "beta1=alpha1/(1-alpha1)#\n", "ic=beta1*ib+(beta1+1)*icb#\n", "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", "ie1=(ic-icb)/alpha1#\n", "print \"emitter current = %0.2e\"%((ie1)),\"ampere\"\n", "ic=beta1*ib#\n", "print \"collector current with ib = %0.2e\"%((ic)),\"ampere\"\n", "ie=ic/alpha1#\n", "print \"emitter current = %0.2e\"%((ie)),\"ampere\"\n", "w=(ie1-ie)/ie1#\n", "print \"error = %0.2e\"%((w))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 211 example 15" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "resistance = 381879.22 ohm\n", "stability = 22.62\n" ] } ], "source": [ "from __future__ import division\n", "vcc=26##volt\n", "colres=20*10**3##ohm\n", "re=470##ohm\n", "beta1=45#\n", "vce=8##volt\n", "ib=(vcc-vce)/((1+beta1)*(colres+re))#\n", "ic=beta1*ib#\n", "r1=((vcc-colres*(ib+ic)-re*(ib+ic)-(0.7)))/ib#\n", "print \"resistance = %0.2f\"%((r1)),\"ohm\"\n", "stability=(1+beta1)/(1+(beta1*re)/(re+colres))#\n", "print \"stability = %0.2f\"%((stability))\n", "#correction required in the book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 211 example 16" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "current = 6.69e-04 ampere\n", "vce = 2.69 volt\n", "resistance = 6.90e+02 ohm\n", "current = 6.36e-04 ampere\n", "vce = 2.63 volt\n" ] } ], "source": [ "vcc=1.5#volt in book should be changed as 1.5\n", "colres=1.5*10**3##ohm\n", "emresi=0.27*10**3##ohm\n", "r1=2.7*10**3##ohm\n", "r=2.7*10**3##ohm\n", "beta1=45#\n", "basre1=690##ohm\n", "voltag=r*vcc/(r*r1)#\n", "basres=(r*r1)/(r+r1)#\n", "vbe=0.2#\n", "for q in range (1,3):\n", " if q==2 :\n", " print \"resistance = %0.2e\"%((basre1)),\"ohm\"\n", " basres=basres+basre1\n", " \n", " bascur=(((voltag+vbe)))/(basres+(45*(emresi)))\n", " colcur=beta1*bascur\n", " vce=(vcc+colcur*colres+(bascur+colcur)*emresi)\n", " print \"current = %0.2e\"%((colcur)),\"ampere\"\n", " print \"vce = %0.2f\"%((vce)),\"volt\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 212 example 17" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "base resistance = 62500.00 ohm\n", "stability = 26.00\n" ] } ], "source": [ "beta1=25#\n", "colres=2.5*10**3##ohm\n", "vcc=10##volt\n", "vce=-5##volt\n", "ic=-(vcc+vce)/colres#\n", "ib=ic/beta1#\n", "rb=vce/ib#\n", "stability=(1+beta1)/((1+beta1)*((colres)/(colres+rb)))#\n", "print \"base resistance = %0.2f\"%((rb)),\"ohm\"#correction in book\n", "print \"stability = %0.2f\"%((stability))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 212 example 18" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "junction temperature = 51.00 celsius\n" ] } ], "source": [ "therre=8##celsius per watts\n", "tepera=27##celsius ambient temperature\n", "potran=3##watt\n", "tejunc=tepera+(therre*potran)#\n", "print \"junction temperature = %0.2f\"%((tejunc)),\"celsius\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 213 example 19" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dissipation = 9.75 watt\n" ] } ], "source": [ "ambtep=40##celsius\n", "juntep=160##celsius\n", "hs_a=8#\n", "j_c=5#\n", "c_a=85#\n", "j_a=(j_c)+(c_a*hs_a)/(c_a+hs_a)#\n", "podiss=(juntep-ambtep)/j_a#\n", "print \"dissipation = %0.2f\"%((podiss)),\"watt\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 213 example 21" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.99\n", "beta = 199.00\n" ] } ], "source": [ "emicur=1*10**-3##ampere\n", "colcur=0.995*10**-3##ampere\n", "alpha1=colcur/emicur#\n", "beta1=alpha1/(1-alpha1)#\n", "print \"alpha = %0.2f\"%((alpha1))\n", "print \"beta = %0.2f\"%((beta1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 213 example 22" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha = 0.99\n" ] } ], "source": [ "beta1=100#\n", "alpha1=beta1/(beta1+1)#\n", "\n", "print \"alpha = %0.2f\"%((alpha1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 213 example.23" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ic = 0.0067 ampere\n" ] } ], "source": [ "rb=200*10**3##ohm\n", "rc=2*10**3##ohm\n", "vcc=20##volt\n", "ib=(vcc)/(rb+200*rc)#\n", "ic=200*ib#\n", "print \"ic = %0.4f\"%((ic)),\"ampere\"\n", "#correction required in book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 214 example 24" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "collector current = 9.81e-04 ampere\n", "base current = 1.90e-05 ampere\n" ] } ], "source": [ "alpha1=0.98#\n", "revcur=1*10**-6##ampere\n", "emicur=1*10**-3##ampere\n", "colcur=alpha1*emicur+revcur#\n", "bascur=emicur-colcur#\n", "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", "print \"base current = %0.2e\"%((bascur)),\"ampere\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 214 example 25" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "vce = 8.00 volt\n", "emitter resistance = 50.00 ohm\n" ] } ], "source": [ "colcur=100*10**-3##ampere\n", "ouresi=20##ohm\n", "r=200##ohm\n", "r1=100##ohm\n", "vcc=15##volt\n", "basvol=((r1)/(r+r1))*vcc#\n", "em1res=basvol/colcur#\n", "vce=vcc-(ouresi+em1res)*colcur#\n", "print \"vce = %0.2f\"%((vce)),\"volt\"\n", "print \"emitter resistance = %0.2f\"%((em1res)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 214 example 26" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "emitter current = 0.019 ampere\n", "collector to emitter = 3.112 volt\n", "collector to emitter = -15.18 volt\n", "collector current = 0.005 ampere\n" ] } ], "source": [ "colres=1*10**3##ohm\n", "beta1=50#\n", "vbe=0.3##volt\n", "vcc=6##volt\n", "rb=10*10**3##ohm\n", "re=100##ohm\n", "em1cur=((vcc-vbe)*(beta1+1))/((rb+((beta1+1)*re)))#\n", "for q in range(1,3):\n", " if q==2 :\n", " colres=1*10**3#\n", " vce=vcc-(colres+re)*em1cur#\n", " ic=vcc/(colres+re)#\n", " print \"collector to emitter = %0.2f\"%((vce)),\"volt\"\n", " print \"collector current = %0.3f\"%((ic)),\"ampere\"\n", " \n", " if q==1 :\n", " colres=50#\n", " rb=100#\n", " vce=vcc-(colres+rb)*em1cur#\n", " print \"emitter current = %0.3f\"%((em1cur)),\"ampere\"\n", " print \"collector to emitter = %0.3f\"%((vce)),\"volt\"\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 216 example 27" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "resistance = 3928.57 ohm\n", "resistance r1 = 51281.87 ohm\n", "resistance r2 = 34645.75 ohm\n" ] } ], "source": [ "beta1=99#\n", "stability=5#\n", "vbe=0.2##volt\n", "colres=2.5*10**3##ohm\n", "vce=6##volt\n", "ven=5.5##volt\n", "vcc=15##volt\n", "vcn=vce+ven#\n", "colvol=vcc-vcn##voltage across collector resistance\n", "ic=colvol/colres#\n", "ib=ic/beta1#\n", "colre1=ven/ic#\n", "rb=stability*colre1/(1-(stability/(1+beta1)))##correction in the book taken collector resistance as 3.13*10**3ohm but it is 3.93*10**3ohm\n", "v1=(ib*rb)+(vbe)+((ib+ic)*colre1)#\n", "r=rb*vcc/v1#\n", "r1=r*v1/(vcc-v1)#\n", "print \"resistance = %0.2f\"%((colre1)),\"ohm\"\n", "print \"resistance r1 = %0.2f\"%((r)),\"ohm\"\n", "print \"resistance r2 = %0.2f\"%((r1)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 216 example 28" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "base current = -4.22e-05 ampere\n", "collector current = -2.11e-03 ampere\n", "emitter current = -2.15e-03 ampere\n", "vcb = 5.99 volt\n", "the collector base junction is reverse biased the transistor in active region\n" ] } ], "source": [ "beta1=50#\n", "vbb=5##volt\n", "rb=10*10**3##ohm\n", "colres=800##ohm\n", "re=1.8*10**3##ohm\n", "vcc=5##volt\n", "ib=(0.7-vbb)/((rb)+(beta1+1)*re)##correction in book\n", "re=beta1*ib#\n", "ie=(ib+re)#\n", "vce=vcc-colres*re-re*ie#\n", "vcb=(vce-0.7)#\n", "print \"base current = %0.2e\"%((ib)),\"ampere\"\n", "print \"collector current = %0.2e\"%((re)),\"ampere\"\n", "print \"emitter current = %0.2e\"%((ie)),\"ampere\"\n", "print \"vcb = %0.2f\"%((vcb)),\"volt\"#correction in book\n", "print \"the collector base junction is reverse biased the transistor in active region\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 217 example 29" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "collector current = 9.49e-04 ampere\n", "collector emitter voltage = 6.31 volt\n" ] } ], "source": [ "r=40*10**3##ohm\n", "r1=5*10**3##ohm\n", "colres=r1#\n", "beta1=50#\n", "em1res=1*10**3##ohm\n", "vcc=12##volt\n", "rth=r*r1/(r+r1)#\n", "v1=r1*vcc/(r1+r)#\n", "bascur=(v1-0.3)/(rth+(beta1*em1res))#\n", "colcur=beta1*bascur#\n", "vce=vcc-(colres+em1res)*colcur#\n", "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", "print \"collector emitter voltage = %0.2f\"%((vce)),\"volt\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 217 example 30" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " base resistance = 49500 ohm\n" ] } ], "source": [ "colcur=8*10**-3##ampere\n", "re=500##ohm\n", "vce=3##volt\n", "beta1=80#\n", "vcc=9##volt\n", "ib=colcur/beta1#\n", "rb=(vcc-(1+beta1)*(ib*re))/ib#\n", "print \" base resistance = %0.f\"%((rb)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 217 example 31" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "base current = 9.08e-06 ampere\n", "collector current = 9.08e-04 ampere\n", "emitter current = 9.17e-04 ampere\n" ] } ], "source": [ "vcc=10##volt\n", "basres=1*10**6##ohm\n", "colres=2*10**3##ohm\n", "em1res=1*10**3##ohm\n", "beta1=100#\n", "bascur=vcc/(basres+(beta1+1)*(em1res))#\n", "colcur=beta1*bascur#\n", "em1cur=colcur+bascur#\n", "print \"base current = %0.2e\"%((bascur)),\"ampere\"\n", "print \"collector current = %0.2e\"%((colcur)),\"ampere\"#correction in book\n", "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"#correction in book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 218 example 32" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "collector current = 1.98e-03 ampere\n", "emitter current = -2.00e-03 ampere\n", "collector emitter voltage = 5.34 volt\n" ] } ], "source": [ "alpha1=0.99#\n", "rebacu=1*10**-11##ampere\n", "colres=2*10**3##ohm\n", "vcc=10##volt\n", "bascur=20*10**-6##ampere\n", "beta1=alpha1/(1-alpha1)#\n", "i1=(1+beta1)*rebacu#\n", "colcur=beta1*bascur+i1#\n", "em1cur=-(bascur+colcur)#\n", "vcb=vcc-colcur*colres#\n", "vce=vcb-0.7#\n", "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"\n", "print \"collector emitter voltage = %0.2f\"%((vce)),\"volt\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 220 example 33" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "base current = 2.15e-05 ampere\n", "collector current = 2.15e-03 ampere\n", "emitter current = 2.17e-03 ampere\n", "base current = 2.56e-05 ampere\n", "collector current = 2.56e-03 ampere\n", "emitter current = 2.59e-03 ampere\n" ] } ], "source": [ "beta1=100#\n", "revcur=20*10**-9##ampere\n", "colres=3*10**3##ohm\n", "rb=200*10**3##ohm\n", "vbb=5##volt\n", "vcc=11##volt\n", "em1res=2*10**3##ohm\n", "ib=(vbb-0.7)/rb#\n", "ic=beta1*ib#\n", "ie=ib+ic#\n", "print \"base current = %0.2e\"%((ib)),\"ampere\"\n", "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", "print \"emitter current = %0.2e\"%((ie)),\"ampere\"#question asked only currents\n", "#2*10**3 ohm added to emitter\n", "ib=-(0.7-vcc)/(rb+((1+beta1)*em1res))#\n", "ic=beta1*ib#\n", "ie=ib+ic#\n", "print \"base current = %0.2e\"%((ib)),\"ampere\"#correction in book\n", "print \"collector current = %0.2e\"%((ic)),\"ampere\"\n", "print \"emitter current = %0.2e\"%((ie)),\"ampere\"#question asked only currents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 221 example 34" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "emitter current = 2.00e-03 ampere\n", "collector current = 2.00e-03 ampere\n", "voltage = 10.00 volt\n", "vcb = 2.00 volt\n", "emitter resistance = 6000.00 ohm\n" ] } ], "source": [ "em1cur=2*10**-3##ampere\n", "v1=12##volt\n", "vcc=12##volt\n", "format(12)#\n", "colres=5*10**3##ohm\n", "em1res=v1/em1cur#\n", "colcur=em1cur#\n", "voltag=colcur*colres##ic*r\n", "v1=vcc-(colres*colcur)#\n", "print \"emitter current = %0.2e\"%((em1cur)),\"ampere\"\n", "print \"collector current = %0.2e\"%((colcur)),\"ampere\"\n", "print \"voltage = %0.2f\"%((voltag)),\"volt\"\n", "print \"vcb = %0.2f\"%(abs(v1)),\"volt\"\n", "print \"emitter resistance = %0.2f\"%((em1res)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 221 example 35" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "resistance at 0.0 volt 80000.00 ohm\n", "resistance at 0.70 volt 66000.00 ohm\n", "vbb at 12volt\n", "resistance at 0.00 volt 240000.00 ohm\n", "resistance at 0.70 volt 226000.00 ohm\n" ] } ], "source": [ "vbb=4##volt\n", "ib=50*10**-6##ampere\n", "for q in [0, 0.7, 4, 12]:\n", " if q==0 :\n", " rb=(vbb-q)/ib#\n", " print \"resistance at %0.1f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", " elif q==0.7:\n", " rb=(vbb-q)/ib\n", " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", " elif q==4:\n", " print \"vbb at 12volt\"\n", " q=0\n", " vbb=12\n", " rb=(vbb-q)/ib\n", " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"\n", " else:\n", " q=0.7#\n", " vbb=12#\n", " rb=(vbb-q)/ib#\n", " \n", " \n", " print \"resistance at %0.2f\"%((q)),\"volt %0.2f\"%((rb)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 222 example 36" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "beta = 99.96\n", "ie = 0.005 ampere\n", "alpha = 1.00\n", "ib = 9.80e-05 ampere\n" ] } ], "source": [ "ic=5.2*10**-3##ampere\n", "ib=50*10**-6##ampere\n", "icb=2*10**-6##ampere\n", "beta1=(ic-icb)/(ib+icb)#\n", "print \"beta = %0.2f\"%((beta1))\n", "ie=ib+ic#\n", "\n", "print \"ie = %0.3f\"%((ie)),\"ampere\"\n", "alpha1=(ic-icb)/ic#\n", "print \"alpha = %0.2f\"%((alpha1))\n", "\n", "\n", "\n", "ic=10*10**-3##ampere\n", "ib=(ic-(beta1+1)*(icb))/beta1#\n", "\n", "\n", "print \"ib = %0.2e\"%((ib)),\"ampere\"\n", "#correction required in the book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 222 example 37" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "collector current at beta 160.00 = 1.07e-03 ampere\n", "vce at beta 160.00 = -5.69 volt\n", "collector current at beta 80.00 = 1.07e-03 ampere\n", "vce at beta 80.00 = -3.03 volt\n" ] } ], "source": [ "beta1=160\n", "vb=-0.8##volt\n", "re=2.5*10**3##ohm\n", "vcc=10##volt\n", "for q in [160, 80]:\n", " ib=(vcc-vb)*10**2/((re)*(1+q)*400)#\n", " ic=q*ib#\n", " colres=1.5*10**3##ohm\n", " print \"collector current at beta %0.2f\"%((q)),\" = %0.2e\"%((ic)),\"ampere\"\n", " #correction required in the book\n", " ie=(1+beta1)*ib#\n", " vce=-(vcc-colres*ic-re*ie)#\n", " print \"vce at beta %0.2f\"%((q)),\" = %0.2f\"%((vce)),\"volt\"\n", " #correction required in the book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 222 example 38" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rb = 630000.00 ohm\n", "stability = 56.51\n", "new point\n", "ic = 6.42e-04 ampere\n", "vce = 8.79 volt\n" ] } ], "source": [ "vb=0.7##volt\n", "vce=7##volt\n", "ic=1*10**-3##ampere\n", "vcc=12##volt\n", "beta1=100#\n", "colres=(vcc-vce)/ic#\n", "ib=ic/beta1#\n", "#rb\n", "rb=(vcc-vb-ic*colres)/ib#\n", "print \"rb = %0.2f\"%((rb)),\" ohm\"\n", "#stability\n", "stability=(1+beta1)/(1+beta1*(colres/(colres+rb)))#\n", "print \"stability = %0.2f\"%((stability))\n", "#beta=50\n", "beta1=50#\n", "print \"new point\"\n", "ib=(vcc-vb)/(beta1*colres+rb)#\n", "ic=beta1*ib#\n", "print \"ic = %0.2e\"%((ic)),\" ampere\"\n", "vce=vcc-(ic*colres)#\n", "print \"vce = %0.2f\"%((vce)),\" volt\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 223 example 39" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "new point\n", "vce = 4.21 volt\n", "ic = 1.93e-03 ampere\n" ] } ], "source": [ "vcc=16##volt\n", "colres=3*10**3##ohm\n", "re=2*10**3##ohm\n", "r1=56*10**3##ohm\n", "r2=20*10**3##ohm\n", "alpha1=0.985#\n", "vb=0.3##volt\n", "#coordinates\n", "beta1=alpha1/(1-alpha1)#\n", "v1=vcc*r2/(r1+r2)#\n", "rb=r2/(r1+r2)#\n", "ic=(v1-vb)/((rb/beta1)+(re/beta1)+re)#\n", "print \"new point\"\n", "print \"vce = %0.2f\"%((v1)),\" volt\"\n", "print \"ic = %0.2e\"%((ic)),\" ampere\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 224 example 40" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "re = 1300.00 ohm\n", "r1 = 26233.18 ohm\n", "r2 = 3725.66 ohm\n" ] } ], "source": [ "vce=12##volt\n", "ic=2*10**-3##ampere\n", "vcc=24##volt\n", "vb=0.7##volt\n", "beta1=50#\n", "colres=4.7*10**3##ohm\n", "#re\n", "re=((vcc-vce)/(ic))-colres#\n", "print \"re = %0.2f\"%((re)),\" ohm\"\n", "#r1\n", "ib=ic/beta1#\n", "v1=ib*3.25*10**3+vb+(ib+1.5*10**3)#\n", "r1=3.25*18*10**3/2.23#\n", "print \"r1 = %0.2f\"%((r1)),\" ohm\"\n", "#r2\n", "r2=26.23*2.23*10**3/(18-2.3)#\n", "print \"r2 = %0.2f\"%((r2)),\" ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 225 example 41" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ib = 2.87e-05 ampere\n", "ic = 3.58e-03 ampere\n", "ie = 3.61e-03 ampere\n" ] } ], "source": [ "colres=3*10**3##ohm\n", "rb=150*10**3##ohm\n", "beta1=125#\n", "vcc=10##volt\n", "v1=5##volt\n", "vb=0.7##volt\n", "ib=(v1-vb)/rb#\n", "print \"ib = %0.2e\"%((ib)),\" ampere\"\n", "ic=beta1*ib#\n", "ie=ic+ib#\n", "print \"ic = %0.2e\"%((ic)),\" ampere\"\n", "print \"ie = %0.2e\"%((ie)),\" ampere\"#correction in the book in question to find only currents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 226 example 42" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "re = 1033.33 ohm\n", "rb = 4485.11 ohm\n" ] } ], "source": [ "beta1=50#\n", "vb=0.6##volt\n", "vcc=18##volt\n", "colres=4.3*10**3##ohm\n", "ic=1.5*10**-3##ampere\n", "vce=10##volt\n", "stability=4#\n", "r1=(vcc-vce)/ic#\n", "re=r1-colres#\n", "w=(beta1+1)*(stability)*re/(1+beta1-stability)#\n", "print \"re = %0.2f\"%((re)),\"ohm\"\n", "print \"rb = %0.2f\"%((w)),\"ohm\"#correction in the book" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 226 example 43" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "r1 = 3.8*r2\n" ] } ], "source": [ "re=100##ohm\n", "beta1=100#\n", "rb=1*10**3##ohm\n", "stability=(1+beta1)/(1+beta1*(re/(re+rb)))#\n", "r1=3.8#r2\n", "print \"r1 = 3.8*r2\"#correction in the book not given in question" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 228 example 45" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rb at 75 celsius = 14062.50 ohm\n", "icb = 1.80e-05 ampere\n", "temperature at which current till max = 58.40 celsius\n" ] } ], "source": [ "from math import log10\n", "icb=2*10**-6##ampere\n", "vbb=1##volt\n", "r1=50*10**3##ohm\n", "#current increases every 10celsius rb at 75celsius\n", "vb=-0.1##volt\n", "icb=2**6*10**-6##at 75celsius\n", "rb=(vb+vbb)/icb#\n", "print \"rb at 75 celsius = %0.2f\"%((rb)),\"ohm\"\n", "icb=(vb+vbb)/r1#\n", "print \"icb = %0.2e\"%((icb)),\"ampere\"\n", "w=(log10(icb*10**6)*20/log10(2))-25#\n", "print \"temperature at which current till max = %0.2f\"%((w)),\"celsius\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 228 example 46" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "min collector resistance = 4558.14 ohm\n" ] } ], "source": [ "vb=0.8##volt\n", "beta1=100#\n", "vce=0.2##volt\n", "vcc=10##volt\n", "rb=200*10**3##ohm\n", "#collector resistance\n", "ib=(5-0.7)/rb#\n", "colres=(vcc-vce)/(beta1*ib)#\n", "print \"min collector resistance = %0.2f\"%((colres)),\"ohm\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PageNumber 229 example 47" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ib2 = 4.00e-03 ampere\n", "ie1 = -4.00e-03 ampere\n", "ic2 = 9.60e-02 ampere\n", "ib1 = 8.00e-05 ampere\n", "ic1 = 3.92e-03 ampere\n", "ic = 9.99e-02 ampere\n", "ic/ib = 1249.00\n", "ic/ie = -1.00\n", "vce = 12.01 volt\n" ] } ], "source": [ "alpha1=0.98#\n", "alph11=0.96#\n", "vcc=24##volt\n", "colres=120##ohm\n", "ie=100*10**-3##ampere\n", "beta1=alpha1/(1-alpha1)#\n", "bet11=alph11/(1-alph11)#\n", "ib2=ie/(1+bet11)#\n", "ie1=-ib2#\n", "print \"ib2 = %0.2e\"%((ib2)),\"ampere\"\n", "print \"ie1 = %0.2e\"%((ie1)),\"ampere\"\n", "\n", "\n", "ic2=bet11*ib2#\n", "ib1=ib2/(1+beta1)#\n", "ic1=beta1*ib1#\n", "print \"ic2 = %0.2e\"%((ic2)),\"ampere\"\n", "print \"ib1 = %0.2e\"%((ib1)),\"ampere\"\n", "print \"ic1 = %0.2e\"%((ic1)),\"ampere\"\n", "ic=ic1+ic2#\n", "vce=vcc-ic*colres#\n", "ib=ib1#\n", "w=ic/ib#\n", "q=-ic/ie#\n", "print \"ic = %0.2e\"%((ic)),\"ampere\"\n", "print \"ic/ib = %0.2f\"%((w))\n", "print \"ic/ie = %0.2f\"%((q))\n", "#correction required in the book\n", "print \"vce = %0.2f\"%((vce)),\"volt\"" ] } ], "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 }