diff options
author | hardythe1 | 2015-05-05 14:21:39 +0530 |
---|---|---|
committer | hardythe1 | 2015-05-05 14:21:39 +0530 |
commit | 435840cef00c596d9e608f9eb2d96f522ea8505a (patch) | |
tree | 4c783890c984c67022977ca98432e5e4bab30678 /Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb | |
parent | aa1863f344766ca7f7c20a395e58d0fb23c52130 (diff) | |
download | Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.tar.gz Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.tar.bz2 Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.zip |
add books
Diffstat (limited to 'Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb')
-rwxr-xr-x | Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb | 1070 |
1 files changed, 1070 insertions, 0 deletions
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb new file mode 100755 index 00000000..72b0a450 --- /dev/null +++ b/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb @@ -0,0 +1,1070 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5 : Waveform Generator"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.1, Page No.186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Astable multivibrator using IC555\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "C = 0.01*10**-6 # capacitance\n",
+ "RA = 2*10**3 # Resistance RA\n",
+ "RB = 100*10**3 # Resistance RB\n",
+ "\n",
+ "#Calculations\n",
+ "T_high = 0.693*(RA+RB)*C\n",
+ "T_low = 0.693*RB*C\n",
+ "T= T_high+T_low\n",
+ "f = 1/T\n",
+ "D = T_high*100/T\n",
+ "\n",
+ "#Result\n",
+ "print(\"Frequency of oscillations, f = %.1f Hz\\nDuty cycle = %.1f%%\"%(f,D))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations, f = 714.4 Hz\n",
+ "Duty cycle = 50.5%\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.2, Page No.186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Astable multivibrator using IC555\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "C = 1.0*10**-6 # capacitance \n",
+ "C1 = 0.01*10**-6 # capacitance C1\n",
+ "RA = 4.7*10**3 # Resistance RA\n",
+ "RB = 1.0*10**3 # Resistance RB\n",
+ "\n",
+ "#Calculations\n",
+ "Ton = 0.693*(RA+RB)*C\n",
+ "Toff = 0.693*RB*C\n",
+ "T= T_high+T_low\n",
+ "f = 1.4/((RA+2*RB)*C)\n",
+ "D = (RA+RB)*100/((RA+2*RB))\n",
+ "\n",
+ "#Result\n",
+ "print(\"T_on = %.2f ms\\nT_off = %.3f ms\"%(Ton*1000,Toff*1000))\n",
+ "print(\"Frequency of oscillations, f = %.1f Hz\\nDuty cycle = %.0f%%\"%(math.floor(f*10)/10,D))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "T_on = 3.95 ms\n",
+ "T_off = 0.693 ms\n",
+ "Frequency of oscillations, f = 208.9 Hz\n",
+ "Duty cycle = 85%\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.3, Page No. 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Astable multivibrator using IC555\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 1000.0 # frequency\n",
+ "d = 50.0/100.0 # duty cycle\n",
+ "C = 0.01*10**-6 # capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Ton = d*T\n",
+ "Toff = d*T\n",
+ "RA = 1.44/(2*f*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RA = RB = %.0f k-ohm\"%(RA/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RA = RB = 72 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.4, Page No. 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# IC555 timer as an astable multivibrator\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 700.0 # frequency\n",
+ "d = 0.5 # duty cycle\n",
+ "C = 0.01*10**-6 # capacitor value assumed\n",
+ "\n",
+ "#Calculations\n",
+ "Ra = 1.44/(2*f*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f micro-F\\nRA = RB = %.0f k-ohm (100 k-ohm standard value)\"%(C*10**6,Ra/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 0.01 micro-F\n",
+ "RA = RB = 103 k-ohm (100 k-ohm standard value)\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.5, Page No. 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# IC555 timer as an astable multivibrator\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 800.0 # frequency\n",
+ "d = 0.6 # duty cycle\n",
+ "C = 0.01*10**-6 # capacitor value assumed\n",
+ "\n",
+ "#Calculations\n",
+ "Ra = 1.44/(5*f*C) # since Rb = 2Ra and f = 1.44/(Ra+2Rb)*C\n",
+ "Rb = 2*Ra\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f micro-F\\nRA = %.0f k-ohm\\nRB = %.0f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 0.01 micro-F\n",
+ "RA = 36 k-ohm\n",
+ "RB = 72 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.6, Page No. 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Timer design(refer fig. 5.11)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ton = 5.0 # On timing oof the timer\n",
+ "\n",
+ "# Calculations\n",
+ "C = 10*10**-6 # assumed value\n",
+ "R = Ton/(1.1*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.0f micro-F\\nR = %.2f ohm\"%(C*10**6,R))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 10 micro-F\n",
+ "R = 454545.45 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.7, Page No. 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Design of astable multivibrator(refer fig. 5.12)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ton = 3.0 # ON time\n",
+ "Toff = 1.0 # OFF time\n",
+ "\n",
+ "#Calculations\n",
+ "C = 10*10**-6 # Capacitor assumed value\n",
+ "R2 = Toff/(0.693*C)\n",
+ "R1 = (Ton/(0.693*C))-R2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.0f micro-F\\nR1 = %.0f ohm\\nR2 = %.0f ohm\"%(C*10**6,R1,R2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 10 micro-F\n",
+ "R1 = 288600 ohm\n",
+ "R2 = 144300 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.8, Page No.190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Monostable and astable mode of IC555\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ton = 10*10**-3 # ON timing\n",
+ "C = 0.22*10**-6 # Capacitance\n",
+ "V = 1.4 # LED voltage drop\n",
+ "I = 20*10**-3 # current provided by circuit\n",
+ "f = 1000.0 # frequency of astable multivibrator\n",
+ "d = 0.95 # duty cycle of astable multivibrator\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "R = Ton/(1.1*C)\n",
+ "R = math.ceil(R/100)/10\n",
+ "Vcc = 15.0 # standard, assumed\n",
+ "Vbe = 0.7 # standard, assumed\n",
+ "VECsat = 0.2 # standard, assumed\n",
+ "Vo = Vcc -2*Vbe-VECsat\n",
+ "Rled = (Vo-V)/I\n",
+ "\n",
+ "C1 = 0.01*10**-6 # capacitor for noise immunity\n",
+ "x = 1.44/(f*C1) # x = R1+2*R2.......(i)\n",
+ "y = (1-d)/(d*2-1) # y = R2/R1.........(ii)\n",
+ "y = math.floor(y*10**4)/10**4\n",
+ "R1 = x/(1+2*y) # using (i) and (ii)\n",
+ "R2 = y*R1\n",
+ "\n",
+ "#Result\n",
+ "print(\"For LED driving circuit:\\nCapacitance = %.2f micro-F\\nResistancce = %.1f ohm\\nVo = %.1f V\\nRled = %.0f ohm\"%(C*10**6,R,Vo,Rled))\n",
+ "print(\"\\nFor astable multivibrator:\\nC = %.2f micro-F\\nR1 = %.1f ohm\\nR2 = %.2f ohm\"%(C1*10**6,R1/1000,R2/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For LED driving circuit:\n",
+ "Capacitance = 0.22 micro-F\n",
+ "Resistancce = 41.4 ohm\n",
+ "Vo = 13.4 V\n",
+ "Rled = 600 ohm\n",
+ "\n",
+ "For astable multivibrator:\n",
+ "C = 0.01 micro-F\n",
+ "R1 = 129.6 ohm\n",
+ "R2 = 7.19 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.9, Page No. 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# IC555 as a monostable multivibrator(refer fig. 5.15)\n",
+ "\n",
+ "import math\n",
+ "#VAriable declaration\n",
+ "T = 5*10**-3 # output pulse width\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "C = 0.1*10**-6 # capacitance\n",
+ "R = T/(1.1*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.2f k-ohm\\nThe value of R should be less than 100 k-ohm, as obtained.\"%(R/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 45.45 k-ohm\n",
+ "The value of R should be less than 100 k-ohm, as obtained.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.10, Page No. 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# IC555 based square wave generator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 1000.0 # required frequency\n",
+ "Vcc = 12.0 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Td = T/2\n",
+ "C = 0.1*10**-6 # assumed\n",
+ "R2 = Td/(0.69*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R2 = %.2f k-ohm\\nR1 = 100 ohm + 10 k-ohm pot(With pot, precise squre wave can be obtained)\"%(R2/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R2 = 7.25 k-ohm\n",
+ "R1 = 100 ohm + 10 k-ohm pot(With pot, precise squre wave can be obtained)\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.11, Page No. 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Clock with 50% duty cycle\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 2000.0 # required output frequency \n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Td = T/2\n",
+ "C = 0.1*10**-6 # assumed\n",
+ "R2 = Td/(0.69*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R1 = R2 = %.3f k-ohm\"%(R2/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R1 = R2 = 3.623 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.12, Page No.193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Rectangular waveform using astable multivibrator\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "T = 1.0*10**-3 # Total time period of output waveform\n",
+ "Ton = 0.6 *10**-3 # Ton time\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "D = Ton/T\n",
+ "x = (1-D)/(2*D-1) # Rb/Ra\n",
+ "f = 1/T\n",
+ "C = 0.1*10**-6 # assumed\n",
+ "Ra = (1.44/(f*C))/5\n",
+ "Rb = x*Ra\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f micro-F\\nRa = %.2f k-ohm\\nRb = %.2f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 0.10 micro-F\n",
+ "Ra = 2.88 k-ohm\n",
+ "Rb = 5.76 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.13, Page No.195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 555 timer in astable mode\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ra = 4.0*10**3 # Resistance Ra\n",
+ "Rb = 4.0*10**3 # Resistance Rb\n",
+ "C = 0.01*10**-6 # Capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "f = 1.44/((Ra+2*Rb)*C)\n",
+ "D = (Ra+Rb)/(Ra+2*Rb)\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency = %.0f KHz\\nDuty cycle = %.2f%%\"%(f/1000,D*100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency = 12 KHz\n",
+ "Duty cycle = 66.67%\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.14, Page No. 195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Timer design\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ton = 5 # ON time width\n",
+ "\n",
+ "# Calculations\n",
+ "C = 10*10**-6 # assumed\n",
+ "R = Ton/(1.1*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.2f k-ohm\"%(R/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 454.55 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.15, Page No.196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Astable multivibrator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 2000.0 # output frequency\n",
+ "D = 0.75 # duty cycle\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "x = (1-D)/(2*D-1) # Rb/Ra\n",
+ "C = 0.1 *10**-6 # assumed\n",
+ "Ra = (1.44/f)/(C*2)\n",
+ "Rb = x*Ra\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.1f micro-F\\nRa = %.1f k-ohm\\nRb = %.1f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 0.1 micro-F\n",
+ "Ra = 3.6 k-ohm\n",
+ "Rb = 1.8 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.16, Page No.197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 555 as astable mode to generate square wave(refer fig.5.25)\n",
+ "\n",
+ "import math\n",
+ "# Variable declarations\n",
+ "f = 1000.0 # output square wave frequency\n",
+ "Vo = 5.0 # output voltage\n",
+ "Ton = 0.5*10**-3 # ON time of suare wave\n",
+ "Toff= 0.5*10**-3 # OFF time of suare wave\n",
+ "Vl = 5.0 # Lamp voltage rating\n",
+ "Il = 50*10**-3 # lamp current rating\n",
+ "\n",
+ "#Calculations\n",
+ "C = 0.1*10**-6 # capacitance, assumed\n",
+ "Rb = Toff/(0.69*C)\n",
+ "Rb = Rb/1000.0 #k-ohm\n",
+ "VLed = 0.7 # voltage drop accross LED\n",
+ "R =(Vo-VLed)/(Il)\n",
+ "R = 100 #standard value \n",
+ "P = (Il**2)*R\n",
+ "\n",
+ "# Result\n",
+ "print(\"duty cycle is 50%% hence,\\nRa = Rb = %.3f k-ohm\\nCurrent limiting Resistance for LED is, R = %.0f ohm\\nP = %.2f W\"%(Rb,R,P))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "duty cycle is 50% hence,\n",
+ "Ra = Rb = 7.246 k-ohm\n",
+ "Current limiting Resistance for LED is, R = 100 ohm\n",
+ "P = 0.25 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.17, Page No. 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Ramp generator using IC555\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 5000.0 # output frequency\n",
+ "Vcc = 5.0 # input voltage\n",
+ "\n",
+ "\n",
+ "# Calculations\n",
+ "Vd = 0.7 # = Vbe, assumed \n",
+ "Ic = (Vcc-Vd)\n",
+ "RC = 3*Ic/(Vcc*f)\n",
+ "C = 0.05*10**-6 # assumed\n",
+ "R = RC/C\n",
+ "Ic = Ic/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f micro-F\\nR = %.2f k-ohm\\nIc = %.3f mA\"%(C*10**6,R/1000,math.floor(Ic*10**6)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 0.05 micro-F\n",
+ "R = 10.32 k-ohm\n",
+ "Ic = 0.416 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.18, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Triangular wave generator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 5000.0 # output frequency \n",
+ "Vo = 10.5 # output voltage\n",
+ "Vsat = 15 # saturation voltage\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "x = 2*Vsat/Vo # R3/R2:: this value is wrong in the book\n",
+ "R2 = 10*10**3 # assumed\n",
+ "R3 = 4*R2 # calculationg using value given in book\n",
+ "C1 = 0.01*10**-6 # assumed\n",
+ "R1 = R3/(4*C1*R2*f)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"C1 = %.2f micro-F\\nR1 = %.0f k-ohm\\nR2 = %.0f k-ohm\\nR3 = %.0f k-ohm\"%(C*10**6,R1/1000,R2/1000,R3/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C1 = 0.05 micro-F\n",
+ "R1 = 20 k-ohm\n",
+ "R2 = 10 k-ohm\n",
+ "R3 = 40 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "exxample 5.19, Page No. 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "exxample 5.20, Page No. 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "exxample 5.21, Page No.221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Oscillation frequency(refer fig 5.21)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 5.1*10**3 # resistance\n",
+ "C = 0.001*10**-6 # capacitance\n",
+ "R3 = 6.0*10**3 # Resistance of R3\n",
+ "R4 = 2.0*10**3 # Resistance of R4\n",
+ "\n",
+ "#Calculations\n",
+ "A = 1+(R3/R4)\n",
+ "f = 1/(2*math.pi*R*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"A = %d\\nAs A > 3, this satisfies the required oscillating condition. Hence, Circuit will work as oscillator.\\n\"%(A))\n",
+ "print(\"frequency of oscillations = %.4f kHz\"%(f/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "A = 4\n",
+ "As A > 3, this satisfies the required oscillating condition. Hence, Circuit will work as oscillator.\n",
+ "\n",
+ "frequency of oscillations = 31.2069 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.22, Page No. 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# design of wein bridge oscillator(refer fig.5.58)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 1000.0 # frequency of oscillation\n",
+ "V = 15 # supply voltage\n",
+ "g = 3 # gain of non-inverting op-amp for circuit to be oscillator \n",
+ "\n",
+ "#Calculations \n",
+ "C = 0.05*10**-6 # assumed\n",
+ "R = 1/(2*math.pi*C*f)\n",
+ "R4 = 10*10**3 # assumed\n",
+ "R3 = (g-1)*R4\n",
+ "\n",
+ "#Result\n",
+ "print(\"C1 = C2 = C = %.2f micro-F\\nR1 = R2 = R = %.3f k-ohm\\nR3 = %.0f k-ohm\\nR4 = %.0f k-ohm\"%(C*10**6,R/1000,R3/1000,R4/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C1 = C2 = C = 0.05 micro-F\n",
+ "R1 = R2 = R = 3.183 k-ohm\n",
+ "R3 = 20 k-ohm\n",
+ "R4 = 10 k-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.23, Page No. 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output frequency range\n",
+ "\n",
+ "import math\n",
+ "#Variable declararion\n",
+ "R = 10*10**3 # Resistor R\n",
+ "C = 1.25*10**-9 # Capacitance\n",
+ "Vut = 10.0 # Upper threshold voltage\n",
+ "Vlt = 0.0 # lower threshold voltage\n",
+ "Vmin = 10*10**-3 # minimum voltage \n",
+ "Vmax = 10 # Maximum voltage \n",
+ "\n",
+ "#Calculations\n",
+ "Kv = 1/(8*R*C*(Vut-Vlt))\n",
+ "fmin = Vmin*Kv\n",
+ "fmax = Vmax*Kv\n",
+ "\n",
+ "#Result\n",
+ "print(\"Range over whoich output frequency can be varied is %.0f Hz to %.0f KHz.\"%(fmin,fmax/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Range over whoich output frequency can be varied is 10 Hz to 10 KHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.24, Page No. 229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output frequency(refer fig. 5.67 and 5.68)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 10 # supply voltage\n",
+ "R1 = 10*10**3 # Resistor R1\n",
+ "R2 = 1.2*10**3 # Resistor R2\n",
+ "R3 = 10*10**3 # Resistor R3\n",
+ "C1 = 0.001*10**-6 # Capacitance\n",
+ "Vc1 = 7.7 # Voltage at pin 5\n",
+ "Vc2 = 9.5 # Voltage at pin 5\n",
+ "\n",
+ "#Calcualtions\n",
+ "# (a)\n",
+ "Vc = R3*V/(R2+R3)\n",
+ "Vc = math.floor(Vc*1000)/1000\n",
+ "fo = 2*(V-Vc)/(C1*R1*V) \n",
+ "fo = fo/1000 # kHz\n",
+ "# (b)\n",
+ "fo1 = 2*(V-Vc1)/(C1*R1*V)\n",
+ "fo1 = fo1/1000\n",
+ "fo2 = 2*(V-Vc2)/(C1*R1*V)\n",
+ "fo2 = fo2/1000\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVc = %.3f V\\nfo = %.2f kHz\\n\\n(b)\\nfo1 = %.0f kHz\\nfo2 = %.0f kHz\\nChange in frequency is %.0f kHz\"%(Vc,fo,fo1,fo2,fo1-fo2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vc = 8.928 V\n",
+ "fo = 21.44 kHz\n",
+ "\n",
+ "(b)\n",
+ "fo1 = 46 kHz\n",
+ "fo2 = 10 kHz\n",
+ "Change in frequency is 36 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |