{ "metadata": { "name": "", "signature": "sha256:2a4ca46418f96503536124ea941a5521b6b652077fc912eba380767a1297ae00" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter04 : Basic Application of an Op-amp" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.2 : page 119" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "# given data\n", "# KCL at node (b) (6-V)/30+(8-V)/40+(0-V)/30=0 \n", "V=48/11 #in volts\n", "print \"Voltage V = %0.2f Volt\"%V\n", "# KCL at node (a) (3-V)/10+(4-V)/20=(V-Vo)/40\n", "Vo=-(20-7*V) #in Volts\n", "print \"Output Voltage of the circuit Vo = %0.2f Volt\"%Vo" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Voltage V = 4.36 Volt\n", "Output Voltage of the circuit Vo = 10.55 Volt\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.3 : page 120" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "from sympy import symbols, N\n", "V1, V2 = symbols('V1 V2')\n", "R1 = 11 # Kohm\n", "R2 = 10 # Kohm\n", "Ra = 99 # kohm\n", "Ro = 100 # kohm\n", "Va = Ra/(Ra+R1)*V1\n", "Vo1 = (1+Ro/R2)*Va\n", "A = Vo1/V1\n", "Vo2 = -Ro/R2*V2\n", "B = Vo2/V2\n", "print \"Value of A : \",N(A,2)\n", "print \"Value of B : \",N(B,2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value of A : 9.9\n", "Value of B : -10.\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.4 : page 120" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "from sympy import symbols, N, solve\n", "Va, R1, R3, Vb = symbols('Va R1 R3 Vb')\n", "Ro = 100 # kohm\n", "Voa = -2*Va\n", "# Vo = Voa+Vob\n", "eqn = Voa+Ro/R1*Va\n", "R1 = solve(eqn, R1)[0] # kohm\n", "print \"value of R1 = %0.2f kohm\"%R1\n", "R2=R1 # kohm\n", "V1 = R3*Vb/(R2+R3)\n", "Vob = (1+Ro/R1)*V1\n", "R3 = solve(Vob-Vb,R3)[0]\n", "print \"value of R2 = %0.2f kohm\"%R2\n", "\n", "print \"value of R3 = %0.2f kohm\"%R3" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "value of R1 = 50.00 kohm\n", "value of R2 = 50.00 kohm" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "value of R3 = 25.00 kohm\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.5 : page 121" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy import symbols, solve, N\n", "Vo = symbols('Vo')\n", "R1 = 10 # kohm\n", "R2 = 20 # kohm\n", "Ro = 100 # kohm\n", "V1 = -2 # V\n", "V2 = +3 # V\n", "I1 = V1/R1 # A\n", "I2 = V2/R2 # A\n", "If = (0-Vo)/Ro\n", "eqn = I1+I2-If\n", "Vo = solve(eqn, Vo)[0]\n", "print \"Output voltage, Vo =\",N(Vo,2),\"Volt\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output voltage, Vo = 5.0 Volt\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.7 : page 123" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "from sympy import symbols\n", "Vo, Vx, Vy = symbols('Vo Vx Vy')\n", "R1 = 2 # kohm\n", "R2 = 2 # kohm\n", "R3 = 2 # kohm\n", "R4 = 8 # kohm\n", "R5 = 1 # kohm\n", "R6 = 7 # kohm\n", "V1 = 1 # V\n", "# Node X\n", "Vz=1 # V\n", "# KCL at node Y\n", "eqn1 = 3*Vy-2*Vx-1\n", "# KCL at node X\n", "eqn2 = Vy-2*Vx+1\n", "A=np.array([[-2,3],[-2,1]])\n", "B=np.array([[1,-1]])\n", "X=np.linalg.solve(A,B)\n", "Vx = X[0][1] # V\n", "Vo = Vx/R5*(R5+R6)\n", "print \"Output Voltage, Vo = %0.f V\"%Vo" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output Voltage, Vo = 4 V\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.9 : page 130" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# given data\n", "R1=10 #in Kohm\n", "R4=8 #in Kohm\n", "R5=3 #in Kohm\n", "RF=45 #in Kohm\n", "AD=(1+2*R4/R5)*(RF/R1) \n", "print \"Gain for the instrumention amplifier is : \",AD" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Gain for the instrumention amplifier is : 28.5\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.10 : page 131" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# given data\n", "VA=3 #in mV\n", "VB=5 #in mV\n", "R1=10 #in Kohm\n", "R2=10 #in Kohm\n", "R3=45 #in Kohm\n", "R4=8 #in Kohm\n", "R5=3 #in Kohm\n", "RF=45 #in Kohm\n", "I=(VA-VB)/R5 #in mA\n", "VoA=VA+I*R4 #in mVs\n", "VoB=VB-I*R4 #in mVs\n", "print \"Output of op-amp A1 = %0.2f mV\" %VoA\n", "print \"Output of op-amp A2 = %0.2f mV\" %VoB\n", "Vo1=(1+RF/R1)*(R3/(R3+R2))*VoB \n", "Vo2=-(RF/R1)*VoA \n", "Vo=Vo1+Vo2 #in mV\n", "print \"Combined output of the circuit = %0.2f mV\"%Vo\n", "# Answer in the textbook is not accurate." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output of op-amp A1 = -2.33 mV\n", "Output of op-amp A2 = 10.33 mV\n", "Combined output of the circuit = 57.00 mV\n" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.12 : page 135" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# given data\n", "RF=10 #in Kohm\n", "R1=10 #in Kohm\n", "R2=R1 #in Kohm\n", "R3=R1 #in Kohm\n", "R5max=50 #in Kohm\n", "ADmin=5 #unitless\n", "ADmax=200 #unitless\n", "#Formula : ADmin=1+2*R4/R5max\n", "R4=(ADmin-1)*(R5max/2) #in Kohm\n", "#Formula : ADmax=1+2*R4/R5min\n", "R5min=(2*R4)/(ADmax-1) #in Kohm\n", "print \"Thus design values of resistors in Kohm are :\" \n", "print \"R1 = \",R1,\"kohm\" \n", "print \"R2 = \",R2,\"kohm\" \n", "print \"R3 = \",R3,\"kohm\" \n", "print \"R4 = \",R4,\"kohm\" \n", "print \"RF = \",RF,\"kohm\" \n", "print \"R5min = %0.f kohm\"%R5min\n", "print \"R5max = \",R5max,\"kohm\" " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Thus design values of resistors in Kohm are :\n", "R1 = 10 kohm\n", "R2 = 10 kohm\n", "R3 = 10 kohm\n", "R4 = 100.0 kohm\n", "RF = 10 kohm\n", "R5min = 1 kohm\n", "R5max = 50 kohm\n" ] } ], "prompt_number": 37 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.13 : page 136" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# given data\n", "Vdc=10 #in Volt\n", "R1=10 #in Kohm\n", "R2=10 #in Kohm\n", "R3=100 #in Kohm\n", "RF=100 #in Kohm\n", "# Part(i) Balance Bridge : RA=RB=RC=RT=150ohm and VAB=0\n", "Vo = 0 # V\n", "print \"(i) Balance bridge have output voltage Vo = %0.f volt\" %Vo\n", "RA=150 #in ohm\n", "RB=150 #in ohm\n", "RC=150 #in ohm\n", "RT=150 #in ohm\n", "VAB=0 #in Volt\n", "Vo=(-RF/R1)*VAB \n", "# Part(ii) Unbalance Bridge : RT=200ohm\n", "RT=200 #in ohm\n", "VA=(RA/(RA+RT))*Vdc \n", "VB=(RB/(RB+RC))*Vdc \n", "VAB=VA-VB #in Volt\n", "Vo=(-RF/R1)*VAB \n", "print \"(ii) Unbalance bridge have output voltage Vo = %0.1f Volt\" %Vo" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(i) Balance bridge have output voltage Vo = 0 volt\n", "(ii) Unbalance bridge have output voltage Vo = 7.1 Volt\n" ] } ], "prompt_number": 40 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.15 : page 146" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "# given data\n", "Gain=10 #Unitless\n", "fb=10 #in KHz\n", "#Assuming fa=fb/10\n", "fa=fb/10 #in KHz\n", "# Formula : fa=1/(2*pi*RF*CF)\n", "RFCF=1/(2*np.pi*fa) \n", "#Assuming R1=1Kohm\n", "R1=1 #in Kohm\n", "RF=10*R1 #in Kohm\n", "CF=RFCF/RF #in uF\n", "Rcomp=(R1*RF)/(R1+RF) # in Kohm\n", "print \"Value of RF = %0.2f kohm\"%RF\n", "print \"Value of CF = %0.3f uF\"%CF\n", "print \"Value of Rcomp = %0.f ohm\"%(Rcomp*1000)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value of RF = 10.00 kohm\n", "Value of CF = 0.016 uF\n", "Value of Rcomp = 909 ohm\n" ] } ], "prompt_number": 44 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.16 : page 146" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Using superposition theorem\n", "CF=10 #in uF\n", "R1=1/(3*CF*10**-6) #in KOhm\n", "R2=1/(2*CF*10**-6) #in KOhm\n", "print \"Value of R1 = %0.2f kohm \"%(R1/1000) \n", "print \"Value of R2 = %0.2f kohm \"%(R2/1000) " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value of R1 = 33.33 kohm \n", "Value of R2 = 50.00 kohm \n" ] } ], "prompt_number": 45 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.22 : page 156" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "# given data\n", "fa=1.5 #in KHz\n", "fmax=1.5 #in KHz\n", "C1=0.1 #in uF\n", "RF=1/(2*np.pi*fa*C1) #in Kohm\n", "fb=10*fa #in Khz\n", "R1=1/(2*np.pi*fb*C1) #in Kohm\n", "CF=(R1*C1)/RF #in uF\n", "Rcomp=RF #in Kohm\n", "print \"Value of resistance RF = %0.2f kohm\"%(RF)\n", "print \"Value of resistance R1 = %0.2f ohm\"%(R1*1000)\n", "print \"Value of Capacitance CF = %0.2f uF\"%(CF)\n", "print \"Value of resistance Rcomp = %0.2f kohm\"%(Rcomp)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value of resistance RF = 1.06 kohm\n", "Value of resistance R1 = 106.10 ohm\n", "Value of Capacitance CF = 0.01 uF\n", "Value of resistance Rcomp = 1.06 kohm\n" ] } ], "prompt_number": 46 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exa 4.25 : page 159" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "# given data\n", "C1=0.1 #in uF\n", "f=100 #in Hz\n", "T=1/f #in sec\n", "# Given also R1C1=0.2*T \n", "R1=(0.2*T)/(C1*10**-6) #in ohm\n", "RF=0.05/(C1*10**-6) #in ohm\n", "CF=(R1*C1)/RF #in uF\n", "print \"Value of resistance R1 = %0.2f ohm\"%(R1/1000)\n", "print \"Value of resistance RF = %0.2f kohm\"%(RF/1000)\n", "print \"Value of Capacitance CF = %0.2e uF\"%(CF)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value of resistance R1 = 20.00 ohm\n", "Value of resistance RF = 500.00 kohm\n", "Value of Capacitance CF = 4.00e-03 uF\n" ] } ], "prompt_number": 47 } ], "metadata": {} } ] }