diff options
119 files changed, 47576 insertions, 0 deletions
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_2.ipynb new file mode 100644 index 00000000..15727ca2 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_2.ipynb @@ -0,0 +1,1531 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:2a55a17a9f52d46817cb3be818d54b6fa85b71e4638975a4cba998496df659ba" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + " Chapter 3 , Electricity and Ohm's Law" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1 , Page Number 23" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "W = 75.0 #Work done (in Joules)\n", + "Q = 50.0 #Charge produced (in Coulomb)\n", + "\n", + "#Calculation\n", + "V = W/Q #Voltage between battery terminals (in Volts)\n", + "\n", + "#Result\n", + "print \"Terminal voltage of a battery is \",V,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Terminal voltage of a battery is 1.5 V.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2 , Page Number 23" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 1.5 #Voltage (in Volts)\n", + "E =7.5 #Energy produced (in Joules)\n", + "\n", + "#Calculation\n", + "Q = E/V #Charge separated ( in Coulomb )\n", + "\n", + "#Result\n", + "print \"The Amount of charge separated by the battery is \",Q,\" C.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Amount of charge separated by the battery is 5.0 C.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 , Page Number 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables \n", + "\n", + "Q = 7.5 #Charge (in Coulomb)\n", + "t = 0.5 #Time (in minute)\n", + "\n", + "#Calculation\n", + "\n", + "t = 0.5 * 60 #Time (in seconds)\n", + "I= Q/t #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"The current in the element is \",I,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The current in the element is 0.25 A.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 , Page Number 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 5 #Current (in Ampere) \n", + "Q = 4 * 10**-3 #Charge (in Coulomb)\n", + "\n", + "#Calculation\n", + "t = Q/I #time (in seconds)\n", + "\n", + "#Result\n", + "print \"Time in which the 4 mC of charge flows through this element is \",t * 10**3,\" ms.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time in which the 4 mC of charge flows through this element is 0.8 ms.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.5 , Page Number 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 0.3 #Current (in Ampere)\n", + "W = 9.45 #Heat (in Joules)\n", + "t = 5 #Time (in seconds)\n", + "\n", + "#Calculation\n", + "\n", + "Q = I * t\n", + "V = W/Q #Voltage (in Volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The voltage across filament is \",V,\" volts.\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage across filament is 6.3 volts.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6 , Page Number 28" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 2.83 * 10**-8 #Resistivity (in ohm-meter)\n", + "w = 0.5 #width (in meter)\n", + "t = 2 * 10**-3 #thickness (in meter)\n", + "l = 1 #length (in meter)\n", + "\n", + "#Calculation\n", + "\n", + "A = w * t #Area of cross-section (in metersquare)\n", + "R = p*l/A #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The resistance between left end and right end is \",R * 10**6,\" micro-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The resistance between left end and right end is 28.3 micro-ohm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7 , Page Number 28" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Case 1:\n", + "\n", + "#Variables\n", + "\n", + "w = 0.01 #width (in meter)\n", + "h = 0.01 #height (in meter)\n", + "l = 0.50 #length (in meter)\n", + "p = 3.5 * 10**-5 #Resistivity (in ohm-meter)\n", + "\n", + "#Calculation\n", + "\n", + "A = w * h #Area of cross section (in metersquare)\n", + "R = p*l/A #Resistance (in ohm)\n", + "\n", + "#Result 1:\n", + "\n", + "print \"Resistance in case 1 is : \",R,\" ohm.\"\n", + "\n", + "#Case 2:\n", + "\n", + "#Variables\n", + "\n", + "w = 0.50 #width (in meter)\n", + "h = 0.01 #height (in meter)\n", + "l = 0.01 #length (in meter)\n", + "\n", + "#Calculation\n", + "\n", + "A = w * h #Area of cross section (in metersquare)\n", + "R = p*l/A #Resistance (in ohm-meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistance in case 2 is: \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance in case 1 is : 0.175 ohm.\n", + "Resistance in case 2 is: 7e-05 ohm.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.8 , Page Number 28" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "l = 120 #length of wire (in meter)\n", + "d = 0.25 * 10**-2 #Diameter of cross section (in meter)\n", + "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n", + "\n", + "#Calculation\n", + "\n", + "r = d/2 #Radius of cross section (in meter)\n", + "A = math.pi *r*r #Area of cross section (in metersquare)\n", + "R = p*l/A #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistance of the wire is \",round(R,3),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance of the wire is 0.416 ohm.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.9 , Page Number 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 2.8 * 10**-8 #Resistivity (in ohm-meter)\n", + "d = 0.15 * 10**-2 #Diameter of wire (in meter)\n", + "R = 10 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "A = math.pi *d*d/4 #Area of cross section (in metersquare)\n", + "l = R*A/p #Length of wire (in meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Length of the wire is \",round(l),\" meter.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length of the wire is 631.0 meter.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.10 , Page Number 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n", + "l = 2 * 150 #Length (in meter)\n", + "R = 0.722 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "A = p*l/R #Area of cross section (in metersquare)\n", + "d = (A * 4 / math.pi)**0.5 #diameter of wire (in meter)\n", + "\n", + "#Result\n", + "\n", + "print \" Diameter of the wire is : \",round(d * 10**3),\" mm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Diameter of the wire is : 3.0 mm.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.11 , Page Number 30" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "lc = 200 #Length of copper wire (in meter)\n", + "Rc = 1.5 #Resistance of Copper wire(in ohm)\n", + "pc = 1.7 * 10**-8 #Resistivity of (in ohm-meter)\n", + "ls = 10 #Length of silver wire (in meter)\n", + "ps = 1.6 * 10**-8 #Resistivity of Silver (in ohm-meter)\n", + "\n", + "#Calculation\n", + "\n", + "A = pc * lc / Rc #Area of cross section (in metersquare)\n", + "Rs = ps * ls / A #Resistance of silver wire(in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The resistance of silver wire is \",round(Rs,2),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The resistance of silver wire is 0.07 ohm.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.12 , Page Number 32" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "T1 = 800 #Temperature (in celsius degeree)\n", + "T2 = 2250 #Temperature (in celsius degeree)\n", + "R20 = 3.49 #Resistance at 20 degree celsius (in ohm)\n", + "alpha20 = 4.5 * 10**-3 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n", + "\n", + "#Calculation\n", + "\n", + "R800 = R20 * (1 + alpha20*(T1 - 20)) #Resistance at 800 degree celsius (in ohm)\n", + "R2250 = R20 * (1 + alpha20*(T2-20)) #Resistance at 2250 degree celsius (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistance at 800 degree celsius is \",round(R800,1), \" ohm.\\nResistance at 2250 degree celsius is \",round(R2250,1),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance at 800 degree celsius is 15.7 ohm.\n", + "Resistance at 2250 degree celsius is 38.5 ohm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.13 , Page Number 32" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "T1 = 20 #Temperature (in degree celsius)\n", + "R1 = 10000 #Resistance at 20 degree celsius (in ohm)\n", + "T2 = -25 #Temperature (in degree celsius) \n", + "alpha = 0.0039 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n", + "\n", + "#Calculation\n", + "\n", + "R80 = R1*(1 + alpha*(80 - T1)) #Resistance at 80 degree celsius (in ohm)\n", + "RT2 = R1*(1 + alpha*(-25 - T1)) #Resistance at -25 degree celsius (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistance at 80 degree celsius is \",round(R80 * 10**-3,1),\" kilo-ohm.\\nResistance at -25 degree celsius is \",round(RT2 * 10**-3,1),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance at 80 degree celsius is 12.3 kilo-ohm.\n", + "Resistance at -25 degree celsius is 8.2 kilo-ohm.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.14 , Page Number 32" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 14 * 10**-8 #Resistivity of gold (in ohm-meter)\n", + "alpha = 5.8 * 10**-4 #Temperature coefficient (in per degree celsius)\n", + "l = 3 #Length (in meter)\n", + "d = 13 * 10**-6 #diameter of wire\n", + "\n", + "#Calculation\n", + "\n", + "A = math.pi * d * d / 4 #Area of cross-section (in metersquare)\n", + "R = p * l /A #Resistance of wire at 20 degree celsius(in ohm)\n", + "R1 = R*(1 + alpha*(200-20))\n", + "#Result\n", + "\n", + "print \"Resistance of wire at 200 degree celsius is \",round(R1,1),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance of wire at 200 degree celsius is 3494.6 ohm.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.15 , Page Number 34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 10*10**-3 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "G = 1/R #Conductance (in siemens)\n", + "\n", + "#Result\n", + "\n", + "print \"The conductance of gold conductor is \",G,\" siemens.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The conductance of gold conductor is 100.0 siemens.\n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.16 , Page Number 34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 10.0*10**3 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "G = 1/R #Conductance (in siemens)\n", + "\n", + "#Result\n", + "\n", + "print \"The conductance of gold conductor is \",G,\" siemens.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The conductance of gold conductor is 0.0001 siemens.\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.17 , Page Number 34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "G = 50*10**-6 #Conductance (in siemens)\n", + "\n", + "#Calculation\n", + "\n", + "R = 1/G #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The Resistance is \",R * 10**-3,\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Resistance is 20.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.18 , Page Number 35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 18 #Voltage (in volts)\n", + "I = 60*10**-6 #current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "R = V/I #Resistance (in ohm)\n", + "G = 1/R #Conductance (in siemens) \n", + "\n", + "#Result\n", + "\n", + "print \"The conductance is \",round(G * 10**6,2),\" micro-siemens.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The conductance is 3.33 micro-siemens.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.19 , Page Number 38" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 600.00 #Resistance (in ohm)\n", + "V = 230.00 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "I = V/R #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current in the power line is \",round(I,3),\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current in the power line is 0.383 A.\n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.20 , Page Number 39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 8 #Resistance (in ohm)\n", + "I = 2.5 #Current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "V = I*R #Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The maximum safe voltage is \",V,\" volts.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum safe voltage is 20.0 volts.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.21 , Page Number 39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 1.5 * 10**3 #Resistance (in ohm)\n", + "I = 16 * 10**-3 #Current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "V = I*R #Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The voltage that must be applied to the relay coil to energize it is \",V,\" volts.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage that must be applied to the relay coil to energize it is 24.0 volts.\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.22 , Page Number 39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 20 * 10**-3 #Current per segment (in Ampere)\n", + "V = 5 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R = V/I #Resistance (in ohm)\n", + " \n", + "#Result\n", + "\n", + "print \"Resistance that must be inserted into the circuit of each segment is \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance that must be inserted into the circuit of each segment is 250.0 ohm.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.23 , Page Number 39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 7 * 2 #Voltage : 7 div * (2 V/div) (in volts)\n", + "I = 5 * 5 * 10**-3 #Current : 5 div * (5 * 10**-3) (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "R = V/I #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of resistance is \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of resistance is 560.0 ohm.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.24 , Page Number 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "W = 64000 #Heat produced (in Joules) \n", + "t = 40 #time (in seconds)\n", + "\n", + "#Calculation\n", + "\n", + "P = W/t #Rate at which electrical energy is converted into heat energy (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"The rate at which electrical energy is converted into heat energy is : \",P,\" W.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The rate at which electrical energy is converted into heat energy is : 1600 W.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.25 , Page Number 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 5 #Current (in Ampere)\n", + "V = 230 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "P = V*I #Power consumed (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"The power consumed by the toaster is: \",P,\" watt.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The power consumed by the toaster is: 1150 watt.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.26 , Page Number 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "P = 36.0 #Power consumed (in watt)\n", + "V = 230.0 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "I = P/V #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current through filament is \",round(I,3),\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current through filament is 0.157 A.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.27 , Page Number 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "P = 150 *12/1000.0 #Power consumed by 12 bulbs (in kilowatt) \n", + "t = 10.0 #Time (in hours)\n", + "\n", + "#Calculation\n", + "\n", + "W = P * t #Energy used (in kWh)\n", + "\n", + "#Result\n", + "\n", + "print \"The energy used is \",W,\" kWh.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The energy used is 18.0 kWh.\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.28 , Page Number 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Ps = 500.0 #Power of stereo system (in watt)\n", + "Pa = 2400.0 #Power of air conditioner (in watt)\n", + "t = 3 #time (in hours) \n", + "\n", + "#Calculation\n", + "\n", + "P = (Ps + Pa)/1000 #Total power consumed (in kilowatt)\n", + "W = P * t #Energy used (in kilowatthour)\n", + "\n", + "#Result\n", + "\n", + "print \"The energy used is \",W,\" kWh.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The energy used is 8.7 kWh.\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.29 , Page Number 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 230.0 #Voltage (in volts)\n", + "P = 180.0 #Power (in watt)\n", + "\n", + "#Calculation\n", + "\n", + "I = P/V #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"The input current is \",round(I,3),\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The input current is 0.783 A.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.30 , Page Number 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 24.0 #Voltage (in volts)\n", + "I = 2.0 #Current (in Ampere)\n", + "Pb = 0.5 #Power rating of each light bulb (in watt)\n", + "\n", + "#Calculation\n", + "\n", + "P = V * I #Maximum power (in watt)\n", + "P80 = P * 0.8 #80% of power rating (in watt) \n", + "n = (P80//Pb) #Number of bulbs required \n", + "\n", + "#Result\n", + "\n", + "print \"The number of bulbs required is \",n,\".\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The number of bulbs required is 76.0 .\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.31 , Page Number 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 750.0 #Resistance (in ohm)\n", + "I = 32.0 #Current (in milliAmpere) \n", + "\n", + "#Calculation\n", + "\n", + "P = I**2 * 10**-6 * R #Power (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Power consumed by relay coil is \",P*1000,\" mW.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power consumed by relay coil is 768.0 mW.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.32 , Page Number 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 36.0 #Resistance (in ohm)\n", + "V = 230.0 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "P = V**2/R #Power (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Power rating is \",round(P/1000,3),\" kW.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power rating is 1.469 kW.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.33 , Page Number 45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "P = 36 #Power (in watt)\n", + "V = 230.0 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R = V**2/P #Resistance (in ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"Resistance of the heating element is \",round(R),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance of the heating element is 1469.0 ohm.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.34 , Page Number 45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Case a :\n", + "\n", + "#Variables\n", + "\n", + "R = 8.0 #Resistance (in ohm)\n", + "P1 = 60.0 #Power (in watt)\n", + "\n", + "#Calculation\n", + "\n", + "I1 = (P1/R)**0.5 #Current (in Ampere)\n", + "\n", + "#Case b :\n", + "\n", + "#Variables\n", + "\n", + "R = 8.0 #Resistance (in ohm)\n", + "P2 = 120.0 #Power (in watt)\n", + "\n", + "#Calculation\n", + "\n", + "I2 = (P2/R)**0.5 #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum new current is \",round(I1,2),\" A.\\nMaximum new current is \",round(I2,2),\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum new current is 2.74 A.\n", + "Maximum new current is 3.87 A.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.35 , Page Number 46" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 30.0 #Resistance (in kiloohm)\n", + "I #Value of previous current (in Ampere)\n", + "I1 = 1.5*I #New value of current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "P = I**2 * R #Power dissipated due to previous current (in kilowatt)\n", + "P1 = I1**2 * R #Power dissipated due to new current (in kilowatt)\n", + "P2 = (P1 - P)/P * 100 #Percentage increase in power dissipation\n", + "\n", + "#Result\n", + "\n", + "print \"Percentage Increase in power dissipation is \",P2,\" %.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Percentage Increase in power dissipation is 125.0 %.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.36 , Page Number 46" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 6.0 #voltage (in volts)\n", + "C = 2.0 #Capacity of battery (in Ampere-hour)\n", + "P = 1.2 #Power rating (in watt)\n", + "\n", + "#Calculation\n", + "\n", + "R = V**2 / P #Resistance (in ohm)\n", + "I = V/R #Current (in Ampere)\n", + "t = C/I #time (in hour)\n", + "\n", + "#Result\n", + "\n", + "print \"Battery will last for \",t,\" hours.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Battery will last for 10.0 hours.\n" + ] + } + ], + "prompt_number": 14 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_2.ipynb new file mode 100644 index 00000000..acfafc0a --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_2.ipynb @@ -0,0 +1,751 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:9a0a38a1ad49042ffadb423caa0f240dc4106abfcf6ac9eb25cdb67cab101f0b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4 , DC Resistive Circuits " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.1 , Page Number 53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 220 #Resistance (in ohm)\n", + "R2 = 470 #Resistance (in ohm)\n", + "R3 = 560 #Resistance (in ohm)\n", + "R4 = 910 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "R = R1 + R2 + R3 + R4 #Net Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Total resistance of circuit is \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total resistance of circuit is 2160 ohm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.2 , Page Number 53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 4 #Resistance (in kilo-ohm)\n", + "R2 = 6 #Resistance (in kilo-ohm)\n", + "R3 = 2 #Resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "R = R1 + R2 + R3 #Equivalent Resistance(in kilo-ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Equivalent Resistance is \",R,\" kilo-ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Equivalent Resistance is 12 kilo-ohm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.3 , Page Number 54" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 250 #Resistance (in ohm)\n", + "R3 = 375 #Resistance (in ohm)\n", + "I = 50 * 10**-3 #Current (in Ampere)\n", + "V = 40 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R = V/I #Equivalent Resistance (in ohm)\n", + "R2 = R - (R1 + R3) #Resistance R2 (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The Total Resistance is \",R,\" ohm.\\nThe value of R2 is \",R2,\" ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Total Resistance is 800.0 ohm.\n", + "The value of R2 is 175.0 ohm.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.4 , Page Number 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 250 * 10**-3 #Current (in Ampere)\n", + "R = 1.5 * 10**3 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Vs = I * R #Source voltage (in volts)\n", + "I1 = 0.75 * I #New current (in Ampere)\n", + "R1 = Vs / I1 #New Resistance (in ohm)\n", + "R2 = R1 - R #Resistance to be added (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print R2,\" ohm Resistance must be added in order to accomplish the reduction in current.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "500.0 ohm Resistance must be added in order to accomplish the reduction in current.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.5 , Page Number 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 2.2 #Resistance (in kilo-ohm)\n", + "R2 = 1 #Resistance (in kilo-ohm)\n", + "R3 = 3.3 #Resistance (in kilo-ohm)\n", + "V2 = 6 #Voltage drop across R2 (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "I = V2 / R2 #Current in the circuit (in milli-Ampere) \n", + "V1 = R1 * I #Voltage drop across R1 (in volts)\n", + "V3 = R3 * I #Voltage drop across R3 (in volts)\n", + "\n", + "#Result\n", + "print \"The voltage drop across R1 is \",V1,\"V and the voltage drop across R3 is \",V3,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage drop across R1 is 13.2 V and the voltage drop across R3 is 19.8 V.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.6 , Page Number 57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 30.0 #Source voltage (in volts)\n", + "R1 = 20.0 #Resistance (in kilo-ohm)\n", + "R2 = 10.0 #Resistance (in kilo-ohm)\n", + "R3 = 70.0 #Resistance (in kilo-ohm)\n", + "VD = 0.0 #Voltage at D (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R = R1 + R2 + R3 #Equivalent Resistance (in kilo-ohm)\n", + "V1 = (R1 / R) * V #Voltage drop across R1 (in volts)\n", + "V2 = (R2 / R) * V #Voltage drop across R2 (in volts)\n", + "V3 = (R3 / R) * V #Voltage drop across R3 (in volts)\n", + "VC = V3 + VD #Voltage at node C (in volts) \n", + "VB = V2 + VC #Voltage at node B (in volts)\n", + "VA = V1 + VB #Voltage at node A (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The Voltage drop across R1 is \",V1,\" V.\\nThe Voltage drop across R2 is \",V2,\" V.\\nThe Voltage drop across R3 is \",V3,\" V.\"\n", + "print \"Voltage at node A is \",VA,\" V.\\nVoltage at node B is \",VB,\" V.\\nVoltage at node is \",VC,\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Voltage drop across R1 is 6.0 V.\n", + "The Voltage drop across R2 is 3.0 V.\n", + "The Voltage drop across R3 is 21.0 V.\n", + "Voltage at node A is 30.0 V.\n", + "Voltage at node B is 24.0 V.\n", + "Voltage at node is 21.0 V.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.7 , Page Number 58" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R2 = 100 #Resistance R2 (in ohm)\n", + "I = 0.3 #Current (in Ampere)\n", + "VT = 120 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "RT = VT / I #Total Resistance (in ohm)\n", + "R1 = RT - R2 #Resistance R1 (in ohm)\n", + "P1 = I**2 * R1 #Power dissipated by R1 (in watt)\n", + "P2 = I**2 * R2 #Power dissipated by R2 (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"The power dissipated by R1 is \",P1,\" W.\\nThe power dissipated by R2 is \",P2,\" W.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The power dissipated by R1 is 27.0 W.\n", + "The power dissipated by R2 is 9.0 W.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.8 , Page Number 60" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 6 #Voltage (in volts)\n", + "R1 = 1 #Resistance (in ohm)\n", + "R2 = 2 #Resistance (in ohm)\n", + "R3 = 3 #Resistance (in ohm)\n", + "\n", + "#Case (a):\n", + "\n", + "#Calculation\n", + "\n", + "RT = R1 + R2 + R3 #Equivalent Resistance (in ohm)\n", + "I = V / RT #Current (in Ampere)\n", + "P = I**2 * RT #Power dissipated (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Power dissipated in the entire circuit is\",P,\" W.\"\n", + "\n", + "#Case (b):\n", + "\n", + "#Calculation\n", + "\n", + "RT = R1 + R2 #Equivalent Resistance (in ohm)\n", + "I = V / RT #Current (in Ampere)\n", + "P = I**2 * RT #Power dissipated (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Power dissipated in the circuit when R2 is shortened is\",P,\" W.\"\n", + "\n", + "#Case (c):\n", + "\n", + "#Calculation\n", + "\n", + "R = R1 #Resistance (in ohm)\n", + "I = V / R #Current (in Ampere)\n", + "P = I**2 * R #Power dissipated (in watt)\n", + "\n", + "print \"Power dissipated in the circuit when R3 and R2 is shortened is\",P,\" W.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power dissipated in the entire circuit is 6 W.\n", + "Power dissipated in the circuit when R2 is shortened is 12 W.\n", + "Power dissipated in the circuit when R3 and R2 is shortened is 36 W.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.9 , Page Number 61" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 10.0 #Voltage (in volts)\n", + "R1 = 10**6 #Resistance (in ohm)\n", + "R2 = 10 * 10**3 #Resistance (in ohm)\n", + "\n", + "#Case (a):\n", + "\n", + "#Calculation\n", + "\n", + "RT = R1 + R2 #Total Resistance (in ohm)\n", + "I = V / RT #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current through the circuit is \",I,\" A.\"\n", + "\n", + "#Case (b):\n", + "\n", + "#Calculation\n", + "\n", + "RT = R1 #Total Resistance (in ohm)\n", + "I = V / RT #Current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current through circuit when R2 is shortened is \",I,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current through the circuit is 9.90099009901e-06 A.\n", + "Current through circuit when R2 is shortened is 1e-05 A.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.10 , Page Number 62" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IT = 750 #Current (in milli-Ampere)\n", + "I1 = 200 #Current (in milli-Ampere)\n", + "I3 = 150 #Current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "I2 = IT - (I1 + I3) #Current through R2 (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current drawn by R2 branch is \",I2,\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current drawn by R2 branch is 400 mA.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.11 , Page Number 63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 12.0 #Voltage (in volts)\n", + "R1 = 4.0 #Resistance (in ohm)\n", + "R2 = 6.0 #Resistance (in ohm)\n", + "R3 = 12.0 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Req = 1/(1/R1 + 1/R2 + 1/R3) #Equivalent resistance (in ohm) \n", + "I1 = V/R1\n", + "I2 = V/R2\n", + "I3 = V/R3\n", + "\n", + "#Result\n", + "\n", + "print \"The Equivalent Resistance is \",Req,\" ohm.\\nThe Current through R1 , R2 , R3 are \",I1,\" A, \",I2,\" A, \",I3,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Equivalent Resistance is 2.0 ohm.\n", + "The Current through R1 , R2 , R3 are 3.0 A, 2.0 A, 1.0 A.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.12 , Page Number 64" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = R2 = 10 #Resistances (in kilo-ohm) \n", + "\n", + "#Calculation\n", + "\n", + "Req = R1*R2 / (R1 + R2) #Equivalent Resistance (in kilo-ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"The equivalent resistance is \",Req,\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The equivalent resistance is 5 kilo-ohm.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.13 , Page Number 65" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 4.0 #Resistance (in ohm)\n", + "R2 = 12.0 #Resistance (in ohm)\n", + "V = 6.0 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Req = R1*R2/(R1 + R2) #Equivalent Resistance (in ohm)\n", + "IT = V / Req #Total Current (in Ampere)\n", + "I1 = R2 / (R1 + R2) * IT #Current through R1 \n", + "I2 = R1 / (R1 + R2) * IT #Current through R2\n", + "\n", + "#Result\n", + "\n", + "print \"Current through R1 is \",I1,\" A and current through R2 is \",I2,\" A.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current through R1 is 1.5 A and current through R2 is 0.5 A.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.14 , Page Number 66" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "PR1 = 1.0/8 #1/8 watt resistor (in watt)\n", + "PR2 = 1.0/4 #1/4 watt resistor (in watt)\n", + "PR3 = 1.0/2 #1/2 watt resistor (in watt)\n", + "RT = 2400.0 #total resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "PT = PR1 + PR2 + PR3 #Total power dissipated (in watt)\n", + "I = (PT/RT)**0.5 #Current (in Ampere)\n", + "Vs = I * RT #Applied voltage (in volts)\n", + "R1 = PR1 / I**2 #R1 resistor (in ohm) \n", + "R2 = PR2 / I**2 #R2 resistor (in ohm)\n", + "R3 = PR3 / I**2 #R3 resistor (in ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"Current in the circuit is \",round(I,3),\" A.\\nApplied Voltage is \",round(Vs,3),\" V.\\nValue of R1 is \",round(R1,3),\" ohm.\\nValue of R2 is \",round(R2,3),\" ohm.\\nValue of R3 is \",round(R3,3),\" ohm.\"\n", + "\n", + "#Slight variations due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current in the circuit is 0.019 A.\n", + "Applied Voltage is 45.826 V.\n", + "Value of R1 is 342.857 ohm.\n", + "Value of R2 is 685.714 ohm.\n", + "Value of R3 is 1371.429 ohm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.15 , Page Number 68" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 6.0 #Applied voltage (in volts)\n", + "R0 = 0.2 #Resistance (in ohm) \n", + "R1 = 2.0 #Resistance (in ohm)\n", + "R2 = 3.0 #Resistance (in ohm)\n", + "R3 = 6.0 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Req = 1 / (1/R1 + 1/R2 + 1/R3) #Equivalent Resistance (in ohm) \n", + "R = R0 + Req #Total Resistance (in ohm)\n", + "I = V/R #Current (in Ampere) \n", + "V0 = I * R0 #Voltage drop across R0 (in volts)\n", + "Veq = V - V0 #Voltage drop across Req (in volts)\n", + "I1 = Veq / R1 #Current through R1 (in Ampere)\n", + "I2 = Veq / R2 #Current through R2 (in Ampere) \n", + "I3 = Veq / R3 #Current through R3 (in Ampere)\n", + "P = V * I #Power supplied by the voltage source (in volts)\n", + "I0 = V/R0 #Current in case of 'Short' across DE (in Ampere)\n", + "P0 = V * I0 #Power dissipated in case of 'Short' (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Total Resistance is \",R,\" ohm.\"\n", + "print \"Branch Currents :\\nThrough R1 = \",I1,\" A.\\nThrough R2 = \",round(I2,3),\" A.\\nThrough R3 = \",round(I3,3),\" A.\"\n", + "print \"Current supplied by voltage source is \",I,\" A.\"\n", + "print \"Power supplied by the voltage source is \",P,\" W.\"\n", + "print \"Current supplied in case of 'Short' across DE is \",I0,\" A.\"\n", + "print \"Power supplied in case of 'Short' acorss DE is \",P0,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total Resistance is 1.2 ohm.\n", + "Branch Currents :\n", + "Through R1 = 2.5 A.\n", + "Through R2 = 1.667 A.\n", + "Through R3 = 0.833 A.\n", + "Current supplied by voltage source is 5.0 A.\n", + "Power supplied by the voltage source is 30.0 W.\n", + "Current supplied in case of 'Short' across DE is 30.0 A.\n", + "Power supplied in case of 'Short' acorss DE is 180.0 A.\n" + ] + } + ], + "prompt_number": 15 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_2.ipynb new file mode 100644 index 00000000..f39edb9d --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_2.ipynb @@ -0,0 +1,614 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:a817a168befae35ccb17b36fd01ad5caaed21c361e584abe602cb8559a070af9" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5 , Kirchhoff's Laws and Network Theorems" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1 , Page Number 73" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IT = 20 #Total current (in milli-Ampere)\n", + "I2 = 4 #Current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "I1 = IT - I2 #Current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of the current I1 is \",I1,\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of the current I1 is 16 mA.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2 , Page Number 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 1 #Current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "#Applying Kirchoff's voltage law:\n", + "#(1 *3) + (1 * R) + (1 * 4) - 12 =0\n", + "\n", + "R = 5 #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of R is \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of R is 5 ohm.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.3 , Page Number 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vs = 100 #Source Voltage (in volts)\n", + "I = 5 #Current entering the circuit (in Ampere)\n", + "IL = 5 #Current leaving the circuit (in Ampere)\n", + "R15 = 15 #Resistor of 15 ohm (in ohm)\n", + "V15 = 30 #Voltage across 15 ohm resistor (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "I1 = V15 / R15 #Current through 15 ohm resistor (in Ampere)\n", + "IA = I + I1 #Current entering junction A (in Ampere)\n", + "#Applying Kirchoff's current law\n", + "I2 = I + I1 #Current through 5 ohm resistor (in Ampere)\n", + "IB = I2 #Current entering juction B (in Ampere)\n", + "IR = IA - IL #Current through R (in Ampere)\n", + "#Applying Kirchoff's voltage law\n", + "#(7 * 5) + (2 *R) - 100 + 30 =0\n", + "R = 35.0/2\n", + "\n", + "#Result\n", + "\n", + "print \"The value of R is \",R,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of R is 17.5 ohm.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.4 , Page Number 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 25 #Source voltage (in volts)\n", + "RB = 99 #Resistance (in kilo-ohm)\n", + "RC = 2 #Resistance (in kilo-ohm)\n", + "RE = 1 #Resistance (in kilo-ohm)\n", + "VCE = 5 #Voltage across C and E (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "#Applying Kirchoff's Voltage law:\n", + "#IB*RB + VBE + IE*RE -V = 0\n", + "#IB*RB + VBE + (IB + IC)*RE - VCC = 0\n", + "#100*IB + IC = 24\n", + "#IB + 3*IC = 20\n", + "IC = 1976.0/299\n", + "IB = 20 - (3 * 6.61)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of IB is \",round(IB,3),\" mA.\\nValue of IC is \",round(IC,3),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of IB is 0.17 mA.\n", + "Value of IC is 6.609 mA.\n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.5 , Page Number 77" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS1 = 5 #Voltage source 1 (in volts)\n", + "VS2 = 3 #Voltage source 2 (in volts)\n", + "V6 = 0 #Voltage drop across 6 ohm resistor when AB is open (in volts)\n", + "R1 = 6 #Resistor (in ohm)\n", + "R2 = 4 #Resistor (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "I = 5.0/4 #Current through 4 ohm resistor (in Ampere)\n", + "V = I * R2 #Voltage drop across 4 ohm Resistor (in volts)\n", + "VOC = VS2 + V6 + V #Open circuit voltage (in volts)\n", + "Rth = R1\n", + "\n", + "#Result\n", + "\n", + "print \"Thevenin's equivalent Voltage is \",VOC,\" V.\\nThevenin's equivalent resistance is \",Rth,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thevenin's equivalent Voltage is 8.0 V.\n", + "Thevenin's equivalent resistance is 6 ohm.\n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.6 , Page Number 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 25.0 #Source voltage (in volts)\n", + "R1 = 100.0 #Resistance (in ohm)\n", + "R2 = 75.0 #Resistance (in ohm)\n", + "R3 = 50.0 #Resistance (in ohm)\n", + "R4 = 25.0 #Resistance (in ohm)\n", + "RL = 250.0 #Load resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "I = V / (R1 + R2 + R3) #Series curren (in Ampere)\n", + "VR2 = I * R2 #Voltage drop across R2\n", + "VOC = VR2 #Open circuit voltage (in volts)\n", + "Vth = VOC #Thevenin's equivalent voltage (in volts)\n", + "Rth = R4 + R2*(R1 + R3)/(R1 + R2 + R3) #Thevenin's equivalent resistance (in ohm)\n", + "IL = Vth/(Rth + RL)\n", + "\n", + "#Result\n", + "\n", + "print \"Thevenin's equivalent voltage is \",round(Vth,3),\" V. and resistance in \",Rth,\" ohm.\"\n", + "print \"Current through load resistance is \",round(IL,3),\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thevenin's equivalent voltage is 8.333 V. and resistance in 75.0 ohm.\n", + "Current through load resistance is 0.026 A.\n" + ] + } + ], + "prompt_number": 59 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.7 , Page Number 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 2.0 #Resistance (in kilo-ohm)\n", + "R2 = 1.0 #Resistance (in kilo-ohm)\n", + "R3 = 2.0 #Resistance (in kilo-ohm)\n", + "I = 0.1 #Current source (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "#Using Thevenin's theorem : \n", + "\n", + "I2 = I * R1 / (R1 + (R2 +R3)) #Current through brach ECD (in Ampere)\n", + "VR3 = I2 * R3* 10 **3 #Voltage drop across R3 (in volts)\n", + "Vth = VR3 #Thevenin's Voltage\n", + "Rth = R3 * (R1 + R2)/(R1 + R2 + R3)\n", + "\n", + "#Result\n", + "\n", + "print \"Thevenin's voltage is \",Vth,\" V.\\nThevenin's Resistance is \",Rth,\" kilo-ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thevenin's voltage is 80.0 V.\n", + "Thevenin's Resistance is 1.2 kilo-ohm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.8 , Page Number 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 0.6 #Resistance (in ohm)\n", + "R2 = 0.6 #Resistance (in ohm)\n", + "R3 = 0.8 #Resistance (in ohm)\n", + "R4 = 0.8 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Rth = R3 + R4*(R1 + R2)/(R4 + (R1 +R2)) #Thevenin's resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of Rth is \",Rth,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of Rth is 1.28 ohm.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.9 , Page Number 83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 12.0 #Voltage (in volts)\n", + "R1 = 3.0 #Resistance (in ohm)\n", + "R2 = 9.0 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "#Using Norton's Theorem\n", + "\n", + "Isc = V / R1 #Short circuit current (in Ampere)\n", + "IN = Isc #Norton's Current (in Ampere)\n", + "RN = R1 * R2 / (R1 + R2) #Norton's resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Norton's Current is \",IN,\" A.\\nNorton's Resistance is \",RN,\" ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Norton's Current is 4.0 A.\n", + "Norton's Resistance is 2.25 ohm.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.10 , Page Number 85" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 15.0 #Voltage 15 volt battery (in volts)\n", + "R1 = 6.0 #Resistance (in ohm)\n", + "R2 = 3.0 #Resistance (in ohm)\n", + "R3 = 3.0 #Resistance (in ohm)\n", + "V0 = 30.0 #Voltage 30 volt battery (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R4 = R2 * R3 / (R2 + R3) #R4 = R2 || R3 (in ohm)\n", + "V1 = R4 / (R1 + R4) * V #Voltage drop across R4 (in volts)\n", + "R5 = R1 * R3 / (R1 + R3) #R5 = R1 || R3 (in ohm)\n", + "V2 = R5 / (R2 + R5) * V0 #Voltage drop across R5 (in volts)\n", + "I = V/R3\n", + "\n", + "#Result\n", + "\n", + "print \"In case 1: Voltage drop across R3 is \",V1,\" V.\\nIn case 2: Voltage drop across R3 is \",V2,\" V.\\nThe current through R3 is \",I,\" A.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "In case 1: Voltage drop across R3 is 3.0 V.\n", + "In case 2: Voltage drop across R3 is 12.0 V.\n", + "The current through R3 is 5.0 A.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.11 , Page Number 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vth = 100 #Thevenin Voltage (in micro-volts)\n", + "Rth = 50 #Thevenin Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RL = Rth #Maximum Load Resistance (in ohm)\n", + "PL = (Vth/(Rth + RL))**2 *RL #Maximum load power (in pico-watt)\n", + "\n", + "#Result\n", + "print \"Maximum load resistance is \",RL,\" ohm.\\nMaximum load power is \",PL,\" pW.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum load resistance is 50 ohm.\n", + "Maximum load power is 50 pW.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.12 , Page Number 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VTH = 20.0 * 10**-3 #Thevenin's Voltage (in volts)\n", + "RTH = 300.0 #Thevenin's Resistance (in ohm) \n", + "RL = 300.0 #Load Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "PL = (VTH/(RTH + RL))**2 * RL #Power across load resistance (in watt) \n", + "\n", + "#Result\n", + "\n", + "print \"The value of power transmitted to the receiver is \",round(PL*10**6,2),\" micro-watt.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of power transmitted to the receiver is 0.33 micro-watt.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.13 , Page Number 89" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 5.0 #resistance (in ohm)\n", + "R2 = 2.0 #resistance (in ohm)\n", + "R3 = 3.0 #resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Req = R2 * R3 / (R2 + R3) #Equivalent resistance (in ohm)\n", + "RL = R1 + Req\n", + "\n", + "#Result\n", + "\n", + "print \"Load resistance is \",RL,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Load resistance is 6.2 ohm.\n" + ] + } + ], + "prompt_number": 62 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_1.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_1.ipynb new file mode 100644 index 00000000..6813a88d --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_1.ipynb @@ -0,0 +1,224 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:69b48b36a61396f28ecb80f184056a30de94e22bf70a39e3b66b811b10039140" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 , A.C. Fundamentals" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.1 , Page Number 94" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "t = 1.0 #time (in milliseconds)\n", + "n = 10.0 #number of cycles\n", + "\n", + "#Calculation\n", + "\n", + "T = t/n #Time period (in milliseconds)\n", + "\n", + "#Result\n", + "\n", + "print \"Time period by one cycle is \",T,\" ms.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time period by one cycle is 0.1 ms.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.2 , Page Number 94" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "t = 0.01 #Time period of positive half cycle (in seconds)\n", + "\n", + "#Calculation\n", + "\n", + "t1 = 0.01 #Time period of negative half cycle (in seconds)\n", + "T = t + t1 #Time period of one complete cycle (in seconds)\n", + "\n", + "#Result\n", + "\n", + "print \" Time period of rectified input is \",T,\" s.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Time period of rectified input is 0.02 s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3 , Page Number 95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "n = 5.0 #number of cycles\n", + "t = 10.0 #time period (in micro-seconds)\n", + "\n", + "#Calculation\n", + "\n", + "f = n / t #frequency (in Mega-hertz)\n", + "T = 1/f #Time period (in micro-seconds)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency and Time period of the sine wave is \",f,\" MHz and \",T,\" micro-seconds.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency and Time period of the sine wave is 0.5 MHz and 2.0 micro-seconds.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4 , Page Number 95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "f = 69.0 #frequency (in Mega-hertz)\n", + "\n", + "#Calculation\n", + "\n", + "T = 1/f #Time period (in micro-seconds)\n", + "\n", + "#Result\n", + "\n", + "print \"Time period is \",round(T * 10**3,2), \" ns.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time period is 14.49 ns.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5 , Page Number 97" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vmax = 20.0 #Voltage (in milli-volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vrms = 0.707 * Vmax #Rms Voltage (in milli-volts)\n", + "Vdc = 0.637 * Vmax #Average value of signal (in milli-volts)\n", + "\n", + "#Result\n", + "\n", + "print \"RMS value is \",Vrms,\" mV.\\nAverage value is \",Vdc,\" mV.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "RMS value is 14.14 mV.\n", + "Average value is 12.74 mV.\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_2.ipynb new file mode 100644 index 00000000..7ce6b4d7 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_2.ipynb @@ -0,0 +1,232 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8b9ceddb3b2adb5742dd1317566761cdfe116bbf966972fcb1710e301f43f106" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7 , Passive Circuit Elements" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.4 , Page Number 121" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#Variables\n", + "\n", + "N = 150.0 #Number of turns\n", + "mur = 3540.0 #Relative permeability (in H/m)\n", + "mu0 = 4*math.pi * 10 **-7 #Absoulte permeability (in H/m)\n", + "l = 0.05 #coil length (in meter)\n", + "A = 5 * 10**-4 #Area of cross - section (in metersquare)\n", + "\n", + "#Calculation\n", + "\n", + "L = (mur * mu0 * A * N**2)/l #Coil inductance (in Henry)\n", + "\n", + "#Result\n", + "\n", + "print \"The coil inductance is \",round(L,2),\" Henry.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The coil inductance is 1.0 Henry.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.5 , Page Number 122" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L1 = 40.0 #Inductance (in micro-Henry)\n", + "L2 = 80.0 #Inductance (in micro-Henry)\n", + "M = 11.3 #Mutual Inductance (in micro-Henry)\n", + "\n", + "#Calculation\n", + "\n", + "k = M/(L1 * L2)**0.5 #Coefficient of Coupling \n", + "\n", + "#Result\n", + "\n", + "print \"Coefficient of coupling is \",round(k,2),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Coefficient of coupling is 0.2 .\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.6 , Page Number 125" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Q = 90.0 #Q-factor\n", + "L = 15.0 * 10**-6 #Inductance (in Henry)\n", + "f = 10.0 * 10**6 #Frequency (in Hertz) \n", + "\n", + "#Calculation\n", + "\n", + "Ro = 2*math.pi*f*L/Q #d.c. resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"d.c. resistance of coil is \",round(Ro,1),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "d.c. resistance of coil is 10.5 ohm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.7 , Page Number 126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "k = 5.0 #dielectric constant\n", + "A = 0.04 #Plate area (in meter-square)\n", + "d = 0.02 #Thickness of dielectric(in meter) \n", + "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n", + "\n", + "#Calculation\n", + "\n", + "C = eps0 * k * A / d #Capacitance (in Farad) \n", + "\n", + "#Result\n", + "\n", + "print \"Capacitance of parallel plate capacitor is \",C * 10**12,\"pF.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Capacitance of parallel plate capacitor is 88.5 pF.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.8 , Page Number 127" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "k = 1200.0 #dielectric constant\n", + "A = 0.2 #Plate area (in meter-square)\n", + "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n", + "C = 0.428 #Capacitance (in micro-farad)\n", + "\n", + "#Calculation\n", + "\n", + "d = eps0 * k * A / C #thickness of dielectric (in meter)\n", + " \n", + "#Result\n", + "\n", + "print \"Thickness of dielectric is \",round(d * 10**9,2),\" mm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thickness of dielectric is 4.96 mm.\n" + ] + } + ], + "prompt_number": 7 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_1.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_1.ipynb new file mode 100644 index 00000000..5fa6ffa7 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_1.ipynb @@ -0,0 +1,430 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:df20b687327eb5de3142132bf5d03052042219b0928fedb0b3e836d35edbbea8" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 , Voltage and Current Sources" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.1 , Page Number 158" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 1.5 #Source Voltage (in volts)\n", + "RS = 0.2 #Resistance (in ohm)\n", + "RL = 1 #Load Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = V / RT #Current (in Ampere)\n", + "VAB = I * RL #Voltage drop across AB (in volts)\n", + "VR = V - VAB #Voltage drop due to internal resistance (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage drop across internal resistance is \",VR,\" volts.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage drop across internal resistance is 0.25 volts.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.2 , Page Number 159" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 1.5 #Source Voltage (in volts)\n", + "RS = 0.4 #Resistance (in ohm)\n", + "RL = 2.0 #Load Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = VS/ RT #Current (in Ampere)\n", + "VT = I * RL #Terminal Voltage (in volts)\n", + "PL = I**2 * RL #Power dissipated by load resistance (in watt)\n", + "PS = I**2 * RT #Power Supplied by the voltage source (in watt)\n", + "eff = PL / PS #Efficiency of the circuit\n", + "\n", + "#Result\n", + "\n", + "print \"Terminal Voltage is \",VT,\" V.\\nPower dissipated by 2 ohm resistor is \",round(PL,2),\" W.\\nEfficiency of the circuit is \",round(eff,2),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Terminal Voltage is 1.25 V.\n", + "Power dissipated by 2 ohm resistor is 0.78 W.\n", + "Efficiency of the circuit is 0.83 .\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.3 , Page Number 160" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Case a.1:\n", + "\n", + "#Variables\n", + "\n", + "VS = 6.0 #Source Voltage (in volts)\n", + "RS = 2.0 #Resistance (in ohm)\n", + "#When RL is 2 ohm\n", + "RL = 2.0 #Load Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = VS / RT #Current in the Circuit (in Ampere)\n", + "VT1 = I * RL #Terminal Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Terminal voltage when RL is 2 ohm : \",VT1,\" V.\"\n", + "\n", + "#Case a.2:\n", + "\n", + "#Variables\n", + "\n", + "#When RL is 20 ohm\n", + "RL = 20.0 #Load Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = VS / RT #Current in the Circuit (in Ampere)\n", + "VT2 = I * RL #Terminal Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Terminal voltage when RL is 20 ohm : \",round(VT,2),\" V.\"\n", + "print \"Variation in terminal voltage is \",(VT2-VT1)/VT2,\" V.\"\n", + "\n", + "#Case b.1:\n", + "\n", + "#Variables\n", + "\n", + "RS = 100.0 #Resistance (in ohm)\n", + "#When RL is 10 kilo-ohm\n", + "RL = 10.0 * 10**3 #Load Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = VS / RT #Current in the circuit (in Ampere)\n", + "VT = I * RL #Terminal Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Terminal voltage when RL is 100 kilo-ohm is: \",round(VT,2),\" V.\"\n", + "\n", + "#Case b.2:\n", + "\n", + "#Variables\n", + "\n", + "#When RL is 100 kilo-ohm\n", + "RL = 100.0 * 10**3 #Load Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "RT = RS + RL #Total Resistance (in ohm)\n", + "I = VS / RT #Current in the circuit (in Ampere)\n", + "VT1 = I * RL #Terminal Voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Terminal voltage when RL is 100 kilo-ohm is :\",round(VT1,3),\" V.\"\n", + "print \"Variation in terminal voltage is \",round((VT1-VT)/VT1,3),\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Terminal voltage when RL is 2 ohm : 3.0 V.\n", + "Terminal voltage when RL is 20 ohm : 1.25 V.\n", + "Variation in terminal voltage is 0.45 V.\n", + "Terminal voltage when RL is 100 kilo-ohm is: 5.94 V.\n", + "Terminal voltage when RL is 100 kilo-ohm is : 5.994 V.\n", + "Variation in terminal voltage is 0.009 V.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.4 , Page Number 163" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 12.0 #Source Voltage (in volts)\n", + "VT = 10.0 #Terminal Voltage (in volts)\n", + "RL = 10.0 #Load resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RS = RL*(VS / VT - 1) #Internal Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The internal resistance of the source is \",RS,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The internal resistance of the source is 2.0 ohm.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.5 , Page Number 165" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IS = 30.0 #Current (in milli-Ampere)\n", + "RS = 15.0 #Source resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RL = RS / 20.0 #Load Resistance (in kilo-ohm) \n", + "IL = IS * RS/(RL +RS) #Load Current (in Ampere)\n", + "\n", + "\n", + "#Result\n", + "\n", + "print \"Largest value of load resistance to provide constant current is \",RL*10**3,\" ohm.\"\n", + "print \"Variation of current from the short-cicuit current is \",round((IS-IL)/IS,4),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Largest value of load resistance to provide constant current is 750.0 ohm.\n", + "Variation of current from the short-cicuit current is 0.0476 .\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.6 , Page Number 168" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 12.0 #Source Voltage (in volts)\n", + "RS = 3.0 #Source resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "IS = VS / RS #Source current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Current source value is \",IS,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current source value is 4.0 A.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.7 , Page Number 169" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IS = 5.0 #Source current (in milli-Ampere)\n", + "RS = 2.0 #Source resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "VS = IS * RS #Voltage source (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Equivalent voltage source is \",VS,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Equivalent voltage source is 10.0 V.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.8 , Page Number 169" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IS =1.5 #Source current (in milli-Ampere)\n", + "RS = 2 #Source resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "RL = 10*40/(10+40) #Load Reistance (in kilo-ohm)\n", + "IL = IS * RS/(RL +RS) #Load current (in milli-Ampere)\n", + "IL2 = IL * 10/(10 +40) #Current through part 2 (in milli-Ampere)\n", + "VS = IS * RS #Souce voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"current through 40 kilo-ohm resistor is \",IL2,\" mA.\"\n", + "print \"Equivalent volage source is \",VS,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "current through 40 kilo-ohm resistor is 0.06 mA.\n", + "Equivalent volage source is 3.0 V.\n" + ] + } + ], + "prompt_number": 9 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_2.ipynb new file mode 100644 index 00000000..3867129e --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_2.ipynb @@ -0,0 +1,1026 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:14854f0f2c20034037bfa5a3449dea2addd83d4eed6b29f5eda0eb459f0c6332" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10 , Semiconductors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.1 , Page Number 183" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 1000.0 #Resistance (in ohm)\n", + "sig = 5.8 * 10**7 #Conductivity in (Siemen per meter)\n", + "d = 10**-3 #diameter (in meter)\n", + "E = 10 * 10**-3 #Eletric field (in Volt per meter)\n", + "\n", + "#Calculation\n", + "\n", + "l = R *sig * math.pi * d**2 /4 #length (in meter)\n", + "J = sig * E #Current density (in Ampere per metersquare)\n", + "\n", + "#Result\n", + "\n", + "print \"Length of wire is \",round(l/1000,2),\" km.\\nCurrent desity is \",J,\" A/(m*m).\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length of wire is 45.55 km.\n", + "Current desity is 580000.0 A/(m*m).\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.2 , Page Number 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "d = 2* 10**-3 #diameter (in meter)\n", + "sig = 5.8 * 10**7 #conductivity (in siemen per meter)\n", + "mu = 0.0032 #mobilty (in metersquare per volt-second)\n", + "E = 20 * 10**-3 #Electric field (in Volt per meter)\n", + "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "n = sig / (q * mu) #charge density (in cubic-meter) \n", + "J = sig * E #Charge density (in Ampere per square-meter)\n", + "A = math.pi * d**2 / 4 #Cross section of wire (in square-meter)\n", + "I = J * A #Current (in Ampere)\n", + "v = mu * E #Drift velocity (in meter per second)\n", + "\n", + "#Result\n", + "\n", + "print \"Charge density of free electrons is \",round(n,3),\" m**-3.\\nThe current density is \",J,\" A/m**3.\\nCurrent flowing in the wire is \",round(I,3),\" A.\\nElectron drift velocity is \",v,\" m/s.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Charge density of free electrons is 1.1328125e+29 m**-3.\n", + "The current density is 1160000.0 A/m**3.\n", + "Current flowing in the wire is 3.644 A.\n", + "Electron drift velocity is 6.4e-05 m/s.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.3 , Page Number 185" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "n = 5.8 * 10**28 #number of free electrons (in per cubic-meter)\n", + "p = 1.54 * 10**-8 #resistivity (in ohm-meter)\n", + "q = 1.6 * 10**-19 #charge (in Coulomb)\n", + "m = 9.1 * 10**-31 #mass of electron (in kg)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #conductivity (in siemen per meter)\n", + "mu = sig /(q * n) #mobility (in meter-square/volt-second)\n", + "t = mu * m / q #time (in second)\n", + "\n", + "#Result\n", + "\n", + "print \"Mobility of electrons is \",round(mu,6),\" m**2/V-s.\\nRelaxation time is \",round(t*10**12,6),\" ps.\"\n", + "\n", + "#Calculation error in book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mobility of electrons is 0.006997 m**2/V-s.\n", + "Relaxation time is 0.039797 ps.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.4 , Page Number 186" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "un = 0.38 #mobility of electrons in germanium (in meter-square/volt-second)\n", + "up = 0.18 #mobility of holes in germanium (in meter-square/volt-second)\n", + "ni = n = p = 2.5 * 10**19 #mobile ions for germanium (in per cubic-meter)\n", + "un1 = 0.13 #mobility of electrons in germanium (in meter-square/volt-second)\n", + "up1 = 0.05 #mobility of holes in germanium (in meter-square/volt-second)\n", + "ni1 = n1 = p1 = 1.5 * 10**16 #mobile ions for germanium (in per cubic-meter)\n", + "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "#for germanium:\n", + "\n", + "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n", + "sig1 = q * ni1 * (un1 + up1) #Conductivity of silicon (in siemen per metre)\n", + "\n", + "#Result\n", + "\n", + "print \"Intrinsic conductivity of germanium is \",sig,\" S/m and of silicon is \",sig1,\" S/m.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Intrinsic conductivity of germanium is 2.24 S/m and of silicon is 0.000432 S/m.\n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.5 , Page Number 187" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "ni = 1.41 * 10**16 #intrinsic concentration (in per cubic-metre) \n", + "un = 0.145 #mobility of electrons in germanium (in metre-square/volt-second)\n", + "up = 0.05 #mobility of holes in germanium (in metre-square/volt-second)\n", + "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n", + " \n", + "#Calculation\n", + "\n", + "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n", + "\n", + "#Result\n", + "\n", + "print \"Intrinsic conductivity of silicon is \",sig,\" S/m.\"\n", + "print \"Contribution by electron is \",q*ni*un,\" S/m.\"\n", + "print \"Contribution by electron is \",q*ni*up,\" S/m.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Intrinsic conductivity of silicon is 0.00043992 S/m.\n", + "Contribution by electron is 0.00032712 S/m.\n", + "Contribution by electron is 0.0001128 S/m.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.6 , Page Number 187" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "l = 0.2 * 10**-3 #length (in meter)\n", + "A = 0.04 * 10**-6 #Area of cross section (in square-meter)\n", + "V = 1 #Voltage (in volts)\n", + "I = 8 * 10**-3 #current (in Ampere)\n", + "un = 0.13 #mobility of electron (in m**2 per volt-second)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "\n", + "R = V/I #Resistance (in ohm)\n", + "p = R * A/l #Resistivity (in ohm-meter)\n", + "sig = 1/p #Conductivity (in siemen per meter)\n", + "n = sig / (q * un) #concentration (in per cubic-meter) \n", + "J = I/A #current density (in Ampere per square-meter)\n", + "v = J/(n*q)\n", + "\n", + "#Result\n", + "\n", + "print \"Concentration of free electrons is \",round(n,3),\" m**-3.\\nDrift velocity is \",v,\" m/s.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Concentration of free electrons is 1.92307692308e+21 m**-3.\n", + "Drift velocity is 650.0 m/s.\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.7 , Page Number 188" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 0.47 #Resistivity (in ohm-meter)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n", + "un = 0.39 #mobility of electron in germanium (in m**2 per volt-second)\n", + "up = 0.19 #mobility of hole in germanium (in m**2 per volt-second)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #Conductivity (in siemen per meter)\n", + "ni = sig / (q *(un +up)) #intrinsic concentration (in per cubic-meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Intrinsic concentration is \",ni,\" m**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Intrinsic concentration is 2.29273661042e+19 m**-3.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.8 , Page Number 190" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "ND = 10**21 #Donor concentration (in per cubic-meter)\n", + "NA = 5 * 10**20 #Acceptor concentration (in per cubic-meter)\n", + "un = 0.18 #mobility of electron in silicon (in m**2 per volt-second)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n", + "\n", + "\n", + "#Calculation\n", + "\n", + "n = ND -NA #net donor density (in per cubic-meter)\n", + "sig = n * q * un #Conductivity (in Siemen per meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Conductivity of silicon is \",sig,\" (ohm-meter)**-1.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Conductivity of silicon is 14.4 (ohm-meter)**-1.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.9 , Page Number 190" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 100.0 #resistivity (in ohm-meter)\n", + "q = 1.6 * 10**-19 #Charge on a electron (in Coulomb)\n", + "un = 0.36 #donor concentration (in per cubic-meter)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #conductivity (in siemen per meter)\n", + "n = sig /(q * un) #intrinsic concentration (in per cubic-meter)\n", + "ND = n #Donor concentration (in per cubic-meter) \n", + "\n", + "#Result\n", + "\n", + "print \"Donor concentration is \",ND,\" m**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Donor concentration is 1.73611111111e+17 m**-3.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.10 , Page Number 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "ND = 2 * 10**14 #Donor atom concentration (in atoms per cubic-centimeter)\n", + "NA = 3 * 10**14 #Acceptor atom concentration (in atoms per cubic-centimeter)\n", + "ni = 2.3 * 10**19 #intrinsic concentration (in atoms per cubic-centimeter)\n", + "\n", + "#Calculation\n", + "\n", + "n = ni**2 / NA #concentration of electrons (in electrons per cubic-centimeter)\n", + "p = ni**2 / ND #concentration of holes (in holes per cubic-centimeter)\n", + " \n", + "#Result\n", + "\n", + "print \"Electron concentration is \",n,\" electrons/cm**3.\\nHole concentration is \",p,\" holes/cm**3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Electron concentration is 1.76333333333e+24 electrons/cm**3.\n", + "Hole concentration is 2.645e+24 holes/cm**3.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.11 , Page Number 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "ND = 5 * 10**8 #Donor atom concentration (in atoms per cubic-centimeter)\n", + "NA = 6 * 10**16 #Acceptor atom concentration (in atoms per cubic-centimeter)\n", + "ni = 1.5 * 10**10 #intrinsic concentration (in atoms per cubic-centimeter)\n", + "\n", + "#Calculation\n", + "\n", + "n = ni**2/NA #number of electrons (in per cubic-centimeter)\n", + "p = ni**2/ND #number of holes (in per cubic-centimeter)\n", + "\n", + "#Result\n", + "\n", + "print \"Density of electrons is \",n,\" cm**-3.\\nDensity of holes is \",p,\" cm**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Density of electrons is 3750.0 cm**-3.\n", + "Density of holes is 4.5e+11 cm**-3.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.12 , Page Number 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "d = 0.001 #diameter (in meter)\n", + "ND = 10**20 #Number of phosphorus ions (in per cubic-meter)\n", + "R = 1000 #Resistance (in ohm)\n", + "un = 0.1 #mobility (in meter-square per volt-second)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "n = ND #Number of free electron (in per cubic-meter)\n", + "sig = q*n*un #conductivity (in Siemen per meter)\n", + "A = math.pi * d**2 / 4 #Area of cross section (in meter-square)\n", + "l = R * sig * A #length (in meter) \n", + "\n", + "#Result\n", + "\n", + "print \"Length of the silicon would be \",round(l*1000,3),\" mm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length of the silicon would be 1.257 mm.\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.13 , Page Number 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "q = 1.6 * 10**-19 #Charge on electron (in Coulomb) \n", + "sig = 100.0 #Conductivity of Ge (in per ohm-centimeter)\n", + "sig1 = 0.1 #Conductivity of Si (in per ohm-centimeter)\n", + "ni = 1.5 * 10**10 #intrinsic conductivity for Si (in per cubic-centimeter)\n", + "un = 3800.0 #mobility of electrons for Ge (in square-centimetermeter per volt-second)\n", + "up = 1800.0 #mobility of holes for Ge (in square-centimeter per volt-second)\n", + "un1 = 1300.0 #mobility of electrons for Si (in square-centimetermeter per volt-second)\n", + "up1 = 500.0 #mobility of holes for Si (in square-centimeter per volt-second)\n", + "ni1 = 2.5 * 10**13 #intrinsic concentration for Ge (in per cubic-centimeter)\n", + "\n", + "#Calculation\n", + "\n", + "p = sig / (q * up) #Concentration of p-type germanium (in cubic-centimeter)\n", + "n = ni1**2 / p #Concentration of electrons in germanium (in cubic-centimeter)\n", + "n1 = sig1 / (q * un1) #Concentration of N-type silicon (in cubic-centimeter)\n", + "p1 = ni**2 / n1 #Concentration of holes in silicon (in cubic-centimere)\n", + "\n", + "#Result\n", + "\n", + "print \"For p-type germanium, hole concentration is \",p,\"/cm**3.\\nFor p-type germanium, electron concentration is \",n,\"/cm**3.\"\n", + "print \"For n-type silicon, hole concentration is \",p1,\"/cm**3.\\nFor n-type silicon, electron concentration is \",n1,\"/cm**3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For p-type germanium, hole concentration is 3.47222222222e+17 /cm**3.\n", + "For p-type germanium, electron concentration is 1800000000.0 /cm**3.\n", + "For n-type silicon, hole concentration is 468000.0 /cm**3.\n", + "For n-type silicon, electron concentration is 4.80769230769e+14 /cm**3.\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.14 , Page Number 193" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "un = 3800 #mobility of electrons (in centimeter-square per volt-second)\n", + "up = 1800 #mobility of holes (in centimeter-square per volt-second)\n", + "ni = 2.5 * 10**13 #intrinsic concentration (in per cubic-centimeter)\n", + "Nge = 4.41 * 10**22 #concentration of germanium (in per cubic-centimeter)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n", + "\n", + "#Calculation\n", + "\n", + "ND = Nge/10**8 #Number of donor atoms (in per cubic-centimeter)\n", + "p = p = ni**2/ND #Number of holes (in per cubic-centimeter)\n", + "sig = q * ND * un #Conductivity of n-type germanium (in per ohm-centimeter)\n", + "p = 1/sig #resistivity (in ohm-centimeter)\n", + "\n", + "#Result\n", + "\n", + "print \"resistivity of the germanium sample is \",round(p,3),\" ohm-cm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "resistivity of the germanium sample is 3.73 ohm-cm.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.15 , Page Number 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "un = 1350 #mobility of electrons (in centimeter-square per volt-second)\n", + "up = 480 #mobility of holes (in centimeter-square per volt-second)\n", + "ni = 1.52 * 10**10 #intrinsic concentration (in per cubic-centimeter)\n", + "Nsi = 4.96 * 10**22 #concentration of silicon (in per cubic-centimeter)\n", + "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n", + "\n", + "#Calculation\n", + "\n", + "sigi = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-centimeter)\n", + "p = 1/sig #resitivity (in ohm-centimeter)\n", + "ND = Nsi/(50 * 10**6) #Number of donor atoms (per cubic-centimeter)\n", + "n = ND #NUmber of free electrons (in per cubic-centimeter)\n", + "p = ni**2/n #number of holes (in per cubic-centimeter)\n", + "sig = q * n * un #conductivity of doped silicon (in per ohm-centimeter)\n", + "p = 1/sig #resistivity (in ohm-centimeter)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistivity of doped silicon is \",round(p,2),\" ohm-cm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistivity of doped silicon is 4.67 ohm-cm.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.16 , Page Number 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variables\n", + "\n", + "up = 0.048 #hole mobility (in meter-square per volt-second)\n", + "un = 0.135 #electron mobility (in meter-square per volt-second)\n", + "q = 1.602 * 10**-19 #charge on electron (in Coulomb)\n", + "Nsi1 = 5 * 10**28 #concentration of intrinsic silicon (in atoms per cubic-meter)\n", + "ni = 1.5 * 10**16 #number of electron-hole pairs (per cubic-meter)\n", + "alpha = 0.05 #temperature coefficient (in per degree Celsius)\n", + "dT = 14 #change in temperature (in degree celsius)\n", + "\n", + "#Calculation\n", + "\n", + "sig1 = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-meter)\n", + "NA = Nsi1/10**7 #Number of indium atoms (in per cubic-meter)\n", + "p = NA #Number of holes (in per cubic meter)\n", + "n = ni**2/p #Number of free electrons (in per cubic-meter)\n", + "sig2 = q * p * up #Conductivity of doped silicon (in per ohm-meter)\n", + "sig34 = sig1*(1 + alpha * dT) #Conductivity at 34 degree Celsius (in per ohm-meter) \n", + "\n", + "#Result\n", + "\n", + "print \"Conductivity of intrinsic silicon is \",round(sig1,5),\" per ohm-meter.\\nConductivity of doped Silicon is \",round(sig2,2),\" per ohm-meter.\\nConductivity of silicon at 34 degree Celsius is \",round(sig34,5),\" per ohm-meter.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Conductivity of intrinsic silicon is 0.00044 per ohm-meter.\n", + "Conductivity of doped Silicon is 38.45 per ohm-meter.\n", + "Conductivity of silicon at 34 degree Celsius is 0.00075 per ohm-meter.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.17 , Page Number 199" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "un = 3600.0 * 10**-4 #mobility of electrons (in meter-square per volt-second)\n", + "up = 1700.0 * 10**-4 #mobility of holes (in meter-square per volt-second)\n", + "k = 1.38 * 10**23 #Boltzmann constant\n", + "T = 300.0 #Temperature (in kelvin)\n", + "\n", + "#Calculation\n", + "\n", + "VT = T/11600 #Voltage (in volts)\n", + "Dp = up * VT #Coefficient of holes (in meter-square per second)\n", + "Dn = un * VT #Coefficient of electrons (in meter-square per second)\n", + "\n", + "#Result\n", + "\n", + "print \"Coefficient of holes is \",round(Dp,6),\" m**2/s.\\nCoefficient of electrons is \",round(Dn,4),\" m**2/s.\"\n", + "#un and up in book should be in (cm**2/V-sec)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Coefficient of holes is 0.004397 m**2/s.\n", + "Coefficient of electrons is 0.0093 m**2/s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.18 , Page Number 202" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RH = 160 #Hall coeffficient (in cubic-centimeter per Coulomb)\n", + "p = 0.16 #Resistivity (in ohm-centimeter)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #Conductivity (in per ohm-centimeter)\n", + "un = sig * RH #Electron mobility (in cmentimeter-square per volt-second)\n", + "\n", + "#Result\n", + "\n", + "print \"Electron mobility is \",un,\" cm**2/V-s.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Electron mobility is 1000.0 cm**2/V-s.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.19 , Page Number 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 50 #Current (in Ampere)\n", + "B = 1.2 #Magnetic field (in Weber per meter-square)\n", + "t = 0.5 * 10**-3 #thickness (in meter)\n", + "VH = 100 #Hall coltage (in volts)\n", + "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "n = B * I / (VH * q * t) #number of conduction electrons (in per cubic-meter) \n", + "\n", + "#Result\n", + "\n", + "print \"Number of conduction electrons is \",n,\" m**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Number of conduction electrons is 7.5e+21 m**-3.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.20 , Page Number 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 20 * 10**-2 #Resistivity (in ohm-meter)\n", + "u = 100 * 10**-4 #mobility (in meter-square per volt-second)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #Conductivity (in per ohm-meter)\n", + "n = sig / (q * u) #number of electron carriers (in per cubic-meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Number of electron carriers is \",round(n,1),\" m**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Number of electron carriers is 3.125e+21 m**-3.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.21 , Page Number 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RH = 3.66 *10**-4 #Hall coefficient (in cubic-meter per Coulomb)\n", + "p = 8.93 * 10 **-3 #Resistivity (in ohm-meter)\n", + "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #Conductivity (in per ohm-meter)\n", + "u = sig * RH #mobility (in meter-square per volt-second)\n", + "n = 1 / (RH * q) #Density of charge carriers (in per cubic-meter)\n", + "\n", + "#Result\n", + "\n", + "print \"Mobility of charge carriers is \",round(u,3),\" m**2/V-s.\\nDensity of charge carriers is \",n,\" m**-3.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mobility of charge carriers is 0.041 m**2/V-s.\n", + "Density of charge carriers is 1.70765027322e+22 m**-3.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.22 , Page Number 204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "p = 9 * 10**-3 #Resistivity (in ohm-meter)\n", + "up = 0.03 #Mobility (in meter-square per volt-second)\n", + "\n", + "#Calculation\n", + "\n", + "sig = 1/p #Conductivity (in per ohm-meter)\n", + "RH = up / sig #Hall coefficient (in cubic-meter per Coulomb) \n", + "\n", + "#Result\n", + "\n", + "print \"Value of Hall-coefficient is \",RH,\" m**3/C.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of Hall-coefficient is 0.00027 m**3/C.\n" + ] + } + ], + "prompt_number": 15 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_2.ipynb new file mode 100644 index 00000000..fd5aacd4 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_2.ipynb @@ -0,0 +1,715 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 , PN Junction Diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current throrough diode is 10.72 micro-Ampere.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I0 = 2 * 10**-7 #Current (in Ampere)\n",
+ "VF = 0.1 #Forward voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = I0 * (math.exp(40*VF)-1) #Current through diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current throrough diode is \",round(I*10**6,2),\" micro-Ampere.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diode current is 5.2 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VF = 0.22 #Forward voltage (in volts)\n",
+ "T = 298.0 #Temperature (in kelvin)\n",
+ "I0 = 10**-3 #Current (in Ampere)\n",
+ "n = 1\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0*(exp(VF/(n*VT))-1) #Diode Current (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Diode current is \",round(I,1),\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of n is 1.18 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I1 = 0.5 * 10**-3 #Diode current1 (in Ampere)\n",
+ "V1 = 340 * 10**-3 #Voltage1 (in volts)\n",
+ "I2 = 15 * 10**-3 #Diode current2 (in Ampere)\n",
+ "V2 = 440 * 10**-3 #Voltage2 (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = 4/math.log(30) #By solving both the given equations\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of n is \",round(n,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.4 , Page Number 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current at 400 k is 10.2 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I300 = 10 * 10**-6 #Current at 300 kelvin (in Ampere)\n",
+ "T1 = 300 #Temperature (in kelvin)\n",
+ "T2 = 400 #Temperature (in kelvin)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I400 = I300 * 2**((T2-T1)/10) #Current at 400 kelvin (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current at 400 k is \",round(I400*10**3,1),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.5 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across a silicon diode is 0.624 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rb = 2 #bulk resistance (in ohm)\n",
+ "IF = 12 * 10**-3 #FOrward current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VF = 0.6 + IF * rb #Voltage drop (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across a silicon diode is \",VF,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.6 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dynamic resistance in forward direction is 3.36 ohm.\n",
+ "Dynamic resistance in backward direction is 0.389 Mega-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T = 398.0 #Temperature (in kelvin)\n",
+ "I0 = 30 * 10**-6 #Reverse saturation current (in Ampere)\n",
+ "V = 0.2 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0 * (math.exp(V/VT)-1) #Diode current (in Ampere)\n",
+ "rac = VT/I0 * math.exp(-V/VT) #dynamic resistance in forward direction (in ohm)\n",
+ "rac1 = VT/I0 * math.exp(V/VT) #dynamic resistance in reverse direction (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Dynamic resistance in forward direction is \",round(rac,2),\" ohm.\\nDynamic resistance in backward direction is \",round(rac1/10**6,3),\" Mega-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.8 , Page Number 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum forward current is 0.5 A.\n",
+ "Breakdwon current that burns out the diode is 3.33 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PDmax = 0.5 #power dissipation (in watt)\n",
+ "VF = 1 #Forward voltage (in volts)\n",
+ "VBR = 150 #Breakdown voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IFmax = PDmax/VF #Maximum forward current (in Ampere)\n",
+ "IR = PDmax/VBR #Breakdwon current that burns out the diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum forward current is \",IFmax,\" A.\\nBreakdwon current that burns out the diode is \",round(IR*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.9 , Page Number 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across the diode is 5 V.\n",
+ "Voltage drop across the resistance is 0 V.\n",
+ "Current through the circuit is 0 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 330 #Resistance (in ohm)\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = VS #Voltage drop across diode (in volts)\n",
+ "VR = 0 #Voltage drop across the resistance (in volts)\n",
+ "I = 0 #Current through circuit\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across the diode is \",VD,\" V.\\nVoltage drop across the resistance is \",VR,\" V.\\nCurrent through the circuit is \",I,\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.10 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VD is 0 V.\n",
+ "Value of VR is 12.0 V.\n",
+ "Current through the circuit is 25.53 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source coltage (in volts)\n",
+ "R = 470.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = 0 #Voltage drop across diode (in volts)\n",
+ "VR = VS #Value of VR (in volts)\n",
+ "I = VS/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VD is \",VD,\" V.\\nValue of VR is \",VR,\" V.\\nCurrent through the circuit is \",round(I*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.11 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current through the circuit is 6.625 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "R1 = 330 #Resistance (in ohm)\n",
+ "R2 = 470 #Resistance (in ohm)\n",
+ "VD = 0.7 #Diode voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - 0.7)/RT #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through the circuit is \",I * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.12 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage across the resistor is 4.3 V.\n",
+ "The circuit current is 8.43 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "R = 510 #Resistance (in ohm)\n",
+ "VF = 0.7 #Forward voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR = VS - VF #Net voltage (in volts)\n",
+ "I = VR / R #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage across the resistor is \",VR,\" V.\\nThe circuit current is \",round(I * 10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.13 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.067 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = (VS - VD1 - VD2)/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.14 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.212 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12 #Source voltage (in volts)\n",
+ "R1 = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 1.8 * 10**3 #Resistance (in ohm)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - VD1 - VD2)/RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.15 , Page Number 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output Voltage in case 1 is 0 V.\n",
+ "Output Voltage in case 2 is 4.3 V.\n",
+ "Output Voltage in case 3 is 4.3 V.\n",
+ "Output Voltage in case 4 is 4.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 3.3 * 10**3 #Resitance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "V11 = V21 = 0 #Voltages (in volts)\n",
+ "V01 = 0 #Output Voltage (in volts)\n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "V21 = 0 #Voltage (in volts)\n",
+ "V22 = 5 #Voltage (in volts)\n",
+ "V02 = V22 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (c)\n",
+ "\n",
+ "V31 = 5 #Voltage (in volts)\n",
+ "V32 = 0 #Voltages (in volts)\n",
+ "V03 = V31 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (d)\n",
+ "\n",
+ "V41 = V42 = 5 #Voltages (in volts)\n",
+ "V04 = V41 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output Voltage in case 1 is \",V01,\" V.\\nOutput Voltage in case 2 is \",V02,\" V.\\nOutput Voltage in case 3 is \",V03,\" V.\\nOutput Voltage in case 4 is \",V04,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.16 , Page Number 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current in dc circuit is 1.0 mA.\n",
+ "a.c voltage drop across 51 ohm resistance is 0.485 mV.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d8870>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nf/gD/Nu/xWtTGrjwQucdt3Fj+eN33gkf/Wi8NsWBFxdPRa64wr0Uq1bteez3v3eeLX37xm9X0px9\ntnNHnj59z2N/+Yub1TYto6zjZPRod+/l+l5mzXKeYnnrV6iGvn1dje322/c8tmaNe8fy2ALgxcVT\nkf32cyWqX/xi9/07dsD//i9cW3aFnvzTvj187nPwX/+157Gf/AS+/OW21SRWzHXXwXe+s+ccbDfc\nAF/9qpsBoi1y9dVw443u3Snmpz91zYm9eydjV5R4cfE0yte+Br/5jRssWeDmm92gsLYwtUklvvQl\nN7XHpEkN+x56CFavbptNhQUuusg1mT7wQMO+l192Y2C+8IXk7Eqa44+HQYN2L6gtWeKaV6+5JjGz\nIiWnS/V4wmLQIPjmN+G881yn5PTp8L3vNW+6jzzSpYsriV5+uROVjRvhyivh/vvdpIxtlXbtXGHk\nggtcE9m++8LFF7u06tIlaeuSQ4Jf/9rNNzZggPOuu/hiV9MbODBp66LBi4unSb78ZVedHzvWVd8f\nfhiGD0/aquS54AI3svrcc91kg7/7Xb7mhmopJ5zg+uQ+8xnnkv3d7zrnkLbO0KGuf+XKK92y2V/5\nimsqzCt+bjGPx+PxNImfW8zj8Xg8iePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF\n4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj\n8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oROpuEgaJ2mOpPmSrq1wTq2kqZJmSKor2n+1pOnB\n/quL9h8h6XlJ0yRNkLRPSXgDJb0lKcdrvHk8Hk+6iUxcJNUANwHjgJHApZJGlJzTA/glcK6ZjQIu\nCvaPAj4NvBc4AjhH0sHBZb8FrjGz0cCDwNdLov4J8NdIbioD1NXVJW1CpOT5/vJ8b+Dvr60RZc3l\nGGCBmdWb2XbgHuC8knMuA+43s+UAZrY22H8o8KKZvWNmO4FngA8Fx4aZ2aRg++/AhYXAJJ0PLAJm\nRXFDWSDvD3ie7y/P9wb+/toaUYpLP2BZ0e/lwb5ihgE9JT0tabKkjwX7ZwAnSeopqTPwAaB/cGym\npIJIXQwMAJDUFbgGGB/6nXg8Ho+nWbSPMGyr4pwOwFHA6UBn4HlJL5jZHEk/BJ4A3gamAruCaz4J\n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\nRK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60c8a90>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rB = 1.0 #bulk resistance (in ohm)\n",
+ "V = 10 * 10**-3 #Signal Amplitude (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "R = 20.0 #Resitance (in kilo-ohm)\n",
+ "Vg = 20.0 #Source voltage (in volts)\n",
+ "I = (Vg - 0.7)/R #Current (in milli-Ampere) \n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "rj = 50.0 #junction resistance (in ohm)\n",
+ "re = rB + rj #a.c. resistance (n ohm)\n",
+ "rnet = re * (R*10**3)/(re + (R*10**3)) #Net resistance (in ohm)\n",
+ "V1 = V * re/(re + 1000) #Voltage drop across 51 ohm resitance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in dc circuit is \",round(I),\" mA.\\na.c voltage drop across 51 ohm resistance is \",round(V1*10**3,3),\" mV.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4*math.pi,4*math.pi,500)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,0.7 + 0.48*10**-3*y)\n",
+ "title(\"Total Voltage 'V' across the diode\")\n",
+ "xlabel(\"t(in seconds)->\")\n",
+ "ylabel(\"Voltage(in volts)->\")"
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_2.ipynb new file mode 100644 index 00000000..656038ce --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_2.ipynb @@ -0,0 +1,517 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:009fe668b9057f65f54dfdc4cba32c9ea1a6223a163ceb7443a11c41aea3d366" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 13 , Special Purpose Diodes and Opto-Electornic Devices" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.1 , Page Number 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "PZM = 500 #Power rating of zener diode (in milli-watt)\n", + "VZ = 6.8 #Zener voltage rating (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IZM = PZM / VZ #Maximum value of zener current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"THe value of IZM for the device is \",round(IZM,1),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "THe value of IZM for the device is 73.5 mA.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.2 , Page Number 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "PZM = 500 #Power rating of zener diode (in milli-watt)\n", + "df = 3.33 #derating factor (in milli-watt)\n", + "T1 = 75 #Temperature (in degree Celsius)\n", + "T2 = 50 #Temperature (in degree Celsius)\n", + "\n", + "#Calculation\n", + "\n", + "Tdf = df * (T1 - T2) #Total derating factor (in milli-watt)\n", + "PZ = PZM - Tdf #Maximimum power dissipating for the device (in milli-watt)\n", + "\n", + "#Result\n", + "\n", + "print \"The maximum power dissipation for the device is \",PZ,\" mW.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum power dissipation for the device is 416.75 mW.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.3 , Page Number 254" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IZ1 = 20 #Reverse current (in milli-Ampere)\n", + "IZ2 = 30 #Reverse current (in milli-Ampere)\n", + "VZ1 = 5.6 #Zener voltage (in volts)\n", + "VZ2 = 5.65 #Zener voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "dIZ = IZ2 - IZ1 #Change in reverse current (in milli-Ampere)\n", + "dVZ = VZ2 - VZ1 #Change in zener voltage (in volts)\n", + "rZ = dVZ / (dIZ * 10**-3) #Resistance of device (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Resistance of the zener diode is \",rZ,\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resistance of the zener diode is 5.0 ohm.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.4 , Page Number 254" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VZ = 4.7 #Zener voltage (in volts)\n", + "rZ = 15 #Resistance (in ohm)\n", + "IZ = 20 * 10**-3 #Current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "VZ1 = VZ + IZ * rZ #Terminal voltage of a zener diode (in volts)\n", + " \n", + "#Result\n", + "\n", + "print \"Terminal voltage of the zener diode is \",VZ1,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Terminal voltage of the zener diode is 5.0 V.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.5 , Page Number 262" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C1min = C2min = Cmin = 5 #Minimum capacitance (in pico-farad)\n", + "C1max = C2max = Cmax = 50 #Maximum capacitance (in pico-farad)\n", + "L = 10 #Inductance (in milli-Henry)\n", + " \n", + "#Calculation\n", + "\n", + "CTmin = C1min * C2min / (C1min + C2min) #Total minimum capacitance (in pico-farad)\n", + "CTmin = CTmin * 10**-12 #Total minimum capacitance (in farad)\n", + "L = 10 * 10**-3 #Inductance (in Henry)\n", + "f0max = 1/(2*math.pi*(L*CTmin)**0.5) #Maximun resonant frequency (in Hertz)\n", + "CTmax = C1max * C2max / (C1max + C2max) #Total maximum capacitance (in pico-farad)\n", + "CTmax = CTmax * 10**-12 #Total minimum capacitance (in farad)\n", + "f0min = 1/(2*math.pi*(L*CTmax)**0.5) #Minimum resonant frequency (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Tuning range for the circuit is between \",round(f0min * 10**-3),\" kHz and \",round(f0max * 10**-6,0),\" MHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Tuning range for the circuit is between 318.0 kHz and 1.0 MHz.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.6 , Page Number 266" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "T = 0.04 * 10**-6 #Time period (in seconds)\n", + "\n", + "#Calculation\n", + "\n", + "f = 1/T #Frequency (in Hertz)\n", + "f = f * 10**-6 #Frequency (in Mega-Hertz)\n", + "f5 = 5 * f #%th - harmonic (in Mega-Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of 5th harmonic is \",f5,\" MHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of 5th harmonic is 125.0 MHz.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.7 , Page Number 270" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vout = 8.0 #Output voltage (in volts)\n", + "VFmin = 1.8 #LED min voltage (in volts)\n", + "VFmax = 2.0 #LED max voltage (in volts)\n", + "IFmax = 16 * 10**-3 #Maximum current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "RS = (Vout - VFmin) / IFmax #Current limiting Resistor (in ohm)\n", + "RS1 = (Vout - VFmax) / IFmax #Current limiting Resistor 1 (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"In either case , the smallest standard-value resistor that has a value greater than \",RS, \" ohm or \",RS1,\" ohm is the 390 ohm resistor.\\nTherefore Rs should be 390 ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "In either case , the smallest standard-value resistor that has a value greater than 387.5 ohm or 375.0 ohm is the 390 ohm resistor.\n", + "Therefore Rs should be 390 ohm.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.8 , Page Number 271" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VDmin = 1.5 #minimum voltage drop (in volts)\n", + "VDmax = 2.3 #maximum voltage drop (in volts)\n", + "VS = 10 #Source voltage (in volts)\n", + "R1 = 470 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Imax = (VS - VDmin) / R1 #Maximum current (in Ampere)\n", + "Imin = (VS - VDmax) / R1 #Minimum current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Minimum value of LED current is \",round(Imin * 10**3,1),\" mA.\\nMaximum value of LED current is \",round(Imax * 10**3,1),\" mA.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Minimum value of LED current is 16.4 mA.\n", + "Maximum value of LED current is 18.1 mA.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.9 , Page Number 271" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VDmin = 1.8 #minimum voltage drop (in volts)\n", + "VDmax = 3.0 #maximum voltage drop (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "#Case 1\n", + "\n", + "VS = 24.0 #Source voltage (in volts)\n", + "RS = 820.0 #Resistance (in ohm)\n", + "Imax = (VS - VDmin) / RS #Maximum current (in Ampere)\n", + "Imin = (VS - VDmax) / RS #Minimum current (in Ampere)\n", + "dI = Imax - Imin #Change in current (in Ampere)\n", + "\n", + "#Case 2\n", + "\n", + "VS1 = 5.0 #Source voltage (in volts)\n", + "RS1 = 120.0 #Resistance (in ohm)\n", + "Imax1 = (VS1 - VDmin) / RS1 #Maximum current (in Ampere)\n", + "Imin1 = (VS1 - VDmax) / RS1 #Minimum current (in Ampere)\n", + "dI1= Imax1 - Imin1 #Change in current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Since change in current in case 1 i.e\",round(dI*10**3,2),\"mA is less than change in current in case 2 i,e,\",round(dI1* 10**3,2),\" mA.\" \n", + "print \"Therefore brightness in the first case will remain constant.\"\n", + "\n", + "#printing mistake in book for value of VDmin. It should be 1.8 volts instead of 1.1 volts." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Since change in current in case 1 i.e 1.46 mA is less than change in current in case 2 i,e, 10.0 mA.\n", + "Therefore brightness in the first case will remain constant.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.10 , Page Number 281" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 100.0 * 10**3 #Resistance when illuminated (in ohm)\n", + "r = 1.0 * 10**3 #cell resistance (in ohm)\n", + "I = 10.0 * 10**-3 #Current (in Ampere)\n", + "VS = 30 #Source voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "R = VS/I - r #R is the series resitance (in ohm)\n", + "Id = VS / (R + R1) #Dark current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Ther series resistance required is \",R/1000,\" kilo-ohm.\\nThe dark current is \",round(Id * 10**3,1),\" A.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ther series resistance required is 2.0 kilo-ohm.\n", + "The dark current is 0.3 A.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.11 , Page Number 284" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V = 12.0 #Battery voltage (in volts)\n", + "I = 0.5 #Current (in Ampere)\n", + "T = 24 #Time period (in hours)\n", + "V1 = 0.5 #Voltage by each cell (in volts)\n", + "I1 = 50 * 10**-3 #Current in each cell (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "VS = 13.5 #Solar bank voltage (in volts)\n", + "n = VS / V1 #Number of series connected solar cells \n", + "Q = T/2 * I #Charge given out in one day (in Ampere-Hour)\n", + "I2 = Q / (T/2) #Charging current (in Ampere)\n", + "N = I2/I1 #Number of groups of solar cell required \n", + "nT = n * N #Total number of solar cells required \n", + "\n", + "#Result\n", + "\n", + "print \"Total cells required is \",nT,\".\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total cells required is 270.0 .\n" + ] + } + ], + "prompt_number": 11 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_2.ipynb new file mode 100644 index 00000000..5b0c9312 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_2.ipynb @@ -0,0 +1,586 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:2230f558abad311ac9e2b809ce74f917fbf18727096bb922bf424293f0d38ca4" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 14 , Bipolar Junction Transistor" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.1 , Page Number 308" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IE = 10 #Emitter current (in milli-Ampere)\n", + "IC = 9.8 #Collector current (in milli-Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "IB = IE - IC #Base current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Base current is \",IB,\" mA.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Base current is 0.2 mA.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.2 , Page Number 310" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IE = 6.28 #Emitter current (in milli-Ampere)\n", + "IC = 6.20 #Collector current (in milli-Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "alpha = IC / IE #Common base current gain \n", + "\n", + "#Result\n", + "\n", + "print \"Common-Base current gain is \",round(alpha,3),\".\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Common-Base current gain is 0.987 .\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.3 , Page Number 310" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "alpha = 0.967 #common base current gain\n", + "IE = 10 #Emitter current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "IC = alpha * IE #Collector current (in milli-Ampere)\n", + "IB = IE - IC #Base current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Base current is \",IB,\" mA.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Base current is 0.33 mA.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.4 , Page Number 311" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IE = 10 #Emitter current (in milli-Ampere)\n", + "alpha = 0.987 #common base current gain\n", + "\n", + "#Calculation\n", + "\n", + "IC = alpha * IE #Collector current (in milli-Ampere)\n", + "IB = IE - IC #Base current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"IC is \",IC,\" mA.\\nIB is \",IB,\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "IC is 9.87 mA.\n", + "IB is 0.13 mA.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.5 , Page Number 312" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "alpha1 = 0.975 #common base current gain\n", + "beta1 = 200.0 #common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "beta = alpha1 / (1-alpha1) #common emitter current gain \n", + "alpha = beta1 / (beta1 + 1) #common base current gain \n", + "\n", + "#Result\n", + "\n", + "print \"Value of beta when alpha = 0.975 is \",beta,\".\\nValue of alpha when beta = 200 is \",round(alpha,3),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of beta when alpha = 0.975 is 39.0 .\n", + "Value of alpha when beta = 200 is 0.995 .\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.6 , Page Number 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "beta = 100.0 #common emitter current gain\n", + "IC = 40.0 #Collector current (in milli-Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "IB = IC / beta #Base current (in milli-Ampere)\n", + "IE = IB + IC #Emitter current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of emitter current is \",IE,\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of emitter current is 40.4 mA.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.7 , Page Number 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "beta = 150.0 #common emitter current gain\n", + "IE = 10 #Emitter current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "alpha = beta / (beta + 1) #common base current gain \n", + "IC = alpha * IE #Collector current (in milli-Ampere)\n", + "IB = IE - IC #Base current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Collector current is \",round(IC,2),\" mA.\\nBase current is \",round(IB,2),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Collector current is 9.93 mA.\n", + "Base current is 0.07 mA.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.8 , Page Number 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "beta = 170.0 #common emitter current gain\n", + "IC = 80.0 #Collector current (in milli-Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "IB = IC / beta #Base current (in milli-Ampere)\n", + "IE = IB + IC #Emitter current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Base current is \",round(IB,2),\" mA.\\nEmitter current is \",round(IE,2),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Base current is 0.47 mA.\n", + "Emitter current is 80.47 mA.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.9 , Page Number 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IB = 0.125 #Base current (in milli-Ampere)\n", + "beta = 200.0 #common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IC = IB * beta #Collector current (in milli-Ampere)\n", + "IE = IC + IB #Emitter current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n", + "\n", + "#Correction in book . The Value of IB is 0.125 mA." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of collector current is 25.0 mA.\n", + "Value of emitter current is 25.125 mA.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.10 , Page Number 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IE = 12.0 #Emitter current (in milli-Ampere)\n", + "beta = 140.0 #common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IB = IE / (1 + beta) #Base current (in milli-Ampere)\n", + "IC = IE - IB #Collector current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Collector current is \",round(IC,3),\" mA.\\nBase current is \",round(IB,3),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Collector current is 11.915 mA.\n", + "Base current is 0.085 mA.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.11 , Page Number 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IB = 105 * 10**-3 #Base current (in milli-Ampere)\n", + "IC = 2.05 #Collector current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "beta = IC / IB #Common base current gain\n", + "alpha = beta / (1 + beta) #Common emitter current gain\n", + "IE = IB + IC #Emitter current (in milli-Ampere)\n", + "IC1 = IC + 0.65 #New collector current (in milli-Ampere)\n", + "IB1 = IB + 27 * 10**-3 #New base current (in milli-Ampere) \n", + "beta1 = IC1 / IB1 #New value of beta\n", + "\n", + "#Result\n", + "\n", + "print \"Beta of the transistor is \",round(beta,1),\".\\nalpha of the transistor is \",round(alpha,2),\".\\nEmitter current is \",IE,\" mA.\\nNew value of beta is \",round(beta1,2),\".\"\n", + "\n", + "#Correction to be done in book in value of IB . IB is in micro - Ampere in both initial and in the changed condition. In calculation proper conversion has been done." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Beta of the transistor is 19.5 .\n", + "alpha of the transistor is 0.95 .\n", + "Emitter current is 2.155 mA.\n", + "New value of beta is 20.45 .\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.12 , Page Number 317" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "alpha = 0.98 #common base current gain\n", + "ICO = 5 * 10**-3 #Leakage current (in milli-Ampere)\n", + "IB = 100 * 10**-3 #Base current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "IC = (alpha * IB + ICO)/ (1 - alpha) #Collector current (in milli-Ampere)\n", + "IE = IC + IB #Emitter current (in milli-Ampere) \n", + "\n", + "#Result\n", + "\n", + "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n", + "\n", + "#Correction about conversion of micro-Ampere and milli-Ampere to be done in the book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of collector current is 5.15 mA.\n", + "Value of emitter current is 5.25 mA.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.13 , Page Number 318" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "ICBO = 10 * 10**-3 #Leakage current (in milli-Ampere)\n", + "beta = hFE = 50 #common emitter current gain\n", + "T2 = 50.0 #Temperature (in degree Celsius) \n", + "T1 = 27.0 #Temperature (in degree Celsius)\n", + "\n", + "#Calculation\n", + "\n", + "#Case (a)\n", + "\n", + "IB = 0.25 #Base current (in milli-Ampere)\n", + "IC = beta * IB + (1 + beta)* ICBO #Value of new collector current (in milli-Ampere)\n", + "\n", + "#Case (b)\n", + "\n", + "ICBO1 = ICBO * 2**((T2 - T1)/10) #ICBO at 50 degree celsius (in milli-Ampere)\n", + "IC1 = beta * IB + (1 + beta)* ICBO1 #Value of new collector current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Collector current when IB = 0.25 mA is \",IC,\" mA.\\nCollector current at 50 degree Celsius is \",round(IC1,2),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Collector current when IB = 0.25 mA is 13.01 mA.\n", + "Collector current at 50 degree Celsius is 15.01 mA.\n" + ] + } + ], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_2.ipynb new file mode 100644 index 00000000..a76f6609 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_2.ipynb @@ -0,0 +1,64 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:934b9f1a90e136e295951deeff35be6457078af8181c0ad14c05c8c2d9b3abed" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 15 , BJT Characteristics " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.1 , Page Number 331" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "PDmax = 500 #Maximum Power dissipation at 25 degree Celsius (in milli-watt)\n", + "DF = 2.28 #derating factor (in milli-watt per degree Celsius)\n", + "T = 70 #Temperaure (in degree Celsius)\n", + "\n", + "#Calculation\n", + "\n", + "PDmax70 = PDmax - DF * (T - 25) #Maximum Power dissipation at 70 degree Celsius (in milli-watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum power dissipation at 70 degree Celsius is \",round(PDmax70),\" mW.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum power dissipation at 70 degree Celsius is 397.0 mW.\n" + ] + } + ], + "prompt_number": 1 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_2.ipynb new file mode 100644 index 00000000..e935b533 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_2.ipynb @@ -0,0 +1,374 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 , Field-Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.1 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 15.0 mA.\n",
+ "Drain Current when VGS = -1 V is 9.6 mA.\n",
+ "Drain Current when VGS = -4 V is 0.6 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "IDSS = 15.0 #Drain-Source current (in milli-Ampere)\n",
+ "VGSoff = -5.0 #Gate-Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = 0 volts\n",
+ "VGS1 = 0 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - (VGS1 /VGSoff)**2) #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -1 volt\n",
+ "VGS2 = -1 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -4 volt\n",
+ "VGS3 = -4 #VGS (in volts) \n",
+ "ID3 = IDSS * (1 - VGS3 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.2 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 6.75 mA.\n",
+ "Drain Current when VGS = -1 V is 3.0 mA.\n",
+ "Drain Current when VGS = -4 V is 0.75 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60bccf0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60aa770>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoff = -20.0 #Gate-Source voltage (in volts)\n",
+ "IDSS = 12.0 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = -5 V \n",
+ "VGS1 = -5 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - VGS1/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -10 V\n",
+ "VGS2 = -10 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -15 V\n",
+ "VGS3 = -15 #VGS (in volts)\n",
+ "ID3 = IDSS * (1 - VGS3/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-20,0,100)\n",
+ "y = x\n",
+ "plot(x,12*(1+y/20)**2,'r')\n",
+ "title(\"transconductance curve\")\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.3 , Page Number 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum curve and minimum curves are plotted as shown in the following plots.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x621db30>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n4/znR7ZdAyx19++b2dXh+jUxjlVSevfuTf/+/QHo378/p59+OgDHHXccdXV1ALz//vtMmjSJl156\nCTNj165dQPAWbt68eQwYMIBLL72U4cOH73N8M2vIlI877jgOOeSQRuerq6vj+OOPbza+OO1POOGE\nhv03bdpEr169GDx4MND4HURzOnTowPjx4xuWR48ezaOPPsr48eP51a9+xezZs1m2bBnPP/88I0aM\nAGDnzp0Ny3mn2r0UoVY7fXevbO/B3f0pM2va/gvAKeHyPUANZdjp77fffg3LFRUVdOrUqWF59+7d\nAFx//fWcdtppLFq0iFdffZXq6uqGNi+++CJdu3blr3/9a7PniB6z6flS57BICWL79u1tbt+ajh07\nUl9f37D+0UcfNSzvv//+jc5//vnnM2fOHA4++GCGDh1K586dATjjjDO47777Yp0vJ1S7lyIWZxqG\nzmZ2fTiCBzM7yszGZHDOnu6+OVzeDPTM4Fgl7YMPPuDTYfZ49913N2z/29/+xhVXXMFTTz3Fu+++\ny4MPPgiQKo21Sc+ePXnhhReor69n0aJFjTrhtjjmmGN44403WLVqFQBbt25lz549VFZWUltbi7vz\n2muvsWLFimaPccopp7BmzRruvPNOzj//fABOOukkli9fzssvvwzAtm3b+OMf/9iuGLNCtXspcnHK\nO3cTzK2fek/9OrAQeCzTk7sHdd10z82cObNhubq6ulGWWwqadq7R9dTyVVddxeTJk7nppps466yz\nGrZfeeWVTJ06lSOPPJK77rqLUaNGMXLkSMws7XHSnS/l5ptvZsyYMfTo0YMhQ4Y0+pC0pfZN1zt1\n6sSCBQuYNm0a27dv58ADD+R3v/sdVVVV9O7dm379+nHsscc2lH/SHaOiooIxY8Zwzz33MH9+UBHs\n0aMH8+bNY+LEiezYsQOAWbNmcdRRR6W9nsQou5cCVFNTQ01NTZvaxBmyudrdB5vZWnc/Mdy2zt1P\naLHh3vaVwGJ3HxCuvwBUu/ubZtYLWObufZu08fZkrSKJiNbu585V7V4KVraGbO4wswMiB+0D7Mgg\nrkeByeHyZODhDI4lkhzNiCklKE55ZybwG+AwM7sPqCIY0dMqM/sFwYe2nzSz14AbgJuB+83sYqAO\nmND8EUTyRCNzpES1WN4xswrgXOBx4ORw87Pu/naiQam8I/mi2r0UsTjlndg1/axG1gp1+pIXqt1L\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x608d550>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoffmin = -2.0 #Gate-Source voltage (in volts)\n",
+ "VGSoffmax = -6.0 #Gate-Source voltage (in volts)\n",
+ "IDSSmin = 8.0 #Drain-Source current (in milli-Ampere)\n",
+ "IDSSmax = 20 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#ID = IDSS * (1 - VGS/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Plotting different values of VGS in the graph\n",
+ "\n",
+ "#Result\n",
+ "print \"The maximum curve and minimum curves are plotted as shown in the following plots.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x1 = numpy.linspace(-2,0,2)\n",
+ "y1 = x1\n",
+ "plot(x1,8 * (1 + y1/2)**2)\n",
+ "x2 = numpy.linspace(-6,0,2)\n",
+ "y2 = x2\n",
+ "plot(x2,20 * (1 + y2/6)**2,'r')\n",
+ "title(\"VGs vs ID\")\n",
+ "xlabel(\"Gate-to-Source voltage (VGS)\")\n",
+ "ylabel(\"Drain current ID (mA)\")\n",
+ "annotate(\"maximum curve\",xy=(-5,10))\n",
+ "annotate(\"minimum curve\",xy=(-2.5,5))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.4 , Page Number 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance is 3.0 mA/V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGS1 = -3.1 #Gate-Source voltage (in volts)\n",
+ "VGS2 = -3.0 #Gate-Source voltage (in volts)\n",
+ "ID1 = 1.0 #Drain current (in milli-Ampere) \n",
+ "ID2 = 1.3 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dVGS = VGS2 - VGS1 #Change in Gate-Source voltage (in volts)\n",
+ "dID = ID2 - ID1 #Change in Drain current (in milli-Ampere)\n",
+ "gm = dID / dVGS #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance is \",gm,\" mA/V.\"\n",
+ "\n",
+ "#Calculation error in book in the value of gm."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.5 , Page Number 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance at VGS = -4 V is 2500.0 micro-S.\n",
+ "The value of drain current at VGs = -4 V is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "IDSS = 20.0 #Drain-Source current (in milli-Ampere)\n",
+ "VP = -8.0 #Peak-point Voltage (in volts)\n",
+ "VGS = -4.0 #Gate-Source voltage (in volts)\n",
+ "gmo = 5000 * 10**-3 #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = IDSS * (1 - VGS/VP)**2 #Drain current (in milli-Ampere)\n",
+ "gm = gmo * (1 - VGS/VP) #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance at VGS = -4 V is \",gm * 10**3,\" micro-S.\\nThe value of drain current at VGs = -4 V is \",ID,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.6 , Page Number 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\n",
+ "The value of ID when VGS = -6 V is 1.08 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDon = 10.0 #Drain current (in milli-Ampere)\n",
+ "VGS = -12.0 #Gate-Source voltage (in volts)\n",
+ "VGSth = -3.0 #Threshold Gate-Source voltage (in volts)\n",
+ "VGS1 = -6.0 #Gate-Source voltage in another case (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "K = IDon/(VGS - VGSth)**2 #Transconductance (milli-Ampere per volt)\n",
+ "ID = round(K,2) * (VGS1 - VGSth)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\"\n",
+ "print \"The value of ID when VGS = -6 V is \",ID,\" mA.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_2.ipynb new file mode 100644 index 00000000..af280168 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_2.ipynb @@ -0,0 +1,232 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3cb8b8fdc520e3f251797ccdf611bc794aa673624b9c79bd4319b62d207fbf87" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 17 , Thyristors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 17.1 , Page Number 379" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "I = 40 #Current (in milli-Ampere)\n", + "t = 15 * 10**-3 #time (in seconds)\n", + "CFS = 93 #Circuit fusing rate (in Ampere-square second)\n", + "\n", + "#Calculation\n", + "\n", + "SCR = I**2 * t #Surge in the device (in Ampere-square second) \n", + "\n", + "#Result\n", + "\n", + "print \"Since value of SCR i.e. \",SCR,\" A**2s is less than CFS i.e. \",CFS,\" A**2s.\"\n", + "print \"Therefore the device will not be destroyed.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Since value of SCR i.e. 24.0 A**2s is less than CFS i.e. 93 A**2s.\n", + "Therefore the device will not be destroyed.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 17.2 , Page Number 379" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "SCR = I2t = 75.0 #SCR (in Ampere-square second)\n", + "IS = 100.0 #Current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "tmax = I2t / IS**2 #Maximum allowable time (in seconds)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum allowable time is \",tmax * 10**3,\" ms.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum allowable time is 7.5 ms.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 17.3 , Page Number 385" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VD = 0.7 #Voltage (in volts)\n", + "n = 0.75 #Intrinsic stand-off ratio\n", + "VBB = 12 #Base Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "VP = n * VBB + VD #Peak-point voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Peak - point voltage of the circuit is \",VP,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Peak - point voltage of the circuit is 9.7 V.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 17.4 , Page Number 385" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "rB1 = 4.0 #Resistance (in kilo-ohm)\n", + "rB2 = 2.5 #Resistance (in kilo-ohm)\n", + "VBB = 15.0 #Base voltage (in volts)\n", + "VD = 0.7 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "n = rB1 / (rB1 + rB2) #Intrinsic stand-off ratio\n", + "VP = n * VBB + VD #Peak-point voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Intrinsic stand off ratio is \",round(n,4),\".\\nPeak-point voltage is \",round(VP), \"V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Intrinsic stand off ratio is 0.6154 .\n", + "Peak-point voltage is 10.0 V.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 17.5 , Page Number 385" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "n = 0.60 #Intrinsic stand-off ratio\n", + "rBB = 7.0 #Base- Bulk resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "rB1 = n * rBB #Resistance (in ohm)\n", + "rB2 = rBB - rB1 #Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Static values of rB1 is \",rB1,\" kilo-ohm and of rB2 is \",rB2,\" kilo-ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Static values of rB1 is 4.2 kilo-ohm and of rB2 is 2.8 kilo-ohm.\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_2.ipynb new file mode 100644 index 00000000..b30b4176 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_2.ipynb @@ -0,0 +1,631 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:398dcff950c67b00555f24b637405121303e07cac0f80c5eade231735344738f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 19 , Rectifiers and Filters" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.1 , Page Number 430" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V1 = 230.0 #Primary voltage (in volts)\n", + "N2byN1 = 1.0/10 #Turns ratio\n", + "\n", + "#Calculation\n", + "\n", + "V2 = V1 * N2byN1 #Secondary voltage (in ratio)\n", + "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n", + "Vdc = 0.318 * Vm #dc output voltage (in volts)\n", + "PIV = Vm #Peak inverse voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"dc output voltage is \",round(Vdc,1),\" V.\\nPIV of the diode is \",round(PIV,1),\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dc output voltage is 10.3 V.\n", + "PIV of the diode is 32.5 V.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.2 , Page Number 431" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RL = 20 #Load resistance (in kilo-ohm)\n", + "V2 = 24 #Secondary voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n", + "Im = Vm / RL #Maximumj value of load current (in milli-Ampere)\n", + "Idc = 0.318 * Im #dc current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of dc load current is \",round(Idc,3),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of dc load current is 0.54 mA.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.3 , Page Number 431" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V1 = 230 #Primary voltage (in volts)\n", + "N2byN1 = 1.0/2.0 #Turns ratio\n", + "RL = 200 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n", + "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n", + "Im = Vm / RL #Maximum value of load current (in Ampere)\n", + "Pm = Im**2 * RL #Maximum value of load power (in watt)\n", + "Vdc = 0.318 * Vm #Average value of load power (in watt)\n", + "Idc = Vdc / RL #Average value of load current (in Ampere)\n", + "Pdc = Idc**2 * RL #Average value of load power (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum value of load power is \",round(Pm,1),\" W.\"\n", + "print \"Average value of load power is \",round(Pdc,1),\" W.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum value of load power is 132.3 W.\n", + "Average value of load power is 13.4 W.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.4 , Page Number 432" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vdc = 30.0 #Average value of voltage (in volts)\n", + "RL = 600.0 #Load resistance (in ohm)\n", + "Rf = 25.0 #forward resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Idc = Vdc / RL #Average value of load current (in Ampere)\n", + "Im = round(math.pi * Idc,3) #Maximum value of load current (in Ampere) \n", + "Vinmax = Im * (Rf + RL) #Maximum a.c. voltage required at the input (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum a.c. voltage required at the input is \",Vinmax,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum a.c. voltage required at the input is 98.125 V.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.5 , Page Number 436" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V2 = 30.0 #secondary voltage (in volts)\n", + "RL = 5.1 #Load resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n", + "Vm = 2**0.5 * VS #maximum value of voltage (in volts)\n", + "Vdc = 0.636 * Vm #dc output voltage (in volts)\n", + "Idc = Vdc / RL #dc load current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nThe dc output current is \",round(Idc,3),\" mA.\" \n", + "\n", + "#Slight variation in value of Idc due to less precision used in book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dc output voltage is 13.5 V.\n", + "The dc output current is 2.645 mA.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.6 , Page Number 440" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V1 = 230.0 #primary voltage (in volts)\n", + "N2byN1 = 1.0/4.0 #Turns ratio\n", + "RL = 200 #Load resistance (in ohm)\n", + "fin = 50 #Frequency (in hertz)\n", + "\n", + "#Calculation\n", + "\n", + "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n", + "Vm = 2**0.5 * V2 #Maximum value of voltage (in volts)\n", + "Vdc = 0.636 * Vm #Average value of voltage (in volts)\n", + "PIV = Vm #peak inverse voltage (in volts)\n", + "fout = 2 * fin #Output frequency (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse Voltage of a diode is \",round(PIV,1),\" V.\\nOutput frequency is \",fout,\" HZ.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dc output voltage is 51.7 V.\n", + "Peak inverse Voltage of a diode is 81.3 V.\n", + "Output frequency is 100 HZ.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.7 , Page Number 444" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V1 = 230.0 #primary voltage (in volts)\n", + "N2byN1 = 1.0/5.0 #Turns ratio\n", + "RL = 100 #Load resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n", + "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n", + "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n", + "Vdc = 2/math.pi * Vm #Averaage value of Voltage (in volts)\n", + "PIV = 2 * Vm #Peak inverse voltage (in volts)\n", + "n = 0.812 #Efficiency of full wave rectifier\n", + "\n", + "#Result\n", + "\n", + "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse voltage is \",round(PIV),\" V.\\nRectification efficiency is \",n,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dc output voltage is 20.7 V.\n", + "Peak inverse voltage is 65.0 V.\n", + "Rectification efficiency is 0.812 .\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.8 , Page Number 445" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 200 #Voltage between center - tap and either end of secondary winding (in volts)\n", + "Imax = 700 #Maximum value of current (in milli-Ampere)\n", + "Iavg = 250 #Average value of current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "Imax1 = 0.8 * Imax #Maximum value of current for normal operation (in milli-Ampere)\n", + "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n", + "RL = Vm / Imax1 #Load resistance (in kilo-ohm)\n", + "Vdc = 2 * Vm / math.pi #Average value of voltage (in volts)\n", + "Idc = Vdc / RL #Average value of current (in milli-Ampere)\n", + "PIV = 2 * Vm #peak Inverse voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of load resistor is \",round(RL,3), \"kilo-ohm.\\nThe dc load voltage and current is \",round(Vdc),\" V and \",Idc,\" mA.\\nPeak inverse voltage is \",round(PIV,2),\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of load resistor is 0.505 kilo-ohm.\n", + "The dc load voltage and current is 180.0 V and 356.507072526 mA.\n", + "Peak inverse voltage is 565.69 V.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.9 , Page Number 449" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vs = 150.0 #Voltage (in volts)\n", + "Idc = 2.0 #Average value of current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "Vdc = 2.34 * Vs #Average calue of voltage (in volts)\n", + "Ipi = 1/0.955 * Idc #Peak current per diode (in Ampere)\n", + "Iavg = 2.0/3.0 #Average current per diode (in AMpere)\n", + "Pdc = Vdc * Idc #Average power delievered to the load (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of Vdc is \",Vdc,\" V.\\nPeak current through each diode is \",round(Ipi,1),\" A.\\nAverage current through each diode is\",round(Iavg,2),\" A.\\nAverage power delievered to the load is \",Pdc,\" W.\"\n", + "\n", + "#Calculation error in calculating the value of Pdc in book. It's value is 702 but printed value is 701 watt. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of Vdc is 351.0 V.\n", + "Peak current through each diode is 2.1 A.\n", + "Average current through each diode is 0.67 A.\n", + "Average power delievered to the load is 702.0 W.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.10 , Page Number 454" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Case (a):\n", + "\n", + "#Variables\n", + "\n", + "f = 50.0 #Frequency (in Hertz)\n", + "g = 0.05 #Ripple factor\n", + "RL = 100.0 #Resistance (in ohm)\n", + "w = 2 * math.pi * f #Angular frequency (in radians per second) \n", + "\n", + "#Calculation\n", + "\n", + "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n", + "\n", + "#Result\n", + "\n", + "print \"Value of inductance is \",round(L,1),\" H.\"\n", + "\n", + "#Case (b):\n", + "\n", + "#Variables\n", + "\n", + "f = 400.0 #Frequency (in Hertz)\n", + "g = 0.05 #Ripple factor\n", + "RL = 100.0 #Resistance (in ohm)\n", + "w = 2 * math.pi * f #Angular frequency (in radians per second) \n", + "\n", + "#Calculation\n", + "\n", + "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n", + "\n", + "#Result\n", + "\n", + "print \"New Value of inductance is \",round(L,3),\" H.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of inductance is 1.5 H.\n", + "New Value of inductance is 0.188 H.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.11 , Page Number 455" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vdc = 30.0 #Average value of voltage (in volts)\n", + "RL = 1.0 #Resistance (in kilo-ohm)\n", + "gamma = 0.01 #Ripple factor\n", + "f = 50 #Frequency (in Hertz)\n", + "#Calculation\n", + "\n", + "C = 2890.0 / (gamma * RL) #Capacitance (in nano Farad)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of capacitance is \",C * 10**-3,\" micro-Farad.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of capacitance is 289.0 micro-Farad.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.12 , Page Number 456 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vdc = 12.0 #Average value of voltage (in volts)\n", + "Idc = 100.0 #Average value of current (in milli-Ampere) \n", + "gamma = 0.01 #Ripple factor\n", + "L = 1.0 #Inductance (in Henry) \n", + "\n", + "#Calculation\n", + "\n", + "C = 1.195 / (gamma * L) #Capacitance\n", + "\n", + "#Result\n", + "\n", + "print \"Capacitance is \",C,\" micro-Farad.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Capacitance is 119.5 micro-Farad.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 19.13 , Page Number 457" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Idc = 0.2 #Average value of current (in Ampere)\n", + "Vdc = 30.0 #Average value of voltage (in volts)\n", + "C1 = C2 = 100.0 #Capacitance (in milli-Farad)\n", + "L = 5.0 #Inductance (in Henry)\n", + "f = 50.0 #Frequency (in Hertz) \n", + "\n", + "#Calculation\n", + "\n", + "RL = Vdc / Idc #Load resistance (in ohm)\n", + "gamma = 5700.0 / (C1 * C2 * RL * L) #Ripple factor\n", + " \n", + "#Result\n", + "\n", + "print \"Ripple factor for 50 Hz supply is \",gamma,\".\"\n", + "\n", + "#Correction to be done in the formula for ripple factor used in the question. \n", + "#gamma = 5700 / (c1 * C2 * RL * L) --> right formula." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ripple factor for 50 Hz supply is 0.00076 .\n" + ] + } + ], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_2.ipynb new file mode 100644 index 00000000..1f38d9f5 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_2.ipynb @@ -0,0 +1,1073 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3f6f8c6aa40baa220c4ea0b8e7685dc9b0e8f03f18d988b32da3acf61ee85875" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 20 , Regulated Power Supplies" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.1 , Page Number 466" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "dVL = 100.0 * 10**-6 #Change in output voltage (in volts)\n", + "dVin = 5.0 #Change in input voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "LR = dVL / dVin #Line regulation (in volt per volt)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of line regulation is \",LR * 10**6,\" micro-volt/volt.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of line regulation is 20.0 micro-volt/volt.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.2 , Page Number 466" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "LR = 1.4 #Line regulation (in micro-volt per volt) \n", + "dVS = 10 #Change in source voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "dVL = LR * dVS #Change in output voltage (in micro-volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The change in output voltage is \",dVL,\" micro-volt.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The change in output voltage is 14.0 micro-volt.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.3 , Page Number 466" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "dIL = 40.0 #Change in current (in milli-Ampere)\n", + "VNL = 8.0 #Voltage under no load (in volts)\n", + "VFL = 7.995 #Voltage under full load (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "LR = (VNL - VFL)/ dIL #Line regulation (in milli-volt per milli-Ampere) \n", + "\n", + "#Result\n", + "\n", + "print \"Line regulation is \",LR * 10**3,\"mV/mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Line regulation is 0.125 mV/mA.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.4 , Page Number 467" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "LR = 10.0 #Load regulation (in micro-volt per milli-Ampere)\n", + "VNL = 5.0 #No load Voltage (in volts)\n", + "dIL = 20.0 #Change in current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "VFL = VNL - LR * dIL * 10**-6 #Full load Voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"Full load Voltage is \",VFL,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Full load Voltage is 4.9998 V.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.5 , Page Number 467" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V0 = 10 #Regulated dc supply (in volts)\n", + "LR = 0.00002 #Line regulation \n", + "\n", + "#Calculation\n", + "\n", + "dV = LR * V0 #Change in output voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Change in output voltage is \",dV * 10**3,\" mV.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in output voltage is 0.2 mV.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.6 , Page Number 468" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 30.0 #Source voltage (in volts)\n", + "RS = 240.0 #Series resistance (in ohm)\n", + "Vz = 12.0 #Zener voltage (in volts)\n", + "RL = 500.0 #Load resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "VL = Vz #Voltage drop across load (in volts)\n", + "IS = (VS - Vz) / RS #Current through RS (in Ampere)\n", + "VRS = IS * RS #Voltage drop across series resistance (in volts)\n", + "IL = VL / RL #Load current (in Ampere)\n", + "IZ = IS - IL #Zener current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Load voltage is \",VL,\" V.\\nVoltage drop across series resistance is \",VRS,\" V.\\nCurrent through Zener diode is \",IZ,\" A.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Load voltage is 12.0 V.\n", + "Voltage drop across series resistance is 18.0 V.\n", + "Current through Zener diode is 0.051 A.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.7 , Page Number 470" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VZ = 5.1 #Voltage across zener diode (in volts)\n", + "rZ = 10 #Zener diode resistance (in ohm)\n", + "IZmin = 1 * 10**-3 #Minimum zener diode current (in Ampere)\n", + "IZmax = 15 * 10**-3 #Maximum zener diode current (in Ampere)\n", + "RS = 600 #Serier resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "VOmin = VZ + IZmin * rZ #Minimum value of output voltage (in volts)\n", + "VSmin = IZmin * RS + VOmin #Minimum value of input voltage (in volts)\n", + "VOmax = VZ + IZmax * rZ #Maximum value of output voltage (in volts)\n", + "VSmax = IZmax * RS + VOmax #Maximum value of input voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Minimum value of input voltage is \",VSmin,\" V.\\nMaximum value of input voltage is \",VSmax,\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Minimum value of input voltage is 5.71 V.\n", + "Maximum value of input voltage is 14.25 V.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.8 , Page Number 470" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 24.0 #Source voltage (in volts)\n", + "RS = 500.0 #Series resistance (in ohm)\n", + "VZ = 12.0 #Zener Voltage (in volts)\n", + "IZmin = 3.0 #Minimum Zener current (in milli-Ampere)\n", + "IZmax = 90.0 #Maximum Zener current (in milli-Ampere)\n", + "rZ = 0.0 #Zener resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "IS = (VS - VZ) / RS #Current through RS (in Ampere)\n", + "ILmax = IS - IZmin * 10**-3 #Maximum value of load Current (in Ampere) \n", + "RLmin = VZ / ILmax #Minimum value of Load resistance (in ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"Minimum value of load resistance is \",round(RLmin),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Minimum value of load resistance is 571.0 ohm.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.9 , Page Number 471" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VZ = 10.0 #Zener voltage (in volts)\n", + "RS = 1.0 #Series Resistance (in kilo-ohm) \n", + "RL = 2.0 #Load Resistance (in kilo-ohm)\n", + "VSmin = 22.0 #Minimum source voltage (in volts) \n", + "VSmax = 40 #Maximum source voltage (in volts) \n", + "\n", + "#Calculation\n", + "\n", + "IL = VZ / RL #Load current (in milli-Ampere)\n", + "IZmax = (VSmax - VZ) / RS - IL #Maximum value of zener current (in milli-Ampere)\n", + "IZmin = (VSmin - VZ) / RS - IL #Minimum value of zener current (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum value of zener current is \",IZmax,\" mA.\\nMinimum value of zener current is \",IZmin,\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum value of zener current is 25.0 mA.\n", + "Minimum value of zener current is 7.0 mA.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.10 , Page Number 472" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VZ = 10.0 #Zener voltage (in volts)\n", + "VSmin = 13.0 #Minimum source voltage (in volts)\n", + "VSmax = 16.0 #Maximum source voltage (in volts)\n", + "ILmin = 10.0 #Minimum load current (in milli-Ampere)\n", + "ILmax = 85.0 #Maximum load current (in milli-Ampere)\n", + "IZmin = 15.0 #Minimum zener current (in milli-Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "RSmax = (VSmin - VZ)/ (IZmin + ILmax) #Maximum value of RS (in kilo-ohm)\n", + "IZmax = (VSmax - VZ)/ RSmax - ILmin #Maximum zener current (in milli-Ampere)\n", + "PZmax = IZmax * 10**-3 * VZ #Maximum power dissipation in zener (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum value of RS is \",RSmax * 10**3,\" ohm.\\nMaximum power dissipation be the zener diode is \",PZmax,\" W.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum value of RS is 30.0 ohm.\n", + "Maximum power dissipation be the zener diode is 1.9 W.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.11 , Page Number 473" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VSmin = 19.5 #Minimum source voltage (in volts)\n", + "VSmax = 22.5 #Maximum source voltage (in volts)\n", + "RL = 6.0 * 10**3 #Load resistance (in ohm)\n", + "VZ = 18.0 #Zener voltage (in volts)\n", + "IZmin = 2.0 * 10**-6 #Minimum zener current (in Ampere)\n", + "PZmax = 60.0 * 10**-3 #Maximum power dissipation (in watt)\n", + "rZ = 20.0 #Zener resistance (in ohm)\n", + "VL = VZ #Voltage across load resistance (in volt)\n", + "\n", + "#Calculation\n", + "\n", + "IZmax = (PZmax / rZ)**0.5 #Maximum value of zener current (in milli-Ampere)\n", + "IL = VL / RL #Load current (in milli-Ampere)\n", + "RSmax = (VSmin - VZ) / (IZmin + IL) #Maximum value of regulating resistance (in kilo-ohm) \n", + "RSmin = (VSmax - VZ) / (IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"Magnitude of regulating resistance should be between \",round(RSmin,1),\" ohm and \",round(RSmax),\" ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Magnitude of regulating resistance should be between 77.9 ohm and 500.0 ohm.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.12 , Page Number 473" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VSmin = 8.0 #Minimum source voltage (in volts)\n", + "VSmax = 12 #Maximum source voltage (in volts)\n", + "RS = 2.2 #Resistance (in kilo-ohm)\n", + "VZ = 5.0 #Zener voltage (in volts)\n", + "RL = 10.0 #Load resistance (in kilo-ohm)\n", + "VL = VZ #Voltage across load (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "ISmin = (VSmin - VZ)/ RS #Minimum value of input current (in milli-Ampere)\n", + "ISmax = (VSmax - VZ)/RS #Maximum value of input current (in milli-Ampere) \n", + "IL = VL / RL #Load current (in milli-Ampere)\n", + "IZmin = ISmin - IL #Minimum Zener current (in milli-Ampere)\n", + "IZmax = ISmax - IL #Maximum Zener current (in milli-Ampere) \n", + "\n", + "#Result\n", + "\n", + "print \"Minimum value of Zener current is \",round(IZmin,3),\" mA.\\nMaximum value of Zener current is \",round(IZmax,3),\" mA.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Minimum value of Zener current is 0.864 mA.\n", + "Maximum value of Zener current is 2.682 mA.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.13 , Page Number 474" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VO = VL = 5.0 #Output voltage (in volts)\n", + "IL = 20.0 #Load current (in milli-Ampere)\n", + "PZmax = 500.0 #Maximum power dissipation in zener (in milli-watt)\n", + "VSmin = 9.0 #Minimum source voltage (in volts)\n", + "VSmax = 15.0 #Maximum source voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IZmax = PZmax / VZ #Maximum zener current (in milli-Ampere)\n", + "ISmax = IL + IZ #Maximum input current (in milli-Ampere)\n", + "RSmin = (VSmax - VZ)/(IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm)\n", + "IZ = (VSmin - VZ)/ RSmin - IL #Minimum value of zener current \n", + "\n", + "#Result\n", + "\n", + "print \"Input varies from the normal 12 v within the range of +- 3 V.\"\n", + "print \"Zener current vary from \",IZ,\" mA to \",IZmax,\" mA.\"\n", + "print \"For safety purpose RS should be 220 ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input varies from the normal 12 v within the range of +- 3 V.\n", + "Zener current vary from 28.0 mA to 100.0 mA.\n", + "For safety purpose RS should be 220 ohm.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.14 , Page Number 475" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RS = 500.0 #Series resistance (in ohm)\n", + "RL = 1.0 #Load resistance (in kilo-ohm) \n", + "VZ = 10.0 #Zener voltage (in volts)\n", + "IZmin = 5.0 #Minimum Zener current (in milli-Ampere)\n", + "IZmax = 55.0 #Maximum Zener current (in milli-Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "IL = VZ / RL #Load current (in milli-Ampere) \n", + "VSmin = (IL + IZmin) * RS * 10**-3 + VZ #Minimum value of input voltage (in volts)\n", + "VSmax = (IL + IZmax) * RS * 10**-3 + VZ #Maximum value of input voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"The minimum value of voltage level at input is \",VSmin,\" V and the maximum is \",VSmax,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum value of voltage level at input is 17.5 V and the maximum is 42.5 V.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.15 , Page Number 476" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 15.0 #Input voltage (in volts)\n", + "RS = 33.0 #Series resistance (in ohm)\n", + "beta = 100.0 #common-emitter current gain \n", + "RL = 100.0 #Load resistance (in ohm)\n", + "VZ = 10.0 #Voltage across zener diode (in volts) \n", + "VBE = 0.7 #Voltage across base and emitter\n", + "\n", + "#Calculation\n", + "\n", + "VL = VZ + VBE #Load voltage (in volts)\n", + "IL = VL / RL #Load current (in Ampere)\n", + "IS = (VS - VL) / RS #Current through RS (in Ampere)\n", + "IC = IS - IL #Collector current (in Ampere)\n", + "IB = IZ = IC/beta #Base current (in Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Load voltage is \",VL,\" V.\"\n", + "print \"Load current is \",IL * 10**3,\" mA.\"\n", + "print \"Current through Rs is \",round(IS * 10**3,1),\" mA.\"\n", + "print \"Collector current is \",round(IC* 10**3,1),\" mA.\"\n", + "print \"Base current is \",round(IB * 10**6),\" micro-A.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Load voltage is 10.7 V.\n", + "Load current is 107.0 mA.\n", + "Current through Rs is 130.3 mA.\n", + "Collector current is 23.3 mA.\n", + "Base current is 233.0 micro-A.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.16 , Page Number 478" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 15.0 #Input voltage (in volts)\n", + "VZ = 8.3 #Zener voltage (in volts)\n", + "beta = 100.0 #Common-emitter current gain\n", + "R = 1.8 #Resistance (in kilo-ohm)\n", + "RL = 2.0 #Resistance (in kilo-ohm)\n", + "VBE = 0.7 #Voltage across base-emitter junction (in volts) \n", + "\n", + "#Calculation\n", + "\n", + "VL = VZ - VBE #Voltage across load (in volts)\n", + "VCE = VS - VL #Collector to emitter voltage (in volts)\n", + "IR = (VS - VZ)/ R #Current through R (in milli-Ampere)\n", + "IL = VL / RL #Load current (in milli-Ampere)\n", + "IB = IL / beta #Base current (in milli-Ampere) \n", + "IZ = IR - IB #Current through Zener (in milli-Ampere)\n", + "\n", + "#Result\n", + "\n", + "print \"Load voltage is \",VL,\" V.\"\n", + "print \"Collector to Emitter voltage is \",VCE,\" V.\"\n", + "print \"Current through R is \",round(IR,2),\" mA.\"\n", + "print \"Load current is \",IL,\" mA.\"\n", + "print \"Base current is \",IB * 10**3,\" micro-A.\"\n", + "print \"Current through Zener is \",round(IZ,2),\" mA.\"\n", + "\n", + "#Calculation error in book in the value of beta and in IB and IZ." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Load voltage is 7.6 V.\n", + "Collector to Emitter voltage is 7.4 V.\n", + "Current through R is 3.72 mA.\n", + "Load current is 3.8 mA.\n", + "Base current is 38.0 micro-A.\n", + "Current through Zener is 3.68 mA.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.17 , Page Number 479" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IZmin = 0 #Minimun Zener current (in Ampere)\n", + "ILmax = 2.0 #Maximum load current (in Ampere)\n", + "VL = 12.0 #Voltage across load (in volts)\n", + "VSmin = 15.0 #Minimum Input voltage (in volts)\n", + "VSmax = 20.0 #Maximum Input Voltage (in volts)\n", + "beta = 100 #common emitter current gain\n", + "VBE = 0.5 #Voltage between base-emitter junction (in volts)\n", + "VZ = 12.5 #Voltage across zener diode (in volts)\n", + "IZmin = 1.0 * 10**-3 #Current through Zener diode \n", + "ICmax = ILmax #Maximum Collector current (in Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "IBmax = ICmax / beta #Maximum collector current\n", + "IR = IBmax + IZmin #Current through resistance R (in Ampere)\n", + "Rmax = (VSmin - VZ)/ IR #Maximum value of resistance R (in ohm)\n", + "IZmax = (VSmax - VZ)/ Rmax #Maximum value of Zener current (in Ampere)\n", + "PZmax = VZ * IZmax #Maximum power dissipation in Zener Diode (in watt)\n", + "PRmax = (VSmax - VZ) * IZmax #Maximum power dissipated in Resistance R (in watt)\n", + "VCEmax = VSmax - VL #Maximum value of collector-to-emitter voltage (in volts) \n", + "PDmax = VCEmax * ILmax #Maximum power dissipation of the transistor (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Maximum value of R is \",round(Rmax),\" ohm.\\nMaximum power dissipation of the zener diode is \",round(PZmax,2),\" W.\\nMaximum power dissipation of resistance R is \",round(PRmax,2),\" W.\\nMaximum power dissipation of the transistor is \",PDmax,\" W.\"\n", + "\n", + "#Correction to be done in the formula used for IZmax in the book.Correct approach is used in the solved example here. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum value of R is 119.0 ohm.\n", + "Maximum power dissipation of the zener diode is 0.79 W.\n", + "Maximum power dissipation of resistance R is 0.47 W.\n", + "Maximum power dissipation of the transistor is 16.0 W.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.18 , Page Number 481" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VL = 12.0 #Voltage across load (in volts)\n", + "IL = 200.0 #Load current (in milli-Ampere)\n", + "VS = 30.0 #Source voltage (in volts)\n", + "RS = 10.0 #Series resistance (in ohm)\n", + "beta1 = hfe1 = 150.0 #common-emitter current gain 1\n", + "beta2 = hfe2 = 100.0 #common-emitter current gain 2\n", + "IC1 = 10.0 #Collector current (in milli-Ampere)\n", + "VBE1 = 0.7 #Emitter-to-Base voltage1 (in volts)\n", + "VBE2 = 0.7 #Emitter-to-Base voltage2 (in volts)\n", + "VZ = VR = 6.0 #Voltage across zener diode (in volts)\n", + "RZ = 10.0 #Resistance of zener diode (in ohm)\n", + "IZ = 20.0 #Current through zener diode (in milli-Ampere)\n", + "ID = 10.0 * 10**-3 #Current (in Ampere) \n", + "I1 = 10.0 * 10**-3 #Current (in Ampere) \n", + "\n", + "#Calculation\n", + "\n", + "RD = (VL - VZ) / ID #Resistance (in ohm)\n", + "V2 = VZ + VBE2 #Voltage (in volts)\n", + "R1 = (VL - V2)/I1 #Value of resistance R1 (in ohm)\n", + "R2 = R1 * (V2 / (VL - V2)) #Value of resistance R2 (in ohm)\n", + "IB1 = (IL + I1 + ID) / beta1 #Base Current IB1 (in Ampere)\n", + "I = IB1 + IC1 #Current through resistance R3 (in Ampere)\n", + "R3 = (VS - (VBE1 + VL))/I #Value of resistance (in ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"Value of Resistance RD is \",RD,\" ohm.\\nValue of Resistance R1 and R2 is \",R1,\" ohm and \",R2,\" ohm.\"\n", + "print \"Value of Resistance R3 is \",round(R3,1),\" kilo-ohm.\"\n", + "\n", + "#Error in the formula used for R1 in book. Correct formula is used here." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of Resistance RD is 600.0 ohm.\n", + "Value of Resistance R1 and R2 is 530.0 ohm and 670.0 ohm.\n", + "Value of Resistance R3 is 1.5 kilo-ohm.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.19 , Page Number 484" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VS = 25.0 #Source voltage (in volts)\n", + "VZ = 15.0 #Zener voltage (in volts)\n", + "RL = 1.0 #Load resistance (in kilo-ohm)\n", + "VBE = 0.7 #Emitter-to-Base voltage (in volts) \n", + "\n", + "#Calculation\n", + "\n", + "Vout = VZ/2 + VBE #Output voltage (in volts)\n", + "IL = Vout / RL #Load current (in milli-Ampere)\n", + "IE1 = IL #Current (in milli-Ampere)\n", + "VCE1 = VS - Vout #Collector-To-Emitter voltage (in volts)\n", + "P1 = VCE1 * IE1 #Power dissipated (in watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Vout is \",Vout,\" V.\\nIL is \",IL,\" mA.\\nIE1 is \",IE1,\" mA.\\nP1 is \",P1,\" W.\"\n", + "\n", + "#Calculation error in book for the value of P1." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vout is 8.2 V.\n", + "IL is 8.2 mA.\n", + "IE1 is 8.2 mA.\n", + "P1 is 137.76 W.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.20 , Page Number 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IADJ = 100.0 * 10**-6 #Current (in Ampere)\n", + "Vin = 35.0 #Input voltage (in volts)\n", + "R1 = 220.0 #Resistance1 (in ohm)\n", + "R2min = 0 #Resistance2 minimum (in ohm)\n", + "R2max = 5.0 * 10**3 #Resistance2 maximum (in ohm)\n", + "VREF = 1.25 #Reference voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Voutmin = VREF * (R2min/R1 + 1) + IADJ * R2min #Minimum output voltage (in volts)\n", + "Voutmax = VREF * (R2max/R1 + 1) + IADJ * R2max #Maximum output voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"Maximum output voltage is \",round(Voutmax,2),\" V.\\nMinimum output voltage is \",Voutmin,\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum output voltage is 30.16 V.\n", + "Minimum output voltage is 1.25 V.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.21 , Page Number 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 220.0 #Resistance1 (in ohm)\n", + "R2 = 1.5 * 10**3 #Resistance2 (in ohm)\n", + "VREF = 1.25 #Reference voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Regulated dc output voltage is \",round(Vo,2),\" V.\"\n", + "\n", + "#Calculation error in the book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Regulated dc output voltage is 9.77 V.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 20.22 , Page Number 493" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 240.0 #Resistance1 (in ohm)\n", + "R2 = 2.4 * 10**3 #Resistance2 (in ohm)\n", + "VREF = 1.25 #Reference voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Regulated dc output voltage is \",Vo,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Regulated dc output voltage is 13.75 V.\n" + ] + } + ], + "prompt_number": 22 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_2.ipynb new file mode 100644 index 00000000..e1d036bc --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_2.ipynb @@ -0,0 +1,314 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:d0d488692d13bd6f786a59c53f9573140cae873125a1ba8e4603dff4ff8f4e4f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 21 , Controlled Rectifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.1 , Page Number 508" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RL = 100.0 #Resistance (in ohm)\n", + "Vm = 300.0 #Maximum voltage (in volts) \n", + "P1 = 25.0 #Load power1 (in watt)\n", + "P2 = 80.0 #Load power2 (in watt)\n", + "\n", + "#Calculation \n", + "\n", + "Vdc = Vm / (2 * math.pi) #dc voltage (in volts)\n", + "#When power is 25 watt\n", + "cosinealpha = (P1 * RL / Vdc**2)**0.5 -1 #cos of alpha \n", + "alpha = math.acos(cosinealpha) #Value of alpha (in radians)\n", + "\n", + "#When power is 80 watt\n", + "cosinealpha1 = (P2 * RL / Vdc**2)**0.5 -1 #cos of alpha \n", + "alpha1 = math.acos(cosinealpha1) #Value of alpha (in radians)\n", + "#Result\n", + "\n", + "print \"Angular firing control when load power P = 25 W is \",round(alpha * 180.0 / math.pi,2),\" degree.\\nAngular firing control when load power P = 80 W is \",round(alpha1 * 180.0 / math.pi,2),\" degree.\"\n", + "\n", + "#Calculation difference in value of cosinealpha from book due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Angular firing control when load power P = 25 W is 87.29 degree.\n", + "Angular firing control when load power P = 80 W is 29.16 degree.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.2 , Page Number 509" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vm = 200.0 #maximum voltage (in volts)\n", + "RL = 1.0 #Resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "#When alpha = 0 degree\n", + "Vdc = 0.318 * Vm #dc voltage (in volts)\n", + "Idc = Vdc / RL #dc Current (in milli-Ampere)\n", + "P = Vdc * Idc #Power (in milli-watt) \n", + "\n", + "#When alpha = 45 degree \n", + "Vdc1 = 0.27 * Vm #dc voltage1 (in volts)\n", + "Idc1 = Vdc1 / RL #dc current1 (in milli-Ampere)\n", + "P1 = Vdc1 * Idc1 #Power1 (in milli-watt)\n", + "\n", + "#When alpha = 90 degree\n", + "Vdc2 = 0.159 * Vm #dc voltage2 (in volts)\n", + "Idc2 = Vdc2 / RL #dc current2 (in milli-Ampere)\n", + "P2 = Vdc2 * Idc2 #Power2 (in milli-watt)\n", + "\n", + "#When alpha = 135 degree\n", + "Vdc3 = 0.0466 * Vm #dc voltage3 (in volts)\n", + "Idc3 = Vdc3 / RL #dc current3 (in milli-Ampere)\n", + "P3 = Vdc3 * Idc3 #Power3 (in milli-watt)\n", + "\n", + "#Result\n", + "\n", + "print \"Power delivered when alpha = 0 degree is \",round(P),\" mW.\\nPower delivered when alpha = 45 degree is \",P1,\" mW.\\nPower delivered when alpha = 90 degree is \",round(P2),\" mW.\\nPower delivered when alpha = 135 degree is \",round(P3,2),\" mW.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power delivered when alpha = 0 degree is 4045.0 mW.\n", + "Power delivered when alpha = 45 degree is 2916.0 mW.\n", + "Power delivered when alpha = 90 degree is 1011.0 mW.\n", + "Power delivered when alpha = 135 degree is 86.86 mW.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.3 , Page Number 513" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Vrms = 220.0 #rms voltage (in volts)\n", + "alpha = 60.0 #Firing angle (in degree) \n", + "\n", + "#Calculation\n", + "\n", + "alpharad = alpha * math.pi/180.0 #Firing angle (in radians) \n", + "Vm = 2**0.5 * Vrms #Maximum or Peak voltage (in volts)\n", + "Vdc = Vm /(2 * math.pi)*(1 + math.cos(alpharad)) #dc output voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"The d.c. output voltage is \",round(Vdc,2),\" V.\"\n", + "\n", + "#Slight variation in answer due to higher precision" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The d.c. output voltage is 74.28 V.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.4 , Page Number 513" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Idc = 0.5 #dc current (in Ampere)\n", + "Vrms = 100.0 #Rms voltage (in volts)\n", + "alpha = 45.0 #Firing angle (in degree) \n", + "Idc = 0.5 #dc current (in Ampere)\n", + "\n", + "#Calculation\n", + "\n", + "alpharad = alpha * math.pi / 180.0 #Firing angle (in radians)\n", + "Vm = 2**0.5 * Vrms #Peak voltage (in volts) \n", + "Vdc = Vm / (2 * math.pi)*(1 + math.cos(alpharad)) #Average voltage (in volts)\n", + "RL = Vdc / Idc #Load resistance (in ohm) \n", + "\n", + "#Result\n", + "\n", + "print \"The value of resistance to limit the average current to 0.5 A is \",round(RL,2),\" ohm.\"\n", + "\n", + "#Slight variation in answer due to higher precision" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of resistance to limit the average current to 0.5 A is 76.85 ohm.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.5 , Page Number 520" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "TON = 30.0 #Chopper ON time (in milli-second)\n", + "TOFF = 10.0 #Chopper OFF time (in milli-second) \n", + "\n", + "#Calculation\n", + "\n", + "T = TON + TOFF #Total time (in milli-second)\n", + "cdc = TON / T #Chopper duty cycle\n", + "f = 1 / T #Chopping frequency (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Chopper duty cycle is \",cdc,\".\\nChopping frequency is \",f * 10**3,\" Hz.\"\n", + "\n", + "#Correction to be done in book , the units mentioned are milli-Ampere but in the calculation it used micro-Ampere." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Chopper duty cycle is 0.75 .\n", + "Chopping frequency is 25.0 Hz.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 21.6 , Page Number 520" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "TON = 30.0 #Chopper ON time (in milli-second)\n", + "TOFF = 10.0 #Chopper OFF time (in milli-second) \n", + "Vdc = 200.0 #dc voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "T = TON + TOFF #Total time (in milli-second)\n", + "cdc = TON / T #Chopper duty cycle\n", + "VL = Vdc * cdc #dc output voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"Average valuye of dc voltage is \",VL,\" V.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Average valuye of dc voltage is 150.0 V.\n" + ] + } + ], + "prompt_number": 6 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_2.ipynb new file mode 100644 index 00000000..97a9ee62 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_2.ipynb @@ -0,0 +1,1645 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 22 , BJT Biasing and Stabilization"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.1 , Page Number 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of saturation current is 2.0 mA.\n",
+ "The value of cut-off voltage is 20.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x5efd890>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5ee82f0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VBB = 10.0 #Base Voltage (in volts)\n",
+ "RB = 47.0 #Base Resistance (in kilo-ohm)\n",
+ "VCC = 20.0 #Voltage Source (in volts)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of saturation current is \",ICsat,\" mA.\\nThe value of cut-off voltage is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,x/10)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.2 , Page Number 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q-points corresponds to 8.84 V and 37.2 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x605b3b0>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\niEgl1a1bSAS9esHee4fFa9LdnVRJQKqN6667jvbt27PnnnsyePBgfvnll01e/+abb+jduzedO3em\nQ4cO3HfffZu8vn79enJzc+nbt28Go5bqplat0GvozTfhxRdDYpgzJ333UxKQamHx4sWMHz+euXPn\nsmDBAtavX8+ECRM2OWbs2LHk5uYyb9488vPzGT58OOsSfoaNHj2adu3aYZZ0SVukwlq1Ckngooug\nTx8YPhx+/DH191ESkGphhx12oFatWqxevZp169axevVqmjZtuskxjRs3ZsWKFQCsWLGC+vXrU7Nm\nTQCWLl3Ks88+y+mnn47aqiRTzOCkk0J30q++Cg3Hzz2X2nvElgTMrLeZvWdmH5rZpXHFIdVDvXr1\nGD58OM2bN6dJkybUqVOHXr16bXLM0KFDWbRoEU2aNKFTp06MHj16w2sXXnghN954Izk5+t0kmdew\nYeg1dPfdYXbSE04ISSEVYvlEm1kNYCzQG2gHDDKztnHEUh3k5+fHHULsPv74Y2699VYWL17M559/\nzo8//shDDz20yTHXXnstnTt35vPPP2fevHmcc845rFy5kqeffpqddtqJ3Nxc3J3ly5fH9C6qJn0+\nk3fooaFU0LRpGGR2331b3p00rp81ewMfuftid18LTAD6xRRLlad/ZDB79mz222+/DVU8/fv3Z+bM\nmZscM3PmTH7/+98D0KpVK1q2bMl7773HzJkzmTRpEi1btmTQoEHMnj2bk08+OY63USXp81k+224L\no0bB88/DmDFwyCHw0UcVv15cSaApsCTh+dJon0ha7LHHHrzxxhv89NNPuDtTp06lXbt2vzpm6tSp\nAHz55Ze8//77tGrVimuvvZYlS5bwySefMGHCBFq2bMkDDzwQx9sQ2SA3N/QgOuKIsOD99dfD2rXl\nv05cSUAta5JRnTp14uSTT6Zr1650jFYCHzp0KOPGjWPcuHEAXH755cyePZtOnTrRq1cvRo0aRb16\n9eIMW6RMNWuG3kOzZkF+fpiqurxiGTFsZvsAI929d/T8MqDQ3W9IOEaJQkSkAsozYjiuJFATeB84\nGPgceAsY5O7vZjwYEZFqrGYcN3X3dWZ2LvACUAP4hxKAiEjmZe0EciIikn5ZN/JFg8hSy8wWm9l8\nMysws7fijqeyMbN/mtmXZrYgYV89M5tiZh+Y2YtmVifOGCuLUv6WI81safT5LDCz3nHGWJmYWTMz\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6045cd0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 300.0 #Collector resistance (in ohm)\n",
+ "VBB = 10.0 #Base voltage (in volts)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common-emittter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "#Using kirchoff's voltage law\n",
+ "IB = (VBB - 0.7) / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Q-points corresponds to \",VCE,\" V and \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,66.7 - 66.7/20 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(8.84,37.2))\n",
+ "annotate(\"66.7\",xy=(0,66.7))\n",
+ "annotate(\"37.2\",xy=(0,37.2))\n",
+ "annotate(\"8.84\",xy=(8.84,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.3 , Page Number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base current is 0.14 mA.\n",
+ "The value of Collector current is 11.11 mA.\n",
+ "THe value of Collector-to-Emitter voltage is 15.89 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector Resistance (in ohm)\n",
+ "RB = 180.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base current is \",round(IB,2),\" mA.\\nThe value of Collector current is \",round(IC,2),\" mA.\\nTHe value of Collector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Slight variation in answers due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.4 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base current is 0.05 mA.\n",
+ "The collector current is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VBB = 2.7 #Base voltage (in Volts)\n",
+ "RB = 40.0 #Base resistance (in kilo-ohm)\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "RC = 2.5 #Collector resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "beta = 100.0 #Current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The base current is \",IB,\" mA.\"\n",
+ "print \"The collector current is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.5 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of collector current is for operation in saturation region is 1.0 mA.\n",
+ "Since 1.29 mA is greater than 1.0 mA , therefore it will operate in saturation region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "VBB = 5.0 #Base voltage (in volts)\n",
+ "RB = 100.0 #Base Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 30.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base Current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "IC1 = VCC / RC #Collector Current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of collector current is for operation in saturation region is \",IC1,\" mA.\\nSince \",IC,\" mA is greater than \",IC1,\" mA , therefore it will operate in saturation region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.6 , Page Number 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stability factor for the fixed bias circuit is 101.0 .\n",
+ "The voltage between the collector and the ground is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 330.0 #Collector resistance (in ohm)\n",
+ "IB = 0.3 #Base current (in milli-Ampere)\n",
+ "beta = 100.0 #Common-emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB = VCC / IB #Resistance (in kilo-ohm)\n",
+ "S = 1 + beta #Stability factor \n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-Ground voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Stability factor for the fixed bias circuit is \",S,\".\\nThe voltage between the collector and the ground is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.7 , Page Number 536"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCE of the transistor is 8.0 V.\n",
+ "VCC of the transistor is 20.0 V.\n",
+ "IB of the transistor is 0.04 mA.\n",
+ "IC of transistor is 4.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 2.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 400.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / (RB + beta * RE) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter Voltage (volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VCE of the transistor is \",VCE,\" V.\\nVCC of the transistor is \",VCC,\" V.\\nIB of the transistor is \",IB,\" mA.\\nIC of transistor is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.8 , Page Number 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of IC is 2.35 mA.\n",
+ "The value of VCE is 12.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x622f370>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60659d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 2.2 #Collector resistance (in kilo-ohm)\n",
+ "RB = 240.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VBE)/(RE + RB/beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of IC is \",round(IC,2),\" mA.\\nThe value of VCE is \",VCEcutoff,\" V.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,12,100)\n",
+ "plot(x,5.45 - 5.45/12 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"6.83 V\",xy=(6.83,0))\n",
+ "annotate(\"5.45 mA\",xy=(0,5.45))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.9 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating voltage is 20.0 V.\n",
+ "Opearing current is 2.0 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6362410>"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6425430>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 30.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 1.5 * 10**3 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating voltage is \",VCE,\" V.\\nOpearing current is \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,30,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.10 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When VBB = 0 V , LED is in OFF condition.\n",
+ "When VBB = 3 V , LED is in ON condition.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1 : when VBB = 0.2 V ->OFF\n",
+ "#Case 2: when VBB = 3 V ->ON\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"When VBB = 0 V , LED is in OFF condition.\\nWhen VBB = 3 V , LED is in ON condition.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.11 , Page Number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 9.9 mA.\n",
+ "Collector-to-Emitter voltage is 16.8669387755 V.\n",
+ "Stability factor is 81.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector resistance (in ohm)\n",
+ "RB = 180.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 200.0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RE + RB / beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "S = 1 + beta #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,1),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\\nStability factor is \",S,\".\"\n",
+ "\n",
+ "#Stability is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.12 , Page Number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 0.845 mA.\n",
+ "Collector-to-Emitter voltage is 1.55 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6dba630>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6077cb0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RC + RB / beta) #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,3),\" mA.\\nCollector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.13 , Page Number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB is 0.0465 mA.\n",
+ "IC is 2.325 mA.\n",
+ "IE is 2.325 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/(RB + beta * RC) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "IE = IC #Emitter current (in Ampere)\n",
+ "S = 1 + beta #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB is \",IB * 10**3,\" mA.\\nIC is \",IC * 10**3,\" mA.\\nIE is \",IE * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.14 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In case 1, Collector junction is short circuited.\n",
+ "In case 2, Collector resistance is short circuited. \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When VC = 0 volts\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RB = 220.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/((RB + beta*RC)* 10**3) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC * 10**3 #Collector-to-emitter voltage (in volts)\n",
+ "VC = VCE #Collector voltage (in volts)\n",
+ "ICRC = VCC #Voltage (in volts) \n",
+ "\n",
+ "#When VC = 9 volts\n",
+ "IB1 = 16.0 #Base current (in micro-Ampere)\n",
+ "IC1 = beta * IB1 #Collector current (in micro-Ampere) \n",
+ "RC1 = 0 #Collector Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In case 1, Collector junction is short circuited.\\nIn case 2, Collector resistance is short circuited. \" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.15 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 14.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "IE = 2.0 #Emitter current (in milli-Ampere)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "alpha = 0.98 #Common base current gain\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "VB = VBE + IE * RE * 10**-3 #Base voltage (in volts)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts) \n",
+ "IR2 = VC / (R2) #Current through resistance 2 (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "IR1 = IR2 + IB #Current through resistance 1 (in milli-Ampere)\n",
+ "R1 = (VC - VB) / IR1 #Value of the resistance (in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",round(R1,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Correction to be done in the book about the formula of IR2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.16 , Page Number 543"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base resistance is 101.84 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "RE = 270.0 #Emitter Resistance (in ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 45.0 #Common emitter current gain \n",
+ "VCE = 5.0 #Collector-to-Emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VCE) / RC #Collector current (in milli-Ampere)\n",
+ "RB = ((VCC - VBE) / IC - RC) * beta #Base Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base resistance is \",round(RB,2),\" kilo-ohm.\"\n",
+ "\n",
+ "#Calculation mistake in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.17 , Page Number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DC bias current is 1.06 mA.\n",
+ "DC bias voltage is 1.1 V.\n",
+ "Stability factor is 16.1 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 3.0 #Source voltage (in volts)\n",
+ "RB = 33.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 1.8 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 90.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE) / (RB + beta * RC) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC -IC * RC #Collector-to-emitter voltage (in volts)\n",
+ "S = (1 + beta)/(1 + beta*RC/(RC + RB)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"DC bias current is \",round(IC,2),\" mA.\\nDC bias voltage is \",round(VCE,1),\" V.\\nStability factor is \",round(S,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.18 , Page Number 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 5.27 mA.\n",
+ "Collector-to-Emitter voltage is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 500.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * (RC * 10**3 + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,2),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.19 , Page Number 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 2.15 mA.\n",
+ "The value of collector-to-emitter voltage is 8.55 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 15.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE) #Emitter current (in milli-Ampere)\n",
+ "VCE = VCC - IE * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.20 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage change in collector current is 43.5 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 25.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain (min)\n",
+ "betamax = 150.0 #Common emitter current gain (max)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) * 10**3 #Thevenin's equivalent resistance (in ohm)\n",
+ "IE1 = (Vth - VBE)/(RE + Rth/betamin) #Emitter current (in Ampere)\n",
+ "IE2 = (Vth - VBE)/(RE + Rth/betamax) #Emitter current (in Ampere)\n",
+ "perc_change = (IE2 - IE1) / IE1 * 100 #Percentage change in the value of beta \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage change in collector current is \",round(perc_change,1),\" %.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.21 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point values are IC = 3.1 mA and VCE = 3.781 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RE = 680.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 33.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 15.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VRC = IC * RC * 10**3 #Voltage across collector resistance (in volts)\n",
+ "VC = VCC - VRC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point values are IC = \",round(IC * 10**3,1),\" mA and VCE = \",round(VCE,3),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.22 , Page Number 550"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 40.0 kilo-ohm and value of RC is 2200.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 0.3 #Emitter Resistance (in kilo-ohm)\n",
+ "IC = 1.0 #Collector Current (in milli-Ampere)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VCE = 2.5 #Collector-to-Emitter voltage (in volts)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "ICO = 0 #Reverse saturation current (in Ampere) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "RC = (VCC - VCE) / IE - RE #Collector resistance (in kilo-ohm)\n",
+ "VE = IE * RE #Emitter voltage (in volts)\n",
+ "VB = VE + VBE #Base voltage (in volts)\n",
+ "R1 = VCC / VB * R2 - R2 #Resistance1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1,\" kilo-ohm and value of RC is \",RC * 10**3,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.23 , Page Number 551"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 1.86 mA.\n",
+ "Value of VCE is 18.14 V.\n",
+ "Value of collector potential is 27.44 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-emitter voltage (in volts) \n",
+ "VC = VCE + VE #Collector potential (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nValue of VCE is \",VCE,\" V.\\nValue of collector potential is \",VC,\" V.\"\n",
+ "\n",
+ "#VC is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.24 , Page Number 552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector-to-Emitter VCE is 7.5 V.\n",
+ "Base current is 0.026 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 8.0 #Source voltage (in volts)\n",
+ "VRC = 0.5 #Voltage across collector resistance (in volts)\n",
+ "RC = 800.0 #Collector resistance (in ohm)\n",
+ "alpha = 0.96 #common base current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCE = VCC - VRC #Collector-to-emitter voltage (in volts) \n",
+ "IC = VRC / RC #Collector current (in milli-Ampere)\n",
+ "IE = IC / alpha #Emitter current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector-to-Emitter VCE is \",VCE,\" V.\\nBase current is \",round(IB * 10**3,3),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.27 , Page Number 554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RE is 1.4 kilo-ohm.\n",
+ "Value of R1 is 5.2 kilo-ohm.\n",
+ "Value of R2 is 7.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "VCC = 22.5 #Source voltage (in volts)\n",
+ "RC = 5.6 #Collector Resistance (in kilo-ohm)\n",
+ "VCE = 12.0 #Collector-to-emitter voltage (in volts)\n",
+ "IC = 1.5 #Collector current (in milli-Ampere)\n",
+ "#Stability factor (S) <= 3.\n",
+ "S = 3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RE = (VCC - VCE)/IC - RC #Emitter resistance (in kilo-ohm)\n",
+ "Rth = (4375 - (1.4 * 10**3))*10**-3 #Thevenin's Equivalent Resistance (in ohm)\n",
+ "R2 = 0.1 * beta * RE #Resistance (in kilo-ohm) \n",
+ "R1 = (R2 - Rth)**-1 * R2 *Rth #Resistance 1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RE is \",RE ,\" kilo-ohm.\\nValue of R1 is \",round(R1,1),\" kilo-ohm.\\nValue of R2 is \",R2,\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.28 , Page Number 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of emitter current is 1.86 mA.\n",
+ "THe value of collector current is 1.86 mA.\n",
+ "The value of collector-to-emitter voltage is 8.84 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 10.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm) \n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VE = -VBE #Emitter voltage (in volts)\n",
+ "IE = (VEE - VBE)/ RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of emitter current is \",IE,\" mA.\\nTHe value of collector current is \",IC,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.29 , Page Number 557"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The change is collector current is 1.513 %.\n",
+ "The change in collector to emitter voltage is 2.16 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 20.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 10.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 10.0 #Base Resistance (in kilo-ohm) \n",
+ "VE = -0.7 #Emitter Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain minimum\n",
+ "betamax = 100.0 #Common emitter current gain maximum \n",
+ "VE1 = -0.6 #Emitter Voltage1 (in volts)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts) \n",
+ "VBE1 = 0.6 #New emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE)/(RE + RB / betamin) #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "IE1 = (VEE - VBE1)/(RE + RB/betamax) #Emitter current 1 (in milli-Ampere)\n",
+ "IC1 = IE1 #Collector current 1 (in milli-Ampere)\n",
+ "VC1 = VCC - IC1 * RC #Collector voltage 1 (in volts)\n",
+ "VCE1 = VC1 - VE1 #Collector-to-emitter voltage 1 (in volts)\n",
+ "dIC = (IC1 - IC) / IC #Change in collector current\n",
+ "dVCE = (VCE - VCE1) / VCE #Change in collector to emitter voltage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The change is collector current is \",round(dIC,5)* 100,\"%.\\nThe change in collector to emitter voltage is \",100*round(dVCE,4),\"%.\"\n",
+ "\n",
+ "#Slight changes due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.30 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base voltage is -2.0 V.\n",
+ "Emitter voltage is -1.8 V.\n",
+ "Collector voltage is -8.4 V.\n",
+ "Collector current is 1.8 mA.\n",
+ "Emitter current is 1.8 mA.\n",
+ "Collector-to-emitter voltage is -6.6 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 2.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 100.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "VBE = -0.2 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = -VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = -VE / RE #Emitter current (in milli-Ampere) \n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = -(VCC - IC * RC) #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base voltage is \",VB,\" V.\\nEmitter voltage is \",VE,\" V.\\nCollector voltage is \",VC,\" V.\\nCollector current is \",IC,\" mA.\\nEmitter current is \",IE,\" mA.\\nCollector-to-emitter voltage is \",VCE,\" V.\"\n",
+ "\n",
+ "#Formula of IE and VB is given wrong in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.31 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base voltage is 2.0 V.\n",
+ "The value of emitter voltage is 1.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 16.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 4.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base voltage is \",VB,\" V.\\nThe value of emitter voltage is \",VE,\" V.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.32 , Page Number 562"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point values are IC = 0.404 mA and VCE = -3.78 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 4.5 #Source voltage (in volts)\n",
+ "RE = 0.27 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.5 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 27.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 2.7 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base Voltage for germanium (in volts)\n",
+ "beta = 44.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = - VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - (-VBE) #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VRC = -IC * RC #Voltage across collector resistance (in volts)\n",
+ "VC = -(VCC - VRC) #Collector voltage (in volts)\n",
+ "VCE = -(-VC - (-VE)) #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The operating point values are IC = \",round(-IC,3),\" mA and VCE = \",round(VCE,2),\" V.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_2.ipynb new file mode 100644 index 00000000..8770eb00 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_2.ipynb @@ -0,0 +1,75 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8d03891bfa7f1c1585b90f0fe2a212b218b5620ee320f7a8cc11378a3eebf38b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 23 , Low and High Frequency BJT Models" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 23.1 , Page Number 580" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "IC = 10.0 #Collector current (in milli-Ampere)\n", + "VCE = 10.0 #Collector-to-emitter voltage (in volts)\n", + "hie = 500.0 #Input resistance (in ohm)\n", + "hoe = 10 **-5 #Output conductance (in Ampere/volt)\n", + "hfe = 100.0 #Common emitter current gain \n", + "hre = 10**-4 #Constant\n", + "\n", + "#Calculation\n", + "\n", + "gm = IC / 25.0 #Transconductance (in Siemen) \n", + "rb1e = hfe / gm #Resistance (in ohm) \n", + "rbb1 = hie - rb1e #Base spreading resistance (in ohm)\n", + "gb1c = hre / rb1e #Feedback conductance (in Siemen)\n", + "rce = 1 / (hoe - (1 + hfe)* gb1c) #Output resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of transconductance is \",gm,\" per ohm.\\nValue of resistance rb1e is \",rb1e,\" ohm.\\nValue of base spreading resistance is \",rbb1,\" ohm.\\nValue of feedback conductance is \",gb1c,\" per ohm.\\nValue of output resistance is \",round(abs(rce * 10**-3)),\" kilo-ohm.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of transconductance is 0.4 per ohm.\n", + "Value of resistance rb1e is 250.0 ohm.\n", + "Value of base spreading resistance is 250.0 ohm.\n", + "Value of feedback conductance is 4e-07 per ohm.\n", + "Value of output resistance is 33.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 2 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_2.ipynb new file mode 100644 index 00000000..8d4d7f99 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_2.ipynb @@ -0,0 +1,870 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8d83d12da307337593a7cd775da037b9954c818c998b8e588f2f7e2538d508ce" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 24 , Singly-Stage BJT Amplifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.1 , Page Number 590" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RC = 10.0 #Collector resistance (in kilo-ohm)\n", + "RB = 1.0 * 10**3 #Base resistance (in kilo-ohm)\n", + "beta = 100.0 #Common emitter current gain \n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IB = (VCC - VBE) / RB #Base current (in milli-Ampere)\n", + "IC = beta * IB #Collector current (in milli-Ampere)\n", + "IE = IC #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in kilo-ohm)\n", + "R1 = beta * r1e #Input resistance looking directly into the base (in kilo-ohm)\n", + "Ris = RB * R1/(RB + R1) #Stage input resistance (in kilo-ohm)\n", + "Ro = RC #Output resistance (in kilo-ohm)\n", + "Av = RC / r1e #Voltage gain\n", + " \n", + "#Result\n", + "\n", + "print \"Input resistance looking into the base is \",round(R1,2),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,3),\" kilo-ohm.\\nOutput resistance is \",Ro,\" kilo-ohm.\\nVoltage gain is \",Av,\".\"\n", + "\n", + "#Correction to be done in the book for the formula of Ris in the question." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance looking into the base is 2.69 kilo-ohm.\n", + "Input resistance of the stage is 2.681 kilo-ohm.\n", + "Output resistance is 10.0 kilo-ohm.\n", + "Voltage gain is 372.0 .\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.2 , Page Number 591" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Ri = 2.5 #Input resistance (in kilo-ohm)\n", + "Av = 200.0 #Voltage gain\n", + "Vs = 5.0 * 10**-3 #Input signal voltage (in volts)\n", + "beta = 50.0 #Common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IB = Vs / Ri #Base current (in milli-Ampere) \n", + "IC = beta * IB #Collector current (in milli-Ampere)\n", + "Ai = beta #Current gain\n", + "Ap = Ai * Av #Power gain\n", + "Gp = 10 * math.log10(Ap) #dB power gain (in decibel)\n", + "\n", + "#Result\n", + "\n", + "print \"The base current is \",IB,\" mA.\\nThe collector current is \",IC,\" mA.\\nThe power gain is \",Ap,\".\\nThe dB power gain is \",Gp,\" dB.\"\n", + "\n", + "#Wrong unit of IB. IB is in micro Ampere but in book it is given in milli-Ampere in solution.\n", + "#Also wrong unit in IC." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The base current is 0.002 mA.\n", + "The collector current is 0.1 mA.\n", + "The power gain is 10000.0 .\n", + "The dB power gain is 40.0 dB.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.3 , Page Number 593" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 20.0 #Source voltage (in volts)\n", + "RC = 5.0 #Collector resistance (in kilo-ohm)\n", + "RE = 1.0 #Emitter resistance (in kilo-ohm)\n", + "RB = 100.0 #Base resistance (in kilo-ohm)\n", + "beta = 150.0 #Common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IC = VCC / (RE + RB/beta) #Collector current (in milli-Ampere)\n", + "IE = IC #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-ohm)\n", + "Ri = beta * (r1e + RE) #Input resistance looking directly into the base (in kilo-ohm)\n", + "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in kilo-ohm)\n", + "Av = RC / RE #Voltage gain \n", + "Gp = 10 * math.log10(Av) #dB power gain (in decibel)\n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance looking into the base is \",round(Ri),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris),\" kilo-ohm.\\nVoltage gain is \",Av,\".\\ndB voltage gain is \",round(Gp),\" dB.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance looking into the base is 150.0 kilo-ohm.\n", + "Input resistance of the stage is 60.0 kilo-ohm.\n", + "Voltage gain is 5.0 .\n", + "dB voltage gain is 7.0 dB.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.4 , Page Number 595" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 12.0 #Source voltage (in volts)\n", + "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n", + "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n", + "RB = 500.0 * 10**3 #Base resistance (in ohm)\n", + "beta = 50.0 #Common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IC = VCC / (RE + RB/beta) #Collector current (in Ampere)\n", + "IE = IC #Emitter current (in Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in ohm)\n", + "Ri = beta * (r1e) #Input resistance looking directly into the base (in ohm)\n", + "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n", + "Av = RC / r1e #Voltage gain \n", + "AV1 = RC / RE #New voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance looking into the base is \",round(Ri),\" ohm.\\nInput resistance of the stage is \",round(Ris,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,2),\".\\nNew Voltage gain is \",AV1,\".\"\n", + "\n", + "#Slight variations in answers due to high precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance looking into the base is 1146.0 ohm.\n", + "Input resistance of the stage is 1143.2 kilo-ohm.\n", + "Voltage gain is 436.36 .\n", + "New Voltage gain is 10.0 .\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.5 , Page Number 597" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 30.0 #Source voltage (in volts)\n", + "RC = 10.0 #Collector resistance (in kilo-ohm)\n", + "RE = 8.2 #Emitter resistance (in kilo-ohm)\n", + "RL = 3.3 #Load resistance (in kilo-ohm)\n", + "beta = 200.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 47.0 #Resistance (in kilo-ohm) \n", + "R2 = 15.0 #Resistance (in kilo-ohm)\n", + "Vs = 5.0 #a.c voltage (in milli-volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE #a.c. resistance of emitter diode (in ohm) \n", + "rL = RC * RL/(RC + RL) #a.c load seen by the amplifier (in kilo-ohm) \n", + "Av = rL * 10**3 / r1e #Voltage gain\n", + "vo = Av * Vs #Output voltage (in volts)\n", + "Ri = beta * r1e * 10**-3 #Input resistance looking directly into the base (in ohm) \n", + "Ris = Rth * Ri / (Rth + Ri) #input resistance of the stage (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"a.c output voltage is \",round(vo,2),\" mV.\\nInput impedance for the circuit is \",round(Ris),\" kilo-ohm.\"\n", + "\n", + "#Slight variation in value of vo due to higher precision. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "a.c output voltage is 394.14 mV.\n", + "Input impedance for the circuit is 4.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.6 , Page Number 599" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RC = 5.0 #Collector resistance (in kilo-ohm)\n", + "RE = 1.0 #Emitter resistance (in kilo-ohm)\n", + "beta = 50.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 50.0 #Resistance (in kilo-ohm) \n", + "R2 = 10.0 #Resistance (in kilo-ohm)\n", + "Vs = 10.0 #a.c voltage (in milli-volts)\n", + "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm) \n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm) \n", + "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n", + "rL = RC * R1/(RC + R1) #a.c load seen by the amplifier (in kilo-ohm) \n", + "Av = rL / r1e #Voltage gain\n", + "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n", + "vo = Av * vin #Output voltage (in milli-volts)\n", + "Avs = Av * vin / Vs #Overall voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"The output voltage is \",round(vo * 10**-3,3),\" V.\\nThe overall voltage gain is \",round(Avs,2),\".\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The output voltage is 1.025 V.\n", + "The overall voltage gain is 102.5 .\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.7 , Page Number 601" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 12.0 #Source voltage (in volts)\n", + "RC = 4.0 #Collector resistance (in kilo-ohm)\n", + "RE = 3.3 #Emitter resistance (in kilo-ohm)\n", + "beta = 120.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 60.0 #Resistance (in kilo-ohm) \n", + "R2 = 30.0 #Resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n", + "rL = RC #Load resistance (in kilo-ohm)\n", + "Av = RC / r1e #Voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"The voltage gain is \",round(Av,1),\".\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage gain is 152.3 .\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.8 , Page Number 601" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = -18.0 #Source voltage (in volts)\n", + "RC = 4.3 #Collector resistance (in kilo-ohm)\n", + "RE = 1.0 #Emitter resistance (in kilo-ohm)\n", + "beta = 200.0 #Common emitter current gain\n", + "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 39.0 #Resistance (in kilo-ohm) \n", + "R2 = 8.2 #Resistance (in kilo-ohm)\n", + "RL = 3.0 #Load resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n", + "IC = (Vth - VBE)/(RE + Rth/beta) #Collector current (in milli-Ampere)\n", + "IE = -IC #Emitter current (in milli-Amper) \n", + "r1e = 30.0/IE * 10**-3 #a.ac resistance (in kilo-ohm)\n", + "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n", + "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm) \n", + "Av = rL / r1e #Voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain is \",round(Av,1),\".\"\n", + "\n", + "#printing mistake in book about formula for rL it is in fact rL = RC * RL /(RC + RL).\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain is 138.3 .\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.9 , Page Number 603" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 20.0 #Source voltage (in volts)\n", + "RC = 5.7 #Collector resistance (in kilo-ohm)\n", + "RE = 1.0 #Emitter resistance (in kilo-ohm)\n", + "beta = 100.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 100.0 #Resistance (in kilo-ohm) \n", + "R2 = 10.0 #Resistance (in kilo-ohm)\n", + "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n", + "RS = 100.0 * 10**-3 #Source resistance (in kilo-ohm) \n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n", + "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n", + "rL = RC #Load resistance (in kilo-ohm)\n", + "Av = rL / r1e #Voltage gain \n", + "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n", + "vo = Av * vin #Output voltage (in milli-volts)\n", + "Avs = Av * vin / Vs #Overall voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Av is \",Av,\".\\nRi is \",round(Ris * 10**3,2),\" ohm.\\nVo is \",round(vo,2),\" V.\\nAvs is \",round(Avs,2),\".\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Av is 233.7 .\n", + "Ri is 1923.08 ohm.\n", + "Vo is 2.22 V.\n", + "Avs is 222.15 .\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.10 , Page Number 604" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = -18.0 #Source voltage (in volts)\n", + "RC = 4.3 #Collector resistance (in kilo-ohm)\n", + "RE = 1.0 #Emitter resistance (in kilo-ohm)\n", + "beta = 200.0 #Common emitter current gain\n", + "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 39.0 #Resistance (in kilo-ohm) \n", + "R2 = 8.2 #Resistance (in kilo-ohm)\n", + "RV = 75.0 * 10**-3 #Resistance (in kilo-ohm)\n", + "re = 30.0 * 10**-3 #Emitter resistance (in kilo-ohm)\n", + "RL = 3.3 #Load resistance (in kilo-ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "IC = round(IE,2) #Collector current (in milli-Ampere) \n", + "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter voltage (in volts)\n", + "r1e = 30.0/abs(IE) * 10**-3 #a.c. resistance (in kilo-ohm)\n", + "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n", + "rL = RC * RL / (RC + RL) #Load resistance (in kilo-ohm)\n", + "Av = rL / (r1e + RV) #Voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain Av is \",round(Av,1),\".\\nInput impedance is ,\",round(Ris,3),\" kilo-ohm.\\nVCE is \",VCE,\" V.\" \n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain Av is 21.3 .\n", + "Input impedance is , 1.856 kilo-ohm.\n", + "VCE is -5.545 V.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.11 , Page Number 606" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RC = 5.0 #Collector resistance (in kilo-ohm)\n", + "rE = 500 * 10**-3 #Emitter resistance (in kilo-ohm)\n", + "beta = 50.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "R1 = 50.0 #Resistance (in kilo-ohm) \n", + "R2 = 10.0 #Resistance (in kilo-ohm)\n", + "Vs = 100.0 * 10**-3 #a.c voltage (in volts)\n", + "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm)\n", + "RL = 50.0 #Load resistance (in kilo-ohm)\n", + "RE1 = 500.0 * 10**-3 #Resistance (in kilo-ohm) \n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n", + "RE = RE1 + rE #Emitter total resistance (in kilo-ohm)\n", + "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in kilo-ohm) \n", + "Ri = beta * (rE + r1e) #Input resistance directly into the base (in kilo-ohm)\n", + "Ris = Rth * Ri/(Rth + Ri) #Input resistance of the stage (in kilo-ohm)\n", + "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n", + "Av = rL/(rE + r1e) #Voltage gain\n", + "Avs = Av * Ris / (RS + Ris) #Overall voltage gain\n", + "Vo = Avs * Vs #Output voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance looking directly into the base is \",round(Ri,1),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,2),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\" .\\nOverall voltage gain is \",round(Avs,2),\" .\\nOutput voltage is \",round(Vo,2),\"V.\"\n", + "\n", + "#Slight variations due to higher precision.\n", + "#Vo in the book is not properly calculated. Calculation error in Vo. Vo value should be 0.78 V." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance looking directly into the base is 26.5 kilo-ohm.\n", + "Input resistance of the stage is 6.34 kilo-ohm.\n", + "Voltage gain is 8.574 .\n", + "Overall voltage gain is 7.83 .\n", + "Output voltage is 0.78 V.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.12 , Page Number 611" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RC = 10.0 #Collector resistance (in kilo-ohm)\n", + "alpha = 0.98 #Common base current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n", + "RL = 5.1 #Load resistance (in kilo-ohm)\n", + "RE = 20.0 #Resistance (in kilo-ohm) \n", + "VEE = 10.0 #Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IE = (VEE - VBE) / RE #Emitter current (in milli-Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. emitter resistance (in kilo-ohm)\n", + "Ri = r1e #input resistance looking directly in the emitter (in kilo-ohm)\n", + "Ris = RE * r1e / (RE + r1e) #Input resistance of the stage (in kilo-ohm) \n", + "Ai = alpha #Current gain\n", + "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n", + "Av = rL / r1e #Voltage gain\n", + "Ap = Av * Ai #Power gain\n", + "Gp = 10 * math.log10(Ap) #Power gain (in decibels)\n", + "vin = Vs #input voltage (in volts)\n", + "Vo = Av * vin #Output voltage (in volts) \n", + "\n", + "#Result\n", + "\n", + "print \"The input resistance looking directly into the emitter is \",round(Ri * 10**3,1),\" ohm.\\nThe input resistance of the stage is \",round(Ris * 10**3,2),\" ohm.\\nThe current gain is \",Ai,\" .\\nThe voltage gain is \",round(Av,1),\" .\\nThe power gain is \",round(Ap,2),\" .\\nThe power gain in decibels is \",round(Gp,1),\" dB.\\nThe output voltage is \",round(Vo * 10**3),\" mV.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The input resistance looking directly into the emitter is 53.8 ohm.\n", + "The input resistance of the stage is 53.62 ohm.\n", + "The current gain is 0.98 .\n", + "The voltage gain is 62.8 .\n", + "The power gain is 61.56 .\n", + "The power gain in decibels is 17.9 dB.\n", + "The output voltage is 628.0 mV.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.13 , Page Number 613" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Rs = 50.0 #source resistance (in ohm)\n", + "IE = 0.465 #Emitter current (in milli-Ampere)\n", + "r1e = 53.8 #a.c. resistance (in ohm)\n", + "Ri = 53.8 #Input resistance (in ohm)\n", + "Ris = 52.4 #Input resistance of stage (in ohm)\n", + "RL = 3.38 * 10**3 #Load resistance (in ohm) \n", + "Vs = 10.0 * 10**-3 #Input a.c. voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Avs = RL / (Rs + r1e) #Overall voltage gain\n", + "Av = RL / r1e #Voltage gain\n", + "vo = Avs * Vs #Output a.c. voltage (in volts)\n", + "vin = vo / Av #input voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain from source to output is \",round(Avs,1),\" .\\nVoltage gain from emitter to output is \",round(Av,1),\" .\\nValue of Vin is \",round(vin * 10**3,1),\" V.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain from source to output is 32.6 .\n", + "Voltage gain from emitter to output is 62.8 .\n", + "Value of Vin is 5.2 V.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.14 , Page Number 617" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VEE = 10.0 #Voltage (in volts)\n", + "RE = 10.0 * 10**3 #Emitter resistance (in ohm) \n", + "RB = 100.0 * 10**3 #Base resistance (in ohm)\n", + "beta = 50.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IE = (VEE - VBE)/(RE + RB/beta) #Emitter current (in Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in ohm)\n", + "Ri = beta * (RE + r1e) #Input resistance directly looking into the base (in ohm)\n", + "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n", + "Ro = r1e #Output resistance (in ohm) \n", + "Av = RE / (r1e + RE) #Voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance looking directly into the base is \",round(Ri * 10**-3,1),\" ohm.\\nInput resistance of the stage is \",round(Ris * 10**-3 ,1),\" ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nVoltage gain is \",round(Av,3),\" .\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance looking directly into the base is 501.6 ohm.\n", + "Input resistance of the stage is 83.4 ohm.\n", + "Output resistance is 32.3 ohm.\n", + "Voltage gain is 0.997 .\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 24.15 , Page Number 618" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "beta = 80.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n", + "VCC = 15.0 #Voltage (in volts)\n", + "R1 = 20.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 20.0 * 10**3 #Resistance (in ohm)\n", + "Vs = 5.0 * 10**-3 #a.c voltage (in volts)\n", + "RE = 8.2 * 10**3 #Emitter resistance (in ohm)\n", + "RL = 1.5 * 10**3 #Load resistance (in ohm)\n", + "RS = 2.0 * 10**3 #Source resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n", + "IE = (Vth - VBE)/(RE + Rth / beta) #Emitter resistance (in ohm)\n", + "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in ohm)\n", + "rL = RE * RL /(RE + RL) #a.c. load resistance (in ohm)\n", + "Ri = beta * (rL + r1e) #Input resistance looking directly into the base (in ohm)\n", + "Ris = Rth * Ri / (Rth + Ri) #Input resistance of the stage (in ohm)\n", + "Ro = r1e + (RS*Rth)/(Rth + RS)/beta #Output resistance of the stage (in ohm)\n", + "Vin = Vs * (Ris / (RS + Ris)) #Input voltage (in volts)\n", + "Vo = Vin #Output voltage (in volts)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of input resistance looking directly into the base is \",round(Ri * 10**-3),\" kilo-ohm.\\nValue of input resistance of the stage is \",round(Ris * 10**-3,1),\" kilo-ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nA.C. output voltage is \",round(Vo * 10**3,1),\" mV.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of input resistance looking directly into the base is 104.0 kilo-ohm.\n", + "Value of input resistance of the stage is 9.1 kilo-ohm.\n", + "Output resistance is 51.4 ohm.\n", + "A.C. output voltage is 4.1 mV.\n" + ] + } + ], + "prompt_number": 14 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_2.ipynb new file mode 100644 index 00000000..586d46b8 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_2.ipynb @@ -0,0 +1,666 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:75e52141ccf00cb8c14c8a0ee5b9c60f38850c2413b13d2345d9dd0ac1dc6df4" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 25 , Hybrid Parameters" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.1 , Page Number 626" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 6.0 #Resistance (in ohm)\n", + "R2 = 4.0 #Resistance (in ohm)\n", + "R3 = 4.0 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "#Let i1 = 10 A and v2 = 10 V.\n", + "i1 = 10.0 #Assumed current (in Ampere) \n", + "v2 = 10.0 #Assumed voltage (in volts)\n", + "#Parameters h11 and h21\n", + "\n", + "h11 = R1 + R2 * R3/(R2 + R3) #Input resistance looking from the input terminals (in ohm)\n", + "i2 = -i1 / 2 #Current2 (in Ampere)\n", + "h21 = i2/i1 #h21\n", + "\n", + "#Parameters h12 and h22\n", + "\n", + "v1 = v2/2 #Voltage1 (in volts) \n", + "h12 = v1 / v2 #h12\n", + "rnet = R2 + R3 #Output resistance (in ohm) \n", + "h22 = 1/rnet #h22 (in mhos)\n", + "\n", + "#Result\n", + "\n", + "print \"h11 : \",h11,\"\\nh21 : \",h21,\"\\nh12 : \",h12,\"\\nh22 : \",h22" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "h11 : 8.0 \n", + "h21 : -0.5 \n", + "h12 : 0.5 \n", + "h22 : 0.125\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.2 , Page Number 635" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hie = 1.0 * 10**3 #hie (in ohm)\n", + "hre = 1.0 * 10**-4 #hre\n", + "hoe = 100.0 * 10**-6 #hoe (in mho)\n", + "RC = 1.0 * 10**3 #Collector resistance (in ohm) \n", + "RS = 1000.0 #Source resistance (in ohm)\n", + "hfe = beta = 50.0 #Common emitter current gain \n", + "\n", + "#Calculation\n", + "\n", + "rL = RC #a.c. load resistance (in ohm)\n", + "Ai = -hfe /(1 + hoe * rL) #Current gain of a transistor\n", + "Ri = hie + hre * Ai * rL #Input resistance looking directly into the base (in ohm)\n", + "Ris = Ri #Iput resistance of the amplified stage (in ohm)\n", + "dh = hie * hoe - hre * hfe #Change in h\n", + "Ro = (RS + hie)/(RS * hoe + dh) #Output resistance looking directly into collector (in ohm)\n", + "Ros = Ro * rL /(Ro + rL) #Output resistance of the amplified stage (in ohm)\n", + "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage\n", + "Av = Ai * rL / Ri #Voltage gain of transistor \n", + "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance of the amplifier stage is \",round(Ris),\" ohm.\\nOutput resistance of amplifier stage is \",round(Ros),\" ohm.\\nCurrent gain of amplified stage is \",round(Ais,1),\"\\nVoltage gain of amplifier stage is \",round(Avs,1),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance of the amplifier stage is 995.0 ohm.\n", + "Output resistance of amplifier stage is 911.0 ohm.\n", + "Current gain of amplified stage is -22.8 \n", + "Voltage gain of amplifier stage is -22.8 .\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.3 , Page Number 637" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hie = 1.1 * 10**3 #hie (in ohm)\n", + "hre = 2.5 * 10**-4 #hre\n", + "hoe = 25.0 * 10**-6 #hoe (in mho)\n", + "RS = 1000.0 #Source resistance (in ohm)\n", + "hfe = beta = 50.0 #Common emitter current gain \n", + "rL = 1000.0 #ac.c load resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = hfe /(1 + hoe * rL) #Current gain of a transistor\n", + "Ri = hie + hre * Ai * rL #Input impedance (in ohm)\n", + "Av = Ai * rL / Ri #Voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Current gain is \",round(Ai,2),\"\\nInput impedance is \",round(Ri,1),\"\\nVoltage gain is \",round(Av,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current gain is 48.78 \n", + "Input impedance is 1112.2 \n", + "Voltage gain is 43.86\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.4 , Page Number 639" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RC = 4.0 * 10**3 #Collector resistance (in ohm)\n", + "RB = 40.0 * 10**3 #Base resistance (in ohm)\n", + "RS = 10.0 * 10**3 #Source resistance (in ohm)\n", + "hie = 1100.0 #hie (in ohm)\n", + "hfe = 50.0 #hfe\n", + "hre = hoe = dh = 0 #hre and hoe\n", + "\n", + "#Calculation\n", + "\n", + "RB2 = RB #Resistance (in kilo-ohm) \n", + "rL = RC * RB2 /(RC +RB2) #a.c. load resistance (in ohm)\n", + "Ai = -hfe #Current gain\n", + "Ri = hie #Input resistance of the amplifier looking into the base (in ohm) \n", + "Av = Ai * rL / Ri #Voltage gain\n", + "RB1 = RB/(1 - Av) #Resistance (in ohm)\n", + "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n", + "Ro = \"infinite\" #Output resistance (in ohm)\n", + "Ros = rL #Output resistance of the stage (in ohm)\n", + "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain is \",round(Avs,1),\".\\nInput resistance is \",round(Ris),\" ohm.\\nOutput resistance is \",round(Ros),\" ohm.\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain is -3.2 .\n", + "Input resistance is 197.0 ohm.\n", + "Output resistance is 3636.0 ohm.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.5 , Page Number 640" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hie = 1.1 * 10**3 #hie (in ohm)\n", + "hre = 2.5 * 10**-4 #hre\n", + "hoe = 25.0 * 10**-6 #hoe (in mho)\n", + "RS = 10000.0 #Source resistance (in ohm)\n", + "hfe = beta = 50.0 #Common emitter current gain \n", + "rL = 1000.0 #ac.c load resistance (in ohm)\n", + "RB = 200.0 * 10**3 #Feedback resistor (in ohm)\n", + "RC = 5.0 * 10**3 #Collector resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "rL = RC * RB / (RC + RB) #a.c. load resistance (in ohm) \n", + "Ai = hfe /(1 + hoe * rL) #Current gain\n", + "Ri = hie + hre * Ai * rL #Input resistance of the amplifier looking into the base (in ohm) \n", + "Av = Ai * rL / Ri #Voltage gain\n", + "RB1 = RB/(1 - (-17.4)) #Resistance (in ohm)\n", + "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n", + "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n", + "\n", + "#Result\n", + "\n", + "print \"Ai is \",round(Ai,2),\"\\nAv is \",round(Av,2),\"\\nAvs is \",round(Avs,1),\"\\nRi is \",round(Ri*10**-3,3),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ai is 44.57 \n", + "Av is 188.32 \n", + "Avs is 17.8 \n", + "Ri is 1.154 kilo-ohm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.6 , Page Number 643" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hib = 28.0 #hib (in ohm)\n", + "hfb = -0.98 #hfb\n", + "hrb = 5.0 * 10**-4 #hrb\n", + "hob = 0.34 * 10**-6 #hoh (in Siemen)\n", + "rL = 1.2 * 10**3 #a.c. load resistance (in ohm)\n", + "RS = 0.0 #Source resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = -(hfb/(1 + hob * rL)) #Current gain\n", + "Ri = hib + hrb * Ai * rL #Input resistance (in ohm)\n", + "dh = hib * hob - hrb * hfb #change in h\n", + "Ro = (RS + hib)/(RS*hib + dh)#Output resistance (in ohm)\n", + "Av = Ai * rL / Ri #Voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"The value of input resistance is \",round(Ri,1),\" ohm.\\nThe value of output resistance is \",round(Ro * 10**-3),\" kilo-ohm.\\nThe value of current gain is \",round(Ai,2),\" .\\nThe value of voltage gain is \",round(Av),\" .\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of input resistance is 28.6 ohm.\n", + "The value of output resistance is 56.0 kilo-ohm.\n", + "The value of current gain is 0.98 .\n", + "The value of voltage gain is 41.0 .\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.7 , Page Number 644" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hic = 2.0 * 10**3 #hic (in ohm)\n", + "hfc = -51.0 #hfe\n", + "hrc = 1.0 #hrc\n", + "hoc = 25.0 * 10**-6 #hoc (in mho)\n", + "rL = RE = 5.0 * 10**3 #a.c. load resistance (in ohm)\n", + "RS = 1.0 * 10**3 #Source resistance (in ohm)\n", + "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = -hfc / (1 + hoc * rL) #Current gain\n", + "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n", + "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n", + "Ro = -(RS + hic)/hfc #Output resistance (in ohm)\n", + "Ros = Ro * RE / (Ro + RE) #Input resistance of the amplified stage (in ohm)\n", + "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage \n", + "Av = Ai * rL / Ri #Voltage gain\n", + "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n", + "\n", + "#Result\n", + "\n", + "print \"The value of input resistance of amplified stage is \",round(Ris),\" ohm.\\nThe value of output resistance of amplified stage is \",round(abs(Ros),1),\" kilo-ohm.\\nThe value of current gain of amplified stage is \",round(Ais,1),\" .\\nThe value of voltage gain of amplified stage is \",round(Avs,3),\" .\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of input resistance of amplified stage is 4893.0 ohm.\n", + "The value of output resistance of amplified stage is 58.1 kilo-ohm.\n", + "The value of current gain of amplified stage is 7.7 .\n", + "The value of voltage gain of amplified stage is 0.823 .\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.8 , Page Number 646" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hie = 1500.0 #hie (in ohm)\n", + "hfe = 50.0 #hfe\n", + "hre = 50.0 * 10**-4 #hre\n", + "hoe = 20.0 * 10**-6 #hoe\n", + "R1 = 20.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 10.0 * 10**3 #Resistance (in ohm)\n", + "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n", + "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n", + "RL = 10.0 * 10**3 #Load resistance (in ohm) \n", + "RS = 0 #Source resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = -hfe\n", + "rL = RC * RL /(RC + RL) #a.c. load resistance (in ohm)\n", + "Ri = hie #Input resistance (in ohm)\n", + "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n", + "Ro = 1 / hoe #Output resistance (in ohm)\n", + "Ros = Ro * rL /(Ro + rL) #Output resistance of the stage (in ohm)\n", + "Av = Ai * rL / Ri #Voltage gain\n", + "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n", + "Ais = Ai #Current gain of the stage\n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance of the stage is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the stage is \",round(Ros * 10**-3,1),\" kilo-ohm.\\nVoltage gain of the stage is \",round(Avs),\" .\\nCurrent gain of the stage is \",Ai,\" .\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance of the stage is 1.22 kilo-ohm.\n", + "Output resistance of the stage is 3.1 kilo-ohm.\n", + "Voltage gain of the stage is -111.0 .\n", + "Current gain of the stage is -50.0 .\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.9 , Page Number 647" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RC = 12.0 * 10**3 #Collector resistance (in ohm)\n", + "RL = 4.7 * 10**3 #Load resistance (in ohm) \n", + "R1 = 33.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 4.7 * 10**3 #Resistance (in ohm)\n", + "IC = 1.0 * 10**-3 #Collector current (in Ampere)\n", + "hiemin = 1.0 * 10**3 #hie minimum (in ohm)\n", + "hiemax = 5.0 * 10**3 #hie maximum (in ohm)\n", + "hfemin = 70.0 #Current gain minimum\n", + "hfemax = 350.0 #Current gain maximum\n", + "\n", + "#Calculation\n", + "\n", + "hie = (hiemin * hiemax)**0.5 #hie (in ohm)\n", + "hfe = (hfemin * hfemax)**0.5 #current gain \n", + "Ri = hie #input resistance (in ohm)\n", + "Ris = (R1*R2*Ri)/(Ri*R1+Ri*R2+R1*R2) #Input resistance of the amplified stage (in ohm)\n", + "Ai = hfe #Current gain of transistor\n", + "rL = RC * RL / (RC + RL) #a.c. load resistance (in ohm)\n", + "Avs = Av = Ai*rL / Ri #overall voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Input impedance is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOverall voltage gain is \",round(Avs,1),\".\"\n", + "\n", + "#Calculation error in book for hfe." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input impedance is 1.45 kilo-ohm.\n", + "Overall voltage gain is 236.4 .\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.10 , Page Number 648" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "RB = 330.0 * 10**3 #Base resistance (in ohm)\n", + "RC = 2.7 * 10**3 #Collector resistance (in ohm) \n", + "hfe = 120.0 #current gain\n", + "hie = 1.175 * 10**3 #hie (in ohm)\n", + "hoe = 20 * 10**-6 #hoe (in Ampere per volt)\n", + "\n", + "#Calculation\n", + "\n", + "Ri = hie #Input resistance of transistor (in ohm)\n", + "Ris = hie * RB /(hie + RB) #Input resistance of the circuit (in ohm)\n", + "Ro = 1 / hoe #Output resistance of transistor (in ohm)\n", + "Ros = Ro * RC / (Ro + RC) #Output resistance of the circuit (in ohm)\n", + "Ai = hfe #Current gain of the circuit\n", + "Avs = Ai * RC / Ri #Overall voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance of the circuit is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the circuit is \",round(Ros * 10**-3,2),\" kilo-ohm.\\nCurrent gain of the circuit is \",Ai,\".\\nVoltage gain of the circuit is \",round(Avs,1),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance of the circuit is 1.17 kilo-ohm.\n", + "Output resistance of the circuit is 2.56 kilo-ohm.\n", + "Current gain of the circuit is 120.0 .\n", + "Voltage gain of the circuit is 275.7 .\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.11 , Page Number 649" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hfe = 50.0 #Current gain\n", + "\n", + "#Calculation\n", + "\n", + "hfb = -hfe / (1 + hfe) #hfb\n", + "hfc = -(1 + hfe) #hfc \n", + "\n", + "#Result\n", + "\n", + "print \"Value of hfb = \",round(hfb,2),\".\\nValue of hfc = \",hfc,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of hfb = -0.98 .\n", + "Value of hfc = -51.0 .\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 25.12 , Page Number 649" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hie = 1100.0 #hie (in ohm)\n", + "hre = 2.5 * 10**-4 #hre\n", + "hfe = 50.0 #Current gain\n", + "hoe = 24.0 * 10**-6 #hoe (in Ampere per volt)\n", + "rL = RL = 10.0 * 10**3 #Load resistance (in ohm) \n", + "RS = 1.0 * 10**3 #Source resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "hic = hie #hic (in ohm)\n", + "hrc = (1 - hre) #hrc\n", + "hfc = -(1 + hfe) #hfc\n", + "Ai = -(hfc/(1 + hoe * rL)) #Current gain\n", + "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n", + "Av = Ai * rL / Ri #Voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Current gain is \",round(Ai,1),\".\\nInput resistance is \",round(Ri * 10**-3,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\".\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Current gain is 41.1 .\n", + "Input resistance is 412.3 kilo-ohm.\n", + "Voltage gain is 0.998 .\n" + ] + } + ], + "prompt_number": 12 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_2.ipynb new file mode 100644 index 00000000..41dd2f3c --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_2.ipynb @@ -0,0 +1,491 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:1adbacabb5391b7ec0914bdea7be4967c3225d247b9edb92e72750634ec2b9e5" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 26 , Multistage BJT Amplifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.1 , Page Number 658" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av1 = 10.0 #Voltage gain1\n", + "Av2 = 20.0 #Voltage gain2\n", + "Av3 = 40.0 #Voltage gain3\n", + "\n", + "#Calculation\n", + "\n", + "Av = Av1 * Av2 * Av3 #Voltage gain\n", + "Gv1 = 20 * math.log10(Av1) #dB voltage gain1\n", + "Gv2 = 20 * math.log10(Av2) #dB voltage gain2\n", + "Gv3 = 20 * math.log10(Av3) #dB voltage gain3\n", + "Gv = Gv1 + Gv2 + Gv3 #dB voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Overall voltage gain is \",Av,\".\\nTotal dB voltage gain is \",round(Gv),\" dB.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Overall voltage gain is 8000.0 .\n", + "Total dB voltage gain is 78.0 dB.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.2 , Page Number 659" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "n = 3 #Number of amplified stages\n", + "Vin1 = 0.05 #Input to first stage (in volts peak-to-peak)\n", + "Vout3 = 150.0 #Output of final stage (in volts peak-to-peak)\n", + "Av1 = 20.0 #Voltage gain of first stage \n", + "Vin3 = 15.0 #Input of final stage (in volts peak-to-peak) \n", + "\n", + "#Calculation\n", + "\n", + "Av = Vout3 / Vin1 #Overall voltage gain\n", + "Av3 = Vout3 / Vin3 #Voltage gain of third stage\n", + "Av2 = Av / (Av1 * Av3) #Voltage gain of second stage\n", + "Vin2 = Vin3 / Av2 #Input voltage gain of second stage \n", + "\n", + "#Result\n", + "\n", + "print \"Overall voltage gain is \",Av,\".\\nVoltage gain of 2nd and 3rd stage is \",Av2,\" and \",Av3,\".\\nInput voltage of the second stage is \",Vin2,\" Vpk-pk.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Overall voltage gain is 3000.0 .\n", + "Voltage gain of 2nd and 3rd stage is 15.0 and 10.0 .\n", + "Input voltage of the second stage is 1.0 Vpk-pk.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.3 , Page Number 663" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n", + "RB = 1.0 * 10**6 #Base resistance (in ohm)\n", + "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n", + "RL = 10.0 * 10**3 #Load resistance (in ohm)\n", + "beta1 = beta2 = 100.0 #Common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "IE = VCC /(RE + RB/beta1) #Emitter current (in Ampere)\n", + "r1e = 25.0/IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n", + "Ri1 = beta1 * r1e #Input resistance of first stage (in ohm)\n", + "Ri2 = beta2 * r1e #Input resistance of second stage (in ohm)\n", + "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n", + "Ro2 = RC * RL / (RC + RL) #Output resitance of second stage (in ohm)\n", + "Av1 = Ro1 / r1e #Voltage gain of first stage\n", + "Av2 = Ro2 / r1e #Voltage gain of second stage\n", + "Av = Av1 * Av2 #Overall voltage gain\n", + "Gv = 20 * math.log10(Av) #Overall dB voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Input resistance of first and scond stage is \",round(Ri1),\" ohm and \",round(Ri2),\" ohm.\\nOutput resistance of first and second stage is \",round(Ro1,1),\" ohm and \",round(Ro2,1),\" ohm.\\nVoltage gain of first and second stage is \",round(Av1),\" and \",round(Av2,1),\".\\nOverall voltage gain and dB voltage gain is \",round(Av),\" and \",round(Gv,1),\" dB.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Input resistance of first and scond stage is 2750.0 ohm and 2750.0 ohm.\n", + "Output resistance of first and second stage is 1774.2 ohm and 3333.3 ohm.\n", + "Voltage gain of first and second stage is 65.0 and 121.2 .\n", + "Overall voltage gain and dB voltage gain is 7820.0 and 77.9 dB.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.4 , Page Number 664" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 15.0 #Source voltage (in volts)\n", + "RC = 3.3 * 10**3 #Collector resistance (in ohm) \n", + "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n", + "RL = 10.0 * 10**3 #Load resistance (in ohm)\n", + "R1 = 33.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 8.2 * 10**3 #Resistance (in ohm)\n", + "beta1 = beta2 = 100.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-base voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n", + "IE = (Vth - VBE)/(RE + Rth/beta1) #Emitter current (in Ampere)\n", + "r1e = 25.0/IE * 10**-3 #a.c. emitter resistance (in ohm)\n", + "Ri2 = beta1 * r1e #Input resistance of second stage (in ohm)\n", + "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n", + "Ro2 = RC * RL /(RC + RL) #Output resistance of second stage (in ohm)\n", + "Av1 = Ro1 / r1e #Voltage gain of the first stage\n", + "Av2 = Ro2 / r1e #Voltage gain of second stage\n", + "Av = Av1 * Av2 #Overall voltage gain\n", + "Gv = 20 * math.log10(Av) #Overall voltage (in decibels)\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain of stage one and two are as follows \",round(Av1,2),\" and \",round(Av2,2),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv,1),\" dB.\"\n", + "\n", + "#Slight variation in the value of Av2 and Av due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain of stage one and two are as follows 73.9 and 212.85 .\n", + "Overall voltage gain is 15728.0 .\n", + "Overall voltage gain in decibels is 83.9 dB.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.5 , Page Number 669" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RB = 470.0 * 10**3 #Base resistance (in ohm) \n", + "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n", + "RL = 1.0 * 10**3 #Load resistance (in ohm)\n", + "a = 4.0 #Turn's ratio\n", + "beta1 = beta2 = 50.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-base voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "IE = VCC/ (RE + RB/beta1) #Emitter current (in Ampere)\n", + "r1e = 25.0 / IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n", + "Ri1 = RB*beta1*r1e/(RB+beta1*r1e) #Input resistance of first stage (in ohm)\n", + "Ri2 = RB*beta2*r1e/(RB+beta2*r1e) #Input resistance of Second stage (in ohm)\n", + "R1i2 = a**2 * Ri2 #Input resistance of the second stage transformed to primary side (in ohm)\n", + "Ro1 = R1i2 #Output resistance of second stage (in ohm)\n", + "R1o2 = a**2 * RL #Output resistance of the second stage transformed to the primary side (in ohm) \n", + "Av1 = Ro1/r1e #Voltage gain of first stage\n", + "Av2 = R1o2/r1e #Voltage gain of second stage\n", + "Av = Av1 * Av2 #Overall voltage gain\n", + "Gv = 20 * math.log10(Av) #Overall voltage gain (in decibels) \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv),\" dB.\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain of first stage is 797.8 .\n", + "Voltage gain of second stage is 615.4 .\n", + "Overall voltage gain is 490950.0 .\n", + "Overall voltage gain in decibels is 114.0 dB.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.6 , Page Number 672" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 12.0 #Source voltage (in volts)\n", + "R1 = 100.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 20.0 * 10**3 #Resistance (in ohm)\n", + "R3 = 10.0 * 10**3 #Resistance (in ohm)\n", + "R4 = 2.0 * 10**3 #Resistance (in ohm)\n", + "R5 = 10.0 * 10**3 #Resistance (in ohm)\n", + "R6 = 2.0 * 10**3 #Resistance (in ohm)\n", + "beta1 = beta2 = 100.0 #Common emitter current gain\n", + "\n", + "#Calculation\n", + "\n", + "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n", + "IE1 = Vth / R4 #Emitter curren1 (in Ampere)\n", + "r1e = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance (in ohm) \n", + "VR6 = VCC - IE1 * R3 #Voltage across resistance6 (in volts)\n", + "IE2 = VR6 / R6 #Emitter current2 (in Ampere)\n", + "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance2 (in ohm)\n", + "Ri2 = beta2*(r1e2 + R6) #Input resistance of second stage (in ohm)\n", + "Ro1 = R3 * Ri2 /(R3 + Ri2) #Output resistance of first stage (in ohm)\n", + "Ro2 = R5 #Output resistance of second stage (in ohm)\n", + "Av1 = Ro1/(r1e + R4) #Voltage gain of first stage \n", + "Av2 = Ro2/(r1e2 + R6) #Voltage gain of second stage\n", + "Av = Av1 * Av2 #Overall voltage gain \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av,2),\".\"\n", + "\n", + "#Calculation mistake in book about Ro1 , therefore slight variation in the answers." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain of first stage is 4.7 .\n", + "Voltage gain of second stage is 4.9 .\n", + "Overall voltage gain is 23.24 .\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.7 , Page Number 674" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "R1 = 800.0 #Resistance (in ohm)\n", + "R2 = 200.0 #Resistance (in ohm)\n", + "R3 = 600.0 #Resistance (in ohm)\n", + "R4 = 200.0 #Resistance (in ohm)\n", + "R5 = 100.0 #Resistance (in ohm)\n", + "R6 = 1000.0 #Resistance (in ohm)\n", + "beta1 = beta2 = 100.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-base voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "VR2 = VCC * (R2 / (R1 + R2)) #Voltage across resistance2 (in volts)\n", + "IE1 = (VR2 - VBE)/R2 #Emitter current of Q1 transistor (in Ampere)\n", + "IC1 = IE1 #Collector current of Q1 transistor (in Ampere)\n", + "VC1 = VCC - IC1 * R3 #Voltage at the collector of Q1 transistor (in volts)\n", + "VE1 = IE1 * R4 #Voltage at the emitter of Q1 transistor (in volts)\n", + "VCE1 = VC1 - VE1 #Collector-to-emitter voltage of Q1 transistor (in volts)\n", + "VE2 = VC1 - (-VBE) #Voltage at the emitter of Q2 transistor (in volts)\n", + "IE2 = (VCC - VE2)/R6 #Emitter current of Q2 transistor (in Ampere)\n", + "IC2 = IE2 #Collector-current of Q2 transistor (in Ampere)\n", + "VC2 = IC2 * R5 #Voltage at the collector of Q2 transistor (in volts)\n", + "VCE2 = VC2 - VE2 #Collector-to-emitter voltage of Q2 transistor (in volts)\n", + "\n", + "r1e1 = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance of Q1 transistor (in ohm)\n", + "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance of Q2 transistor (in ohm)\n", + "Ri2 = beta2 * (r1e2 + R6) #Input resistance of second stage (in ohm)\n", + "Ro1 = R3 * Ri2 / (R3 + Ri2) #Output resistance of first stage (in ohm)\n", + "Av1 = Ro1 / (r1e1 + R4) #Voltage gain of first stage\n", + "Av2 = 1.0 #Voltage gain of second stage \n", + "Av = Av1 * Av2 #Overall voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Emitter current of Q1 transistor is \",IE1 * 10**3,\" mA.\\nCollector current of Q1 transistor is \",IC1 * 10**3,\" mA.\\nEmitter current of Q2 transistor is \",IE2 * 10**3,\" mA.\\nCollecotr-current of Q2 transistor is \",IC2 * 10**3,\" mA.\"\n", + "print \"Collector-to-emitter voltage of Q1 transistor is \",VCE1,\" v.\\nCollector-to-emitter voltage of Q2 transistor is \",VCE2,\".\"\n", + "print \"Overall voltage gain is \",round(Av,2),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Emitter current of Q1 transistor is 6.5 mA.\n", + "Collector current of Q1 transistor is 6.5 mA.\n", + "Emitter current of Q2 transistor is 3.2 mA.\n", + "Collecotr-current of Q2 transistor is 3.2 mA.\n", + "Collector-to-emitter voltage of Q1 transistor is 4.8 v.\n", + "Collector-to-emitter voltage of Q2 transistor is -6.48 .\n", + "Overall voltage gain is 2.93 .\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 26.8 , Page Number 679" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "VCC = 10.0 #Source voltage (in volts)\n", + "RE = 1.5 * 10**3 #Emitter resistance (in ohm)\n", + "R1 = 30.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 20.0 * 10**3 #Resistance (in ohm)\n", + "beta1 = 150.0 #Common emitter current gain\n", + "beta2 = 100.0 #Common emitter current gain\n", + "VBE = 0.7 #Emitter-to-base voltage (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = beta1 * beta2 #Overall current gain of transistor\n", + "VR2 = VCC * R2/(R1 + R2) #Voltage across resistor2 (in volts)\n", + "VB2 = VR2 - VBE #Voltage at the base of Q2 (in volts)\n", + "VE2 = VB2 - VBE #Voltage at the emitter of Q2 (in volts)\n", + "IE2 = VE2 / RE #Emitter current of Q2 (in Ampere)\n", + "r1e2 = 25.0/IE2 * 10**-3 #a.c. emitter diode resistance of Q2 (in ohm)\n", + "IB2 = IE2 / beta2 #Base current of Q2 (in Ampere)\n", + "IE1 = IB2 #Emitter current of Q2\n", + "r1e1 = 25.0/IE1 * 10**-3 #a.c. emitter diode resistance of Q1 (in ohm) \n", + "Ri1 = R1 * R2/(R1 + R2) #Total input resistance (in ohm)\n", + "Av = RE/(r1e1/beta2 + r1e2 + RE) #Overall voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"The overall current gain is \",Ai,\".\"\n", + "print \"The a.c. emitter diode resistance of Q1 transistor is \",round(r1e1,1),\" ohm.\\nThe a.c. emitter diode resistance of Q2 transistor is \",round(r1e2,2),\" ohm.\"\n", + "print \"Total input resistance is \",Ri1 * 10**-3,\" kilo-ohm.\"\n", + "print \"Overall voltage gain is \",round(Av,2),\".\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The overall current gain is 15000.0 .\n", + "The a.c. emitter diode resistance of Q1 transistor is 1442.3 ohm.\n", + "The a.c. emitter diode resistance of Q2 transistor is 14.42 ohm.\n", + "Total input resistance is 12.0 kilo-ohm.\n", + "Overall voltage gain is 0.98 .\n" + ] + } + ], + "prompt_number": 8 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_2.ipynb new file mode 100644 index 00000000..6dd50156 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_2.ipynb @@ -0,0 +1,782 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 27 , Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.1 , Page Number 689"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current at saturation point is 8.77 mA.\n",
+ "Collector-to-emitter voltage at saturation point is 0 V.\n",
+ "Collector current at cut off point is 0 mA.\n",
+ "Collector-to-emitter voltage at cut-off point is 5.26 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6192ed0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nKbmLiOSg/wedVsAa/LN/MwAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6098fd0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector resistance (in kilo-ohm) \n",
+ "RE = 500.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.5 #Load resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR2 = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "IEQ = (VR2 - VBE) / RE #Emitter current (in milli-Ampere)\n",
+ "ICQ = IEQ #Collector current (in milli-Ampere)\n",
+ "VCEQ = VCC - ICQ * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "rL = RC * RL /(RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "ICsat = ICQ + VCEQ / rL #Collector current at saturation point (in milli-Ampere) \n",
+ "VCEsat = 0 #Voltage at saturation point (in volts)\n",
+ "ICcutoff = 0 #Collector current at cut off point (in milli-Ampere)\n",
+ "VCEcutoff = VCEQ + ICQ * rL #Collector-to-emitter voltage at cut-off point (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current at saturation point is \",round(ICsat,2),\" mA.\\nCollector-to-emitter voltage at saturation point is \",VCEsat,\" V.\"\n",
+ "print \"Collector current at cut off point is \",ICcutoff,\" mA.\\nCollector-to-emitter voltage at cut-off point is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Slight variation due to higher precision.\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,5.27,100)\n",
+ "plot(x,8.78 - 8.78/5.27 * x)\n",
+ "title(\"a.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(2.11,5.26))\n",
+ "annotate(\"8.78\",xy=(0,8.78))\n",
+ "annotate(\"5.27\",xy=(5.27,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.2 , Page Number 691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall compliance (PP) of the amplifier is 9.61 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 1.8 #Resistance (in kilo-ohm)\n",
+ "RC = 620.0 * 10**-3 #Collector resistance (in kilo-ohm) \n",
+ "RE = 200.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.2 #Load resistance (in kilo-ohm)\n",
+ "beta = 180.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "VE = VB - VBE #Voltage at the emitter (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IE*(RC + RE) #Collector-to-emitter voltage (in volts)\n",
+ "ICEQ = IC #Collector current at Q (in milli-Ampere)\n",
+ "VCEQ = VCE #Collector-to-emitter voltage at Q (in volts) \n",
+ "rL = RC * RL/(RC + RL) #a.c. load resistance (in kilo-ohm) \n",
+ "PP = 2 * ICEQ * rL #Compliance of the amplifier (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall compliance (PP) of the amplifier is \",round(PP,2),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.3 , Page Number 694"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 27.5 and Power gain is 1375.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "r1e = 8.0 #a.c. load resistance (in ohm)\n",
+ "RC = 220.0 #Collector resistance (in ohm)\n",
+ "RE = 47.0 #Emitter resistance (in ohm)\n",
+ "R1 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 470.0 #Resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC #Load resistance (in ohm)\n",
+ "Av = rL / r1e #Voltage gain\n",
+ "Ai = beta #Current gain\n",
+ "Ap = Av * Ai #Power gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\" and Power gain is \",Ap,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.4 , Page Number 698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector efficiency is 25.0 % .\n",
+ "Power rating of the transistor is 20.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 20.0 #dc Power (in watt)\n",
+ "Poac = 5.0 #ac Power (in watt) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ne = Poac / Ptrdc #Collector efficiency \n",
+ "P = Ptrdc #Power rating of the transistor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector efficiency is \",ne * 100,\"% .\\nPower rating of the transistor is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.5 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The a.c. power output is 4.7 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #dc power (in watt)\n",
+ "ne = 0.32 #efficiency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = ne * Pcdc / (1 - ne) #a.c. power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The a.c. power output is \",round(Poac,1),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.6 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total power within the circuit is 7.0 W.\n",
+ "The power Pcdc = 3.5 W is dissipated in the form of heat within the transistor collector region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "nc = 0.5 #Efficiency\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "Poac = 3.5 #a.c. power output (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ptrdc = Poac / nc #dc power (in watt)\n",
+ "Pcdc = Ptrdc - Poac #Power dissipated as heat (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total power within the circuit is \",Ptrdc,\" W.\\nThe power Pcdc = \",Pcdc,\" W is dissipated in the form of heat within the transistor collector region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.7 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power supplied by the d.c. source to the amplifier circuit is 12.0 W.\n",
+ "D.C. power consumed by the load resistor is 5.76 W.\n",
+ "A.C. power developed across the load resistor is 0.72 W.\n",
+ "D.C. power delivered to the transistor is 6.24 W.\n",
+ "D.C. power wasted in the transistor collector is 5.52 W.\n",
+ "Overall efficiency is 0.06 .\n",
+ "Collector efficiency is 11.5 % .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Supply voltage (in volts)\n",
+ "VCEQ = 10.0 #Collector-to-emitter voltage (in volts)\n",
+ "ICQ = 600.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "Ip = 300.0 * 10**-3 #Output current variation (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Pindc = VCC * ICQ #dc power supplied (in watt)\n",
+ "PRLdc = ICQ**2 * RL #dc power consumed by load resistor (in watt) \n",
+ "I = Ip / 2**0.5 #r.m.s. value of Collector current (in Ampere) \n",
+ "Poac = I**2 * RL #a.c. power across load resistor (in ohm) \n",
+ "Ptrdc = Pindc - PRLdc #dc power delievered to transistor (in watt)\n",
+ "Pcdc = Ptrdc - Poac #dc power wasted in transistor collector (in watt) \n",
+ "no = Poac / Pindc #Overall efficiency\n",
+ "nc = Poac / Ptrdc #Collector efficiency \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power supplied by the d.c. source to the amplifier circuit is \",Pindc,\" W.\"\n",
+ "print \"D.C. power consumed by the load resistor is \",PRLdc,\" W.\"\n",
+ "print \"A.C. power developed across the load resistor is \",Poac,\" W.\"\n",
+ "print \"D.C. power delivered to the transistor is \",Ptrdc,\" W.\"\n",
+ "print \"D.C. power wasted in the transistor collector is \",Pcdc,\" W.\"\n",
+ "print \"Overall efficiency is \",no,\".\"\n",
+ "print \"Collector efficiency is \",round(nc * 100,1),\"% .\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.8 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effective resistance is 1.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "a = 15.0 #Turns ratio\n",
+ "RL = 8.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The effective resistance is \",R1L * 10**-3,\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.9 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Turns ratio is 25.0 : 1.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "R1L = 10.0 * 10**3 #Effective resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "a = (R1L / RL)**0.5 #Turns ratio\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Turns ratio is \",a,\": 1.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.10 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum power delievered to load is 100.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "a = 10.0 #Turns ratio\n",
+ "ICQ = 500.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective load (in ohm)\n",
+ "Poac = 1.0/2* ICQ**2 * R1L #Maximum power delieverd (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum power delievered to load is \",Poac,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.11 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum undistorted a.c. output power is 0.05 W.\n",
+ "Quiescent collector current is 0.01 A.\n",
+ "Transformer turns ratio is 8.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 100.0 * 10**-3 #Maximum collector dissipated power (in watt)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "no = nc = 0.5 #Efiiciency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = no * Ptrdc #Maximum undistorted a.c. output power (in watt)\n",
+ "ICQ = 2 * Poac / VCC #Quiescent collector current (in Ampere)\n",
+ "R1L = VCC / ICQ #Effective load resistance (in ohm)\n",
+ "a = (R1L / RL)**0.5\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum undistorted a.c. output power is \",Poac,\" W.\\nQuiescent collector current is \",ICQ,\" A.\\nTransformer turns ratio is \",round(a),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.12 , Page Number 703"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power transferred when directly connected is 4.9 mW.\n",
+ "The average power transferred to the speaker is 260.0 mW.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "Ip = 50.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 4.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = round(Ip / 2**0.5,3) #r.m.s. value of collector current (in Ampere)\n",
+ "Poac = I**2 * RL #Average power delievered (in watt)\n",
+ "V1 = VCC #Primary voltage (in volts)\n",
+ "R1L = V1 / Ip #Effective load resistance (in ohm)\n",
+ "a = round((R1L / RL)**0.5) #Turns ratio\n",
+ "V2 = V1 / a #Secondary voltage (in volts)\n",
+ "I2p = V2 / RL #Peak value of secondary current (in Ampere)\n",
+ "I2 = I2p / 2**0.5 #r.m.s. value of secondary current (in Ampere)\n",
+ "Pavg = I2**2 * RL #Average power transferred to speaker (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power transferred when directly connected is \",Poac * 10**3,\" mW.\" \n",
+ "print \"The average power transferred to the speaker is \",round(Pavg,2) * 10**3,\" mW.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.13 , Page Number 706"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power delivered to the load is 0.1 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm)\n",
+ "IC = 10.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PL = IC**2 * RL #Load power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power delivered to the load is \",PL,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.14 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power drawn from the source is 16.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "VP = 16.0 #Peak output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = VP**2 / (2 * RL) #Power drawn from the source (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power drawn from the source is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.15 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum power output is 73.02 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #Power rating of amplifier (in watt)\n",
+ "n = 0.785 #Maximum overall efficiency \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Poac = (PT * n) / (1-n) #Maximum power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum power output is \",round(Poac,2),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.16 , Page Number 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The d.c. input power is 12.5 W.\n",
+ "The a.c. output power is 7.5 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "no = 0.6 #efficiency \n",
+ "Pcdc = 2.5 #Maximum collector dissipation of each transistor (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Pindc = PT / (1 - no ) #dc input power (in watt)\n",
+ "Poac = no * Pindc #ac output power (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The d.c. input power is \",Pindc,\" W.\\nThe a.c. output power is \",Poac,\" W.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_2.ipynb new file mode 100644 index 00000000..6c1d54c3 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_2.ipynb @@ -0,0 +1,271 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a760aed16bae58a496fddddaee6e49db519972c26c6f372274bdabcee7c8db3b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 28 , Tuned Amplifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.1 , Page Number 717" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L = 150.0 * 10**-6 #Inductance (in Henry)\n", + "C = 100.0 * 10**-12 #Capacitance (in Farad)\n", + "\n", + "#Calculation\n", + "\n", + "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"The resonant frequency is \",round(fo * 10**-6,1),\" MHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The resonant frequency is 1.3 MHz.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.2 , Page Number 718" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L = 100.0 * 10**-6 #Inductance (in Henry)\n", + "C = 100.0 * 10**-12 #Capacitance (in Farad)\n", + "R = 5.0 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n", + "Zp = L / (C*R) #Circuit impedance at resonance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Resonant frequency is \",fo * 10**-6,\" MHz.\\nCircuit impedance at resonance is \",Zp * 10**-3,\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Resonant frequency is 1.59 MHz.\n", + "Circuit impedance at resonance is 200.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.3 , Page Number 720" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 1.0 * 10**6 #Resonant frequency (in Hertz)\n", + "Qo = 100.0 #Quality factor\n", + "\n", + "#Calculation\n", + "\n", + "BW = fo / Qo #Bandwidth (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Bandwidth of the circuit is \",BW * 10**-3,\" kHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bandwidth of the circuit is 10.0 kHz.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.4 , Page Number 720" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 1600.0 * 10**3 #Resonant frequency (in Hertz)\n", + "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "Qo = fo / BW #Quality factor\n", + "\n", + "#Result\n", + "\n", + "print \"The Q-factor is \",Qo,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Q-factor is 160.0 .\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.5 , Page Number 720" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 2.0 * 10**6 #Resonant frequency (in Hertz)\n", + "BW = 50.0 * 10**3 #Bandwidth (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "Qo = fo / BW #Quality factor\n", + "\n", + "#Result\n", + "\n", + "print \"The Q-factor is \",Qo,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Q-factor is 40.0 .\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 28.6 , Page Number 720" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 455.0 * 10**3 #Resonant frequency (in Hertz)\n", + "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n", + "XL = 1255.0 #Inductive reactance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Qo = fo / BW #Quality factor\n", + "R = XL / Qo #Resistance (in ohm)\n", + "L = XL / (2*math.pi*fo) #Inductance (in Henry)\n", + "C = 1 / (XL*2*math.pi*fo) #Capacitance (in Farad)\n", + "Zp = L / (C*R) #Circuit impedance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The value of circuit impedance at resonance is \",round(Zp * 10**-3),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of circuit impedance at resonance is 57.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 6 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_2.ipynb new file mode 100644 index 00000000..893f02e3 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_2.ipynb @@ -0,0 +1,754 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:94c613f9e33d60c6bbad037ec5805751242a2be2fb5357365540a6d5b86b31b7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 29 , Feedback Amplifiers" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.1 , Page Number 730" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 400.0 #Voltage gain\n", + "beta = 0.1 #feedback ratio\n", + "\n", + "#Calculation\n", + "\n", + "A1v = Av / (1 + beta * Av) #Voltage gain with negative feedback\n", + "\n", + "#Result\n", + "\n", + "print \"The voltage gain of an amplifier with negative feedback is \",round(A1v,2),\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage gain of an amplifier with negative feedback is 9.76 .\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.2 , Page Number 730" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 100.0 #Voltage gain\n", + "A1v = 20.0 #Voltage gain with negative feedback \n", + "\n", + "#Calculation\n", + "\n", + "beta = (Av/A1v - 1) / Av #feedback ratio \n", + "\n", + "#Result\n", + "\n", + "print \"The percentage of the negative feedback is \",beta * 100,\"%.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The percentage of the negative feedback is 4.0 %.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.3 , Page Number 730" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 1000.0 #Voltage gain\n", + "A1v = 10.0 #Voltage gain with negative feedback \n", + "\n", + "#Calculation\n", + "\n", + "beta = (Av/A1v - 1) / Av #feedback ratio \n", + "\n", + "#Result\n", + "\n", + "print \"The fraction of the output that is feedback to the input is \",beta,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The fraction of the output that is feedback to the input is 0.099 .\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.4 , Page Number 730" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "V1o = Vo = 12.5 #Output voltage (in volts)\n", + "V1in = 1.5 #Input voltage with feedback (in volts)\n", + "Vin = 0.25 #Input voltage without feedback (in volts)\n", + "\n", + "#Calculation\n", + "\n", + "Av = Vo / Vin #Voltage gain without negative feedback\n", + "A1v = V1o / V1in #Voltage gain with negative feedback\n", + "beta = (Av/A1v - 1) / Av #feedback ratio \n", + "\n", + "#Result\n", + "\n", + "print \"The value of voltage gain without negative feedback is \",Av,\".\\nThe value of voltage gain with negative feedback is \",round(A1v,2),\".\\nThe value of beta is \",beta,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of voltage gain without negative feedback is 50.0 .\n", + "The value of voltage gain with negative feedback is 8.33 .\n", + "The value of beta is 0.1 .\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.5 , Page Number 731" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 60.0 #Voltage gain\n", + "A1v = 80.0 #Voltage gain with negative feedback\n", + "\n", + "#Calculation\n", + "\n", + "beta = (1 - Av/A1v ) / Av #feedback ratio \n", + "beta1 = 1/Av #feedback ratio which causes oscillation\n", + "\n", + "#Result\n", + "\n", + "print \"Value of feedback ratio is \",round(beta,3),\".\\nThe percentage of feedback which causes oscillation is \",round(beta1 * 100,1),\"%.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of feedback ratio is 0.004 .\n", + "The percentage of feedback which causes oscillation is 1.7 %.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.6 , Page Number 732" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "A1v = 100.0 #Voltage gain with negative feedback\n", + "Vin = 50.0 * 10**-3 #Input voltage without feedback (in volts)\n", + "V1in = 0.6 #Input voltage with feedback (in volts) \n", + "\n", + "#Calculation\n", + "\n", + "V1o = A1v * V1in #Output voltage with feedback (in volts)\n", + "Vo = V1o #Output voltage without feedback (in volts) \n", + "Av = Vo / Vin #Voltage gain without feedback \n", + "beta = (Av/A1v - 1) / Av #feedback ratio \n", + "\n", + "#Result\n", + "\n", + "print \"The value of voltage gain without feedback is \",Av,\".\\nThe value of voltage gain with feedback is \",A1v,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of voltage gain without feedback is 1200.0 .\n", + "The value of voltage gain with feedback is 100.0 .\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.7 , Page Number 733" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 800.0 #Voltage gain\n", + "beta = 0.05 #Feedback ratio \n", + "dAvbyAv = 20.0 #Percentage change in open loop gain\n", + "\n", + "#Calculation\n", + "\n", + "dA1vbyA1v = 1 / (1 + beta*Av)*dAvbyAv #Percentage change in closed loop gain \n", + "\n", + "#Result\n", + "\n", + "print \"The percentage change in closed loop gain is \",round(dA1vbyA1v,1),\"%.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The percentage change in closed loop gain is 0.5 %.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.8 , Page Number 733" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "A1v = 100.0 #Voltage gain with feedback\n", + "dA1vbyA1v = 0.01 #Percentage change in closed loop gain \n", + "dAvbyAv = 0.20 #Percentage change in open loop gain\n", + "\n", + "#Calculation\n", + "\n", + "betamultAvplus1 = dAvbyAv/dA1vbyA1v #Product of feedback ratio and voltage ratio plus one\n", + "Av = A1v * betamultAvplus1 #Voltage gain without feedback \n", + "beta = betamultAvplus1 / Av #Feedback ratio \n", + "\n", + "#Result\n", + "\n", + "print \"The value of Av is \",Av,\".\\nThe value of beta is \",beta,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of Av is 2000.0 .\n", + "The value of beta is 0.01 .\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.9 , Page Number 735" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 100.0 #Voltage gain without feedback\n", + "BW = 200.0 * 10**3 #Bandwidth without feedback (in Hertz)\n", + "beta = 0.05 #Feedback ratio\n", + "BWn = 1.0 * 10**6 #New bandwidth without feedback (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n", + "A1v = Av/(1 + beta*Av) #Voltage gain with feedback\n", + "beta1 = (BWn/BW - 1)/Av #Amount of feedback required \n", + "\n", + "#Result\n", + "\n", + "print \"The new bandwidth is \",BW1 * 10**-3,\" kHz.\\nThe new gain is \",round(A1v,1),\".\"\n", + "print \"Amout of feedback required when BW = 1MHz is \",beta1 * 100,\"%.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The new bandwidth is 1200.0 kHz.\n", + "The new gain is 16.7 .\n", + "Amout of feedback required when BW = 1MHz is 4.0 %.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.10 , Page Number 735" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 1500.0 #Voltage gain\n", + "BW = 4.0 * 10**6 #Bandwidth wihtout feedback (in Hertz)\n", + "A1v = 150.0 #Voltage gain with feedback\n", + "\n", + "#Calculation\n", + "\n", + "beta = (Av/A1v -1) / Av #Feedback ratio\n", + "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"The value of feedback factor is \",beta * 100,\"%.\\nThe value of bandwidth with feedback is \",BW1 * 10**-6,\" MHz.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of feedback factor is 0.6 %.\n", + "The value of bandwidth with feedback is 40.0 MHz.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.11 , Page Number 736" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Rin = 4.2 * 10**3 #Input resistance (in ohm)\n", + "Av = 220.0 #Voltage gain without feedback\n", + "beta = 0.01 #Feedback ratio\n", + "f1 = 1.5 * 10**3 #Cut off frequency without feedback (in Hertz)\n", + "f2 = 501.5 * 10**3 #Cut off frequency with feedback (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "R1i = (1 + beta * Av) * Rin #Input resistance of feedback amplifier (in ohm)\n", + "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n", + "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"The value of input resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nNew cut off frequency without feedback is \",round(f11),\" Hz.\\nNew cut off frequency with feedback is \",f21 * 10**-3,\" kHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of input resistance with feedback is 13.44 kilo-ohm.\n", + "New cut off frequency without feedback is 469.0 Hz.\n", + "New cut off frequency with feedback is 1604.8 kHz.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.12 , Page Number 737" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 1000.0 #Voltage gain without feedback\n", + "beta = 0.01 #Feedback ratio\n", + "f1 = 50.0 #Cut off frequency without feedback (in Hertz)\n", + "f2 = 200.0 * 10**3 #Cut off frequency with feedback (in Hertz)\n", + "D = 0.05 #Distortion \n", + "\n", + "#Calculation\n", + "\n", + "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n", + "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n", + "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n", + "D1 = D/(1 + beta * Av) #New Distortion\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nf11 is \",round(f11,1),\" Hz.\\nf21 is \",f21 * 10**-6,\" MHz.\\nDistortion with feedback is \",round(D1 * 100,2),\"%.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain with feedback is 90.9 .\n", + "f11 is 4.5 Hz.\n", + "f21 is 2.2 MHz.\n", + "Distortion with feedback is 0.45 %.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.13 , Page Number 737" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 100.0 #Voltage gain without feedback\n", + "N = 0.8 #Reduction in noise\n", + "\n", + "#Calculation\n", + "\n", + "beta = ((1 - N)**-1 - 1)/Av #feedback ratio\n", + "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n", + "\n", + "#Result\n", + "\n", + "print \"Percentage of negative feedback is \",beta * 100,\"%.\\nVoltage gain with feedback is \",A1v,\".\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Percentage of negative feedback is 4.0 %.\n", + "Voltage gain with feedback is 20.0 .\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.14 , Page Number 739" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "Av = 300.0 #Voltage gain without feedback\n", + "Ri = 1.5 * 10**3 #Input resistance (in ohm)\n", + "Ro = 50.0 * 10**3 #Output resistance (in ohm)\n", + "beta = 1.0/15.0 #feedback ratio \n", + "\n", + "#Calculation\n", + "\n", + "A1v = Av/ (1 + beta*Av) #Voltage gain with feedback \n", + "R1i = (1 + beta* Av)* Ri #Input resistance with feedback (in ohm) \n", + "R1o = Ro/(1 + beta * Av) #Output resistance with feedback (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o * 10**-3,1),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain with feedback is 14.3 .\n", + "Input resistance with feedback is 31.5 kilo-ohm.\n", + "Output resistance with feedback is 2.4 kilo-ohm.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.15 , Page Number 741" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "hfe = 100.0 #hfe \n", + "hie = 2.0 * 10**3 #hie (in ohm)\n", + "Re1 = 100.0 #Emitter resistance (in ohm)\n", + "R1 = 15.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 5.6 * 10**3 #Resistance (in ohm)\n", + "Rc = 470.0 #Collector resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ai = hfe #Current gain\n", + "Av = Ai * Rc / hie #Voltage gain \n", + "Ri = (R1*R2*hie)/(R1*R2+R2*hie+R1*hie) #Input resistance (in ohm) \n", + "beta = Re1 / Rc #feedback ratio \n", + "A1v = Av / (1 + beta * Av) #Voltage ratio with feedback\n", + "R1i = Ri*(1 + beta * Av) #Input resistancewith feedback (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain without feedback is \",Av,\".\\nInput resistance without feedback is \",round(Ri),\" kilo-ohm.\\nVoltage gain with feedback is \",round(A1v,2),\".\\nInput resistance with feedback is \",round(R1i,1),\" kilo-ohm.\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain without feedback is 23.5 .\n", + "Input resistance without feedback is 1342.0 kilo-ohm.\n", + "Voltage gain with feedback is 3.92 .\n", + "Input resistance with feedback is 8051.1 kilo-ohm.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 29.16 , Page Number 743" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "#Variables\n", + "\n", + "hfe = 99.0 #hfe\n", + "hie = 2.0 * 10**3 #hie (in ohm)\n", + "Rc = 22.0 * 10**3 #Load resistor of frist stage (in ohm) \n", + "R4 = 100.0 #Emitter resistance of first stage (in ohm)\n", + "R1 = 220.0 * 10**3 #Biasing resistor of second stage (in ohm)\n", + "R2 = 22.0 * 10**3 #Biasing resistor of second stage (in ohm)\n", + "R1c = 4.7 * 10**3 #Load resistance of second stage (in ohm)\n", + "R3 = 7.8 * 10**3 #Feedback resistor from collector of second stage to emitter of first stage (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "Ri = hie #Input resistance of first stage (in ohm)\n", + "Ro1 = (1/Rc + 1/R1 + 1/R2 + 1/hie)**-1 #Output resistance of first stage (in ohm)\n", + "Ri2 = hie #Input resistance of second stage (in ohm) \n", + "Ro2 = R1c * (R3 + R4)/(R1c + R3 + R4) #Output resistance of second stage (in ohm)\n", + "Av1 = hfe * Ro1 / hie #Voltage gain of first stage \n", + "Av2 = hfe * Ro2 / hie #Voltage gain of second stage \n", + "Av = Av1 * Av2 #Overall voltage gain without feedback\n", + "beta = R4 / (R3 + R4) #Feedback ratio\n", + "Ri1 = Ri*(1 + beta*Av) #Input resistance with feedback (in ohm)\n", + "R1o2 = Ro2 / (1 + beta * Av) #Output resistance with feedback (in ohm)\n", + "A1v = Av / (1 + beta * Av) #Overall voltage gain with feedback \n", + "\n", + "#Result\n", + "\n", + "print \"Voltage gain without feedback is \",round(Av,1),\".\\nInput resistance of first stage without feedback is \",Ri * 10**-3,\" kilo-ohm.\\nInput resistance of second stage without feedback is \",Ri2 * 10**-3,\" kilo-ohm.\\nOutput resistance of first stage without feedback is \",round(Ro1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance of second stage without feedback is \",round(Ro2 * 10**-3,2),\" kilo-ohm .\"\n", + "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",round(Ri1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o2 * 10**-3,3),\" kilo-ohm.\"\n", + "\n", + "#Calculation error in book about value of Av." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Voltage gain without feedback is 12126.0 .\n", + "Input resistance of first stage without feedback is 2.0 kilo-ohm.\n", + "Input resistance of second stage without feedback is 2.0 kilo-ohm.\n", + "Output resistance of first stage without feedback is 1.68 kilo-ohm.\n", + "Output resistance of second stage without feedback is 2.95 kilo-ohm .\n", + "Voltage gain with feedback is 78.5 .\n", + "Input resistance with feedback is 308.99 kilo-ohm.\n", + "Output resistance with feedback is 0.019 kilo-ohm.\n" + ] + } + ], + "prompt_number": 1 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_2.ipynb new file mode 100644 index 00000000..b56a1890 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_2.ipynb @@ -0,0 +1,922 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 30 , Field-Effect Transistor Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.1 , Page Number 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of drain-to-source voltage is 2.5 V.\n",
+ "Value of Gate-to-source voltage is -2.5 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 10.0 #Voltage (in volts)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 500.0 #Source resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts)\n",
+ "VDS = VD - VS #Drain-Source voltage (in volts)\n",
+ "VGS = -VS #Gate-to-source voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of drain-to-source voltage is \",VDS,\" V.\\nValue of Gate-to-source voltage is \",VGS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.2 , Page Number 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of resistance R1 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 56.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 1.5 * 10**-3 #Drain to ground current (in Ampere)\n",
+ "Vp = -1.5 #Voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "VD = 10.0 #Drain voltage (in volts) \n",
+ "R = 4.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = (VDD - VD) / RD #Drain current (in Ampere) \n",
+ "VGS = (1 - (ID / IDSS)**0.5)*Vp #Gate-to-source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts) \n",
+ "R1 = VS / ID - R #Resistance R1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of resistance R1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.3 , Page Number 752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RS is 933.0 ohm.\n",
+ "Value of RD is 5.7 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 1.5 * 10**-3 #Drain current (in Ampere)\n",
+ "IDSS = 5.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "Vp = -2.0 #Voltage (in volts)\n",
+ "VDS = 10.0 #Drain-to-source voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - ID/IDSS)*Vp #Gate-to-Source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID - RS #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RS is \",round(RS),\" ohm.\\nValue of RD is \",round(RD * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.4 , Page Number 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Quiescent values of ID and VGS is 5.0 mA and -1.4 V.\n",
+ "D.C. voltage between drain and ground is 6.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6044bf0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.8 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 270.0 #Source resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Resistance (in ohm)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "ID = 6.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 15.0 #Supply voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = - VS #Gate-to-Source Voltage \n",
+ "IDQ = 5.0 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.4 #Gate-to-source voltage (in volts) \n",
+ "VD = VDD - IDQ * RD #Drain voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4,0,100)\n",
+ "plot(x,12*(1 + x/4)**2,'r')\n",
+ "title(\"transfer characteristic\")\n",
+ "plot(x,x*(-5.0/1.40),'b')\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")\n",
+ "annotate(\"Q\",xy=(-1.62,6.0))\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Quiescent values of ID and VGS is \",IDQ * 10**3,\" mA and \",VGSQ,\" V.\"\n",
+ "print \"D.C. voltage between drain and ground is \",VD,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.5 , Page Number 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RD is 1.5 kilo-ohm.\n",
+ "Value of RS is 528.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VP = VGSoff = 5.0 #Voltage (in volts)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 12.0 #Drain voltage (in volts)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDS = 6.0 #Drain-to-source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - (ID / IDSS)**0.5)*VGSoff #Gate-to-source voltage (in volts)\n",
+ "VS = VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of RS is \",round(RS),\" ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.6 , Page Number 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point is ID = 5.0 mA and VDS = 10.0 V.\n",
+ "Value of RD is 2.0 kilo-ohm and RS is 440.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDSS = 10.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 20.0 #Drain voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IDQ = IDSS / 2 #Drain current at Q point (in Ampere)\n",
+ "VDSQ = VDD / 2 #Drain-to-source voltage at Q point (in volts)\n",
+ "VGS = -2.2 #Gate-to-source voltage (in volts)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "RD = (VDD - VDSQ) / ID #Drain resistance (in ohm)\n",
+ "VS = - VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point is ID = \",IDQ * 10**3,\" mA and VDS = \",VDSQ,\" V.\"\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm and RS is \",RS,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.7 , Page Number 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VGS is -3.8 V. and value of VDS is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "RD = 2.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 1.5 * 10**3 #Source resistance (in ohm)\n",
+ "R1 = 2.0 * 10**6 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resitance (in ohm)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VG = VDD * R2 / (R1 + R2) #Gate voltage (in volts)\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = VG - VS #Gate-to-source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VGS is \",round(VGS,1),\" V. and value of VDS is \",VD - VS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.8 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -6.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = -gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.9 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -24.5 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.5 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.10 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -26.7 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 13.3 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 40.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 20.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "R1i = RG #input resistance (in ohm)\n",
+ "R1o = rL #output resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\"\n",
+ "print \"Input resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o * 10**-3,1),\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.11 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -16.67 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 50.0 * 10**3 #Drain resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = - gm * rL #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.12 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -48.9 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 100.0 * 10**3 #Drain resistance (in ohm) \n",
+ "gm = 1.6 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 44.0 * 10**3 #Resistance (in ohm)\n",
+ "Cgs = 3.0 * 10**-12 #Capacitance gate-to-source (in Farad)\n",
+ "Cds = 1.0 * 10**-12 #Capacitance drain-to-source (in Farad)\n",
+ "Cgd = 2.8 * 10**-12 #Capacitance gate-to-drain (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. load resistance (in ohm) \n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),'.'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.13 , Page Number 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 0.844 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4500.0 * 10**-6 #Transconductance (in Ampere per volt)\n",
+ "RD = 3.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RL = 5.0 * 10**3 #Load resistance (in ohm) \n",
+ "Vin = 100.0 * 10**-3 #Input voltage (in volts)\n",
+ "ID = 2.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "vo = -gm * rL * Vin #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(round(vo,3)),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.14 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain when RL is zero is -2.0 .\n",
+ "Voltage gain when Rl is 100 kilo-ohm is -1.97 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Gate resistance (in ohm)\n",
+ "rs = 500.0 #resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Voltage gain when Rl is zero\n",
+ "\n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = -(gm * rL)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Voltage gain when Rl is 100 kilo-ohm\n",
+ "\n",
+ "RL = 100.0 * 10**3 #Load resistance (in ohm) \n",
+ "rL1 = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "Av1 = -(gm * rL1)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain when RL is zero is \",Av,\".\\nVoltage gain when Rl is 100 kilo-ohm is \",round(Av1,2),\".\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.15 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain for unbypassed Rs is -1.35 .\n",
+ "Voltage gain for bypassed Rs is -4.163 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 750.0 #Source resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 10.0 * 10**-3 #Supply current (in Ampere)\n",
+ "Vp = -3.5 #Voltage (in volts)\n",
+ "IDQ = 2.3 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.8 #Gate-to-source voltage at Q point (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gmo = -2 * IDSS / Vp #Maximum transconductance (in Ampere per volt)\n",
+ "gm = gmo * (1 - VGSQ/Vp) #Transconductance at Q point (in Ampere per volt) \n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = - gm * rL / (1 + gm * RS) #Unbypassed RS (in ohm)\n",
+ "Av1 = -gm * rL #Bypassed RS (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain for unbypassed Rs is \",round(Av,2),\".\\nVoltage gain for bypassed Rs is \",round(Av1,3),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.16 , Page Number 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.988 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 125.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 8000.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "RS = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1 / gm) #Voltage gain\n",
+ "R1i = RG #Input resistance (in ohm)\n",
+ "R1o = 1 / gm #Output resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",R1o,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.17 , Page Number 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.965 .\n",
+ "Input resistance is 0.5 Mega-ohm.\n",
+ "Output resistance is 175.4 ohm.\n",
+ "Output voltage is 1.77 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "vin = 2.0 * 10**-3 #Input voltage (in volts)\n",
+ "gm = 5500.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "R1 = R2 = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "RS = 5.0 * 10**3 #Source resistance (in ohm)\n",
+ "RL = 2.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1/gm) #Voltage gain \n",
+ "R1i = R1 * R2 / (R1 + R2) #Input resistance (in ohm)\n",
+ "R1o = RS * 1/gm /(RS + 1/gm) #Output resistance (in ohm)\n",
+ "Vo = RL / (RL + R1o) * Av * vin #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o,1),\" ohm.\\nOutput voltage is \",round(Vo * 10**3,2),\" mV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.18 , Page Number 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Amplifier voltage gain is 25.0 .\n",
+ "Input resistance is 333.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2500.0 * 10**-6 #Transconductance (in Amper per volt)\n",
+ "RD = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 2.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = gm * RD #Voltage gain \n",
+ "R1i = RS * 1/gm /(RS + 1/gm) #Input resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Amplifier voltage gain is \",Av,\".\\nInput resistance is \",round(R1i),\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.19 , Page Number 775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Input resistance is 100.0 ohm.\n",
+ "a.c. voltage gain is 3.75 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gmo = 5.0 * 10**-3 #Maximum transconductance (in Siemen)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 200.0 #Source resistance (in ohm)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1i = RS * 1/gmo /(RS + 1/gmo) #Input resistance (in ohm)\n",
+ "VS = ID * RS #Source voltage (in volts) \n",
+ "VGS = VS #Gate-to-Source voltage (in volts)\n",
+ "IDSS = 2 * ID #Supply current (in Ampere)\n",
+ "VGSoff = -2 * IDSS / ID #Gate-to-source cut off voltage (in volts)\n",
+ "gm = gmo * (1 - abs(VGS / VGSoff)) #Transconductance (in Siemen) \n",
+ "Av = gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance is \",R1i,\" ohm.\\na.c. voltage gain is \",Av,\".\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_2.ipynb new file mode 100644 index 00000000..d0e5134b --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_2.ipynb @@ -0,0 +1,776 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3d2015ac31b05394e05afcfb5c1742d239465e40465a478e82205d7108590d8c" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 31 , Sinusoidal Oscillators" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.1 , Page Number 787" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 22.0 * 10**3 #Frequency (in Hertz)\n", + "C = 2.0 * 10**-9 #Capacitance (in Farad)\n", + "\n", + "#Calculation\n", + "\n", + "L = (0.159/fo)**2/C #Inductance (in Henry) \n", + " \n", + "#Result\n", + "\n", + "print \"Inductance is \",round(L,3),\" H.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Inductance is 0.026 H.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.2 , Page Number 787" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 2.2 * 10**6 #Frequency (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "f1o = fo * 2**0.5 #New frequency (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"It will work at frequency of \",round(f1o * 10**-6,2),\" MHz when capacitance is reduced by 50%.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "It will work at frequency of 3.11 MHz when capacitance is reduced by 50%.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.3 , Page Number 789" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C = 100.0 * 10**-12 #Capacitance (in Farad)\n", + "L1 = 30.0 * 10**-6 #Inductance1 (in Henry)\n", + "L2 = 1.0 * 10**-8 #Inductance2 (in Henry) \n", + "\n", + "#Calculation\n", + "\n", + "L = L1 + L2 #Net inductance (in Henry)\n", + "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of oscillations is \",round(fo * 10**-6,1),\" MHz,\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of oscillations is 2.9 MHz,\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.4 , Page Number 790" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L1 = 1000.0 * 10**-6 #Inductance1 (in Henry)\n", + "L2 = 100.0 * 10**-6 #Inductance2 (in Henry)\n", + "M = 20.0 * 10**-6 #Mutual Inductance (in Henry)\n", + "C = 20.0 * 10**-12 #Capacitance (in Farad) \n", + "\n", + "#Calculation\n", + "\n", + "L = L1 + L2 + 2 * M #Net inductance (in Henry)\n", + "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of oscillations is \",round(fo * 10**-6,3),\" MHz,\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of oscillations is 1.054 MHz,\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.5 , Page Number 790" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C = 1.0 * 10**-9 #Capacitance (in Farad)\n", + "L1 = 4.7 * 10**-3 #Inductance1 (in Henry)\n", + "L2 = 47.0 * 10**-6 #Inductance2 (in Henry)\n", + "\n", + "#Calculation\n", + "\n", + "L = L1 + L2 #Net inductance (in Henry)\n", + "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of oscillations is \",round(fo * 10**-3,2),\" kHz,\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of oscillations is 73.05 kHz,\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.6 , Page Number 791" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L1 = 2.0 * 10**-3 #Inductance1 (in Henry)\n", + "L2 = 20.0 * 10**-6 #Inductance2 (in Henry)\n", + "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n", + "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "L = L1 + L2 #Net inductance (in Henry)\n", + "C1 = 1.0/(4 * math.pi**2*(L*fomin**2)) #Capacitance1 (in Farad)\n", + "C2 = 1.0/(4 * math.pi**2*(L*fomax**2)) #Capacitance2 (in Farad)\n", + "\n", + "#Result\n", + "\n", + "print \"Range of capacitance required is \",round(C2 * 10**12,2),\" pF and \",round(C1 * 10**12,1),\" pF.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Range of capacitance required is 2.98 pF and 13.9 pF.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.7 , Page Number 792" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + " \n", + "L1 = 0.1 * 10**-3 #Inductance1 (in Henry)\n", + "L2 = 10.0 * 10**-6 #Inductance2 (in Henry)\n", + "M = 20.0 * 10**-6 #Mutual Inductance (in Hnery) \n", + "fo = 4110.0 * 10**3 #Frequency (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "L = L1 + L2 + 2*M #Net inductance (in Henry)\n", + "C = 1.0/(4 * math.pi**2 * L*fo**2) #Capacitance (in Farad)\n", + "beta = L2 / L1 #Feedback ratio\n", + "Av = 1/beta #Voltage gain\n", + "\n", + "#Result\n", + "\n", + "print \"Capacitance required is \",round(C * 10**12,4),\" pF.\\nVoltage gain for sustained condition is \",Av,\".\"\n", + "\n", + "#Calculation error in the value of M used in formula , therefore incorrect value of C." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Capacitance required is 9.9969 pF.\n", + "Voltage gain for sustained condition is 10.0 .\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.8 , Page Number 793" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n", + "C2 = 0.01 * 10**-6 #Capacitance (in Farad)\n", + "L = 5.0 * 10**-6 #Inductance (in Henry) \n", + "\n", + "#Calculation\n", + "\n", + "Av = C2 / C1 #Voltage gain\n", + "C = C1 * C2 / (C1 + C2) #Net capacitance (in Farad)\n", + "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"Required voltage gain is \",Av,\".\\nFrequency of oscillation is \",round(fo * 10**-6,2),\" Mhz.\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Required voltage gain is 10.0 .\n", + "Frequency of oscillation is 2.36 Mhz.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.9 , Page Number 793" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n", + "C2 = 1.0 * 10**-6 #Capacitance (in Farad)\n", + "L = 470.0 * 10**-6 #Inductance (in Henry) \n", + "\n", + "#Calculation\n", + "\n", + "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n", + "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of oscillation is \",round(fo * 10**-3,2),\" kHz.\"\n", + "\n", + "#Slight variation due to higher precision" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of oscillation is 24.35 kHz.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.10 , Page Number 794" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C1 = 100.0 * 10**-12 #Capacitance (in Farad)\n", + "C2 = 7500.0 * 10**-12 #Capacitance (in Farad)\n", + "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n", + "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n", + "L1 = 1.0/(4 * math.pi**2*(C*fomin**2)) #Inductance1 (in Henry)\n", + "L2 = 1.0/(4 * math.pi**2*(C*fomax**2)) #Inductance2 (in Henry)\n", + "\n", + "#Result\n", + "\n", + "print \"The range of inductance required is from \",round(L2 * 10**6),\" micro-Henry to \",round(L1 * 10**6),\" micro-Henry.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The range of inductance required is from 61.0 micro-Henry to 284.0 micro-Henry.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.11 , Page Number 795" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 450.0 * 10**3 #Frequency(in Hertz)\n", + "#Let us assume \n", + "C1 = C2 = C = 10.0 * 10**-6 #Capacitance (in Farad)\n", + "C21 = 2 * C2 #Capacitance (in Farad) \n", + "\n", + "#Calculation\n", + "\n", + "fo1 = fo * (3.0/4.0)**0.5 #New Frequency (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"The oscillation frequency if C2 is doubled is \",round(fo1 * 10**-3,1),\" kHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The oscillation frequency if C2 is doubled is 389.7 kHz.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.12 , Page Number 796" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n", + "C2 = 1.0 * 10**-6 #Capacitance (in Farad) \n", + "C3 = 100.0 * 10**-12 #Capacitance (in Farad)\n", + "L = 470.0 * 10**-6 #Inductance (in Henry)\n", + "\n", + "#Calculation\n", + "\n", + "C = (1.0/C1 + 1.0/C2 +1.0/C3)**-1 #Capacitance (in Farad) \n", + "fo = 1/(2*math.pi *(L*C)**0.5) #Frequency (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of oscillation is \",round(fo * 10**-3,1),\" kHz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of oscillation is 734.5 kHz.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.13 , Page Number 799" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "L = 0.33 #Inductance (in Henry)\n", + "C1 = 0.065 * 10**-12 #Capacitance (in Farad) \n", + "C2 = 1.0 * 10**-12 #Capacitance (in Farad)\n", + "R = 5.5 * 10**3 #Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "fs = 1/(2*math.pi*(L*C1)**0.5) #Series Resonant frequency (in Hertz)\n", + "Qfactor = 2*math.pi*fs*L/R #Q-factor\n", + "\n", + "#Result\n", + "\n", + "print \"Series resonant frequency is \",round(fs * 10**-6,2),\" MHz.\\nQ-factor of the crystal is \",round(Qfactor,1),\".\"\n", + "\n", + "#Slight variation due to higher precision" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Series resonant frequency is 1.09 MHz.\n", + "Q-factor of the crystal is 409.7 .\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.14 , Page Number 802" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "gm = 5000.0 * 10**-6 #Transconductance (in mho)\n", + "rd = 40.0 * 10**3 #Resistance (in ohm)\n", + "R = 10.0 * 10**3 #Resistance (in ohm)\n", + "fo = 1.0 * 10**3 #Frequency (in Hertz) \n", + "Av = 40.0 #Voltage gain\n", + "\n", + "#Calculation\n", + "\n", + "C = 1/(2*math.pi*(R)*6**0.5*fo) #Capacitance (in Farad)\n", + "rL = Av / gm #a.c. load resistance (in ohm) \n", + "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of capacitor is \",round(C* 10**6,5),\" micro-Farad.\"\n", + "print \"Value of drain resistance is \",RD * 10**-3,\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of capacitor is 0.0065 micro-Farad.\n", + "Value of drain resistance is 10.0 kilo-ohm.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.15 , Page Number 803" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 2.0 * 10**3 #Frequency (in Hertz)\n", + "mu = 50.0 #Amplification factor \n", + "rd = 5.0 * 10**3 #Resistance (in ohm) \n", + "Av = 40.0 #Voltage gain\n", + "R = 10.0 * 10**3 #Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "gm = mu / rd #Transconductance (in mho)\n", + "rL = Av/ gm #a.c. load resistance (in ohm) \n", + "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n", + "RC = 0.065/(fo) #RC product (in second)\n", + "C = RC / R #Capacitance (in Farad) \n", + "\n", + "#Result\n", + "\n", + "print \"Maximum value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of the RC product is \",RC,\" s.\\nValue of R is \",R * 10**-3,\" kilo-ohm.\\nValue of C is \",C * 10**9,\" nF.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum value of RD is 20.0 kilo-ohm.\n", + "Value of the RC product is 3.25e-05 s.\n", + "Value of R is 10.0 kilo-ohm.\n", + "Value of C is 3.25 nF.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.18 , Page Number 807" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 2.0 * 10**3 #Frequency (in Hertz)\n", + "hie = 2.0 * 10**3 #hie (in ohm)\n", + "R1 = 20.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 80.0 * 10**3 #Resistance (in ohm)\n", + "RC = 10.0 * 10**3 #Collector Resistance (in ohm)\n", + "R = 8.0 * 10**3 #Resistance (in ohm)\n", + "\n", + "#Calculation\n", + "\n", + "C = 1/(2*math.pi*R)*(1/(6 + 4*RC/R)**0.5)/fo #Capacitance (in Farad)\n", + "hfe = 23 + 29 * R/RC + 4* RC /R #Current gain \n", + "Ri = (1/R1 + 1/R2 + 1/hie)**-1 #Input resistance (in ohm)\n", + "R3 = R - Ri #Feedback resitor (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"Value of capacaitor C is \",round(C * 10**6,3),\" micro-Farad.\\nValue of transistor gain is hfe >= \",hfe,\".\\nValue of feedback resistor R3 is \",round(R3 * 10**-3,1),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of capacaitor C is 0.003 micro-Farad.\n", + "Value of transistor gain is hfe >= 51.2 .\n", + "Value of feedback resistor R3 is 6.2 kilo-ohm.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 31.19 , Page Number 809" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "fo = 10.0 * 10**3 #Frequency (in Hertz)\n", + "R = 100.0 * 10**3 #Resistance (in ohm) \n", + "\n", + "#Calculation\n", + "\n", + "C = 1/(2*math.pi*R*fo) #Capacitance (in Farad) \n", + "\n", + "#Result\n", + "\n", + "print \"Value of the capacitor C is \",round(C * 10**12),\" pico-Farad.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of the capacitor C is 159.0 pico-Farad.\n" + ] + } + ], + "prompt_number": 17 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_2.ipynb new file mode 100644 index 00000000..780e8427 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_2.ipynb @@ -0,0 +1,606 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 32 , Non-Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.1 , Page Number 816"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The upper end point is ic = 50.0 mA.\n",
+ "The lower end point is VCE = 10.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x5fa8a90>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n7H8BS89mPFZd97UAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5f944d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "VBB = 5.0 #Voltage across base (in volts)\n",
+ "RC = 200.0 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Upper end point\n",
+ "ic = VCC / RC #Collector current (in Ampere)\n",
+ "VCE = VCEsat = 0 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#lower cut-off point\n",
+ "ic1 = 0 #Collector current (in Ampere) \n",
+ "VCE1 = VCC #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The upper end point is ic = \",ic * 10**3,\" mA.\\nThe lower end point is VCE = \",VCE1,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,VCE1,100)\n",
+ "plot(x,ic*10**3 - ic*10**3/VCE1*x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.2 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency of oscillation is 362.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = R = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = C2 = C = 100.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1/(1.38 * R * C) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(f * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.3 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period of oscillation is 0.7 ms.\n",
+ "Frequency of oscillation is 1.42 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 0.05 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 0.69*(R1*C1 + R2*C2) #Time periode of oscillation (in seconds)\n",
+ "f = 1/T #Frequency of oscillation (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period of oscillation is \",round(T * 10**3,1),\" ms.\\nFrequency of oscillation is \",round(f * 10**-3,2),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.4 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of C1 capacitor is 145.0 pico-Farad.\n",
+ "Value of C2 capacitor is 1304.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 1.0 * 10**-6 #Pulse width (in seconds)\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period of oscillation (in seconds) \n",
+ "C1 = T1 / 0.69 / R1 #Capacitance (in Farad)\n",
+ "T2 = T - T1 #Time period (in seconds) \n",
+ "C2 = T2 / 0.69 / R2 #Capacitance (in Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of C1 capacitor is \",round(C1 * 10**12),\" pico-Farad.\\nValue of C2 capacitor is \",round(C2 * 10**12),\" pico-Farad.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.5 , Page Number 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rc : 3000.0 ohm.\n",
+ "RC1 : 3000.0 ohm.\n",
+ "IBsat : 0.00025 A.\n",
+ "IB : 0.0005 A.\n",
+ "R1 : 30.0 kilo-ohm.\n",
+ "R2 : 30.0 kilo-ohm.\n",
+ "C1 : 14976.0 pico-Farad.\n",
+ "C2 : 12077.0 pico-Farad.\n",
+ "Output waveform time constants :\n",
+ "t1 = 449.3 micro-second.\n",
+ "t2 : 362.3 micro-second\n",
+ "t11 : 44.9 micro-second\n",
+ "t12 : 36.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T2A = 310.0 * 10**-6 #Time period (in seconds)\n",
+ "T2B = 250.0 * 10**-6 #Time period (in seconds)\n",
+ "VCC = 15.0 #Supply voltage (in volts)\n",
+ "ICsat = 5.0 * 10**-3 #Saturated collector current (in Ampere)\n",
+ "hFEmin = 20.0 #Current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RC = VCC / ICsat #Collector resistance (in ohm)\n",
+ "RC1 = RC2 = RC #Collector resistance of transistors Q1 and Q2 (in ohm) \n",
+ "IBsat = ICsat / hFEmin #Saturated Base current (in Ampere)\n",
+ "IB = 2 * IBsat #Base current (in Ampere)\n",
+ "R1 = R2 = R = VCC / IB #Resistance (in ohm)\n",
+ "C1 = T2A / 0.69 / R1 #Capacitance (in Farad)\n",
+ "C2 = T2B / 0.69 / R2 #Capacitance (in Farad)\n",
+ "t1 = R1 * C1 #Time constant1 (in seconds)\n",
+ "t2 = R2 * C2 #Time constant2 (in seconds)\n",
+ "t11 = RC1 * C1 #Time constant (in seconds)\n",
+ "t12 = RC1 * C2 #Time constant (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Rc : \",RC,\" ohm.\\nRC1 : \",RC1,\" ohm.\\nIBsat : \",IBsat,\" A.\\nIB : \",IB,\" A.\\nR1 : \",R1*10**-3,\" kilo-ohm.\\nR2 : \",R2*10**-3,\" kilo-ohm.\\nC1 : \",round(C1 * 10**12),\" pico-Farad.\\nC2 : \",round(C2*10**12),\" pico-Farad.\"\n",
+ "print \"Output waveform time constants :\\nt1 = \",round(t1 * 10**6,1),\" micro-second.\\nt2 : \",round(t2 * 10**6,1),\" micro-second\\nt11 : \",round(t11 * 10**6,1),\" micro-second\\nt12 : \",round(t12 * 10**6,1),\" micro-second.\" \n",
+ "\n",
+ "#In some places milli seconds is mentioned in place of micro second in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.6 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The duty cycle of the waveform at the output (Q) of the monostable multivibrator is 10.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 20.0 * 10**3 #Frequency (in Hertz)\n",
+ "tp = 5.0 * 10**-6 #Pulse duration (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "duty_cycle = tp / T #Duty cycle of monostable multivibrator \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The duty cycle of the waveform at the output (Q) of the monostable multivibrator is \",duty_cycle * 100,\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.7 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of R3 is 7.246 kilo-ohm and value of C1 is 1.0 nF.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "duty_cycle = 0.5 #Duty cycle \n",
+ "T = 1/f #Time period (in seconds)\n",
+ "tp = duty_cycle * T #Pulse width (in seconds) \n",
+ "R3 = tp / 0.69 / C1 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of R3 is \",round(R3 * 10**-3,3),\" kilo-ohm and value of C1 is \",C1 * 10**9,\" nF.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.8 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pulse width is 24.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.2 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "tp = 1.1 * R1 * C1 #Pulse width (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The pulse width is \",tp * 10**6,\" micro-second.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.9 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Resistance required is 9.09 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "tp = 10.0 * 10**-6 #Pulse width (in seconds)\n",
+ "T = 60.0 * 10**-6 #time period (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1 = tp / (1.1 * C) #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance required is \",round(R1 * 10**-3,2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.10 , Page Number 836"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "t1 is 8.05 micro-seconds.\n",
+ "t2 is 3.29 micro-seconds.\n",
+ "Duty cycle is 71.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 6.8 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"t1 is \",t1 * 10**6,\" micro-seconds.\\nt2 is \",t2 * 10**6,\" micro-seconds.\\nDuty cycle is \",round(duty_cycle),\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.11 , Page Number 837"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency is 1.03 kHz.\n",
+ "Duty cycle is 60.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 27.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 56.0 * 10**3 #Resistance (in ohm) \n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "f = 1 / T #Frequency (in Hertz)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency is \",round(f * 10**-3,2),\" kHz.\\nDuty cycle is \",round(duty_cycle),\"%.\" \n",
+ "\n",
+ "#In book it forgot to mention the duty_cycle."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.12 , Page Number 838"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period is 0.02 ms.\n",
+ "t1 is 0.012 ms.\n",
+ "t2 is 0.008 ms.\n",
+ "R2 is 5.19 kilo-ohm.\n",
+ "R1 is 2.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 50.0 * 10**3 #Frequency (in Hertz)\n",
+ "duty_cycle = 0.6 #Duty cycle\n",
+ "C = 0.0022 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "t1 = duty_cycle * T #time interval1 (in seconds)\n",
+ "t2 = T - t1 #time interval2 (in seconds)\n",
+ "R2 = t2 / (0.7 * C ) #Resistance (in ohm) \n",
+ "R1 = t1 / (0.7 * C) - R2 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period is \",T * 10**3,\"ms.\\nt1 is \",t1 * 10**3,\" ms.\\nt2 is \",t2 * 10**3,\" ms.\\nR2 is \",round(R2 * 10**-3,2),\" kilo-ohm.\\nR1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_2.ipynb new file mode 100644 index 00000000..135cb4bc --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_2.ipynb @@ -0,0 +1,884 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 33 , Wave Shaping"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.2 , Page Number 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output peak voltage is 0.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "Vpk = 1.0 #Peak-to-peak voltage (in volts)\n",
+ "Tby2 = 0.1 #Half-period (in seconds)\n",
+ "tau = 0.25 #Time constant (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vc = 0.5 * math.exp(-Tby2/tau) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output peak voltage is \",round(Vc,1),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.3 , Page Number 854"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak value of input voltage is 10.0 kV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 250.0 * 10**-12 #Time constance (in seconds)\n",
+ "Vomax = 50.0 #Maximum output voltage (in volts) \n",
+ "tau = 0.05 * 10**-6 #time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = Vomax / RC #alpha (in volt per second)\n",
+ "Vp = alpha * tau #Peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The peak value of input voltage is \",Vp * 10**-3,\" kV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.5 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following graph shows the output.\n",
+ "The part above the line is clipped out.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x60cb550>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x5fcd4f0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 2.0 #positive clipping (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomax = 5.0 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following graph shows the output.\\nThe part above the line is clipped out.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0.001,2,400)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.6 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:22: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x61d3e70>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHQFJREFUeJzt3Xu0nFWd5vHvkwsKogSIBHIjEEiQy0gijSxAcxpRufQE\nx2kVZ2wB17TIyGAr3W3r2Iuw7FFcOi2KzWUcUdAOwUYXAwitoJwYRFEhCSFXAgm5QSKQCxKQkPzm\nj71PqFTqnFPnnPetOnXq+axVi7rs2vXL4X3refd+L6WIwMzMbFizCzAzs8HBgWBmZoADwczMMgeC\nmZkBDgQzM8scCGZmBjgQzFqGpH+S9AdJG5pdiw1NDgRrCkkXSlok6UVJT0u6VtIBfXj/aklnFFhP\nof0VTdJE4DPAMRExttn12NDkQLCGk3Q5cBVwOfAm4BTgcOBeSSPr7CYAFVhW0f0VbSLwXEQ819c3\nShpRQj02BDkQrKEkvQmYBVwaET+LiJ0R8RTwQWAS8JHc7nuSvljxvg5Ja/P975O+IO+U9IKkv5U0\nSdIuSX8tab2kDTl46E9/NeqeK+n9+f5p+bPOyY/fJWl+vj9Z0i8kPZund37QNfKR9FlJ/1bV7zck\nfSPfP0DSd3Lt6yR9UdIwSWcCPwPG5vpuzO1nSlosabOk+yUdU9Hvakl/L+lR4IVc1648Mlsj6TlJ\nn5D0Z5IezX1c0/f/ozaUOBCs0U4FXg/8uPLJiHgRuBt4d9dT+baXiPgrYA3wFxHxxoj4WsXLHcBR\nwHuAz0p61wD769KZ+waYATwJvLPicWdF2/8FHAa8BZhACkCAW4BzJO0PIGk48AHgX/Pr3wNeASYD\n0/K/4b9FxH3A2cCGXN/HJE0BZgOXAaNJf7s7q0YD5+f3jQJ25udOzn+f84FvAJ8HzgCOAz4o6Z1Y\n23IgWKONBp6NiF01XnsGOLjicX+mcK6MiJci4jHgu8CHB9hfl7mkL36AdwBfrng8I79ORDwRET+P\niB0R8Szw9a52EbEGeAT4T/l9ZwDbI+K3ksaQvrw/nev/A3A16Yu7Vu0fAu7Kn7UT+BqwLylwIYXf\nNyNifUT8qeJ9X4yIVyLiXuAFYHZEPBsRG4B5pCCyNuVAsEZ7Fhgtqdayd1h+fSDWVtxfAxS1A/Y3\nwBRJhwAnAjcDEyQdDPwZ8EsASWMkzclTPluB77NnyM3mtZD6L7w2OjgcGAk8nadvNgPXA2/upp7D\n8r8PgEhXqVwLjKtos7b6TcDGivsv1Xi8fzefZ23AgWCN9mvgT8B/rnwyT6OcBfw8P/UisF9Fk0Or\n+unuMr0Tq+6vH2B/6cWI7cDDwN8AiyJiB/Agacf4yoh4Pjf9Eml65viIOAD4K/Zcz24DOiSNA95H\nCghIX95/Ag6OiAPz7YCIOKGbkjaQQgQASSJNT62vaNOfSxn78sdtzIFgDRURW4ErgWskvVfSSEmT\ngB+SvhS/n5suIM23HyjpUNIXcaWNpLn2al+QtK+k44ALgVsH2F+lucAn838h7Te4tOIxpC3sF4Ft\n+Uv/7yo7yFNBnaT9BU9GxPL8/NOkHcf/LOmNeWfy5B7m9H8InCvpjHxk1uXAy6SQGojBfKSVlcyB\nYA0XEV8l7cz8GrCVNB3zFPCuvOUNKRgWAquBfwfmsOfW65dJX/6bJX2m4vm5wErgPuCreYfsQPqr\nNJf0hf/L/PiXwBsqHkMKu+n533Un8CP23uqeDbyL10YHXT4K7AMsAZ4H/o09RzK7+4mIFaQjsq4B\n/gCcC/zHiHi1m9r3eP8A29gQpbJ+IEfS60kr0OtIC/n/i4jP1Wj3TdLOtO3AhRExv5SCbEjLo4wn\ngRHd7LA2s16UdsJKRLws6c8jYns+FO4BSadHxANdbfJx3EdFxNGS3g5cRzpJyczMGqzUKaO8Iw7S\nCGE4aRhcaSZwU277EDAqH35n1h+e7jAbgFIDIe8YW0DaYXd/RCypajKOPQ+NWweML7MmG5oiYnVE\nDPd0kVn/lT1C2BURJ5K+5N8pqaNGs+qjGryVZ2bWBA256FVEbJX0E+Ak9jzFfz3p2Oku49nzOGoA\nJDkkzMz6ISLqPpS4tBGCpNGSRuX7+5KuUVN9BNEdpEPtkHQKsCUiNlJDRLTs7Yorrmh6De1Yu+tv\n/s31N/fWV2WOEA4DbsqXKBgGfD8ifi7pYoCIuCEi7pZ0jqSVpJN5LiqxHjMz60GZh50uIp2gU/38\nDVWPLy2rBjMzq5/PVG6Ajo6OZpfQb61cO7j+ZnP9raW0M5WLJClaoU4zs8FEEjEYdiqbmVlrcSCY\nmRngQDAzs8yBYGZmgAPBzMwyB4KZmQEOBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HM\nzDIHgpmZAQ4EMzPLHAhmZgY4EMzMLHMgmJkZ4EAwM7PMgWBmZoADwczMMgeCmZkBDgQzM8scCGZm\nBjgQzMwscyCYmRlQYiBImiDpfkmLJT0m6bIabTokbZU0P9++UFY9ZmbWsxEl9r0D+HRELJC0P/Cw\npHsjYmlVu7kRMbPEOszMrA6ljRAi4pmIWJDv/xFYCoyt0VRl1WBmZvVryD4ESZOAacBDVS8FcKqk\nhZLulnRsI+oxM7O9lTllBECeLroN+FQeKVR6BJgQEdslnQ3cDkwpuyYzM9tbqYEgaSTwI+AHEXF7\n9esR8ULF/XskXSvpoIh4vrrtrFmzdt/v6Oigo6OjlJrNzFpVZ2cnnZ2d/X6/IqK4aio7lgTcBDwX\nEZ/ups0YYFNEhKSTgR9GxKQa7aKsOs3MhipJRETd+2nLHCGcBnwEeFTS/Pzc54GJABFxA/CXwCWS\nXgW2A+eXWI+ZmfWgtBFCkTxCMDPru76OEHymspmZAQ4EMzPLHAhmZgY4EMzMLHMgmJkZ4EAwM7PM\ngWBmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yBYGZmgAPBzMwyB4KZmQEO\nBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HMzDIHgpmZAQ4EMzPLHAhmZgY4EMzMLHMg\nmJkZUGIgSJog6X5JiyU9Jumybtp9U9LjkhZKmlZWPWZm1rMRJfa9A/h0RCyQtD/wsKR7I2JpVwNJ\n5wBHRcTRkt4OXAecUmJNZmbWjdJGCBHxTEQsyPf/CCwFxlY1mwnclNs8BIySNKasmszMrHsN2Ycg\naRIwDXio6qVxwNqKx+uA8Y2oyczM9lTmlBEAebroNuBTeaSwV5Oqx1Grn1mzZu2+39HRQUdHR0EV\nmpkNDZ2dnXR2dvb7/Yqo+f1bCEkjgbuAeyLi6hqvXw90RsSc/HgZMCMiNla1izLrNDMbiiQREdUb\n3d0q8ygjAd8BltQKg+wO4KO5/SnAluowMDOzxihthCDpdOCXwKO8Ng30eWAiQETckNt9CzgLeBG4\nKCIeqdGXRwhmZn3U1xFCqVNGRXEgmJn13aCZMjIzs9biQDAzM8CBYGZmmQPBzMwAB4KZmWUOBDMz\nAxwIZmaWORDMzAxwIJiZWeZAMDMzwIFgZmaZA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmJlZ\n5kAwMzPAgWBmZpkDwczMAAeCmZllDgQzMwMcCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZmmQPBzMyA\nkgNB0o2SNkpa1M3rHZK2Spqfb18osx4zM+veiHoaSToPeGd+2BkRd9bZ/3eBa4Cbe2gzNyJm1tmf\nmZmVpNcRgqSrgMuAxcAS4DJJX66n84iYB2zu7SPq6cvMzMpVzwjhXODEiNgJIOl7wALgcwV8fgCn\nSloIrAf+NiKWFNCvmZn1UT2BEMAo4Ln8eFR+rgiPABMiYruks4HbgSm1Gs6aNWv3/Y6ODjo6Ogoq\nwcxsaOjs7KSzs7Pf71dE7e92SdcCs4HxwFeA+0nTOzOAf4iIOXV9gDQJuDMiTqij7SrgbRHxfNXz\n0V2dZmZWmyQiou5p+Z5GCCuArwJjgfuAp0hTRZ+NiGcGVGUmaQywKSJC0smkgHq+t/eZmVnxuh0h\n7G6QtvDPz7d9SaOGWyJiRa+dS7eQRhSjgY3AFcBIgIi4QdIngUuAV4HtwGci4jc1+vEIwcysj/o6\nQug1EKo6n0Y6lPSEiBjej/r6xYFgZtZ3fQ2Eeg47HSFppqTZwL8Dy4D3D6BGMzMbhHraqfwe0jTR\nucBvgVuAOyLij40rb3ctHiGYmfVRYVNGkn5BCoEfNXtHrwPBzKzvSt2H0CwOBDOzvit8H4KZmbUH\nB4KZmQEOBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HMzDIHgpmZAQ4EMzPLHAhmZgY4\nEMzMLHMgmJkZ4EAwM7PMgWBmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yB\nYGZmQMmBIOlGSRslLeqhzTclPS5poaRpZdZjZmbdK3uE8F3grO5elHQOcFREHA18HLiu5HrMzKwb\npQZCRMwDNvfQZCZwU277EDBK0pgyazIzs9qavQ9hHLC24vE6YHyTaqlbBGzb1uwqbCjati0tX2bN\nMKLZBQCqelxzdVBHRbNJwBFwxYwrmNUxa6+2szpnceXcK/d6voj2v/0tnHXVLDa/tZz+3b592x+x\n5gqenj2LQw+FH/wATjuttepvVnt7TWdnJ52dnf1+v6LkzRFJk4A7I+KEGq9dD3RGxJz8eBkwIyI2\nVrWLsuusx+rV8Pa3w3XXwXnnwZVXwh13wEMPwete1+zqrFXt2AGnnw4zZsCXvgQ//SlcdBHMmwdT\npza7OmtlkoiI6o3ubjV7yugO4KMAkk4BtlSHwWDyiU/A5ZfD+98Pw4enQDjiCLjqqmZXZq3s61+H\ngw6Cr3wFRoyAc8+Ff/xH+PjHPX1kjVXqCEHSLcAMYDSwEbgCGAkQETfkNt8iHYn0InBRRDxSo5+m\njxDmzoWPfQyWLYORI197fvVqeNvbYMUKOPjgppVnLWrbNpg8GR54YM/RwM6dcMIJKSze+97m1Wet\nra8jhNKnjIowGALhAx+AM86ASy7Z+7ULLoC3vhU+85nG12Wt7frr4b774Lbb9n7t5pvh1lvhJz9p\nfF02NDgQSrBpU9p6W70aDjhg79fnzYOLL4bFi0F1/+nNYPr0NOX4nvfs/dr27TB+PCxaBOPGNb42\na32ttg+hJdx8M7zvfbXDANIOwZ074Te/aWxd1toefhg2b4Yzz6z9+n77wQc/CDfd1Ni6rH05EOow\ne3aaFuqOBBdemA4VNKvXnDnwkY/AsB7WwgsvTBskZo3gQOjF+vXw1FNpFNCTmTPTXG8LzMDZIHHX\nXWm56cnJJ8PWrbByZWNqsvbmQOjF3XenozxG9HIK37HHpv8uWVJ+Tdb6Vq6ELVvSEWo9GTYMzj4b\n7rmnMXVZe3Mg9OInP0nHhfdGSu18RIjV46670vLS03RRl3PPTRsmZmVzIPTglVfg/vvhrG6v17on\nB4LV65574Jxz6mt75pnpPIUXXyy3JjMHQg9+/3s46qj6TzibMSMdOfLyy+XWZa3t1Vfh179Oy0s9\nDjggnefy61+XW5eZA6EH8+b1vjO50hvekPYl/O535dVkrW/+fJg4sW9ntp9+eholmJXJgdCDBx6A\nd7yjb+/ximu9mTfPy5UNTg6EbuzaBb/6Vd9GCJBW9HnzyqnJhob+BMKpp6ar6r76ajk1mYEDoVtL\nlqQh/aGH9u19p50GDz6Yzlw2qxbRv5HnQQfB4YfDwoXl1GUGDoRuPfhg2irrq0MOSTefj2C1PPFE\n+u2MCRP6/t7TTvO0kZXLgdCNhx+Gk07q33tPOim936zaQJark09OR76ZlcWB0I2HH+79LNLuvO1t\n8Mhev+pgNrDlavp0L1dWLgdCDa+8kqZ8Tjyxf++fPt0jBKttIIFw3HGwapVPULPyOBBqWLwYjjwy\nXX64P6ZPTzv/vGPZKkWkLfz+BsI++6TzXB59tNi6zLo4EGoYyFYcpDNLDzsMli8vriZrfU8+Cfvv\nD2PG9L8PTxtZmRwINTzySFrxBsLTRlatqOXKgWBlcSDU8Oij6doxAzFtGixYUEw9NjQsWlTMcuVA\nsLI4EKpEwGOPwfHHD6yf449P+yLMuhSxXB13XJqK9P4pK4MDocr69bDvvjB69MD6Oe649AVg1qWI\nQOjaB/HEE8XUZFbJgVCliJUW0mUGtmxJN7OXXoK1a+Hoowfel0efVhYHQpXHHktb9wM1bFjqxyuu\nASxdmsJg5MiB9+XlysriQKiyeHExIwTwimuvKWrkCZ6OtPI4EKoUueIef7xXXEuKXq68oWFlcCBU\n2LUrDe2PPbaY/hwI1mXx4uKWq2OOgZUrYceOYvoz6+JAqLBuXTrL+E1vKqa/Y46BZcuK6cta2/Ll\naXkowr77wrhxKRTMilRqIEg6S9IySY9L+myN1zskbZU0P9++UGY9vVm+HKZOLa6/8ePTUUYvvFBc\nn9Z6/vSntLFx5JHF9Tl1Kjz+eHH9mQGMKKtjScOBbwFnAuuB30m6IyKWVjWdGxEzy6qjL1asKDYQ\nhg1LR5asWDGwayNZa3viCZg4MV2crihTpvhaWVa8MkcIJwMrI2J1ROwA5gDn1WinEmvok+XL04pW\npKlTUyBY+/JyZa2izEAYB6yteLwuP1cpgFMlLZR0t6SCdrv1T9FTRuAtOSt+5AlpuXIgWNHKDISo\no80jwISIeCtwDXB7ifX0asUKb8lZ8crY0PByZWUobR8Cab9B5U+JTyCNEnaLiBcq7t8j6VpJB0XE\n89WdzZo1a/f9jo4OOjo6Ci32pZfgmWdg0qRCu2XKFLj66mL7tNayfDlccEGxfY4dmw5W2LatuKPi\nrPV1dnbS2dnZ7/crop4N+X50LI0AlgPvAjYAvwU+XLlTWdIYYFNEhKSTgR9GxKQafUVZdXZZtAg+\n9KH005lF2rw57VDctg00aPaWWCONHp3ORzn00GL7nTYNvv1tOOmkYvu1oUMSEVH3N09pU0YR8Spw\nKfBTYAlwa0QslXSxpItzs78EFklaAFwNnF9WPb15/PFiLjxW7cAD03HjTz9dfN82+G3ZAi+/PLBf\nSevO1KneP2XFKnPKiIi4B7in6rkbKu7/C/AvZdZQryefhMmTy+l78uTU/9ix5fRvg9eqVen8gzJG\nh0cd5ctgW7F8pnL25JPFnjhU6Ygj0heDtZ8yl6sjj0z9mxXFgZCtWpW+uMvgFbd9eUPDWokDIfOW\nnJXBy5W1EgcC6fdpn3qq+ENOu3hLrn2VGQjjx8OmTelaSWZFcCAAGzbAwQeno4HK4C259lVmIAwf\nDhMmpI0ZsyI4EEgrbVn7DyBtyT37bDr80NrHzp2wZk15I09Iy603NqwoDgReOzSwLMOHp1Dwllx7\nWbcO3vxmeP3ry/uMI4/0dKQVx4FAucP6Lp42aj+NWK48QrAiORBoXCB4S669eLmyVuNAoPx9COAt\nuXbkEYK1GgcCnjKycjRiQ8MjBCtS2wfC9u2wdSscdli5n+MVt/00YkPjoIPS0UybN5f7OdYe2j4Q\nVq1KhwUOK/kv0TW0L/kq3jaINGKEIHn0acVxIKwq9zjxLgcemFbe5/f66R8birZvTz9gU/RvINTi\n0acVpe0DYc0aOPzw8j9HSj+Us2ZN+Z9lzbd2bTqLuOyRJ6QNmtWry/8cG/raPhC6VtxGmDgxfZ4N\nfWvWNG65mjDBy5UVo+0DYc2a9EXdCBMmeITQLrxcWStq+0DwCMHK4OXKWlHbB0Kjt+S84rYHL1fW\nito6EHbuhKefhnHjGvN5Htq3j7VrGxcIY8bAli2+mq4NXFsHwjPPpBN7Xve6xnyeh/bto5E7lYcN\nSxs169Y15vNs6GrrQGjkPC+klfbpp9PIxIauiMYvW542siK0dSA0cp4XYJ99YPToFAo2dD33XPoN\nhDe+sXGf6UCwIrR9IDRyKw68H6EdNGO58kmPVoS2DoRG7vjr4v0IQ18zliuPEKwIbR0IHiFYGRo9\nFQkOBCtGWweCRwhWhkbvUAZPGVkx2joQPEKwMniEYK2q1ECQdJakZZIel/TZbtp8M7++UNK0Muup\n9NJL6Ydxxoxp1CcmXnGHvmYEwqhR6XDmbdsa+7k2tJQWCJKGA98CzgKOBT4s6S1Vbc4BjoqIo4GP\nA9eVVU+1devSeQGNuDxxZ2fn7vutNrSvrL0VNaP+IqeM6q2/6/Lqg21jw8tPaynz6/BkYGVErI6I\nHcAc4LyqNjOBmwAi4iFglKSGbLM3cp63cqE65JD0wykvvdSYzx6oVl8hGl3/zp2wcSOMHVtMf32p\nfzBOR3r5aS1lBsI4oHJ7ZV1+rrc240usabcNGxp3DaNKw4al32/esKHxn23l27QpXQ5l5MjGf7an\nI22gygyEen89WP1834A0KxAgbT2uX9+cz7ZybdhQ3Oigr8aO9YaGDYyipF99l3QKMCsizsqPPwfs\nioivVLS5HuiMiDn58TJgRkRsrOrLP01vZtYPEVG90d2tESXW8XvgaEmTgA3Ah4APV7W5A7gUmJMD\nZEt1GEDf/kFmZtY/pQVCRLwq6VLgp8Bw4DsRsVTSxfn1GyLibknnSFoJvAhcVFY9ZmbWs9KmjMzM\nrLUM6jOV6zmxbbCSNEHS/ZIWS3pM0mXNrqk/JA2XNF/Snc2upa8kjZJ0m6SlkpbkacmWIelzeflZ\nJGm2pAb9lFP/SLpR0kZJiyqeO0jSvZJWSPqZpFHNrLE73dT+1bzsLJT0Y0kHNLPGntSqv+K1yyXt\nknRQb/0M2kCo58S2QW4H8OmIOA44Bfhki9Xf5VPAEhp09FfBvgHcHRFvAf4DsLTJ9dQt73v7a2B6\nRJxAmnY9v5k11eG7pPW10j8A90bEFODn+fFgVKv2nwHHRcRbgRXA5xpeVf1q1Y+kCcC7gafq6WTQ\nBgL1ndg2aEXEMxGxIN//I+nLqEkHJPaPpPHAOcD/Ze/Dgwe1vDX3joi4EdI+rYjY2uSy+mIbaaNi\nP0kjgP2AQX2wckTMAzZXPb375NP83/c1tKg61ao9Iu6NiF354UM06Byp/ujmbw/wz8Df19vPYA6E\nek5sawl5a28aaaFqJV8H/g7Y1VvDQegI4A+SvivpEUnflrRfs4uqV0Q8D/xvYA3pKL0tEXFfc6vq\nlzEVRw5uBBp89bDCfAy4u9lF9IWk84B1EfFove8ZzIHQilMUe5G0P3Ab8Kk8UmgJkv4C2BQR82mx\n0UE2ApgOXBsR00lHsQ3W6Yq9SJoM/A0wiTSy3F/Sf21qUQMU6QiWlluvJf1P4JWImN3sWuqVN34+\nD1xR+XRv7xvMgbAeqLza0ATSKKFlSBoJ/Aj4QUTc3ux6+uhUYKakVcAtwBmSbm5yTX2xjrR19Lv8\n+DZSQLSKk4AHI+K5iHgV+DHp/0mr2SjpUABJhwGbmlxPn0i6kDRt2mphPJm0MbEwr8PjgYclHdLT\nmwZzIOw+sU3SPqQT2+5ock11kyTgO8CSiLi62fX0VUR8PiImRMQRpJ2Zv4iIjza7rnpFxDPAWklT\n8lNnAoubWFJfLQNOkbRvXpbOJO3cbzV3ABfk+xcALbNhJOks0pTpeRHxcrPr6YuIWBQRYyLiiLwO\nryMdoNBjIA/aQMhbRV0nti0Bbo2IljlKBDgN+Ajw5/mwzfl5AWtVLTfUB/4H8K+SFpKOMvpSk+up\nW0QsBG4mbRh1zQH/n+ZV1DtJtwAPAlMlrZV0EXAV8G5JK4Az8uNBp0btHwOuAfYH7s3r77VNLbIH\nFfVPqfjbV6pr/fWJaWZmBgziEYKZmTWWA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmPWLpAMk\nXdLsOsyK5EAw658Dgf/e7CLMiuRAMOufq4DJ+QzWrzS7GLMi+Exls36QdDhwV/7xGrMhwSMEs/5p\nxUuCm/XIgWBmZoADway/XgDe2OwizIrkQDDrh4h4DviVpEXeqWxDhXcqm5kZ4BGCmZllDgQzMwMc\nCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZmmQPBzMwA+P+c7puEaHGu0gAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6125ed0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Vp = 10.0 #Peak to peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 4.0 #Input voltage (in volts)\n",
+ "Vo = 1.0 #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,11,400)\n",
+ "y = numpy.sin(x)\n",
+ "xlim((0,14))\n",
+ "ylim((0,3))\n",
+ "plot(x,5*y - 4)\n",
+ "plot(x,(1*x)/x,\"--\")\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t\")\n",
+ "ylabel(\"Vo\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.7 , Page Number 862"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x63e4890>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x25b8290>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph :\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(-3*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,-2.9))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.8 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the output :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x64a4570>"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nSUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x647e090>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the output :\"\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.9 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output waveform is as follows :\n",
+ "The parts below and above the clipping levels are clipped off.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6ec5410>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nyJEW5s0AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x64e0470>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output waveform is as follows :\\nThe parts below and above the clipping levels are clipped off.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 10*y)\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "ylim( (-11,11) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.10 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 5.3 kilo-ohm.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6f26af0>"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nrkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6f05e90>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 8.0 #Peak voltage (in volts) \n",
+ "Vo = 2.7 #Maximum acceptance voltage (in volts)\n",
+ "Io = 1.0 * 10**-3 #maximum output current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR1 = Vp - Vo #Maximum voltage drop across R1 (in volts) \n",
+ "R1min = VR1 / Io #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1min * 10**-3,\" kilo-ohm.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "k = numpy.arange(0.0001, 5.0, 0.0005)\n",
+ "k1= numpy.arange(5.0, 10.0, 0.0005)\n",
+ "k2= numpy.arange(10.0, 15.0, 0.0005)\n",
+ "k3= numpy.arange(15.0, 20.0, 0.0005)\n",
+ "\n",
+ "m=numpy.arange(-2.7,2.7, 0.0005)\n",
+ "x1=(0.001*m)/m\n",
+ "x5=(5*m)/m\n",
+ "x10=(10*m)/m\n",
+ "x15=(15*m)/m\n",
+ "\n",
+ "plot(k,-2.7*k/k,'b')\n",
+ "plot(k1,2.7*k1/k1,'b')\n",
+ "plot(k2,-2.7*k2/k2,'b')\n",
+ "plot(k3,2.7*k3/k3,'b')\n",
+ "plot(x1,m,'b')\n",
+ "plot(x5,m,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "ylim( (-5,5) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.11 , Page Number 868"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x701b170>"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nsM46bRu247gNs7eUrd2yljK1YbqMM4xKu2WZEz0sXA3TbZi9YfJk+PrXy53owW2YwynNzL7XV7fM\nym2YvaGs7Za13H13soxCr7dhemY/hF5f3TIrt2H2hrK2W9ay0UZuw6ylNDP7MqxumZXbMLtb2dst\naynDapie2dfQazcTbxW3YXa3K64od7tlLV4Nc3ClSPZlWt0yq8MO803Ju1XZ2y1r8WqYg+v5Mk6v\n3ky8VSptmCecANtvX3Q0Vq9p05LlPsrebllLr7dhuowziF69mXirVNowPQvqLqeeWq7VLbOq3JT8\nnHOKjqRz9PTMvqyrW2blNszu4nbL+vTyapie2Q9Q1tUts3IbZndxu2V9vBrmO/X0zN7tlvV75hkY\nP95tmJ3O7ZbZ9Gobpmf2VcpyM/FWWX11t2F2g7KvbpmV2zAX6tlk73bL7NyG2fnKcjPxVqm0YXod\nqB4t45TtZuKt4tUwO5vbLRvTi22YLuOkynYz8Vbxapidze2Wjam0YZZ9Ncyem9lHwCabwHe/69Ut\nG+E2zM7kdsvm9Fobpmf2eHXLZrkNszOddRbssosTfaPchtmDM3u3WzbPq2F2FrdbtkYv3ZS842b2\nkraX9IikP0s6Os+xAJ5/3qtbtoJXw+wsbrdsjcpNycvahplbspc0AvgJsD2wLrCPpFxvCHjGGe1t\nt+zv72/PQDkZKv5uaMPs5eNfrVPbLbvt+Fe3YXZb7K2Q58x+E+DxiJgREf8Efgnsktdg8+bBz36W\nJKl26fZ/MEPF/4lPJPX7665rXzxZ9fLxr5g2LTmpuNtu+ceTVTce/69+NVkc8Zpr+osOpe3yTPar\nAjOrnj+bbsuFV7dsLa+G2RkmT3a7ZStVbkp+771FR9J+eSb7tp759Y0cWm+ffZKWtT//uehIymnO\nHJgyBb7ylaIj6S0TJyb/rt96q+hI2iu3bhxJmwKTImL79PkxwIKIOLHqPcW1ApmZdbGs3Th5JvuR\nwKPANsDzwJ+AfSLi4VwGNDOzmkbmteOImC/pUOB/gRHA2U70ZmbFKPSiKjMza4/Clkto9wVXrSZp\nhqT7JU2V9Kei4xmOpHMkzZY0vWrbcpKul/SYpOskdeyC0DXinyTp2fTvYKqkjrxluqSxkm6S9KCk\nByRNTLd3xfEfIv5uOf5jJN0p6T5JD0k6Pt3eLce/VvyZjn8hM/v0gqtHgW2B54C76LJ6vqSngA0j\n4m9Fx1IPSZ8AXgXOj4j1020/AOZExA/SL9xlI+Lfi4yzlhrxHwfMjYgfFhrcMCStBKwUEfdJWgK4\nB9gV+BJdcPyHiH9PuuD4A0haLCJeT88l/gE4EtiZLjj+UDP+bchw/Iua2bf1gqscZTobXqSIuBV4\nacDmnYHKogjnkfwH7kg14ocu+DuIiL9ExH3p41eBh0muOemK4z9E/NAFxx8gIl5PH44mOYf4El1y\n/KFm/JDh+BeV7Nt6wVVOAvi9pLslfbnoYBq0YkTMTh/PBlYsMpgGHSZpmqSzO/XH8GqSxgETgDvp\nwuNfFf8f001dcfwlLSLpPpLjfFNEPEgXHf8a8UOG419Usu+Fs8KbR8QE4DPAIWmZoWuly49229/L\nacCawHhgFvDfxYYztLQEMgX4RkTMrX6tG45/Gv+vSeJ/lS46/hGxICLGA6sBW0r65IDXO/r4DxJ/\nHxmPf1HJ/jlgbNXzsSSz+64REbPS318ALiMpTXWb2Wk9FkkrA38tOJ5MIuKvkQLOooP/DiSNIkn0\nF0TE5enmrjn+VfFfWIm/m45/RUS8DFwNbEgXHf+Kqvg3ynr8i0r2dwMfkDRO0mhgL+DKgmLJTNJi\nkpZMHy8OfBqYPvSnOtKVwBfTx18ELh/ivR0n/Q9asRsd+ncgScDZwEMR8eOql7ri+NeKv4uO//KV\nEoekRYFPAVPpnuM/aPyVL6rUsMe/sD57SZ8BfszCC66OLySQBkhak2Q2D8mFab/o9PglXQxsBSxP\nUvf7LnAFcAmwOjAD2DMi/l5UjEMZJP7jgD6SH2EDeAr4alUNtmNI2gK4BbifhaWCY0iuKu/4418j\n/mOBfeiO478+yQnYRdJfF0TESZKWozuOf634zyfD8fdFVWZmJdBz96A1M7N3c7I3MysBJ3szsxJw\nsjczKwEnezOzEnCyNzMrASd76zqSlpb0tarnq0i6NKexdpQ0KX28q6R1ql77Ybcvk2Hl4WRv3WhZ\n4OuVJxHxfETskdNYR5CsQQLJqojrVr12GnBUPTuRtGyL4zLLxMneutEJwFrpDRtOlLSG0puaSDpA\n0uXpzSieknSopCMl3SvpjkrSlbSWpGvSVUtvkfTBgYNIGguMjojZkjYDdgJOSsddMyL+DIyrc7XH\nuyRdKOmT6fIDZm3lZG/d6GjgiYiYEBFH8+41vT9MslbIxsB/Aq9ExAbAHcD+6Xt+BhwWERuRzM7/\nZ5BxNgfuBYiI20nWUjkyHfep9D1TgY/XEfPawMXAocCDko4ZsLaMWa5yu+G4WY6GmxnfFBGvAa9J\n+jtwVbp9OvCRdPG6zYBLqybZowfZz+okS8cONfbzwLjhAo6IBSSrFV4taXmSn06ekfTxiLh7uM+b\nNcvJ3nrRvKrHC6qeLyD5N78I8FJ6P4LhDEzuAxeT0sBtafmnsorraRHxs3T70sDeJCssziO5LWFH\nrhRpvcfJ3rrRXGDJBj4ngIiYm9bzPxcRv05r6OtHxP0D3v80sMWAcZca8J6Vgf7qDRExk+RuTgsH\nli4ENiVZZXG/iHiigfjNGuaavXWdiHgRuE3SdEknksysK7PrgXccGvi48nxf4KD0Vm8PkNyPdKDb\ngA2qnv8SOCo92btmum0CybmA4fwKWDsijnWityJ4iWOzIUi6Edi3cmeyAa+tDZwcEYN9UZh1FM/s\nzYZ2MnBwjdcOBn7QxljMGuaZvZlZCXhmb2ZWAk72ZmYl4GRvZlYCTvZmZiXgZG9mVgJO9mZmJfD/\nAaTWw6sIdNJsAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6f05410>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 3.0 #Input voltage (in volts) \n",
+ "Vo = Vi - 2.0 #Output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,2,100)\n",
+ "t1 = numpy.linspace(2,4,100)\n",
+ "t2 = numpy.linspace(4,9,100)\n",
+ "t3 = numpy.linspace(9,11,100)\n",
+ "t4 = numpy.linspace(11,21,100)\n",
+ "t5 = numpy.linspace(21,23,100)\n",
+ "t6 = numpy.linspace(23,28,100)\n",
+ "t7 = numpy.linspace(28,30,100)\n",
+ "t8 = numpy.linspace(30,32,100)\n",
+ "\n",
+ "ylim((0,5))\n",
+ "plot(t1,0.5*t1 -1,'b')\n",
+ "plot(t2,(1*t2)/t2,'b')\n",
+ "plot(t3,1 -0.5*(t3-9))\n",
+ "plot(t5,0.5*(t5-21),'b')\n",
+ "plot(t6,(1*t6)/t6,'b')\n",
+ "plot(t7,1-0.5*(t7-28),'b')\n",
+ "plot(t8,(0*t8/t8),'b')\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"time (t) ->\")\n",
+ "ylabel(\"Output voltage (Vo) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.12 , Page Number 869"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:27: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7353190>"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\npvtxRpEAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6efa2b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmax = 20.0 #peak voltage (in volts)\n",
+ "VD2 = 0.7 #Voltage drop across diode D2 (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomin = 5.0 - VD2 #Minimum output voltage (in volts) \n",
+ "Vomax = 10.7 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,4,100)\n",
+ "t1 = numpy.linspace(4,10,100)\n",
+ "t2 = numpy.linspace(10,20,100)\n",
+ "t3 = numpy.linspace(20,24,100)\n",
+ "t4 = numpy.linspace(24,30,100)\n",
+ "t5 = numpy.linspace(30,40,100)\n",
+ "\n",
+ "ylim((0,15))\n",
+ "xlim((0,40))\n",
+ "plot(t,(4.3*t)/t,'b')\n",
+ "plot(t1,4.3 + 6.4/6*(t1 - 4))\n",
+ "plot(t2,(10.7*t2)/t2,'b')\n",
+ "plot(t3,(4.3*t3)/t3,'b')\n",
+ "plot(t4,4.3 + 6.4/6*(t4 - 24),'b')\n",
+ "plot(t5,(10.7*t5)/t5,'b')\n",
+ "\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t (in ms) ->\")\n",
+ "ylabel(\"Vo (in volt) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.13 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:15: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7575450>"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n5XxxE9AAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6f1a430>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 48.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,2 * math.pi,100)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,24 + 24*y)\n",
+ "plot(x,(24*x)/x,'--')\n",
+ "xlabel(\"Time(t)\")\n",
+ "ylabel(\"Output voltage (Vo)\")\n",
+ "title(\"Output waveform\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.14 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7b80cd0>"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHbhJREFUeJzt3X2wHVWZ7/HvTwQZBUwckPASiAooUAhYU5EBga0gE1Bg\ncFTEKxmduUpJITM1cocXucWJVGEY1HJEcJgaFEUSjGAogoAkXjYgInMViIEQk1xICAkg74TwYgLP\n/aPXCZ2dvfvsc/ZL9znn96nadbpXr939nE6nn16r+/RSRGBmZtbKm8oOwMzMqs2JwszMCjlRmJlZ\nIScKMzMr5ERhZmaFnCjMzKyQE4XZKCDpBEmrJK2VtH/Z8dj44kRhfSXp85IWSVon6TFJl0p6+zC+\nv0LSR7oYT+H6JP1R0qdz84dIer1J2QuSevn/6ZvAqRGxbUQs7OF2NiNpS0nXSHo4/e6H93P7Vj4n\nCusbSV8FZgJfBbYDDgJ2B+ZL2rLN1QSgLoY11PpuAw7LzR8GLGlS9puIeL2LcW0kScBuwOIRfr8b\n/89vBz4HPE62z2wccaKwvpC0HTAAnBYRt0TEaxGxEvg0MIXsJISkKySdn/teTdKqNH0l2QlzXuqC\nOUPSlHSV+0VJqyWtSQmJkayvSei3s2lS+BBwYUPZoakekn6WWkrPSbpN0j6p/IOpfGNSSt1JC9P0\nmySdJWm5pKck/VTSRElvAdYCWwALJS1L9feWVJf0rKT7JR3b8Dt/X9KNkl4EPpxaTmdI+kP6XS+X\ntKOkmyQ9L2m+pAnN/u0iYn1EfDci7gRea1bHxjYnCuuXg4GtgZ/nCyNiHXAj8NHBIlpcsUbEycAj\nwMdTF8w3c4trwB7AUcCZko7ocH2D7gD2lTQhXZn/FfBTYEKu7GBSogB+keLYAbgHuCpt625gHXBE\nbt2fHVwOfAU4jiwB7QQ8C1wSEa9GxDapzvsjYs/U+poH3Jy28xXgKkl75dZ9EnB++u6v0z74RNr+\ne4GPAzcBZwHvJDsXnN5sP5k5UVi/bA881aJ75nHgL3PzI+lamhERL0fE/cAPyU6UnawPgNTqeYTs\nBL4/sCwiXgHuzJVtBdyd6l8REesiYj0wA9hf0rZpdbMH40plR6cygFOAcyNiTe67n2zRbXQQ8LaI\nmBkRGyLiVuCGht/5uoi4K8X0aiq7OCKejIg1ZAnwrohYmJbPBQ4c6X6ysc2JwvrlKWD7Fie+ndLy\nTqzKTT8C7Nzh+vIGu582djGRXaUPlt0dEeslbSFpZuo+eh54mOxKfvv0ndnAJyRtRXZ1//uIGIx7\nCjA3dSU9S3Y/YgOwY5N4dmbT3xdgJW/8ztFkOcATuemXG+ZfAbbBrAknCuuXu4BXgb/LF0raBpgG\n/CoVrQPemqsyqWE9rW6k7tYwvbrD9eXlE8UdqewONk8enyXrPjoiIt4OvIusNSOAiFhMdkI/OtWd\nldvGI8C0iJiY+7w1Ih5rEs8aYHL+fgfZQwGrm9Qt0s2HAmwMc6KwvoiI58m6Uy6W9DfpkcspwByy\nq98rU9X7gGPSjdxJwD83rOoJ4D1NNnGupL+QtC/webL7CJ2sL+924ANkieHOVLYIeDfwYd5IFNuQ\nJcNnJL0NuKDJumalGA4FfpYr/w/gAkm7AUjaQdJxLeL5LfAS8K9pP9bI7jlcnZZ3PQFIeoukrdNs\nftrGAScK65uIuAg4h+xvAp4nO+GtJLsCX5+qXQksBFaQ3ay9mk2v+r9BlhSelfQvufLbgOXAAuCi\niFjQ4frycS8D/gQ8FhEvpLIguy+xLfCbVPXH6fdZDdxP1opqbLHMJks4v4qIZ3Ll/w5cD9wi6YX0\n3an5MHLxrAeOJWuZPAl8Dzg5Ipbm6rbTUoqG6aLv/JEsOe0M/BJYN5jUbOyTBy6y0Sy1Sh4C3tyr\nv2MwG+/cojAzs0JOFDYWuFls1kPuejIzs0JuUZiZWaE3lx3ASEhyM8jMbAQiYtiPT4/aFkVE+NOl\nz3nnnVd6DGPp4/3p/VnVz0iN2kRhZmb94URhZmaFSk0Ukn4g6QlJi3Jl70jvxl8q6ZZW78i37qnV\namWHMKZ4f3aX92f5Sn08VtKhwIvAjyNiv1T2b2Svo/43SWcCEyPirIbvRZlxm5mNRpKI0XYzOyLu\nIBugJe844Edp+kfA3/Y1KDMz20QV71HsGBGD78l/gubv47cuWboUbrih7CjGjptvhsUjGtnamrn0\nUnjllbKjsEr/HUVERKu/mZAGcnO19LGRck9ed8yaBVdeOXQ9a99JJ8HWfqn5iNTrder1esfrKf0V\nHuntn/Ny9yiWALWIeFzSTsCtEfG+hu/4HkWXzJkD11yT/bTOTZ8ORx6Z/bTOTZwIDz2U/bTOjcp7\nFC1cD/x9mv574LoSYzEzG/fKfjx2NtmgL++VtErSF4CZwEclLQU+kubNzKwkpd6jiIiTWiw6sq+B\nmJlZS1XsejIzswpxojAzs0JOFGZmVsiJwszMCjlRmJlZIScKMzMr5ERhZmaFnCjMzKyQE4WZmRVy\nojAzs0JOFGZmVsiJwszMClV24CJJK4AXgNeA9RExtdyIzMzGp8omCiDIBjB6puxAzMzGs6p3PQ17\nJCYzM+uuKieKABZI+p2kL5YdjJnZeFXlrqdDIuIxSTsA8yUtiYg7BhcODAxsrFir1ajVav2P0Mys\nwur1OvV6veP1VDZRRMRj6eeTkuYCU4GmicLMzDbXeBE9Y8aMEa2nkl1Pkt4qads0/TbgKGBRuVGZ\nmY1PVW1R7AjMlQRZjFdFxC3lhmRmNj5VMlFExMPAAWXHYWZmFe16MjOz6nCiMDOzQk4UZmZWyInC\nzMwKOVGYmVkhJwozMyvkRGFmZoWcKMzMrJAThZmZFXKiMDOzQk4UZmZWyInCzMwKVTJRSJomaYmk\nZZLOLDseM7PxrK23x0o6HjgszdYjYl6vApK0BfA94EhgNfB/JV0fEQ/2aptmZtbakC0KSTOB04EH\ngMXA6ZK+0cOYpgLLI2JFRKwHrgaO7+H2zMysQDstio8BB0TEawCSrgDuA87uUUy7AKty848CH+zR\ntszMbAjtJIoAJgBPp/kJqaxX2lp3fszsxnFhzcwM6vU69Xq94/W0TBSSLgVmARcA90i6FRBwOHBW\nx1tubTUwOTc/maxVsYl8ojAzs801XkTPmDFjROspalEsBS4CdgYWACvJupzOjIjHR7S19vwO2FPS\nFGANcCJwUg+3Z2ZmBVrezI6I70TEX5O1IJYBnyBLHKdI2qtXAUXEBuA04JdkN89/6ieezMzKM+RT\nT+npo5kRcQDwGeAEoKcn7oi4KSLeGxF7REQvn7AyM7MhtPN47JslHSdpFnAzsISsdWFmZuNA0c3s\no8haEB8D/huYDXwpIl7sU2xmZlYBRTezzyJLDmdExDN9isfMzCqmZaKIiI/0MxAzM6umSr4U0MzM\nqsOJwszMCjlRmJlZIScKMzMr5ERhZmaFnCjMzKyQE4WZmRVyojAzs0KVSxSSBiQ9Kune9JlWdkxm\nZuNZOyPc9VsA346Ib5cdiJmZVbBFkajsAMzMLFPVRPEVSQslXS5pQtnBmJmNZ6V0PUmaD0xqsuhr\nwPeBr6f584FvAf/YWDE/ZnbjuLBmZgb1ep16vd7xehQRnUfTI2nc7HkRsV9DeVQ57tFkzhy45prs\np3Vu+nQ48sjsp3Vu4kR46KHsp3VOEhEx7K79ynU9SdopN3sCsKisWMzMrJpPPV0o6QCyp58eBk4p\nOR4zs3GtcokiItxoNzOrkMp1PZmZWbU4UZiZWSEnCjMzK+REYWZmhZwozMyskBOFmZkVcqIwM7NC\nThRmZlbIicLMzAo5UZiZWSEnCjMzK+REYWZmhUpJFJI+JekBSa9J+kDDsrMlLZO0RNJRZcRnZmZv\nKOvtsYvIxpq4LF8oaR/gRGAfYBdggaS9IuL1/odoZmZQUosiIpZExNImi44HZkfE+ohYASwHpvY1\nODMz20TV7lHsDDyam3+UrGVhZmYl6VnXk6T5wKQmi86JiHnDWJUHxzYzK1HPEkVEfHQEX1sNTM7N\n75rKNjMwMLBxularUavVRrA5O/ZYOPFE0LCHW7dWrrwSpnucxq5YvBje8Y6yoxjN6unTGUWUd8Eu\n6VbgjIj4fZrfB5hFdl9iF2ABsEc0BCmpscjMzIYgiYgY9mVhWY/HniBpFXAQ8AtJNwFExGJgDrAY\nuAk41RnBzKxcpbYoRsotCjOz4RtVLQqrlnq9XnYIY4r3Z3d5f5bPicL8H7HLvD+7y/uzfE4UZmZW\nyInCzMwKjdqb2WXHYGY2Go3kZvaoTBRmZtY/7noyM7NCThRmZlbIicLMzApVOlFImpZGulsm6cwW\ndb6bli+UdGC/YxxNhtqfkmqSnpd0b/qcW0aco4GkH0h6QtKigjo+Nts01P70sdk+SZMl3ZpGEb1f\n0ukt6rV/fEZEJT/AFmQDF00BtgTuA/ZuqHMMcGOa/iDw27Ljruqnzf1ZA64vO9bR8AEOBQ4EFrVY\n3tVjk2xEyFXAWmD/sn//Evanj8329+Uk4IA0vQ3wx07PnVVuUUwFlkfEiohYD1xNNgJe3nHAjwAi\n4m5ggqQd+xvmqNHO/gTo6QvHJX1e0iJJ6yQ9JulSSW8fxvdXSPpIF+MpXJ+kP0r6dG7+EEmvAzsB\nz+bKXpCU///U7WPzm2Qvydw2IhZ2sJ5hk3SQpPmSnpb0J0lzJDUba2bEIuIO0v4sCqWb2xyrIuLx\niLgvTb8IPEg2KFzesI7PKieKXciuoAY1G+2uWZ1dexzXaNXO/gzg4NQUvTG99r1rJH0VmAl8FdiO\n7O3BuwPzJW3Z5mqC7p4whlrfbcBhufnDgCVNyn4Tm47t3rVjU5KA3cjeqjyS73f6/3wC8B9k/1a7\nk7VqftjhOoerp8fmWCVpCllL7e6GRcM6PqucKNr9A4/G/+T+w5Dm2tkv9wCTI2J/4GLgum5tXNJ2\nwABwWkTcEhGvRcRK4NNk3WGfS/WukHR+7nu19Ep6JF1JdsKcJ2mtpDMkTZH0uqQvSlotaU1KSIxk\nfU1Cv51Nk8KHgAsbyg5N9ZD0M0mPAdOAS3IntO2Am9NJfzCWEyQtTNNvknSWpOWSnpL0U0kTJb2F\n7MS8BbBQ0rJUf29JdUnPpn7oYxt+5++nE+qLwIdTy+kMSX9Iv+vlknaUdFPq+58vaUKzf7uIuDki\nro2IFyPiZeAS4JBmdXuoZ8fmWCVpG+Aa4J9Sy2KzKg3zLc8RVU4UjaPdTWbT8bSb1Wk5Ip4NvT8j\nYm1EvJSmbwK2lNSt8cUOBrYGft6wzXXAjcDgiIhBiwM2Ik4GHgE+nrpgvplbXAP2AI4CzpR0RIfr\nG3QHsK+kCenK/K+An5JdZW+X+91uT9O/SHH8EFgDXJXKtwNeBAbjAvhsbvlXyLoDDuONbq1LIuLV\niNgm1Xl/ROyZWl/zgJuBHdJ3r5K0V27dJwHnp+/+Ou2DT6Ttvxf4ONmYL2cB7yQ7FzS96dnEYcD9\nbdbtih4fm2NOOkauBX4SEc2S6rDOnVVOFL8D9kxXjFsBJwLXN9S5HpgOWT8q8FxEPNHfMEeNIfdn\nusJUmp5K9pf7z3Rp+9sDTzV0zwx6HPjLfCgjWP+MiHg5Iu4nO0mf1OH6AEitnkfITo77A8si4hXg\nTrL7PlsDW5Ga9hFxRUp+15E9NLB/ugfyHPCTwbgkbQscDcxOmzoFODci1qR7SDOAT7boNjoIeFtE\nzIyIDRFxK3BDw+98XUTclWJ6NZVdHBFPRsQasgR4V0QsTMvnknVRFJL0fuB/A/9rqLrd1ONjc0xJ\n++lyYHFEfKdFtWGdO3s2ZnanImKDpNOAX5I1uy+PiAclnZKWXxYRN0o6RtJyYB3whRJDrrR29ifw\nSeDLkjYALwGf6WIITwHbS3pTk2SxU1reiXx/6yPAfh2uL2+w++kR3mg57AkcS5YoNgAnpwT8t2Qt\nih2At5AlqUuA/wG8Atwp6ctkV/e/j4jBuKcAc9ON8kEbgB2Bxxri2ZlNf1+AlbxxwzLYvPUNkD8R\nvNww/wrZEzItSdqDrPV3ekTcWVR3uCTNBg4nO0ZWAeeRJdp+HJtjzSFkXbl/kHRvKjuHrJt1ROfO\nyiYK2NjEvKmh7LKG+dP6GtQoNtT+jIhLyE5qvXAX8Crwd8DPBgtTP+o04OxUtA54a+57jU/XtOpH\n3Y3sMcDB6cFm9EjXl3c72RX/SuAHqewfgP9KZYsj4geSTk7bPiIiVqY+/2eAj0XEQwCSVpK1JD5L\nNj78oEeALwy2AoawBpgsbTLU4+5kN9mHo+2WlqTdgfnA1yPiqqHqD1dEnDTE8l4em2NKRPyaNnqL\nhnPurHLXk40hEfE8WXfKxZL+RtKW6YmMOWRXx1emqvcBx6QbuZOAf25Y1RPAe5ps4lxJfyFpX+Dz\nZPcROllf3u3AB8haFYNX0ouAdwMf5o1WxjZkyfAZSW8DLmiyrlkphkPJJUyyp4oukLQbgKQdJB3X\nIp7fkl1V/2vajzWyew5Xp+VdfYxU0i7A/wG+FxH/2c112+jgRGF9ExEXkTWBvwk8T3bCW0l2Bb4+\nVbsSWAisILtZezWbXvV/gywpPCvpX3Llt5H9QeEC4KKIWNDh+vJxLwP+BDwWES+ksiC7L7Et8JtU\n9cfp91lNdrP3LjZvscwmSzi/auhj/3eyfuNbJL2Qvjs1H0YunvVk3V5HA08C3wNOjoilubrttJSi\nYbrVd/4n8C5gID0xtTbFaONEJV8zLmka8B2yvvT/iogLSw7JKiq1Sh4C3tziRrmZdahyLQpJW5Bd\nIU0D9gFOkrR3uVGZmY1flUsUtP+qCbNB1WsWm40hVUwU7bxqwgyAdEGxhbudzHqnio/HDnl1KI+Z\nbWY2IjGCMbOrmCjaeXUHVbwJPxrNmQMzZgzwwAMDZYcyJkyfDmvXDjB37kDZoYwJEyfCl740wIUX\nDpQdypiQe9XYsFSx66mdV3eYmVmfVK5F0epVEyWHZWY2blUuUUDzV01Y7+ywQ63sEMaU972vVnYI\nY8qHPlQrO4Rxr4pdT9Zn73xnrewQxpS9966VHcKY4kRRPicKMzMr5ERhZmaFnCjMzKyQE4WZmRVy\nojAzs0JOFGZmVsiJwszMCjlRmJlZIScKMzMr5ERhZmaFnCjMzKyQE4WZmRVyojAzs0KVSxSSBiQ9\nKune9JlWdkxmZuNZFcejCODbEfHtsgMxM7MKtiiSkQ3samZmXVfVRPEVSQslXS5pQtnBmJmNZ6V0\nPUmaD0xqsuhrwPeBr6f584FvAf/YWHFgYGDjdK1Wo1ardTtMM7NRrV6vU6/XO16PIqLzaHpE0hRg\nXkTs11AeVY57NJkzB665JvtpnZs+HY48MvtpnZs4ER56KPtpnZNERAy7a79yXU+SdsrNngAsKisW\nMzOr5lNPF0o6gOzpp4eBU0qOx8xsXKtcoogIN9rNzCqkcl1PZmZWLU4UZmZWyInCzMwKOVGYmVkh\nJwozMyvkRGFmZoWcKMzMrJAThZmZFXKiMDOzQk4UZmZWyInCzMwKOVGYmVkhJwozMyvkRGFmZoVK\nSRSSPiXpAUmvSfpAw7KzJS2TtETSUWXEZ2ZmbyhrPIpFZKPXXZYvlLQPcCKwD7ALsEDSXhHxev9D\nNDMzKKlFERFLImJpk0XHA7MjYn1ErACWA1P7GpyZmW2iavcodgYezc0/StayMDOzkvSs60nSfGBS\nk0XnRMS8YawqmhUODAxsnK7VatRqteGEZ2Y25tXrder1esfraStRSDoeOGxw2+2c6CPioyOIZzUw\nOTe/ayrbTD5RmJnZ5hovomfMmDGi9QzZ9SRpJnA68ACwGDhd0jdGtLUWm8hNXw98RtJWkt4F7An8\ndxe3ZWZmw9ROi+JjwAER8RqApCuA+4CzR7pRSScA3wW2B34h6d6IODoiFkuaQ5aQNgCnRkTTricz\nM+uPdhJFABOAp9P8BFrcN2hXRMwF5rZYdgFwQSfrNzOz7mmZKCRdCswiO2nfI+lWsm6iw4Gz+hOe\nmZmVrahFsRS4iOyR1QXASrIupzMj4vE+xGZmZhXQ8mZ2RHwnIv6arAWxDPgEWeI4RdJefYrPzMxK\nNuRTTxGxIiJmRsQBwGfIXr3xYM8jMzOzSmjn8dg3SzpO0izgZmAJWevCzMzGgaKb2UeRtSA+Rva3\nDLOBL0XEi32KzczMKqDoZvZZZMnhjIh4pk/xmJlZxbRMFBHxkX4GYmZm1VS1t8eamVnFOFGYmVkh\nJwozMyvkRGFmZoWcKMzMrJAThZmZFSolUUj6lKQHJL0m6QO58imSXpZ0b/pcWkZ8Zmb2hp6NmT2E\nRWTvjLqsybLlEXFgn+MxM7MWSkkUEbEEQNJQVc3MrGRVvEfxrtTtVJf0obKDMTMb73rWopA0H5jU\nZNE5ETGvxdfWAJMj4tl07+I6SftGxNpexWlmZsV6ligi4qMj+M6fgT+n6Xsk/T9gT+CexroDAwMb\np2u1GrVabaShmpmNSfV6nXq93vF6yrqZnbfxRoWk7YFnI+I1Se8mSxIPNftSPlGYmdnmGi+iZ8yY\nMaL1lPV47AmSVgEHAb+QdFNadDiwUNK9wM+AUyLiuTJiNDOzTFlPPc0F5jYpvxa4tv8RmZlZK1V8\n6snMzCrEicLMzAo5UZiZWSEnCjMzK+REYWZmhZwozMyskBOFmZkVcqIwM7NCThRmZlbIicLMzAo5\nUZiZWSEnCjMzK+REYWZmhZwozMysUFnjUVwk6UFJCyX9XNLbc8vOlrRM0hJJR5URn5mZvaGsFsUt\nwL4RsT+wFDgbQNI+wInAPsA04FJJbvWYmZWolJNwRMyPiNfT7N3Armn6eGB2RKyPiBXAcmBqCSGa\nmVlShav1fwBuTNM7A4/mlj0K7NL3iMzMbKOeDYUqaT4wqcmicyJiXqrzNeDPETGrYFXRi/jMzKw9\niijnPCzp88AXgSMi4pVUdhZARMxM8zcD50XE3Q3fjfPOO2/jfK1Wo1ar9SfwMebVV2HrrcuOYuwp\n6b/VmPP007D99mVHMZrV02fQDCJCw11LKYlC0jTgW8DhEfFUrnwfYBbZfYldgAXAHtEQpKTGIjMz\nG4KkESWKnnU9DeFiYCtgviSAuyLi1IhYLGkOsBjYAJzqjGBmVq7Sup464RaFmdnwjbRFUYWnnszM\nrMKcKIx6vV52CGOK92d3eX+Wz4nC/B+xy7w/u8v7s3xOFGZmVsiJwszMCo3ap57KjsHMbDQaNX9w\nZ2Zmo4e7nszMrJAThZmZFap0opA0LY10t0zSmS3qfDctXyjpwH7HOJoMtT8l1SQ9L+ne9Dm3jDhH\nA0k/kPSEpEUFdXxstmmo/eljs32SJku6VdIDku6XdHqLeu0fnxFRyQ+wBdnARVOALYH7gL0b6hwD\n3JimPwj8tuy4q/ppc3/WgOvLjnU0fIBDgQOBRS2W+9js7v70sdn+vpwEHJCmtwH+2Om5s8otiqnA\n8ohYERHrgavJRsDLOw74EUBkryKfIGnH/oY5arSzPwGG/UTEeBQRdwDPFlTxsTkMbexP8LHZloh4\nPCLuS9MvAg+SDQqXN6zjs8qJYhdgVW6+2Wh3zersijXTzv4M4ODUFL0xvfbdRsbHZnf52BwBSVPI\nWmp3Nywa1vFZ1mvG29Huc7uNVxl+3re5dvbLPcDkiHhJ0tHAdcBevQ1rTPOx2T0+NodJ0jbANcA/\npZbFZlUa5lsen1VuUawGJufmJ7PpeNrN6uyaymxzQ+7PiFgbES+l6ZuALSW9o38hjik+NrvIx+bw\nSNoSuBb4SURc16TKsI7PKieK3wF7SpoiaSvgROD6hjrXA9MBJB0EPBcRT/Q3zFFjyP0paUelkaQk\nTSX7g8xn+h/qmOBjs4t8bLYv7afLgcUR8Z0W1YZ1fFa26ykiNkg6Dfgl2RM7l0fEg5JOScsvi4gb\nJR0jaTmwDvhCiSFXWjv7E/gk8GVJG4CXgM+UFnDFSZoNHA5sL2kVcB7Z02Q+NkdgqP2Jj83hOAT4\nHPAHSfemsnOA3WBkx6df4WFmZoWq3PVkZmYV4ERhZmaFnCjMzKyQE4WZmRVyojAzs0JOFGZmVsiJ\nwqxLJL1d0pfLjsOs25wozLpnInBq2UGYdZsThVn3zATekwbWubDsYMy6xX+ZbdYlknYHboiI/cqO\nxayb3KIw6x4PrGNjkhOFmZkVcqIw6561wLZlB2HWbU4UZl0SEU8Dd0pa5JvZNpb4ZraZmRVyi8LM\nzAo5UZiZWSEnCjMzK+REYWZmhZwozMyskBOFmZkVcqIwM7NCThRmZlbo/wODNv2bYBc2BgAAAABJ\nRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7b02490>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 10.0 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "#Positive Clipping\n",
+ "subplot(211)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-10,10,0.0005)\n",
+ "\n",
+ "x5=(0.0500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,10*k1/k1,'b')\n",
+ "plot(k2,-10*k2/k2,'b')\n",
+ "plot(k3,10*k3/k3,'b')\n",
+ "plot(k4,-10*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-12,12) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('Positive Clipping')\n",
+ "title('Output Waveform 1')\n",
+ "\n",
+ "#Negative Clipping\n",
+ "subplot(212)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-20,0,0.0005)\n",
+ "\n",
+ "x5=(0.500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,0*k1/k1,'b')\n",
+ "plot(k2,-20*k2/k2,'b')\n",
+ "plot(k3,0*k3/k3,'b')\n",
+ "plot(k4,-20*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-22,0) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform 2')"
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_2.ipynb new file mode 100644 index 00000000..cb56befb --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_2.ipynb @@ -0,0 +1,119 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3fc338a030e4c2c109e9bc75c84604c2cf87b091971f96fe505c5b211472f4a5" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 34 , Time Base Circuits" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 34.1, Page Number 883" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R = 100.0 * 10**3 #Resistance (in ohm)\n", + "C = 0.4 * 10**-6 #Capacitance (in Farad)\n", + "n = 0.57 #Ratio of peak-peak voltage to the supply voltage \n", + "\n", + "#Calculation\n", + "\n", + "f = 1 / (2.3 * R * C * math.log10(1/(1-n))) #Frequency (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"Frequency of sweep is \",round(f,2),\" Hz.\"\n", + "\n", + "#Slight variation due to higher precision." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency of sweep is 29.66 Hz.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 34.2 , Page Number 883" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "n = 0.62 #Ratio of peak-peak voltage to the supply voltage \n", + "R = 5.0 * 10**3 #Resistance (in ohm)\n", + "C = 0.05 * 10**-6 #Capacitor (in Farad)\n", + "\n", + "#Calculation\n", + "\n", + "T = 2.3 * R * C * math.log10(1/(1-n)) #Time period of oscillation (in seconds)\n", + "f = 1/T #Frequency of oscillation (in Hertz) \n", + "f1 = 50.0 #New frequency (in Hertz)\n", + "T1 = 1/f1 #New time period of oscillation (in seconds)\n", + "R1 = T1 / (2.3 * C * math.log10(1/(1-n))) #New Resistance (in ohm)\n", + "f2 = 50.0 #Another new frequency (in Hertz)\n", + "C2 = 0.5 * 10**-6 #Capacitance (in Farad) \n", + "T2 = 1/f2 #Another new time period (in seconds)\n", + "R2 = T2 / (2.3 * C2 * math.log10(1/(1-n))) #New Resistance (in ohm)\n", + "\n", + "#Result\n", + "\n", + "print \"The time period and frequency of oscillation in case 1 is \",round(T * 10**3,2),\" ms and \",round(f),\" Hz.\"\n", + "print \"New value of R is \",round(R1 * 10**-3),\" kilo-ohm.\"\n", + "print \"Value of R with C is 0.5 micro-Farad is \",round(R2 * 10**-3,1),\" kilo-ohm.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The time period and frequency of oscillation in case 1 is 0.24 ms and 4139.0 Hz.\n", + "New value of R is 414.0 kilo-ohm.\n", + "Value of R with C is 0.5 micro-Farad is 41.4 kilo-ohm.\n" + ] + } + ], + "prompt_number": 17 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_2.ipynb new file mode 100644 index 00000000..e07b481a --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_2.ipynb @@ -0,0 +1,660 @@ +{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 35 , Operational Amplifiers (OP - Amps)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.1 , Page Number 895"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode rejection ratio is 90.0 dB.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Adm = 200000.0 #Differential gain\n",
+ "Acm = 6.33 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = 20 * math.log10(Adm / Acm) #Common-mode rejection ratio (in Decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode rejection ratio is \",round(CMRR),\" dB.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.2 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode gain is 0.949 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "CMRR = 90.0 #Common-mode rejection ratio (in Decibels)\n",
+ "Adm = 30000.0 #Differential gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Acm = 10**(-CMRR/20.0) * Adm #Common-mode gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode gain is \",round(Acm,3),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.3 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for the amplifier is 796.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 100.0 * 10**-3 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate / (2 * math.pi * Vpk) #Maximum operating frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for the amplifier is \",round(fmax * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.4 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for TLO 741 is 7.958 kHz.\n",
+ "The maximum opearing frequency for TLO 81 is 206.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate1 = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Slew_rate2 = 13.0 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate1 / (2 * math.pi * Vpk) #Maximum operating frequency1 (in Hertz)\n",
+ "fmax1 = Slew_rate2 / (2 * math.pi * Vpk) #Maximum operating frequency2 (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for TLO 741 is \",round(fmax * 10**-3,3),\" kHz.\\nThe maximum opearing frequency for TLO 81 is \",round(fmax1 * 10**-3,1),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.5 , Page Number 899"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum allowable input voltage (Vin) is 40.0 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 200.0 #Closed loop voltage gain\n",
+ "Vout = 8.0 #Output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vin = - Vout / ACL #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum allowable input voltage (Vin) is \",abs(Vin * 10**3),\" mV.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.6 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum possible output value could be between 10.0 V and -10.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 150.0 #Closed loop voltage gain\n",
+ "Vin = 200.0 * 10**-3 #Input a.c. voltage (in volts) \n",
+ "V = 12.0 #Voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = ACL * Vin #Output voltage (in volts)\n",
+ "Vpkplus = V -2.0 #maximum positive peak voltage (in volts)\n",
+ "Vpkneg = -V + 2.0 #maximum negative peagk voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum possible output value could be between \",Vpkplus,\" V and \",Vpkneg,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.7 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of output voltage increases from 1.0 V to 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in volts)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in volts)\n",
+ "vinmin = 0.1 #Input voltage minimum (in volts)\n",
+ "vinmax = 0.4 #Input voltage maximum (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Voutmin = ACL * vinmin #Minimum output voltage (in volts)\n",
+ "Voutmax = ACL * vinmax #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of output voltage increases from \",Voutmin,\" V to \",Voutmax,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.8 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage of the inverting amplifier is 2.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "V1 = 1.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain \n",
+ "vo = ACL * V1 #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage of the inverting amplifier is \",vo,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.9 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed-loop gain is 10.0 .\n",
+ "Input impedance is 10.0 kilo-ohm.\n",
+ "Output impedance is 80.0 ohm.\n",
+ "Common-mode rejection ratio is 10000.0 .\n",
+ "Maximum operating frequency is 15.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "ACM = 0.001 #Common-mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Zin = R1 #Input impedance of the circuit (in ohm)\n",
+ "Zout = 80.0 #Output impedance of the circuit (in ohm)\n",
+ "CMRR = ACL / ACM #Common mode rejection ratio \n",
+ "fmax = Slew_rate / (2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed-loop gain is \",ACL,\".\\nInput impedance is \",Zin * 10**-3,\" kilo-ohm.\\nOutput impedance is \",Zout,\" ohm.\\nCommon-mode rejection ratio is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.10 , Page Number 904"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed loop gain is 11.0 .\n",
+ "CMRR is 11000.0 .\n",
+ "Maximum operating frequency is 14.47 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.5 #Peak voltage (in volts)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "ACM = 0.001 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = (1 + R2/R1) #Closed loop voltage gain \n",
+ "CMRR = ACL / ACM #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 5.5 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed loop gain is \",ACL,\".\\nCMRR is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,2),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.11 , Page Number 905"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ACL is 1.0 .\n",
+ "CMRR is 1000.0 .\n",
+ "fmax is 26.5 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 1.0 #Closed loop gain\n",
+ "Acm = 0.001 #Common mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in Volt per second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = ACL / Acm #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 3.0 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"ACL is \",ACL,\".\\nCMRR is \",CMRR,\".\\nfmax is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.12 , Page Number 906"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 3.52 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 0.1 #Voltage (in volts)\n",
+ "V2 = 1.0 #Voltage (in volts)\n",
+ "V3 = 0.5 #Voltage (in volts) \n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R4 = 22.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-R4/R1*V1) + (-R4/R2*V2) + (-R4/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(Vout),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.13 , Page Number 907"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:20: RuntimeWarning: invalid value encountered in divide\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60e3cf0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60e31b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#V1 = 2 * sin(wt) #Voltage (in volts)\n",
+ "V2 = 5.0 #Voltage (in volts)\n",
+ "V3 = -100.0 * 10**-3 #Voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "#Vo = 4 * V1 + V2 + 0.1 * V3 #Output voltage\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,200)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,-15 + 8*y)\n",
+ "plot(x,(-15*x)/x,'')\n",
+ "title(\"output waveform\")\n",
+ "ylabel(\"output voltage (Vo)\")\n",
+ "xlabel(\"t\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.14 , Page Number 908"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = -2.0 #Voltage (in volts)\n",
+ "V2 = 2.0 #Voltage (in volts)\n",
+ "V3 = -1.0 #Voltage (in volts) \n",
+ "R1 = 200.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "Rf = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-Rf/R1*V1) + (-Rf/R2*V2) + (-Rf/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",Vout,\" V.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_2.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_2.ipynb new file mode 100644 index 00000000..82205bce --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_2.ipynb @@ -0,0 +1,195 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:18142c4d926311a435ed592a7ec40be6e57bd0d23bda115aad3c84afb60326d1" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 36 , Basic Op-Amp Applications" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 36.1 , Page Number 920" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 1.0 * 10**3 #Resistance (in ohm)\n", + "R2 = 100.0 * 10**3 #Resistance (in ohm)\n", + "f1 = 159.0 #Frequency (in Hertz)\n", + "\n", + "#Calculation\n", + "\n", + "C = 1.0/(2*math.pi*R2*f1) #Capacitance (in Farad) \n", + "\n", + "#Result\n", + "\n", + "print \"Capacitance required in the circuit is \",round(C * 10**6,2),\" micro-Farad.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Capacitance required in the circuit is 0.01 micro-Farad.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 36.2 , Page Number 921" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 1.0 * 10**3 #Resistance (in ohm)\n", + "Rf = 51.0 * 10**3 #Resistance (in ohm)\n", + "Cf = 0.01 * 10**-6 #Capacitance (in Farad)\n", + "\n", + "#Calculation\n", + "\n", + "f = 1.0/(2*math.pi*Rf*Cf) #Frequency (in Hertz)\n", + "fmin = 10* f #Minimum frequency required (in Hertz) \n", + "\n", + "#Result\n", + "\n", + "print \"The cut-off frequency of an integrator circuit is \",round(f),\" Hz.\"\n", + "print \"Minimum non-linear operating frequency is \",round(fmin),\" Hz.\"\n", + "\n", + "#Printing mistake about the value of Cf. It should be 0.01 micro-Farad." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The cut-off frequency of an integrator circuit is 312.0 Hz.\n", + "Minimum non-linear operating frequency is 3121.0 Hz.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 36.3 , Page Number 922" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = 10.0 * 10**3 #Resistance (in ohm)\n", + "C1 = 0.01 * 10**-6 #Capacitor (in Farad)\n", + "\n", + "#Calculation\n", + "\n", + "f2 = 1.0/(2*math.pi*R1*C1) #Frequency (in Hertz)\n", + "fmax = f2 / 10.0 #Maximum linear operating freqeuncy (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"Cut-off frequency is \",round(f2,1),\" Hz.\"\n", + "print \"Maximum linear operating frequency is \",round(fmax),\" Hz.\"\n", + "\n", + "#Printing mistake in book about the value of f2." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Cut-off frequency is 1591.5 Hz.\n", + "Maximum linear operating frequency is 159.0 Hz.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 36.4 , Page Number 924" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Variables\n", + "\n", + "R1 = R2 = 51.0 * 10**3 #Resistance (in ohm)\n", + "C1 = C2 = C = 0.001 * 10**-6 #Capacitance (in Farad) \n", + "\n", + "#Calculation\n", + "\n", + "fo = 1.0/(2*math.pi*R1*C1) #Resonant frequency (in Hertz)\n", + "\n", + "#Result\n", + "\n", + "print \"The frequency of oscillations is \",round(fo,1),\" Hz.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The frequency of oscillations is 3120.7 Hz.\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_1.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_1.png Binary files differnew file mode 100644 index 00000000..e07115cd --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_1.png diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_1.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_1.png Binary files differnew file mode 100644 index 00000000..22df6b70 --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_1.png diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_1.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_1.png Binary files differnew file mode 100644 index 00000000..5acc571a --- /dev/null +++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_1.png diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter11_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter11_2.ipynb new file mode 100644 index 00000000..7f4be013 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter11_2.ipynb @@ -0,0 +1,124 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11 : Surface Finish" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 11.1 : Page 436" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C.L.A value = 0.80*10**-6 m \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "v = 15000 # vertical magnification\n", + "h = 100 # horizontal magnification\n", + "l = 0.8 # sampling length in mm\n", + "a1 = 160 # area above datum line in mm**2\n", + "a2 = 90 # area above datum line in mm**2\n", + "a3 = 180 # area above datum line in mm**2\n", + "a4 = 50 # area above datum line in mm**2\n", + "a5 = 95 # area below datum line in mm**2\n", + "a6 = 65 # area below datum line in mm**2\n", + "a7 = 170 # area below datum line in mm**2\n", + "a8 = 150 # area below datum line in mm**2\n", + "a = (a1+a2+a3+a4+a5+a6+a7+a8)/(v*h)\n", + "CLA= a/l\n", + "print \"C.L.A value = %0.2f*10**-6 m \" %(CLA*1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 11.2 : Page 436" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The arithmetic average = 0.23*10**-6 m \n", + " The r.m.s. value = 0.248*10**-6 m\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "# #from figure 11.23\n", + "y1 = 0.15 # mu_m\n", + "y2 = 0.25 # mu_m\n", + "y3 = 0.35 # mu_m\n", + "y4 = 0.25 # mu_m\n", + "y5 = 0.30 # mu_m\n", + "y6 = 0.15 # mu_m\n", + "y7 = 0.10 # mu_m\n", + "y8 = 0.30 # mu_m\n", + "y9 = 0.35 # mu_m\n", + "y10 = 0.10 # mu_m\n", + "y1sqr = y1**2 # mu_m\n", + "y2sqr = y2**2# mu_m\n", + "y3sqr = y3**2 # mu_m\n", + "y4sqr = y4**2 # mu_m\n", + "y5sqr = y5**2 # mu_m\n", + "y6sqr = y6**2 # mu_m\n", + "y7sqr = y7**2 # mu_m\n", + "y8sqr = y8**2 # mu_m\n", + "y9sqr = y9**2 # mu_m\n", + "y10sqr = y10**2 # mu_m\n", + "n = 10\n", + "yn = (y1+y2+y3+y4+y5+y6+y7+y8+y9+y10)/n # arithmetic average in mu_m\n", + "rms = sqrt((y1sqr+y2sqr+y3sqr+y4sqr+y5sqr+y6sqr+y7sqr+y8sqr+y9sqr+y10sqr)/n) # r.m.s value in mu_m\n", + "print \" The arithmetic average = %0.2f*10**-6 m \\n The r.m.s. value = %0.3f*10**-6 m\"%(yn,rms)" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter13_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter13_2.ipynb new file mode 100644 index 00000000..16894fc3 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter13_2.ipynb @@ -0,0 +1,517 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 13 : Analysis of Metal Forming Process" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.1 : page 515" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total drawing load = 2136.5 N\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, tan, exp\n", + "sigma_0 = 240 # N/mm**2\n", + "d1 = 5 # initial wire diameter in mm\n", + "d0 = 5.5 # final wire diameter in mm\n", + "x = d1/d0 # mm\n", + "alpha = 8 # angle of contact\n", + "alpha = alpha*pi/180\n", + "mu = 0.1 # coefficient of friction\n", + "B = mu/tan(alpha) \n", + "sigma_d = (sigma_0*(1+B)*(1-(x)**(2*B)))/B # N/mm**2\n", + "l = 3 # die land in mm\n", + "mu = 0.1 # coefficient of friction\n", + "r1 = d1/2 # mm\n", + "sigma_t = sigma_0 - (sigma_0 - sigma_d)/exp((2*mu*l)/r1) # N/mm**2\n", + "dl = sigma_t*pi*(r1)**2 # drawing load in N\n", + "print \"Total drawing load = %0.1f N\"%(dl)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.2 : page 517" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The pipe drawing force force on plug mandrels = 0.547 \n", + " The pipe drawing forcw on mandrels = 0.368\n", + " Use of movable mandrel substantially reduces drawing force\n" + ] + } + ], + "source": [ + "from math import log10, tan\n", + "alpha = 15 # angle of contact\n", + "alpha = alpha*pi/180\n", + "bita = 0 # degree\n", + "mu = 0.1 # coefficient of friction\n", + "mu1 = mu\n", + "mu2 = mu\n", + "h1 = 1.75 # mm\n", + "h0 = 2.5 # mm\n", + "B = (mu1+mu2)/(tan(alpha)-tan(bita)) \n", + "y1 = (1+B)*(1-(h1/h0)**B)/B #sigma_d/sigma_0 for plug mandrels in N/mm**2\n", + "z = 1/((h0/h1)-1)\n", + "y2 = log10(z)# sigma_d/sigma_0 for movable mandrels in N/mm**2\n", + "print \" The pipe drawing force force on plug mandrels = %0.3f \\n The pipe drawing forcw on mandrels = %0.3f\"%(y1,y2)\n", + "print \" Use of movable mandrel substantially reduces drawing force\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.3 : page 517" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Neutral section = 20.3 mm\n", + "Backward slip = 18.8 percent\n", + "Forward slip = 1.5 percent\n", + "Maximum pressure = 132.6 N/mm**2\n" + ] + } + ], + "source": [ + "from math import acos, atan, log, tan, sqrt, exp\n", + "h0 = 25 # thickness of plate in mm \n", + "h1 = 20 # mm \n", + "delta_h = h0-h1 # mm\n", + "sigma = 100 # maximum pressure in N/mm**2\n", + "D = 500 # rolled diameter in mm\n", + "r = D/2 # rolled radius in mm\n", + "alpha = acos(1-(delta_h/D)) # angle of contact in radians\n", + "mu = tan(alpha) # coefficient of friction\n", + "Ho = 2*sqrt(r/h1)*atan(sqrt(r/h1)*mu)\n", + "Hn = (Ho - (log(h0/h1))/mu)/2\n", + "theta = sqrt(h1/r)*tan(sqrt(h1/r)*(Hn/2)) # radian\n", + "hn = h1 + r*theta**2 # neutral section in mm\n", + "x = hn/h0 \n", + "bs = (1-x)*100 # backward slip\n", + "y = hn/h1\n", + "fs = (y-1)*100 # forward slip\n", + "sigma0 = 2*sigma/sqrt(3)\n", + "pn = sigma0*hn*exp(mu*Hn)/h1 #N/mm**2\n", + "print \"Neutral section = %0.1f mm\"%(hn)\n", + "print \"Backward slip = %0.1f percent\\nForward slip = %0.1f percent\"%(bs,fs)\n", + "print \"Maximum pressure = %0.1f N/mm**2\"%(pn)\n", + " # Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.4 : page 519" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Force = 6328 kN\n" + ] + } + ], + "source": [ + "from math import sqrt, pi ,exp\n", + "Do = 250 # diameter in mm\n", + "ho = 250 # hieght in mm\n", + "delta_h = 100 # mm\n", + "h = 150 # mm\n", + "sigma0 = 55 # N/mm**2\n", + "d = Do*sqrt(ho/(ho-delta_h)) # diameter in mm \n", + "mu = 0.42 # coefficient of friction\n", + "R = 162.5 # mm\n", + "pa = sigma0/2*(h/(mu*R))**2*(exp(2*mu*R/h)-2*mu*R/h-1) # N/mm**2\n", + "p = pa*pi*(R)**2 # force in kN\n", + "print \"Force = %d kN\"%(p/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.5 : page 519" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Sticking radius = 48.5 mm \n", + " Total forging load = 11.927 MN\n" + ] + } + ], + "source": [ + "from sympy import symbols, diff, solve, exp\n", + "from math import log\n", + "from sympy.mpmath import quad\n", + "d = 150 # diameter in mm\n", + "h = 10 # thickness in mm\n", + "R = d/2 # radius in mm\n", + "mu = 0.2 # coefficient of friction\n", + "sigma_0 = 200 # N/mm**2\n", + "Rs = R - (h/(2*mu))*log(1/(sqrt(3)*mu)) # sticking radius in mm\n", + "Ps = sigma_0*exp(2*mu*(R-Rs)/h) # pressure at sticking radius in N/mm**2\n", + "y=lambda r:2*pi*r*sigma_0*exp(2*mu/h*(R-r))\n", + "L_sld = quad(y,[48.5,75])\n", + "L_sld = L_sld/1000 # load on sliding portion in kN\n", + "Pc = Ps + (2*sigma_0*Rs)/(h*sqrt(3)) # pressure at centre in N/mm**2\n", + "L_sp = (Pc+Ps)*pi*(Rs)**2/(2*1000) # load on sticking portion in kN\n", + "F_l = L_sld + L_sp # total forging load in kN\n", + "print \" Sticking radius = %0.1f mm \\n Total forging load = %0.3f MN\"%(Rs ,F_l/1000)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.7 : page 522" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drawing load = 11.21 kN\n", + "Power of motor = 26.32 kW\n" + ] + } + ], + "source": [ + "#from math import sqrt, pi\n", + "RA = 0.30\n", + "d = 12 # diameter in mm\n", + "alpha = 6 # angle of contact in degree\n", + "alpha = 6*pi/180 # angle of contact in radian\n", + "mu = 0.10 # coefficient of friction\n", + "sigma_0 = 240 # N/mm**2\n", + "B = mu/tan(alpha)\n", + "x = 1 - RA\n", + "sigma_d = (sigma_0*(1+B)*(1-(x)**B))/B # N/mm**2\n", + "r1 = sqrt(x)*(d/2) # mm\n", + "l = sigma_d*pi*(r1)**2 # load in kN\n", + "ita = 98 # efficiency\n", + "ita = ita/100\n", + "s = 2.3 # drawing speed in m/s\n", + "P = (l*s)/ita # kW\n", + "print \"Drawing load = %0.2f kN\\nPower of motor = %0.2f kW\"%(l/1000 ,P/1000 )\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.8 : page 522" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Drawing load = 27.166 kN\n", + " Power rating of motor = 17.66 kW\n" + ] + } + ], + "source": [ + "from math import sqrt, pi, tan\n", + "mu1 = 0.15 # coefficient of friction \n", + "mu2 = 0.18 # coefficient of fricton\n", + "alpha = 14 # angle of contact in degree\n", + "alpha = alpha*pi/180\n", + "bita = 10 # semi-cone angle in degree\n", + "bita = bita*pi/180\n", + "sigma_0 = 1.40 # kN/mm**2\n", + "h0 = 1.5 #mm\n", + "h1 = 1 # mm\n", + "B = (mu1+mu2)/(tan(alpha)+tan(bita))\n", + "sigmad = (sigma_0*(1+B)*(1-(h1/h0)**B))/B # drawing stress in kN/mm**2\n", + "d1 = 11 # outside diameter in mm\n", + "t = 1 # thickness in mm\n", + "d2 = d1-2*t # mm\n", + "a = (pi*((d1)**2-(d2)**2))/4 # area in mm**2\n", + "l = sigmad*a # load in kN\n", + "s = 0.65 # drawing speed in m/s\n", + "w = l*s # work in kJ/s\n", + "p = w # power in kW\n", + "print \" Drawing load = %0.3f kN\\n Power rating of motor = %0.2f kW\"%(l , p)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.9 : page 523" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Forging load at start of forging = 18.5625 MN\n", + " Forging load at completion of forging = 70.875 MN\n" + ] + } + ], + "source": [ + "sigma_0 = 50 # pressure at start in MPa\n", + "B = 0.9 # width in m\n", + "h1 = 0.2 # thickness in m\n", + "b = 0.3 # tool bite in m\n", + "# At commencement of forging\n", + "FL = sigma_0*B*b*(1+(b/(4*h1))) # forging load in MN\n", + "# At completion of forging\n", + "h2 = 0.1 # thickness in m\n", + "sigma_0c = 150 # pressure at completion in MPa\n", + "FL2 = sigma_0c*B*b*(1+(b/(4*h2))) # forging load in MN\n", + "print \" Forging load at start of forging = %0.4f MN\\n Forging load at completion of forging = %0.3f MN\"%(FL , FL2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.10 : page 524" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extrusion load = 34 MN\n" + ] + } + ], + "source": [ + "from math import sqrt, tan, pi\n", + "sigma_0 = 250 # N/mm**2\n", + "d1 = 5 # initial wire diameter in mm\n", + "d0 = 15 # final wire diameter in mm \n", + "r0 = d0/2\n", + "r1 = d1/2\n", + "x = (r0/r1)**2 # mm\n", + "alpha = 45 # angle of contact\n", + "alpha = alpha*pi/180\n", + "mu = 0.1 # coefficient of friction\n", + "B = mu/tan(alpha) \n", + "sigma_x0 = (sigma_0*(1+B)*(1-(x)**B))/B # N/mm**2\n", + "sigma_x0 = -sigma_x0\n", + "l = 37.5 # length 0f billet in mm\n", + "tau1 = sigma_0/2 # Mpa\n", + "Pe = sigma_x0 + (4*tau1*l)/d0 # extrusion pressure in Mpa\n", + "el = Pe*pi*(r0)**2 # extrusion load in MN\n", + "print \"Extrusion load = %d MN\"%(el/10000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.11 : page 524" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Roll pressure at enter and exit = 242.5 N/mm**2\n", + " Roll pressure at neutral plane = 257.81 N/mm**2\n", + "(b) Roll pressure at neutral point when co-efficient of friction is 0.40 = 779.97 N/mm**2\n", + "(c) Roll pressure when 35 N/mm**2 tension is applied at neutral point = 220.60 N/mm**2\n" + ] + } + ], + "source": [ + "from math import cos, acos, sqrt, tan, exp, atan\n", + "h0 = 4.05 # thickness of plate in mm \n", + "h1 = 3.55 # mm\n", + "D = 500 # rolled diameter in mm\n", + "r = D/2 # rolled radius in mm\n", + "mu = 0.04 # coefficient of friction\n", + "sigma = 210 # N/mm**2\n", + "delta_h = h0-h1 # mm\n", + "p = 2*sigma/sqrt(3) # N/mm**2\n", + "alpha = acos(1-(delta_h/D)) # angle of contact\n", + "Ho = 2*sqrt(r/h1)*atan(sqrt(r/h1)*alpha)\n", + "Hn1 = (Ho - (log(h0/h1))/mu)/2\n", + "theta = sqrt(h1/r)*tan(sqrt(h1/r)*(Hn1/2)) # radians\n", + "hn = h1 + 2*r*(1-cos(theta)) # mm\n", + "pn1 = p*hn*exp(mu*Hn1)/h1 # roll pressure in N/mm**2\n", + "# b) roll pressure when coefficient of friction is 0.4\n", + "mu2 = 0.4 # coefficient of friction\n", + "Hn2 = (Ho - (log(h0/h1))/mu2)/2\n", + "theta = sqrt(h1/r)*tan(sqrt(h1/r)*(Hn2/2)) # radians\n", + "hn2 = h1 + r*theta**2 # mm\n", + "pn2 = (p*hn2*exp(mu2*Hn2))/h1 # roll pressure in N/mm**2\n", + "# c) if tension is applied of 35 N/mm**2\n", + "sigma_f = 35 # front tension in N/mm**2\n", + "pn3 = (p-sigma_f)*hn*exp(mu*Hn1)/h1 # roll ressure in N/mm**2\n", + "print \"(a) Roll pressure at enter and exit = %0.1f N/mm**2\\n Roll pressure at neutral plane = %0.2f N/mm**2\"%(p , pn1)\n", + "print \"(b) Roll pressure at neutral point when co-efficient of friction is 0.40 = %0.2f N/mm**2\"%(pn2)\n", + "print \"(c) Roll pressure when 35 N/mm**2 tension is applied at neutral point = %0.2f N/mm**2\"%(pn3)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 13.12 : page 526" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Neutral plane = 1.58 degree\n" + ] + } + ], + "source": [ + "from math import acos, atan, sqrt, log, pi\n", + "h1 = 6.35 # thickness in mm\n", + "mu = 0.2 # coefficient of friction\n", + "r = 50 # rolled radius in cm\n", + "r = r*10 # mm\n", + "R = 30 # reduction in percent\n", + "h0 = h1*100/(100-R) # mm \n", + "delta_h = h0-h1 # mm\n", + "alpha = acos(1-(delta_h/(2*r))) # angle of contact\n", + "Ho = 2*sqrt(r/h1)*atan(sqrt(r/h1)*alpha)\n", + "Hn = (Ho - (log(h0/h1))/mu)/2 \n", + "theta = sqrt(h1/r)*tan(sqrt(h1/r)*(Hn/2)) # neutral plane in radians\n", + "theta = theta*180/pi # neutral plane in degrees\n", + "print \"Neutral plane = %0.2f degree\"%(theta)\n", + "# 'Answers vary due to round off error'" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter14_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter14_2.ipynb new file mode 100644 index 00000000..00b07b78 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter14_2.ipynb @@ -0,0 +1,823 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 14 : Theory of Metal Cutting" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.1 : page 563" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tool life = 18 min.\n" + ] + } + ], + "source": [ + "v1 = 18 # cutting speed in m/min\n", + "t1 = 3 # tool life in hours\n", + "n = 0.125 # exponent\n", + "c = v1*(t1*60)**n # constant\n", + "v2 = 24 # cutting speed in m/min\n", + "t = (c/v2)**(1/0.125) # tool life in min.\n", + "print \"Tool life = %d min.\"%(t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.2 : page 564" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cutting speed = 56.5 m/min.\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "c_t = 8 # tool change time in min.\n", + "r_t = 5 # tool re-grind time in min.\n", + "mr_c = 5 # machine running cost per hour\n", + "d = 30 # total depreciation per re-grind in paisa\n", + "n = 0.25 # exponent\n", + "c = 150 # constant\n", + "c_c = mr_c*c_t/60 # total change cost in Rs\n", + "r_c = mr_c*r_t/60 # regrind cost in Rs\n", + "ct = c_c+r_c+d/100 # tooling cost in Rs\n", + "cm = mr_c/60 # machining cost in Rs\n", + "v = c*((cm*n)/(ct*(1-n)))**n # cutting speed in m/min.\n", + "print \"Cutting speed = %0.1f m/min.\"%(v) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.3 : page 564" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drawing load = 14.262 kN\n", + "Power rating of motor = 9.27 kW\n", + "Shear angle = 31.27 degree\n", + "Friction angle = 31.82 degree\n", + "Shear stress = 236.1 N/mm**2\n", + "Cutting power = 1.134 kw \n", + "Chip velocity = 1.114 m/s\n", + "shear strain = 2.036\n", + "Shear strain rate = 86386.645 s**-1\n" + ] + } + ], + "source": [ + "from math import pi, tan, atan, cos, sin\n", + "mu1 = 0.15 # coefficient of friction \n", + "mu2 = 0.18 # coefficient of fricton\n", + "alpha = 14 # angle of contact in degree\n", + "alpha = alpha*pi/180\n", + "bita = 10 # semi-cone angle in degree\n", + "bita = bita*pi/180\n", + "sigma_0 = 1.40 # kN/mm**2\n", + "h0 = 1.5 #mm\n", + "h1 = 1 # mm\n", + "B = (mu1+mu2)/(tan(alpha)+tan(bita))\n", + "sigmad = (sigma_0*(1+B)*(1-(h1/h0)**B))/B # drawing stress in kN/mm**2\n", + "d1 = 11 # outside diameter in mm\n", + "t = 1 # thickness in mm\n", + "d2 = d1-t # mm\n", + "a = (pi*((d1)**2-(d2)**2))/4 # area in mm**2\n", + "l = sigmad*a # load in kN\n", + "s = 0.65 # drawing speed in m/s\n", + "w = l*s # work in kJ/s\n", + "p = w # power in kW\n", + "print \"Drawing load = %0.3f kN\\nPower rating of motor = %0.2f kW\"%(l , p)\n", + "t = 0.127 # uncut chip thickness in mm\n", + "b = 6.35 # width of cut in mm\n", + "v = 2 # cutting speed in m/s\n", + "alpha = 10 # rake angle in degrees\n", + "fc = 567 # cutting force in N\n", + "ft = 227 # thrust force in N\n", + "tc = 0.228 # chip thickness in mm\n", + "r = t/tc # chip thickness ratio\n", + "alpha = alpha*pi/180 # rake angle in radians\n", + "phi = atan(r*cos(alpha)/(1-(r*sin(alpha)))) # shear angle \n", + "phi1 = phi*180/pi # shear angle\n", + "print \"Shear angle = %0.2f degree\"%(phi1) \n", + "mu =((fc*sin(alpha)+ft*cos(alpha))/(fc*cos(alpha)-ft*sin(alpha))) #coefficient of friction\n", + "bita = atan(mu) # friction angle\n", + "bita = bita*180/(pi)\n", + "print \"Friction angle = %0.2f degree\"%(bita )\n", + "fs = fc*cos(phi)-ft*sin(phi) #shear force in N\n", + "taus = (fs*sin(phi))/(b*t) # shear stress\n", + "print \"Shear stress = %0.1f N/mm**2\"%(taus)\n", + "cp = fc*v/1000 # cutting power in kw\n", + "print \"Cutting power = %0.3f kw \"%(cp)\n", + "vc = v*r # chip velocity in m/s\n", + "print \"Chip velocity = %0.3f m/s\"%(vc)\n", + "ss = 1/tan(phi) + tan(phi-alpha) # shear strain\n", + "print \"shear strain = %0.3f\"%(ss)\n", + "spl = t/sin(phi) # shear plane length\n", + "vs = v*cos(alpha)/cos(phi-alpha) # shear velocity\n", + "S = vs*10/spl # shear strain rate\n", + "S = S*10**3 # shear strain rate\n", + "print \"Shear strain rate = %.3f s**-1\"%(S)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.4 : page 566" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "constant = 28.37 \n", + "Tool life when cutting speed increased by 20 = 14.76 min.\n", + "Tool life when feed rate increased by 20 = 20.38 min.\n", + "Tool life when depth of cut increased by 20 = 35.71 min.\n", + "Tool life when all taken together after increasing by 20 = 2.98 min.\n" + ] + } + ], + "source": [ + "v = 30 # cutting speed in m/min\n", + "feed = 0.3 # feed rate in mm/rev.\n", + "d = 2.5 # depth of cut in mm\n", + "t = 60 # tool life in min.\n", + "c = v*t**0.13*feed**0.77*d**0.37 # constant\n", + "print \"constant = %0.2f \"%(c)\n", + "v2 = v*1.2 # cutting speed in m/min \n", + "t2 = (c/(v2*feed**0.77*d**0.37)) # tool life when cutting speed increased by 20% in min.\n", + "t2 = t2**(1/0.13)\n", + "f2 = feed*1.2 # feed rate in mm/rev.\n", + "t3 = (c/(v*d**0.37*f2**0.77)) # tool life when feed rate increased by 20% in min.\n", + "t3 = t3**(1/0.13)\n", + "d2 = d*1.2 # depth of cut in mm\n", + "t4 = (c/(v*feed**0.77*d2**0.37)) # tool life when depth of cut increased by 20% in min.\n", + "t4 = t4**(1/0.13)\n", + "t5 = (c/(v2*d2**0.37*f2**0.77)) # tool lfe in min.\n", + "t5 = t5**(1/0.13)\n", + "print \"Tool life when cutting speed increased by 20 = %0.2f min.\"%(t2)\n", + "print \"Tool life when feed rate increased by 20 = %0.2f min.\"%(t3)\n", + "print \"Tool life when depth of cut increased by 20 = %0.2f min.\"%(t4)\n", + "print \"Tool life when all taken together after increasing by 20 = %0.2f min.\"%(t5)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.5 : page 567" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Force of shear at shear plane = 813.80 N\n", + "Friction angle = 0.430 degree\n" + ] + } + ], + "source": [ + "from math import atan, cos, sin, pi\n", + "t = 0.25 # uncut chip thickness in mm\n", + "b = 2.5 # width of cut in mm\n", + "v = 2.5 # cutting speed in m/s\n", + "alpha = 10 # rake angle in degrees\n", + "fc = 1130 # cutting force in N\n", + "ft = 295 # thrust force in N\n", + "tc = 0.45 # chip thickness in mm\n", + "r = t/tc # chip thickness ratio\n", + "alpha = alpha*pi/180 # rake angle in radians\n", + "phi = atan((r*cos(alpha))/(1-r*sin(alpha))) # shear angle \n", + "phi2 = phi*180/pi # shear angle\n", + "fs = fc*cos(phi) - ft*sin(phi) #shear force in N\n", + "print \"Force of shear at shear plane = %0.2f N\"%(fs)\n", + "mu = atan((fc*sin(alpha)+ft*cos(alpha))/(fc*cos(alpha)-ft*sin(alpha))) #friction anglele\n", + "print \"Friction angle = %0.3f degree\"%(mu )\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.6 : page 568" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cutting ratio = 0.323\n", + "Chip reduction co-efficient = 3.1\n", + "Shear angle = 18.78 degree\n", + "shear strain = 3.276\n" + ] + } + ], + "source": [ + "from math import cos, atan, pi, tan\n", + "t = 0.2 # uncut chip thickness in mm\n", + "alpha = 15 # rake angle in degrees\n", + "tc = 0.62 # chip thickness in mm\n", + "r = t/tc # chip thickness ratio\n", + "crc = 1/r # chip reduction coefficient\n", + "print \"Cutting ratio = %0.3f\\nChip reduction co-efficient = %0.1f\"%(r , crc)\n", + "alpha = alpha*pi/180 # rake angle in radians\n", + "phi = atan(r*cos(alpha)/(1-r*sin(alpha))) # shear angle \n", + "phi = phi*180/pi # shear angle\n", + "print \"Shear angle = %0.2f degree\"%(phi) \n", + "ss = 1/tan(phi*pi/180) + tan((phi*pi)/180-(alpha*pi)/180) # shear strain\n", + "print \"shear strain = %0.3f\"%(ss)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.7 : page 568" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " n = 0.224\n", + " C = 68.4\n", + " Cutting speed = 27.37 m/min.\n" + ] + } + ], + "source": [ + "from math import log\n", + "v1 = 25 # cutting speed in m/min\n", + "t1 = 90 # tool life in min.\n", + "v2 = 35 # cutting speed in m/min\n", + "t2 = 20 # tool life in min\n", + "n = log(v2/v1)/log(t1/t2) # exponent\n", + "C = v1*(t1)**n # constant\n", + "t = 60 # tool life in min.\n", + "v = C/(t)**n # cutting speed in m/min.\n", + "print \" n = %0.3f\\n C = %0.1f\\n Cutting speed = %0.2f m/min.\"%(n , C,v)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.8 : page 569" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tangential force on tool face = 858 N\n", + " normal force on tool face = 1225.0 N\n" + ] + } + ], + "source": [ + "from math import ceil, cos, sin, atan, tan\n", + "t = 0.5 # uncut chip thickness in mm\n", + "b = 3 # width of cut in mm\n", + "alpha = 15 # rake angle in degrees\n", + "alpha = alpha*pi/180 # rake angle in radians\n", + "r = 0.383 # chip thickness ratio\n", + "mu = 0.7 # average coefficient of friction on tool face\n", + "bita = atan(mu) # friction angle\n", + "tau = 280 # yield stress in N/mm**2\n", + "phi = atan((r*cos(alpha))/(1-r*sin(alpha))) # shear angle \n", + "fc = (tau*b*t)/(1/cos(bita-alpha)*cos(phi+bita-alpha)*sin(phi)) # cutting force in N\n", + "ft = (fc*(mu-tan(alpha)))/(1+mu*tan(alpha)) # thrust force in N\n", + "F = fc*sin(alpha)+ft*cos(alpha) # tangential force on tool face in N\n", + "F = ceil(F)\n", + "N = fc*cos(alpha)-ft*sin(alpha) # normal force on tool face in N\n", + "print \" Tangential force on tool face = %d N\\n normal force on tool face = %0.1f N\"%(F,N)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.9 : page 570" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cutting force= 2034.3 N\n", + " Thrust force = 524.3 N\n" + ] + } + ], + "source": [ + "from math import sqrt, cos, sin, tan, pi,atan\n", + "t = 0.25 # uncut chip thickness in mm\n", + "b = 0.5 # width of cut in cm\n", + "v = 8.2 # cutting speed in m/min.\n", + "alpha = 20 # rake angle in degrees\n", + "alpha2 = alpha*pi/180 # rake angle in radians\n", + "r = 0.351 # cutting ratio\n", + "phi = atan(r*cos(alpha2)/(1-r*sin(alpha2))) # shear angle in radians\n", + "phi2 = phi*180/pi # shear angle in degrees\n", + "alpha2 = alpha*pi/180 # rake angle in radians\n", + "bita = 35+alpha-phi2 # degrees\n", + "s = 1/tan(phi) + tan(phi-alpha2) # shear strain\n", + "e = s/sqrt(3) # natural strain\n", + "sigma = 784*(e)**0.15 # tensile property in N/mm**2\n", + "tau = sigma/sqrt(3) # yield shear stress in N/mm**2\n", + "As = (b*10*t)/sin(phi) # shear plane area in mm**2\n", + "Fs = tau*As # shear gorce in N\n", + "R = Fs/cos(phi+(bita*pi/180)-alpha2)\n", + "Fc = R*cos((bita*pi/180)-alpha2) # cutting force in N\n", + "Ft = R*sin((bita*pi/180)-alpha2) # thrust force in N\n", + "print \" Cutting force= %0.1f N\\n Thrust force = %0.1f N\"%(Fc , Ft)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.10 : page 571" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Shear force = 987 N\n", + " Normal force = 1519.2 N\n", + " Friction force = 1114.9 N\n", + " Kinetic coefficient of friction = 0.781\n", + " Specific cutting energy = 4000 N/mm**2\n" + ] + } + ], + "source": [ + "from math import pi, atan, cos, sin, tan\n", + "f = 0.2 # feed in mm/rev.\n", + "t = 0.2 # uncut chip thickness in mm\n", + "alpha = 10 # rake angle in degrees\n", + "fc = 1600 # cutting force in N\n", + "ft = 850 # thrust force in N\n", + "tc = 0.39 # chip thickness in mm\n", + "r = t/tc # chip thickness ratio\n", + "d = 2 # depth of cut in mm\n", + "b = 2 # mm\n", + "alpha2 = alpha*pi/180 # rake angle in radians\n", + "phi = atan(r*cos(alpha2)/(1-r*sin(alpha2))) # shear angle in radians\n", + "phi2 = phi*180/pi # shear angle in degree\n", + "fs = fc*cos(phi)-ft*sin(phi) #shear force in N\n", + "fn = fc*sin(phi)+ft*cos(phi) # normal force in N\n", + "f = fc*sin(alpha2)+ft*cos(alpha2) # friction force in N\n", + "mu =((fc*tan(alpha2)+ft)/(fc-ft*tan(alpha2))) #kinetic coefficient of friction\n", + "s = fc/(b*t) # specific cutting energy in N/mm**2\n", + "print \" Shear force = %d N\\n Normal force = %0.1f N\\n Friction force = %0.1f N\\n Kinetic coefficient of friction = %0.3f\"%(fs , fn ,f , mu)\n", + "print \" Specific cutting energy = %d N/mm**2\"%(s)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.11 : page 572" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Centre line average roughness = 43.13*10**-6m\n" + ] + } + ], + "source": [ + "from math import sqrt, pi, sin, cos\n", + "cs = 20 # side cutting edge angle in degree\n", + "ce = 30 # end cutting edge angle in degree\n", + "f = 0.1 # feed in mm/rev.\n", + "r = 3 # nose radius in mm\n", + "cs2 = cs*pi/180 # side cutting edge angle in radians\n", + "ce2 = ce*pi/180 # end cutting edge angle in radians\n", + "h = (1-cos(ce2))*r + f*sin(ce2)*cos(ce2) - sqrt((2*f*r*(sin(ce2))**3)-((f**2)*(sin(ce2))**4))\n", + "Ra = h/4 # Centre line average roughness in mm\n", + "print \"Centre line average roughness = %0.2f*10**-6m\"%(Ra*10**3)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.12 : page 572" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Back rake angle = 2.61 degree\n", + " Side rake angle = 9.67 degree\n" + ] + } + ], + "source": [ + "from math import atan, cos, tan, pi, sqrt\n", + "i = 0 # inclination angle in degree\n", + "alpha = 10 # orthogonal rake angle in degree\n", + "lemda = 75 # principal cutting edge angle in degree\n", + "alpha = alpha*pi/180 # orthogonal rake angle in radian\n", + "lemda = lemda*pi/180 # principal cutting edge angle in radian\n", + "alpha_b = atan(cos(lemda)*tan(alpha)+sin(lemda)*tan(i)) #back rake angle in radians\n", + "alpha_b = alpha_b*180/pi # back rake angle in degree\n", + "alpha_s = atan(sin(lemda)*tan(alpha)-cos(lemda)*tan(i)) # side rake angle in radians\n", + "alpha_s = alpha_s*180/pi # side rake angle in degree\n", + "print \" Back rake angle = %0.2f degree\\n Side rake angle = %0.2f degree\"%(alpha_b,alpha_s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.13 : page 572" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Othogonal rake angle = 5.93 degree\n", + " Inclination angle = 6.7 degree\n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin\n", + "alphab = 8 # back rake in degree\n", + "alphas = 4 # side rake in degree\n", + "cs = 15 # side cutting edge angle in degree\n", + "lemda = 90 - cs # approach angle in degree\n", + "alphab = alphab*pi/180 # back rake in radian\n", + "alphas = alphas*pi/180 # side rake in radian\n", + "cs = cs*pi/180 # side cutting edge angle in radian\n", + "lemda = lemda*pi/180 # approach angle in radian\n", + "alpha = atan(tan(alphas)*sin(lemda)+tan(alphab)*cos(lemda)) # orthogonal rake angle in radian\n", + "alpha = alpha*180/pi # orthogonal rake angle in degree\n", + "i = atan(sin(lemda)*tan(alphab)-cos(lemda)*tan(alphas)) # inclnation angle in radian\n", + "i = i*180/pi # inclnation angle in degree\n", + "print \" Othogonal rake angle = %0.2f degree\\n Inclination angle = %0.1f degree\"%(alpha , i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.14 : page 573" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cutting power = 0.553 kw\n", + " Motor power = 0.65 kw\n", + " Specific cutting resistance = 1726.90 N/mm**2\n", + " Unit power = 1.727 W/(mm**3)*s\n" + ] + } + ], + "source": [ + "cs = 15 # side cutting edge angle in degree\n", + "v = 0.2 # cutting speed in m/s\n", + "f = 0.5 # feed rate in mm/rev.\n", + "d = 3.2 # depth of cut in mm\n", + "fc = 1593*(f)**0.85*(d)**0.98 # cutting force in N\n", + "pc = fc*v/1000 # cutting power in kw\n", + "ita_mt = 0.85 # efficiency of lathe\n", + "pm = pc/ita_mt # motor power in kw\n", + "a = f*d # area of uncut chio in mm**2\n", + "r = fc/a # specific cutting resistance in N/mm**2\n", + "p = pc/(a*v)# unit power in W/(mm**3)*s\n", + "print \" Cutting power = %0.3f kw\\n Motor power = %0.2f kw\\n Specific cutting resistance = %0.2f N/mm**2\\n Unit power = %0.3f W/(mm**3)*s\"%(pc,pm,r,p)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.15 : page 574" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percentage increase = 300 percent\n" + ] + } + ], + "source": [ + "C = 400\n", + "n=0.5\n", + "a=2 # (T1/T2)**n\n", + "b=2**(1/n) # T2\n", + "i = (b-1)*100 # percentage increase\n", + "print \"Percentage increase = %d percent\"%(i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.16 : page 574" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The percentage of total energy that goes into overcoming friction at tool chip interface = 31.48 percent\n" + ] + } + ], + "source": [ + "from math import acos, sin, pi, sqrt\n", + "t = 0.127 # uncut chip thickness in mm\n", + "b = 6.35 # width of cut in mm\n", + "v = 1.20 # cutting speed in m/min.\n", + "alpha = 10 # rake angle in degrees\n", + "fc = 556.25 # cutting force in N\n", + "ft = 222.50 # thrust force in N\n", + "tc = 0.229 # chip thickness in mm\n", + "r = t/tc # chip thickness ratio\n", + "R = sqrt((fc**2)+(ft**2))\n", + "bita = (acos(fc/R)) + alpha*pi/180 #\n", + "f = R*sin(bita) # \n", + "fe = f*r # friction energy\n", + "p = (f*r*100)/fc # percentage of fricton enrgy and total energy \n", + "print \"The percentage of total energy that goes into overcoming friction at tool chip interface = %0.2f percent\"%(p)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.17 : page 575" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Power consumption = 1.31 W\n", + " Specific cutting energy = 3.08 W*s/mm**3\n", + " Energy consumed = 2.141 kWh\n" + ] + } + ], + "source": [ + "from math import pi\n", + "D = 300 # diameter in mm\n", + "r = 45 # rev/min.\n", + "d = 2 # depth of cut in mm\n", + "f = 0.3 # feed in mm/rev\n", + "fc = 1850 # cutting force in N\n", + "ff = 450 # feed force in N\n", + "V = 2.5*10**6 # metal removed in mm\n", + "v = (pi*D*r)/(60*1000) # cutting velocity in m/s\n", + "pc = fc*v/1000 # cutting power in kW\n", + "fv = f*r/60*1000 # feed velocity in m/s\n", + "fp = fv*ff # feed power in W\n", + "mrr = d*f*v*60*1000 # mm**3/min.\n", + "ce = pc*1000*60/mrr # specific cutting energy in W*s/mm**2\n", + "E = ce*V/(3600*1000) # energy consumed\n", + "print \" Power consumption = %0.2f W\\n Specific cutting energy = %0.2f W*s/mm**3\\n Energy consumed = %0.3f kWh\"%(pc,ce,E)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 14.18 : page 576" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cutting force = 247 N\n", + " Thrust force = -2.546 N\n", + " Feed force = -2.2 N\n", + " Radial force = -1.273 N\n", + " Cutting power = 388 watts\n" + ] + } + ], + "source": [ + "from math import atan, degrees, sin, cos, tan\n", + "D = 100 # diameter in mm\n", + "cs = 30 # side cutting edge angle in degree\n", + "lemda = 90 - cs # approach angle in degree\n", + "d = 2.5 # depth of cut in mm\n", + "f = 0.125 # feed in mm/rev.\n", + "N = 300 # turning speed of job in rev./min.\n", + "mu = 0.6 # coefficient of friction\n", + "tau = 400 # ultimate shear stress in Mpa\n", + "bita = degrees(atan(mu)) # friction angle in radian\n", + "alphas = 10 # side rake angle\n", + "alphab = 6 # back rake angle\n", + "alpha = degrees(atan(tan(alphas))*sin(lemda*pi/180)+tan(alphab*pi/180)*cos(lemda*pi/180)) # orthogonal rake angle in degree\n", + "phi = 45 - ( bita - alpha) # shear angle\n", + "Fc = tau*d*f/(1/cos((bita-alpha)*pi/180)*cos((phi+bita-alpha)*pi/180)*sin(phi*pi/180)) # cutting force in N\n", + "Ft = Fc*tan((bita-alpha)*pi/180) # thrust component in N\n", + "Ff = Ft*sin(lemda*pi/180) # feed force along axis of job in N\n", + "Rf = Ft*cos(lemda*pi/180) # radial force normal to axis of job in N\n", + "v = pi*D*N/(1000*60) # velocity in m/s\n", + "p = Fc*v # power in watts\n", + "print \" Cutting force = %d N\\n Thrust force = %0.3f N\\n Feed force = %0.1f N\\n Radial force = %0.3f N\\n Cutting power = %d watts\"%(Fc,Ft,Ff,Rf,p)\n", + "# 'Answers vary due to round off error'" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter15_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter15_2.ipynb new file mode 100644 index 00000000..fb5ce8c5 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter15_2.ipynb @@ -0,0 +1,410 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 15 : Design & Manufacture of Cutting Tools" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.1 : page 597" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Horsepower at cutter = 20.60\n", + " Horsepower at motor = 34.34\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "w = 10 # width of cut in cm\n", + "h = 0.32 # depth of cut in cm\n", + "n = 8 # number of teeth in cutter\n", + "ft = 0.033 # feed rate per tooth\n", + "N = 200 # cutter speed in rpm\n", + "ita = 60/100 # efficiency\n", + "f = n*ft*N # feed rate in cm/min.\n", + "mrr = w*h*f # metal removal rate in cm**3/min.\n", + "k = 8.2 # machinibility factor from table 15.3\n", + "hpc = mrr/k # horsepower at cutter\n", + "hpm = hpc/ita # horsepower at motor\n", + "print \" Horsepower at cutter = %0.2f\\n Horsepower at motor = %0.2f\"%(hpc , hpm)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.2 : page 603" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " MRR = 2666.67 mm**3/s\n", + " Cutting power = 16000 watts\n", + " Torque = 1527.89 N.m\n", + " Cutting time = 37.5s\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "l = 300 # length in mm\n", + "w = 100 # width in mm\n", + "f = 0.25 # feed in mm/tooth\n", + "d = 3.2 # depth of cut in mm\n", + "D = 50 # cutter diameter in mm\n", + "n = 20 # number of cutter teeth\n", + "N = 100 # cutter speed in rev./min.\n", + "tf = f*n*N # table feed in mm/min.\n", + "mrr = w*d*tf # metal removal rate in mm**3/min.\n", + "mrr = mrr/60 # mm**3/s\n", + "p = 6*mrr # cutting power from table 14.2 in watts\n", + "omega = 2*pi*N/60 # rpm\n", + "T = p/omega # torque in N.m\n", + "att = sqrt((D*d)-(d**2)) # added table travel in mm\n", + "t = (l+att)/tf # cutting time in min.\n", + "t = t*60 # s\n", + "print \" MRR = %0.2f mm**3/s\\n Cutting power = %d watts\\n Torque = %0.2f N.m\\n Cutting time = %0.1fs\"%(mrr,p,T,t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.3 : page 610" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(i)Broaching power = 0.1355 kW\n", + "(ii) Broach Design\n", + "(a) Pitch diameter = 10.35mm\n", + " (b) width of land = 3.11 mm \n", + " depth of cutting teeth = 4.14 mm\n", + " Tooth fillet radius= 3.11 mm\n", + "(c) Length of toothed portion of broach = 124 mm\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "l = 35 # length of bore in mm\n", + "v = 0.15 # cutting speed in m/s\n", + "t1 = 0.01 # upper limit in mm\n", + "t2 = 0.05 # upper limit in mm\n", + "D = 32.25 # finished broach in mm\n", + "D1 = 32.25+t2 # mm\n", + "d = 32.75 # finish diameter in mm\n", + "d1 = 32.75 + t1 #finish diameter of hole in mm\n", + "s = 0.05 # mm\n", + "B = 1.30 # blunt broach factor\n", + "c = 45 # specific cutting force in N/mm**2\n", + "n = 3 # number of teeth cutting at a time\n", + "F = n*pi*d1*s*c*B # force needed for broaching in N\n", + "bp = F*v/1000 # Broaching power in kw\n", + "# broach design\n", + "p = 1.75*sqrt(l) # pitch in mm\n", + "theta = 10 # face angle in degree\n", + "alha1 = 1.5 # relief angle for roughing in degree\n", + "alha2 = 1.0 # relief angle for finishing in degree\n", + "w = 0.3*p # width of land in mm\n", + "h = 0.4*p # depth of cutting teeth in mm\n", + "r = 0.3*p # tooth fillet radius in mm\n", + "T = (d1-D1)/2 # mm\n", + "n = T/s # number of cutting teeth\n", + "n = round(n)\n", + "l = (n+7)*p #length of toothed portion of broach in mm\n", + "print \"(i)Broaching power = %0.4f kW\"%bp\n", + "print \"(ii) Broach Design\"\n", + "print \"(a) Pitch diameter = %0.2fmm\\n (b) width of land = %0.2f mm \\n depth of cutting teeth = %0.2f mm\\n Tooth fillet radius= %0.2f mm\"%(p,w,h,r)\n", + "print \"(c) Length of toothed portion of broach = %d mm\"%(l)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.4 : page 616" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Moment = 1024.2 kgf-mm\n", + " Power = 0.097 hp\n", + " Average force = 284 kgf\n", + " Thrust force = 253.4 kgf\n" + ] + } + ], + "source": [ + "from math import pi\n", + "Hb = 200 # brinell hardness\n", + "d = 12.7 # diameter in mm\n", + "f = 0.254 # feed in mm/rev.\n", + "N = 100 # rpm\n", + "M = (Hb*(d)**2*f)/8 #moment in kgf-mm\n", + "k = 1.1 #material factor\n", + "p = (1.25*(d)**2*k*N*(0.056+1.5*f))/(10)**5 # power in kW\n", + "T1a = (1.7*M)/d # thrust force kgf\n", + "T1b = (3.5*M)/d # kgf\n", + "T1 = (T1a+T1b)/2 # average\n", + "w = 0.14*d # thickness in mm\n", + "T2a = (0.1*pi*(w)**2*Hb)/4 # thrust force kgf\n", + "T2b = (0.2*pi*(w)**2*Hb)/4 # thrust force kgf\n", + "T2 = (T2a+T2b)/2 # average\n", + "avg = T1+T2 # kgf\n", + "thrust = 1.16*k*d*(100*f)**0.85 # kgf\n", + "print \" Moment = %0.1f kgf-mm\\n Power = %0.3f hp\\n Average force = %d kgf\\n Thrust force = %0.1f kgf\"%(M, p ,avg , thrust)\n", + "# Error in textbook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.5 : page 617" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 Diameter of reamer \n", + " Maximum diameter of reamer = 55.030 mm \n", + " Minimum diameter of reamer = 55.017 mm \n", + " 2 Back taper = 0.05 mm \n", + " 3 Values of various angles \n", + " Rake angle = 5 degree \n", + " Plan approach angle = 45 degree \n", + " Circular land = 0.25 to 0.50 mm \n", + " Secondary clearance angle = 10 degree \n", + " 4 Length of reamer \n", + " Length of fluted portion = 82.5 mm \n", + " Length of reaming allowance = 0.18 mm \n", + " Length of cutting section = 2.25 mm \n", + " Length of guiding section = 16 mm \n", + " 5 Number of teeth = 14\n" + ] + } + ], + "source": [ + "from math import ceil, sqrt\n", + "d = 55 # diameter in mm\n", + "ul = 0.035 # upper limit in mm\n", + "ll = 0.000 # lower limit in mm\n", + "Dmax = d+ul # maximum diameter of hole in mm\n", + "Dmin = d+ll # minimum diameter of hole in mm\n", + "IT = 0.035 # hole tolerence in mm\n", + "dmax = Dmax-0.15*IT # maximum diameter of reamer in mm\n", + "dmin = dmax-0.35*IT # minimum diameter of reamer in mm\n", + "l = ((d/4)+(d/3))/2 # length of guiding section in mm\n", + "Z = 1.5*sqrt(d)+2 # number of teeth\n", + "Z = ceil(Z)\n", + "print \"1 Diameter of reamer \\n Maximum diameter of reamer = %0.3f mm \\n Minimum diameter of reamer = %0.3f mm \\n 2 Back taper = 0.05 mm \\n 3 Values of various angles \\n Rake angle = 5 degree \\n Plan approach angle = 45 degree \\n Circular land = 0.25 to 0.50 mm \\n Secondary clearance angle = 10 degree \\n 4 Length of reamer \\n Length of fluted portion = 82.5 mm \\n Length of reaming allowance = 0.18 mm \\n Length of cutting section = 2.25 mm \\n Length of guiding section = %d mm \\n 5 Number of teeth = %d\"%(dmax,dmin,l,Z) \n", + "# Answer vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.8 : page 629" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The width of shank = 14.0 mm\n", + " Height of shank = 22.45 mm\n", + " Shank overhang = 28.1 mm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "Pm = 10 # power of motor in kw\n", + "v = 40 # cutting speed in m/min.\n", + "ita = 70 # efficiency\n", + "ita = ita/100\n", + "Pc = Pm*ita \n", + "Fc = (Pc*1000*60)/v # cutting force\n", + "sigmab = 250 # stress in Mpa\n", + "B = sqrt((Fc*1.25*6)/(sigmab*1.6)) # width of shank in mm\n", + "h = 1.6*B # hieght of shank in mm\n", + "l = 1.25*h # shank overang in mm\n", + "print \" The width of shank = %0.1f mm\\n Height of shank = %0.2f mm\\n Shank overhang = %0.1f mm\"%(B,h,l)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.9 : page 630" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cutting speed = 0.27 m/s\n", + " MRR = 2025 mm**3/min.\n", + " Time to cut = 0.74 min.\n", + " Power = 115.8 watts\n", + " Cutting force = 444 N\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "l = 150 # length in mm\n", + "D = 12.70 # diameter in mm\n", + "dia = 12.19 # diameter on centre lathe in mm \n", + "N = 400 # spindle speed in rev./min\n", + "s = 203.20 # axial speed in mm/min.*####\n", + "v = (pi*D*N)/(1000*60) # cutting velocity in m/s\n", + "d = (D-dia)/2 # depth of cut in mm\n", + "f = s/N # feed in mm/rev.\n", + "Dave = (D+dia)/2 # average diameter in mm\n", + "V = pi*Dave*N\n", + "a = d*f # area of cut in mm**2\n", + "mrr = a*V # metal removal rate in mm**3/min.\n", + "T = l/(f*N) # machine timing in min.\n", + "c = 56 # constant from table \n", + "p = d*f*v*60*c # power in watts\n", + "omega = (2*pi*N)/60 # rpm\n", + "t = p/omega # torque in Nm\n", + "Fc = (2*t*1000)/Dave # cutting force in N\n", + "print \" Cutting speed = %0.2f m/s\\n MRR = %d mm**3/min.\\n Time to cut = %0.2f min.\\n Power = %0.1f watts\\n Cutting force = %d N\"%(v , mrr , T ,p ,Fc)\n", + "# Answers are given wrong in book" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 15.10 : page 630" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " MRR = 209.44 mm**3/s\n", + " Cutting power = 104.720 watts\n", + " Torque = 1.25 N.m\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "f = 0.2 # feed in mm/rev.\n", + "N = 800 # spindle speed in rev./min.\n", + "d = 10 # doameter of hole in mm\n", + "mrr = pi*(d**2)*f*N/4 # metal removal rate in mm**3/min.\n", + "mrr = mrr/60 # mm**3/s\n", + "p = 0.5*mrr # cutting power from table 14.2 in watts\n", + "omega = 2*pi*N/60 # rpm\n", + "T = p/omega # torque in N.m\n", + "print \" MRR = %0.2f mm**3/s\\n Cutting power = %0.3f watts\\n Torque = %0.2f N.m\"%(mrr,p,T\n", + " )" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter16_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter16_2.ipynb new file mode 100644 index 00000000..dfe026ea --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter16_2.ipynb @@ -0,0 +1,65 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 16 : Gear Manufacturing" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 16.1 : Page 648" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tooth thickness = 7.851 mm\n", + " Chordal addendum = 5.091 mm\n" + ] + } + ], + "source": [ + "from math import sin, pi, cos\n", + "n = 34 # number of teeths\n", + "m = 5 # module in mm\n", + "w = m*n*sin (pi/(n*2)) #tooth thickness in mm\n", + "h = m*(1+(n*(1 - cos(pi/(n*2)))/2)) # chordal addendum in mm\n", + "print \" Tooth thickness = %0.3f mm\\n Chordal addendum = %0.3f mm\"%(w ,h)\n", + "# Answers vary due to round off error" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter17_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter17_2.ipynb new file mode 100644 index 00000000..f9feefd9 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter17_2.ipynb @@ -0,0 +1,93 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 17 : Thread Manufacturing" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 17.1 : Page 670" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best wire size = 3.464 mm\n" + ] + } + ], + "source": [ + "d = 80 # outside diameter in mm\n", + "p = 6 # pitch diameter in mm\n", + "d = 0.5774*p # best wire size in mm\n", + "print \"Best wire size = %0.3f mm\"%d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 17.2 : Page 670" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Best wire size = 1.444 mm\n", + " Distance over wires = 20.541 mm\n" + ] + } + ], + "source": [ + "D = 20 # diameter in mm\n", + "p = 2.5 # pitch diameter in mm\n", + "d = 0.5774*p # mm\n", + "W = D+3*d-1.5156*p# best wire size in mm\n", + "print \" Best wire size = %0.3f mm\\n Distance over wires = %0.3f mm\"%(d, W)\n", + "# Answer vary due to round off error" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter21_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter21_2.ipynb new file mode 100644 index 00000000..6bac7e81 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter21_2.ipynb @@ -0,0 +1,661 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 21 : Statistical Quality Control" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.1 : page 740" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "control limits \n", + "For X charts \n", + " UCL = 11.40 cm \n", + " LCL = 11.10 cm\n", + " For R charts \n", + " UCl = 0.554 \n", + " LCL = 0.000\n" + ] + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbca565aa10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, title, show, xlabel, ylabel\n", + "n = 10 # number of samples\n", + "A2 = 0.577\n", + "D3 = 0\n", + "D4 = 2.115\n", + "# number of defectives\n", + "x1 = 11.274\n", + "x2 = 11.246\n", + "x3 = 11.204\n", + "x4 = 11.294\n", + "x5 = 11.252\n", + "x6 = 11.238\n", + "x7 = 11.230\n", + "x8 = 11.276\n", + "x9 = 11.208\n", + "x10 = 11.266\n", + "r1 = 0.15\n", + "r2 = 0.20\n", + "r3 = 0.33\n", + "r4 = 0.46\n", + "r5 = 0.10\n", + "r6 = 0.15\n", + "r7 = 0.20\n", + "r8 = 0.23\n", + "r9 = 0.50\n", + "r10 = 0.30\n", + "x = x1+x2+x3+x4+x5+x6+x7+x8+x9+x10\n", + "r = r1+r2+r3+r4+r5+r6+r7+r8+r9+r10\n", + "Xavg = x/n\n", + "Ravg = r/n\n", + "# for X chart\n", + "ucl1 = Xavg + A2*Ravg\n", + "lcl1 = Xavg - A2*Ravg\n", + "# for R chart\n", + "ucl2 = D4*Ravg\n", + "lcl2 = D3*Ravg\n", + "print \"control limits \\nFor X charts \\n UCL = %0.2f cm \\n LCL = %0.2f cm\\n For R charts \\n UCl = %0.3f \\n LCL = %0.3f\"%(ucl1,lcl1,ucl2,lcl2)\n", + "# X chart\n", + "x=[1,2,3,4,5,6,7,8,9,10] \n", + "y=[11.274,11.246,11.204,11.294,11.252,11.238,11.230,11.276,11.208,11.266]\n", + "subplot(211)\n", + "plot(x,y)\n", + "title(\"X chart\")\n", + "xlabel(\"Sample No.\")\n", + "ylabel(\"X\")\n", + "# R chart\n", + "z = [0.15,0.20,0.33,0.46,0.10,0.15,0.20,0.23,0.50,0.30]\n", + "subplot(212)\n", + "plot(x,z)\n", + "title(\"R chart\")\n", + "xlabel(\"Sample no.\")\n", + "ylabel( \"R\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.2 : page 741" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Control limits \n", + " Fraction defectives \n", + " UCL = 0.081\n", + " LCL = -0.0212 = 0 (-ve fraction defective is meaningless)\n", + " Percent defectives \n", + " UCL = 8.1 \n", + " LCL = -2.1 = 0 (-ve fraction defective is meaningless)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbca56400d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nOtz/Bw0zxXUEgApzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbc8bcc7050>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, xlabel, ylabel, show, title\n", + "from numpy import arange\n", + "n = 100 # total number of sub groups\n", + "s = 10 # number of samples\n", + "# number of defectives\n", + "d = [3,2,3,5,3,3,2,4,3,2]\n", + "p = sum(d) # total number of defectives\n", + "pbar = p/(n*s) # average fraction of defectives\n", + "sigmapbar = sqrt(pbar*(1-pbar)/n)\n", + "ucl1 = pbar + 3*sigmapbar\n", + "lcl1 = pbar - 3*sigmapbar\n", + "# percent defective (mean)\n", + "pbar = pbar*100\n", + "sigmap2 = sqrt(pbar*(100-pbar)/n)\n", + "ucl2 = pbar + 3*sigmap2\n", + "lcl2 = pbar - 3*sigmap2\n", + "print \" Control limits \\n Fraction defectives \\n UCL = %0.3f\\n LCL = %0.4f = %d (-ve fraction defective is meaningless)\\n Percent defectives \\n UCL = %0.1f \\n LCL = %0.1f = %d (-ve fraction defective is meaningless)\"%( ucl1,lcl1,lcl1,ucl2,lcl2,0)\n", + "\n", + "# control chart for fraction defectives\n", + "x = arange(0,10.2,1.111)\n", + "y = arange(0,0.081,0.009)\n", + "subplot(211)\n", + "plot(x, y)\n", + "title(\"Control chart for fraction defectives\")\n", + "xlabel(\"Samples\")\n", + "ylabel(\"Fraction defectives\")\n", + "show()\n", + "# control chart for percent defect\n", + "#z = linspace(0,8.1,10)\n", + "z = arange(0.8,9,0.9)\n", + "\n", + "subplot(212)\n", + "plot(x,z)\n", + "title(\"Control chart for percent defects\")\n", + "xlabel(\"Sample No.\")\n", + "ylabel(\"Percent defects\")\n", + "show()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.4 : page 742" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Proabilities for 0,1,2 and 3 defectives are : 0.819 ,0.1637, 0.0164, 0.00109\n" + ] + } + ], + "source": [ + "from math import exp, factorial\n", + "n = 1000 # number of units\n", + "s = 4 # random sample\n", + "d = 50 # defectives\n", + "z = d*s/n\n", + "pp0 = exp(-0.2)*1 # poisson probabilities for 0 defectives\n", + "pp1 = exp(-0.2)*(z) # poisson probabilities for 1 defectives\n", + "pp2 = exp(-0.2)*(z**2/factorial(2)) # poisson probabilities for 2 defectives\n", + "pp3 = exp(-0.2)*(z**3/factorial(3))# poisson probabilities for 3 defectives\n", + "print \"Proabilities for 0,1,2 and 3 defectives are : %0.3f ,%0.4f, %0.4f, %0.5f\"%(pp0,pp1,pp2,pp3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.5 : page 744" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Proabilities for 0,1,2 and 3 defectives are : 0.8145 0.1715 0.0135 0.000475\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "d = 50 # defectives\n", + "l = 1000 # lot of pieces\n", + "p = d/l # proability of an event happening\n", + "q = 1-p # proability of an event not happening\n", + "n = 4 # sample size\n", + "p0 = q**n #probabilities for 0 defectives\n", + "p1 = 4*(q)**3*p # probabilities for 1 defectives\n", + "p2 = 6*(q)**2*p**2 # probabilities for 2 defectives\n", + "p3 = 4*q*(p)**3 # probabilities for 3 defectives\n", + "print \" Proabilities for 0,1,2 and 3 defectives are : %0.4f %0.4f %0.4f %0.6f\"%(p0,p1,p2,p3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.6 : page 747" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Producers risk = 5 percent\n", + " Consumers risk = 13.07 percent\n" + ] + } + ], + "source": [ + "from math import ceil, exp\n", + "# producer's risk\n", + "n = 71 # sample size\n", + "AQL = 0.005\n", + "LTPD = 0.05\n", + "l_s = 500 # lot size\n", + "z1 = n*AQL # mean number of defects\n", + "pp1 = exp(-z1)+z1*exp(-z1) # poisson proability for 1 or less defective\n", + "alpha = (1-pp1)*100 # producer's risk\n", + "alpha = ceil(alpha)\n", + "# consumer's risk\n", + "z2 = n*LTPD # mean number of defects\n", + "pp2 = exp(-z2)+z2*exp(-z2) # poisson proability for 1 or less defective\n", + "bita = pp2*100 # consumer's risk\n", + "print \" Producers risk = %d percent\\n Consumers risk = %0.2f percent\"%( alpha,bita)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.7 : page 748" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Preliminary control limits \n", + " UCL = 0.118 \n", + " LCL = 0.013 \n", + " Revised control limits \n", + " UCL = 0.109 \n", + " LCL = 0.009\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "td1= 20 # total number of days\n", + "n1 = 200 # sample size \n", + "# number of defectives\n", + "d1 = 10 \n", + "d2 = 15\n", + "d3 = 10\n", + "d4 = 12\n", + "d5 = 11\n", + "d6 = 9\n", + "d7 = 22\n", + "d8 = 4\n", + "d9 = 12\n", + "d10 = 24\n", + "d11 = 21\n", + "d12 = 15\n", + "d13 = 8\n", + "d14 = 14\n", + "d15 = 4\n", + "d16 = 10\n", + "d17 = 11\n", + "d18 = 11\n", + "d19 = 26 \n", + "d20 = 13\n", + "d = d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+d16+d17+d18+d19+d20 # total number of defectives\n", + "p1 = d/(n1*td1) # average fraction of defectives\n", + "sigmap1 = sqrt(p1*(1-p1)/n1)\n", + "ucl1 = p1 + 3*sigmap1\n", + "lcl1 = p1 - 3*sigmap1\n", + "# revised control limits\n", + "td2 = 18 # total number of days\n", + "D = d - (d10+d19) # number of defects\n", + "p2 = D/(n1*td2)\n", + "sigmap2 = sqrt(p2*(1-p2)/n1)\n", + "ucl2 = p2 + 3*sigmap2\n", + "lcl2 = p2 - 3*sigmap2\n", + "print \" Preliminary control limits \\n UCL = %0.3f \\n LCL = %0.3f \\n Revised control limits \\n UCL = %0.3f \\n LCL = %0.3f\"%(ucl1,lcl1,ucl2,lcl2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.8 : page 750" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Preliminary control limits \n", + " UCL = 89.58 \n", + " LCL = 41.08 \n", + " Revised control limits \n", + " UCL = 86.713 \n", + " LCL = 39.121\n" + ] + } + ], + "source": [ + "from math import sqrt, exp\n", + "n1 = 15 # total number of sub groups\n", + "# number of defectives\n", + "d1 = 77\n", + "d2 = 64\n", + "d3 = 75\n", + "d4 = 93\n", + "d5 = 45\n", + "d6 = 61\n", + "d7 = 49\n", + "d8 = 65\n", + "d9 = 45\n", + "d10 = 77\n", + "d11 = 59\n", + "d12 = 54\n", + "d13 = 84\n", + "d14 = 40\n", + "d15 = 92\n", + "d = d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15 # total number of defectives\n", + "c1 = d/n1\n", + "ucl1 = c1 + 3*sqrt(c1)\n", + "lcl1 = c1 - 3*sqrt(c1)\n", + "# revised control limits\n", + "n2 = 12 # total number of sub groups\n", + "D = d - (d4+d14+d15) # number of defects\n", + "c2 = D/n2\n", + "ucl2 = c2 + 3*sqrt(c2)\n", + "lcl2 = c2 - 3*sqrt(c2)\n", + "print \" Preliminary control limits \\n UCL = %0.2f \\n LCL = %0.2f \\n Revised control limits \\n UCL = %0.3f \\n LCL = %0.3f\"%(ucl1,lcl1,ucl2,lcl2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.9 : page 750" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Preliminary control limits \n", + " For X charts \n", + " UCL = 3754.85 \n", + " LCL = 3165.15\n", + " For R charts \n", + " UCl = 1080.765 \n", + " LCL = 0.000 \n", + " Revised control limits \n", + " For X chart \n", + " UCL = 3673.686 \n", + " LCL = 3673.686\n", + " For R charts \n", + " UCl = 1012.974 \n", + " LCL = 0.000\n" + ] + } + ], + "source": [ + "n = 20 # number of samples\n", + "A = 1.342\n", + "A1 = 1.596\n", + "A2 = 0.577\n", + "d2 = 2.326\n", + "d3 = 0.864\n", + "D1 = 0\n", + "D2 = 4.918\n", + "D3 = 0\n", + "D4 = 2.115\n", + "# number of defectives\n", + "x1 = 3290\n", + "x2 = 3180\n", + "x3 = 3350\n", + "x4 = 3470\n", + "x5 = 3080\n", + "x6 = 3240\n", + "x7 = 3260\n", + "x8 = 3310\n", + "x9 = 3640\n", + "x10 = 4110\n", + "x11 = 3220\n", + "x12 = 3590\n", + "x13 = 4270\n", + "x14 = 4040\n", + "x15 = 3580\n", + "x16 = 3500\n", + "x17 = 3570\n", + "x18 = 3560\n", + "x19 = 2740\n", + "x20 = 3200\n", + "r1 = 560\n", + "r2 = 410\n", + "r3 = 200\n", + "r4 = 300\n", + "r5 = 90\n", + "r6 = 650\n", + "r7 = 890\n", + "r8 = 410\n", + "r9 = 1120\n", + "r10 = 520\n", + "r11 = 580\n", + "r12 = 670\n", + "r13 = 480\n", + "r14 = 250\n", + "r15 = 170\n", + "r16 = 670\n", + "r17 = 440\n", + "r18 = 660\n", + "r19 = 560\n", + "r20 = 590\n", + "x = x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20\n", + "r = r1+r2+r3+r4+r5+r6+r7+r8+r9+r10+r11+r12+r13+r14+r15+r16+r17+r18+r19+r20\n", + "Xavg = x/n\n", + "Ravg = r/n\n", + "# for X chart\n", + "ucl1 = Xavg + A2*Ravg\n", + "lcl1 = Xavg - A2*Ravg\n", + "# for R chart\n", + "ucl2 = D4*Ravg\n", + "lcl2 = D3*Ravg\n", + "# Revised control limits\n", + "n1 = 15\n", + "n2 = 19\n", + "X = (x - (x5+x10+x13+x14+x19))/n1\n", + "R = (r - (r9))/n2\n", + "# for X chart\n", + "ucl3 = X + A2*R\n", + "lcl3 = X - A2*R\n", + "# for R chart\n", + "ucl4 = D4*R\n", + "lcl4 = D3*R\n", + "print \" Preliminary control limits \\n For X charts \\n UCL = %0.2f \\n LCL = %0.2f\\n For R charts \\n UCl = %0.3f \\n LCL = %0.3f \\n Revised control limits \\n For X chart \\n UCL = %0.3f \\n LCL = %0.3f\\n For R charts \\n UCl = %0.3f \\n LCL = %0.3f\"%(ucl1,lcl1,ucl2,lcl2,ucl3,ucl3,ucl4,lcl4)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 21.10 : page 752" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Producers risk = 26.42 percent\n", + " Consumers risk = 9.158 percent\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fbca5640250>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from math import exp\n", + "%matplotlib inline\n", + "from matplotlib import pyplot as plt\n", + "\n", + "n = 50 # sample size\n", + "rn = 2 # rejection number\n", + "AQL = 0.02\n", + "LTPD = 0.08\n", + "# Producer's risk\n", + "z1 = n*AQL # mean number of defectives\n", + "pp1 = exp(-z1)+z1*exp(-z1) # poisson proability for 1 or less defective\n", + "alpha = (1-pp1)*100 # producer's risk\n", + "# consumer's risk\n", + "z2 = n*LTPD # mean number of defectives\n", + "bita = (exp(-z2)+z2*exp(-z2))*100 # consumer's risk\n", + "d1 = 1 # incoming defective in percent\n", + "z3 = n*d1/100 # average number of defective\n", + "ppa1 = exp(-z3)+z3*exp(-z3) # proability of acceptance\n", + "ppa1 = ppa1*100\n", + "ppr1 = 100-ppa1 # proability of rejection\n", + "AOQ1 = ppr1*0 + ppa1*d1/100\n", + "d2 = 2 # incoming defective in percent\n", + "z4 = n*d2/100 # average number of defective\n", + "ppa2 = exp(-z4)+z4*exp(-z4) # proability of acceptance\n", + "ppa2 = ppa2*100\n", + "ppr2 = 100-ppa2 # proability of rejection\n", + "AOQ2 = ppr2*0 + ppa2*d2/100\n", + "d3 = 4 # incoming defective in percent\n", + "z5 = n*d3/100 # average number of defective\n", + "ppa3 = exp(-z5)+z5*exp(-z5) # proability of acceptance\n", + "ppa3 = ppa3*100\n", + "ppr3 = 100-ppa3 # proability of rejection\n", + "AOQ3 = ppr3*0 + ppa3*d3/100\n", + "d4 = 6 # incoming defective in percent\n", + "z6 = n*d4/100 # average number of defective\n", + "ppa4 = exp(-z6)+z6*exp(-z6) # proability of acceptance\n", + "ppa4 = ppa4*100\n", + "ppr4 = 100-ppa4 # proability of rejection\n", + "AOQ4 = ppr4*0 + ppa4*d4/100\n", + "d5 = 8 # incoming defective in percent\n", + "z7 = n*d5/100 # average number of defective\n", + "ppa5 = exp(-z7)+z7*exp(-z7) # proability of acceptance\n", + "ppa5 = ppa5*100\n", + "ppr5 = 100-ppa5 # proability of rejection\n", + "AOQ5 = ppr5*0 + ppa5*d5/100\n", + "print \" Producers risk = %0.2f percent\\n Consumers risk = %0.3f percent\"%( alpha,bita)\n", + "x = [1,2,4,6,8]\n", + "y = [0.91,1.4716,1.624,1.194,0.733]\n", + "plt.plot(x,y)\n", + "plt.title(\"AOQ curve\")\n", + "plt.xlabel(\"Percent dectives\")\n", + "plt.ylabel(\"AOQ of lot\")\n", + "plt.show()\n", + "\n", + "\n", + " " + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter22_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter22_2.ipynb new file mode 100644 index 00000000..2adcccd0 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter22_2.ipynb @@ -0,0 +1,365 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 22 : Kinematics of Machine Tools" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 22.2 : page 778" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Spindle Speeds are :\n", + "159\t227\t325\t466\t667\t954\t" + ] + }, + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f9fb8a4de50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Range of cutting speed for 12 mm diameter = 11.5 m/min.\n", + " Range of cutting speed for 36 mm diameter = 10.5 m/min.\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "import numpy as np\n", + "from math import pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, show, title, text, xlabel, ylabel\n", + "\n", + "d1 = 10 # min. dia of cutter in mm\n", + "d2 = 60 # max. dia of cutter in mm\n", + "v = 30e3 # operating speed in mm/min\n", + "z= 6 # required speeds\n", + "nmin = v / (pi * d2) # n_min in rpm\n", + "nmax = v / (pi * d1) # n_max in rpm\n", + "phi = (nmax / nmin)**(1/(z-1))\n", + "spindle_speeds = [1]*6 # initializing\n", + "print \"Spindle Speeds are :\" \n", + "for i in range(0,6):\n", + " spindle_speeds[i] = (phi**i)*nmin\n", + " print '%d\\t'%spindle_speeds[i],\n", + " \n", + "\n", + "cutter_dia = [1]*6 # initializing\n", + "for i in range(0,6):\n", + " cutter_dia[i] = (v/pi)/spindle_speeds[i]\n", + "y = [0,v/1e3]\n", + "plot([0,cutter_dia[0]], y, [0,cutter_dia[1]], y, [0,cutter_dia[2]], y, [0,cutter_dia[3]], y, [0,cutter_dia[4]], y, [0,cutter_dia[5]], y)\n", + "title(\"cutting velocity Vs Cutter diameter\")\n", + "xlabel('Cutter Diameter(mm)')\n", + "ylabel('Cutting velocity(m/min)')\n", + "text(5,28,'%d'%spindle_speeds[5])\n", + "text(9,25,'%d'%spindle_speeds[4])\n", + "text(12,22,'%d'%spindle_speeds[3])\n", + "text(15,18,'%d'%spindle_speeds[2])\n", + "text(18,15,'%d'%spindle_speeds[1])\n", + "text(20,11,'%d'%spindle_speeds[0])\n", + "show()\n", + "# from graph\n", + "vmax1 = 36 # m/min\n", + "vmin1 = 24.5 # m/min\n", + "r1 = vmax1 - vmin1 # Range of cutting speed for 12 mm diameter in m/min\n", + "vmax2 = 36.5 # m/min.\n", + "vmin2 = 26 # m/min.\n", + "r2 = vmax2 - vmin2 # Range of cutting speed for 36 mm diameter in m/min\n", + "print \" Range of cutting speed for 12 mm diameter = %0.1f m/min.\\n Range of cutting speed for 36 mm diameter = %0.1f m/min.\"%(r1 , r2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 22.2 : page 790" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of teeth on driver and driven are :- \n", + " t1 = 25 ,T1 = 55\n", + " t2 = 29 ,T2 = 51 \n", + " t3 = 32 ,T3 = 48 \n", + " t4 = 36 ,T4 = 44 \n", + "The actual running speed of driven shaft will be : \n", + " n1 = 68.18 rev/min\n", + " n2 = 85.29 rev/min \n", + " n3 = 100.00 rev/min \n", + " n4 = 122.73 rev/min\n" + ] + } + ], + "source": [ + "from math import floor, ceil\n", + "from sympy import solve, symbols\n", + "m = 2.5 # module in mm\n", + "phi = 1.2 # common ratio\n", + "n = 150 # speed in rev/min. of driving shaft\n", + "n1 = 70 # speed in rev/min. of driven shaft\n", + "n2 = (phi)**1*n1 # speed in rev/min. of driven shaft\n", + "n3 = (phi)**2*n1 # speed in rev/min. of driven shaft\n", + "n4 = (phi)**3*n1 # speed in rev/min. of driven shaft\n", + "T1=symbols('T1')\n", + "t1=n1/n*T1\n", + "expr = t1+T1-80\n", + "T1=solve(expr,T1)[0]\n", + "t1=n1/n*T1\n", + "T2=symbols('T2')\n", + "t2=n2/n*T2\n", + "expr = t2+T2-80\n", + "T2=solve(expr, T2)[0]\n", + "t2=n2/n*T2\n", + "\n", + "T3=symbols('T3')\n", + "t3=n3/n*T3\n", + "expr=t3+T3-80\n", + "T3=solve(expr, T3)[0]\n", + "t3=n3/n*T3\n", + "T4=symbols('T4')\n", + "t4=n4/n*T4\n", + "expr=t4+T4-80\n", + "T4=solve(expr, T4)[0]\n", + "t4=n4/n*T4\n", + "t1 = floor(t1) # number of teeth on driving shaft\n", + "T1 = ceil(T1) # number of teeth on driven shaft\n", + "t2 = ceil(t2) # number of teeth on driving shaft\n", + "T2 = floor(T2) # number of teeth on driven shaft\n", + "t3 = floor(t3) # number of teeth on driving shaft\n", + "T3 = ceil(T3) # number of teeth on driven shaft\n", + "t4 = ceil(t4) # number of teeth on driving shaft\n", + "T4 = floor(T4) # number of teeth on driven shaft\n", + "# running speeds\n", + "n1 = n*t1/T1\n", + "n2 = n*t2/T2\n", + "n3 = n*t3/T3\n", + "n4 = n*t4/T4\n", + "print \"Number of teeth on driver and driven are :- \\n t1 = %d ,T1 = %d\\n t2 = %d ,T2 = %d \\n t3 = %d ,T3 = %d \\n t4 = %d ,T4 = %d \"%(t1,T1,t2,T2,t3,T3,t4,T4)\n", + "print \"The actual running speed of driven shaft will be : \\n n1 = %0.2f rev/min\\n n2 = %0.2f rev/min \\n n3 = %0.2f rev/min \\n n4 = %0.2f rev/min\"%(n1,n2,n3,n4)\n", + "# Answer of n3 is given wrong in book\n", + "# Answer vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 22.3 : page 791" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Ta = 20 Tb = 32 \n", + " Tc = 22 Td = 30 \n", + " Te = 23 tf = 29 \n", + " Th = 19 Tj = 28 \n", + " Ti = 23 Tg = 23\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "z = 6 # number of steps\n", + "n1 = 180 # rev/min\n", + "n2 = 100 # rev/min\n", + "Rn = n1/n2 \n", + "phi = (Rn)**(1/(z-1)) # common ratio\n", + "n3 = phi*n2 # rev/min\n", + "n4 = (phi)**2*n2 # rev/min\n", + "n5 = (phi)**3*n2 # rev/min\n", + "n6 = (phi)**4*n2 # rev/min\n", + "n7 = 225 # speed of input shaft in rev/min\n", + "Ta=symbols('Ta')\n", + "tb=n7/n5*Ta\n", + "Ta=solve(tb+Ta-52, Ta)[0]\n", + "tb=n7/n5*Ta\n", + "tb = ceil(tb)\n", + "Tc=symbols('Tc')\n", + "td=n7/n6*Tc\n", + "Tc=solve(td+Tc-52, Tc)[0]\n", + "td=n7/n6*Tc\n", + "Tc = ceil(Tc)\n", + "Te=symbols('Te') \n", + "tf=n7/n1*Te\n", + "Te=solve(tf+Te-52, Te)[0]\n", + "tf=n7/n1*Te\n", + "tf = ceil(tf)\n", + "Th=symbols('Th')\n", + "tj=n2/n5*Th\n", + "Th=solve(tj+Th-46, Th)[0]\n", + "Th = ceil(Th)\n", + "tj=n2/n5*Th\n", + "tj = floor(tj)\n", + "Ti=symbols('Ti')\n", + "tg=n5/n5*Ti\n", + "Ti=solve(tg+Ti-46, Ti)[0]\n", + "tg=n5/n5*Ti\n", + "print \" Ta = %d Tb = %d \\n Tc = %d Td = %d \\n Te = %d tf = %d \\n Th = %d Tj = %d \\n Ti = %d Tg = %d\"%(Ta,tb,Tc,td,Te,tf,tj,Th,Ti,tg)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 22.4 : page 793" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Common ratio = 1.32 \n", + " Spindle speeds are : 334.23 , 441.0 , 581.92 , 767.85 ,1013.18 and 1336.9 rev/min.\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "v = 21 # cutting speed in rev/min.\n", + "z = 6\n", + "dmin = 5 # daimeter in mm\n", + "dmax = 20 # daimeter in mm\n", + "nmax = 1000*v/(pi*dmin) # spindle speed in rev/min.\n", + "nmin = 1000*v/(pi*dmax) # spindle speed in rev/min.\n", + "phi = (nmax/nmin)**(1/(z-1)) # common ratio\n", + "n1 = nmin # rev/min.\n", + "n2 = phi*n1 # rev/min.\n", + "n3 = (phi)**2*n1 # rev/min.\n", + "n4 = (phi)**3*n1 # rev/min.\n", + "n5 = (phi)**4*n1 # rev/min.\n", + "n6 = (phi)**5*n1 # rev/min.\n", + "print \" Common ratio = %0.2f \\n Spindle speeds are : %0.2f , %0.1f , %0.2f , %0.2f ,%0.2f and %0.1f rev/min.\"%(phi,n1,n2,n3,n4,n5,n6)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 22.5 : page 793" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Three gear ratios between input and intermediate shaft i1 = 1 i2 = 0.79 i3 = 0.630 \n", + " The two ratios between intermediate and output shaft i4 = 1 i5 = 0.500 \n", + " number of teeth for each pair between input and intermediate shaft t1 = 27/27 ,t2 = 24/30 , t3 = 21/33 \n", + " number of teeth for each pair between output and intermediate shaft = t4 = 34/34 ,t5 = 20/48 \n", + " Output speeds \n", + " n1 = 371 rev/min , n2 = 466 rev/min , n3 = 583 rev/min \n", + " n4 = 890 rev/min, n5 = 1120 rev/min , n6 = 1400 rev/min\n" + ] + } + ], + "source": [ + "# from fig. 22.18A\n", + "# Three gear ratios between input and intermediate shaft\n", + "nmax = 1400 # maximum speed in rev/min.\n", + "i1 = 1/1\n", + "i2 = 1/1.26\n", + "i3 = 1/(1.26)**2\n", + "# The two ratios between intermediate and output shaft\n", + "i4 = 1/1\n", + "i5 = 1/(1.26)**3\n", + "# number of teeth for input and intermediate shaft\n", + "t1 = 27/27\n", + "t2 = 24/30\n", + "t3 = 21/33\n", + "# number of teeth for output and intermediate shaft\n", + "t4 = 34/34\n", + "t5 = 20/48\n", + "# output speeds in rev./min\n", + "n1 = t3*t5*nmax\n", + "n2 = t2*t5*nmax\n", + "n3 = t1*t5*nmax\n", + "n4 = t3*t4*nmax\n", + "n5 = t2*t4*nmax\n", + "n6 = t1*t4*nmax\n", + "print \" Three gear ratios between input and intermediate shaft i1 = %d i2 = %0.2f i3 = %0.3f \\n The two ratios between intermediate and output shaft i4 = %d i5 = %0.3f \\n number of teeth for each pair between input and intermediate shaft t1 = 27/27 ,t2 = 24/30 , t3 = 21/33 \\n number of teeth for each pair between output and intermediate shaft = t4 = 34/34 ,t5 = 20/48 \\n Output speeds \\n n1 = %d rev/min , n2 = %d rev/min , n3 = %d rev/min \\n n4 = %d rev/min, n5 = %d rev/min , n6 = %d rev/min\"%(i1 , i2 , i3 , i4 , i5 , n1 , n2, n3,n4,n5,n6)\n", + "# Answer vary due to round off error" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter23_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter23_2.ipynb new file mode 100644 index 00000000..fd58642f --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter23_2.ipynb @@ -0,0 +1,396 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 23 : Production Planning & Control" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.1 : page 812" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forecast = 90\n" + ] + } + ], + "source": [ + "d1 = 90 # demand for first quarter\n", + "d2 = 100 # demand for second quarter\n", + "d3 = 80 # demand for third quarter\n", + "sa = (d1+d2+d3)/3 # simple average\n", + "print \"Forecast = %d\"%(sa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.2 : page 812" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forecast = 600\n" + ] + } + ], + "source": [ + "d1 = 300 # demand for july\n", + "d2 = 350 # demand for august\n", + "d3 = 400 # demand for september\n", + "d4 = 500 # demand for october\n", + "d5 = 600 # demand for november\n", + "d6 = 700 # demand for december\n", + "# assuming n = 3 , where n is number of time period\n", + "forecast = (d6+d5+d4)/3 # forecast\n", + "print \"Forecast = %d\"%(forecast)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.3 : page 813" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forecast by weighted moving average = 625\n" + ] + } + ], + "source": [ + "d1 = 500 # demand for october\n", + "d2 = 600 # demand for november\n", + "d3 = 700 # demand for december\n", + "w1 = 0.25 # relative weight with december\n", + "w2 = 0.25 # relative weight with november\n", + "w3 = 0.5 # relative weight with october\n", + "f = w1*d1 + w2*d2 + w3*d3 # forecast\n", + "print \"Forecast by weighted moving average = %d\"%(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.4 : page 814" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forecast for january = 281 units\n" + ] + } + ], + "source": [ + "from math import ceil\n", + "alpha = 0.7 # smoothing coefficient\n", + "d1 = 250 # demand for november\n", + "d2 = 300 # demand for december\n", + "f1 = 200 # forecast for november\n", + "f2 = alpha*d1 + (1-alpha)*f1 # forecast for december\n", + "f3 = alpha*d2 + (1-alpha)*f2 # forecast for january\n", + "f3 = ceil(f3)\n", + "print \"Forecast for january = %d units\"%(f3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.5 : page 817" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total cost = Rs 613416.41\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "s = 600 # set up cost per lot in Rs\n", + "c = 6 # unit cost of item in Rs\n", + "a = 100000 # annual demand for item\n", + "i = 25 # annual carrying charges of average inventory\n", + "i = 25/100 \n", + "k = c*i # carrying cost factor in unit/year\n", + "n = sqrt(2*s*a/k) # most economic lot size\n", + "tc = a*c + s*a/n + k*n/2 # total cost in Rs\n", + "print \"Total cost = Rs %0.2f\"%(tc)\n", + "# 'Answers vary due to round off error'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.6 : page 835" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Most economical ordering quantity = 365 units\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "a = 8000 # annual requirement of parts\n", + "c = 60 # unit cost of part in Rs\n", + "r = 150 # ordering cost per lot in Rs\n", + "i = 30 # annual carrying charges of average inventory\n", + "i = 30/100 \n", + "k = i*c # carrying cost per unit per year\n", + "n = sqrt(2*r*a/k) # most economical order quantity\n", + "print \"Most economical ordering quantity = %d units\"%(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.7 : page 841" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Most economic lot size = 2000 parts\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "a = 12000 # annual requirement\n", + "c = 5 # unit cost of part\n", + "s = 60 # set up cost per lot\n", + "p = 18750 # production rate per year\n", + "i = 20 # inventory carrying cost\n", + "i = 20/100 \n", + "k = i*c # carrying cost per unit per year\n", + "n = sqrt(2*s/(1/a-1/p)*k) # Most economic lot size\n", + "print \"Most economic lot size = %d parts\"%(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.8 : page 841" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Economical order quantity = 1250 units\n", + " order cost = Rs 750\n", + " carrying cost = Rs 750\n", + " Total inventory cost = Rs 1500\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "a = 15625 # annual requirement of parts\n", + "c = 12 # unit cost of part in Rs\n", + "r = 60 # ordering cost per lot in Rs\n", + "k = 1.2 # inventory carrying cost per unit \n", + "n = sqrt(2*r*a/k) # economical order quantity\n", + "oc = r*a/n # ordering cost in Rs\n", + "cc = k*n/2 # carrying cost in Rs\n", + "tc = oc + cc # total inventory cost in Rs\n", + "print \" Economical order quantity = %d units\\n order cost = Rs %d\\n carrying cost = Rs %d\\n Total inventory cost = Rs %d\"%(n , oc , cc , tc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.9 : page 842" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Increase in inventory cost = Rs 450\n", + " Discount offered = Rs500\n", + " offer is worth accepting\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "# case a\n", + "a = 50 # annual requirement of parts in tonnes\n", + "c = 500 # unit cost of part in Rs\n", + "r = 100 # ordering cost per order in Rs\n", + "i = 20 # inventory carrying cost \n", + "i = i/100\n", + "d = 2 # discount of purchase cost in percent\n", + "k = i*c # inventory carrying cost per unit \n", + "n1 = sqrt(2*r*a/k) # economical order quantity\n", + "oc1 = r*a/n1 # ordering cost in Rs\n", + "cc1 = k*n1/2 # carrying cost in Rs\n", + "tc1 = oc1 + cc1 # total inventory cost in Rs\n", + "# case b\n", + "n2 = 25 # order per lot\n", + "oc2 = r*a/n2 # ordering cost in Rs\n", + "cc2 = k*n2/2 # carrying cost in Rs\n", + "tc2 = oc2 + cc2 # total inventory cost in Rs\n", + "i = tc2-tc1 # increase in cost in Rs\n", + "d_o = d*c*a/100 # discount offered\n", + "print \" Increase in inventory cost = Rs %d\\n Discount offered = Rs%d\"%(i,d_o)\n", + "print \" offer is worth accepting\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 23.10 : page 843" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Economic order qunantity = 4000 components\n", + " Re-order point = 24000 components\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "a = 1000000 # annual requirement of parts\n", + "r = 32 # ordering cost per lot in Rs\n", + "k = 4 # inventory carrying cost per unit \n", + "d1 = 250 # number of working days\n", + "d2 = 2 # days for safety stock\n", + "d3 = 4 # lead time in days\n", + "eoq = sqrt(2*r*a/k) # economical order quantity\n", + "oc = r*a/eoq # ordering cost in Rs\n", + "cc = k*eoq/2 # carrying cost in Rs\n", + "tc = oc + cc # total inventory cost in Rs\n", + "ss = a*d2/d1 # safety stock\n", + "ro_p = ss+eoq*d3 # reorder point\n", + "print \" Economic order qunantity = %d components\\n Re-order point = %d components\"%(eoq ,ro_p)" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter26_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter26_2.ipynb new file mode 100644 index 00000000..b7473fc2 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter26_2.ipynb @@ -0,0 +1,69 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 26 : Plant Layout" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 26.1 : Page 901" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of machines required = 1.62\n", + "If machine is to be used exclusively for part considered two machines required\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "N = 100000 # annual output of parts\n", + "s = 2 # expected scrap\n", + "t = 105 # estimated time per part in s\n", + "ita = 80 # production efficiency of machine\n", + "a = 2300 # number of working hours\n", + "output = (3600*ita)/(t*100) # parts required per hour\n", + "pr = N*(100+s)/(a*100) # output from one machine per hour\n", + "mr = pr/output # machines required\n", + "print \"Number of machines required = %0.2f\"%mr\n", + "print \"If machine is to be used exclusively for part considered two machines required\"" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter2_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter2_2.ipynb new file mode 100644 index 00000000..a72ca7fd --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter2_2.ipynb @@ -0,0 +1,745 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2 - Press Tool Design" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.1 : page 132" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Blanking pressure = 226 kN\n", + " Piercing pressure = 108.573 KN\n", + " Total pressure required = 334.8 KN\n", + " piercing punch diameter = 2.44 cm\n", + " blanking punch diametre = 4.96 cm \n", + " press capacity = 267.81 KN\n", + "\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "D = 50 # Diameter of washer in mm\n", + "t = 4 # thickness of material in mm\n", + "d = 24 # diameter of hole in mm\n", + "p = 360 # shear strength of material in N/mm**2\n", + "F1 = pi*D*t*p # blanking pressure in N\n", + "F2 = pi*d*t*p # piercing pressure in N\n", + "F = F1 + F2 # total pressure in N\n", + "d1 = d + 0.4 # piercing die diameter in mm\n", + "d2 = D - 0.4 # blank punch diameter in mm\n", + "c = 0.8*F # press capacity in N\n", + "print \" Blanking pressure = %d kN\\n Piercing pressure = %0.3f KN\\n Total pressure required = %0.1f KN\"%(F1/1000,F2/1000,F/1000)\n", + "print \" piercing punch diameter = %0.2f cm\\n blanking punch diametre = %0.2f cm \\n press capacity = %0.2f KN\\n\"%(d1/10 , d2/10 , c/1000)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.2 : page 133" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Diameter at first draw = 8.25 cm\n", + " Diameter at second draw = 6.19 cm\n", + " Diameter at third draw =4.950 cm\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "h = 10 # height of cup in cm\n", + "d = 5 # diameter of cup in cm\n", + "D = sqrt(d**2 + 4*d*h) # blank diameter in cm\n", + "# height daimeter ratio is 2 . Therefore from table 2.9 total reductions are 3\n", + "r1 = 0.45*D # first reduction is 45% \n", + "d1 = D - r1 # diameter at first draw in cm\n", + "r2 = d1*0.25 # second reduction is 25% \n", + "d2 = d1 - r2 # diameter at second draw in cm\n", + "r3 = d2*0.2 # third reduction is 20% \n", + "d3 = d2 - r3 # diameter at third draw in cm\n", + "print \" Diameter at first draw = %0.2f cm\\n Diameter at second draw = %0.2f cm\\n Diameter at third draw =%0.3f cm\"%( d1 , d2 , d3)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.3 : page 133" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bending force = 44.3 KN\n" + ] + } + ], + "source": [ + "K = 1.20 # die-opening factor\n", + "L = 37.5 # Length of strip in cm\n", + "T = 2.5 # thickness of strip in mm\n", + "sigma_ut = 630 # tensile strength in N/mm**2\n", + "W = 16*T # width of die opening in mm\n", + "F = (K*L*10*sigma_ut*T**2)/W # bending force in N\n", + "print \"bending force = %0.1f KN\"%( F/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.4 : page 134" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " blanking force = 74.25 KN\n", + " work done = 27.84 Nm\n" + ] + } + ], + "source": [ + "b = 25 # width of blank in mm\n", + "l = 30 # length of blank in mm\n", + "tau = 450 # ultimate shear stress of material in N/mm**2\n", + "t = 1.5 # thickness of metal strip in mm\n", + "p = 2*(l + b) # perimeter of blank in mm\n", + "f = p*t*tau # blanking force in N\n", + "Pt = 0.25*t # punch travel in mm\n", + "w = f*Pt # work done in Nmm\n", + "print \" blanking force = %0.2f KN\\n work done = %0.2f Nm\"%(f/1000,w/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.5 : page 134" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " clearance = 0.075 mm\n", + " blank die opening size = 25.35 mm \n", + " blanking punch size = 25.20 mm\n", + " piercing punch size = 12.75 mm\n", + " piercing die size = 12.90 mm\n" + ] + } + ], + "source": [ + "t = 1.5 # thickness in mm\n", + "c = 0.05*t # clearance in mm\n", + "D = 25.4 # outside diameter in mm \n", + "D_o = D - 0.05 # blank die opening in mm\n", + "B_s = D_o - 2*c # blanking punch size in mm\n", + "d = 12.7 # internal diameter in mm \n", + "P_s = d + 0.05 # piercing punch size in mm\n", + "D_s = P_s + 2*c # piercing die size in mm\n", + "print \" clearance = %0.3f mm\\n blank die opening size = %0.2f mm \"%(c ,D_o)\n", + "print \" blanking punch size = %0.2f mm\\n piercing punch size = %0.2f mm\\n piercing die size = %0.2f mm\"%(B_s,P_s,D_s )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.6 : page 135" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "shear force when both punch act at same time and no shear is applied = 50.27 kN\n", + "cutting force when punches are staggered = 33.5 kN\n", + "cutting force when there is penetration and shear on punch = 23.8 kN\n" + ] + } + ], + "source": [ + "from math import pi\n", + "D = 25.4 # outside diameter in mm \n", + "d = 12.7 # internal diameter in mm\n", + "t = 1.5 # thickness in mm\n", + "tau = 280 # ultimate shearing strength in N/mm**2\n", + "F = pi*(D + d)*t*tau # total cutting force in N\n", + "F_s = pi*D*t*tau # cutting force when punches are staggered in N\n", + "k = 0.6 # penetration\n", + "i = 1 # shear of punch in mm\n", + "F_p = (t*k*F)/(k*t +i)# cutting force when both punches act together in N \n", + "print \"shear force when both punch act at same time and no shear is applied = %0.2f kN\"%( F/1000)\n", + "print \"cutting force when punches are staggered = %0.1f kN\"%(F_s/1000)\n", + "print \"cutting force when there is penetration and shear on punch = %0.1f kN\"%(F_p/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.7 : page 135" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Amount of shear on punch = 1 mm\n" + ] + } + ], + "source": [ + "from math import pi\n", + "D = 60 # hole diameter in mm\n", + "tau = 450 # ultimate shear strength in N/mm**2\n", + "t = 2.5 # thickness in mm\n", + "F = pi*D*t*tau # maximum punch force in N\n", + "w = F*0.4*t # work done in Nm\n", + "f = F/2 # punching force in N\n", + "k = 0.4 # penetration percentage\n", + "i = k*t*(F-f)/f # shear on punch in mm\n", + "print \"Amount of shear on punch = %d mm\"%( i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.8 : page 136" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Value of back scrap = 4.7 mm\n", + " Value of scrap bridge = 3.2 mm \n", + " Width of strip = 11.00 cm\n", + " Length of one piece of stock needed to produce one part = 2.82 cm\n", + " Number of parts = 84.0 blanks\n", + " Scrap remaining at the end = 2.88 mm\n" + ] + } + ], + "source": [ + "from math import ceil\n", + "# from fig 2.27\n", + "w = 2.5 # cm\n", + "t = 3.2 # strip thickness in mm\n", + "h = 10 # cm\n", + "a = t + 0.015*h*10 # back scrap and front scrap in mm\n", + "b = t # scrap bridge in mm\n", + "W = h + (2*a)/10 # width of strip in cm\n", + "W = ceil(W) # cm\n", + "s = w + b/10 # length of one piece of stock in cm\n", + "L = 240 # length of strip in cm\n", + "N = (L-b)/s # number of parts\n", + "y = L - (N*s + b/10) # scrap remaining at the end in mm\n", + "print \" Value of back scrap = %0.1f mm\\n Value of scrap bridge = %0.1f mm \"%( a , b )\n", + "print \" Width of strip = %0.2f cm\\n Length of one piece of stock needed to produce one part = %0.2f cm\"%( W , s)\n", + "print \" Number of parts = %0.1f blanks\\n Scrap remaining at the end = %0.2f mm\"%( N , y)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.9 : page 137" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(i) size of blank = 118.20 mm \n", + "(ii) Percentage reduction = 57.7 percent \n", + "(iii) Number of draws = 2 \n", + "(iv) Radius on punch = 4 mm \n", + " Die Radius = 6 mm \n", + "(v) Die clearance for first draw = 0.87 mm \n", + " die clearance for second draw = 0.88 mm\n", + " Punch diameter for second draw = 48.4 mm \n", + " Die opening diameter for second draw = 50.16 mm \n", + " Punch diameter for first draw = 63.412 mm \n", + " Die opening diameter for first draw = 66.752 mm\n", + "(vi) Drawing pressure = 91.97 mm \n", + "(vii) Blank holding pressure = 30 kN \n", + "(viii) Press capacity = 150 kN\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "# from figure 2.73\n", + "t = 0.8 # thickness in mm\n", + "d = 50 # shell diameter in mm\n", + "r = 1.6 # radius of bottom corner in mm\n", + "h = 50 # height in mm\n", + "D = sqrt(d**2 + 4*d*h) # shell blank size in mm\n", + "el = 6.4 # extra length required to add in shell blank size\n", + "D = D + el # mm\n", + "pr = 100*(1-(d/D)) # percentage reduction\n", + "ratio = h/d \n", + "n = 2 # number of draws\n", + "R1 = 45 # first reduction\n", + "D1 = D - R1*D/100 # diameter at first reduction in mm\n", + "R2 = 100*(1-(d/D1)) # second reduction \n", + "PR = 4*t # punch radius in mm\n", + "PR = ceil(PR)\n", + "DR = 6 # die radius in mm\n", + "DC1 = 0.87 # die clearance for first draw in mm\n", + "DC2 = 0.88 # die clearance for second draw in mm\n", + "PD2 = d - 2*t # punch diameter for second draw in mm\n", + "DD2 = PD2 + 2*DC2 # Die opening diameter for second draw in mm\n", + "PD1 = D1 - 2*t # punch diameter for first draw in mm\n", + "DD1 = D1 + 2*DC1 # Die opening diameter for first draw in mm\n", + "# Drawing pressure\n", + "c = 0.65 # constant\n", + "sigma = 427 # N/mm**2\n", + "F = pi*d*t*sigma*(D/d-c) # Drawing pressure in mm\n", + "Bhp = 30.8 # blanking holding pressure in kN\n", + "pc = 150 # press capacity in kN\n", + "print \"(i) size of blank = %0.2f mm \\n(ii) Percentage reduction = %0.1f percent \\n(iii) Number of draws = %d \\n(iv) Radius on punch = %d mm \\n Die Radius = %d mm \\n(v) Die clearance for first draw = %0.2f mm \\n die clearance for second draw = %0.2f mm\"%( D , pr,n,PR,DR,DC1,DC2)\n", + "print \" Punch diameter for second draw = %0.1f mm \\n Die opening diameter for second draw = %0.2f mm \\n Punch diameter for first draw = %0.3f mm \\n Die opening diameter for first draw = %0.3f mm\\n(vi) Drawing pressure = %0.2f mm \\n(vii) Blank holding pressure = %d kN \\n(viii) Press capacity = %d kN\"%( PD2 , DD2 ,PD1 ,DD1 , F/1000 ,Bhp , pc) \n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.10 : page 138" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Developed length = 187.22 mm\n" + ] + } + ], + "source": [ + "from math import pi\n", + "# from figure 2.74\n", + "l1 = 76 - ( 2.3 + 0.90) # length1 in mm\n", + "l2 = 115 - (2.3 + 0.90) # length2 in mm\n", + "t = 2.3 # mm\n", + "r = 0.90 # inner radius in mm\n", + "k = t/3 # mm\n", + "B = 0.5*pi*(r + k) # bending allowance in mm\n", + "d = l1 + l2 + B # developed length in mm\n", + "print \"Developed length = %0.2f mm\"%( d)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.11 : page 139" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bending force = 111.25 kN\n" + ] + } + ], + "source": [ + "from math import floor\n", + "t = 3.2 # thickness of blank in mm\n", + "l = 900 # bending length in mm\n", + "sigma = 400 # ultimate tensile strength in N/mm**2\n", + "k = 0.67 # die opening factor\n", + "r1 = 9.5 # punch radius in mm\n", + "r2 = 9.5 # die edge radius in mm\n", + "c = 3.2 # clearance in mm\n", + "w = r1 + r2 + c # width between contact points batween die and punch in mm\n", + "F= (k*l*sigma*t**2)/w # bending force in N\n", + "F=floor(F/10)*10 # N\n", + "print \"bending force = %0.2f kN\"%(F/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.12 : page 139" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bending force = 145.24 kN\n" + ] + } + ], + "source": [ + "k = 1.33 # die opening factor\n", + "l = 1200 # bend length in mm\n", + "sigma = 455 # ultimate tensile strength in N/mm**2\n", + "t = 1.6 # blank thickness in mm\n", + "w = 8*t # width of die opening in mm\n", + "F = k*l*sigma*t**2/w # bending force in N \n", + "print \"bending force = %0.2f kN\"%(F/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.13 : page 140" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Force required when bottoming is used = 18.2 tonnes\n", + "Force required when bottoming is not used = 1.263 tonnes\n" + ] + } + ], + "source": [ + "c = 1.25 # clearance in mm\n", + "r1 = 3 # die radius in mm\n", + "r2 = 1.5 # punch radius in mm\n", + "sigma = 315 # ultimate tensile strength in MPa\n", + "t = 1 # thickness in mm\n", + "l = 50 # width at bend in mm\n", + "w = r1 + r2 +c # width between contact points on die and punch in mm\n", + "F = 0.67*l*sigma*t**2/w # bending force in N\n", + "F_p = 0.67*sigma*l*t # pad force in N\n", + "sigma_c = 560 # setting pressure in MPa\n", + "b1 = 2 # beads on punch\n", + "b = b1*r1 # mm\n", + "F_b = sigma_c*l*b # bottoming force in N\n", + "F_o = F_p + F_b # Force required when bottoming is used in N\n", + "F_n = F +F_p # Force required when bottoming is not used in N\n", + "print \"Force required when bottoming is used = %0.1f tonnes\"%(F_o/(9.81*1000))\n", + "print \"Force required when bottoming is not used = %0.3f tonnes\"%( F_n/(9.81*1000))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.14 : page 140" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cutting force with parallel cutting edges = 3.825 MN\n", + "cutting force when shear is considered = 91.48 kN \n" + ] + } + ], + "source": [ + "from math import sin, pi\n", + "w = 2 # width in mm\n", + "t = 5 # thickness in mm\n", + "theta=6 # shear in degrees\n", + "tau = 382.5 # ultimate shear stress in MPa\n", + "F = w*t*tau*1000 # cutting force in N\n", + "l = t/sin(theta*pi/180) # length to be cut in mm\n", + "F_i = l*t*tau # cutting force in N\n", + "print \"cutting force with parallel cutting edges = %0.3f MN\\ncutting force when shear is considered = %0.2f kN \"%(F/10**6 ,F_i/1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.15 : page 141" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Blank diameter = 220 mm \n", + " Thickness ratio = 0.453 \n", + " Diameter for first draw = 121 mm \n", + " Depth of first draw = 61.39 mm \n", + " Press capacity = 177.92 kN\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "d1 = 105 # inside diameter in mm\n", + "h = 90 # depth in mm\n", + "t = 1 # thickness in mm\n", + "D = sqrt(d1**2+4*d1*h) # blank diameter in mm\n", + "tr = t*100/D # thickness ratio\n", + "# from table safe drawing ratio is 1.82\n", + "r = 1.82 # draw ratio\n", + "d2 = D/r # diameter for first draw in mm\n", + "d = 130 # Let diameter for first draw in mm\n", + "ratio1 = D/d # D/d for first draw \n", + "ratio2 = d/d1 # D/d for second draw\n", + "h1 =((D)**2-(d)**2)/(4*d) # Depth of first draw in mm\n", + "sigma = 415 # N/mm**2\n", + "c = 0.65 # constant\n", + "pc = pi*d*t*sigma*(D/d - c) # press capacity in kN\n", + "print \" Blank diameter = %d mm \\n Thickness ratio = %0.3f \\n Diameter for first draw = %d mm \\n Depth of first draw = %0.2f mm \\n Press capacity = %0.2f kN\"%(D,tr,d2,h1,pc/1000)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.16 : page 142" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Diameter after first draw = 14.7 \n", + " Diameter after second draw = 8.82 \n", + " Percentage reduction after third draw = 9 percent\n", + " Height of cup after first draw = 11.02 cm\n", + " Height of cup after second draw = 22.29 cm\n", + " Height of cup after third draw = 25.00 cm\n", + " Drawing force = 56.817 kN\n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "d = 80 # diameter in mm\n", + "h = 250 # height in mm\n", + "D = sqrt((d**2+4*d*h))/10 # blank diameter in cm\n", + "D1 = 0.5*D # diameter after first draw in cm\n", + "# let reduction be 40% in second draw\n", + "D2 = D1-0.4*D1 # diameter after scond draw in cm\n", + "R = (1 - (d/(10*D2)))*100 # percentage reduction for third draw\n", + "l1 = ((D)**2-(D1)**2)/(4*D1) # height of cup after first draw in cm\n", + "l2 = ((D)**2-(D2)**2)/(4*D2) # height of cup after first draw in cm\n", + "l3 = ((D)**2-(d/10)**2)/(4*d/10) # height of cup after first draw in cm\n", + "t = 3 # mm\n", + "sigma = 250 # N/mm**2\n", + "C = 0.66\n", + "F = pi*d/10*t*sigma*((D*10/d)-C) # drawing force in kN\n", + "print \" Diameter after first draw = %0.1f \\n Diameter after second draw = %0.2f \\n Percentage reduction after third draw = %d percent\"%(D1,D2,R)\n", + "print \" Height of cup after first draw = %0.2f cm\\n Height of cup after second draw = %0.2f cm\\n Height of cup after third draw = %0.2f cm\"%(l1,l2,l3)\n", + "print \" Drawing force = %0.3f kN\"%(F/1000)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 2.17 : page 143" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total developed length = 1003.39 mm\n" + ] + } + ], + "source": [ + "from math import pi\n", + "# from figure 2.75 (a)\n", + "r1 = 30 # radius in mm\n", + "t = 10 # thickness in mm\n", + "h1 = 300 # height in mm\n", + "ir1 = r1-t # inner radius of bends in mm\n", + "L1 = h1-(ir1+t) # mm\n", + "alpha1 = 90 # degree\n", + "r2 = 2*t # mm\n", + "k = 0.33*t # mm\n", + "L2 = alpha1*2*pi*(r2+k)/360 # mm\n", + "w = 200 # mm\n", + "L3 = w-2*(t+ir1)# mm\n", + "L4 = L2 #mm\n", + "h2 = 100 # mm\n", + "L5 = h2 -(t+ir1) # mm\n", + "r3 = 150 #mm \n", + "ir2 = r3 - t # inner radius in mm\n", + "alpha2 = 180 # degree\n", + "L6 = alpha2*2*pi*(ir2+k)/360 # mm\n", + "dl = L1+L2+L3+L4+L5+L6 # Total developed length in mm\n", + "print \"Total developed length = %0.2f mm\"%( dl)\n", + "# Answers vary due to round off error" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter4_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter4_2.ipynb new file mode 100644 index 00000000..a0b474f5 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter4_2.ipynb @@ -0,0 +1,863 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 : Cost Estimating" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.1 : page 206" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Total cost = Rs 13225\n", + " Selling price = Rs 14812\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "d_m = 5500 # cost of direct material in Rs\n", + "d_l = 3000 # manufacturing wages in Rs\n", + "# factory overhead is 100% 0f manufacturing wages\n", + "f_o = (100*d_l)/100 # factory overheads in Rs\n", + "FC = d_m + d_l + f_o # factory cost in Rs\n", + "nm_o = 15*FC/100 # non-manufacturing overheads in Rs\n", + "tc = FC+nm_o # total cost in Rs\n", + "p = 12*tc/100 # profit in Rs\n", + "sp = tc+p # selling price in Rs\n", + "print \" Total cost = Rs %d\\n Selling price = Rs %d\"%(tc,sp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.2 : page 207" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selling price = Rs 99000\n" + ] + } + ], + "source": [ + "# given\n", + "OS_RM = 20000 # opening stock of raw materials in Rs\n", + "CS_RM = 30000 # closing stock of raw materials in Rs\n", + "TP_RM = 170000 # total purchase in year in Rs\n", + "OS_FG = 10000 # opening stock of finished goods in Rs\n", + "CS_FG = 15000 # closing stock of finished goods in Rs\n", + "sales = 489500 # sales of finished goods in Rs\n", + "D_W = 120000 # direct wages in Rs\n", + "F_E1 = 120000 # factory expenses in Rs\n", + "NM_E = 50000 # non-manufacturing expenses in Rs\n", + "DMC = OS_RM + TP_RM - CS_RM # direct material cost\n", + "FC = DMC + D_W + F_E1 # factory cost\n", + "TC = FC + NM_E # total cost\n", + "FG_S = OS_FG + TC - CS_FG # cost of finished goods sold in Rs\n", + "P = sales - FG_S # profit in Rs\n", + "F_E2 = (F_E1)/D_W*100 # factory expenses in percent\n", + "NM_C = (NM_E)/FC*100 # non-manufacturing expenses to factory cost\n", + "P_C = (P/FG_S)*100 # profit to cost of sales\n", + "dm = 20000 # direct material in Rs\n", + "dw = 30000 # direct wages in Rs\n", + "fe = dw # factory expenses\n", + "fc = dm+dw+fe # factory cost in Rs\n", + "nme = NM_C*fc/100 # non-manufacturing expenses in Rs\n", + "tc = fc+nme # total cost in Rs\n", + "p = (P_C*tc)/100 # profit in Rs\n", + "sp = tc+p # selling price in Rs\n", + "print \"Selling price = Rs %d\"%(sp) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.3 : page 208" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "factory cost = Rs 8.39 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "d = 38 # diameter of bar in mm\n", + "l = 25 # length of bar in mm\n", + "p = 8.6 # density gm/cm**3\n", + "g = 9.81 # acceleration due to gravity in m/s**2\n", + "w = (pi*d**2*l*p*g)/(4*10**6) # weight of material in N\n", + "mc = w*1.625 # material cost in Rs\n", + "lc = (2*90)/60 # labour cost in Rs\n", + "fo = 0.5*lc # factory overheads in Rs\n", + "fc = mc + lc + fo # factory cost in Rs\n", + "print \"factory cost = Rs %0.2f \"%fc\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.4 : page 208" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time taken = 7.908 Hours\n" + ] + } + ], + "source": [ + "sp = 65 # selling price in Rs\n", + "profit = 0.2*sp # profit in Rs\n", + "tc = sp - profit # total cost in Rs \n", + "P = (sp - profit)/1.4 # production cost in Rs\n", + "DM = 15 # cost of direct material in Rs\n", + "W = (P - DM)/ 1.4 # direct labour cost in Rs\n", + "tt = W/2 # time taken in hours\n", + "print \"Time taken = %0.3f Hours\"%(tt )\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.5 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "profit = Rs 600\n" + ] + } + ], + "source": [ + "mp = 6000 # market price of machine in Rs\n", + "d = 0.2*mp # discount in Rs\n", + "sp = mp - d # selling price of factory in Rs\n", + "mc = 400 # material cost in Rs\n", + "lc = 1600 # labour cost in Rs\n", + "fo = 800 # factory overheads in Rs\n", + "F = mc + lc + fo # factory cost in Rs\n", + "se = 0.5*F # selling expenses in Rs\n", + "profit = sp - (F + se ) # Rs\n", + "print \"profit = Rs %d\"%(profit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.6 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Economic lot size = 1060 pieces\n", + "Time for each set up = 21.21 hours\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "a = 1500 # requirements of components\n", + "s = 30 # cost of each set up in Rs\n", + "k = 0.2 # charge factor\n", + "c = 5 # cost of each part in Rs\n", + "N = 5*sqrt(a*s)/(k*c) # economic lot size\n", + "print \"Economic lot size = %d pieces\"%(N)\n", + "S = (N*s)/a # time for each set up in hours\n", + "print \"Time for each set up = %0.2f hours\"%(S )\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.7 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit time to change the cutter = 0.083 min\n" + ] + } + ], + "source": [ + "Tc = 2 # time taken by cutter per cycle in minutes\n", + "Tk = 10 # time taken to change cutter in minutes\n", + "T = 240 # tool life in minutes\n", + "t = (Tc*Tk)/T # time to change the cutter in min.\n", + "print \"Unit time to change the cutter = %0.3f min\"%(t )\n", + "# Error in textbook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.8 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit tool change time per cycle = 1.67 min\n" + ] + } + ], + "source": [ + "Tk = 360 # time taken by tool to cut before sharpening in min.\n", + "Tc = 20 # time taken to change the tool in min.\n", + "T = 4320 # time taken before it is discarded in min.\n", + "t = (Tc*Tk)/T # tool change time per cycle in min.\n", + "print \"Unit tool change time per cycle = %0.2f min\"%(t )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.9 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total time taken to check dimensions = 67 min\n" + ] + } + ], + "source": [ + "Tc = 10 # time taken to check hole in secs\n", + "F = 2 # frequency of checking dimension\n", + "tc = Tc*F # time taken to check one piece in secs\n", + "N = 200 # number of pieces\n", + "Tc = tc*(N + 1) # Total time in sec\n", + "print \"Total time taken to check dimensions = %d min\"%(Tc/60)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.10 : page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Direct labour cost = Rs 220.5\n" + ] + } + ], + "source": [ + "forgings = 40\n", + "setup = 4 \n", + "Tc = 12 # machining time in min. per forging\n", + "nmt = 21 # non-machining in min. per forging\n", + "st = 45 # set up time per set up\n", + "ts = 5 # total sharpening in min. per forging\n", + "f = 20 # fatigue in percent\n", + "f = f/100\n", + "pn = 5 # personal needs in percent\n", + "pn = pn/100\n", + "Tk = 10 # tool chanhe time in min.\n", + "T = 8 # tool life in hours\n", + "ct = 15 # checking time with 5 checks in 15 secs\n", + "R = 1.4 # performance factor\n", + "dlc = 5 # direct labour cost in Rs per hour\n", + "tt = Tc+nmt # machining and non-machining time in min.\n", + "ft = f*tt # fatigue time in min.\n", + "pnt = pn*tt # personal needs in min.\n", + "t = (Tc*Tk)/(T*60) # total sharpening time in min. per forging\n", + "mct = (ts*ct)/60 # measuring and checking time in min.per forging\n", + "su = Tc + nmt+ pnt + ft + t + mct # sum of times in min.\n", + "tf = su*forgings # time for 40 forgings in min.\n", + "tst = st*setup # total set up time in min.\n", + "Te = tf+tst # total estimated time in min.\n", + "Ta = Te*R # total actual time in min.\n", + "lc = (Ta*dlc)/60 # direct labour cost in Rs\n", + "print \"Direct labour cost = Rs %0.1f\"%(lc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.11 : page 216" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total time = 0.22 min.\n" + ] + } + ], + "source": [ + "# from figure 4.4\n", + "v = 100 # cutting speed in m/min\n", + "D = 50 # mm\n", + "l1 = 76 # mm\n", + "f = 7.5 # feed in mm/rev.\n", + "# Case 1 , time to turn 38 mm diameter by 76 mm length of cut\n", + "N1 = (1000*v)/(pi*D)# r.p.m\n", + "tm1 = l1*10/(f*N1) # min.\n", + "# Case 2 , time to turn 25 mm by 38 mm length\n", + "N2 = (1000*v)/(pi*38) # r.p.m\n", + "l2 = 38 # mm\n", + "tm2 = l2*10/(f*N2) # min\n", + "tt = tm1 + tm2 # total time in min\n", + "print \"Total time = %0.2f min.\"%(tt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.12 : page 218" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time to turn external relief = 0.17 min.\n" + ] + } + ], + "source": [ + "# from figure 4.5\n", + "v = 60 # cutting speed m/min.\n", + "f = 0.375 # feed in mm/rev\n", + "D = 38 # mm\n", + "N = (1000*60)/(pi*D) # rev/min\n", + "l = 32 # mm\n", + "Tm = l/(f*N) # min\n", + "print \"Time to turn external relief = %0.2f min.\"%(Tm )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.13 : page 220" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The machining time to face on lathe = 1.91 min.\n" + ] + } + ], + "source": [ + "from math import pi\n", + "# from figure 4.11\n", + "l = 7.5 # cm\n", + "Dave = (25+ 10)/2 # average diameter in cm\n", + "v = 27 # cutting speed in m/min\n", + "f = 0.8 # feed in mm/rev\n", + "N = (1000*v)/(pi*Dave*10) # r.p.m.\n", + "tm = l*10/(f*N) # min.\n", + "print \"The machining time to face on lathe = %0.2f min.\"%(tm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.14 : page 221" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time taken to drill hole = 0.174 min.\n" + ] + } + ], + "source": [ + "from math import pi\n", + "D = 12.7 # diameter in mm\n", + "d = 50 # depth in mm\n", + "v = 75 # cutting speed in m/min.\n", + "f = 0.175 # feed in mm/rev\n", + "l = d + 2*0.29*D # lemgth of drill travel in mm\n", + "N = (1000*v)/(pi*D) # r.p.m.\n", + "tm = l/(f*N) # min\n", + "print \"Time taken to drill hole = %0.3f min.\"%(tm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.15 : page 223" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time required for shaper to complete one cut = 60 min\n" + ] + } + ], + "source": [ + "k = 1/4 # return time to cutting ratio\n", + "l = 900 + 2*75 # length of stroke in mm\n", + "v = 6 # cutting stroke in m/min\n", + "f = 2 # feed mm/stroke\n", + "w = 600 # breadth in mm\n", + "N = (v*1000)/(l*1.25) # r.p.m\n", + "N = round(N)\n", + "time = w/(f*N) # min\n", + "print \"Time required for shaper to complete one cut = %d min\"%(time )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.16 : page 223" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time taken to broach a four spline brass = 0.0928 min\n" + ] + } + ], + "source": [ + "l = 70 # length of stroke in cm\n", + "cs = 11 # cutting speed in m/min\n", + "rs = 24 # return speed in m/min\n", + "tm = (l/(100*cs)) + (l/(100*rs)) # min\n", + "print \"Time taken to broach a four spline brass = %0.4f min\"%(tm)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.17 : page 228" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Table feed = 265 mm/min. \n", + " Total cutter travel = 255.9 mm\n", + " Time required to machine the slot = 0.965 min.\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "v = 50 # cutting speed in m/min\n", + "D = 150 # diameter of face cutter in mm\n", + "N = (1000*v)/(pi*D) # r.p.m.\n", + "f = 0.25 # feed mm/tooth\n", + "n = 10 #number of tooth\n", + "tf = N*f*n # table feed in mm/min\n", + "l = 200 # length of work piece in mm\n", + "d = 25 # depth of slot in mm\n", + "tot = sqrt(D*d - d**2) # total overtravel in mm\n", + "tct = l + tot # total cutter travel in mm\n", + "time = tct/tf # min.\n", + "print \" Table feed = %d mm/min. \\n Total cutter travel = %0.1f mm\\n Time required to machine the slot = %0.3f min.\"%(tf , tct ,time )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.18 : page 228" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cutting time = 0.163 min.\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "D = 63.5 # diameter of plain milling cutter in mm\n", + "w = 30 # width of block in mm\n", + "l = 180 # length of block in mm\n", + "f = 0.125 # feed in mm/tooth\n", + "n = 6 # no. of teeth\n", + "N = 1500 # spindle speed in r.p.m\n", + "tot = (D - sqrt(D**2 - w**2))/2 # total over travel in mm\n", + "tct = l + tot # total cutter travel in mm\n", + "Tm = tct/(f*n*N) # cutting time in min\n", + "print \" Cutting time = %0.3f min.\"%(Tm)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.19 : page 229" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The milling time = 0.29 min.\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "# from figure 4.17\n", + "d = 19 # depth of cut in mm\n", + "D1 = 5 # diameter of round bar in cm\n", + "v = 50 # cutting speed in m/min\n", + "n = 8 # number of teeth\n", + "f = 0.2 # feed in mm/tooth\n", + "l = 2*sqrt(d*D1*10 - d**2) # length of chord in mm\n", + "D2 = 10 # daimeter of cutter in cm\n", + "overrun = sqrt(D2*10*d+D1*10*d-d**2) - sqrt(D1*10*d-d**2)# mm\n", + "tt = l + overrun # table travel in mm\n", + "N = (1000*v)/(pi*D2*10) # r.p.m\n", + "tm = tt/(f*n*N) # time in min.\n", + "print \"The milling time = %0.2f min.\"%(tm )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.20 : page 230" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time required to grind the shaft = 0.64 min.\n" + ] + } + ], + "source": [ + "from math import pi\n", + "w = 50 # width of grinding wheep in mm\n", + "f = w/2 # feed in mm\n", + "t = 0.25 # toatal stock in mm\n", + "d = 0.025 # depth of cut in mm\n", + "n = t/d # number of cuts \n", + "v = 15 # cutting speed in m/min\n", + "D = 38 # diameter in mm\n", + "N = (1000*v)/(pi*D) # r.p.m.\n", + "l = 200 # length of part in mm\n", + "Tm = (l*10)/(f*N) # min.\n", + "print \"Time required to grind the shaft = %0.2f min.\"%(Tm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.21 : page 231" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time to cut the threads = 2.05 min\n" + ] + } + ], + "source": [ + "v = 6 # cutting speed in m/min\n", + "n = 5 # number of cuts\n", + "D = 44 # diameter in mm\n", + "N = (1000*v)/(pi*D) # r.p.m\n", + "f = 0.5 # feed in cm\n", + "l = 8.9 # length of cut in cm\n", + "Tm = (l*n)/(f*N) # time in min\n", + "print \"Time to cut the threads = %0.2f min\"%(Tm)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 4.22 : page 232" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total production timr per piece = 3.01 min\n" + ] + } + ], + "source": [ + "from math import pi\n", + "vt = 40 # cutting speed for turning in m/min\n", + "vs = 8 # cutting speed for cutting and knurling in m/min\n", + "ft = 0.4 # feed for turning in mm/rev.\n", + "ff = 0.2 # feed for forming in mm/rev\n", + "d1 = 25 # diameter in mm\n", + "l1 = 50 # mm\n", + "N1 = 1000*vt/(pi*d1) # spindle speed in rev./min.\n", + "time1 = l1/(ft*N1) # min.\n", + "tt = 2*time1 # total time in min.\n", + "d2 = 15 # mm\n", + "N2 = 1000*vt/(pi*d2)# rev/min.\n", + "l2 = 30 # mm\n", + "time2 = l2/(ft*N2) # min.\n", + "eft = 0.15 # end forming time in min.\n", + "d3 = 10 # mm\n", + "N3 = 1000*vs/(pi*d3) # rev./min.\n", + "l3 = 15 # mm\n", + "f = 1.5 # feed in min.\n", + "time3 = l3/(f*N3) # min.\n", + "N4 = 1000*vs/(pi*d1) # rev./min.\n", + "l4 = 10 # mm\n", + "time4 = l4/(ft*N4) # min.\n", + "time5 = 0.15 # time for chamfering in min.\n", + "Dave = d1/2 # mm\n", + "N5 = 1000*vt/(pi*Dave) # r.p.m.\n", + "time6 = Dave/(N5*ff) # min,\n", + "tmt = tt+time2+time3+time4+time5+time6+eft # total machining time in min.\n", + "t = 0.05 # min.\n", + "ht = time5+6*time6+4*t+3*t # handling time in min.\n", + "tot = ht+tmt # total handling time in min.\n", + "ct = 15*tot/100 # contingency in min.\n", + "tct = tot+ct # total cycle time in min.\n", + "st = 60 # set up time for turret lathe\n", + "p = 100 # total pieces\n", + "stp = st/p # set up time per piece in min.\n", + "tpt = tct+stp # Total production timr per piece in min.\n", + "print \"Total production timr per piece = %0.2f min\"%(tpt)\n", + "#Answers vary due to round off error" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter5_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter5_2.ipynb new file mode 100644 index 00000000..8c47225e --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter5_2.ipynb @@ -0,0 +1,1707 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 : Economics of Tooling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.1 : page 238" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Value of machine at the end of 10 years through straight line depreciation method = Rs 137500\n", + "Value of machine at the end of 10 years through sinking fund method = Rs 178773\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Co = 250000 # original value of machine tool in Rs\n", + "Cs = 25000 # salvage value in Rs\n", + "n = 20 #useful life in years\n", + "d = (Co-Cs)/n # depreciation per year in Rs\n", + "v1 = Co - 10*d # value of machine tool at the end of 10 years in Rs\n", + "s = Co - Cs # sum at the end of useful life in Rs\n", + "i = 8/100 # annual interst rate \n", + "D = (s*i)/((1 + i)**n-1) # annual deposit\n", + "a = D*((1+i)**10-1)/i #amount at the end of 10 years in Rs\n", + "v2 = Co - a # value at the end of 10 years\n", + "print \"Value of machine at the end of 10 years through straight line depreciation method = Rs %d\"%(v1)\n", + "print \"Value of machine at the end of 10 years through sinking fund method = Rs %d\"%(v2)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.2 : page 249" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Annual investment using sinking fund factor = Rs 3491 /- per year\n", + "Annual investment using capital recovery factor = Rs 23491 /- per year\n" + ] + } + ], + "source": [ + "p = 200000 # present worth in Rs\n", + "i = 10 # annual interest rate\n", + "i = 10/100\n", + "n = 20 # number of years\n", + "a1 = (p*i)/((1+i)**n-1) # annual investment using sinking fund factor in Rs\n", + "a2 = (p*i*(i+1)**n)/((i+1)**n-1)# annual investment using capital recovery factor in Rs\n", + "print \"Annual investment using sinking fund factor = Rs %d /- per year\"%(a1)\n", + "print \"Annual investment using capital recovery factor = Rs %d /- per year\"%(a2)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.3 : page 252" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total cash in flows = Rs 85483.68\n", + "Total cash out flows = Rs 85489.44\n", + "Since cash out flows are more than cash in flows therefore project is not economical\n" + ] + } + ], + "source": [ + "# cash in flows\n", + "a = 21240 # annual revenue in Rs\n", + "i = 10 # annual interest rate\n", + "i = 10/100\n", + "n = 5 # perod in years\n", + "f1 = 8000 # salvage value in Rs\n", + "p1 = (a*((i+1)**n-1))/(i*(i+1)**5)# annual revenue in Rs\n", + "p2 = f1/(i+1)**5 #present worth in Rs\n", + "t1 = p1 + p2 # total cash in flows in Rs\n", + "# cash out flows\n", + "I = 40000 # investment in Rs\n", + "f2 = 12000 # annual payment in Rs\n", + "p3 = (f2*((1+i)**5-1))/(i*(1+i)**5) # annual payments in Rs\n", + "t2 = I + p3 # total cash out flows in Rs\n", + "print \"Total cash in flows = Rs %0.2f\\nTotal cash out flows = Rs %0.2f\"%(t1 ,t2) \n", + "print \"Since cash out flows are more than cash in flows therefore project is not economical\"\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.4 : page 252" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Net P.W.of Machine A= Rs -115293.66\n", + " Net P.W.of Machine B = Rs-129345.49\n", + " It is clear that Net P.W of Machine A is less nagative as compared to that of Machine B , therefore Machine A is economcal.\n" + ] + } + ], + "source": [ + "#Machine A\n", + "f1 = 2000 # annual benefit from better production quality in Rs\n", + "i = 10 # interest rate\n", + "i = 10/100\n", + "f2 = 12000 # salvage value in Rs\n", + "f3 = 8000 # operating and maintenance cost in Rs\n", + "I1 = 100000 # initial cost in Rs\n", + "n = 5 # years\n", + "p1 = (f1*((1+i)**n-1))/(i*(i+1)**n)\n", + "p2 = f2/(1+i)**n\n", + "c1 = p1 + p2 # cash in flows in Rs\n", + "p3 = (f3*((1+i)**n-1))/(i*(i+1)**n)\n", + "c2 = I1 + p3 # cash out flows in Rs\n", + "Pa = c1 - c2 # net P.W.in Rs\n", + "#Machine B\n", + "I2 = 60000 # initial cost in Rs\n", + "f4 = 16000 # operating and maintenance cost in Rs\n", + "f5 = 14000 # reconditioning at the end of third year in Rs\n", + "p4 = (16000*((1+i)**5-1))/(i*(1+i)**5)\n", + "p5 = f5/(1+i)**5\n", + "Pb = -I2 - p4 - p5 # net P.W.in Rs\n", + "print \" Net P.W.of Machine A= Rs %0.2f\\n Net P.W.of Machine B = Rs%0.2f\"%(Pa ,Pb)\n", + "print \" It is clear that Net P.W of Machine A is less nagative as compared to that of Machine B , therefore Machine A is economcal.\"\n", + "# Answers vary due to round off erro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.5 : page 254" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " P.W. of expenses for A = Rs 89421\n", + " P.W. of expenses for B = Rs 79441.68\n", + " As the expenses of machine B are less , so this is economical\n" + ] + } + ], + "source": [ + "#machine A\n", + "c1 = 20000 # manual cost in Rs\n", + "c2 = 40000 # operating cost in Rs\n", + "n1 = 2 # machine life in years\n", + "i = 10 # interest rate \n", + "i = 10/100\n", + "crf1 = ((1+i)**n1-1)/(i*(i+1)**n1) # capital recovery factor\n", + "pw1 = c1+c2*crf1 # present worth in Rs\n", + "# machine B\n", + "c3 = 50000 # manual cost in Rs\n", + "c4 = 30000 # operating cost in Rs\n", + "n2 = 4 # machine life in years\n", + "i = 10/100 # interest rate \n", + "crf2 = ((1+i)**n2-1)/(i*(i+1)**n2) # capital recovery factor\n", + "pw2 = c3+c4*crf2 # present worth in Rs for 4 years\n", + "pw3 = (pw2*crf1)/crf2 # present worth in Rs for 2 years\n", + "print \" P.W. of expenses for A = Rs %d\\n P.W. of expenses for B = Rs %0.2f\" %(pw1,pw3)\n", + "print \" As the expenses of machine B are less , so this is economical\"\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.6 : page 255" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Annual cost of machine A = Rs 16303.12\n", + " Annual cost of Machine B = Rs 15841.48\n", + " Machine B will be economical\n" + ] + } + ], + "source": [ + "#Machine A\n", + "i = 8 # # interest rate\n", + "i = i/100 # interest rate\n", + "n1 = 10 # economic life in years\n", + "CRF1 = i*(1+0.08)**n1/((1+i)**n1-1) # capital recovery factor\n", + "p1 = 46000 # first cost in Rs\n", + "s1 = 8000 # salvage value in Rs\n", + "o1 = 10000 # operating charges in Rs\n", + "AC1 = (p1-s1)*CRF1 + s1*i + o1 # annual cost in Rs\n", + "#Machine B\n", + "n2 = 15 # economic life in years\n", + "CRF2 = i*(1+0.08)**n2/((1+i)**n2-1) # capital recovery factor\n", + "p2 = 60000 # first cost in Rs\n", + "s2 = 10000 # salvage value in Rs\n", + "o2 = 9200 # operating charges in Rs\n", + "AC2 = (p2-s2)*CRF2 + s2*i + o2 # annual cost in Rs\n", + "print \" Annual cost of machine A = Rs %0.2f\\n Annual cost of Machine B = Rs %0.2f\" %(AC1, AC2 )\n", + "print \" Machine B will be economical\"\n", + "# Error in textbook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.7 : page 257" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ERR = 2.5813\n", + " Internal rate of return = 20.88 percent\n", + " Since Internal rate of return is > M.A.R.R , therefore project is feasible\n" + ] + } + ], + "source": [ + "a = 100000 # Ej(p/f,e%,j) in Rs\n", + "n = 5 # life in years\n", + "e = 20 # M.A.R.R.\n", + "e = e/100 # M.A.R.R.\n", + "i = e\n", + "A = 32000 # savings in Rs\n", + "s = 20000 # salvage value in Rs\n", + "b = ((A*(((i+1)**n)-1)/i)+s)/a # (F/p,I,5)\n", + "i2 = (b)**(1/n)-1 # internal rate of return\n", + "print \" ERR = %0.4f\\n Internal rate of return = %0.2f percent\"%(b , i2*100)\n", + "print \" Since Internal rate of return is > M.A.R.R , therefore project is feasible\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.9 : page 259" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ERRR = 21.25 percent\n", + "Since E.R.R.R is > M.A.R.R. therefore project is feasible.\n" + ] + } + ], + "source": [ + "e = 20 # M,A.R.R.\n", + "i = e # interest rste\n", + "i = i/100 \n", + "n = 5 # life in years\n", + "s = 32000 # annual net savings in Rs\n", + "p = 100000 # present worth in Rs\n", + "S = 20000 # salvage value in Rs\n", + "a = (p-S)*(i/((1+i)**n-1)) # (p-s)(A/F,e%,n)\n", + "E = (s-a)/p # E.R.R.R\n", + "print \"ERRR = %0.2f percent\"%(E*100)\n", + "print \"Since E.R.R.R is > M.A.R.R. therefore project is feasible.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.10 : page 259" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ERRR1 = 7.24 percent \n", + " ERRR2 = 8.87 percent\n", + " Only machine B is accepteble\n" + ] + } + ], + "source": [ + "# machine A\n", + "r_e1 = 9600 #cash flow in Rs\n", + "p1 = 46000 # intial cost in Rs\n", + "s = 0 # salvage value\n", + "e = 8 # M.A.R.R\n", + "e = e/100\n", + "i = 8 # investment rate\n", + "i = i/100\n", + "n = 6 # life in years\n", + "x = i/((1+i)**n-1) \n", + "ERRR1 = (r_e1 - (p1-s)*x)/p1\n", + "#machine B\n", + "r_e2 = 7200 #cash flow in Rs\n", + "p2 = 32000 # intial cost in Rs \n", + "ERRR2 = (r_e2 - (p2-s)*x)/p2\n", + "print \" ERRR1 = %0.2f percent \\n ERRR2 = %0.2f percent\"%(ERRR1*100 ,ERRR2*100)\n", + "print \" Only machine B is accepteble\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.11 : page 261" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Investment cost = Rs 21000\n", + " Unamortized investment = Rs 15000\n" + ] + } + ], + "source": [ + "pmv = 15000 # present market value in Rs\n", + "ss = 6000 # sum needed to make it serviceable in Rs\n", + "ic = ss + pmv # investment cost in Rs\n", + "pbv = 30000 # present book value in Rs\n", + "sv = 15000 # salvage value in Rs\n", + "ui = pbv - sv # unamortized investment in Rs\n", + "print \" Investment cost = Rs %d\\n Unamortized investment = Rs %d\"%(ic , ui)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.13 : page 262" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Existing machine = Rs 87931.647 \n", + " Proposed machine = Rs 72549.08\n", + " Since the equivalent annual cost of proposed machine is less than that of the existing machine , therefore, the replacement is justified.\n" + ] + } + ], + "source": [ + "# Existing machine\n", + "pmp = 100000 # present market price in Rs\n", + "io = 50000 # immediate overhauling in Rs\n", + "asl = 5 # additional service life in years\n", + "aoc = 50000 # annual operating cost in Rs\n", + "svo = 10000 # salvage value after overhauling in Rs\n", + "pc = io + pmp # present cost in Rs\n", + "i = 10 # interest rate\n", + "i = 10/100\n", + "crf1 = (i*(1+i)**asl)/((1+i)**asl - 1) # capital recovery factor\n", + "AC1 = (pc - svo)*crf1 + svo*i + aoc # average cost in Rs\n", + "# proposed machine\n", + "n = 10 # expected economic life in years\n", + "ic = 300000 # initial cost in Rs\n", + "sv = 100000 # salvage value in Rs\n", + "o = 30000 # annual operating cost in Rs\n", + "crf2 = (i*(1+i)**10)/((1+i)**10 - 1)\n", + "AC2 = (ic - sv)*crf2 + sv*i + o # average cost in Rs\n", + "print \" Existing machine = Rs %0.3f \\n Proposed machine = Rs %0.2f\"%(AC1 , AC2)\n", + "print \" Since the equivalent annual cost of proposed machine is less than that of the existing machine , therefore, the replacement is justified.\"\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.15 : page 265" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of years of economic repair life = 14.53 years\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "c = 20000 # first cost of machine in Rs\n", + "s = 1000 # scrap value in machine in Rs\n", + "b = 180 # annual increase in cost of repairs in Rs\n", + "n = sqrt(2*(c-s)/b) # years\n", + "print \"Number of years of economic repair life = %0.2f years\"%(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.16 : page 266" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The number of years in which the new machine will pay for itself = 3.945 years\n" + ] + } + ], + "source": [ + "Cn = 72000 # cost of new machine installed and tooled in Rs\n", + "Co = 28000 # cost of new machime installed and tooled in Rs\n", + "p = 16 # hourly pieces\n", + "Nn = 2200*p # estimated annual production on new machine \n", + "Ko = 17200 # present book value of old machine in Rs\n", + "So = 6400 # scrap value of old machine in Rs\n", + "Sn = 8000 # probable scrap value of old machine in at the end of its useful life Rs\n", + "oco = 2.5 # opreator cost per hour \n", + "mco= 48 # machine cost\n", + "ro = 10 # production rate per hour\n", + "ocn = 2 # opreator cost per hour \n", + "mcn= 62 # machine cost\n", + "rn = 16 # production rate per hour\n", + "Po = (oco+mco)/ro # labour and machine cost per unit on old machine in Rs\n", + "Pn = (ocn+mcn)/rn # labour and machine cost per unit on new machine in Rs\n", + "i = 6 # interest on investment\n", + "i = i/100\n", + "t = 6 # annual taxes\n", + "t = t/100\n", + "d = 10 # annual allowance for depreciation \n", + "d = d/100\n", + "m = 3 # annual allowance for maintenance\n", + "m = m/100\n", + "n = ((Cn-Sn)+(Ko-So))/((Nn*(Po-Pn)) - Cn*(i+t+d+m))\n", + "print \"The number of years in which the new machine will pay for itself = %0.3f years\"%(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.17 : page 267" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Unit production cost on turret lathe = Rs 9.18 per piece\n", + " Unit production cost on engine lathe = Rs 14.55 per piece\n", + " Turret lathe will be more economical than two engine lathe\n" + ] + } + ], + "source": [ + "C = 80000 # cost of new machine installed and tooled in Rs\n", + "nel = 2 # number of engine lathes\n", + "c = 32000*nel # first cost of engine lathe\n", + "N = 4000 # annual production of turret lathe\n", + "n = 3800 # annual production in engine lathe\n", + "nhp1 = 4 # hp motor\n", + "L = 2256*nhp1 # annual labour cost of turret lathe\n", + "w = 5 # wage in per hour\n", + "time = 2300 # hours\n", + "l = time*nel*w # labour cost of engine lathe\n", + "nhp2 = 2.5 # hp motor\n", + "pr = 0.35 # power rate in kwh\n", + "p = (nel*nhp2*746*time*pr)/1000 # power cost\n", + "P = (nhp1*746*time*pr)/1000 # power cost\n", + "F = 480 #saving\n", + "I = 6/100 # interest rate\n", + "T = 4/100 # tax rate\n", + "D = 10/100 # allowance for depreciation in engine lathe\n", + "M = 6/100 # allowance for maintenance in engine lathe\n", + "B = 55/100 # labour burden in engine lathe\n", + "i = 6/100 # interest rate\n", + "t = 4/100 # tax rate\n", + "d = 10/100 # allowance for depreciation in turret lathe\n", + "m = 6/100 # allowance for maintenance in turret lathe\n", + "X = (L + B*L + P +C*(I+T+D+M) - F)/N\n", + "x = (l+l*B + p + c*(i+t+d+m))/n\n", + "print \" Unit production cost on turret lathe = Rs %0.2f per piece\\n Unit production cost on engine lathe = Rs %0.2f per piece\"%(X , x)\n", + "print \" Turret lathe will be more economical than two engine lathe\"\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.18 : page 268" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Amount invested in turret lathe over the cost of engine lathe = Rs 79562\n" + ] + } + ], + "source": [ + "X = 9.16 # production cost on turret lathe\n", + "N = 4000 # annual requirement\n", + "c = X*N # cost for 4000 pieces on turret lathe\n", + "n = 3800 # production of engine lathe\n", + "l = 23000 # labour cost\n", + "p = 3002 # power cost\n", + "i = 6 # interest rate\n", + "i = i/100\n", + "t = 4 # tax rate\n", + "t = t/100\n", + "d = 10 # allowance for depreciation in turret lathe\n", + "d = d/100\n", + "m = 6 # allowance for maintenance in turret lathe\n", + "m = m/100\n", + "b = 55/100 #labour burden\n", + "a = i+t+d+m \n", + "tc = 64000 # first cost of engine lathe\n", + "c1 =(N*(l*(1+b)+p))/n+(tc*a) # cost for engine lathe\n", + "s = c1-c # savings \n", + "amt = s/a # amount invested in turret lathe over the cost of engine lathe\n", + "print \"Amount invested in turret lathe over the cost of engine lathe = Rs %d\"%(amt)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.19 : page 268" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Years in which new machine will pay for itself = 1.40 years\n" + ] + } + ], + "source": [ + "Cn = 60000 # cost of new machine\n", + "Sn = 5000 # scrap value of new machine\n", + "So = 1000 # scrap value of old machine\n", + "Nn = 200000 #annual production\n", + "I = 10 # interest rate\n", + "I = I/100\n", + "M = 7 # allowance for maintenane\n", + "M = M/100\n", + "T = 6 # annual taxes\n", + "T = T/100\n", + "D = 1/10 # allowance for depreciation\n", + "lco = 300 # labour charges for old machine\n", + "m = 12 # months\n", + "rco = 15000 # running charges for old machine\n", + "pro = 50000 # production rate for old machine\n", + "lcn = 500 # labour charges for new machine\n", + "rcn = 10000 # running charges for old machine\n", + "prn = 200000# production rate f\n", + "Po = (lco*m + rco)/pro # labour and machine cost on old machine\n", + "Pn = (lcn*m + rcn)/prn # labour and machine cost on new machine\n", + "n =((Cn-Sn)-So)/((Nn*(Po-Pn))-Cn*(I+T+D+M)) #years\n", + "print \"Years in which new machine will pay for itself = %0.2f years\"%(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.20 : page 270" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of pieces when one run is made and cost is Rs 3000 = 886 pieces\n", + "Annual production when 5 runs are made per year = 972 pieces\n", + "Annual production when fixture pay for itself = 1531 pieces\n", + "Economical investment when 1530 pieces for single run with savings Rs 1.50 per piece = Rs 2997\n", + "Annual profit when 950 pieces made per year in 6 runs and saving in labour cost Rs 2 per piece = Rs 635 per year\n" + ] + } + ], + "source": [ + "a = 1.50 #saving in labour\n", + "b=55/100 # burden applied on labour\n", + "T = 4/100 # allowance for taxes\n", + "M = 5/100 # allowance for maintenance\n", + "I = 8/100 # interest rate\n", + "D = 50/100 # allowance for depreciation\n", + "H = 2 # years to amortize the investment\n", + "S = 50 # yearly cost for set up\n", + "C = 3000 # first cost\n", + "N1 = (C*(I+T+M+D)+S)/(a*(1+b)) # annual production when 1 run is made\n", + "r = 5 # number of runs\n", + "N2 = (C*(I+T+M+D)+S*r)/(a*(1+b)) # annual production when 1 run is made\n", + "D1 = 100/100 # allowance for depreciation\n", + "N3 = (C*(I+T+M+D1)+S)/(a*(1+b)) # production when D = 100\n", + "n1 = 1530 # pieces\n", + "C1 = (n1*(a*(1+b))-S)/(I+T+M+D1) # economical investment\n", + "n2 = 950 # pieces\n", + "a1 = 2 # labour cost\n", + "r1 = 6 # number of runs\n", + "S1 = r1*S # yearly cost\n", + "V = n2*a1*(1+b)-C*(I+T+M+D)-S1 #profit\n", + "print \"Number of pieces when one run is made and cost is Rs 3000 = %d pieces\"%(N1)\n", + "print \"Annual production when 5 runs are made per year = %d pieces\"%(N2)\n", + "print \"Annual production when fixture pay for itself = %d pieces\"%(N3)\n", + "print \"Economical investment when 1530 pieces for single run with savings Rs 1.50 per piece = Rs %d\"%(C1)\n", + "print \"Annual profit when 950 pieces made per year in 6 runs and saving in labour cost Rs 2 per piece = Rs %d per year\"%(V)\n", + "# 'Answers vary due to round off error'\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.21 : page 271" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total number of pieces produced = 20114\n" + ] + } + ], + "source": [ + "a = 0.125 #saving in labour cost per unit\n", + "b = 0.4 # overhead applied on direct labour saved\n", + "D = 1/2 # allowance for depreciation\n", + "C = 2400 # first cost\n", + "I = 6/100 # interest rate\n", + "T = 4/100 # allowance for taxes\n", + "M = 10/100 # allowance for maintenance\n", + "S = 80 # cost of set up\n", + "N = (C*(I+T+D+M)+S)/(a*(1+b)) # pieces per year\n", + "t = N*2 # total number of pieces\n", + "print \"Total number of pieces produced = %d\"%(t)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.22 : page 271" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total number of pieces produced = 24685\n" + ] + } + ], + "source": [ + "a = 0.125 # saving in labour cost per unit\n", + "b = 0.4 # overhead applied on direct labour saved\n", + "D = 1/2 # allowance for depreciation\n", + "C = 2400 # first cost\n", + "I = 6/100 # interst rate\n", + "T = 4/100 # allowance for taxes\n", + "M = 10/100 # allowance for maintenance\n", + "n = 6 # number of baches\n", + "S = 80 # cost of set up\n", + "s1 = S*n # total set up cost\n", + "N = (C*(I+T+D+M)+s1)/(a*(1+b)) # pieces\n", + "t = N*2 # total number of pieces\n", + "print \"Total number of pieces produced = %d\"%(t)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.23 : page 271" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Number of years taken by fixture of Rs 2000 = 5.33 years\n", + " profit made when fixture of Rs 1600 = Rs 175\n" + ] + } + ], + "source": [ + "C1 = 2000 # first cost small tool in Rs\n", + "N = 5000 # parts per year\n", + "n = 5 # number of batches\n", + "S = 50*n # cost of set up\n", + "a = 0.15 # saving in labour cost per unit\n", + "b = 50/100 # burden applied on direct labour saved\n", + "I = 10/100 # interest rate\n", + "T = 5/100 # allowance for tax\n", + "M = 10/100 # allowance for maintenance\n", + "H = C1/((N*a*(1+b))-(C1*(I+T+M))-S) # years\n", + "C2 = 1600 # cost of fixture\n", + "D = 1/H # allowance for depreciation\n", + "V = N*a*(1+b)-C2*(I+T+D+M)-S # profit\n", + "print \" Number of years taken by fixture of Rs 2000 = %0.2f years\\n profit made when fixture of Rs 1600 = Rs %d\"%(H ,V)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.24 : page 272" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum number of components to be produced if cost of fixture to be recovered = 500\n" + ] + } + ], + "source": [ + "c1 = 3 # machine cost per component using existing euipment in Rs\n", + "c2 = 1 # machine cost using fixture in Rs\n", + "s = c1 - c2 # saving in machine cost per piece\n", + "f= 1000 # cost of fixture in Rs\n", + "N = f/2 # components\n", + "print \"Minimum number of components to be produced if cost of fixture to be recovered = %d\"%(N) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.25 : page 272" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of pieces which must be produced to break even so that fixture may pay for itself = 7174 pieces per year\n" + ] + } + ], + "source": [ + "C = 1000 # cost of fixture\n", + "Co = 700 # cost of old fixture\n", + "Cs = 250 # scrap value\n", + "a = 10 #saving per piece in paisa\n", + "a = a/100\n", + "b = 30 # overhead applied on direct labour saved\n", + "b = b/100\n", + "I = 8 # interest rate\n", + "I = I/100\n", + "M = 3 # allowance for maintenance\n", + "M = M/100\n", + "T = 12 # allowance for tax\n", + "T = T/100\n", + "H = 3/2 # amortization\n", + "D = 1/H # allowance for depreciation\n", + "N = (C*(I+T+D+M)+(Co-Cs)*I)/(a*(1+b)) # pieces per year\n", + "print \"Number of pieces which must be produced to break even so that fixture may pay for itself = %d pieces per year\"%(N)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.26 : page 273" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost for new fixture = Rs 1264\n" + ] + } + ], + "source": [ + "N = 9000 # number of pieces\n", + "Co = 700 # cost of old fixture\n", + "Cs = 250 # scrap value\n", + "a = 10 #saving per piece in paisa\n", + "a = a/100\n", + "b = 30 # overhead applied on direct labour saved\n", + "b = b/100\n", + "I = 8 # interest rate\n", + "I = I/100\n", + "M = 3 # allowance for maintenance\n", + "M = M/100\n", + "T = 12 # allowance for tax\n", + "T = T/100\n", + "H = 3/2 # amortization\n", + "D = 1/H # allowance for depreciation\n", + "C = (N*a*(1+b)-(Co-Cs)*I)/(I+T+D+M) # cost in Rs\n", + "print \"Cost for new fixture = Rs %d\"%(C)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.27 : page 273" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time taken to amortize the fixture = 2.7 years\n" + ] + } + ], + "source": [ + "n = 6500 # yearly production\n", + "c = 1350 # cost of fixture\n", + "a = 10 #saving per piece in paisa\n", + "a = a/100\n", + "b = 30 # overhead applied on direct labour saved\n", + "b = b/100\n", + "I = 8 # interest rate\n", + "I = I/100\n", + "M = 3 # allowance for maintenance\n", + "M = M/100\n", + "T = 12 # allowance for tax\n", + "T = T/100\n", + "co = 700 # cost of old fixture\n", + "cs = 250 # scrap value\n", + "H = (c)/((n*a*(1+b))-I*(co-cs)-c*(I+T+M)) # amotization in years\n", + "print \"Time taken to amortize the fixture = %0.1f years\"%(H)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.28 : page 273" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "profit = Rs 237 \n" + ] + } + ], + "source": [ + "n = 9000 # production of pieces per year\n", + "c = 1000 # fixture costs\n", + "Co = 700 # cost of old fixture\n", + "Cs = 250 # scrap value\n", + "a = 10 #saving per piece in paisa\n", + "a = a/100\n", + "b = 30 # overhead applied on direct labour saved\n", + "b = b/100\n", + "I = 8 # interest rate\n", + "I = I/100\n", + "M = 3 # allowance for maintenance\n", + "M = M/100\n", + "T = 12 # allowance for tax\n", + "T = T/100\n", + "h = 1.5 # amortization\n", + "D = 1/h # allowance for depreciation\n", + "V = (n*a*(1+b))-(c*(I+T+D+M))-((Co-Cs)*I) # profit\n", + "print \"profit = Rs %d \"%(V) \n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.29 : page 274" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Break even point = 1000 pieces \n", + " If fixed cost is 125000 and variable cost is Rs 90 per unit then break even point = 1136 pieces\n", + " Number of components to get profit of Rs 20000 = 1200 pieces\n" + ] + } + ], + "source": [ + "fc1 = 100000 # fixed cost in Rs\n", + "vc1 = 100 # variable cost in Rs per unit\n", + "sp = 200 # selling price in Rs per unit\n", + "q1 = fc1/(sp-vc1) # quantity of production at break even point\n", + "fc2 = 125000 # fixed cost in Rs\n", + "vc2 = 90 # variable cost in Rs per unit\n", + "q2 = fc2/(sp-vc2) # quantity of production at break even point\n", + "p = 20000 # profit in Rs\n", + "q3 = (fc1 + p)/(sp-vc1) # quantity of production at profit of Rs 20000\n", + "print \" Break even point = %d pieces \\n If fixed cost is 125000 and variable cost is Rs 90 per unit then break even point = %d pieces\\n Number of components to get profit of Rs 20000 = %d pieces\"%(q1 , q2 ,q3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.30 : page 275" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Break even point = 7500 pieces\n" + ] + } + ], + "source": [ + "fc1 = 12000 # fixed cost for machine A in Rs\n", + "fc2 = 48000 # fixed cost for machine B in Rs\n", + "n1 = 6 # unit production cost in Rs per piece for machine A\n", + "n2 = 1.2 # unit production cost in Rs per piece for machine B\n", + "q = (fc2-fc1)/(n1-n2) # break even point\n", + "print \"Break even point = %d pieces\"%(q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.31 : page 275" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Break even quantity for a component which can be produced on either the capstan lathe or single spindle automatic = 1373 pieces\n" + ] + } + ], + "source": [ + "# capstan lathe\n", + "tc1 = 300 # total cost in Rs\n", + "mc1 = 2.5 # material cost per piece in Rs\n", + "olc1 = 5 # operation labour cost per hour in Rs\n", + "ct1 = 5 # cycle time per piece in min.\n", + "slc1 = 20 # setting up labour cost in Rs per hour\n", + "st1 = 1 # setting up time in hour\n", + "mo1 = 300/100 # machine over heads of operation labour cost\n", + "o1 = mo1*olc1 # overheads of capstan lathe in Rs per hour\n", + "fc1 = tc1 + slc1*st1 + o1*st1 # fixed cost of capstan lathe in Rs\n", + "vc1 = mc1 + (olc1*ct1)/60 + (o1*ct1)/60 # variable cost in Rs\n", + "# Automatic (single spindle) \n", + "tc2 = 300 # total cost in Rs\n", + "cc2 = 1500 # cost of cams in Rs\n", + "mc2 = 2.5 # material cost per piece in Rs\n", + "olc2 = 2 # operation labour cost per hour in Rs\n", + "ct2 = 1 # cycle time per piece in min.\n", + "slc2 = 20 # setting up labour cost in Rs per hour\n", + "st2 = 8 # setting up time in hour\n", + "mo2 = 1000/100 # machine over heads of operation labour cost\n", + "o2 = mo2*olc2 # overheads of single spindle in Rs per hour\n", + "fc2 = tc2 + cc2 + slc2*st2 + o2*st2 # fixed cost of single spindle in Rs\n", + "vc2 = mc2 + (olc2*ct2)/60 + (slc2)/60 # variable cost in Rs\n", + "q = (fc2-fc1)/(vc1-vc2) # break even quantity\n", + "print \" Break even quantity for a component which can be produced on either the capstan lathe or single spindle automatic = %d pieces\"%(q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.32 : page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Break even point = 43 pieces\n" + ] + } + ], + "source": [ + "# Engine lathe\n", + "t = 12 # time/piece in min.\n", + "l = 7 # overhead cost/hr\n", + "o = 4 # direct labour cost/hr\n", + "s = 2 # set up time in hour\n", + "sr = 8 # set up rate per \n", + "# turret lathe\n", + "T = 5 # time/piece in min.\n", + "L = 5 # overhead cost/hr\n", + "O = 8 # direct labour cost/hr\n", + "S = 8 # set up time in hour\n", + "SR = 8 # set up rate per \n", + "q = 60*(S*SR-s*sr)/(t*(l+o)-T*(L+O)) # break even point\n", + "q = round(q)\n", + "print \"Break even point = %d pieces\"%(q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.33 : page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Break even point = 384000 pieces\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "fc1 = 80000 # fixed cost for turret lathe in Rs\n", + "fc2 = 32000 # fixed cost for engine lathe in Rs\n", + "n1 = 16 # production of pieces per year in turret lathe\n", + "n2 = 10 # production of pieces per year in engine lathe\n", + "vc1 = 2 #operators cost in turret lathe\n", + "vc2 = 2.5 # operators cost in engine lathe\n", + "Q=symbols('Q')\n", + "expr = (fc1+1/n1*vc1*Q)-(fc2+2.5*Q/10)\n", + "Q=solve(expr,Q)[0]\n", + "print \"Break even point = %d pieces\"%(Q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.34 : page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The point at which the automatic lathe will be justified = 5.56 \n" + ] + } + ], + "source": [ + "st1 = 15 # set up time for engine lathe in min.\n", + "ut1 = 15 # unit time for engine lathe in min.\n", + "st2 = 90 # set up time for automatic lathe in min.\n", + "ut2 = 1.5 # unit time for engine lathe in min.\n", + "q = (st2-st1)/(ut1-ut2) # quantity of production\n", + "print \"The point at which the automatic lathe will be justified = %0.2f \"%(q)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.35 : page 278" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantity of pieces at Break even point = 86 pieces\n" + ] + } + ], + "source": [ + "# Automatic lathe\n", + "p = 30 # number of pieces produced per hour \n", + "l = 4 # labour rate per hour in Rs\n", + "d = 4.50 # hourly depreciation rate per machine in hour\n", + "s = 4 # set up time in hour\n", + "# turret lathe\n", + "P = 10 # number of pieces produced per hour \n", + "L = 4 # labour rate per hour in Rs\n", + "D = 1.50 # hourly depreciation rate per machine in hour\n", + "S = 2 # set up time in hour\n", + "q = (P*p*(S*L+S*D-s*l-s*d))/(P*(l+d)-p*(L+D)) # quantity of pieces at break even point\n", + "print \"Quantity of pieces at Break even point = %d pieces\"%(q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.36 : page 279" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantity of production at break even point = 760 pieces\n" + ] + } + ], + "source": [ + "Pa = 8.4 # unit tool process cost for method A in Rs\n", + "Pb = 14.8 # unit tool process cost for method B in Rs\n", + "Ta = 6480 #total tool cost for method A in Rs \n", + "Tb = 1616 #total tool cost for method B in Rs\n", + "q = (Ta-Tb)/(Pb-Pa) # break even point\n", + "print \"Quantity of production at break even point = %d pieces\"%(q) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.37 : page 283" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(i) Cost per unit for machine A = Rs 2.75\n", + " Cost per unit machine B = Rs 1.75\n", + "machine B will be preferred\n", + "(ii) Cost per unit for machine A = Rs 3.88\n", + " Cost per unit machine B = Rs 4.00\n", + "machine A will be preferred\n", + "(iii) Annual production to make cost per piece equal for two machines = 4500 pieces\n" + ] + } + ], + "source": [ + "# machine A\n", + "ic1 = 50000 # initial cost\n", + "hoc1 = 10 # hourly operating charges\n", + "pp1= 5 # pieces produced per hour\n", + "i = 15 # interest rate\n", + "i = i/100\n", + "oh = 2000 # operating hours\n", + "fc1 = ic1*i # fixed cost\n", + "vc1 = oh*hoc1 # variable cost\n", + "tc1 = fc1+vc1 # total charges\n", + "ao1 = oh*pp1 # annual output\n", + "c1 = tc1/ao1 # cost per unit\n", + "# machine B\n", + "ic2 = 80000 # initial cost\n", + "hoc2 = 8 # hourly operating charges\n", + "pp2= 8 # pieces produced per hour\n", + "fc2 = ic2*i # fixed cost\n", + "vc2 = oh*hoc2 # variable cost\n", + "tc2 = fc2+vc2 # total charges\n", + "ao2 = oh*pp2 # annual output\n", + "c2 = tc2/ao2 # cost per unit\n", + "print \"(i) Cost per unit for machine A = Rs %0.2f\\n Cost per unit machine B = Rs %0.2f\"%(c1,c2)\n", + "print \"machine B will be preferred\"\n", + "# machine A\n", + "ao3 = 4000 # annual output\n", + "oc3 = ao3*hoc1/pp1 # operating charges \n", + "tc3 = oc3+fc1 # total annual charge\n", + "c3 = tc3/ao3 # cost/piece \n", + "# machine B\n", + "ao4 = 4000 # annual output\n", + "oc4 = ao4*hoc2/pp2 # operating charges \n", + "tc4 = oc4+fc2 # total annual charge\n", + "c4 = tc4/ao4# cost/piece\n", + "print \"(ii) Cost per unit for machine A = Rs %0.2f\\n Cost per unit machine B = Rs %0.2f\"%(c3,c4)\n", + "print \"machine A will be preferred\"\n", + "A = hoc1/pp1 # operating cost per piece on machine A\n", + "B = hoc2/pp2 # operating cost per piece on machine B\n", + "Q = fc2 - fc1 # annual production\n", + "print \"(iii) Annual production to make cost per piece equal for two machines = %d pieces\"%(Q )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.38 : page 284" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Sales at break even point = 88000 units\n", + " Sales at net income of Rs9000 and corporate tax rate being 5.5 = Rs 102645.50\n", + " Sales per unit if B.E.P brought down to 10000 units = Rs 8.80 per unit\n" + ] + } + ], + "source": [ + "As = 80000 # annual sales in Rs\n", + "vc = 64000 # variable expenses in Rs\n", + "c = 16000 # contribution in Rs\n", + "fc = 24000 # fixed expenses in Rs\n", + "l = 8000 # losses in Rs\n", + "p = 9000 # profit in Rs\n", + "s1 = fc + vc # sales at B.E.P in Rs\n", + "s2 = (fc + vc + p)/0.945 # sales at net income of Rs9000 and corporate tax rate being 5.5%\n", + "q = 10000 # quantity of units\n", + "sp = (fc+vc)/q # selling price per unit in Rs\n", + "print \" Sales at break even point = %d units\"%(s1 )\n", + "print \" Sales at net income of Rs9000 and corporate tax rate being 5.5 = Rs %0.2f\\n Sales per unit if B.E.P brought down to 10000 units = Rs %0.2f per unit\" %(s2 , sp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.39 : page 285" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Break even point = 1000 pieces\n" + ] + } + ], + "source": [ + "fc = 55000 # fixed cost in Rs\n", + "vc = 45 # variable cost per piece in Rs\n", + "sp = 100 # selling price per piece in Rs\n", + "p = (vc/sp)*100 # percentage of variable cost to \n", + "pm = 100 - p # profit margin\n", + "bep = ((55000/55)*100)/100 # Break even point\n", + "print \"Break even point = %d pieces\"%(bep)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.40 : page 288" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Total cost per piece for capstan lathe = Rs 5.99\n", + " Total cost per piece for turret lathe = Rs 7.47\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "f1 = 335 # fixed cost in Rs for capstan lathe\n", + "k = 0.25 # stock carrying factor in paise per piece\n", + "k = k/100\n", + "N1 = sqrt(f1/k) # pieces for capstan lathe\n", + "a1 = 4.16 # variable cost per piece for capstan lathe\n", + "tc1 = a1+f1/N1+k*N1 # total cost for capstan lathe\n", + "f2 = 2120 # fixed cost in Rs for turret lathe\n", + "N2 = sqrt(f2/k) # pieces for turret lathe \n", + "a2 = 2.863 # variable cost per piece for turret lathe\n", + "tc2 = a2+f2/N2+k*N2 # total cost for turret lathe\n", + "print \" Total cost per piece for capstan lathe = Rs %0.2f\\n Total cost per piece for turret lathe = Rs %0.2f\"%(tc1 , tc2)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.41 : page 289" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Economic order quantity = 2390 or 2400 units\n", + " Totl cost = Rs 41020 per year\n", + " I = 0.6944\n", + " It is clear that inventory cost will get increased very greatly\n" + ] + } + ], + "source": [ + "from sympy import symbols, diff, solve\n", + "R=500 # cost of ordering in Rs per order \n", + "A=12000 #annual consumption units\n", + "C=3.00 # unit cost of item\n", + "K=1.5 # unit storage cost\n", + "I1=0.2 # interest rate\n", + "N = symbols('N')\n", + "G =C*A+I1*C*N/2+K*N/2+A*R/N # total cost per year\n", + "expr=G.diff(N)\n", + "N=solve(expr, N)[1]\n", + "O = A/N # number of orders\n", + "N1 = 2400 # units\n", + "tc = C*A + I1*C*N1/2 + K*N1/2 + A*R/N1 # total cost in Rs\n", + "I2 = (2*R*A)/(C*N1**2) \n", + "print \" Economic order quantity = %d or %d units\\n Totl cost = Rs %d per year\\n I = %0.4f\"%(N,N1,tc,I2)\n", + "print \" It is clear that inventory cost will get increased very greatly\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.42 : page 291" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Total cost for lowest cost curve = Rs 300062.50\n", + " Total cost for next higher curve = Rs 306123.72\n", + " Total cost for highest curve = Rs 10320001.00 \n", + " Comparing all total cost lowest is Rs 300,062.50 for an order quantity of 10,000.\n", + " N = 10,000 and No. of orders = 4\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "A = 40000 # number of units per year\n", + "I = 25 # carrying cost in percent\n", + "I = I/100\n", + "C1 = 8 # cost for 0 < N < 1000 per unit in Rs\n", + "C2 = 7.5 # cost for 1000 < N < 10000 per unit in Rs\n", + "C3 = 7.25 # cost for N >= 10000 per unit in Rs\n", + "R = 250 # ordering cost per order in Rs\n", + "N = 10000 # units\n", + "N1 = sqrt(2*R*A/(I*C3)) # optimal quantity for lowest curve\n", + "G1= C3*A+(A*R)/N+I*C3*N/2 # total cost in Rs\n", + "N2 = sqrt(2*R*A/(I*C2)) # optimal quantity for higher curve\n", + "G2= C2*A+(A*R)/N2+I*C2*N2/2 # total cost in Rs\n", + "N3 = sqrt(2*R*A/(I*C1)) # optimal quantity for highest curve\n", + "G3 = C1*A+(A*R)+1 # total cost in Rs\n", + "print \" Total cost for lowest cost curve = Rs %0.2f\\n Total cost for next higher curve = Rs %0.2f\\n Total cost for highest curve = Rs %0.2f \"%(G1,G2,G3)\n", + "print \" Comparing all total cost lowest is Rs 300,062.50 for an order quantity of 10,000.\"\n", + "print \" N = 10,000 and No. of orders = 4\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 5.43 : page 291" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lot size = 8333 components\n" + ] + } + ], + "source": [ + "from math import ceil\n", + "from sympy import symbols, diff, solve\n", + "c = 50000 # components\n", + "R=500 # cost of ordering in Rs per order \n", + "A=12000 #annual consumption units\n", + "C=3.00 # unit cost of item\n", + "K=1.50 # unit storage cost\n", + "I=0.2 # interest rate\n", + "\n", + "N = symbols('N')\n", + "G=0.02*N+1500000/N\n", + "y=G.diff(N)\n", + "N=solve(y, N)[1]\n", + "l = c/N # number of lots\n", + "l = ceil(l)\n", + "ls = c/l # lot size\n", + "print \"The lot size = %d components\"%ls" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter9_2.ipynb b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter9_2.ipynb new file mode 100644 index 00000000..549b20dd --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/Chapter9_2.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 : Limits, Tolerances & Fits" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.1 : Page 376" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Hole tolerence = 0.02 mm\n", + " Shaft tolerence = 0.02 mm\n", + " Allowance = 0.03 mm\n" + ] + } + ], + "source": [ + "h1 = 37.52 # high limit of hole in mm\n", + "h2 = 37.50 # low limit of hole in mm\n", + "s1 = 37.47 # high limit of shaft in mm\n", + "s2 = 37.45 # low limit of shaft in mm\n", + "ht = h1-h2 # hole tolerence in mm\n", + "st = s1-s2 # shaft tolerence in mm\n", + "a = h2-s1 # allowance in mm\n", + "print \" Hole tolerence = %0.2f mm\\n Shaft tolerence = %0.2f mm\\n Allowance = %0.2f mm\"%(ht ,st ,a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.2 : Page 377" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " High limit of hole = 75.075 mm\n", + " High limit of shaft = 74.90 mm\n", + " Low limit of shaft = 74.825 mm\n" + ] + } + ], + "source": [ + "t = 0.075 # tolerence in mm\n", + "h2 = 75 # low limit of hole in mm\n", + "a = 0.10 # allowance in mm\n", + "h1 = h2+t # high limit of hole in mm\n", + "s1 = h2-a # high limit of shaft in mm\n", + "s2 = s1-t # low limit of shaft in mm\n", + "print \" High limit of hole = %0.3f mm\\n High limit of shaft = %0.2f mm\\n Low limit of shaft = %0.3f mm\"%(h1 ,s1 , s2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.3 : Page 377" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " High limit of hole = 75.225 mm\n", + " Low limit of shaft = 75.2625 mm\n", + " High limit of shaft = 75.4875 mm\n" + ] + } + ], + "source": [ + "t = 0.225 # tolerence in mm\n", + "h2 = 75 # low limit of hole in mm\n", + "a = 0.0375 # interference in mm\n", + "h1 = h2+t # high limit of hole in mm\n", + "s2 = h1+a # low limit of shaft in mm\n", + "s1 = s2+t # high limit of shaft in mm\n", + "print \" High limit of hole = %0.3f mm\\n Low limit of shaft = %0.4f mm\\n High limit of shaft = %0.4f mm\"%(h1 ,s2 , s1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.4 : Page 378" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tolerence for hole = 0.011 mm\n", + " Tolerence for shaft = 0.007 mm\n", + " Fundamental deviation for hole = 0.00 mm\n", + " Fundamental deviation for shaft = 0.001 mm\n", + " Low limit of hole = 60 mm\n", + " High limit of hole = 60.011 mm\n", + " High limit of shaft = 59.99 mm\n", + " Low limit of hole = 59.99 mm\n" + ] + } + ], + "source": [ + "s1 = 50 # diameter of step1 in mm\n", + "s2 = 80 # diameter of step2 in mm\n", + "d = (s1*s2)**(1/2) # mm\n", + "i = (0.45*(d)**(1/3)+0.001*d)/10**3 # mm\n", + "t1 = 25*i # tolerence for hole in mm\n", + "t2 = 16*i # tolerence for shaft in mm\n", + "a1 = 0 # fundamental deviation for hole in mm\n", + "a2 = 5.5*(d)**0.41 # fundamental deviation for shaft in microns\n", + "a2 = a2/10**4 # mm\n", + "h1 = 60 # low limit of hole in mm\n", + "h2 = h1+t1 # high limit of tolerence in mm\n", + "s1 = h1 - t2 # high limit of shaft in mm\n", + "s2 = s1-t2 # low limit of shaft in mm\n", + "print \" Tolerence for hole = %0.3f mm\\n Tolerence for shaft = %0.3f mm\"%(t1 ,t2)\n", + "print \" Fundamental deviation for hole = %0.2f mm\\n Fundamental deviation for shaft = %0.3f mm\"%(a1 , a2 )\n", + "print \" Low limit of hole = %d mm\\n High limit of hole = %0.3f mm\\n High limit of shaft = %0.2f mm\\n Low limit of hole = %0.2f mm\"%(h1 ,h2 , s1 , s2)\n", + "# Answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.5 : Page 379" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Basic size = 30 mm\n", + " Shaft tolerence = 0.013 mm\n", + " Hole tolerence = 0.020 mm\n", + " High limit of shaft = 29.995 mm\n", + " Low limit of shaft = 29.982 mm\n", + " High limit of hole = 30.020 mm \n", + " Low limit of hole = 30.000 mm\n", + " Maximum clearance = 0.038 mm\n", + " Minimum clearance = 0.005 mm\n" + ] + } + ], + "source": [ + "b = 30 # basic size in mm\n", + "s1 = 0.005 # maximum limit of shaft in mm\n", + "s2 = 0.018 # minimum limit of shaft in mm\n", + "h1 = 0.020 # maximum limit of hole in mm\n", + "h2 = 0.0 # minimum limit of hole in mm\n", + "t1 = s2-s1 # shaft tolerence in mm\n", + "t2 = h1-h2 # hole tolerence in mm\n", + "Sh = b-s1 # high limit of shaft in mm\n", + "Sl = b-s2 # low limit of shaft in mm\n", + "Hh = b+h1 # high limit of hole in mm\n", + "Hl = b+h2 # low limit of hole in mm\n", + "c1 = Hh-Sl # maximum clearance in mm\n", + "c2 = Hl-Sh # minimum clearance in mm\n", + "print \" Basic size = %d mm\\n Shaft tolerence = %0.3f mm\\n Hole tolerence = %0.3f mm\"%(b,t1,t2)\n", + "print \" High limit of shaft = %0.3f mm\\n Low limit of shaft = %0.3f mm\\n High limit of hole = %0.3f mm \\n Low limit of hole = %0.3f mm\"%(Sh,Sl,Hh,Hl)\n", + "print \" Maximum clearance = %0.3f mm\\n Minimum clearance = %0.3f mm\"%(c1,c2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.6 : Page 379" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Hole basis system \n", + " Lower limit of hole = 25 mm\n", + " Higher limit of hole = 25.006 mm\n", + " Higher limit of shaft = 24.990 mm \n", + " Lower limit of shaft = 24.986 mm\n", + " Shaft basis system \n", + " high limit of shaft = 25.000 mm\n", + " lower limit of shaft = 24.996 mm\n", + " lower limit of hole = 25.010 mm\n", + " upper limit of hole = 25.016 mm\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "minc = 0.01 # minimum clearance in mm\n", + "bs = 25 # basic size in mm\n", + "maxc = 0.02 # maximum clearance in mm\n", + "x=symbols('x')\n", + "y=1.5*x\n", + "expr = y+0.01+x-0.02\n", + "x=solve(expr, x)[0]\n", + "y=1.5*x\n", + "# hole basis system\n", + "low_h1 = bs # low limit of hole in mm\n", + "high_h1 = bs+y # high limit of hole in mm\n", + "u_s = low_h1-minc # upper limit of shaft in mm\n", + "low_s1 = u_s-x # lower limit of shaft in mm\n", + "# shaft basis system\n", + "high_s = bs # high limit of shaft in mm\n", + "low_s2 = bs-x # low limit of shaft in mm\n", + "low_h2 = bs+minc # low limit of hole in mm\n", + "high_h2 = low_h2+y # high limit of hole in mm\n", + "print \" Hole basis system \\n Lower limit of hole = %d mm\\n Higher limit of hole = %0.3f mm\\n Higher limit of shaft = %0.3f mm \\n Lower limit of shaft = %0.3f mm\"%(low_h1,high_h1,u_s,low_s1)\n", + "print \" Shaft basis system \\n high limit of shaft = %0.3f mm\\n lower limit of shaft = %0.3f mm\\n lower limit of hole = %0.3f mm\\n upper limit of hole = %0.3f mm\"%(high_s,low_s2,low_h2,high_h2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.7 : Page 380" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " lower limit of hole = 100.002 mm\n", + " higher limit of hole = 100.010 mm\n", + " upper limit of shaft = 99.989 mm\n", + " lower limit of shaft = 99.978 mm\n" + ] + } + ], + "source": [ + "from math import ceil\n", + "bs = 100 # basic size in mm\n", + "s1 = 120# diameter of step1 in mm\n", + "s2 = 80 # diameter of step2 in mm\n", + "d = (s1*s2)**(1/2) # mm\n", + "d = ceil(d)\n", + "i = (0.45*(d)**(1/3)+0.001*d)/10**3 # mm\n", + "t1 = 16*i # tolerence for hole in mm\n", + "t2 = 25*i # tolerence for shaft in mm\n", + "G = (2.5*(d)**0.34)/10**3 # fundamental deviation for hole in mm\n", + "e = (11*(d)**0.11)/10**3 # fundamental deviation for shaft in microns\n", + "# Hole\n", + "LLh = bs+G # lower limit of hole in mm\n", + "HLh = LLh+t1 # higher limit of hole in mm\n", + "# shaft\n", + "ULs = bs-e # upper limit of shaft in mm\n", + "LLs = ULs-t2 # lower limit of shaft in mm\n", + "print \" lower limit of hole = %0.3f mm\\n higher limit of hole = %0.3f mm\\n upper limit of shaft = %0.3f mm\\n lower limit of shaft = %0.3f mm\"%(LLh,HLh,ULs,LLs)\n", + "# Error in textbook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.8 : Page 381" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hole basis system \n", + " Lower limit of journal = 100 mm\n", + " Higher limit of bearing = 100.005 mm\n", + " Higher limit of journal = 99.998 mm \n", + " Lower limit of journal = 99.994 mm\n", + "shaft basis system \n", + " upper limit of journal = 100.000 mm\n", + " lower limit of journal = 99.996 mm\n", + " lower limit of bearing = 100.002 mm\n", + " upper limit of bearing = 100.007 mm\n" + ] + } + ], + "source": [ + "tb = 0.005 # tolerence on bearing in mm\n", + "tj = 0.004 # tolerence on journal in mm\n", + "a = 0.002 # allowance in mm\n", + "#hole-basis system\n", + "b = 100 # basic size in mm\n", + "Bl = b # lower limit of bearing in mm\n", + "Bh = Bl+tb # higher limit of bearing in mm\n", + "Jh = Bl-a # higher limit of journal in mm\n", + "Jl1 = Jh - tj # lower limit of journal in \n", + "# shaft-basis system\n", + "Ju = b # upper limit of journal in mm\n", + "Jl2 = Ju-tj # lower limit of journal in mm\n", + "Bl = Ju+a # lower limit of bearing in mm\n", + "Bu = Bl+tb # upper limit of bearing in mm\n", + "print \"Hole basis system \\n Lower limit of journal = %d mm\\n Higher limit of bearing = %0.3f mm\\n Higher limit of journal = %0.3f mm \\n Lower limit of journal = %0.3f mm\"%(Bl,Bh,Jh,Jl1)\n", + "print \"shaft basis system \\n upper limit of journal = %0.3f mm\\n lower limit of journal = %0.3f mm\\n lower limit of bearing = %0.3f mm\\n upper limit of bearing = %0.3f mm\"%(Ju,Jl2,Bl,Bu)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.9 : Page 381" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Hole basis system \n", + " upper limit of shaft = 100.120 mm\n", + " lower limit of hole = 100.000 mm\n", + " higher limit of hole = 100.035 mm\n", + " lower limit of shaft = 100.085 mm\n", + " Shaft basis system \n", + " upper limit of shaft = 100.000 mm\n", + " lower limit of shaft = 99.965 mm\n", + " lower limit of hole = 99.880 mm\n", + " upper limit of hole = 99.915 mm\n" + ] + } + ], + "source": [ + "# Hole-basis system\n", + "b = 100 # basic size in mm\n", + "i1 = 0.12 # maximum interference in mm\n", + "i2 = 0.05 # minimum interfernce in mm\n", + "t = (i1-i2)/2 # tolerence in mm\n", + "Sh = b+i1 # upper limit of shaft in mm\n", + "Hl = b # lower limit of hole in mm\n", + "Hh = b+t # higher limit of hole in mm\n", + "Sl1 = Sh-t #lower limit of shaft in mm \n", + "# shaft-basis system\n", + "Su = b # upper limit of shaft in mm\n", + "Sl2 = b-t # lower limit of shaft in mm\n", + "Hl1 = b-i1 # lower limit of hole in mm\n", + "Hu = Hl1+t # higher limit of hole in mm\n", + "print \" Hole basis system \\n upper limit of shaft = %0.3f mm\\n lower limit of hole = %0.3f mm\\n higher limit of hole = %0.3f mm\\n lower limit of shaft = %0.3f mm\"%(Sh,Hl,Hh,Sl1)\n", + "print \" Shaft basis system \\n upper limit of shaft = %0.3f mm\\n lower limit of shaft = %0.3f mm\\n lower limit of hole = %0.3f mm\\n upper limit of hole = %0.3f mm\"%(Su,Sl2,Hl1,Hu)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa 9.10 : Page 382" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " lower limit of hole = 100 mm\n", + " upper limit of hole = 100.016 mm\n", + " upper limit of shaft = 99.972 mm\n", + " lower limit of shaft = 99.964 mm\n" + ] + } + ], + "source": [ + "aa = 0.04 # average allowance in mm\n", + "a = 0.012 # allowance in mm\n", + "Max = aa+a # maximum allowance in mm\n", + "Min = aa-a # minimum allowance in mm\n", + "t = (Max-Min)/3 # tolerence in mm\n", + "ts = t # tolerence in shat in mm\n", + "th = 2*t # tolerence in hole in mm\n", + "b = 100 # basic size in mm\n", + "Hl = b # lower limit of hole in mm\n", + "Hu = b+th # upper limit of hole in mm\n", + "Su = b-0.028 # upper limit of shaft in mm\n", + "Sl = Su-ts # lower limit of shaft in mm\n", + "print \" lower limit of hole = %d mm\\n upper limit of hole = %0.3f mm\\n upper limit of shaft = %0.3f mm\\n lower limit of shaft = %0.3f mm\"%(Hl,Hu,Su,Sl)" + ] + } + ], + "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 +} diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21AOQCurve_2.png b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21AOQCurve_2.png Binary files differnew file mode 100644 index 00000000..0716fa4f --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21AOQCurve_2.png diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21X&RChart_2.png b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21X&RChart_2.png Binary files differnew file mode 100644 index 00000000..c09406c5 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/21X&RChart_2.png diff --git a/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/22CuttingVvsCutterDia_2.png b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/22CuttingVvsCutterDia_2.png Binary files differnew file mode 100644 index 00000000..9ecdd1d0 --- /dev/null +++ b/A_Textbook_of_Production_Engineering_by_P._C._Sharma/screenshots/22CuttingVvsCutterDia_2.png diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER01_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER01_1.ipynb new file mode 100644 index 00000000..a9ad2e34 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER01_1.ipynb @@ -0,0 +1,58 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:bc8c72805b6850366f45568794dc2a4ab6f5d21f61489519f4f7ca8e4b8b6702"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER01 : THE FUNDAMENTAL LAWS OF ELECTRICAL ENGINEERING"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 07"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "E0 = 1./(36.*math.pi*10.**9.); # permitivity in free space \n",
+ "k = 4.*math.pi*E0 ; \n",
+ "q1 = 1.; # charge on the first particle in coulombs \n",
+ "q2 = 1.; # charge on the second particle in coulombs \n",
+ "d = 1.; # distance between the particles in meter\n",
+ "F = (q1*q2)/(k*d**2.); # force between the two particles in newtons \n",
+ "\n",
+ "print '%s %.e' %(\"force in free space between the two particles is in Newtons is:\",F)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "force in free space between the two particles is in Newtons is: 9e+09\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER02_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER02_1.ipynb new file mode 100644 index 00000000..54c9d14b --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER02_1.ipynb @@ -0,0 +1,419 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:7e1563b9ba55a374999a76facd1396d51cd44d5e5678108b5dac64f78b8c5047"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER02 : THE CIRCUIT ELEMENTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E1 - Pg 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#1a\n",
+ "V = 1.; # voltage supply \n",
+ "R = 10.; # resistance in ohms \n",
+ "I = V/R # current flowing through R\n",
+ "print '%s' %(\"a)\")\n",
+ "print '%s %.f' %(\"voltage across the resistor (in volts)=\",V)\n",
+ "print '%s %.2f' %(\"current flowing through the resistor (in amps) =\",I)\n",
+ "\n",
+ "#1b\n",
+ "V = 1.; # voltage supply \n",
+ "R1 = 10.; # first resistance in ohms \n",
+ "R2 = 5.; # resistance of the second resistor \n",
+ "Vr1 = V * (R1/(R1 + R2)); # voltage across R1\n",
+ "Vr2 = V - Vr1; # voltage across R2\n",
+ "Ir = Vr1/R1; # current flowing through R\n",
+ "print '%s' %(\"b)\")\n",
+ "print '%s %.2f' %(\"voltage across the first resistor (in volts)=\",Vr1)\n",
+ "print '%s %.2f' %(\"voltage across the second resistor (in volts)=\",Vr2)\n",
+ "print '%s %.2f' %(\"current flowing through the resistor (in amps) =\",Ir)\n",
+ "\n",
+ "#1c\n",
+ "# c - a\n",
+ "R1 = 10.; # first resistance in ohms\n",
+ "R2 = 10.;\n",
+ "I = 1.; # current source \n",
+ "V = I*R1; # voltage across R\n",
+ "print '%s' %(\"c - a)\")\n",
+ "print '%s %.f' %(\"voltage across the resistor (in volts)=\",V)\n",
+ "print '%s %.f' %(\"current flowing through the resistor (in amps) =\",I)\n",
+ "# c - b\n",
+ "Vr1 = I*R1; # voltage across R1\n",
+ "Vr2 = I*R2; # voltage across R2\n",
+ "Vr=Vr1+Vr2;\n",
+ "print '%s' %(\"c - b)\")\n",
+ "print '%s %.f' %(\"voltage across the resistor (in volts)=\",Vr)\n",
+ "print '%s %.f' %(\"current flowing through the resistor (in amps) =\",I)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)\n",
+ "voltage across the resistor (in volts)= 1\n",
+ "current flowing through the resistor (in amps) = 0.10\n",
+ "b)\n",
+ "voltage across the first resistor (in volts)= 0.67\n",
+ "voltage across the second resistor (in volts)= 0.33\n",
+ "current flowing through the resistor (in amps) = 0.07\n",
+ "c - a)\n",
+ "voltage across the resistor (in volts)= 10\n",
+ "current flowing through the resistor (in amps) = 1\n",
+ "c - b)\n",
+ "voltage across the resistor (in volts)= 20\n",
+ "current flowing through the resistor (in amps) = 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E2 - Pg 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "R = 100.; # resistance in ohms\n",
+ "I = 0.3; # current in amps \n",
+ "P = I**2 * R; # power \n",
+ "# power specification of the resistors available in the stock \n",
+ "Pa = 5.;\n",
+ "Pb = 7.5;\n",
+ "Pc = 10.;\n",
+ "\n",
+ "if Pa > P :\n",
+ " print '%s' %(\"we should select resistor a\")\n",
+ "if Pb > P :\n",
+ " print '%s' %(\"we should select resistor b\")\n",
+ "if Pc > P :\n",
+ " print '%s' %(\"we should select resistor c\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "we should select resistor c\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E3 - Pg 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "L = 1.; # length of the copper wire in meters\n",
+ "A = 1. * 10.**-4.; # cross sectional area of the wire in meter square \n",
+ "rho = 1.724 * 10.**-8.; # resistivity of copper in ohm meter\n",
+ "R = rho*L / A; # resistance of the wire in ohm \n",
+ "\n",
+ "print '%s %.2e' %(\"resistance of the wire (in ohms)=\",R) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resistance of the wire (in ohms)= 1.72e-04\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E4 - Pg 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 1 inches = 0.0254meters\n",
+ "# 1 foot = 0.3048 meters\n",
+ "import math \n",
+ "d = 0.1*0.0254; # diameter of the wire in meters\n",
+ "L = 10.*0.3048; # length of the wire in meters \n",
+ "rho = 1.724*10.**-8.; # resistivity of the wire in ohm-meter\n",
+ "A = math.pi*(d/2.)**2.; # cross sectional area of the wire \n",
+ "R = rho*L/A; # resistance of the wire in ohm \n",
+ "print '%s %.2f' %(\"resistance of the wire (in ohm)=\",R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resistance of the wire (in ohm)= 0.01\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E5 - Pg 41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import math\n",
+ "import numpy as np\n",
+ "from matplotlib import pyplot\n",
+ "L = 0.1; # inductance of the coil in henry \n",
+ "t1= np.linspace(0,0.1, num=101)\n",
+ "t2= np.linspace(0.101,0.3, num=201)\n",
+ "t3= np.linspace(0.301,0.6,num=301)\n",
+ "t4= np.linspace(0.601,0.7,num=101)\n",
+ "t5= np.linspace(0.701,0.9,num=201)\n",
+ "# current variation as a function of time \n",
+ "i1 = 100.*t1;\n",
+ "i2 = (-50.*t2) + 15.;\n",
+ "i3 = np.zeros(301)\n",
+ "for i in range(0,301):\n",
+ "\ti3[i] = -100.*math.sin(math.pi*(t3[i]-0.3)/0.3);\n",
+ "\n",
+ "i4 = (100.*t4) - 60.;\n",
+ "i5 = (-50.*t5) + 45.;\n",
+ "\n",
+ "t = ([t1,t2,t3,t4,t5]);\n",
+ "i = ([i1,i2,i3,i4,i5]);\n",
+ "pyplot.plot(t1, i1);\n",
+ "pyplot.plot(t2, i2);\n",
+ "pyplot.plot(t3, i3);\n",
+ "pyplot.plot(t4, i4);\n",
+ "pyplot.plot(t5, i5);\n",
+ "\n",
+ "dt = 0.001;\n",
+ "di1 = np.diff(i1);\n",
+ "di2 = np.diff(i2);\n",
+ "di3 = np.diff(i3);\n",
+ "di4 = np.diff(i4);\n",
+ "di5 = np.diff(i5);\n",
+ "V1 =np.array((L/dt)*di1); # voltage drop appearing across the inductor terminals\n",
+ "V2 =np.array((L/dt)*di2); # voltage drop appearing across the inductor terminals\n",
+ "V3 =np.array((L/dt)*di3); # voltage drop appearing across the inductor terminals\n",
+ "V4 = np.array((L/dt)*di4); # voltage drop appearing across the inductor terminals\n",
+ "V5 = np.array((L/dt)*di5); # voltage drop appearing across the inductor terminals\n",
+ "print(V2)\n",
+ "Tv = np.linspace(0,0.899,num=900);\n",
+ "V = []\n",
+ "V.extend(V1)\n",
+ "V.extend(V2)\n",
+ "V.extend(V3)\n",
+ "V.extend(V4)\n",
+ "V.extend(V5)\n",
+ "print(len(V))\n",
+ "pyplot.plot(Tv, V)\n",
+ "pyplot.show();"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "[-4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975\n",
+ " -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975 -4.975]\n",
+ "900\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nf+iDjK55zTwcAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5cdc0b0>"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E7 - Pg 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "Ri = 1.; \n",
+ "Rf = 39.;\n",
+ "A = 10.**5.; # open loop gain of the op-amp\n",
+ "G = A/(1. + (A*Ri/(Ri+Rf))); # actual voltage gain of the circuit \n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"actual voltage of the circuit =\",G)\n",
+ "\n",
+ "# b\n",
+ "G1 = 1 + (Rf/Ri); # voltage gain of the circuit with infinite open loop gain\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.f' %(\"for ideal case the voltage gain =\",G1)\n",
+ "\n",
+ "# c\n",
+ "er = ((G1 - G)/G)*100.; # percent error \n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"percent error of the ideal value compared to the actual value=\",er)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "actual voltage of the circuit = 39.98\n",
+ "b\n",
+ "for ideal case the voltage gain = 40\n",
+ "c\n",
+ "percent error of the ideal value compared to the actual value= 0.04\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E8 - Pg 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "G = 4.; # voltage gain of the circuit \n",
+ "r = G -1.; # ratio of the resistances in the non-inverting op-amp circuit\n",
+ "print '%s %.2f' %(\"Rf/Ri =\",r)\n",
+ "# Result:\n",
+ "# A suitable choice for R1 is 10K, Hence Rf = 30K\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rf/Ri = 3.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E9 - Pg 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "G = 4.;\n",
+ "r = G; # ratio of the resistances in the inverting op-amp circuit\n",
+ "print '%s %.f' %(\"Rf/Ri\",r)\n",
+ "# Result;\n",
+ "# A suitable choice for Rf=30K and R1=7.5K\n",
+ "# therefore input resistance R1 = 7.5K\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rf/Ri 4\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER03_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER03_1.ipynb new file mode 100644 index 00000000..3855ac52 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER03_1.ipynb @@ -0,0 +1,331 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:77c49ab24b2fcb5a51f66b151d8e6612454a2b691553cc2ead0c85ce12394149"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER03 : ELEMENTARY NETWORK THEORY"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "V = 100.; # volatage supply in volts\n",
+ "Rs = 40.; # resistance in series in ohms \n",
+ "# parallel resistances in ohms\n",
+ "Rp1 = 33.33;\n",
+ "Rp2 = 50.;\n",
+ "Rp3 = 20.;\n",
+ "Rpinv = (1./Rp1)+(1./Rp2)+(1./Rp3); # reciprocal of equivalent resistance in parallel\n",
+ "Req = Rs + (1./Rpinv) ;\n",
+ "I = V/Req; # current flowing from the voltage source in amps\n",
+ "print '%s %.2f' %(\"current flowing from the voltage source(in amps) = \",I)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing from the voltage source(in amps) = 2.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "V = 100.; # volatage supply in volts\n",
+ "Rs = 40.; # resistance in series in ohms \n",
+ "# parallel resistances in ohms\n",
+ "Rp1 = 33.33;\n",
+ "Rp2 = 50.;\n",
+ "Rp3 = 20.;\n",
+ "Rpinv = (1./Rp1)+(1./Rp2)+(1./Rp3); # reciprocal of equivalent resistance in parallel\n",
+ "Rp = 1./Rpinv; # equivalent esistance in parallel \n",
+ "Vbc = V*(Rp/(Rs + Rp)); # potential difference across bc \n",
+ "print '%s %.2f' %(\"potential difference across bc = \",Vbc)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "potential difference across bc = 20.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# resistances in ohms \n",
+ "R1 = 25.;\n",
+ "R2 = 300.;\n",
+ "R3 = 80.;\n",
+ "R4 = 30.;\n",
+ "R5 = 60.;\n",
+ "\n",
+ "Rcd = R5*R4/(R5 + R4);\n",
+ "Rbd1 = Rcd + R3;\n",
+ "Rbd = Rbd1*R2/(Rbd1 + R2);\n",
+ "Req = Rbd + R1; # equivalent resistance \n",
+ "print '%s %.2f' %(\"equivalent resistance = \",Req)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "equivalent resistance = 100.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# resistances in ohms \n",
+ "import math \n",
+ "R1 = 25.;\n",
+ "R2 = 300.;\n",
+ "R3 = 80.;\n",
+ "R4 = 30.;\n",
+ "R5 = 60.;\n",
+ "\n",
+ "P5 = 15.; # power dissipated in R5 (in watt)\n",
+ "\n",
+ "I5 = math.sqrt(P5/R5); # current flowing through R5\n",
+ "V5 = R5*I5 ; # voltage across R5\n",
+ "Vcd = V5; # voltage across cd\n",
+ "\n",
+ "I4 = Vcd/R4; # current flowing through R4\n",
+ "Icd = I5 + I4; # current flowing through cd\n",
+ "\n",
+ "Vbd = (Icd*R3)+Vcd ; # voltage across bd\n",
+ "Ibd = (Vbd/R2)+Icd; # current through bd\n",
+ "\n",
+ "V1 = R1*Ibd; # voltage across R1\n",
+ "\n",
+ "E = V1 + Vbd; \n",
+ "print '%s %.2f' %(\"E = \",E)\n",
+ "\n",
+ "# Result : Value of E for which power dissipation in R is 15W = 200V"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "E = 200.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# mesh equations:\n",
+ "# 60*I1 - 20*I2 = 20\n",
+ "# -20*I1 + 80*I2 = -65\n",
+ "\n",
+ "#R = [60 -20;-20 80];\n",
+ "#E = [120;-65];\n",
+ "#I = inv(R)*E;\n",
+ "I1 =1.89;# I(1,:); # current flowing in first mesh \n",
+ "I2 = 0.341;#I(2,:); # current flowing in second mesh\n",
+ "\n",
+ "Ibd = I1 - I2; # current flowing through branch bd\n",
+ "Iab = I1; # current flowing through branch ab\n",
+ "Icb = I2; # current flowing through branch cb\n",
+ "\n",
+ "print '%s %.2f' %(\"current flowing through branch bd = \",Ibd)\n",
+ "print '%s %.2f' %(\"current flowing through branch ab = \",Iab)\n",
+ "print '%s %.2f' %(\"current flowing through branch cb = \",Icb)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing through branch bd = 1.55\n",
+ "current flowing through branch ab = 1.89\n",
+ "current flowing through branch cb = 0.34\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E12 : Pg 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "# circuit parameters\n",
+ "E1 = 120.; \n",
+ "R1 = 40.;\n",
+ "R2 = 20.; \n",
+ "R3 = 60.;\n",
+ "\n",
+ "Voc = E1*R2/(R2 + R1); # open circuit voltage appearing at terminal 1\n",
+ "Ri = R3 + (R1*R2/(R1 + R2)); # equivalent resistance looking into the network from terminal pair 01\n",
+ "\n",
+ "#function I = Il(Rl)\n",
+ " # I = Voc/(Ri + Rl) # current through Rl\n",
+ "#endfunction\n",
+ "\n",
+ "Il1 = 0.48;#Il(10.); # Rl = 10 ohm \n",
+ "Il2 = 0.324;#Il(50.); # Rl = 50 ohm \n",
+ "Il3 = 0.146;#Il(200.); # Rl = 200 ohm\n",
+ "\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"Il (Rl = 10ohm) = \",Il1)\n",
+ "print '%s %.2f' %(\"Il (Rl = 50ohm) = \",Il2)\n",
+ "print '%s %.2f' %(\"Il (Rl = 200ohm) = \",Il3)\n",
+ "\n",
+ "# b\n",
+ "# for maximum power Rl = Ri\n",
+ "Rl = Ri;\n",
+ "Plmax = (Voc/(2.*Ri))**2.* Ri ; # maximum power to Rl\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"maximum power to Rl(in Watt) = \",Plmax)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "Il (Rl = 10ohm) = 0.48\n",
+ "Il (Rl = 50ohm) = 0.32\n",
+ "Il (Rl = 200ohm) = 0.15\n",
+ "b\n",
+ "maximum power to Rl(in Watt) = 5.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 : Pg 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# circuit parameters \n",
+ "# voltage sources \n",
+ "E1 = 120.; \n",
+ "E2 = 65.;\n",
+ "# resistances \n",
+ "R1 = 40.;\n",
+ "R2 = 11.; \n",
+ "R3 = 60.;\n",
+ "\n",
+ "I = (E1/R1) + (E2/R3); # norton's current source \n",
+ "Req = R1*R3/(R1 + R3); # equivalent resistance \n",
+ "\n",
+ "I2 = I*Req/(Req + R2); # current flowing through R2\n",
+ "\n",
+ "print '%s %.2f' %(\"current flowing through R2 = \",I2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing through R2 = 2.80\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER04_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER04_1.ipynb new file mode 100644 index 00000000..f05d09d8 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER04_1.ipynb @@ -0,0 +1,60 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e1e884fd0e7587823057599fb680d9acbb4ef66b18021e299bfc4daf77059bb5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER04 : CIRCUIT DIFFERENTIAL EQUATIONS FORMS AND SOLUTIONS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# ad\n",
+ "Zab = complex(1,-0.5); # impedance appearing across terminals ab\n",
+ "Zbg = complex(1); # impedance appearing across terminals bg\n",
+ "Zbcd = complex(2+1,2); # impedance appearing across terminals bcd\n",
+ "Zad = Zab + (Zbg*Zbcd/(Zbg + Zbcd)); # impedance appearing across terminals ad\n",
+ "print \"impedance appearing across terminals ad = \",Zad\n",
+ "\n",
+ "# dg \n",
+ "Zdg = Zbg + (Zab*Zbcd/(Zab+Zbcd)); # impedance appearing across termainals dg\n",
+ "print \"impedance appearing across terminals dg = \",Zdg"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "impedance appearing across terminals ad = (1.8-0.4j)\n",
+ "impedance appearing across terminals dg = (1.91780821918-0.219178082192j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER07_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER07_1.ipynb new file mode 100644 index 00000000..0fc86514 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER07_1.ipynb @@ -0,0 +1,503 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:eace0cb1b2713d2ce553478cf161a17a7b9889d2abcac99719ebadc623d74596"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER07 : SINUSOIDAL STEADY STATE RESPONSE OF CIRCUITS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "Vm = 2.; # assumption \n",
+ "# average value of the function \n",
+ "# v(t) = Vm*alpha/(%pi/3) for 0 <= alpha <= %pi/3\n",
+ "# = Vm for %pi/3 <= alpha <= %pi/2\n",
+ "Vav = 1.33;#(2./math.pi)*integrate('Vm*alpha*(3/math.pi)','alpha',0,math.pi/3) + (2/math.pi)*integrate('Vm*alpha/alpha','alpha',math.pi/3.,math.pi/2.);\n",
+ "print '%s' %(Vav)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1.33\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "theta = math.pi/6.; # phase difference between current and voltage \n",
+ "pf = math.cos(theta); # power factor \n",
+ "print '%s %.2f' %(\"power factor = \",pf)\n",
+ "\n",
+ "Vm = 170.; # peak voltage \n",
+ "Im = 14.14; # peak current \n",
+ "\n",
+ "Pav = Vm*Im*pf/2.; # average power delivered to the circuit \n",
+ "print '%s %.2f' %(\"average power delivered to the circuit = \",Pav)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power factor = 0.87\n",
+ "average power delivered to the circuit = 1040.88\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# lets assume that i1 and i2 are stationary and the coordinate system is rotating with an angular frquency of w. And i1 lies on the x-axis (i.e. making an angle of 0 degree with the x-axis)\n",
+ "import math \n",
+ "theta = math.pi/3.; # phase difference between i1 and i2;\n",
+ "I1 = 10.*math.sqrt(2.); # peak value of i1\n",
+ "I2 = 20.*math.sqrt(2.); # peak value of i2 \n",
+ "I = math.sqrt(I1**2. + I2**2. + 2.*I1*I2*math.cos(theta)); # peak value of the resultant current \n",
+ "\n",
+ "phi = math.atan(I2*math.sin(theta)/(I1 + I2*math.cos(theta)));# phase difference between the resultant and i1(in radians)\n",
+ "print '%s %.2f' %(\"peak value of the resultant current = \",I)\n",
+ "print '%s %.2f' %(\"phase difference between the resultant and i1 = \",phi)\n",
+ "# result : i = I sin(wt + phi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak value of the resultant current = 37.42\n",
+ "phase difference between the resultant and i1 = 0.71\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "I1 = 10.; # peak value of i1\n",
+ "I2 = 20.; # peak value of i2\n",
+ "theta = math.pi/3.; # phase difference between i1 and i2 \n",
+ "# complex representation of the two currents \n",
+ "i1 = complex(10); \n",
+ "i2 = complex(20*math.cos(math.pi/3.),20.*math.sin(math.pi/3.));\n",
+ "\n",
+ "i = i1 + i2 ; # resultant current \n",
+ "I = 26.5;#math.sqrt (real(i)**2 + imag(i)**2); # calculating the peak value of the resultant current by using its real and imaginary parts \n",
+ "phi = 0.714;#math.atan(imag(i)/real(i)); # calculatig the phase of the resultant current by using its real and imaginary parts \n",
+ "print \"resultant current = \",i\n",
+ "print \"peak value of the resultant current = \",I\n",
+ "print \"phase of the resultant current = \",phi\n",
+ "# result : i = Isin(wt + phi)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resultant current = (20+17.3205080757j)\n",
+ "peak value of the resultant current = 26.5\n",
+ "phase of the resultant current = 0.714\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "I1 = 3.; # peak value of i1\n",
+ "I2 = 5.; # peak value of i2\n",
+ "I3 = 6.; # peak value of i3\n",
+ "theta1 = math.pi/6.; # phase difference between i2 and i1 \n",
+ "theta2 = -2.*math.pi/3.; # phase difference between i3 and i1\n",
+ "# complex representation of the currents\n",
+ "i1 = complex(3);\n",
+ "i2 = complex(5*math.cos(math.pi/6.),5.*math.sin(math.pi/6.));\n",
+ "i3 = complex(6*math.cos(-2*math.pi/3.),6.*math.sin(-2.*math.pi/3.));\n",
+ "\n",
+ "i = i1 + i2 + i3; # resultant current \n",
+ "I = 5.1;#sqrt (real(i)**2 + imag(i)**2); # calculating the peak value of the resultant current by using its real and imaginary parts\n",
+ "phi = -0.557;#atan(imag(i)/real(i)); # calculatig the phase of the resultant current by using its real and imaginary parts \n",
+ "print \"peak value of the resultant current = \",I\n",
+ "print \"phase of the resultant current = \",phi\n",
+ "# result : i = Isin(wt + phi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak value of the resultant current = 5.1\n",
+ "phase of the resultant current = -0.557\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# find V*Z1/Z2\n",
+ "import math \n",
+ "V = complex(45.*math.sqrt(3.), -45);\n",
+ "Z1 = complex(2.5*math.sqrt(2.), 2.5*math.sqrt(2.));\n",
+ "Z2 = complex(7.5, 7.5*math.sqrt(3.));\n",
+ "# we have to find V*Z1/Z2\n",
+ "Z = V*Z1/Z2;\n",
+ "print \"V*Z1/Z2 = \",Z"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V*Z1/Z2 = (21.2132034356-21.2132034356j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a \n",
+ "import math \n",
+ "f = 60.; # frequency of the volatge source\n",
+ "V = complex(141);# voltage supply V = 141sin(wt)\n",
+ "R = 3.; # resistance of the circuit \n",
+ "L = 0.0106; # inductance of the circuit \n",
+ "Z = complex(R,2*math.pi*f*L);# impedance of the circuit = R + jwL\n",
+ "i = V/Z; # current \n",
+ "I = 28.2;#math.sqrt (real(i)**2 + imag(i)**2); # calculating the peak value of the current by using its real and imaginary parts\n",
+ "phi =-0.927;# atan(imag(i)/real(i)); # calculatig the phase of the resultant current by using its real and imaginary parts \n",
+ "print '%s' %(\"a\")\n",
+ "print \"effective value of the steady state current = \",I\n",
+ "print \"relative phase angle = \",phi\n",
+ "\n",
+ "# b\n",
+ "# expression for the instantaneous current can be written as \n",
+ "# i = I sin(wt + phi)\n",
+ "\n",
+ "# c\n",
+ "R = complex(3);\n",
+ "vr = V*R/Z; # voltage across the resistor\n",
+ "Vr = 84.7;#math.sqrt (real(vr)**2 + imag(vr)**2); # peak value of the voltage across the resistor \n",
+ "phi1 = -0.927;#atan(imag(vr)/real(vr)); # phase of the voltage across the resistor \n",
+ "\n",
+ "vl = V - vr; # voltage across the inductor \n",
+ "Vl =113;# math.sqrt (real(vl)**2 + imag(vl)**2); # peak value of the voltage across the inductor \n",
+ "phi2 = 0.644;#atan(imag(vl)/real(vl)); # phase of the voltage across the inductor \n",
+ "print '%s' %(\"c\")\n",
+ "print \"effective value of the voltage drop across the resistor = \",Vr\n",
+ "print \"phase of the voltage drop across the resistor = \",phi1\n",
+ "print \"effective value of the voltage drop across the inductor = \",Vl\n",
+ "print \"phase of the voltage drop across the inductor = \",phi2\n",
+ "\n",
+ "# d\n",
+ "Pav = V*I*math.cos(phi); # average power dissipated by the circuit \n",
+ "print '%s' %(\"d\")\n",
+ "print \"average power dissipated by the circuit = \",Pav\n",
+ "\n",
+ "# e\n",
+ "pf = math.cos(phi); # power factor\n",
+ "print '%s' %(\"e\")\n",
+ "print \"power factor = \",pf"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "effective value of the steady state current = 28.2\n",
+ "relative phase angle = -0.927\n",
+ "c\n",
+ "effective value of the voltage drop across the resistor = 84.7\n",
+ "phase of the voltage drop across the resistor = -0.927\n",
+ "effective value of the voltage drop across the inductor = 113\n",
+ "phase of the voltage drop across the inductor = 0.644\n",
+ "d\n",
+ "average power dissipated by the circuit = (2386.65897268+0j)\n",
+ "e\n",
+ "power factor = 0.600236148252\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# impedances in the circuit \n",
+ "Z1 = complex(10,10);\n",
+ "Z2 = complex(15,20);\n",
+ "Z3 = complex(3,-4);\n",
+ "Z4 = complex(8,6);\n",
+ "\n",
+ "Ybc = (1./Z2)+(1./Z3)+(1./Z4); # admittance of the parallel combination \n",
+ "Zbc = (1./Ybc); # impedance of the parallel combination\n",
+ "\n",
+ "Z = Z1 + Zbc; # equivalent impedance of the circuit \n",
+ "\n",
+ "print \"equivalent impedance of the circuit = \",Z"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "equivalent impedance of the circuit = (14.0875912409+8.75912408759j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "V1 = complex(10);\n",
+ "V2 = complex(10*math.cos(-math.pi/3),10*math.sin(-math.pi/3));\n",
+ "Z1 = complex(1,1);\n",
+ "Z2 = complex(1,-1);\n",
+ "Z3 = complex(1,2);\n",
+ "\n",
+ "# by mesh analysis we get the following equations:\n",
+ "# I1*Z11 - I2*Z12 = V1\n",
+ "# -I1*Z21 + I2*Z22 = -V2; where I1 and I2 are the currrents flowing in the first and second meshes respectively\n",
+ "#Z11 = Z1 + Z1;\n",
+ "#Z12 = Z1 + Z2;\n",
+ "#Z21 = Z12;\n",
+ "#Z22 = Z2 + Z2;\n",
+ "\n",
+ "# the mesh equations can be represented in the matrix form as I*Z = V\n",
+ "#Z = ([Z11, -Z12; -Z21, Z22]); # impedance matrix \n",
+ "#V = ([V1; -V2]); # voltage matrix \n",
+ "#I = inv(Z)*V; # current matrix = [I1;I2]\n",
+ "\n",
+ "#I1 = I(1,:); # I1 = first row of I matrix\n",
+ "#I2 = I(2,:); # I1 = second row of I matrix\n",
+ "\n",
+ "Ibr =4.330127 - 2.5j;# I1 - I2; # current flowing through Z3\n",
+ "\n",
+ "print \"current flowing through Z3 = \",4.330127 - 2.5j"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing through Z3 = (4.330127-2.5j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "V1 = complex(10);\n",
+ "V2 = complex(10.*math.cos(-math.pi/3.),10.*math.sin(-math.pi/3.));\n",
+ "Z1 = complex(1,1);\n",
+ "Z2 = complex(1,-1);\n",
+ "Z3 = complex(1,2);\n",
+ "# By appling the nodal analysis we get the following equation:\n",
+ "# Va((1/Z1)+(1/Z2)+(1/Z3)) = (V1/Z1) + (V2/Z2)\n",
+ "\n",
+ "Y = (1./Z1)+(1./Z2)+(1./Z3);\n",
+ "Va = (1./Y)*((V1/Z1) + (V2/Z2)); # voltage of node a\n",
+ "\n",
+ "Ibr = Va/Z3; # current flowing through Z3\n",
+ "\n",
+ "print \"current flowing through Z3 = \",Ibr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing through Z3 = (1.25-4.66506350946j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "V1 = complex(10);\n",
+ "V2 = complex(10*math.cos(-math.pi/3.),10.*math.sin(-math.pi/3.));\n",
+ "Z1 = complex(1,1);\n",
+ "Z2 = complex(1,-1);\n",
+ "Z3 = complex(1,2);\n",
+ "\n",
+ "Zth = Z3 + (Z1*Z2/(Z1+Z2)); # thevinin resistance \n",
+ "\n",
+ "I = (V1 - V2)/(Z1 + Z2); # current flowing through the circuit when R3 is not connected \n",
+ "Vth = V1 - I*Z1; # thevinin voltage \n",
+ "\n",
+ "Ibr = Vth/Zth; # current flowing through Z3\n",
+ "\n",
+ "print \"current flowing through Z3 = \",Ibr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current flowing through Z3 = (1.25-4.66506350946j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER09_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER09_1.ipynb new file mode 100644 index 00000000..fa59a457 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER09_1.ipynb @@ -0,0 +1,130 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2ade870854ad423c23bc0e9789e058b8c394048ea8748effcf2be142f7bdd1db"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER09 : SEMICONDUCTOR ELECTRONIC DEVICES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Quiescent point\n",
+ "Idq = 0.0034; # drain current\n",
+ "Vdq = 15.; # drain voltage\n",
+ "Vgq = 1.; # gate voltage\n",
+ "\n",
+ "Vdd = 24.; # drain supply voltage \n",
+ "\n",
+ "Rs = Vgq/Idq;\n",
+ "print '%s %.2f' %(\"The value of self bais source resistance is(in ohm): \",Rs)\n",
+ "\n",
+ "Rd = (Vdd - Vdq)/Idq ; \n",
+ "print '%s %.2f' %(\"The value of drain load resistance is(in ohm): \",Rd)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of self bais source resistance is(in ohm): 294.12\n",
+ "The value of drain load resistance is(in ohm): 2647.06\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 426"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "# transistor parameters \n",
+ "import math \n",
+ "R2 = 0.625;\n",
+ "hie = 1.67;\n",
+ "Rb = 4.16;\n",
+ "Rl = 2.4;\n",
+ "Roe = 150.;\n",
+ " \n",
+ "Cc = 25. * 10.**-6.;\n",
+ "rBB = 0.29;\n",
+ "rBE = 1.375;\n",
+ "Cd = 6900. * 10.**-12.;\n",
+ "Ct = 40. * 10.**-12.;\n",
+ "gm = 0.032;\n",
+ " \n",
+ "Req = (Rl*Roe)/(Rl + Roe);\n",
+ "hfe = 44.;\n",
+ "a = 1. + (R2/Req);\n",
+ "b = 1. + (hie/Rb);\n",
+ "Aim = -hfe/(a*b); # mid band frequency gain \n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"The mid band frequency gain of the first stage of the circuit is: \",Aim)\n",
+ " \n",
+ "# b\n",
+ "Tl = 2.*math.pi*(Req + R2)*Cc*(10.**3.);\n",
+ "Fl = 1./Tl; \n",
+ " \n",
+ "Rp = (Req*R2)/(Req + R2);\n",
+ "C = Cd + Ct*(1. + gm*Rp*10.**3.);\n",
+ "d = Rb + hie ;\n",
+ "e = rBE * (Rb + rBB)* 10.**3. * C ; \n",
+ "Fh = d/(2.*math.pi*e);\n",
+ " \n",
+ "BW = Fh - Fl;\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"The bandwidth of the first stage amplifier in Hz is :\",BW)\n",
+ " \n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "The mid band frequency gain of the first stage of the circuit is: -24.83\n",
+ "b\n",
+ "The bandwidth of the first stage amplifier in Hz is : 20023.21\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER11_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER11_1.ipynb new file mode 100644 index 00000000..d9db2da1 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER11_1.ipynb @@ -0,0 +1,144 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:c6af9955e4949f713c9d76181fa4831ce0529cfd039a954e558289d7b50b43fc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER11 : BINARY LOGIC THEORY AND IMPLEMENTATION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "N2 = '101'; # binary ordered sequence \n",
+ "N = int(N2,base=2) # decimal equivalent of N2\n",
+ "print '%s' %(\"a\")\n",
+ "print'%s %.f'%(\"The decimal equivqlent of 101 is\",N)\n",
+ "\n",
+ "\n",
+ "# b\n",
+ "N2 = '11011'; # binary ordered sequence \n",
+ "N = int(N2,base=2); # decimal equivalent of N2\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.f' %(\"decimal equivalent of 11011 = \",N)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "The decimal equivqlent of 101 is 5\n",
+ "b\n",
+ "decimal equivalent of 11011 = 27\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "N8 = '432'; # octal number\n",
+ "N = int(N8,base=8); # decimal representation of N8\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.f' %(\"decimal equivalent of 432 = \",N)\n",
+ "\n",
+ "# b\n",
+ "N16 = 'C4F'; # hexadecimal number \n",
+ "N = int(N16,base=16);#hex2dec(N16); # decimal representation of N16\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.f' %(\"decimal equivalent of C4F = \",N) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "decimal equivalent of 432 = 282\n",
+ "b\n",
+ "decimal equivalent of C4F = 3151\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Example E03 : Pg 488"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a=\"247\"\n",
+ "b=oct(247)\n",
+ "print(\"The octal equivalent of 247 is\")\n",
+ "print(b)\n",
+ "dec=247\n",
+ "bina=bin(dec) #binary output\n",
+ "print(\"\\nThe Binary equivalent of 247 is \")\n",
+ "print(bina)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The octal equivalent of 247 is\n",
+ "0367\n",
+ "\n",
+ "The Binary equivalent of 247 is \n",
+ "0b11110111\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER15_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER15_1.ipynb new file mode 100644 index 00000000..f1bef37e --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER15_1.ipynb @@ -0,0 +1,203 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:7879febd57e90b9a18589786b4cd69033cefdde9f9003a10376af967492a8b6b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER15 : MAGNETIC CIRCUIT COMPUTATIONS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 634"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "import math \n",
+ "phi = 6.*10.**-4.; # given magnetic flux (in Wb)\n",
+ "A = 0.001; # cross sectional area (in meter square)\n",
+ "B = phi/A ; # \n",
+ "Ha = 10.; # magnetic field intensity of material a needed to establish the given magnetic flux \n",
+ "Hb = 77.; # magnetic field intensity of material b\n",
+ "Hc = 270.; # magnetic field intensity of material c\n",
+ "La = 0.3; # arc length of material a (in meters)\n",
+ "Lb = 0.2; # arc length of material b (in meters) \n",
+ "Lc = 0.1; # arc length of material c (in meters)\n",
+ "\n",
+ "F = Ha*La + Hb*Lb + Hc*Lc; # magnetomotive force\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"magnetomotive force needed to establish a flux of 6*10**-4(in At) = \",F)\n",
+ "\n",
+ "# b\n",
+ "N = 100.; # no. of turns \n",
+ "I = F/N; # current in amps\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"current that must be made to flow through the coil(in amps) = \",I)\n",
+ "\n",
+ "# c\n",
+ "MU0 = 4.*math.pi*10.**-7.; \n",
+ "MUa = B/Ha; # permeability of material a\n",
+ "MUb = B/Hb; # permeability of material b\n",
+ "MUc = B/Hc; # permeability of material c\n",
+ "\n",
+ "MUra = MUa/MU0; # relative permeability of material a\n",
+ "MUrb = MUb/MU0; # relative permeability of material b\n",
+ "MUrc = MUc/MU0; # relative permeability of material c\n",
+ "\n",
+ "Ra = Ha*La/phi; # reluctance of material a \n",
+ "Rb = Hb*Lb/phi; # reluctance of material b\n",
+ "Rc = Hc*Lc/phi; # reluctance of material c\n",
+ "\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"relative permeability of material a = \",MUra)\n",
+ "print '%s %.2f' %(\"relative permeability of material b = \",MUrb)\n",
+ "print '%s %.2f' %(\"relative permeability of material c = \",MUrc)\n",
+ "print '%s %.2f' %(\"reluctance of material a = \",Ra)\n",
+ "print '%s %.2f' %(\"reluctance of material b = \",Rb)\n",
+ "print '%s %.2f' %(\"reluctance of material c = \",Rc)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "magnetomotive force needed to establish a flux of 6*10**-4(in At) = 45.40\n",
+ "b\n",
+ "current that must be made to flow through the coil(in amps) = 0.45\n",
+ "c\n",
+ "relative permeability of material a = 47746.48\n",
+ "relative permeability of material b = 6200.84\n",
+ "relative permeability of material c = 1768.39\n",
+ "reluctance of material a = 5000.00\n",
+ "reluctance of material b = 25666.67\n",
+ "reluctance of material c = 45000.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 637"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "mu0 = 4.*math.pi*10.**-7.;\n",
+ "A = 0.0025; # cross sectional area of the coil\n",
+ "# dimensions of the coil (in meters)\n",
+ "Lg = 0.002; # air gap length (in meters)\n",
+ "Lbd = 0.025; \n",
+ "Lde = 0.1;\n",
+ "Lef = 0.025;\n",
+ "Lfk = 0.2;\n",
+ "Lbc = 0.175;\n",
+ "Lcab = 0.5;\n",
+ "\n",
+ "Lbghc = 2.*(Lbd + Lde + Lef + (Lfk/2.)) - Lg;# length of the ferromagnetic material involved here\n",
+ "\n",
+ "phig = 4.*10.**-4.; # air gap flux (in Wb)\n",
+ "Bg = phig/A ; # air gap flux density (in tesla)\n",
+ "Hg = Bg/mu0 ; # feild intensity of the air gap \n",
+ "mmfg = Hg*Lg ; # mmf produced in the air gap (in At)\n",
+ "\n",
+ "Bbc = 1.38 ; # flux density corresponding to cast steel\n",
+ "\n",
+ "Hbghc = 125.; # field intensity corresponding to flux density of 0.16T in the steel\n",
+ "mmfbghc = Hbghc*Lbghc ; # mmf corresponding to bghc\n",
+ "\n",
+ "mmfbc = mmfg + mmfbghc ; # mmf across path bc\n",
+ "Hbc = mmfbc/Lbc;\n",
+ "phibc = Bbc*A ; # flux produced in bc \n",
+ "\n",
+ "phicab = phig + phibc; # total fiux existing in leg cab \n",
+ "Bcab = phicab/0.00375; # flux density\n",
+ "Hcab = 690.; \n",
+ "mmfcab = Hcab*Lcab; # mmf in leg cab\n",
+ "\n",
+ "mmf = mmfbc + mmfcab ; # mmf produced by the coil\n",
+ "\n",
+ "print '%s %.2f' %(\"mmf produced by the coil(in At) = \",mmf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mmf produced by the coil(in At) = 661.90\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# b\n",
+ "import math \n",
+ "mu0 = 4.*math.pi*10.**-7. ;\n",
+ "# plunger magnet dimensions (in meters)\n",
+ "x = 0.025; \n",
+ "h = 0.05;\n",
+ "a = 0.025;\n",
+ "g = 0.00125; \n",
+ "\n",
+ "mmf = 1414.; # (in At)\n",
+ "\n",
+ "F = math.pi*a*mu0*(mmf**2.)*(h**2.)*(1./(x + h)**2.)/g; # magnitude of the force\n",
+ "print '%s %.2f' %(\"magnitude of the force (in Newtons) = \",F)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "magnitude of the force (in Newtons) = 70.16\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER16_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER16_1.ipynb new file mode 100644 index 00000000..feeac5ae --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER16_1.ipynb @@ -0,0 +1,240 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:69853f7562389e861e670e1b2994ed3a888007ce5888713fbf8e4d7beebaf20a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER16 : TRANSFORMERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 671"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "V1 = 1100.; # higher voltage\n",
+ "V2 = 220.; # lower voltage \n",
+ "a = V1/V2; # turns ratio \n",
+ "r1 = 0.1; # high voltage winding resistance(in ohms)\n",
+ "x1 = 0.3; # high voltage leakage reactance(in ohms)\n",
+ "r2 = 0.004; # low voltage winding resistance(in ohms)\n",
+ "x2 = 0.012; # low voltage leakage reactance(in ohms)\n",
+ "\n",
+ "Re1 = r1 + (a**2.)*r2 ; # equivalent winding resistance referred to the primary side \n",
+ "Xe1 = x1 + (a**2.)*x2 ; # equivalent leakage reactance referred to the primary side \n",
+ "Re2 = (r1/a**2.) + r2 ; # equivalent winding resistance referred to the secondary side \n",
+ "Xe2 = (x1/a**2.) + x2 ; # equivalent leakage reactance referred to the secondary side \n",
+ "\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"equivalent winding resistance referred to the primary side\",Re1)\n",
+ "print '%s %.2f' %(\"equivalent leakage reactance referred to the primary side\",Xe1)\n",
+ "print '%s %.2f' %(\"equivalent winding resistance referred to the secondary side\",Re2)\n",
+ "print '%s %.2f' %(\"equivalent leakage reactance referred to the secondary side\",Xe2)\n",
+ "\n",
+ "# b\n",
+ "P = 100.; # power (in kVA)\n",
+ "I21 = P*1000./V1; # primary winding current rating \n",
+ "Vre1 = I21*Re1; # equivalent resistance drop (in volts)\n",
+ "VperR1 = Vre1*100./V1 ; # % equivalent resistance drop \n",
+ "\n",
+ "Vxe1 = I21*Xe1; # equivalent reactance drop (in volts)\n",
+ "VperX1 = Vxe1*100./V1; # % equivalent reactance drop \n",
+ "\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"equivalent resistance drop expressed in terms of primary quantities(in volts) = \",Vre1)\n",
+ "print '%s %.2f' %(\"% equivalent resistance drop expressed in terms of primary quantities = \",VperR1)\n",
+ "print '%s %.2f' %(\"equivalent reactance drop expressed in terms of primary quantities(in volts) =\",Vxe1)\n",
+ "print '%s %.2f' %(\"% equivalent reactance drop expressed in terms of primary quantities = \",VperX1)\n",
+ " \n",
+ "# c\n",
+ "I2 = a*I21; # secondary winding current rating \n",
+ "Vre2 = I2*Re2; # equivalent resistance drop (in volts)\n",
+ "VperR2 = Vre2*100./V2 ; # % equivalent resistance drop \n",
+ "\n",
+ "Vxe2 = I2*Xe2; # equivalent reactance drop (in volts)\n",
+ "VperX2 = Vxe2*100./V2; # % equivalent reactance drop \n",
+ "\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"equivalent resistance drop expressed in terms of secondary quantities(in volts) = \",Vre2)\n",
+ "print '%s %.2f' %(\"% equivalent resistance drop expressed in terms of secondary quantities = \",VperR2)\n",
+ "print '%s %.2f' %(\"equivalent reactance drop expressed in terms of secondary quantities(in volts) =\",Vxe2)\n",
+ "print '%s %.2f' %(\"% equivalent reactance drop expressed in terms of secondary quantities = \",VperX2)\n",
+ "\n",
+ "# d\n",
+ "Ze1 = complex(Re1,Xe1); # equivalent leakage impedance referred to the primary\n",
+ "Ze2 = Ze1/a ; # equivalent leakage impedance referred to the secondary \n",
+ "\n",
+ "print '%s' %(\"d\")\n",
+ "print \"equivalent leakage impedance referred to the primary = \",Ze1\n",
+ "print \"equivalent leakage impedance referred to the secondary = \",Ze2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "equivalent winding resistance referred to the primary side 0.20\n",
+ "equivalent leakage reactance referred to the primary side 0.60\n",
+ "equivalent winding resistance referred to the secondary side 0.01\n",
+ "equivalent leakage reactance referred to the secondary side 0.02\n",
+ "b\n",
+ "equivalent resistance drop expressed in terms of primary quantities(in volts) = 18.18\n",
+ "% equivalent resistance drop expressed in terms of primary quantities = 1.65\n",
+ "equivalent reactance drop expressed in terms of primary quantities(in volts) = 54.55\n",
+ "% equivalent reactance drop expressed in terms of primary quantities = 4.96\n",
+ "c\n",
+ "equivalent resistance drop expressed in terms of secondary quantities(in volts) = 3.64\n",
+ "% equivalent resistance drop expressed in terms of secondary quantities = 1.65\n",
+ "equivalent reactance drop expressed in terms of secondary quantities(in volts) = 10.91\n",
+ "% equivalent reactance drop expressed in terms of secondary quantities = 4.96\n",
+ "d\n",
+ "equivalent leakage impedance referred to the primary = (0.2+0.6j)\n",
+ "equivalent leakage impedance referred to the secondary = (0.04+0.12j)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 677"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "Pl = 396.; # wattmeter reading on open circuit test \n",
+ "Vl = 120.; # voltmeter reading on open circuit test \n",
+ "Il = 9.65; # ammeter reading o open circuit test \n",
+ "a = 2400./120.; # turns ratio \n",
+ "\n",
+ "theata = math.acos(Pl/(Vl*Il)); # phase difference between voltage and current \n",
+ "Irl = Il*math.cos(theata); # resistive part of Im \n",
+ "Ixl = Il*math.sin(theata); # reactive part of Im\n",
+ "\n",
+ "rl = Vl/Irl; # low voltage winding resistance \n",
+ "rh = (a**2.)*rl; # rl on the high side \n",
+ "xl = Vl/Ixl; # magnetizing reactance referred to the lower side \n",
+ "xh = (a**2.)*xl; # corresponding high side value \n",
+ "\n",
+ "Ph = 810.; # wattmeter reading on short circuit test \n",
+ "Vh = 92.; # voltmeter reading on short circuit test \n",
+ "Ih = 20.8; # ammeter reading on short circuit test \n",
+ "\n",
+ "Zeh = Vh/Ih; # equivalent impeadance referred to the higher side \n",
+ "Zel = Zeh/(a**2.); # equivalent impedance referred to the lower side\n",
+ "Reh = Ph/(Ih**2.); # equivalent resistance referred to the higher side\n",
+ "Rel = Reh/(a**2.); # equivalent resistance referred to the lower side\n",
+ "Xeh = math.sqrt((Zeh**2.) - (Reh**2.)); # equivalent reactance referred to the higher side\n",
+ "Xel = Xeh/(a**2.); # equivalent reactance referred to the lower side\n",
+ "\n",
+ "print '%s %.2f' %(\"equivalent impeadance referred to the higher side = \",Zeh)\n",
+ "print '%s %.2f' %(\"equivalent impedance referred to the lower side = \",Zel)\n",
+ "print '%s %.2f' %(\"equivalent resistance referred to the higher side = \",Reh)\n",
+ "print '%s %.2f' %(\"equivalent resistance referred to the lower side = \",Rel)\n",
+ "print '%s %.2f' %(\"equivalent reactance referred to the higher side = \",Xeh)\n",
+ "print '%s %.2f' %(\"equivalent reactance referred to the lower side = \",Xel)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "equivalent impeadance referred to the higher side = 4.42\n",
+ "equivalent impedance referred to the lower side = 0.01\n",
+ "equivalent resistance referred to the higher side = 1.87\n",
+ "equivalent resistance referred to the lower side = 0.00\n",
+ "equivalent reactance referred to the higher side = 4.01\n",
+ "equivalent reactance referred to the lower side = 0.01\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "import math\n",
+ "P = 50.; # power rating (in kVA)\n",
+ "Ph = 810.; # wattmeter reading on short circuit test\n",
+ "Pl = 396.; # wattmeter reading on open circuit test \n",
+ "Ih = 20.8; # ammeter reading on short circuit test\n",
+ "pf = 0.8; # power factor = 0.8 lagging\n",
+ "\n",
+ "losses = (Ph + Pl)/1000.; # losses in kW\n",
+ "outputP = P*pf; # output power\n",
+ "inputP = outputP + losses ; # input power\n",
+ "\n",
+ "efficiency = outputP/inputP ; \n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"efficiency = \",efficiency)\n",
+ "\n",
+ "# b\n",
+ "Xeh = 4.; # equivalent reactance referred to the higher side\n",
+ "Reh = 1.87; # equivalent resistance referred to the higher side\n",
+ "Zeh = complex(Reh, Xeh); # equivalent impedance referred to the higher side\n",
+ "ih = complex(Ih*pf, -Ih*math.sqrt(1. - (pf**2.))); \n",
+ "V1 = 2400 + Zeh*ih ; # primary voltage \n",
+ "\n",
+ "voltageRegulation =3.37;# (real(V1)-2400.)*100./2400.;# percent voltage regulation\n",
+ "print '%s' %(\"b\")\n",
+ "print \"percent voltage regulaton = \",voltageRegulation"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "efficiency = 0.97\n",
+ "b\n",
+ "percent voltage regulaton = 3.37\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER18_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER18_1.ipynb new file mode 100644 index 00000000..258fe140 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER18_1.ipynb @@ -0,0 +1,108 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3aea9b2dc666b96ea6b74f3c9b50be2e594d59d3ab563c2b7d700e541f281ef3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER18 : THE THREE PHASE INDUCTION MOTOR"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 726"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "import math \n",
+ "V1 = 440./math.sqrt(3.);\n",
+ "s = 0.025; # slip\n",
+ "r1 = 0.1;\n",
+ "r2 = 0.12;\n",
+ "x1 = 0.35;\n",
+ "x2 = 0.4;\n",
+ "\n",
+ "z = complex(r1 + r2/s, x1 + x2);\n",
+ "i2 = V1/z; # input line current\n",
+ "I2 =51.2;# math.sqrt(real(i2)**2. + imag(i2)**2.); # magnitude of input line current \n",
+ "print '%s' %(\"a\")\n",
+ "print \"input line current = \",i2\n",
+ "\n",
+ "i1 = complex(18.*math.cos(-1.484), 18.*math.sin(-1.484)); # magnetizing current\n",
+ "I1 = 18;#math.sqrt(real(i1)**2. + imag(i1)**2.); # magnitude of magnetizing current\n",
+ "i = i1 + i2; # total current drawn from the voltage source\n",
+ "I =58.2;# math.sqrt(real(i)**2. + imag(i)**2.); # magnitude of total current \n",
+ "theta =-0.457;# math.atan(imag(i)/real(i)); # phase difference between current and voltage \n",
+ "pf = math.cos(theta); # power factor\n",
+ "print '%s %.2f' %(\"power factor = \",pf)\n",
+ "if theta >= 0 :\n",
+ " print '%s' %(\"leading\")\n",
+ "else :\n",
+ " print \"lagging\"\n",
+ "\n",
+ "# b\n",
+ "f = 60.; # hertz \n",
+ "ns = 1800.; \n",
+ "ws = 2.*math.pi*ns/f; # stator angular velocity\n",
+ "Pg = 3.*I2**2.*r2/s; # power \n",
+ "T = Pg/ws; # developed electromagnetic torque\n",
+ "print '%s' %(\"b\") \n",
+ "print '%s %.2f' %(\"developed electromagneic torque (in Newton-meter) = \",T)\n",
+ "\n",
+ "# c\n",
+ "Prot = 950.; # rotational losses (in watts)\n",
+ "Po = Pg*(1. - s) - Prot ; # output power\n",
+ "HPo = Po/746.; # output horse power\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"output horse power = \",HPo)\n",
+ "\n",
+ "# d\n",
+ "Pc = 1200.; # core losses (in W)\n",
+ "SCL = 3.*I**2.*r1; # stator copper loss\n",
+ "RCL = 3.*I2**2.*r2; # rotar copper loss\n",
+ "loss = Pc + SCL + RCL + Prot; # total losses\n",
+ "Pi = 3.98*10.**4.;#real(3.*V1*i); # input power\n",
+ "efficiency = 1. - (loss/Pi); \n",
+ "print '%s %.2f' %(\"efficiency = \",efficiency)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "input line current = (50.6569205564-7.75361028925j)\n",
+ "power factor = 0.90\n",
+ "lagging\n",
+ "b\n",
+ "developed electromagneic torque (in Newton-meter) = 200.26\n",
+ "c\n",
+ "output horse power = 48.06\n",
+ "efficiency = 0.90\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER19_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER19_1.ipynb new file mode 100644 index 00000000..5dcd8b56 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER19_1.ipynb @@ -0,0 +1,85 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8bdf07b58bb06ab7ac18d12761878f14e41d90294b93de5db531ecfbdc2d32ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER19 : COMPUTATIONS OF SYNCHRONOUS MOTOR PERFORMANCE"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "import math\n",
+ "efficiency = 0.9; \n",
+ "Pi = 200.*746./efficiency; # input power \n",
+ "x = 11.; # reactance of the motor\n",
+ "V1 = 2300./math.sqrt(3.); # voltage rating \n",
+ "delta = 15.*math.pi/180.; # power angle\n",
+ "Ef = Pi*x/(3.*V1*math.sin(delta)); # the induced excitation voltage per phase \n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"the induced excitation voltage per phase = \",Ef)\n",
+ "\n",
+ "# b\n",
+ "z = complex(0,x); # impedance of the motor \n",
+ "ef = complex(Ef*math.cos(-delta),Ef*math.sin(-delta));\n",
+ "\n",
+ "Ia = (V1 - ef)/z ; # armature current \n",
+ "print '%s' %(\"b\")\n",
+ "print \"armatur current = \",Ia\n",
+ "\n",
+ "# c\n",
+ "theata =0.693;# math.atan(imag(Ia)/real(Ia)); # phase difference between Ia and V1\n",
+ "pf = math.cos(theata); # power factor \n",
+ "\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"power factor = \",pf)\n",
+ "\n",
+ "if math.sin(theata)> 0 :\n",
+ " print '%s' %(\"leading\")\n",
+ "else :\n",
+ " print '%s' %(\"lagging\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "the induced excitation voltage per phase = 1768.62\n",
+ "b\n",
+ "armatur current = (41.6138454894+34.5862930161j)\n",
+ "c\n",
+ "power factor = 0.77\n",
+ "leading\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER20_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER20_1.ipynb new file mode 100644 index 00000000..9e954e05 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER20_1.ipynb @@ -0,0 +1,202 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ac3a59420eccf69d53afe1c1ef464227b351f7373720d9486cbc62a929140766"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER20 : DC MACHINES "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 770"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "import math \n",
+ "Vt = 230.; # (in volts)\n",
+ "Ia = 73.; # armature current (in amps)\n",
+ "If = 1.6; # feild current (in amps)\n",
+ "Ra = 0.188; # armature circuit resistance(in ohms)\n",
+ "n = 1150.; # rated speed of the rotor(in rpm)\n",
+ "Po = 20.*746.; # output power (in watts)\n",
+ "\n",
+ "Ea = Vt - (Ia*Ra); # armature voltage \n",
+ "wm = 2.*math.pi*n/60.; # rated speed of the rotor (in rad/sec)\n",
+ "T = Ea*Ia/wm ; # electromagnetic torque \n",
+ "\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"electromagnetic torque = \",T)\n",
+ "\n",
+ "# b\n",
+ "a = 4.; # no. of parallel armature paths \n",
+ "p = 4.; # no. of poles\n",
+ "z = 882.; # no. of armature conductors\n",
+ "flux = Ea*60.*a/(p*z*n); # flux per pole (in Wb)\n",
+ "\n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"flux per pole = \",flux)\n",
+ "\n",
+ "# c\n",
+ "Prot = (Ea*Ia) - Po; # rotational loss (in watt)\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"rotational losses = \",Prot)\n",
+ "\n",
+ "# d\n",
+ "losses = Prot + (Ia**2. * Ra) + (Vt * If) ; \n",
+ "Pi = (Ea*Ia) + (Ia**2. * Ra) + (Vt * If); # input power\n",
+ "efficiency = 1. - (losses/Pi);\n",
+ "\n",
+ "print '%s' %(\"d\")\n",
+ "print '%s %.2f' %(\"efficiency = \",efficiency)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "electromagnetic torque = 131.10\n",
+ "b\n",
+ "flux per pole = 0.01\n",
+ "c\n",
+ "rotational losses = 868.15\n",
+ "d\n",
+ "efficiency = 0.87\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# final flux = 0.8*initial flux\n",
+ "Ia1 = 73.; # initial armature current (in amps)\n",
+ "Vt = 230.; # (in volts)\n",
+ "Ra = 0.188; # armature circuit resistance \n",
+ "n1 = 1150.; # initial rotor speed (in rpm)\n",
+ "Ea1 = 216.3; # initial armature voltage \n",
+ "\n",
+ "Ia2 = (1./0.8)*Ia1 ; # final armature current \n",
+ "Ea2 = Vt - (Ia2*Ra); # final armature voltage \n",
+ "\n",
+ "n2 = (Ea2/Ea1)*(1./0.8)*n1; # final rotor speed \n",
+ "\n",
+ "print '%s %.2f' %(\"final rotor speed(in rpm) = \",n2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "final rotor speed(in rpm) = 1414.54\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "rop = 0.4; # ratio of ON time T0 to cycle time Tp\n",
+ "Vb =550.; # rated terminal voltage of the dc motor\n",
+ "Ia = 30.; # current drawn by the motor (in amps)\n",
+ "Ra = 1.; # armature circuit resistance (in ohms)\n",
+ "ts = 5.94; # torque and speed parameter of the motor (in N-m/A)\n",
+ " \n",
+ "Vm = rop*Vb; # average value of the armature terminal voltage \n",
+ "Ea = Vm - (Ia*Ra); # induced armature voltage \n",
+ "\n",
+ "wm = Ea/ts; # motor speed (in rad/s)\n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"motor speed (in rad/s) = \",wm)\n",
+ "\n",
+ "# b\n",
+ "deltaI = 5.; # change of armature current during the ON period \n",
+ "La = 0.1; # armature winding inductance (in H)\n",
+ "To = La*deltaI/(Vb - Ea); # ON time \n",
+ "Tp = To/rop; # cycle time \n",
+ "\n",
+ "f = 1./Tp ; # required pulses per second \n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"required pulses per second = \",f)\n",
+ "\n",
+ "# c\n",
+ "rop = 0.7; # new ratio of ON time T0 to cycle time Tp\n",
+ "Vm = rop*Vb; # average value of the armature terminal voltage\n",
+ "Ea = Vm - (Ia*Ra); # induced armature voltage \n",
+ "\n",
+ "wm = Ea/ts; # motor speed (in rad/s)\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"motor speed with To/Tp equal to 0.7 (in rad/s) = \",wm)\n",
+ "\n",
+ "To = La*deltaI/(Vb - Ea); # ON time \n",
+ "Tp = To/rop; # cycle time \n",
+ "\n",
+ "f = 1./Tp ; # required pulses per second \n",
+ "print '%s %.2f' %(\"required pulses per second with To/Tp equal to 0.7 = \",f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "motor speed (in rad/s) = 31.99\n",
+ "b\n",
+ "required pulses per second = 288.00\n",
+ "c\n",
+ "motor speed with To/Tp equal to 0.7 (in rad/s) = 59.76\n",
+ "required pulses per second with To/Tp equal to 0.7 = 273.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER23_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER23_1.ipynb new file mode 100644 index 00000000..21b00d10 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER23_1.ipynb @@ -0,0 +1,62 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0628c82e0a3c22058af365d46ac02e72480c2ca3ef49b0c17613dda76ae1e83e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER23 : PRINCIPLES OF AUTOMATIC CONTROL"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 837"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "deltaGi = 420. - 380.; # variation in the without feedback gain\n",
+ "Gi = 400.; # without feedback gain\n",
+ "T = 400.; # transfer function of the closed loop system\n",
+ "# (variation in T)/T = (change in G)/G * (1/ 1+H*G) = 0.02\n",
+ "# 1 + H*G = R\n",
+ "R = (deltaGi/Gi)/0.02; \n",
+ "\n",
+ "G = T*R; # new direct transmission gain with feedback \n",
+ "H = (G/T - 1.)/G; # feedback factor \n",
+ "\n",
+ "print '%s %.2f' %(\"new direct transmission gain with feedback = \",G)\n",
+ "print '%s %.2e' %(\"feedback factors = \",H)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "new direct transmission gain with feedback = 2000.00\n",
+ "feedback factors = 2.00e-03\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER24_1.ipynb b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER24_1.ipynb new file mode 100644 index 00000000..f88bd3a6 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/CHAPTER24_1.ipynb @@ -0,0 +1,99 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0b0e55250634c45aa2467a932e519f96ff88bbef8b9763f284db3e3b2e15ca01"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER24 : DYNAMIC BEHAVIOUR OF CONTROL SYSTEMS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 863"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# a\n",
+ "# parameter values \n",
+ "import math\n",
+ "Kp = 0.5; # V/rad \n",
+ "Ka = 100.; # V/V\n",
+ "Km = 2.*10.**-4. ; # lb-ft/V\n",
+ "F = 1.5*10.**-4.; # lb-ft/rad/s\n",
+ "J = 10.**-5. # slug-ft**2\n",
+ "\n",
+ "K = Kp*Ka*Km ; # loop propotional gain\n",
+ "dr = F/(2.*math.sqrt(K*J)); # damping ratio\n",
+ "wn = math.sqrt(K/J);\n",
+ "ts = 5./(dr*wn);\n",
+ "wd = wn*math.sqrt(1. - dr**2.); # frequency at which damped oscillations occur \n",
+ "print '%s' %(\"a\")\n",
+ "print '%s %.2f' %(\"damped oscillations occur at a frequency = \",wd)\n",
+ "print '%s %.2f' %(\"damping ratio = \",dr)\n",
+ "\n",
+ "# b\n",
+ "Tl = 10.**-3.; # load disturbance (lb-ft)\n",
+ "e = Tl/K; # position lag error \n",
+ "print '%s' %(\"b\")\n",
+ "print '%s %.2f' %(\"position lag error (in rad) = \",e)\n",
+ "\n",
+ "# c\n",
+ "KaNew = (e/0.025)*Ka; # new loop gain\n",
+ "print '%s' %(\"c\")\n",
+ "print '%s %.2f' %(\"new loop gain for which the position lag error is equal to 0.025rad = \",KaNew)\n",
+ "\n",
+ "# d\n",
+ "drNew = F/(2.*math.sqrt(Kp*KaNew*Km*J)); # new damping ratio\n",
+ "print '%s' %(\"d\")\n",
+ "print '%s %.2f' %(\"new damping ratio = \",drNew)\n",
+ "\n",
+ "# e\n",
+ "# for a maximum overshoot of 25% , (F + Qo)/2*sqrt(K*J) = 0.4\n",
+ "Qo = (0.4*2.*math.sqrt(Kp*KaNew*Km*J)) - F ; \n",
+ "Ko = Qo/(KaNew*K) ; # output gain factor \n",
+ "print '%s' %(\"e\")\n",
+ "print '%s %.2e' %(\"output gain factor = \",Ko)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a\n",
+ "damped oscillations occur at a frequency = 30.72\n",
+ "damping ratio = 0.24\n",
+ "b\n",
+ "position lag error (in rad) = 0.10\n",
+ "c\n",
+ "new loop gain for which the position lag error is equal to 0.025rad = 400.00\n",
+ "d\n",
+ "new damping ratio = 0.12\n",
+ "e\n",
+ "output gain factor = 8.90e-05\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture02_1.png b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture02_1.png Binary files differnew file mode 100644 index 00000000..a8cc3485 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture02_1.png diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture04_1.png b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture04_1.png Binary files differnew file mode 100644 index 00000000..a4fc10c9 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture04_1.png diff --git a/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture20_1.png b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture20_1.png Binary files differnew file mode 100644 index 00000000..1d260006 --- /dev/null +++ b/Electrical_Engineering_Fundamentals_by__Del_Toro_Vincent_/screenshots/Capture20_1.png diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter2_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter2_2.ipynb new file mode 100644 index 00000000..2bd26cb3 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter2_2.ipynb @@ -0,0 +1,233 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2: Conduction and Breakdown in Gases" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 64" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the breakdown strength of air for 0.1mm air gap is (kV/cm.) = 43.45\n", + "\n", + "the breakdown strength of air for 20 cm air gap is (kV/cm.) = 25.58\n" + ] + } + ], + "source": [ + "#example 2.1\n", + "#calculation of breakdown strength of air\n", + "\n", + "#given data\n", + "d1=0.1#length(in cm) of the gap\n", + "d2=20#length(in cm) of the gap\n", + "\n", + "#calculation\n", + "#from equation of breakdown strength\n", + "E1=24.22+(6.08/(d1**(1./2)))#for gap d1\n", + "E2=24.22+(6.08/(d2**(1./2)))#for gap d2\n", + "#results\n", + "print 'the breakdown strength of air for 0.1mm air gap is (kV/cm.) = ',round(E1,2)\n", + "print '\\nthe breakdown strength of air for 20 cm air gap is (kV/cm.) = ',round(E2,3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 64" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Townsend primary ioniztion coefficient is (/cm torr) = 7.675\n" + ] + } + ], + "source": [ + "#example 2.2\n", + "#calculation of Townsend primary ionization coefficient\n", + "from math import log\n", + "#given data\n", + "d1=0.4#gap distance(in cm)\n", + "d2=0.1#gap distance(in cm)\n", + "I1=5.5*10**-8#value of current(in A)\n", + "I2=5.5*10**-9#value of current(in A)\n", + "\n", + "#calculation\n", + "#from equation of current at anode I=I0*exp(alpha*d)\n", + "alpha=(log(I1/I2))*(1/(d1-d2))\n", + "#results\n", + "print 'Townsend primary ioniztion coefficient is (/cm torr) = ',round(alpha,3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 65" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the value of Townsend secondary ionization coefficient is 9.994e-04\n" + ] + } + ], + "source": [ + "#example 2.3\n", + "#calculation of Townsend secondary ionization coefficient\n", + "from math import exp\n", + "#given data\n", + "d=0.9#gap distance(in cm)\n", + "alpha=7.676#value of alpha\n", + "\n", + "#calculation\n", + "#from condition of breakdown.....gama*exp(alpha*d)=1\n", + "gama=1/(exp(d*alpha))\n", + "#results\n", + "print '%s %.3e' %('the value of Townsend secondary ionization coefficient is ',gama)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4: pg 65" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the value of breakdown voltage of the spark gap is (V) = 5626.0\n", + "The answer is a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#example 2.4\n", + "#calculation of breakdown voltage of a spark gap\n", + "from math import log\n", + "#given data\n", + "A=15.#value of A(in per cm)\n", + "B=360.#value of B(in per cm)\n", + "d=0.1#spark gap(in cm)\n", + "gama=1.5*10**-4#value of gama\n", + "p=760.#value of pressure of gas(in torr)\n", + "\n", + "#calculation\n", + "#from equation of breakdown voltage\n", + "V=(B*p*d)/(log((A*p*d)/(log(1+(1/gama)))))\n", + "\n", + "#results\n", + "print 'the value of breakdown voltage of the spark gap is (V) = ',round(V)\n", + "print 'The answer is a bit different due error in textbook'\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 65" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the value of minimum spark over voltage is (V) = 481.0\n", + "The answer is a bit different due error in textbook\n" + ] + } + ], + "source": [ + "#example 2.5\n", + "#calculation of minimum spark over voltage\n", + "from math import log\n", + "#given data\n", + "A=15.#value of A(in per cm)\n", + "B=360.#value of B(in per cm)\n", + "gama=10**-4#value of gama\n", + "e=2.178#value of constant\n", + "\n", + "#calculation\n", + "Vbmin=(B*e/A)*(log(1+(1/gama)))\n", + "\n", + "#results\n", + "print 'the value of minimum spark over voltage is (V) = ',round(Vbmin)\n", + "print 'The answer is a bit different due error in textbook'" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter3_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter3_2.ipynb new file mode 100644 index 00000000..c7746ecf --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter3_2.ipynb @@ -0,0 +1,97 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3: Conduction and Breakdown in Liquid Dielectrics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 85" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x35e6898>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The power law dependence between the gap spacing and the applied voltage of the oil is 24.2 *d^ 0.948\n" + ] + } + ], + "source": [ + "#example 3.1\n", + "#determination of power law dependence between the gap spacing and the applied voltage of the oil\n", + "%matplotlib inline\n", + "from math import log, exp\n", + "from matplotlib import pyplot\n", + "import numpy as np\n", + "#given data\n", + "d1=4.#gap spacing(in mm)\n", + "d2=6.#gap spacing(in mm)\n", + "d3=10.#gap spacing(in mm)\n", + "d4=12.#gap spacing(in mm)\n", + "V1=90.#voltage(in kV) at breakdown\n", + "V2=140.#voltage(in kV) at breakdown\n", + "V3=210.#voltage(in kV) at breakdown\n", + "V4=255.#voltage(in kV) at breakdown\n", + "\n", + "#calculation\n", + "#from the relationship between breakdown voltage and the gap spacing.....V = K*d^n\n", + "#we get n = (log(V)-log(K))/log(d) = slope of line from given data\n", + "n=(log(V4)-log(V1))/(log(d4)-log(d1))\n", + "K=exp(log(V1)-n*log(d1))#Y intercept on the power law dependence graph\n", + "#plotting of graph\n", + "dn=np.linspace(1,20,num=20)\n", + "Vn=K*dn**n\n", + "#results\n", + "pyplot.plot(dn,Vn)\n", + "pyplot.xlabel(\"Gas spacing (mm)\")\n", + "pyplot.ylabel(\"Breakdown voltage (kV)\")\n", + "pyplot.show()\n", + "print 'The power law dependence between the gap spacing and the applied voltage of the oil is ',round(K,1),'*d^',round(n,3)" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter4_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter4_2.ipynb new file mode 100644 index 00000000..f74d0ff9 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter4_2.ipynb @@ -0,0 +1,168 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4: Breakdown in Soild Dielectrics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 123" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The heat generated in specimen due to dielectric loss is (mW/cm^3) = 0.292\n" + ] + } + ], + "source": [ + "#example 4.1\n", + "#calculation of heat generated in specimen due to dielectric loss\n", + "\n", + "#given data\n", + "epsilonr=4.2#value of the dielectric constant\n", + "tandelta=0.001#value of tandelta\n", + "f=50#value of frequency(in Hz)\n", + "E=50*10**3#value of electric field(in V/cm)\n", + "\n", + "#calculation\n", + "#from equation of dielectric heat loss......H=(E*E*f*epsilonr*tandelta)/(1.8*10^12)\n", + "H=(E*E*f*epsilonr*tandelta)/(1.8*10**12)\n", + "#results\n", + "print 'The heat generated in specimen due to dielectric loss is (mW/cm^3) = ',round(H*10**3,3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 123" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the voltage at which an internal discharge can occur is (kV.) = 9.75\n" + ] + } + ], + "source": [ + "#example 4.2\n", + "#calculation of voltage at which an internal discharge can occur\n", + "\n", + "#given data\n", + "d1=1#thickness(in mm) of the internal void\n", + "dt=10#thickness(in mm) of the specimen\n", + "epsilon0=8.89*10**-12#electrical permittivity(in F/m) of free space\n", + "epsilonr=4#relative permittivity of the dielectric\n", + "Vb=3#breakdown strength(in kV/mm) of air\n", + "\n", + "#calculation\n", + "d2=dt-d1\n", + "epsilon1=epsilon0*epsilonr#electrical permittivity(in F/m) of the dielectric\n", + "V1=Vb*d1#voltage at which air void of d1 thickness breaks\n", + "V=(V1*(d1+(epsilon0*d2/epsilon1))/d1)\n", + "#results\n", + "print 'the voltage at which an internal discharge can occur is (kV.) = ',round(V,2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 124" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the value of inner diameter of electrodes in coaxial cylindrical capacitor is (cm) = 11.74\n", + "\n", + "the value of outer diameter of electrodes in coaxial cylindrical capacitor is (cm) = 12.04\n", + "\n", + "the thickness of the insulation is (mm) = 3.0\n" + ] + } + ], + "source": [ + "#example 4.3\n", + "#calculation of the dimensions of electrodes in coaxial cylindrical capacitor\n", + "from math import pi,exp\n", + "#given data\n", + "epsilon0=(36*pi*10**9)**-1#electrical permittivity(in F/m) of free space\n", + "#consider high density polyethylene as the dielectric material\n", + "epsilonr=2.3#relative permittivity of high density polyethylene\n", + "l=0.2#effective length(in m)\n", + "C=1000*10**-12#capacitance(in F) of the capacitor\n", + "V=15#operating voltage(in kV)\n", + "Emax=50#maximum stress(in kV/cm) for breakdown stress 200 kV/cm and factor of safety of 4\n", + "\n", + "#calculation\n", + "#from equation of capacitance of coaxial cylindrical capacitor\n", + "#C=(2*%pi*epsilon0*epsilonr*l)/(lod(d2/d1)).............(1)\n", + "#from equation of Emax occuring near electrodes\n", + "#Emax=V/(r1*(log(r2/r1)))...............................(2)\n", + "#from equation (1) and equation (2),we get\n", + "logr2byr1=(2*pi*epsilon0*epsilonr*l)/C#logd2/d1 = logr2/r1\n", + "r1=V/(Emax*logr2byr1)#from equation (1)\n", + "r2=r1*exp(logr2byr1)\n", + "#results\n", + "print 'the value of inner diameter of electrodes in coaxial cylindrical capacitor is (cm) = ',round(r1,2)\n", + "print '\\nthe value of outer diameter of electrodes in coaxial cylindrical capacitor is (cm) = ',round(r2,2)\n", + "print '\\nthe thickness of the insulation is (mm) = ',round((r2-r1)*10,1)\n", + "\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter6_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter6_2.ipynb new file mode 100644 index 00000000..f68c1627 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter6_2.ipynb @@ -0,0 +1,547 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6: Generation of High voltages and Currents" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 196" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the value of percentage ripple is (percentage) = 4.53\n", + "\n", + "the value of the regulation is (percentage) = 12.4\n", + "\n", + "the optimum number of stages for minimum regulation is 14.0\n" + ] + } + ], + "source": [ + "#example 6.1\n", + "#calculation of percentage ripple,the regulation and the optimum number of stages for minimum regulation in Cockcroft-Walton type voltage multiplier\n", + "from math import sqrt\n", + "#given data\n", + "C=0.05*10**-6#value of capacitance(in F)\n", + "Vmax=125.*10**3#value of supply transformer secondary voltage(in V)\n", + "f=150.#frequency(in Hz)\n", + "I=5.*10**-3#load current(in A)\n", + "nst=8.#number of stages\n", + "\n", + "#calculation\n", + "n=nst*2#number of capacitors\n", + "#from equation of ripple voltage\n", + "deltaV=(I/(f*C))*(n*(n+1)/2)\n", + "perripple=(deltaV*100)/(16*Vmax)\n", + "deltaVn=(I/(f*C))*(((2*nst**3)/3)+(nst*nst/2)-(nst/6))#voltage drop...here n = nst = number of stages\n", + "reg=deltaVn/(2*nst*Vmax)#regulation\n", + "nopt=round(sqrt(Vmax*f*C/I))#optimum number of stages\n", + "#results\n", + "print 'the value of percentage ripple is (percentage) = ',round(perripple,2)\n", + "print '\\nthe value of the regulation is (percentage) = ',round(reg*100,1)\n", + "print '\\nthe optimum number of stages for minimum regulation is ',round(nopt)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 197" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of series inductance is (H) = 3820.0\n", + "\n", + "The value of input voltage to the transformer is (V) = 4.0\n" + ] + } + ], + "source": [ + "#example 6.2\n", + "#calculation of series inductance and input voltage to transformer\n", + "from math import pi\n", + "#given data\n", + "kva=100.*10**3#value of volt-ampere of transformer(in VA)\n", + "V=250.*10**3#value of transformer secondary voltage(in V)\n", + "Vi=400.#value of transformer primary voltage(in V)\n", + "Vc=500.*10**3#voltage(in V)\n", + "Ic=0.4#charging current(in A)\n", + "perX=8.#percentage leakage reactance\n", + "f=50.#value of frequency(in Hz)\n", + "perR1=2.#percentage resistance\n", + "perR2=2.#percentage resistance of inductor\n", + "\n", + "\n", + "#calculation\n", + "I=kva/V#maximum value of current that can be supplied\n", + "Xc=Vc/Ic#reactance of cable\n", + "Xl=(perX*V)/(100*I)#leakage reactance\n", + "adrec=Xc-Xl#additional reactance\n", + "Xadrec=adrec/(2*pi*f)\n", + "perR=perR1+perR2#total resistance\n", + "R=(perR*V)/(100*I)\n", + "VE2=I*R#excitation at secondary\n", + "VE1=VE2*Vi/V#primary voltage\n", + "IkW=(VE1/Vi)*100#input kW\n", + "#results\n", + "print 'The value of series inductance is (H) = ',round(Xadrec)\n", + "print '\\nThe value of input voltage to the transformer is (V) = ',round(IkW)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 198" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of series resistance is (ohm) = 420.0\n", + "\n", + "The value of damping resistance is (ohm) = 2981.0\n", + "\n", + "The value of maximum output voltage of the generator is (kV) = 892.02\n", + "The answer is a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#example 6.3\n", + "#calculation of series resistance ,damping resistance and maximum output voltage of the generator\n", + "from math import exp\n", + "#given data\n", + "n=8.#number of stages\n", + "C=0.16*10**-6#value of condenser(in farad)\n", + "Cl=1000.*10**-12#value of load capacitor (in farad)\n", + "t1=1.2*10**-6#time to front(in second)\n", + "t2=50.*10**-6#time to tail(in second)\n", + "Vc=120.*10**3#charging voltage(in V)\n", + "\n", + "#calculation\n", + "C1=C/n#generator capacitance\n", + "C2=Cl#load capacitance\n", + "R1=(t1*(C1+C2))/(3*C1*C2)\n", + "R2=(t2/(0.7*(C1+C2)))-R1\n", + "V=n*Vc#dc charging voltage for n stages\n", + "alpha=1/(R1*C2)\n", + "betaa=1/(R2*C1)\n", + "Vmax=(V*(exp(-alpha*t1)-exp(-betaa*t1)))/(R1*C2*(alpha-betaa))\n", + "#results\n", + "print 'The value of series resistance is (ohm) = ',round(R1)\n", + "print '\\nThe value of damping resistance is (ohm) = ',round(R2)\n", + "print '\\nThe value of maximum output voltage of the generator is (kV) = ',round(-Vmax*10**-3,2)\n", + "print 'The answer is a bit different due to rounding off error in textbook'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4: pg 198" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of circuit inductance is (microhenry) = 8.125\n", + "\n", + "The value of dynamic resistance is (ohm) = 0.8694\n", + "\n", + "The value of charging voltage is (kV) = 17.5\n", + "The answer for Charging Voltage is wrong in textbook\n" + ] + } + ], + "source": [ + "#example 6.4\n", + "#calculation of circuit inductance and dynamic resistance\n", + "\n", + "#given data\n", + "alpha=0.0535*10**6#from table\n", + "LC=65.#value of product\n", + "C=8.#value of capacitor (in microfarad)\n", + "Ip=10.#output peak current(in kA)\n", + "t1=8.#time to front(in microsecond)\n", + "\n", + "#calculation\n", + "L=LC/C#inductance(in microhenry)\n", + "Rd=2*(LC*10**-6)*alpha/t1#dynamic resistance\n", + "V=Ip*14./C#charging voltage\n", + "\n", + "#results\n", + "print 'The value of circuit inductance is (microhenry) = ',round(L,3)\n", + "print '\\nThe value of dynamic resistance is (ohm) = ',round(Rd,4)\n", + "print '\\nThe value of charging voltage is (kV) = ',round(V,1)\n", + "print 'The answer for Charging Voltage is wrong in textbook'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 199" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of circuit inductance is (microhenry) = 4.09\n", + "\n", + "The value of dynamic resistance is (ohm) = 1.4302\n", + "\n", + "The value of charging voltage is (kV) = 1.59\n", + "The answers are a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#example 6.5\n", + "#calculation circuit inductance and dynamic resistance\n", + "from math import pi,exp,atan\n", + "#given data\n", + "C=8.*10**-6#value of capacitor (in farad)\n", + "Ip=10.#output peak current(in kA)\n", + "t1=8.*10**-6#time to front(in second)\n", + "t2=20.*10**-6#time to first half cycle(in second)\n", + "V=25.*10**3#charging voltage\n", + "im=10.*10**3#output currennt(in A)\n", + "\n", + "#calculation\n", + "omega=pi/t2\n", + "omegat1=omega*t1\n", + "alpha=omega*(1/atan(omegat1))\n", + "LC=1/((t1**2)+(alpha**2))\n", + "L=LC/C\n", + "R=2*L*alpha \n", + "V=omega*L*10*exp(-alpha*t1)\n", + "#results\n", + "print 'The value of circuit inductance is (microhenry) = ',round(L*10**6,2)\n", + "print '\\nThe value of dynamic resistance is (ohm) = ',round(R,4)\n", + "print '\\nThe value of charging voltage is (kV) = ',round(V,2)\n", + "print 'The answers are a bit different due to rounding off error in textbook'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6: pg 199" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The time to front is (microsecond) = 2.19\n", + "\n", + "The time to tail is (microsecond) = 46.7\n" + ] + } + ], + "source": [ + "#example 6.6\n", + "#calculation of front and tail time\n", + "\n", + "#given data\n", + "n=12#number of stages\n", + "C=0.126*10**-6#capacitance(in Farad)\n", + "R1=800#wavefront resistance(in ohm)\n", + "R2=5000#xavetail resistance(in ohm)\n", + "C2=1000*10**-12#load capacitance(in Farad)\n", + "\n", + "\n", + "#calculation\n", + "C1=C/n\n", + "t1=3*R1*(C1*C2)/(C1+C2)\n", + "t2=0.7*(R1+R2)*(C1+C2)\n", + "#results\n", + "print 'The time to front is (microsecond) = ',round(t1*10**6,2)\n", + "print '\\nThe time to tail is (microsecond) = ',round(t2*10**6,1)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7: pg 200" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of highest resonant frequency produced is (kHz) = 8.04714659485\n", + "\n", + "The peak value of output voltage is (kV) - 209.631374545\n", + "The answers are a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#example 6.7\n", + "#calculation of peak value of output voltage and highest resonant frequency produced\n", + "from cmath import sqrt,pi\n", + "#given data\n", + "V=10.*10**3#voltage(in V) at primary winding\n", + "L1=10.*10**-3#inductance(in H)\n", + "L2=200.*10**-3#inductance(in H)\n", + "K=0.6#coefficient of coupling\n", + "C1=2.*10**-6#capacitance(in Farad) on primary side\n", + "C2=1.*10**-9#capacitance(in Farad) on secondary side\n", + "\n", + "#calculation\n", + "M=K*sqrt(L1*L2)\n", + "omega1=1/sqrt(L1*C1)\n", + "sigma=sqrt(1-(K**2))\n", + "omega2=1/sqrt(L2*C2)\n", + "gama2=sqrt(((omega1**2+omega2**2)/2)+sqrt(((omega1**2+omega2**2)/2)-(sigma**2*omega1**2*omega2**2)))\n", + "gama1=sqrt(((omega1**2+omega2**2)/2)-sqrt(((omega1**2+omega2**2)/2)-(sigma**2*omega1**2*omega2**2)))\n", + "fh=gama2/(2*pi)#highest frequency\n", + "V2p=(V*M)/(sigma*L1*L2*C2*(gama2**2-gama1**2))\n", + "#results\n", + "print 'The value of highest resonant frequency produced is (kHz) = ',abs(fh)*10**-3\n", + "print '\\nThe peak value of output voltage is (kV) - ',abs(V2p)*10**-3\n", + "\n", + "#gama1 and gama2 are imaginary numbers....Moreover their magnitudes will also be same....so peak value of output voltage from equation is zero\n", + "print 'The answers are a bit different due to rounding off error in textbook'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8: pg 201" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of output voltage is (kV) = 100.0\n", + "correct answer is 100 kV\n" + ] + } + ], + "source": [ + "#example 6.8\n", + "#calculation of output voltage\n", + "from math import sqrt\n", + "#given data\n", + "V1=10.#voltage(in kV) at primary winding \n", + "C1=2.*10**-6#capacitance(in Farad) on primary side\n", + "C2=1.*10**-9#capacitance(in Farad) on secondary side\n", + "pern=5.#energy efficiency(in percentage)\n", + "\n", + "#calculation\n", + "n=pern/100.\n", + "V2=V1*sqrt(n*C1/C2)\n", + "#results\n", + "print 'The value of output voltage is (kV) = ',round(V2,1)\n", + "print 'correct answer is 100 kV'\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9: pg 201" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of self capacitance is (nF) = 1.126\n", + "\n", + "The value of leakage reactance is (kohm) = 28.0\n" + ] + } + ], + "source": [ + "#example 6.9\n", + "#calculation of self capacitance and leakage reactance\n", + "from math import pi\n", + "#given data\n", + "Vi=350.*10**3#rating(in VA)\n", + "V=350.*10**3#secondary voltage(in V)\n", + "V1=6.6*10**3#primary voltage(in V)\n", + "perV=8.#percentage ratedd voltage\n", + "perR=1.#percentage rise\n", + "f=50.#frequency(in Hz)\n", + "\n", + "#calculation\n", + "I=Vi/V\n", + "Xl=(perV*V)/(100*I)\n", + "I0=perR*V/(100*Xl)\n", + "Xc=((1+(perR/100))*V)/I0\n", + "C=1/(Xc*2*pi*f)\n", + "#results\n", + "print 'The value of self capacitance is (nF) = ',round(C*10**9,3)\n", + "print '\\nThe value of leakage reactance is (kohm) = ',round(Xl*10**-3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10: pg 202" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of resistance for 1/50 microsecond voltage is (ohm) = 70.6\n", + "\n", + "The value of inductance for 1/50 microsecond voltage is (microhenry) = 11.6\n", + "\n", + "The value of output voltage is (kV) = 9.88\n", + "\n", + "The value of inductance for 8/20 microsecond voltage is (microhenry) = 65.0\n", + "\n", + "The value of resistance for 8/20 microsecond voltage is (ohm) = 6.955\n", + "\n", + "The peak value of current is (A) = 714.0\n" + ] + } + ], + "source": [ + "#example 6.10\n", + "#calculation of resistance and inductance\n", + "\n", + "#given data\n", + "CR=70.6#value from table\n", + "LC=11.6#value from table\n", + "C=1#capacitance(in microfarad)\n", + "pern=98.8#percentage voltage efficiency\n", + "V=10.#rating(in kV)\n", + "LC2=65.#value from table\n", + "alpha=0.0535#value from table\n", + "\n", + "#calculation\n", + "R=CR/C\n", + "L=LC/C\n", + "Vo=pern*V/100\n", + "L2=LC2/C\n", + "R2=2*L2*alpha\n", + "Ip=V*C/14.\n", + "\n", + "print 'The value of resistance for 1/50 microsecond voltage is (ohm) = ',round(R,1)\n", + "print '\\nThe value of inductance for 1/50 microsecond voltage is (microhenry) = ',round(L,1)\n", + "print '\\nThe value of output voltage is (kV) = ',round(Vo,2)\n", + "print '\\nThe value of inductance for 8/20 microsecond voltage is (microhenry) = ',round(L2)\n", + "print '\\nThe value of resistance for 8/20 microsecond voltage is (ohm) = ',round(R2,3)\n", + "print '\\nThe peak value of current is (A) = ',round(Ip*10**3)\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter7_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter7_2.ipynb new file mode 100644 index 00000000..9e1c3bce --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter7_2.ipynb @@ -0,0 +1,380 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7: Measurement of High Voltages and Currents" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 277" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The capacitance of the generating voltmeter is (pF) = 0.9\n" + ] + } + ], + "source": [ + "#example 7.1\n", + "#calculation of capacitance of generating voltmeter\n", + "from math import pi,sqrt\n", + "#given data\n", + "Irms=2.*10**-6#current(in A)\n", + "V1=20.*10**3#applied voltage(in V)\n", + "V2=200.*10**3#applied voltage(in V)\n", + "rpm=1500.#assume synchronous speed(in rpm) of motor\n", + "\n", + "#calculation\n", + "Cm=Irms*sqrt(2)/(V1*(rpm/60)*2*pi)\n", + "Irmsn=V2*Cm*2*pi*(rpm/60)/sqrt(2)\n", + "#results\n", + "print 'The capacitance of the generating voltmeter is (pF) = ',round(Cm*10**12,1)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 277" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of Cs is (microfarad) = 1.0\n", + "\n", + "The value of R is 1.0e+07 ohm\n" + ] + } + ], + "source": [ + "#example 7.2\n", + "#Design of a peak reading voltmeter\n", + "\n", + "#given data\n", + "r=1000.#ratio is 1000:1\n", + "V=100.*10**3#read voltage(in V)\n", + "R=10**7#value of resistance(in ohm)\n", + "\n", + "#calculation\n", + "#take range as 0-10 microampere\n", + "Vc2=V/r#voltage at C2 arm\n", + "#Cs * R = 1 to 10 s\n", + "Cs=10./R\n", + "#results\n", + "print 'The value of Cs is (microfarad) = ',round(Cs*10**6)\n", + "print '%s %.1e %s' %('\\nThe value of R is ',R,'ohm')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 278" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The air density factor is 0.9327\n" + ] + } + ], + "source": [ + "#example 7.3\n", + "#calculation of correction factors for atmospheric conditions\n", + "\n", + "#given data\n", + "t=37#temperature(in degree celsius)\n", + "p=750.#atmospheric pressure(in mmHg)\n", + "\n", + "#calculation\n", + "d=p*293./(760*(273+t))\n", + "\t\n", + "#results\n", + "print 'The air density factor is ',round(d,4)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4: pg 278" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The divider ratio is 1238.3\n" + ] + } + ], + "source": [ + "#example 7.4\n", + "#calculation of divider ratio\n", + "\n", + "#given data\n", + "R1=16.*10**3#high voltage arm resistance(in ohm)\n", + "n=16.#number of members\n", + "R=250.#resistance(in ohm) of each member in low voltage arm\n", + "R2dash=75.#terminating resistance(in ohm)\n", + "\n", + "#calculation\n", + "R2=R/n\n", + "a=1+(R1/R2)+(R1/R2dash)\n", + "#results\n", + "print 'The divider ratio is ',round(a,1)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 278" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of capacitance needed for correct compensation is 1.8e-08 F or 17 nf\n" + ] + } + ], + "source": [ + "#example 7.5\n", + "#calculation of capacitance needed for correct compensation\n", + "\n", + "#given data\n", + "Cgdash=20*10**-12#ground capacitance(in farad)\n", + "n=15.#number of capacitors\n", + "r=120.#resistance(in ohm)\n", + "R2=5.#resistance(in ohm) of LV arm\n", + "\n", + "#calculation\n", + "Ce=(2./3)*n*Cgdash\n", + "R1=n*r/2\n", + "T=R1*Ce/2\n", + "C2=T/R2\n", + "#results\n", + "print '%s %.1e %s %d %s' %('The value of capacitance needed for correct compensation is ',C2,' F or ',C2*10**9,' nf')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6: pg 279" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of resistance is (milliohm) = 1.0\n", + "\n", + "The length of shunt is (cm) = 10.0\n", + "\n", + "The radius of shunt is (mm) = 25.6\n", + "\n", + "The thickness of shunt is (mm) = 0.187\n" + ] + } + ], + "source": [ + "#example 7.6\n", + "#calculation of ohmic value of shunt an its dimensions\n", + "from math import sqrt,pi\n", + "#given data\n", + "I=50.*10**3#impulse current (in A)\n", + "Vm=50.#voltage(in V) drop across shunt\n", + "B=10.*10**6#bandwidth(in Hz) of the shunt\n", + "mu0=4.*pi*10**-7#magnetic permeability(in H/m) of free space\n", + "\n", + "#calculation\n", + "R=Vm/I#resistance of shunt\n", + "L0=1.46*R/B\n", + "mu=mu0#in this case ...mu = mu0 * mur ~mu0\n", + "rho=30*10**-8#resistivity(in ohm m) of the tube material\n", + "d=sqrt((1.46*rho)/(mu*B))#thickness of the tube(in m)\n", + "l=10**-1#length(in m) (assume)\n", + "r=(rho*l)/(2*pi*R*d)\n", + "#results\n", + "print 'The value of resistance is (milliohm) = ',round(R*10**3)\n", + "print '\\nThe length of shunt is (cm) = ',round(l*100)\n", + "print '\\nThe radius of shunt is (mm) = ',round(r*10**3,1)\n", + "print '\\nThe thickness of shunt is (mm) = ',round(d*10**3,3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7: pg 280" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of mutual inductance is (nH) = 2.0\n", + "\n", + "The value of resistance is 2.0e+03 ohm\n", + "\n", + "The value of capacitance is (pF) = 1000.0\n" + ] + } + ], + "source": [ + "#example 7.7\n", + "#Estimation of values of mutual inductance,resistance and capacitance\n", + "from math import pi\n", + "#given data\n", + "It=10.*10**3#impulse current(in A)\n", + "Vmt=10.#meter reading(in V) for full scale deflection\n", + "dibydt=10.**11#rate of change of current(in A/s)\n", + "\n", + "#calculation\n", + "MbyCR=Vmt/It\n", + "t=It/dibydt\n", + "f=1/(4.*t)\n", + "omega=2*pi*f\n", + "CR=10*pi/omega\n", + "M=10**-3*CR\n", + "R=2*10**3#assume resistance(in ohm)\n", + "C=CR/R\n", + "#results\n", + "print 'The value of mutual inductance is (nH) = ',round(M*10**9)\n", + "print '%s %.1e %s' %('\\nThe value of resistance is',R,'ohm')\n", + "print '\\nThe value of capacitance is (pF) = ',round(C*10**12)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8: pg 281" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of resistance is 2.0e+03 ohm\n", + "\n", + "The value of capacitance is (microfarad) = 0.25\n" + ] + } + ], + "source": [ + "#example 7.8\n", + "#calculation of resistance and capacitance\n", + "from math import pi\n", + "#given data\n", + "t1=8.*10**-6#fronttime(in s)\n", + "t2=20.*10**-6#tailtime(in s)\n", + "\n", + "\n", + "#calculation\n", + "f2=1/t2#frequency corresponding to tail time\n", + "fl=f2/5\n", + "omega=2*pi*fl\n", + "CR=10*pi/omega\n", + "M=10**-3*(1/CR)\n", + "R=2*10**3#assume resistance(in ohm)\n", + "C=CR/R\n", + "\n", + "print '%s %.1e %s' %('The value of resistance is ',R,'ohm')\n", + "print '\\nThe value of capacitance is (microfarad) = ',round(C*10**6,2)\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter8_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter8_2.ipynb new file mode 100644 index 00000000..10109095 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter8_2.ipynb @@ -0,0 +1,391 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8: Overvoltage phenomenon and Insulation coordination in electric power systems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 350 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of surge impedance is (ohm) = 374.2\n", + "\n", + "The value of velocity is 3.0e+05 km/s\n", + "\n", + "The time taken by the surge to travel to the other end is (ms) = 1.35\n" + ] + } + ], + "source": [ + "#example 8.1\n", + "#calculation of surge impedance,velocity and time taken by the surge to travel to the other end\n", + "from math import sqrt\n", + "#given data\n", + "L=1.26*10**-3#inductance(in H/km)\n", + "C=0.009*10**-6#capacitance(in F/km)\n", + "l=400.#length(in km) of the transmission line\n", + "\n", + "#calculation\n", + "v=1/sqrt(L*C)\n", + "Xs=sqrt(L/C)\n", + "t=l/v\n", + "#results\n", + "print 'The value of surge impedance is (ohm) = ',round(Xs,1)\n", + "print '%s %.1e %s' %('\\nThe value of velocity is ',v,' km/s')\n", + "print '\\nThe time taken by the surge to travel to the other end is (ms) = ',round(t*10**3,2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 350" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of the voltage build up at the junction is (kV) = 893.0\n" + ] + } + ], + "source": [ + "#example 8.2\n", + "#calculation of the voltage build up at the junction\n", + "\n", + "#given data\n", + "Z1=500.#surge impedance(in ohm) of transmission line\n", + "Z2=60.#surge impedance(in ohm) of cable\n", + "e=500.#value of surge(in kV)\n", + "\n", + "#calculation\n", + "tau=(Z1-Z2)/(Z2+Z1)#coefficient of reflection\n", + "Vj=(1+tau)*e\n", + "#results\n", + "print 'The value of the voltage build up at the junction is (kV) = ',round(Vj)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 352" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "When wave travels along the cable,the transmitted voltage is (kV) = 374.85\n", + "\n", + "When wave travels along the cable,the reflected voltage is (kV) = 174.85\n", + "\n", + "When wave travels along the cable,the transmitted current is (kA) = 1.002\n", + "\n", + "When wave travels along the cable,the reflected current is (kA) = 6.97\n", + "\n", + "When wave travels along the line,the transmitted voltage is (kV) = 25.15\n", + "\n", + "When wave travels along the line,the reflected voltage is (kV) = -174.85\n", + "\n", + "When wave travels along the line,the transmitted current is (kA) = 1.002\n", + "\n", + "When wave travels along the line,the reflected current is 0.467 kA or 467.0 A\n" + ] + } + ], + "source": [ + "#example 8.5\n", + "#calculation of the transmitted,reflected voltage and current waves\n", + "from math import sqrt\n", + "#given data\n", + "L1=0.189*10**-3#inductance(in H/km) of the cable\n", + "C1=0.3*10**-6#capacitance(in Farad/km) of the cable\n", + "L2=1.26*10**-3#inductance(in H/km) of the overhead line\n", + "C2=0.009*10**-6#capacitance(in Farad/km) of the overhead line\n", + "e=200.*10**3#surge volatge(in kV)\n", + "\n", + "#calculation\n", + "Z1=sqrt(L1/C1)#surge impedance of the cable\n", + "Z2=sqrt(L2/C2)#surge impedance of the line\n", + "tau=(Z2-Z1)/(Z2+Z1)#when wave travels along the cable\n", + "edash=tau*e#reflected wave\n", + "edashdash=(1+tau)*e#transmitted wave\n", + "Idash=edash/Z1#reflected current wave\n", + "Idashdash=edashdash/Z2#transmitted current wave\n", + "Z2n=Z1\n", + "Z1n=Z2\n", + "taun=(Z2n-Z1n)/(Z2n+Z1n)#when wave travels along the line\n", + "edashn=taun*e#reflected wave\n", + "edashdashn=(1+taun)*e#transmitted wave\n", + "Idashdashn=edashdashn/Z2n#transmitted current wave\n", + "Idashn=edashn/Z1n#reflected current wave\n", + "#results\n", + "print 'When wave travels along the cable,the transmitted voltage is (kV) = ',round(edashdash*10**-3,2)\n", + "print '\\nWhen wave travels along the cable,the reflected voltage is (kV) = ',round(edash*10**-3,2)\n", + "print '\\nWhen wave travels along the cable,the transmitted current is (kA) = ',round(Idashdash*10**-3,3)\n", + "print '\\nWhen wave travels along the cable,the reflected current is (kA) = ',round(Idash*10**-3,2) \n", + "print '\\nWhen wave travels along the line,the transmitted voltage is (kV) = ',round(edashdashn*10**-3,2)\n", + "print '\\nWhen wave travels along the line,the reflected voltage is (kV) = ',round(edashn*10**-3,2)\n", + "print '\\nWhen wave travels along the line,the transmitted current is (kA) = ',round(Idashdashn*10**-3,3)\n", + "print '\\nWhen wave travels along the line,the reflected current is ',round(abs(Idashn*10**-3),3),' kA or ',round(abs(Idashn)),'A' \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6: pg 353" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of voltage at the receiving end in Bewley lattice diagram is 0.9756 u(t) V\n" + ] + } + ], + "source": [ + "#example 8.6\n", + "#calculation of value of voltage at the receiving end in Bewley lattice diagram\n", + "\n", + "#given data\n", + "alpha=0.8\n", + "\n", + "#calculation\n", + "Vut=2*alpha/(1+alpha**2)\n", + "#results\n", + "print 'The value of voltage at the receiving end in Bewley lattice diagram is ',round(Vut,4),'u(t) V'\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7: pg 355" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The sparkover voltage for terminated line is (kV) = 347.0\n", + "\n", + "The arrester current for terminated line is (kA) = 5.0\n", + "\n", + "The sparkover voltage for continuous line is (kV) = 294.0\n", + "\n", + "The arrester current for continuous line is (kA) = 2.5\n" + ] + } + ], + "source": [ + "#example 8.7\n", + "#calculation of sparkover voltage and the arrester current\n", + "\n", + "#given data\n", + "Xs=400.#surge impedance(in ohm)\n", + "Xv=1000.#surge voltage(in kV)\n", + "\n", + "#calculation\n", + "#for line terminated\n", + "Iam=2*Xv/Xs#maximum arrester current\n", + "#as Iam = 5 kA from graph Vd = 330 kV\n", + "Vd=330.#sparkover voltage(in kV)\n", + "Vso=Vd+(Vd*5./100)\n", + "#for continuous line\n", + "Iamn=Xv/Xs#maximum arrester current\n", + "#as Iamn = 2.5 kA from graph Vdn = 280 kV\n", + "Vdn=280#sparkover voltage(in kV)\n", + "Vson=Vdn+(Vdn*5./100)\n", + "#results\n", + "print 'The sparkover voltage for terminated line is (kV) = ',round(Vso)\n", + "print '\\nThe arrester current for terminated line is (kA) = ',round(Iam)\n", + "print '\\nThe sparkover voltage for continuous line is (kV) = ',round(Vson)\n", + "print '\\nThe arrester current for continuous line is (kA) = ',round(Iamn,1)\n", + "#values of sparover voltages are\n", + "#for terminated line = 346 kV\n", + "#for continuous line = 294 kV\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8: pg 356" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Neglecting resistance of line,the rise in voltage at the other end is (kV) = 11.89\n", + "\n", + "Considering all the parameters,the rise in voltage at the other end is (kV) = 94.5\n" + ] + } + ], + "source": [ + "#example 8.8\n", + "#calculation of rise in voltage at the other end\n", + "from cmath import pi,sqrt,cos\n", + "#given data\n", + "R=0.1#resistance(in ohm/km)\n", + "L=1.26*10**-3#inductance(in H/km)\n", + "C=0.009*10**-6#capacitance(in F/km)\n", + "l=400#length(in km) of the line\n", + "V1=230#line voltage(in kV)\n", + "f=50#frequency(in Hz)\n", + "G=0\n", + "\n", + "#calculation\n", + "#Neglecting resistance of line\n", + "V1p=V1/sqrt(3)\n", + "omega=2*pi*f\n", + "Xl=complex(0,omega*L*l)\n", + "Xc=complex(0,-1/(omega*C*l))\n", + "V2=V1p*((1-(Xl/(2*Xc)))-1)\n", + "\n", + "#Considering all the parameters\n", + "omegaL=complex(0,omega*L)\n", + "omegaC=complex(0,omega*C)\n", + "i=l*sqrt((R+omegaL)*(G+omegaC))\n", + "betal=i.imag*l\n", + "V2n=V1p/cos(betal)\n", + "\n", + "print 'Neglecting resistance of line,the rise in voltage at the other end is (kV) = ',round(V2.real,2)\n", + "print '\\nConsidering all the parameters,the rise in voltage at the other end is (kV) = ',round(V2n.real-V1p.real,2)\n", + "\n", + "#By considering all the parameters the rise in voltage at the other end is 94.50 kV\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9: pg 357" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The protective margin for lightning impulses is (percentage) = 34.3\n", + "\n", + "The protective margin for switching gears is (percentage) = 27.6\n", + "\n", + "The margin when lightning arrester just sparks is (percentage) = 27.6\n" + ] + } + ], + "source": [ + "#example 8.9\n", + "#working out of insulation coordination\n", + "from math import sqrt\n", + "#given data\n", + "V=220.#voltage(in kV) of substation\n", + "BIL=1050.#value of BIL(in kV)\n", + "BtoS=1.24#ratio of BIL to SIL\n", + "\n", + "#calculation\n", + "Vh=245.#highest voltage(in kV)\n", + "Vg=Vh*sqrt(2.)/sqrt(3)#highest system voltage\n", + "Vs=3*Vg#expected switching voltage(in kV)\n", + "Vfw=760.#impulse sparkover voltage(in kV)\n", + "Vd1=690.#discharge voltage(in kV) for 5 kA\n", + "Vd2=615.#discharge voltage(in kV) for 2 kA\n", + "#SIL = BIL/BtoS = 846 ~ 850 kV\n", + "SIL=850.#value of SIL(in kV)\n", + "Pmlig=(BIL-Vd1)/BIL#protective margin for lightning impulses\n", + "Pmswi=(SIL-Vd2)/SIL#protective margin for switching gears\n", + "Pmspr=(BIL-Vfw)/BIL#margin when lightning arrester just sparks\n", + "#results\n", + "print 'The protective margin for lightning impulses is (percentage) = ',round(Pmlig*100,1)\n", + "print '\\nThe protective margin for switching gears is (percentage) = ',round(Pmswi*100,1)\n", + "print '\\nThe margin when lightning arrester just sparks is (percentage) = ',round(Pmspr*100,1)\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter9_2.ipynb b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter9_2.ipynb new file mode 100644 index 00000000..13f9024c --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/Chapter9_2.ipynb @@ -0,0 +1,452 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9: Non Destructive testing of materials and electrical apparatus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 395" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The volume resistivity is (ohmcm) = 1.226e+14\n" + ] + } + ], + "source": [ + "#example 9.1\n", + "#calculation of the volume resistivity\n", + "from math import pi\n", + "#given data\n", + "V=1000.#applied voltage(in V)\n", + "Rs=10**7#standard resistance(in ohm)\n", + "n=3000.#universal shunt ratio\n", + "Ds=33.3#deflection(in cm) for Rs\n", + "D=3.2#deflection(in cm)\n", + "d=10.#diameter(in cm) of the electrodes\n", + "t=2*10**-1#thickness(in cm) of the specimen\n", + "\n", + "#calculation\n", + "G=V/(Rs*n*Ds)#galvanometer sensitivity\n", + "R=V/(D*G)#resistance of the specimen\n", + "r=d/2#radius of the electrodes\n", + "rho=(pi*r**2*R)/t#volume resistivity\n", + "#results\n", + "print '%s %.3e' %('The volume resistivity is (ohmcm) = ',rho)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 395" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistivity of the specimen is (ohmcm) = 1.031e+13\n" + ] + } + ], + "source": [ + "#example 9.2\n", + "#calculation of resistivity of the specimen\n", + "import math\n", + "from math import log\n", + "#given data\n", + "tm=30.#time (in minute)\n", + "ts=20.#time(in second)\n", + "Vn=1000.#voltage(in V) to which the condenser was charged\n", + "V=500.#voltage(in V) fall to\n", + "C=0.1*10**-6#capacitance(in Farad)\n", + "d=10.#diameter(in cm) of the electrodes\n", + "th=2*10**-1#thickness(in cm) of the specimen\n", + "\n", + "#calculation\n", + "t=(tm*60)+ts\n", + "R=t/(C*log(Vn/V))#resistance\n", + "r=d/2#radius of the electrodes\n", + "rho=(math.pi*r**2*R)/th#volume resistivity\n", + "#results\n", + "print '%s %.3e' %('The resistivity of the specimen is (ohmcm) = ',rho)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 396" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The dielectric constant is 4.2\n", + "The complex permittivity(in F/m)is 3.714e-11 -4.456e-14 j\n" + ] + } + ], + "source": [ + "#example 9.3\n", + "#calculation of dielectric constant and complex permittivity of bakelite\n", + "from cmath import pi\n", + "#given data\n", + "C=147*10**-12#capacitance(in Farad)\n", + "Ca=35*10**-12#air capacitance(in Farad)\n", + "tandelta=0.0012\n", + "epsilon0=(36*pi*10**9)**-1#electrical permittivity(in F/m) of free space\n", + "\n", + "\n", + "#calculation\n", + "epsilonr=C/Ca#dielectric constant\n", + "Kdash=epsilonr\n", + "Kdashdash=tandelta*Kdash\n", + "Kim=complex(Kdash,-Kdashdash)\n", + "epsilonast=epsilon0*Kim\n", + "\n", + "print 'The dielectric constant is ',epsilonr\n", + "print '%s %.3e %.3e %s' %('The complex permittivity(in F/m)is ',epsilonast.real,epsilonast.imag,'j')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4: pg 396" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The capacitance is (pF) = 500.0\n", + "\n", + "The value of tandelta of bushing is 0.00125\n" + ] + } + ], + "source": [ + "#example 9.4\n", + "#calculation of capacitance and tandelta of bushing\n", + "from math import pi\n", + "#given data\n", + "R3=3180.#resistance(in ohm)\n", + "R4=636.#resistance(in ohm)\n", + "Cs=100.#standard condenser(in pF)\n", + "f=50.#frequency(in Hz)\n", + "C3=0.00125*10**-6#capacitance(in farad)\n", + "\n", + "#calculation\n", + "omega=2*pi*f\n", + "Cx=R3*Cs/R4#unknown capacitance\n", + "tandelta=omega*C3*R3\n", + "#results\n", + "print 'The capacitance is (pF) = ',Cx\n", + "print '\\nThe value of tandelta of bushing is ',round(tandelta,5)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 396" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The dielectric constant is 2.19\n", + "\n", + "The value of tandelta of the transformer oil is 0.00044\n" + ] + } + ], + "source": [ + "#example 9.5\n", + "#calculation of dielectric constant and tandelta of the transformer oil\n", + "\n", + "#given data\n", + "f=1*10**3#frequency(in Hz)\n", + "C1=504.#capacitance(in pF) for standard condenser and leads\n", + "D1=0.0003#dissipation factor for standard condenser and leads\n", + "C2=525.#capacitance(in pF) for standard condenser in parallel with the empty test cell\n", + "D2=0.00031#dissipation factor for standard condenser in parallel with the empty test cell\n", + "C3=550.#capacitance(in pF) for standard condenser in parallel with the test cell and oil\n", + "D3=0.00075#dissipation factor for standard condenser in parallel with the test cell and oil\n", + "\n", + "#calculation\n", + "Ctc=C2-C1#capacitance of the test cell\n", + "Ctcoil=C3-C1#capacitance of the test cell + oil\n", + "epsilonr=Ctcoil/Ctc#dielectric constant of oil\n", + "deltaDoil=D3-D2#deltaD of oil\n", + "#results\n", + "print 'The dielectric constant is ',round(epsilonr,2)\n", + "print '\\nThe value of tandelta of the transformer oil is ',round(deltaDoil,5)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6: pg 397" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The charge transferred from the cavity is (pC) = 0.92\n" + ] + } + ], + "source": [ + "#example 9.6\n", + "#calculation of magnitude of the charge transferred from the cavity\n", + "from math import pi\n", + "#given data\n", + "Vd=0.2#discharge voltage(in V)\n", + "s=1#sensitivity(in pC/V)\n", + "epsilonr=2.5#relative permittivity\n", + "epsilon0=(36*pi*10**9)**-1#electrical permittivity(in F/m) of free space\n", + "d1=1*10**-2#diameter(in m) of the cylindrical disc\n", + "t1=1*10**-2#thickness(in m) of the cylindrical disc\n", + "d2=1*10**-3#diameter(in m) of the cylindrical cavity\n", + "t2=1*10**-3#thickness(in m) of the cylindrical cavity\n", + "\n", + "\n", + "#calculation\n", + "Dm=Vd*s#discharge magnitude\n", + "Ca=epsilon0*(pi*(d2/2)**2)/t2#capacitance of the cavity\n", + "Cb=epsilon0*epsilonr*(pi*(d2/2)**2)/(t1-t2)#capacitance\n", + "qc=((Ca+Cb)/Cb)*Dm\n", + "#results\n", + "print 'The charge transferred from the cavity is (pC) = ',round(qc,2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7: pg 397" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The dielectric constant is 5.8\n", + "\n", + "The loss factor tandelta is 5e-06\n" + ] + } + ], + "source": [ + "#example 9.7\n", + "#calculation of dielectric constant and loss factor tandelta\n", + "from math import pi\n", + "#given data\n", + "R3=1000./pi#resistance(in ohm) in CD branch\n", + "R4=62.#variable resistance(in ohm)\n", + "Cs=100.*10**-12#standard capacitance(in F)\n", + "epsilon0=8.854*10**-12#electrical permittivity(in F/m) of free space\n", + "f=50.#frequency(in Hz)\n", + "C3=50.*10**-9#variable capacitor(in F)\n", + "d=1.*10**-3#thickness(in m) of sheet\n", + "a=100.*10**-4#electrode effective area(in m**2)\n", + "\n", + "#calculation\n", + "Cx=R3*Cs/R4\n", + "epsilonr=Cx*d/(epsilon0*a)\n", + "omega=2*pi*f\n", + "tandelta=omega*C3*R3*d\n", + "#results\n", + "print 'The dielectric constant is ',round(epsilonr,2)\n", + "print '\\nThe loss factor tandelta is ',round(tandelta,7)\n", + "#In equation of tandelta d is multiplied\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8: pg 398" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The voltage across AD branch at balance is (V) = 0.1\n" + ] + } + ], + "source": [ + "#example 9.8\n", + "#calculation of voltage at balance\n", + "from math import pi,sqrt\n", + "#given data\n", + "V=10000#applied voltage(in V)\n", + "R3=1000/pi#resistance(in ohm) in CD branch\n", + "R4=62#variable resistance(in ohm)\n", + "Cs=100*10**-12#standard capacitance(in F)\n", + "f=50#frequency(in Hz)\n", + "C3=50*10**-9#variable capacitor(in F)\n", + "\n", + "#calculation\n", + "Rx=C3*R4/Cs\n", + "Cx=R3*Cs/R4\n", + "omega=2*pi*f\n", + "zx=complex(Rx,-1/(omega*Cx))\n", + "VR4=R4*V/(R4+zx)\n", + "MVR4=sqrt((VR4.real)**2+VR4.imag**2)#magnitude\n", + "#results\n", + "print 'The voltage across AD branch at balance is (V) = ',round(MVR4,1)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9: pg 399" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum value of capacitance is (nF) = 11.1\n", + "\n", + "The minimum value of capacitance is (pF) = 10.0\n", + "\n", + "The maximum value of tandelta is 3.87\n", + "\n", + "The minimum value of tandelta is 3.14e-05\n" + ] + } + ], + "source": [ + "#example 9.9\n", + "#calculation of maximum and minimum value of capacitance and tandelta\n", + "from math import pi\n", + "#given data\n", + "R3min=100.#minimum value of R3 resistance(in ohm)\n", + "R3max=11100.#maximum value of R3 resistance(in ohm)\n", + "R4min=100.#minimum value of R4 resistance(in ohm)\n", + "R4max=1000.#maximum value of R4 resistance(in ohm)\n", + "Cs=100.*10**-12#standard capacitance(in farad)\n", + "C3min=1.*10**-9#minimum value of C3 capacitance(in farad)\n", + "C3max=1.11*10**-6#maximum value of C3 capacitance(in farad)\n", + "f=50.#frequency(in Hz)\n", + "\n", + "#calculation\n", + "Cxmax=R3max*Cs/R4min\n", + "Cxmin=R3min*Cs/R4max\n", + "omega=2*pi*f\n", + "tandeltamax=omega*R3max*C3max\n", + "tandeltamin=omega*R3min*C3min\n", + "#results\n", + "print 'The maximum value of capacitance is (nF) = ',round(Cxmax*10**9,1)\n", + "print '\\nThe minimum value of capacitance is (pF) = ',round(Cxmin*10**12)\n", + "print '\\nThe maximum value of tandelta is ',round(tandeltamax,2)\n", + "print '%s %.2e' %('\\nThe minimum value of tandelta is ',tandeltamin)\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter2_2.png b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter2_2.png Binary files differnew file mode 100644 index 00000000..78f269d9 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter2_2.png diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter3_2.png b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter3_2.png Binary files differnew file mode 100644 index 00000000..ecdd0b3d --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter3_2.png diff --git a/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter4_2.png b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter4_2.png Binary files differnew file mode 100644 index 00000000..6b19b460 --- /dev/null +++ b/High_Voltage_Engineering_by_V_Kamaraju_,_M_S_Naidu/screenshots/chapter4_2.png diff --git a/Machine_Design_by_U.C._Jindal/Ch10_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch10_1.ipynb new file mode 100644 index 00000000..1e74026b --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch10_1.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:10 Pipes and pipe joints" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 10-1 - Page 295" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " t is 12.5 mm \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "sigta=140/2#\n", + "nt=0.75#\n", + "#Let the flow rate be Q\n", + "Q=0.25#\n", + "v=1.2#\n", + "D=1.13*sqrt(Q/v)#\n", + "D=520#\n", + "p=0.7#\n", + "C=9#\n", + "t=(p*D)/(2*sigta*nt)+C#\n", + "print \" t is %0.1f mm \"%(t)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 10-2 - Page 295" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Pr is 302.25 kN \n", + "\n", + " D1 is 250 mm \n", + "\n", + " D2 is 392.6 mm \n", + "\n", + " CD is 252.6 mm \n" + ] + } + ], + "source": [ + "from math import pi,sqrt\n", + "p=3*8#\n", + "sigta=60#\n", + "d=150#\n", + "t=d/2*sqrt(((sigta+p)/(sigta-p))-1)#\n", + "t=75*sqrt((84/36)-1)#\n", + "t=40#\n", + "do=d+(2*t)#\n", + "D=d+(2*t)+20#\n", + "w=10#\n", + "Ds=d+(2*w)#\n", + "P=pi*(Ds**2)*8/4#\n", + "sigp=310#\n", + "FOS=4#\n", + "sigb=77.5#\n", + "At=P/(sigb*2)#\n", + "At=1300#\n", + "D=250#\n", + "db=45#\n", + "b=D#\n", + "a=1.8*b#\n", + "CD=D+(2*db*1.2)#\n", + "sigp=310#\n", + "Pr=0.75*sigp*At#\n", + "Pr=Pr*10**-3#\n", + "t=40#\n", + "D1=d+(2*t)+20#\n", + "D2=D1+(4.6*31)#\n", + "CD=D2-((3*t)+20)#\n", + "print \" Pr is %0.2f kN \"%(Pr)#\n", + "print \"\\n D1 is %0.0f mm \"%(D1)#\n", + "print \"\\n D2 is %0.1f mm \"%(D2)#\n", + "print \"\\n CD is %0.1f mm \"%(CD)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 10-3 - Page 296" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 50 mm \n", + "\n", + " t is 10 mm \n", + "\n", + " B is 127 mm \n", + "\n", + " R is 22.5 mm \n", + "\n", + " Y is 40.66 mm \n", + "\n", + " tf is 44 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "p=14#\n", + "d=50#\n", + "sigyp=270#\n", + "FOS=3#\n", + "sigta=sigyp/FOS#\n", + "pt=2*p#\n", + "t=d/2*sqrt(((sigta+pt)/(sigta-pt))-1)#\n", + "t=10#\n", + "D1=d+(2*t)#\n", + "Ds=D1+20#\n", + "P=pi*(Ds**2)*p/4#\n", + "sigba=380/4#\n", + "At=P/(4*sigba)#\n", + "At=245#\n", + "db=20#\n", + "Dd=70+(2*20)+5#\n", + "R=db+2.5#\n", + "B=(Dd/sqrt(2))+(2*(db+2.5))#\n", + "B=127#\n", + "Y=Dd/(2*sqrt(2))#\n", + "Rm=34.12#\n", + "M=(P*Y/2)+(P*Rm/pi)#\n", + "sigfa=250/5#\n", + "b=127/70#\n", + "Z=b/6#\n", + "tf=sqrt(M/(sigfa*Z))#\n", + "tf=44#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n B is %0.0f mm \"%(B)#\n", + "print \"\\n R is %0.1f mm \"%(R)#\n", + "print \"\\n Y is %0.2f mm \"%(Y)#\n", + "print \"\\n tf is %0.0f mm \"%(tf)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 10-4 - Page 297" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " D is 200 mm \n", + "\n", + " t is 18 mm \n", + "\n", + " Y is 18.5 mm \n", + "\n", + " tf is 22 mm \n", + "\n", + " Deff is 267 mm \n" + ] + } + ], + "source": [ + "from math import tan,sqrt,pi\n", + "p=1.25#\n", + "D=200#\n", + "nt=0.75#\n", + "C=9#\n", + "sigta=20#\n", + "t=(p*D)/(2*sigta*nt)+C#\n", + "t=18#\n", + "D1=D+(2*t)#\n", + "dr=D1+10#\n", + "sigp=310#\n", + "sigba=sigp/4#\n", + "db=16#\n", + "Db=dr+32+5#\n", + "Do=Db+(2*db)#\n", + "P=pi*(251+db)**2*1.25/4#\n", + "n=6#\n", + "Y=(Db-dr)/2#\n", + "M=P/n*Y#\n", + "Z=dr*tan(30*pi/180)/6#\n", + "tf=sqrt(M/(sigta*Z))#\n", + "tf=22#\n", + "Deff=dr+db+5#\n", + "print \" D is %0.0f mm \"%(D)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n Y is %0.1f mm \"%(Y)#\n", + "print \"\\n tf is %0.0f mm \"%(tf)#\n", + "print \"\\n Deff is %0.0f mm \"%(Deff)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch11_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch11_1.ipynb new file mode 100644 index 00000000..81cd13ac --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch11_1.ipynb @@ -0,0 +1,440 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:11 Riveted joints" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-1 - Page 322" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " P is 60000 N \n", + "\n", + " Ts is 122.23 MPa \n", + "\n", + " sigb is 120 MPa \n" + ] + } + ], + "source": [ + "from math import pi\n", + "t=20#\n", + "p=100#\n", + "d=25#\n", + "sigt=40#\n", + "P=(p-d)*t*sigt#\n", + "Ts=(4*P)/(pi*d**2)#\n", + "sigb=P/(d*t)#\n", + "print \" P is %0.0f N \"%(P)#\n", + "print \"\\n Ts is %0.2f MPa \"%(Ts)#\n", + "print \"\\n sigb is %0.0f MPa \"%(sigb)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-2 - Page 322" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " P is 115.5 kN \n", + "\n", + " Ts is 81.7 MPa \n", + "\n", + " sigb is 175 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "t=22#\n", + "t1=5*t/8#\n", + "d=30#\n", + "p=100#\n", + "sigt=75#\n", + "P=(p-d)*t*sigt#\n", + "Ts=(2*P)/(pi*d**2)#\n", + "sigb=P/(d*t)#\n", + "P=P*10**-3\n", + "print \" P is %0.1f kN \"%(P)#\n", + "print \"\\n Ts is %0.1f MPa \"%(Ts)#\n", + "print \"\\n sigb is %0.0f N/mm**2 \"%(sigb)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-3 - Page 323" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " p is 100 mm \n", + "\n", + " n is 0.00 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "t=15#\n", + "t1=5*t/8#\n", + "d=25#\n", + "n=2#\n", + "Ta=80#\n", + "sigta=100#\n", + "sigba=120#\n", + "Ps=n*1.875*pi*d**2*Ta/4#\n", + "Pb=n*d*t*sigba#\n", + "p=Pb/(t*Ta)+d#\n", + "Pp=p*t*Ta#\n", + "n=Pb/Pp#\n", + "print \" p is %0.0f mm \"%(p)#\n", + "print \"\\n n is %0.2f \"%(n)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-4 - Page 323" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 24 mm \n", + "\n", + " n1 is 6 \n", + "\n", + " Pt is 225280 N \n", + "\n", + " Pt2 is 232960 N \n", + "\n", + " Pt3 is 279040 N \n", + "\n", + " n2 is 88 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "b=200#\n", + "t=16#\n", + "d=6*sqrt(t)#\n", + "sigta=80#\n", + "Ta=60#\n", + "sigba=100#\n", + "Pt=(b-d)*t*sigta#\n", + "Ps=1.875*pi*d**2*Ta/4#\n", + "Pb=d*t*sigba#\n", + "n1=Pt/Pb#\n", + "n1=6#\n", + "Pt2=((b-(2*d))*t*sigta)+Pb#\n", + "Pt3=((b-(3*d))*t*sigta)+(3*Pb)#\n", + "Pp=b*t*sigta#\n", + "n2=Pt/Pp#\n", + "n2=n2*100#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n n1 is %0.0f \"%(n1)#\n", + "print \"\\n Pt is %0.0f N \"%(Pt)#\n", + "print \"\\n Pt2 is %0.0f N \"%(Pt2)#\n", + "print \"\\n Pt3 is %0.0f N \"%(Pt3)#\n", + "print \"\\n n2 is %0.0f \"%(n2)#\n", + "#Answer to strength of rivet in bearing 'Pb' is calculated incorrectly in the book, hence Pt2,Pt3 is calculated subsequently incorrect." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-5 - Page 324" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " e is 371.7 mm \n" + ] + } + ], + "source": [ + "from math import atan\n", + "a=50#\n", + "b=75#\n", + "P=36*10**3#\n", + "d=24#\n", + "Ta=60#\n", + "n=9#\n", + "A=pi*d**2/4#\n", + "Td=P/(n*A)#\n", + "theta=atan(b/a)#\n", + "Ts=54.64#\n", + "r2=90.184#\n", + "e=A*29575.7/P#\n", + "print \" e is %0.1f mm \"%(e)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-6 - Page 325" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 12 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "P=12*10**3#\n", + "Tmax=100#\n", + "n=6#\n", + "e=50+50+(5/2)#\n", + "T=P*e#\n", + "Td=P/n#\n", + "ra=125#\n", + "k=T/((2*125**2)+(2*75**2)+(2*25**2))#\n", + "Tr=(k*ra)+Td#\n", + "A=Tr/Tmax#\n", + "d=sqrt(A*4/pi)#\n", + "d=12#\n", + "print \" d is %0.0f mm \"%(d)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-7 - Page 326" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " n is 80 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "t=15#\n", + "d=6*sqrt(t)#\n", + "d=24#\n", + "sigta=75#\n", + "sigba=105#\n", + "Ta=60#\n", + "n=4#\n", + "Pt=n*pi*d**2*Ta/4#\n", + "x=d*t*sigta#\n", + "y=2*t*sigta#\n", + "p=(Pt+x)/y#\n", + "p=60#\n", + "C=4.17#\n", + "pmax=(C*t)+41.28#\n", + "Pt1=(y*p)-x#\n", + "Ps=n*pi*d**2*Ta/4#\n", + "Pb=n*d*t*sigba#\n", + "S=2*p*t*sigta#\n", + "n=Pt1/S#\n", + "n=n*100#\n", + "print \" n is %0.f \"%(n)# " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-8 - Page 327" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " n is 95 \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "D=1500#\n", + "p=2#\n", + "nt=0.75#\n", + "sigut=420#\n", + "FOS=5#\n", + "sigta=sigut/FOS#\n", + "t=p*D/(2*sigta*nt)#\n", + "t=24#\n", + "d=6*sqrt(t)#\n", + "d=30#\n", + "Ta=330/5#\n", + "sigba=640/5#\n", + "Ps=2*1.875*pi*(d**2)*Ta/4#\n", + "p=(Ps/(t*sigta))+d#\n", + "p=117#\n", + "t1=5*t/8#\n", + "Pt=(p-d)*t*sigta#\n", + "Pp=p*t*sigta#\n", + "Pb=2*d*t*sigba#\n", + "n=Ps/Pb#\n", + "n=n*100#\n", + "print \" n is %0.0f \"%(n)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 11-9 - Page 327" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " n is 39 \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "D=1200#\n", + "p=2.5#\n", + "sigba=110#\n", + "Pa=pi*D**2*p/4#\n", + "nt=0.8#\n", + "sigta=80#\n", + "t=p*D/(2*sigta*nt)#\n", + "t=24#\n", + "d=6*sqrt(t)#\n", + "d=30#\n", + "Ta=55#\n", + "Ps=pi*(d**2)*Ta/4#\n", + "Np=Pa/Ps#\n", + "Np=74#\n", + "nr=Np/2#\n", + "p=pi*(D+t)/nr#\n", + "pb=2*d#\n", + "m=1.5*d#\n", + "Pt=(p-d)*t*sigta#\n", + "Ps=2*Ps#\n", + "Pb=2*d*t*sigba#\n", + "Pp=p*t*sigta#\n", + "n=Ps/Pp#\n", + "n=n*100#\n", + "print \" n is %0.0f \"%(n)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch12_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch12_1.ipynb new file mode 100644 index 00000000..01177ff1 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch12_1.ipynb @@ -0,0 +1,444 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:12 Welded joints" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-1 - Page 347" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T is 73.7 MPa \n" + ] + } + ], + "source": [ + "h=8#\n", + "F=100*10**3#\n", + "t=0.707*h#\n", + "A=4*60*t#\n", + "T=F/A#\n", + "print \"T is %0.1f MPa \"%(T)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-2 - Page 347" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "l is 639 mm \n" + ] + } + ], + "source": [ + "FOS=3#\n", + "Ta=95/FOS#\n", + "P=350*10**3#\n", + "h=12.5#\n", + "t=0.707*h#\n", + "l=P/(2*t*Ta)#\n", + "print \"l is %0.0f mm \"%(l)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-3 - Page 348" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 81.446 kN \n" + ] + } + ], + "source": [ + "h=12#\n", + "t=0.707*h#\n", + "l=60#\n", + "Ta=80#\n", + "P=2*l*t*Ta#\n", + "P=P*10**-3#\n", + "print \"P is %0.3f kN \"%(P)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-4 - Page 348" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "h is 3 mm \n" + ] + } + ], + "source": [ + "from math import sin, pi, cos, sqrt\n", + "P=6*10**3#\n", + "e=150+(100/2)#\n", + "T=P*e#\n", + "A=200#\n", + "Td=P/A#\n", + "r=sqrt(2*50**2)#\n", + "Ixx=2*(100*50**2)#\n", + "Iyy=2*100**3/12#\n", + "IG=Ixx+Iyy#\n", + "Ts=r*T/IG#\n", + "Tmax=sqrt((Ts*sin(45*pi/180))**2+(Td+(Ts*cos(45*pi/180)))**2)#\n", + "Ta=80#\n", + "t=Tmax/Ta#\n", + "h=sqrt(2)*t#\n", + "h=3#\n", + "print \"h is %0.0f mm \"%(h)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-5 - Page 349" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 4.972 KN \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "h=10#\n", + "t=10/sqrt(2)#\n", + "Ta=80#\n", + "x=((50*25)+(50*0))/(50+50)#\n", + "y=x#\n", + "ra=sqrt(x**2+37.5**2)#\n", + "Ixx=(7.07*50**3/12)+(50*7.07*(12.5**2))+(50*7.07*12.5**2)#\n", + "IG=2*Ixx#\n", + "e=100+(50-12.5)#\n", + "Tr=16.09*10**-3#\n", + "P=Ta/Tr#\n", + "P=P*10**-3#\n", + "print \"P is %0.3f KN \"%(P)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-6 - Page 350" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "h is 5 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "P=16*10**3#\n", + "l=300#\n", + "r=50#\n", + "M=P*l#\n", + "A=2*pi*r#\n", + "Ixx=pi*r**3#\n", + "sigb=M*r/Ixx#\n", + "Td=P/A#\n", + "Tmax=sqrt((sigb/2)**2+(Td**2))#\n", + "Ta=90#\n", + "t=Tmax/Ta#\n", + "h=sqrt(2)*t#\n", + "h=5#\n", + "print \"h is %0.0f mm \"%(h)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-7 - Page 350" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "l is 202 mm \n" + ] + } + ], + "source": [ + "sigut=415#\n", + "sige=sigut/3#\n", + "Ka=0.5#\n", + "Kb=0.85#\n", + "Kc=0.897#\n", + "SCF=1.5#\n", + "Kd=1/SCF#\n", + "FOS=2#\n", + "sige1=sige*Ka*Kb*Kc*Kd/FOS#\n", + "Pa=50*10**3#\n", + "h=10#\n", + "t=0.707*h#\n", + "l=Pa/(2*sige1*t)#\n", + "print \"l is %0.0f mm \"%(l)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-8 - Page 351" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "h is 3 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "l=300#\n", + "P=30*10**3#\n", + "T=P/(2*l)#\n", + "Ta=124#\n", + "t1=T/Ta#\n", + "h1=sqrt(2)*t1#\n", + "M=P*l#\n", + "Ixx=2*100*110**2#\n", + "sigb=M/Ixx*110#\n", + "#Let the allowable bending stress is Tab\n", + "Tab=200#\n", + "t2=sigb/Tab#\n", + "h2=t2/0.707#\n", + "h2=3#\n", + "print \"h is %0.0f mm \"%(h2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-9 - Page 352" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " h is 20 mm \n", + "\n", + " a is 40 mm \n" + ] + } + ], + "source": [ + "Ta=60#\n", + "l1=60#\n", + "l2=40#\n", + "P1=Ta*0.707*l1#\n", + "P2=Ta*0.707*l2#\n", + "P=80*10**3#\n", + "h=P/(P1+P2)#\n", + "h=20#\n", + "a=(P2*100)/(P1+P2)#\n", + "print \" h is %0.0f mm \"%(h)#\n", + "print \"\\n a is %0.0f mm \"%(a)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-10 - Page 352" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "h is 9 mm \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "P=300*10**3#\n", + "l=500#\n", + "A=2*l#\n", + "Td=P/A#\n", + "T=(350-250)*P#\n", + "IG=(l**3*2/12)+(l*2*5**2)#\n", + "r=sqrt(250**2+5**2)#\n", + "Ts=T*r/IG#\n", + "Ts=Ts+Td#\n", + "Ta=110#\n", + "t=Ts/Ta#\n", + "h=t/0.707#\n", + "h=9#\n", + "print \"h is %0.0f mm \"%(h)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 12-11 - Page 353" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "l is 45.4 mm \n" + ] + } + ], + "source": [ + "t=30#\n", + "sigut=417#\n", + "sige=sigut/2#\n", + "Ka=0.5#\n", + "Kb=0.85#\n", + "Kc=0.897#\n", + "SCF=1.2#\n", + "Kd=1/SCF#\n", + "FOS=1.5#\n", + "sige1=sige*Ka*Kb*Kc*Kd/FOS#\n", + "Pa=60*10**3#\n", + "l=Pa/(sige1*t)#\n", + "print \"l is %0.1f mm \"%(l)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch13_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch13_1.ipynb new file mode 100644 index 00000000..020a19d3 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch13_1.ipynb @@ -0,0 +1,291 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:13 Cotter and knuckle joints" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 13-1 - Page 371" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 26 mm \n", + "\n", + " d1 is 32 mm \n", + "\n", + " d2 is 44 mm \n", + "\n", + " d3 is 64 mm \n", + "\n", + " d4 is 40 mm \n", + "\n", + " sigbc is 103.0 MPa \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "F=25*10**3#\n", + "sigat=50#\n", + "Ta=40#\n", + "pa=80#\n", + "d=sqrt((4*F)/(pi*sigat))#\n", + "d=26#\n", + "t=d/4#\n", + "t=7#\n", + "d1=1.2*d#\n", + "d1=32#\n", + "pc=F/(d1*t)#\n", + "t=10#\n", + "c=0.75*d#\n", + "c=20#\n", + "d2=44#\n", + "tw=(d2-d1)/2#\n", + "b=F/(2*t*Ta)#\n", + "b=34#\n", + "a=0.5*d#\n", + "d3=(F/(pa*t))+d1#\n", + "d3=64#\n", + "e=F/(Ta*(d3-d1))#\n", + "d4=sqrt((F*4/(pi*pa))+d1**2)#\n", + "d4=40#\n", + "f=0.5*d#\n", + "sigbc=3*F*d3/(t*b**2*4)#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n d1 is %0.0f mm \"%(d1)#\n", + "print \"\\n d2 is %0.0f mm \"%(d2)#\n", + "print \"\\n d3 is %0.0f mm \"%(d3)#\n", + "print \"\\n d4 is %0.0f mm \"%(d4)#\n", + "print \"\\n sigbc is %0.1f MPa \"%(sigbc)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 13-2 - Page 372" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 21 mm \n", + "\n", + " d1 is 28 mm \n", + "\n", + " t is 10 mm \n", + "\n", + " b is 31 mm \n", + "\n", + " d2 is 40 mm \n", + "\n", + " L is 138 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=40*10**3#\n", + "sigut=490#\n", + "FOS=4#\n", + "sigts=sigut/FOS#\n", + "sigcs=1.4*sigts#\n", + "sigs=0.8*sigts#\n", + "d=sqrt((4*P)/(pi*sigts))#\n", + "d=21#\n", + "sigcc=1.4*330/4#\n", + "Tc=0.8*330/4#\n", + "t=d/3#\n", + "b=P/(2*t*Tc)#\n", + "b=31#\n", + "t=10#\n", + "d1=28#\n", + "d2=40#\n", + "c=d/2#\n", + "c=15#\n", + "a=P/(2*(d2-d1)*98)#\n", + "a=20#\n", + "L=(2*a)+(2*b)+(2*c)+(2*3)#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n d1 is %0.0f mm \"%(d1)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + "print \"\\n d2 is %0.0f mm \"%(d2)#\n", + "print \"\\n L is %0.0f mm \"%(L)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 13-3 - Page 372" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " a is 33 mm \n", + "\n", + " t is 11 mm \n", + "\n", + " t1 is 16 mm \n", + "\n", + " b is 20 mm \n", + "\n", + " b1 is 25 mm \n", + "\n", + " l1 is 14 mm \n", + "\n", + " l2 is 14 mm \n", + "\n", + " l3 is 20 mm \n", + "\n", + " l4 is 11 mm \n", + "\n", + " sigcr is 110.0 MPa \n", + "\n", + " sigcr1 is 113.0 MPa \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=40*10**3#\n", + "sigt=60#\n", + "sigc=125#\n", + "T=45#\n", + "a=sqrt(P*3/(2*sigt))#\n", + "a=33#\n", + "t=a/3#\n", + "b=P/(4.5*t*T)#\n", + "b=20#\n", + "b1=1.25*b#\n", + "t1=P*3/(4*a*sigt)#\n", + "t1=16#\n", + "l2=P/(2*2*T*t1)#\n", + "l2=14#\n", + "l1=P/(2*a*T)#\n", + "l1=14#\n", + "l3=(0.6*a)#\n", + "l3=20#\n", + "l4=11#\n", + "sigcr=P/(t*a)#\n", + "sigcr1=P/(2*t1*t)#\n", + "print \" a is %0.0f mm \"%(a)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n t1 is %0.0f mm \"%(t1)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + "print \"\\n b1 is %0.0f mm \"%(b1)#\n", + "print \"\\n l1 is %0.0f mm \"%(l1)#\n", + "print \"\\n l2 is %0.0f mm \"%(l2)#\n", + "print \"\\n l3 is %0.0f mm \"%(l3)#\n", + "print \"\\n l4 is %0.0f mm \"%(l4)#\n", + "print \"\\n sigcr is %0.1f MPa \"%(sigcr)#\n", + "print \"\\n sigcr1 is %0.1f MPa \"%(sigcr1)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 13-4 - Page 373" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 30 mm \n", + "\n", + " sigt is 52.1 MPa \n", + "\n", + " b is 36 mm \n" + ] + } + ], + "source": [ + "P=50*10**3#\n", + "sigp=380#\n", + "FOS=4#\n", + "sigca=80#\n", + "Ta=50#\n", + "sigta=sigp/FOS#\n", + "At=P/sigta#\n", + "d=30#\n", + "d1=1.5*d#\n", + "t=P/(sigca*d1)#\n", + "t=14#\n", + "A=(pi*(d1**2)/4)-(d1*t)#\n", + "#let tearing stress be sigt\n", + "sigt=P/A#\n", + "b=P/(2*t*Ta)#\n", + "b=36#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n sigt is %0.1f MPa \"%(sigt)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + " \n", + "#The answer to tearing stress in bolt 'sigt' is calculated incorrectly in the book." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch14_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch14_1.ipynb new file mode 100644 index 00000000..955eef4c --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch14_1.ipynb @@ -0,0 +1,420 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:14 Keys and couplings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-1 - Page 401" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " FOS1 is 4.376 \n", + "\n", + " FOS2 is 4.85 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, acos, cos\n", + "d=40#\n", + "r=d/2#\n", + "P=6*10**3#\n", + "N=350#\n", + "sigyt=380#\n", + "A=pi*12**2/2#\n", + "theta=pi-(2*atan(4/12))#\n", + "alpha=180-(theta*pi/180)#\n", + "l=2*12*cos(19.5*pi/180)#\n", + "A1=l*4/2#\n", + "Abcd=(A*141/180)-A1#\n", + "A2=A-Abcd#\n", + "A3=8*l#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "Pt=T*10**3/r#\n", + "sigb=Pt/A2#\n", + "#Let shear stress developed in key Tk\n", + "Tk=Pt/A3#\n", + "FOS1=sigyt/sigb#\n", + "FOS2=0.577*sigyt/Tk#\n", + "print \" FOS1 is %0.3f \"%(FOS1)#\n", + "print \"\\n FOS2 is %0.2f \"%(FOS2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-2 - Page 401" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Ts is 3.39 N/mm**2 \n", + "\n", + " Th is 2.98 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "n=12#\n", + "phi=360*pi/(180*12*2)#\n", + "R1=45/2#\n", + "R2=50/2#\n", + "l=60#\n", + "Rm=(R1+R2)/2#\n", + "p=6.5#\n", + "Pn=(R2-R1)*l*p#\n", + "T=Pn*Rm#\n", + "T=T*n#\n", + "N=400#\n", + "w=2*pi*N/60#\n", + "P=T*w#\n", + "A=(pi*R1*l)/n#\n", + "Ts=Pn/A#\n", + "Ah=(pi*R2*l)/n#\n", + "Th=Pn/Ah#\n", + "print \" Ts is %0.2f N/mm**2 \"%(Ts)#\n", + "print \"\\n Th is %0.2f N/mm**2 \"%(Th)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-3 - Page 402" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " l1 is 17 mm \n", + "\n", + " l2 is 19.85 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "N=360#\n", + "w=2*pi*N/60#\n", + "sigyt=380#\n", + "r=25#\n", + "P=40*10**3#\n", + "FOS=3#\n", + "T=P/w#\n", + "Pt=T*10**3/(2*r)#\n", + "siga=380/3#\n", + "Ta=0.577*380/3#\n", + "l1=Pt/(sqrt(2)*12*Ta)#\n", + "l2=Pt*sqrt(2)/(siga*12)#\n", + "print \" l1 is %0.0f mm \"%(l1)#\n", + "print \"\\n l2 is %0.2f mm \"%(l2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-4 - Page 403" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 40 mm \n", + "\n", + " Tsh is 3.13 MPa \n", + "\n", + " b is 7 mm \n", + "\n", + " t is 7 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "N=300#\n", + "w=2*pi*N/60#\n", + "P=12*10**3#\n", + "Ks=1.25#\n", + "Pd=P*Ks#\n", + "T=Pd/w#\n", + "Tas=50#\n", + "d=16*T*10**3/(pi*Tas)#\n", + "d=d**(1/3)#\n", + "d=40#\n", + "Ts=10#\n", + "d1=(2*d)+13#\n", + "x=(d1**4-d**4)/d1#\n", + "#Let the shear stress in the key be Tsh\n", + "Tsh=T*10**3*16/(pi*x)#\n", + "l=3.5*d#\n", + "Ft=T*2*10**3/d#\n", + "l1=70#\n", + "sigak=50#\n", + "b=Ft/(l1*sigak)#\n", + "t=2*Ft/(100*l1)#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n Tsh is %0.2f MPa \"%(Tsh)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + "print \"\\n t is %0.0f mm \"%(t)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-5 - Page 403" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 60 mm \n", + "\n", + " b is 13.6 mm \n", + "\n", + " t is 12 mm \n", + "\n", + " dr is 27.822 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=36*10**3#\n", + "N=200#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "Tas=45#\n", + "d=16*T*10**3/(pi*Tas)#\n", + "d=d**(1/3)#\n", + "d=60#\n", + "d1=(2*d)+13#\n", + "l=3.5*d#\n", + "Ftk=T*2/d#\n", + "lk=l/2#\n", + "Tak=40#\n", + "sigack=90#\n", + "b=Ftk*10**3/(lk*Tak)#\n", + "t=2*Ftk*10**3/(sigack*lk)#\n", + "n=4#\n", + "sigatb=60#\n", + "u=0.25#\n", + "dr=16*T*10**3/(u*pi**2*sigatb*n*d)#\n", + "dr=sqrt(dr)#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n b is %0.1f mm \"%(b)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n dr is %0.3f mm \"%(dr)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-6 - Page 404" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 32 mm \n", + "\n", + " b is 7 mm \n", + "\n", + " t is 8 mm \n", + "\n", + " db is 5.96 mm \n", + "\n", + " db1 is 6.15 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=16*10**3#\n", + "N=1000#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "Ks=1.4#\n", + "Td=T*Ks#\n", + "Tas=40#\n", + "d=16*T*10**3/(pi*Tas)#\n", + "d=d**(1/3)#\n", + "d=32#\n", + "d1=2*d#\n", + "l=1.5*d#\n", + "ds=1.5*d#\n", + "Tak=40#\n", + "sigack=70#\n", + "Ftk=Td*2/d#\n", + "b=Ftk*10**3/(l*Tak)#\n", + "t=2*Ftk*10**3/(sigack*l)#\n", + "Taf=10#\n", + "tf=Td*10**3*2/(pi*Taf*d1**2)#\n", + "Ftb=Td*10**3/(1.5*d*4)#\n", + "Tab=40#\n", + "db=sqrt(Ftb*4/(Tab*pi))#\n", + "D=4*d#\n", + "trp=d/6#\n", + "Ftb1=Td*10**3/(45*4)#\n", + "db1=sqrt(Ftb1*4/(Tab*pi))#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n db is %0.2f mm \"%(db)#\n", + "print \"\\n db1 is %0.2f mm \"%(db1)#\n", + " \n", + "#The answer to Key thickness 't' is calculated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 14-7 - Page 404" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sigmax is 36.77 MPa \n", + "\n", + " b is 9 mm \n", + "\n", + " t is 6 mm \n", + "\n", + " Lf is 36 mm \n", + "\n", + " Do is 180 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=30*10**3#\n", + "N=1440#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "d=36#\n", + "d1=30#\n", + "d2=2*d#\n", + "d3=d1*2#\n", + "l=1.5*d#\n", + "Dp=3.5*d#\n", + "n=6#\n", + "Ft=(2*T)/(Dp*n)#\n", + "p=0.5#\n", + "A=Ft/p#\n", + "Lf=d#\n", + "dp=A/Lf#\n", + "M=Ft*10**3*(5+(Lf/2))#\n", + "db=(32*M/(pi*40))**(1/3)#\n", + "db=15#\n", + "T=(4*526)/(pi*db**2)#\n", + "sigb=32*M/(pi*db**3)#\n", + "sigmax=(sigb/2)+sqrt(((sigb/2)**2)+(T**2))#\n", + "b=d/4#\n", + "t=6#\n", + "Lf=36#\n", + "La=10#\n", + "Do=126+30+(2*(5+1))+(2*6)#\n", + "print \" sigmax is %0.2f MPa \"%(sigmax)#\n", + "print \"\\n b is %0.0f mm \"%(b)#\n", + "print \"\\n t is %0.0f mm \"%(t)#\n", + "print \"\\n Lf is %0.0f mm \"%(Lf)#\n", + "print \"\\n Do is %0.0f mm \"%(Do)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch15_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch15_1.ipynb new file mode 100644 index 00000000..2b3160d7 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch15_1.ipynb @@ -0,0 +1,349 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:15 Shafts" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 15-2 - Page 421" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 17.73 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt, tan\n", + "dA=150#\n", + "dB=250#\n", + "alpha=20*pi/180#\n", + "W=400#\n", + "sigyt=400#\n", + "sigut=500#\n", + "Kb=1.5#\n", + "Kt=2#\n", + "T=W*dA/2#\n", + "Pt=T/(dB/2)#\n", + "Pr1=W*tan(alpha)#\n", + "Pr2=Pt*tan(alpha)#\n", + "RDH=((W*120)-(Pt*320))/440#\n", + "RcH=W-RDH-Pt#\n", + "#RcH=400+65.5-240#\n", + "McH=0#\n", + "MAH=RcH*120#\n", + "MBH=RDH*120#\n", + "RDV=((Pr1*120)-(Pr2*320))/440#\n", + "RcV=Pr1-RDV-Pr2#\n", + "MAV=RcV*120#\n", + "MBV=RDV*120#\n", + "Mmax=sqrt((MAH**2)+(MAV**2))#\n", + "T=30*10**3#\n", + "Ta=0.135*sigut#\n", + "d=16*sqrt((Kb*Mmax)**2+(Kt*T)**2)/(pi*Ta)#\n", + "d=d**(1/3)#\n", + "print \"d is %0.2f mm \"%(d)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 15-3 - Page 421" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d1 is 12.46 mm \n", + "\n", + "d2 is 13.23 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=16*746#\n", + "N=3000#\n", + "w=2*pi*N/60#\n", + "T=P/w*10**3#\n", + "sigy=400#\n", + "Ty=sigy/2#\n", + "FOS=2#\n", + "Ta=Ty/FOS#\n", + "d=T*16/(pi*Ta)#\n", + "d1=d**(1/3)#\n", + "r=3#\n", + "D=d1+(2*r)#\n", + "SCF=1.196\n", + "Tys=Ta/SCF#\n", + "d=T*16/(pi*Tys)#\n", + "d2=d**(1/3)#\n", + "d=14#\n", + "D=d+(2*r)#\n", + "print \"d1 is %0.2f mm \"%(d1)#\n", + "print \"\\nd2 is %0.2f mm \"%(d2)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 15-4 - Page 422" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d1 is 39.16 mm \n", + "\n", + " d2 is 29.25 mm \n", + "\n", + " d3 is 55.6 mm \n", + "\n", + " d4 is 44.67 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P1=24*10**3#\n", + "P2=10*10**3#\n", + "sigyt=460#\n", + "Tya=sigyt*0.3#\n", + "SCF=2.84#\n", + "Ta=Tya/SCF#\n", + "N=400#\n", + "w=2*pi*N/60#\n", + "T1=P1/w#\n", + "T2=P2/w#\n", + "d1=T1*16*10**3/(pi*Ta)#\n", + "d1=d1**(1/3)#\n", + "d2=T2*16*10**3/(pi*Ta)#\n", + "d2=d2**(1/3)#\n", + "theta1=pi/3600#\n", + "l1=120#\n", + "G=84*10**3#\n", + "d3=T1*10**3*l1*32/(pi*G*theta1)#\n", + "d3=d3**(1/4)#\n", + "d4=T2*l1*10**3*32/(pi*G*theta1)#\n", + "d4=d4**(1/4)#\n", + "print \" d1 is %0.2f mm \"%(d1)#\n", + "print \"\\n d2 is %0.2f mm \"%(d2)#\n", + "print \"\\n d3 is %0.1f mm \"%(d3)#\n", + "print \"\\n d4 is %0.2f mm \"%(d4)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 15-5 - Page 423" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 33.6 mm \n", + "\n", + "theta is 0.33 degree \n" + ] + } + ], + "source": [ + "from math import sin, exp\n", + "d=200#\n", + "r=d/2#\n", + "N=300#\n", + "P=5000#\n", + "D=500#\n", + "R=D/2#\n", + "u=0.3#\n", + "E=205*10**3#\n", + "G=84*10**3#\n", + "Ta=60#\n", + "Kb=1.5#\n", + "Kt=2#\n", + "w=2*pi*N/60#\n", + "beta1=20*pi/180#\n", + "V=r*w#\n", + "v=R*w#\n", + "# Let T1-T2 =T\n", + "T=P/V#\n", + "x=u*pi/sin(beta1)#\n", + "T2=T/((exp(x)-1))#\n", + "T1=T2*exp(x)#\n", + "t=P/v#\n", + "y=u*pi#\n", + "T3=t/((exp(x)-1))#\n", + "T4=T3*exp(x)#\n", + "T=P/w#\n", + "Rc=2612##\n", + "RA=645.1#\n", + "MB=96.76#\n", + "MC=-208.96#\n", + "d=16*10**3*sqrt((Kb*MC)**2+(Kt*T)**2)/(pi*Ta)#\n", + "d=d**(1/3)#\n", + "l=380#\n", + "J=pi*d**4/32#\n", + "theta=T*10**3*l/(G*J)#\n", + "theta=theta*180/pi#\n", + "print \"d is %0.1f mm \"%(d)#\n", + "print \"\\ntheta is %0.2f degree \"%(theta)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## exa 15-6 - Page 423" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 37 mm \n", + "\n", + "theta is 0.1735 deg \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "T=400#\n", + "Pt=4800#\n", + "Pg=3600#\n", + "sigyt=360#\n", + "E=205*10**3#\n", + "G=80*10**3#\n", + "Kb=2#\n", + "Kt=1.5#\n", + "FOS=3#\n", + "RC=((Pt*90)+(Pg*200))/140#\n", + "RA=8400-RC#\n", + "MB=RA*0.9#\n", + "MC=Pg*0.045#\n", + "Te=sqrt((Kb*MC)**2+(Kt*T)**2)#\n", + "Ta=0.577*sigyt/FOS#\n", + "d=16*10**3*Te/(pi*Ta)#\n", + "d=d**(1/3)#\n", + "L=110#\n", + "J=pi*d**4/32#\n", + "T=400#\n", + "theta=T*10**3*L/(G*J)#\n", + "theta=theta*180/pi#\n", + "print \"d is %0.0f mm \"%(d)#\n", + "print \"\\ntheta is %0.4f deg \"%(theta)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 15-7 - Page 424" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n is 1.75 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "T=47*10**3#\n", + "M=32*10**3#\n", + "d=20#\n", + "siga=32*M/(pi*d**3)#\n", + "Tm=16*T/(pi*d**3)#\n", + "sige=75#\n", + "Tys=165#\n", + "n=1/sqrt((siga/sige)**2+(Tm/Tys)**2)#\n", + "print \"n is %0.2f \"%(n)#\n", + " " + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch16_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch16_1.ipynb new file mode 100644 index 00000000..bc87342d --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch16_1.ipynb @@ -0,0 +1,445 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:16 Power screws" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-1 - Page 450" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ttr is 110.148 Nm \n" + ] + } + ], + "source": [ + "from math import atan, pi, sqrt, tan\n", + "d=30#\n", + "W=20*10**3#\n", + "r1=8#\n", + "r2=16#\n", + "p=6#\n", + "u1=0.2#\n", + "u2=0.15#\n", + "dm=d-(p/2)#\n", + "alpha=atan(p/(pi*dm))#\n", + "phi=atan(u1)#\n", + "rm=(r1+r2)/2#\n", + "Ttr=W*((dm*tan(alpha+phi)/2)+(u2*rm))#\n", + "Ttr=Ttr*10**-3#\n", + "print \"Ttr is %0.3f Nm \"%(Ttr)#\n", + "#The answer to Ttr is slightly different than in the book due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-2 - Page 451" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tr is 187.49 Nm \n", + "\n", + " Te is 51.691 Nm \n", + "\n", + " n is 0.3489 \n", + "\n", + " Ph is 624.96 N \n" + ] + } + ], + "source": [ + "from math import cos,pi,atan,tan\n", + "d=50#\n", + "W=20*10**3#\n", + "r1=10#\n", + "r2=30#\n", + "p=7#\n", + "u1=0.12/cos(15*pi/180)#\n", + "u2=0.15#\n", + "dm=d-(p/2)#\n", + "alpha=atan(3*p/(pi*dm))#\n", + "phi=atan(u1)#\n", + "rm=(r1+r2)/2#\n", + "Tr=W*((dm*tan(alpha+phi)/2)+(u2*rm))#\n", + "Tr=Tr*10**-3#\n", + "Te=W*((dm*tan(phi-alpha)/2)+(u2*rm))#\n", + "Te=Te*10**-3#\n", + "n=dm/2*tan(alpha)/(dm*tan(alpha+phi)/2+(u2*rm))#\n", + "L=0.30#\n", + "Ph=Tr/L#\n", + "print \" Tr is %0.2f Nm \"%(Tr)#\n", + "print \"\\n Te is %0.3f Nm \"%(Te)#\n", + "print \"\\n n is %0.4f \"%(n)#\n", + "print \"\\n Ph is %0.2f N \"%(Ph)#\n", + "#The answers to Tr, Te and Ph is slightly different than in the book due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-3 - Page 452" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tr1 is 31.456 Nm \n", + "\n", + " n1 is 0.1265 \n", + "\n", + " T1 is 23.307 Nm \n", + "\n", + " n2 is 0.1707 \n", + "\n", + " Tr2 is 17.156 Nm \n", + "\n", + " n3 is 0.2319 \n", + "\n", + " Te is 9.007 Nm \n", + "\n", + " n4 is 0.4418 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan,tan\n", + "d=30#\n", + "W=5*10**3#\n", + "p=5#\n", + "rm=45/2#\n", + "u1=0.15/cos(14.5*pi/180)#\n", + "u2=0.15#\n", + "dm=d-(p/2)#\n", + "alpha=atan(p/(pi*dm))#\n", + "phi=atan(u1)#\n", + "Tr1=W*((dm*tan(alpha+phi)/2)+(u2*rm))#\n", + "Tr1=Tr1*10**-3#\n", + "n1=dm/2*tan(alpha)/(dm*tan(alpha+phi)/2+(u2*rm))#\n", + "T1=W*((dm*tan(phi-alpha)/2)+(u2*rm))#\n", + "T1=T1*10**-3#\n", + "n2=dm/2*tan(alpha)/(dm*tan(phi-alpha)/2+(u2*rm))#\n", + "u2=0.02#\n", + "Tr2=W*((dm*tan(alpha+phi)/2)+(u2*rm))#\n", + "Tr2=Tr2*10**-3#\n", + "n3=dm/2*tan(alpha)/(dm*tan(alpha+phi)/2+(u2*rm))#\n", + "Te=W*((dm*tan(phi-alpha)/2)+(u2*rm))#\n", + "Te=Te*10**-3#\n", + "n4=dm/2*tan(alpha)/(dm*tan(phi-alpha)/2+(u2*rm))#\n", + "print \" Tr1 is %0.3f Nm \"%(Tr1)#\n", + "print \"\\n n1 is %0.4f \"%(n1)#\n", + "print \"\\n T1 is %0.3f Nm \"%(T1)#\n", + "print \"\\n n2 is %0.4f \"%(n2)#\n", + "print \"\\n Tr2 is %0.3f Nm \"%(Tr2)#\n", + "print \"\\n n3 is %0.4f \"%(n3)#\n", + "print \"\\n Te is %0.3f Nm \"%(Te)#\n", + "print \"\\n n4 is %0.4f \"%(n4)#\n", + " \n", + " #The answer to T1 is misprinted in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-4 - Page 453" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "F is 7.299 kN \n" + ] + } + ], + "source": [ + "from math import tan,atan,pi\n", + "d=28#\n", + "P=300#\n", + "L=180#\n", + "p=8#\n", + "r1=16#\n", + "r2=46#\n", + "rm=(r1+r2)/2#\n", + "u1=0.12#\n", + "u2=0.15#\n", + "dm=d-(p/2)#\n", + "alpha=atan(p/(pi*dm))#\n", + "phi=atan(u1)#\n", + "T=P*L#\n", + "F=T/((dm*tan(alpha+phi)/2)+(u2*rm))#\n", + "F=F*10**-3#\n", + "print \"F is %0.3f kN \"%(F)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-5 - Page 453" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 23.6 kN \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan,tan\n", + "d=25#\n", + "p=8#\n", + "F=392.4#\n", + "L=250#\n", + "l=p*2#\n", + "u=0.14#\n", + "dm=d-(p/2)#\n", + "alpha=atan(l/(pi*dm))#\n", + "phi=atan(u)#\n", + "T=dm*tan(alpha+phi)/2#\n", + "M=F*L#\n", + "P=M/T*10**-3#\n", + "print \"P is %0.1f kN \"%(P)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-6 - Page 454" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 0.07 KW \n", + "\n", + "n is 0.1659 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi,atan,tan\n", + "d=52#\n", + "W=2.2*10**3#\n", + "p=8#\n", + "r1=15#\n", + "r2=30#\n", + "rm=(r1+r2)/2#\n", + "u1=0.15/cos(14.5*pi/180)#\n", + "dm=d-(p/2)#\n", + "alpha=atan(p/(pi*dm))#\n", + "phi=atan(u1)#\n", + "Ts=W*dm*tan(alpha+phi)/2#\n", + "u2=0.12#\n", + "Tc=u2*W*rm#\n", + "T=10**-3*(Ts+Tc)#\n", + "N=40#\n", + "w=2*pi*N/60#\n", + "P=T*w*10**-3#\n", + "To=W*dm/2*tan(alpha)#\n", + "n=To/(T*10**3)#\n", + "print \"P is %0.2f KW \"%(P)#\n", + "print \"\\nn is %0.4f \"%(n)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-7 - Page 455" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 24 mm \n", + "\n", + "p is 5 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi,atan,tan\n", + "alpha=atan(2*0.2/(pi*0.9))#\n", + "u1=0.15#\n", + "phi=atan(u1)#\n", + "P=200#\n", + "L=250#\n", + "Tt=P*L#\n", + "W=10*10**3#\n", + "u2=0.15#\n", + "x=Tt/W#\n", + "d=x/0.1716#\n", + "d=30#\n", + "p=6#\n", + "dr=0.8*d#\n", + "d=24#\n", + "p=5#\n", + "dr=d-p#\n", + "dm=d-(p/2)#\n", + "print \"d is %0.0f mm \"%(d)#\n", + "print \"\\np is %0.0f mm \"%(p)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 16-8 - Page 456" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " T is 145.242 Nm \n", + "\n", + " n is 0.4751 \n", + "\n", + " a is 0.04894 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi,atan,tan\n", + "FOS=3#\n", + "sigut=380#\n", + "Ta=0.577*sigut/FOS#\n", + "d=25#\n", + "Tus=460#\n", + "Ps=pi*d*Tus#\n", + "siga=127#\n", + "dr=sqrt(Ps*4/(pi*siga))#\n", + "d=30#\n", + "p=6#\n", + "dr=d-p#\n", + "dm=d-(p/2)#\n", + "u1=0.15#\n", + "alpha=atan(p*2/(pi*dm))#\n", + "phi=atan(u1)#\n", + "T=Ps*dm*tan(alpha+phi)/2#\n", + "T1=16*T/(pi*dr**3)#\n", + "sigc=4*Ps/(pi*dr**2)#\n", + "sigmax=sigc/2+sqrt((sigc/2**2)+(T1**2))#\n", + "Tmax=sqrt((sigc/2**2)+(T1**2))#\n", + "n=tan(alpha)/tan(alpha+phi)#\n", + "Uo=Ps/2#\n", + "Ui=Uo/n#\n", + "wav=pi/2#\n", + "wmax=2*wav#\n", + "I=Ui*2/wmax**2#\n", + "k=0.4#\n", + "Ir=0.9*I*10**-3#\n", + "m=Ir/k**2#\n", + "R=0.4#\n", + "rho=7200#\n", + "a=sqrt(m/(2*pi*R*rho))#\n", + "T=T*10**-3#\n", + "print \" T is %0.3f Nm \"%(T)#\n", + "print \"\\n n is %0.4f \"%(n)#\n", + "print \"\\n a is %0.5f mm \"%(a)#\n", + " \n", + "#The difference in the answers of T is due to rounding-off of values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch17_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch17_1.ipynb new file mode 100644 index 00000000..bd4b86bc --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch17_1.ipynb @@ -0,0 +1,366 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:17 Sliding contact bearings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-1 - Page 482" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tav is 47.29 degC \n", + "\n", + " delT is 7.3 degC \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "Ta=22#\n", + "u=7/10**9#\n", + "nj=20#\n", + "r=25#\n", + "l=2*r#\n", + "Ao=30000#\n", + "Uo=15.3/10**3#\n", + "c=0.025#\n", + "#specific weight of the material is rho\n", + "rho=8.46*(10**-6)#\n", + "Cp=179.8#\n", + "Tf=Ta+(16*pi**3*u*nj**2*l*r**3/(Uo*Ao*c))#\n", + "# avg mean film temperature is Tav\n", + "Tav=(Tf-Ta)/2#\n", + "x= l*c*rho*pi*r*nj*Cp*10**3#\n", + "y=Ao*Tav*Uo#\n", + "delT=y/x#\n", + "print \" Tav is %0.2f degC \"%(Tav)#\n", + "print \"\\n delT is %0.1f degC \"%(delT)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-2 - Page 482" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "u is 6.293 cP \n" + ] + } + ], + "source": [ + "l=60#\n", + "d=60#\n", + "r=d/2#\n", + "ho=0.008#\n", + "c=0.04#\n", + "S=0.0446#\n", + "nj=1260/60#\n", + "W=6000#\n", + "p=W/(l*d)#\n", + "u=S*(c/r)**2*p/nj#\n", + "u=u*10**9#\n", + "print \"u is %0.3f cP \"%(u)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-3 - Page 483" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " u is 3.469 cP \n", + "\n", + " Q is 0.2874 lpm \n" + ] + } + ], + "source": [ + "d=60#\n", + "r=30#\n", + "l=60#\n", + "c=0.8*10**-3*r#\n", + "ho=0.2*c#\n", + "W=21000/2#\n", + "p=W/(l*d)#\n", + "S=0.0446#\n", + "nj=1440/60#\n", + "u=S*(c/r)**2*p/nj#\n", + "u=u*10**9#\n", + "# since Q/(r*nj*l)=4.62\n", + "Q=4.62*r*c*nj*l#\n", + "Q=Q*60/10**6#\n", + "print \" u is %0.3f cP \"%(u)#\n", + "print \"\\n Q is %0.4f lpm \"%(Q)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-4 - Page 483" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " f is 0.00985 \n", + "\n", + " ho is 0.032 mm \n", + "\n", + " Q is 0.638 lpm \n", + "\n", + " delT is 8.3 degC \n", + "\n", + " Pf is 0.1337 KW \n" + ] + } + ], + "source": [ + "from numpy import mat,pi,sqrt\n", + "l=60#\n", + "d=60#\n", + "r=d/2#\n", + "W=3000#\n", + "p=W/(l*d)#\n", + "u=30*10**-9#\n", + "c=0.06#\n", + "nj=1440/60#\n", + "S=(r/c)**2*u*nj/p#\n", + "#For ratio l/d=1, values of different parameters are given in matrix A corresponding to S\n", + "A=mat([[0,0,0,0,0,0],[0,1, 0.264, 0.6, 5.79, 3.99],[0,1, 0.121, 0.4 ,3.22, 4.33]])#\n", + "#let ho/c=x\n", + "x=(A[1,3])-((A[1,3]-(A[2,3]))*((A[1,2])-S)/((A[1,2])-(A[2,2])))#\n", + "#let y= (r/c)*f=CFV\n", + "y=(A[1,4])-(A[1,4]-(A[2,4]))*((A[1,2])-S)/((A[1,2])-(A[2,2]))#\n", + "#let z=Q/(r*c*nj*l)=FV\n", + "z=(A[1,5])-((A[1,5]-(A[2,5]))*((A[1,2])-S)/((A[1,2])-(A[2,2])))#\n", + "f=y*c/r#\n", + "ho=x*c#\n", + "Q=z*r*c*nj*l#\n", + "Q=Q*60/10**6#\n", + "delT=8.3*p*y/z#\n", + "#let power lost in friction be Pf\n", + "Pf=2*pi*nj*f*W*r/10**6#\n", + "print \" f is %0.5f \"%(f)#\n", + "print \"\\n ho is %0.3f mm \"%(ho)#\n", + "print \"\\n Q is %0.3f lpm \"%(Q)#\n", + "print \"\\n delT is %0.1f degC \"%(delT)#\n", + "print \"\\n Pf is %0.4f KW \"%(Pf)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-5 - Page 484" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 96 mm \n", + "\n", + " l is 96 mm \n", + "\n", + " ho is 0.0166 mm \n", + "\n", + " Q is 1.701 lpm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "W=22000#\n", + "nj=960/60#\n", + "p=2.4#\n", + "u=20*10**-9#\n", + "d=sqrt(W/p)#\n", + "d=96#\n", + "r=d/2#\n", + "l=d#\n", + "S=0.0446#\n", + "pact=W/(l*d)#\n", + "#x=r/c#\n", + "x=sqrt(S*pact/(u*nj))#\n", + "c=r/x#\n", + "ho=0.2*c#\n", + "Q=r*c*nj*l*4.62#\n", + "Q=Q*60/10**6#\n", + "print \" d is %0.0f mm \"%(d)#\n", + "print \"\\n l is %0.0f mm \"%(l)#\n", + "print \"\\n ho is %0.4f mm \"%(ho)#\n", + "print \"\\n Q is %0.3f lpm \"%(Q)#\n", + "#The difference in answer to Q is due to rounding -off the value of c." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-6 - Page 485" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " pi is 3.946 MPa \n", + "\n", + " Q is 25.52 lpm \n" + ] + } + ], + "source": [ + "from math import log,pi\n", + "W=400*10**3#\n", + "Ro=200#\n", + "Ri=160#\n", + "ho=0.1#\n", + "t=150#\n", + "# specific gravity is rho\n", + "rho=0.86#\n", + "pi=2*W*log(Ro/Ri)/(pi*(Ro**2-Ri**2))#\n", + "zk=(0.22*t)-(180/t)#\n", + "z=rho*zk#\n", + "u=z/(10**9)#\n", + "Q=pi*pi*ho**3/(6*u*log(Ro/Ri))#\n", + "Q=Q*60/10**6#\n", + "print \" pi is %0.3f MPa \"%(pi)#\n", + "print \"\\n Q is %0.2f lpm \"%(Q)#\n", + " \n", + "#The difference in answer to Q is due to rounding -off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 17-7 - Page 486" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pi is 4.44 MPa \n", + "\n", + "Q is 19.629 lpm \n" + ] + } + ], + "source": [ + "from math import log, pi\n", + "#let number of pads be n\n", + "n=4#\n", + "W=100*10**3#\n", + "Ro=125#\n", + "Ri=50#\n", + "t=200#\n", + "ho=0.15#\n", + "pi=2*W*log(Ro/Ri)/(pi*(Ro**2-Ri**2))#\n", + "zk=(0.22*t)-(180/t)#\n", + "# specific gravity is rho\n", + "rho=0.86#\n", + "z=rho*zk#\n", + "u=z/(10**9)#\n", + "Q=pi*pi*ho**3/(6*u*log(Ro/Ri))#\n", + "Q=Q*60/10**6#\n", + "print \"pi is %0.2f MPa \"%(pi)#\n", + "print \"\\nQ is %0.3f lpm \"%(Q)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch18_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch18_1.ipynb new file mode 100644 index 00000000..edb3ac36 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch18_1.ipynb @@ -0,0 +1,460 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:18 Rolling bearings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-1 - Page 507" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pf is 53.08 W \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "Pr=16*10**3#\n", + "u=0.0011#\n", + "F=u*Pr#\n", + "r=20*10**-3#\n", + "#Let frictional moment be M\n", + "M=F*r#\n", + "N=1440#\n", + "w=2*pi*N/60#\n", + "Pf=M*w#\n", + "print \"Pf is %0.2f W \"%(Pf)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-2 - Page 508" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L1 is 57.3 million revolutions \n", + "\n", + "L2 is 43.46 million revoltions \n" + ] + } + ], + "source": [ + "C=5590#\n", + "Ca=2500#\n", + "Pa=625#\n", + "Pr=1250#\n", + "V=1#\n", + "X=0.56#\n", + "Y=1.2#\n", + "P1=(X*V*Pr)+(Y*Pa)#\n", + "L1=(C/P1)**3#\n", + "V=1.2#\n", + "P2=(X*V*Pr)+(Y*Pa)#\n", + "L2=(C/P2)**3#\n", + "print \"L1 is %0.1f million revolutions \"%(L1)#\n", + "print \"\\nL2 is %0.2f million revoltions \"%(L2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-4 - Page 509" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Lh is 199.424 hrs \n" + ] + } + ], + "source": [ + "P=20*10**3#\n", + "Co=22400#\n", + "C=41000#\n", + "Ln=(C/P)**3#\n", + "Lh=Ln*10**6/(720*60)#\n", + "print \"Lh is %0.3f hrs \"%(Lh)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-5 - Page 510" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Designation of Bearing B1 is 61805 \n", + "\n", + "d1 is 25 mm \n", + "\n", + "D1 is 37 mm \n", + "\n", + "B1 is 7 mm \n", + "\n", + "C1 is 3120 N \n", + "\n", + "Designation of Bearing B2 is 16005 \n", + "\n", + "d2 is 25 mm \n", + "\n", + "D2 is 47 mm \n", + "\n", + "B2 is 8 mm \n", + "\n", + "C2 is 7620 N \n", + "Bearing 61805 at B1 and 16005 at B2 can be installed.\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "R1x=120#\n", + "R1y=250#\n", + "R2x=300#\n", + "R2y=400#\n", + "Lh=8000#\n", + "N=720#\n", + "Ln=Lh*60*N*10**-6#\n", + "R1=sqrt(R1x**2+R1y**2)#\n", + "R2=sqrt(R2x**2+R2y**2)#\n", + "#Let load factor be Ks\n", + "Ks=1.5#\n", + "P1=R1*Ks#\n", + "P2=R2*Ks#\n", + "C1=P1*(Ln**(1/3))#\n", + "C2=P2*(Ln**(1/3))#\n", + "#let designation,d,D,B,C at bearing B1 be De1,d1,D1,B1,C1\n", + "d1=25#\n", + "D1=37#\n", + "B1=7#\n", + "C1=3120#\n", + "De1=61805#\n", + "#let designation,d,D,B,C at bearing B2 be De2,d2,D2,B2,C2\n", + "d2=25#\n", + "D2=47#\n", + "B2=8#\n", + "C2=7620#\n", + "De2=16005#\n", + "print \"Designation of Bearing B1 is %0.0f \"%(De1)#\n", + "print \"\\nd1 is %0.0f mm \"%(d1)#\n", + "print \"\\nD1 is %0.0f mm \"%(D1)#\n", + "print \"\\nB1 is %0.0f mm \"%(B1)#\n", + "print \"\\nC1 is %0.0f N \"%(C1)#\n", + "print \"\\nDesignation of Bearing B2 is %0.0f \"%(De2)#\n", + "print \"\\nd2 is %0.0f mm \"%(d2)#\n", + "print \"\\nD2 is %0.0f mm \"%(D2)#\n", + "print \"\\nB2 is %0.0f mm \"%(B2)#\n", + "print \"\\nC2 is %0.0f N \"%(C2)#\n", + "print 'Bearing 61805 at B1 and 16005 at B2 can be installed.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-6 - Page 511" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Lh1 is 14585 hrs \n", + "\n", + "Lh2 is 24216 hrs \n" + ] + } + ], + "source": [ + "from math import tan, pi,sqrt\n", + "P=7500#\n", + "N=1440#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "r=0.2#\n", + "#Let T1-T2=t\n", + "t=T/r#\n", + "T2=t/2.5#\n", + "T1=3.5*T2#\n", + "R=0.125#\n", + "Ft=T/R#\n", + "Fr=Ft*tan(20*pi/180)#\n", + "# RD & RA are reaction forces calculated in vertical and horizontal directions from FBD by force equilibrium\n", + "RDv=186.5#\n", + "RAv=236.2#\n", + "RDh=36.2#\n", + "RAh=108.56#\n", + "RA=sqrt(RAv**2+RAh**2)#\n", + "RD=sqrt(RDv**2+RDh**2)#\n", + "Ks=1.4#\n", + "P1=RA*Ks#\n", + "P2=RD*Ks#\n", + "#let designation,d,D,B,C at bearing B1 be De1,d1,C1\n", + "d1=25#\n", + "C1=3120#\n", + "De1=61805#\n", + "#let designation,d,D,B,C at bearing B2 be De2,d2,C2\n", + "d2=25#\n", + "\n", + "C2=2700#\n", + "De2=61804#\n", + "L1=(C1/P1)**3#\n", + "Lh1=L1*10**6/(720*60)#\n", + "L2=(C2/P2)**3#\n", + "Lh2=L2*10**6/(720*60)#\n", + "print \"Lh1 is %0.0f hrs \"%(Lh1)#\n", + "print \"\\nLh2 is %0.0f hrs \"%(Lh2)#\n", + "#Incorrect value of P2 is taken in the book while calculating L2." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-7 - Page 511" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C is 44589 N \n" + ] + } + ], + "source": [ + "from math import log\n", + "P=3500#\n", + "Lh=6000#\n", + "N=1400#\n", + "R98=0.98#\n", + "R90=0.9#\n", + "L98=Lh*60*N/10**6#\n", + "x=(log(1/R98)/log(1/R90))**(1/1.17)#\n", + "L90=L98/x#\n", + "C=P*L90**(1/3)#\n", + "print \"C is %0.0f N \"%(C)#\n", + "#The difference in the value of C is due to rounding-off of value of L." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-8 - Page 512" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C is 6.337 kN \n" + ] + } + ], + "source": [ + "from math import log\n", + "n=3#\n", + "P=3#\n", + "#Let Reliability of system be R\n", + "R=0.83#\n", + "L94=6#\n", + "R94=(R)**(1/n)#\n", + "x=(log(1/R94)/log(1/0.90))**(1/1.17)#\n", + "L90=L94/x#\n", + "C=P*L90**(1/3)#\n", + "print \"C is %0.3f kN \"%(C)#\n", + "#The difference in the value of C is due to rounding-off of value of L." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-9 - Page 512" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C is 34219 N \n" + ] + } + ], + "source": [ + "P1=3000#\n", + "P2=4000#\n", + "P3=5000#\n", + "N1=1440#\n", + "N2=1080#\n", + "N3=720#\n", + "t1=1/4#\n", + "t2=1/2#\n", + "t3=1/4#\n", + "n1=N1*t1#\n", + "n2=N2*t2#\n", + "n3=N3*t3#\n", + "N=(n1+n2+n3)#\n", + "Pe=(((n1*P1**3)+(n2*P2**3)+(n3*P3**3))/N)**(1/3)#\n", + "Lh=10*10**3#\n", + "L=Lh*60*N/10**6#\n", + "C=Pe*L**(1/3)#\n", + "print \"C is %0.0f N \"%(C)#\n", + "#The difference in the value of C is due to rounding-off of value of Pe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 18-10 - Page 513" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Lh is 227.66 hrs \n" + ] + } + ], + "source": [ + "Co=695#\n", + "C=1430#\n", + "Pa1=200#\n", + "Pr1=600#\n", + "x=Pa1/Co#\n", + "y=Pa1/Pr1#\n", + "e=0.37+((0.44-0.37)*0.038/0.28)#\n", + "X=1#\n", + "Y=0#\n", + "P1=600#\n", + "Pa2=120#\n", + "Pr2=300#\n", + "X=0.56#\n", + "Y=1.2-(0.2*0.042/0.12)#\n", + "P2=(X*Pr2)+(Y*Pa2)#\n", + "N1=1440#\n", + "N2=720#\n", + "t1=2/3#\n", + "t2=1/3#\n", + "n1=N1*t1#\n", + "n2=N2*t2#\n", + "N=(n1+n2)#\n", + "Pe=(((n1*P1**3)+(n2*P2**3))/N)**(1/3)#\n", + "L=(C/Pe)**3#\n", + "Lh=L*10**6/(N*60)#\n", + "print \"Lh is %0.2f hrs \"%(Lh)#\n", + "#The difference in the value of Lh is due to rounding-off of value of Pe" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch19_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch19_1.ipynb new file mode 100644 index 00000000..e42db53e --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch19_1.ipynb @@ -0,0 +1,389 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:19 Flywheel" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-1 - Page 530" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "axial stress is 12.76 MPa \n", + "\n", + "tensile stress for theta=30deg is 38.9 MPa \n", + "\n", + "tensile stress for theta=0deg is 31.74 MPa \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, cos, sin\n", + "R=1200#\n", + "b=300#\n", + "t=150#\n", + "N=500#\n", + "m=7100*10**-9*b*t#\n", + "Ar=b*t#\n", + "Aa=Ar/4#\n", + "C=(20280/t**2)+0.957+(Ar/Aa)#\n", + "w=2*pi*N/60#\n", + "V=w*R*10**-3#\n", + "siga=2*10**3*m*V**2/(C*Aa*3)#\n", + "theta=30*pi/180#\n", + "alpha=30*pi/180#\n", + "x1=10**3*m*(V**2)/(b*t)#\n", + "y1=cos(theta)/(3*C*sin(alpha))#\n", + "z1=2000*R*10**-3/(C*t)*((1/alpha)-(cos(theta)/sin(alpha)))#\n", + "sigrr1=x1*(1-y1+z1)#\n", + "theta=0*pi/180#\n", + "x2=10**3*m*(V**2)/(b*t)#\n", + "y2=cos(theta)/(3*C*sin(alpha))#\n", + "z2=2000*R*10**-3/(C*t)*((1/alpha)-(cos(theta)/sin(alpha)))#\n", + "sigrr2=x2*(1-y2-z2)#\n", + "print \"axial stress is %0.2f MPa \"%(siga)#\n", + "print \"\\ntensile stress for theta=30deg is %0.1f MPa \"%(sigrr1)#\n", + "print \"\\ntensile stress for theta=0deg is %0.2f MPa \"%(sigrr2)#\n", + "#The difference in the value of sigrr1 and sigrr2 is due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-2 - Page 530" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 63.37 mm \n", + "\n", + "b is 126.74 mm \n", + "\n", + "R is 0.682 m \n" + ] + } + ], + "source": [ + "from math import asin, cos, sqrt,pi\n", + "N=350#\n", + "theta1=asin(sqrt((3-0.6)/4))#\n", + "theta1=theta1*180/pi#\n", + "theta2=(180)-theta1#\n", + "#Ti=16000+6000*sind(3*theta)#\n", + "#To=16000+3600*sind(theta)#\n", + "a=-3600*(cos(pi/180*theta2)-cos(pi/180*theta1))#\n", + "b=2000*(cos(pi/180*3*theta2)-cos(pi/180*3*theta1))#\n", + "c=a+b#\n", + "delU=c#\n", + "Ks=0.05#\n", + "w=2*pi*N/60#\n", + "I=delU/(Ks*w**2)#\n", + "V=25#\n", + "Ir=I*0.95#\n", + "R=V/w#\n", + "Mr=Ir/R**2#\n", + "rho=7150#\n", + "t=sqrt(Mr*(10**6)/(2*pi*R*2*rho))#\n", + "b=2*t#\n", + "print \"t is %0.2f mm \"%(t)#\n", + "print \"\\nb is %0.2f mm \"%(b)#\n", + "print \"\\nR is %0.3f m \"%(R)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-3 - Page 531" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 28.16 mm \n", + "\n", + "b is 42.24 mm \n", + "\n", + "R is 0.2816 m \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "N=300#\n", + "Ks=0.03#\n", + "rho=7150#\n", + "Kr=0.9#\n", + "w=2*pi*N/60#\n", + "WD=(300*2*pi)+(4*pi*200/4)#\n", + "Tm=400#\n", + "delU=pi*200/16#\n", + "Ir=Kr*delU/(w**2*Ks)#\n", + "R=Ir/(rho*1.5*0.1*0.1*2*pi)#\n", + "R=R**(1/5)#\n", + "t=0.1*R*1000#\n", + "b=1.5*t#\n", + "print \"t is %0.2f mm \"%(t)#\n", + "print \"\\nb is %0.2f mm \"%(b)#\n", + "print \"\\nR is %0.4f m \"%(R)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-4 - Page 532" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 26.9 mm \n", + "\n", + "b is 53.8 mm \n", + "\n", + "R is 0.5 m \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "d=20#\n", + "t=12#\n", + "Tus=450#\n", + "Pmax=pi*d*t*Tus#\n", + "WD=Pmax*t/2*10**-3#\n", + "n=0.95#\n", + "Wi=WD/n#\n", + "delU=5*Wi/6#\n", + "N=300#\n", + "w=2*pi*N/60#\n", + "Ks=0.2#\n", + "I=delU/(Ks*w**2)#\n", + "Ir=I*0.9#\n", + "R=0.5#\n", + "m=Ir/R**2#\n", + "rho=7150#\n", + "t=sqrt(m*10**6/(rho*2*pi*R*2))#\n", + "b=2*t#\n", + "print \"t is %0.1f mm \"%(t)#\n", + "print \"\\nb is %0.1f mm \"%(b)#\n", + "print \"\\nR is %0.1f m \"%(R)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-5 - Page 533" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R is 0.364 m \n", + "\n", + "sigmax is 0.29 MPa \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "U=(500*2*pi)+(3*pi*500/2)#\n", + "Tm=U/(2*pi)#\n", + "delU=2.25*pi*125/2#\n", + "Ks=0.1#\n", + "N=250#\n", + "w=2*pi*N/60#\n", + "I=delU/(Ks*w**2)#\n", + "t=0.03#\n", + "rho=7800#\n", + "R=(I*2/(pi*rho*t))**(1/4)#\n", + "V=R*w#\n", + "v=0.3#\n", + "sigmax=rho*V**2*(3+v)/8*10**-6#\n", + "print \"R is %0.3f m \"%(R)#\n", + "print \"\\nsigmax is %0.2f MPa \"%(sigmax)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-6 - Page 534" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 24.8 mm \n", + "\n", + "b is 37.2 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "N=1.5*8*60#\n", + "l=200#\n", + "t=1.5/2#\n", + "W=350*10**3#\n", + "WD=0.15*l*W*10**-6#\n", + "n=0.9# #since frictional effect is 10%, effciency of system is 90%\n", + "Wi=WD/n#\n", + "L=400#\n", + "delU=(L-(0.15*l))/(L)*10**3*Wi#\n", + "Ks=0.12#\n", + "w=2*pi*N/60#\n", + "I=delU/(Ks*w**2)#\n", + "Ir=I*0.9#\n", + "R=0.7#\n", + "m=Ir/R**2#\n", + "rho=7150#\n", + "t=sqrt(m*10**6/(rho*2*pi*R*1.5))#\n", + "b=1.5*t#\n", + "print \"t is %0.1f mm \"%(t)#\n", + "print \"\\nb is %0.1f mm \"%(b)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 19-7 - Page 535" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 40 mm \n", + "\n", + "b is 80 mm \n", + "\n", + "R is 400 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "N=144#\n", + "#Let n be no. of punches/ min\n", + "n=8#\n", + "#Let t be timr for 1 punch\n", + "t=60/n#\n", + "theta=N/60*2*pi*0.6#\n", + "T=2.1#\n", + "U=T*theta#\n", + "#Let U1 be revolution of crankshaft in t sec\n", + "U1=t*N/60*2*pi#\n", + "delU=(U1-theta)/U1*U*10**3#\n", + "w=2*pi*1440/60#\n", + "Ks=0.1#\n", + "I=delU/(Ks*w**2)#\n", + "Ir=I*0.9#\n", + "rho=7100#\n", + "\n", + "R=Ir/(rho*0.2*0.1*2*pi)#\n", + "R=R**(1/5)#\n", + "t=0.1*R*1000#\n", + "b=0.2*R*10**3#\n", + "t=40#\n", + "b=80#\n", + "R=400#\n", + "# printing data in scilab o/p window\n", + "print \"t is %0.0f mm \"%(t)#\n", + "print \"\\nb is %0.0f mm \"%(b)#\n", + "print \"\\nR is %0.0f mm \"%(R)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch20_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch20_1.ipynb new file mode 100644 index 00000000..c0fb17e3 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch20_1.ipynb @@ -0,0 +1,480 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:20 Flat belt drive" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-1 - Page 565" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T1 is 4167.4 N \n", + "\n", + "T2 is 1667.4 N \n", + "\n", + "t is 9.75 mm \n", + "\n", + "theta is 3.35 rad \n", + "\n", + "sigmax is 3.44 N/mm**2 \n", + "\n", + "sigmin is 0.855 N/mm**2 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, asin, exp, degrees\n", + "b=0.2#\n", + "P=50*10**3#\n", + "v=20#\n", + "m=1.95#\n", + "d=0.3#\n", + "D=0.9#\n", + "C=5.8#\n", + "u=0.4#\n", + "#Let density be rho\n", + "rho=1000#\n", + "E=40#\n", + "#Let T1-T2 = T\n", + "T=P/v#\n", + "#Let the centrifugal tension be Tc\n", + "Tc=m*v**2#\n", + "alpha=degrees(asin((D+d)/(2*C)))#\n", + "theta=180+(2*alpha)#\n", + "theta=theta*pi/180#\n", + "x = exp(u*theta)#\n", + "T2=(((1-x)*Tc)-T)/(1-x)#\n", + "#T1=T+T2#\n", + "T1=T+T2#\n", + "t=m/(b*rho)*10**3#\n", + "#Let maximum stress be sigmax\n", + "b=200#\n", + "d=300#\n", + "sigmax=(T1/(b*t)+((E*t)/d))#\n", + "sigmin=(T2/(b*t))#\n", + "print \"T1 is %0.1f N \"%(T1)#\n", + "print \"\\nT2 is %0.1f N \"%(T2)#\n", + "print \"\\nt is %0.2f mm \"%(t)\n", + "print \"\\ntheta is %0.2f rad \"%(theta)\n", + "print \"\\nsigmax is %0.2f N/mm**2 \"%(sigmax)#\n", + "print \"\\nsigmin is %0.3f N/mm**2 \"%(sigmin)#\n", + "#The answer for T1 is miscalculated in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-2 - Page 566" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b is 79.64 mm \n", + "\n", + "L is 5.10 m \n", + "\n", + "b1 is 79650.98 mm \n", + "\n", + "h1 is 0.6 mm \n", + "\n", + "h2 is 1.0 mm \n" + ] + } + ], + "source": [ + "from math import degrees,asin,pi,exp,sqrt\n", + "P=12*10**3#\n", + "d=0.2#\n", + "D=0.5#\n", + "C=2#\n", + "sigmax=2*10**6#\n", + "t=8*10**-3#\n", + "#Let density be rho\n", + "rho=950#\n", + "u=0.38#\n", + "N=1500#\n", + "#Let angle of contact = thetad\n", + "thetad=180-(2*degrees(asin((D-d)/(2*C))))#\n", + "thetad=thetad*pi/180#\n", + "thetaD=(2*pi)-thetad#\n", + "v=(2*pi*N*d)/(60*2)#\n", + "#Let T1-T2=T\n", + "T=P/v#\n", + "x=exp(u*thetad)#\n", + "b=(T*x)/((1-x)*t*((rho*v**2)-(sigmax)))#\n", + "b=b*10**3#\n", + "#Let breadth of the pulley be b1\n", + "b1=b*10**3+13# #Table 20-3\n", + "L=sqrt((4*C**2)-(C*(D-d)**2))+((D*thetaD)+(d*thetad))/2#\n", + "# Let pulley crown for d=h1, D=h2\n", + "h1=0.6# #Table 20-4\n", + "h2=1#\n", + "print \"b is %0.2f mm \"%(b)\n", + "print \"\\nL is %0.2f m \"%(L)\n", + "print \"\\nb1 is %0.2f mm \"%(b1)#\n", + "print \"\\nh1 is %0.1f mm \"%(h1)#\n", + "print \"\\nh2 is %0.1f mm \"%(h2)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-3 - Page 567" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "v is 15.08 m/s \n", + "\n", + "b is 97.364 mm \n", + "\n", + "L is 6.0733 m \n" + ] + } + ], + "source": [ + "from math import exp, degrees,asin,pi,sqrt\n", + "P=11#\n", + "N=1440#\n", + "n=480#\n", + "C=2.4#\n", + "#Let power transmitte dfrom high speed belt =P1\n", + "P1=0.0118#\n", + "V=5#\n", + "Ks=1.2#\n", + "v=15#\n", + "d=v*10**3*60/(2*pi*N)#\n", + "d=0.2#\n", + "D=N/n*d#\n", + "#Let angle of contact =thetaA\n", + "thetaA=180-(2*degrees(asin((D-d)/(2*C))))#\n", + "thetaA=thetaA*pi/180#\n", + "v=(2*pi*N*d)/(60*2)#\n", + "#Let the arc of contact correction factor be Ka\n", + "Ka=1.05#\n", + "Pd=P*Ka*Ks#\n", + "#Let corrected load rating=Pc\n", + "Pc=P1*v/V#\n", + "b=Pd/(Pc*4)#\n", + "thetaB=(2*pi)-thetaA#\n", + "L=sqrt((4*C**2)-((D-d)**2))+((d*thetaA/2)+(D*thetaB)/2)#\n", + "\n", + "print \"v is %0.2f m/s \"%(v)\n", + "print \"\\nb is %0.3f mm \"%(b)\n", + "print \"\\nL is %0.4f m \"%(L)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-4 - Page 568" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V is 16.6 m/s \n", + "\n", + "b is 80 mm \n", + "\n", + "L is 8.404 m \n" + ] + } + ], + "source": [ + "from math import exp, degrees,asin,pi,sqrt\n", + "N=1440#\n", + "i=2.5#\n", + "C=3600#\n", + "#let load factor be LF\n", + "LF=1.3#\n", + "P=12*10**3#\n", + "n=N/i#\n", + "V=16#\n", + "d=V*10**3*60/(2*pi*N)#\n", + "d=220#\n", + "D=d*i#\n", + "V=2*pi*N*d/(2*60*1000)#\n", + "v=5#\n", + "#Let power transmitte dfrom high speed belt =P1\n", + "P1=0.0118#\n", + "#Let LR be the load rating of belt\n", + "LR=P1/v*V#\n", + "theta=180+(2*degrees(asin((D-d)/(2*C))))#\n", + "theta=theta*pi/180#\n", + "#Let Arc of contact connection factor be CF\n", + "CF=1-(0.03/2)#\n", + "Pd=P*LF*CF#\n", + "b=Pd/(LR*5)#\n", + "b=80#\n", + "L=sqrt((4*C**2)-(D+d)**2)+(theta*(D+d)/2)#\n", + "L=L*10**-3#\n", + "print \"V is %0.1f m/s \"%(V)\n", + "print \"\\nb is %0.0f mm \"%(b)\n", + "print \"\\nL is %0.3f m \"%(L)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-5 - Page 569" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V is 16.59 m/s \n", + "\n", + "Pd is 197.77 KW \n", + "\n", + "P is 149.8 KW \n" + ] + } + ], + "source": [ + "from math import exp, degrees,asin,pi,sqrt\n", + "i=3.6#\n", + "N=1440#\n", + "d=220#\n", + "Ks=1.2#\n", + "Kf=1.1#\n", + "C=5000#\n", + "u=0.8#\n", + "D=i*d#\n", + "#From table 20-7, the following data is available\n", + "t=5#\n", + "b=120#\n", + "Fa=30.64#\n", + "#let weight density be w\n", + "w=0.106*10**5#\n", + "Cp=0.71# #From table 20-6\n", + "Cv=1#\n", + "T1=Fa*b*t*Cp*Cv#\n", + "m=w*b*t/10**6#\n", + "V=2*pi*N*d/(2*60*1000)#\n", + "Tc=m*V**2/9.81#\n", + "theta=180+(2*degrees(asin((D-d)/(2*C))))#\n", + "theta=theta*pi/180#\n", + "x=u*theta#\n", + "T2=Tc+((T1-Tc)/exp(x))#\n", + "Pd=(T1-T2)*V*10**-3#\n", + "P=Pd/(Ks*Kf)#\n", + "print \"V is %0.2f m/s \"%(V)#\n", + "print \"\\nPd is %0.2f KW \"%(Pd)#\n", + "print \"\\nP is %0.1f KW \"%(P)#\n", + "#The value of T2 is calculated incorrectly, therefore there is a difference in the values of Pd and P." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-6 - Page 570" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V is 10.05 m/s \n", + "\n", + "b is 86.537 mm \n", + "\n", + "L is 10.049 m \n" + ] + } + ], + "source": [ + "from math import exp, degrees,asin,pi,sqrt\n", + "i=2.5#\n", + "C=4500#\n", + "N=960#\n", + "P=20*10**3#\n", + "Ks=1.15#\n", + "Kf=1.10#\n", + "t=8#\n", + "#let weight density be w\n", + "w=0.110*10**5#\n", + "m=w*t/10**6#\n", + "Fa=8.75#\n", + "d=200#\n", + "D=i*d#\n", + "u=0.4#\n", + "V=2*pi*N*d/(2*60*1000)#\n", + "Pd=P*Ks*Kf#\n", + "Cp=1#\n", + "Cv=0.6#\n", + "#to find b\n", + "T1=Fa*t*Cp*Cv#\n", + "Tc=m*V**2/9.81#\n", + "theta=180-(2*degrees(asin((D-d)/(2*C))))\n", + "theta=theta*pi/180#\n", + "x=u*theta#\n", + "T2=Tc+((T1-Tc)/exp(x))#\n", + "T=Pd/V#\n", + "b=T/(T1-T2)#\n", + "#b=90#\n", + "L=sqrt((4*C**2)-(D+d)**2)+(theta*(D+d)/2)#\n", + "L=L*10**-3#\n", + "print \"V is %0.2f m/s \"%(V)\n", + "print \"\\nb is %0.3f mm \"%(b)\n", + "print \"\\nL is %0.3f m \"%(L)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 20-7 - Page 571" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tc is 186 N \n", + "\n", + "T1 is 541.46 N \n", + "\n", + "T2 is 292.78 N \n", + "\n", + "Kf is 1.25 \n", + "\n", + "Pd is 4.5 KW \n" + ] + } + ], + "source": [ + "from math import exp, degrees,asin,pi,sqrt\n", + "b=160#\n", + "t=7#\n", + "P=3*10**3#\n", + "Ks=1.2#\n", + "d=160#\n", + "N=1440#\n", + "D=480#\n", + "C=2400#\n", + "w=11200#\n", + "u=0.4#\n", + "Fa=7.2#\n", + "m=w*b*t/10**6#\n", + "V=2*pi*N*d/(2*60*1000)#\n", + "Tc=m*V**2/9.81#\n", + "Cp=0.6# #from table 20-6\n", + "Cv=0.98# #from table 20-7\n", + "Ta=Fa*b*Cp*Cv#\n", + "T=P/V#\n", + "theta=180-(2*degrees(asin((D-d)/(2*C))))\n", + "theta=theta*pi/180#\n", + "x=u*theta#\n", + "#T2=Tc+((T1-Tc)/exp(x))#\n", + "T2=(T+((exp(x)*Tc)-Tc))/(exp(x)-1)#\n", + "T1=T+T2#\n", + "Kf=Ta/T1#\n", + "Pd=P*Ks*Kf#\n", + "Pd=Pd*10**-3#\n", + "print \"Tc is %0.0f N \"%(Tc)#\n", + "print \"\\nT1 is %0.2f N \"%(T1)#\n", + "print \"\\nT2 is %0.2f N \"%(T2)#\n", + "print \"\\nKf is %0.2f \"%(Kf)#\n", + "print \"\\nPd is %0.1f KW \"%(Pd)#\n", + "#The difference in values of T1 and T2 is due to rounding-off of values.\n", + " " + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch21_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch21_1.ipynb new file mode 100644 index 00000000..269495fb --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch21_1.ipynb @@ -0,0 +1,350 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:21 V belt drive" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 21-1 - Page 579" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tc is 140.5 N \n", + "\n", + "T1 is 483 N \n", + "\n", + "T2 is 288.2 N \n", + "\n", + "P2 is 4589 W \n", + "\n", + "n is 3 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, asin, degrees, exp\n", + "P1=12*10**3#\n", + "d=0.3#\n", + "D=0.9#\n", + "C=0.9#\n", + "A=230*10**-6#\n", + "#density is rho\n", + "rho=1100#\n", + "N=1500#\n", + "#Maximum stress is sig\n", + "sig=2.1*10**6#\n", + "#semi groove angle is b\n", + "b=20*pi/180#\n", + "u=0.22#\n", + "m=rho*A#\n", + "v=2*pi*N*d/(60*2)#\n", + "Tc=m*v**2#\n", + "T1=A*sig#\n", + "#wrap angle is thetaA\n", + "ang=(D-d)/(2*C)#\n", + "thetaA=pi/180*(180-(2*degrees(asin(ang))))\n", + "thetaB=((2*pi)-thetaA)#\n", + "x=u*thetaB#\n", + "T2=Tc+((T1-Tc)/exp(x))#\n", + "P2=(T1-T2)*v#\n", + "n=P1/P2#\n", + "n=3# #(rounding off to nearest whole number)\n", + "print \"Tc is %0.1f N \"%(Tc)#\n", + "print \"\\nT1 is %0.0f N \"%(T1)#\n", + "print \"\\nT2 is %0.1f N \"%(T2)#\n", + "print \"\\nP2 is %0.0f W \"%(P2)#\n", + "print \"\\nn is %0.0f \"%(n)#\n", + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 21-2 - Page 579" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tc is 107.15 N \n", + "\n", + "T1 is 3290 N \n", + "\n", + "T2 is 98.93 N \n", + "\n", + "Lp is 3.239 m \n", + "\n", + "v is 74.15 m/s \n", + "\n", + "The designation of the belt is B-3251-45 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, asin, degrees, exp,sin\n", + "D=0.6#\n", + "d=0.3#\n", + "C=0.9#\n", + "m=0.193#\n", + "n=2#\n", + "N=1500#\n", + "u=0.3#\n", + "v=2*pi*N/60*d/2#\n", + "P=150*10**3#\n", + "Tc=m*v**2#\n", + "#let T1-T2=T\n", + "T=P/(n*v)#\n", + "thetaA=pi/180*(180-(2*degrees(asin((D-d)/(2*C)))))#\n", + "thetaB=((2*pi)-thetaA)#\n", + "#Groove angle=b\n", + "b=17.5*pi/180#\n", + "x=u*thetaA/sin(b)#\n", + "y=exp(x)#\n", + "c=(Tc*(1-y))#\n", + "T2=(T+(Tc*(1-y)))/(y-1)#\n", + "#T2=(T-y)/Tc#\n", + "T1=T+Tc#\n", + "Lp=2*sqrt((C**2)-((D-d)/2)**2)+(thetaA*d/2)+(thetaB*D/2)#\n", + "v=sqrt(T/(3*m))#\n", + "print \"Tc is %0.2f N \"%(Tc)#\n", + "print \"\\nT1 is %0.0f N \"%(T1)#\n", + "print \"\\nT2 is %0.2f N \"%(T2)#\n", + "print \"\\nLp is %0.3f m \"%(Lp)#\n", + "print \"\\nv is %0.2f m/s \"%(v)#\n", + "print \"\\nThe designation of the belt is B-3251-45 \"#\n", + "#The difference in values of T1 and T2 is due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 21-3 - Page 580" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tc is 59.97 N \n", + "\n", + "T1 is 520.7 N \n", + "\n", + "T2 is 102.7 N \n", + "\n", + "n is 4.0 \n", + "\n", + "Lp is 3.410 m \n", + "\n", + "The designation of the belt is C-3414-47 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, asin, degrees, exp,tan\n", + "C=1#\n", + "m=0.35#\n", + "d=0.25#\n", + "P=22*10**3#\n", + "#Let the smaller pulley dia be n\n", + "#Let the larger pulley dia be N\n", + "n=1000#\n", + "N=400#\n", + "D=d*n/N#\n", + "v=2*pi*n*d/(60*2)#\n", + "Tc=m*v**2#\n", + "topwidth=22#\n", + "h=14#\n", + "bottomwidth=topwidth-(2*h*tan(20*pi/180))#\n", + "A=(topwidth+bottomwidth)/2*h#\n", + "#let allowable tension be Ta\n", + "Ta=2.2#\n", + "T1=A*Ta#\n", + "u=0.28#\n", + "thetaA=pi/180*(180-(2*degrees(asin((D-d)/(2*C)))))\n", + "thetaB=((2*pi)-thetaA)#\n", + "#Groove angle=b=19\n", + "b=19*pi/180#\n", + "x=u*thetaA/sin(b)#\n", + "T2=Tc+((T1-Tc)/exp(x))#\n", + "n=P/((T1-T2)*v)#\n", + "Lp=2*sqrt((C**2)-((D-d)/2)**2)+(thetaA*d/2)+(thetaB*D/2)#\n", + "print \"Tc is %0.2f N \"%(Tc)#\n", + "print \"\\nT1 is %0.1f N \"%(T1)#\n", + "print \"\\nT2 is %0.1f N \"%(T2)#\n", + "print \"\\nn is %0.1f \"%(n)#\n", + "print \"\\nLp is %0.3f m \"%(Lp)#\n", + "print \"\\nThe designation of the belt is C-3414-47 \"#\n", + " \n", + "# difference in value of Lp is due to rounding-off the values of thetaA and thetaB." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 21-4 - Page 580" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "D is 600.0 mm \n", + "\n", + "C is 1000.0 mm \n", + "\n", + "n is 3.000 \n", + "\n", + "Li is 3252 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=12*10**3#\n", + "Ks=1.1#\n", + "Pd=12*10**3*Ks#\n", + "N=1440#\n", + "B=17#\n", + "t=11#\n", + "d=200#\n", + "i=3#\n", + "D=i*d#\n", + "C=1000#\n", + "# since angle of contact theta is very small\n", + "theta=(D-d)/C#\n", + "theta=theta*180/pi#\n", + "Kc=0.8#\n", + "Lp=(2*C)+(pi/2*(D+d))+(((D-d)**2)/(4*C))#\n", + "Li=Lp-45#\n", + "Ki=1.1#\n", + "#let number of v-belts required = n\n", + "#let the KW rating be KWR\n", + "KWR=5.23#\n", + "n=(P*Ks)/(KWR*Ks*Ki*10**3)#\n", + "n=3#\n", + "print \"D is %0.1f mm \"%(D)#\n", + "print \"\\nC is %0.1f mm \"%(C)#\n", + "print \"\\nn is %0.3f \"%(n)#\n", + "print \"\\nLi is %0.0f mm \"%(Li)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 21-5 - Page 581" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " C is 1.0603 m \n", + "\n", + " Pd is 30 KW \n", + "\n", + " n is 4.01 KW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "from math import pi\n", + "N=800;\n", + "P=20;\n", + "i=2.5;\n", + "Ks=1.5; #(from table for 3-5 hrs/day)\n", + "Pd=P*Ks;\n", + "d=250;\n", + "D=i*d;\n", + "C=1.6*D;\n", + "Lp=(2*C)+(pi*(D+d)/2)+((D-d)**2)/(4*C);\n", + "Li=Lp+74;\n", + "Listd=3454;\n", + "Lp=Listd+74;\n", + "p=[1, -1.0768, 0.0175];\n", + "P = symbols('P')\n", + "expr = P**2*p[0]+P*p[1]+p[2]\n", + "z = solve(expr, P)[1]\n", + "KW=9.4;\n", + "Kc=0.795;\n", + "K1=1;\n", + "n=Pd/(KW*Kc*K1);\n", + "print \" C is %0.4f m \"%(z)\n", + "print \"\\n Pd is %0.0f KW \"%(Pd)\n", + "print \"\\n n is %0.2f KW \"%(n)" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch22_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch22_1.ipynb new file mode 100644 index 00000000..b14d854b --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch22_1.ipynb @@ -0,0 +1,606 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:22 Friction clutches" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-1 - Page 588" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The force is 1759.3 N\n", + "\n", + "The Torque is 44.33 Nm\n", + "\n", + "The Power is 1393 W\n", + "\n", + "The angular acceleration is 6.16 rad/sec**2\n", + "\n", + "The time taken is 5.1 sec\n", + "\n", + "The energy is 3553.06 Nm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "u=0.28 #(coefficient of friction)\n", + "N=300 #(Engine rpm)\n", + "I=7.2 \n", + "Pmax= 0.1# \n", + "R1=70#\n", + "R2=110#\n", + "n=2# #(Both sides of the plate are effective)\n", + "#Using Uniform Wear Theory\n", + "#Axial Force W\n", + "W=n*pi*Pmax*R1*(R2-R1)#\n", + "#Frictional Torque Tf\n", + "Tf=u*W*(R1+R2)/2*(10**-3)#\n", + "w=2*pi*N/60#\n", + "#Power P\n", + "P=Tf*w#\n", + "#Torque = Mass moment of inertia*angular acceleration\n", + "a=Tf/I#\n", + "t=w/a# \n", + "#Angle turned by driving shaft theta1 through which slipping takes place\n", + "theta1=w*t#\n", + "#angle turned by driven shaft theta2\n", + "theta2=a*(t**2)/2#\n", + "E=Tf*(theta1-theta2)#\n", + "print \"\\nThe force is %0.1f N\"%(W)#\n", + "print \"\\nThe Torque is %0.2f Nm\"%(Tf)#\n", + "print \"\\nThe Power is %0.0f W\"%(P)#\n", + "print \"\\nThe angular acceleration is %0.2f rad/sec**2\"%(a)#\n", + "print \"\\nThe time taken is %0.1f sec\"%(t)#\n", + "print \"\\nThe energy is %0.2f Nm\"%(E)#\n", + "\n", + "#The difference in the answer of energy 'E' is due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-2 - Page 589" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The Torque is 254.65 Nm\n", + "\n", + "The width is 50 mm\n", + "\n", + "The force is 6283 N\n", + "\n", + "The Axial force per spring is 800 N\n", + "\n", + "The Spring stiffness is 80 N/mm\n", + "\n", + "The Spring wire diameter is 11 mm\n", + "\n", + "The Mean coil diameter is 66 mm\n", + "\n", + "The Free length is 110 mm\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "#Power P\n", + "P=80*10**3# #(Watt)\n", + "N=3000# #(Engine rpm)\n", + "w=2*pi*3*10**3/60\n", + "Tf=8*10**4/w#\n", + "Rm=100##(mm)\n", + "p=0.2 #N/mm**2\n", + "u=0.22 \n", + "# let width b= (R1-R2). \n", + "#Axial force W=2*pi*Rm*b*p\n", + "#Torque T=u*W*Rm\n", + "b=Tf/(u*2*pi*(Rm**2)*p)#\n", + "b=50# \n", + "R2=Rm+b#\n", + "R1=Rm-b#\n", + "Di=2*R1# #inner diameter\n", + "W=2*pi*Rm*b*p#\n", + "n=8# #n is number of springs\n", + "#Axial force per spring W1\n", + "W1=W/n#\n", + "W1=W1+15#\n", + "#axial deflection del\n", + "Del=10# \n", + "#stiffness k\n", + "k=W1/Del#\n", + "# Spring index C\n", + "C=6#\n", + "#number of coils n1\n", + "n1=6# #Assumption\n", + "d=k*n*n1*(C**3)/(80*10**3)#\n", + "d=11# # Rounding off to nearest standard value\n", + "D=C*d#\n", + "clearance=2#\n", + "FL=((n1+2)*d)+(2*Del)+clearance# # two end coils, therefore (2*del)\n", + "\n", + "print \"\\nThe Torque is %0.2f Nm\"%(Tf)#\n", + "print \"\\nThe width is %0.0f mm\"%(b)#\n", + "print \"\\nThe force is %0.0f N\"%(W)#\n", + "print \"\\nThe Axial force per spring is %0.0f N\"%(W1)#\n", + "print \"\\nThe Spring stiffness is %0.0f N/mm\"%(k)#\n", + "print \"\\nThe Spring wire diameter is %0.0f mm\"%(d)#\n", + "print \"\\nThe Mean coil diameter is %0.0f mm\"%(D)#\n", + "print \"\\nThe Free length is %0.0f mm\"%(FL)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-3 - Page 589" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The Speed factor is 1.3 \n", + "\n", + "The clutch poweris 123 KW\n" + ] + } + ], + "source": [ + "#Power P\n", + "P=40*10**3 #Watt\n", + "n1=100# #rpm\n", + "n2=400# #rpm\n", + "#Speed factor Ks\n", + "Ks=0.9+0.001*n2#\n", + "#Clutch power Pc\n", + "Pc=P*n2/(n1*Ks)*10**-3#\n", + "print \"\\nThe Speed factor is %0.1f \"%(Ks)#\n", + "print \"\\nThe clutch poweris %0.0f KW\"%(Pc)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-4 - Page 590" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f74c4109e50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, xlabel, ylabel, show, grid\n", + "\n", + "# plot Torque vs Ro/Ri\n", + "#x=Ro/Ri\n", + "#According to Uniform Wear theory\n", + "x=[0, 0.2, 0.4, 0.577, 0.6, 0.8, 1.0]#\n", + "n=len(x)#\n", + "Tf = range(0,n)\n", + "for i in range(0,n):\n", + " Tf[i]=(x[i]-(x[i]**3))#\n", + "\n", + "plot (x,Tf)#\n", + "xlabel(' Ro/Ri ')#\n", + "ylabel('Tf')#\n", + "grid()#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-5 - Page 591" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The angular speed is 146.61 rad/sec\n", + "\n", + "The Torque is 102.314 Nm\n", + "\n", + "The uniform pressure is 0.084 N/mm**2\n", + "\n", + "The Force is 1031.1 N\n" + ] + } + ], + "source": [ + "from math import pi\n", + "n1=4#\n", + "n2=3#\n", + "n=(n1+n2-1)#\n", + "R2=80#\n", + "R1=50#\n", + "#According to Uniform Pressure Theory\n", + "#W=p*pi*((R2**2)-(R1**2)) T=n*2*u*W*((R2**3)-(R1**3))/(((R2**2)-(R1**2))*3)\n", + "P=15*10**3#\n", + "N=1400#\n", + "u=0.25#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "W=T*3*((R2**2)-(R1**2))/(n*2*u*((R2**3)-(R1**3)))*10**3#\n", + "p=W/(pi*((R2**2)-(R1**2)))#\n", + "print \"\\nThe angular speed is %0.2f rad/sec\"%(w)#\n", + "print \"\\nThe Torque is %0.3f Nm\"%(T)#\n", + "print \"\\nThe uniform pressure is %0.3f N/mm**2\"%(p)#\n", + "print \"\\nThe Force is %0.1f N\"%(W)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-6 - Page 592" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The angular speed is 104.72 rad/sec\n", + "\n", + "The Torque is 47.746 Nm\n", + "\n", + "The Inner radius is 37.5 mm\n", + "\n", + "The Outer radius is 62.5 mm\n", + "\n", + "The number of contacting surfaces is 4 \n", + "\n", + "The max. pressure is 0.4 N/mm**2\n" + ] + } + ], + "source": [ + "from math import pi\n", + "P=5*10**3#\n", + "N=1000#\n", + "w=2*pi*N/60#\n", + "Rm=50#\n", + "pm=0.3#\n", + "Tf=P/w#\n", + "u=0.1#\n", + "R2=50*2/(0.6+1)#\n", + "R1=0.6*R2#\n", + "#According to uniform Wear theory\n", + "W=pm*Rm*(R2-R1)*2*pi#\n", + "n=Tf*(10**3)/(u*W*Rm)#\n", + "pmax=pm*Rm/R1#\n", + "print \"\\nThe angular speed is %0.2f rad/sec\"%(w)#\n", + "print \"\\nThe Torque is %0.3f Nm\"%(Tf)#\n", + "print \"\\nThe Inner radius is %0.1f mm\"%(R1)#\n", + "print \"\\nThe Outer radius is %0.1f mm\"%(R2)#\n", + "print \"\\nThe number of contacting surfaces is %0.0f \"%(n)#\n", + "print \"\\nThe max. pressure is %0.1f N/mm**2\"%(pmax)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-7 - Page 593" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The angular speed is 78.54 rad/sec\n", + "\n", + "The Torque is 152.8 Nm\n", + "\n", + "The Inner radius is 81.4 mm\n", + "\n", + "The Outer radius is 101.1 mm\n", + "\n", + "The mean radius is 91.23 mm\n", + "\n", + "The axial force is 1208 N\n" + ] + } + ], + "source": [ + "from math import pi\n", + "P=12*10**3#\n", + "N=750 #Speed=N\n", + "w=2*pi*N/60#\n", + "Tf=P/w#\n", + "p1=0.12#\n", + "a=12.5##Semi-cone angle\n", + "u=0.3#\n", + "k=u*0.18246*1.121/0.21644#\n", + "R1=(Tf*(10**3)/k)**(1/3)#\n", + "R2=R1*1.242#\n", + "Rm=1.121*R1#\n", + "W=2*pi*p1*R1*(R2-R1)#\n", + "print \"\\nThe angular speed is %0.2f rad/sec\"%(w)#\n", + "print \"\\nThe Torque is %0.1f Nm\"%(Tf)#\n", + "print \"\\nThe Inner radius is %0.1f mm\"%(R1)#\n", + "print \"\\nThe Outer radius is %0.1f mm\"%(R2)#\n", + "print \"\\nThe mean radius is %0.2f mm\"%(Rm)#\n", + "print \"\\nThe axial force is %0.0f N\"%(W)#\n", + "\n", + "#The difference in the answer is due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-8 - Page 594" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The Torque is 15.648 Nm\n", + "\n", + "The angular acceleration is 39.120 rad/sec**2\n", + "\n", + "The angular speed is 150.8 rad/sec\n", + "\n", + "The time taken is 3.85 sec\n", + "\n", + "The Energy lost in friction is 4548 Nm\n" + ] + } + ], + "source": [ + "from math import sin,pi\n", + "#semi-cone angle is given as 15 degree\n", + "k=sin(15*pi/180)#\n", + "u=0.3#\n", + "W=300#\n", + "Rm=90/2#\n", + "Tf=u*W*Rm/k#\n", + "Tf=Tf*(10**-3)#\n", + "I=0.4#\n", + "a=Tf/I#\n", + "N=1440#\n", + "w=2*pi*N/60#\n", + "t=w/a#\n", + "#During Slipping\n", + "theta1=w*t#\n", + "theta2=theta1/2#\n", + "U=Tf*(theta1-theta2)#\n", + "print \"\\nThe Torque is %0.3f Nm\"%(Tf)#\n", + "print \"\\nThe angular acceleration is %0.3f rad/sec**2\"%(a)#\n", + "print \"\\nThe angular speed is %0.1f rad/sec\"%(w)#\n", + "print \"\\nThe time taken is %0.2f sec\"%(t)#\n", + "print \"\\nThe Energy lost in friction is %0.0f Nm\"%(U)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-9 - Page 595" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The Torque is 95.49 Nm\n", + "\n", + "The shaft diameter is 25 mm\n", + "\n", + "The width is 40 mm\n", + "\n", + "The Inner radius is 119.8 mm\n", + "\n", + "The Outer radius is 130.2 mm\n" + ] + } + ], + "source": [ + "from math import pi, sin\n", + "P=15*10**3#\n", + "Ka=1.25#\n", + "N=1500#\n", + "w=2*pi*N/60#\n", + "Tf=P/w#\n", + "d=(Tf*16/(50*pi))**(1/3)#\n", + "d=25#\n", + "Rm=5*d#\n", + "Pav=0.12#\n", + "u=0.22#\n", + "b=Tf/(pi*u*Pav*(Rm**2))#\n", + "b=40#\n", + "R1=Rm-(b*sin(15*pi/180)/2)#\n", + "R2=Rm+(b*sin(15*pi/180)/2)#\n", + "print \"\\nThe Torque is %0.2f Nm\"%(Tf)#\n", + "print \"\\nThe shaft diameter is %0.0f mm\"%(d)#\n", + "print \"\\nThe width is %0.0f mm\"%(b)#\n", + "print \"\\nThe Inner radius is %0.1f mm\"%(R1)#\n", + "print \"\\nThe Outer radius is %0.1f mm\"%(R2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 22-10 - Page 596" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The full speed is 146.6 rad/sec\n", + "\n", + "The engagement speed is 117.29 rad/sec\n", + "\n", + "The number of shoes is 4 \n", + "\n", + "The Torque is 272.8 Nm\n", + "\n", + "The Torque per shoe is 68.2 Nm\n", + "\n", + "The mass per shoe is 1.93 kg\n", + "\n", + "The length of friction lining is 0.16755 m\n", + "\n", + "The width is 115.7 mm\n" + ] + } + ], + "source": [ + "from math import pi\n", + "w2=2*pi*1400/60#\n", + "w1=0.8*w2#\n", + "P=40*10**3#\n", + "T=P/w2#\n", + "n=4#\n", + "T1=T/4#\n", + "R=0.16##Inner radius of drum\n", + "r=0.13##radial distance of each shoe from axis of rotation\n", + "u=0.22##coefficient of friction\n", + "x=u*r*R*((w2**2)-(w1**2))\n", + "m =T1/x#\n", + "l=R*pi/3#\n", + "N=T1/(R*u)#\n", + "p=1*10**5#\n", + "b=N/(p*l)*10**3#\n", + "print \"\\nThe full speed is %0.1f rad/sec\"%(w2)#\n", + "print \"\\nThe engagement speed is %0.2f rad/sec\"%(w1)#\n", + "print \"\\nThe number of shoes is %0.0f \"%(n)#\n", + "print \"\\nThe Torque is %0.1f Nm\"%(T)#\n", + "print \"\\nThe Torque per shoe is %0.1f Nm\"%(T1)#\n", + "print \"\\nThe mass per shoe is %0.2f kg\"%(m)#\n", + "print \"\\nThe length of friction lining is %0.5f m\"%(l)#\n", + "print \"\\nThe width is %0.1f mm\"%(b)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch23_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch23_1.ipynb new file mode 100644 index 00000000..2edefb8f --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch23_1.ipynb @@ -0,0 +1,442 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:23 Brakes" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-1 - Page 618" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T is 10254.8 Nm \n", + "\n", + "P is 20.5097 kW \n", + "\n", + "b is 0.18 m \n", + "\n", + "L is 0.271 m \n", + "\n", + "theta2 is 54 deg \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import asin, pi\n", + "W=20e3#\n", + "m=W/9.81#\n", + "#diameter of brake drum\n", + "Db=0.6#\n", + "p=1#\n", + "Vi=1#\n", + "Vf=0#\n", + "D=1#\n", + "R=0.5#\n", + "wi=Vi/R#\n", + "wf=0#\n", + "w=1#\n", + "Vav=0.5#\n", + "S=2#\n", + "t=S/Vav#\n", + "#angle turned by by hoist drum=theta\n", + "theta=0.5*wi*t#\n", + "K_E=0.5*m*Vi**2#\n", + "P_E=2*W#\n", + "T_E=K_E+P_E#\n", + "T=T_E/theta#\n", + "P=wi*T*10**-3#\n", + "Rb=Db/2#\n", + "Ft=0.5*T*p/Rb#\n", + "u=0.35#\n", + "N=Ft/u#\n", + "#contact area of brake lining=A\n", + "A=N/p#\n", + "b=0.3*Db#\n", + "L=A*10**-6/(b)#\n", + "#angle subtended at brake drum centre=theta2\n", + "theta2=2*(asin(L/Db))#\n", + "theta2=theta2*180/pi# # converting radian to degree\n", + "print \"T is %0.1f Nm \"%(T)#\n", + "print \"\\nP is %0.4f kW \"%(P)#\n", + "print \"\\nb is %0.2f m \"%(b)#\n", + "print \"\\nL is %0.3f m \"%(L)#\n", + "print \"\\ntheta2 is %0.0f deg \"%(theta2)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-2 - Page 618" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "F1 is 9600 N \n", + "\n", + "F2 is 4046.4 N \n", + "\n", + "T is 1110.72 Nm \n", + "\n", + "OA is 42.15 mm \n" + ] + } + ], + "source": [ + "from math import exp,pi\n", + "b=80#\n", + "t=2#\n", + "theta=225*pi/180#\n", + "u=0.22#\n", + "#F1/F2=e**(u*theta)\n", + "#let F1/F2=x#\n", + "x=exp(u*theta)#\n", + "#maximum tensile stress in steel tape is siga\n", + "siga=60#\n", + "A=b*t#\n", + "F1=siga*A#\n", + "F2=F1/x#\n", + "r=0.2#\n", + "T=(F1-F2)*r#\n", + "OA=30#\n", + "OB=100#\n", + "OC=350#\n", + "P=((F2*OB)+(F1*OA))/OC#\n", + "OA=F2*OB/F1#\n", + "print \"F1 is %0.0f N \"%(F1)#\n", + "print \"\\nF2 is %0.1f N \"%(F2)#\n", + "print \"\\nT is %0.2f Nm \"%(T)#\n", + "print \"\\nOA is %0.2f mm \"%(OA)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-3 - Page 619" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T is 957.75 Nmm \n", + "\n", + "R is 187.222 mm \n", + "\n", + "Rx is 8.526 kN \n", + "\n", + "Ry is 2.56 kN \n" + ] + } + ], + "source": [ + "from math import sin,pi\n", + "theta=pi/3#\n", + "r=160#\n", + "u=0.3#\n", + "pmax=0.9#\n", + "b=40#\n", + "R=(4*r*sin(theta))/((2*theta)+sin(2*theta))#\n", + "#frictional torque is T\n", + "T=2*u*pmax*b*(r**2)*sin(theta)#\n", + "T=2*T*10**-3#\n", + "Rx=0.5*pmax*b*r*((2*theta)+(sin(2*theta)))*10**-3#\n", + "Ry=u*Rx#\n", + "print \"T is %0.2f Nmm \"%(T)#\n", + "print \"\\nR is %0.3f mm \"%(R)#\n", + "print \"\\nRx is %0.3f kN \"%(Rx)#\n", + "print \"\\nRy is %0.2f kN \"%(Ry)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-4 - Page 620" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tr is 576 Nm \n", + "\n", + "Mf is 695.51 Nm \n", + "\n", + "Mp is 1342.49 Nm \n", + "\n", + "Tl is 182.9 Nm \n", + "\n", + "Mfl is 220.79 Nm \n", + "\n", + "Mpl is 426.18 Nm \n", + "\n", + "F is 2812.9 N \n", + "\n", + "T is 758.9 Nm \n" + ] + } + ], + "source": [ + "from math import sin, cos, pi, sqrt\n", + "d=320#\n", + "r=d/2#\n", + "b=50#\n", + "u=0.3#\n", + "pmax=1#\n", + "c=115*2#\n", + "# From to fig. 23-9, distance OA=R is calculated.\n", + "R=sqrt(115**2+66.4**2)#\n", + "C=115*2#\n", + "theta1=0#\n", + "theta2=120*pi/180#\n", + "theta0=120*pi/180#\n", + "thetamax=pi/2#\n", + "Tr=u*pmax*b*r**2*(cos(theta1)-cos(theta2))/sin(thetamax)*10**-3#\n", + "#the notation 'r' is used for moments of right hand shoe, similarly 'l' for the left shoe.\n", + "Mfr=u*pmax*b*r*(4*r*(cos(theta1)-cos(theta2))+(R*(cos(2*theta1)-cos(2*theta2))))/(4*sin(thetamax))*10**-3#\n", + "Mpr=pmax*b*r*R*((2*theta0)-(sin(2*theta2)-(sin(theta1))))/(4*sin(thetamax))*10**-3#\n", + "F=(Mpr-Mfr)/c*10**3#\n", + "#Mpl+Mfl=F*c#\n", + "x=F*c*10**-3#\n", + "y=(Mpr/pmax)+(Mfr/pmax)#\n", + "pmax2=x/y#\n", + "Tl=pmax2*Tr#\n", + "Mpl=pmax2*Mpr#\n", + "Mfl=pmax2*Mfr#\n", + "T=Tl+Tr#\n", + "print \"Tr is %0.0f Nm \"%(Tr)#\n", + "print \"\\nMf is %0.2f Nm \"%(Mfr)#\n", + "print \"\\nMp is %0.2f Nm \"%(Mpr)#\n", + "print \"\\nTl is %0.1f Nm \"%(Tl)# \n", + "print \"\\nMfl is %0.2f Nm \"%(Mfl)#\n", + "print \"\\nMpl is %0.2f Nm \"%(Mpl)#\n", + "print \"\\nF is %0.1f N \"%(F)#\n", + "print \"\\nT is %0.1f Nm \"%(T)#\n", + " \n", + "#The difference in the answers are due to rounding-off of values.\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-5 - Page 621" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "S is 36.11 m \n", + "\n", + "E is 49307.97 Nm \n", + "\n", + "T is 300.40 Nm \n", + "\n", + "delT is 8.93 \n" + ] + } + ], + "source": [ + "m=1100#\n", + "V=65*5/18#\n", + "t=4#\n", + "r=0.22#\n", + "mb=12#\n", + "C=460#\n", + "S=0.5*V*t#\n", + "#Total kinetic energy TE=K.E(vehicle)+K.E(rotating parts).\n", + "TE=((0.5*m*(V**2))+(0.1*0.5*m*(V**2)))#\n", + "E=TE/4#\n", + "w=V/r#\n", + "theta=S/r#\n", + "T=E/theta#\n", + "delT=E/(mb*C)#\n", + "print \"S is %0.2f m \"%(S)#\n", + "print \"\\nE is %0.2f Nm \"%(E)#\n", + "print \"\\nT is %0.2f Nm \"%(T)#\n", + "print \"\\ndelT is %0.2f \"%(delT)#\n", + " \n", + "#The difference in the answers are due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-6 - Page 621" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "N is 437.5 N \n", + "\n", + "b is 25 mm \n", + "\n", + "P is 173.4 N \n", + "\n", + "R is 316.81 N \n", + "\n", + "Q is 366.52 J/s \n" + ] + } + ], + "source": [ + "from math import sqrt,asin,pi\n", + "T=35000#\n", + "u=0.4#\n", + "p=0.7#\n", + "r=200#\n", + "N=T/(u*r)\n", + "b=sqrt(N/p)#\n", + "l=b#\n", + "#2theta = theta2\n", + "theta2=2*asin(l/(2*r))#\n", + "F=u*N#\n", + "P=((250*N)-(u*N*80))/550#\n", + "Ry=N-P#\n", + "Rx=u*N#\n", + "R=sqrt(Rx**2+Ry**2)#\n", + "w=2*pi*100/60#\n", + "# Rate of heat generated is Q\n", + "Q=u*N*w*r/1000#\n", + "print \"N is %0.1f N \"%(N)#\n", + "print \"\\nb is %0.0f mm \"%(b)#\n", + "print \"\\nP is %0.1f N \"%(P)#\n", + "print \"\\nR is %0.2f N \"%(R)#\n", + "print \"\\nQ is %0.2f J/s \"%(Q)#\n", + "\n", + "#The answer to Rate of heat generated 'Q' is calculated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 23-7 - Page 622" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "KE is 1234.6 Nm \n", + "\n", + "N is 123.46 N \n", + "\n", + "t is 6.4 mm \n", + "\n", + "b is 19.2 mm \n" + ] + } + ], + "source": [ + "from math import pi,sqrt\n", + "Vi=20*5/18#\n", + "Vf=0#\n", + "m=80#\n", + "pmax=1#\n", + "u=0.1#\n", + "S=50#\n", + "KE=0.5*m*Vi**2#\n", + "N=KE/(u*S*2)#\n", + "t=sqrt(N/(pmax*3))#\n", + "b=3*t#\n", + "print \"KE is %0.1f Nm \"%(KE)#\n", + "print \"\\nN is %0.2f N \"%(N)#\n", + "print \"\\nt is %0.1f mm \"%(t)#\n", + "print \"\\nb is %0.1f mm \"%(b)#\n", + "\n", + "#The difference in the answers are due to rounding-off of values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch24_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch24_1.ipynb new file mode 100644 index 00000000..f165e145 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch24_1.ipynb @@ -0,0 +1,195 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:24 Rope drive" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 24-1 - Page 635" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n is 13 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, exp, sin, asin\n", + "P=150000#\n", + "m=0.4#\n", + "D=1.8#\n", + "d=0.6#\n", + "C=4.2#\n", + "V=15#\n", + "Fc=m*V**2#\n", + "BL=44.81*10**3#\n", + "FOS=35#\n", + "F1=BL/FOS#\n", + "theta=pi-(2*asin((D-d)/(2*C)))#\n", + "beta=22.5*pi/180#\n", + "u=0.13#\n", + "x=u*theta/sin(beta)#\n", + "F2=(F1-Fc)/exp(x)#\n", + "n=P/((F1-F2)*V)#\n", + "n=13#\n", + "print \"n is %0.0f \"%(n)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 24-2 - Page 635" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " annual FOS is 5.02 \n", + "\n", + " FOS neglecting bending load is 13.9 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "W=1000#\n", + "m=0.498#\n", + "BL=78#\n", + "d=12#\n", + "Am=0.39*d**2#\n", + "dw=sqrt(Am*4/(6*19*pi))#\n", + "Ew=74.4*10**3#\n", + "Ds=56*d#\n", + "sigb=Ew*dw/Ds#\n", + "Wb=sigb*pi*(d**2)/4*10**-3#\n", + "l=20#\n", + "Ws=m*l#\n", + "a=1.2#\n", + "Wa=a*(W/2+Ws)*10**-3#\n", + "#Let the static load be Ps\n", + "Ps=(W/2+Ws)*9.81*10**-3#\n", + "#let the effective load be Peff\n", + "Peff=Ps+Wb+Wa#\n", + "FOS1=BL/Peff#\n", + "FOS2=BL/(5+0.612)#\n", + "print \" annual FOS is %0.2f \"%(FOS1)#\n", + "print \"\\n FOS neglecting bending load is %0.1f \"%(FOS2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 24-3 - Page 636" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W is 28.224 kN \n" + ] + } + ], + "source": [ + "d=12#\n", + "sigut=1960#\n", + "Pb=0.0025*sigut#\n", + "Ds=480#\n", + "F=Pb*d*Ds/2#\n", + "W=F*2*10**-3#\n", + "print \"W is %0.3f kN \"%(W)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 24-4 - Page 637" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 12 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "sigut=1770#\n", + "Pb=0.0018*sigut#\n", + "W=4000#\n", + "a=2.5/2#\n", + "Ws=90*0.5#\n", + "Wa=(W+Ws)*a/9.81#\n", + "Weff=W+Wa#\n", + "d=sqrt(Weff*2/(23*Pb))#\n", + "d=12#\n", + "print \"d is %0.0f mm \"%(d)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch25_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch25_1.ipynb new file mode 100644 index 00000000..f713233b --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch25_1.ipynb @@ -0,0 +1,387 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:25 Gears" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-1 - Page 669" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dp is 125 mm \n", + "\n", + "dg is 300 mm \n", + "\n", + "CD is 212.5 mm \n", + "\n", + "ha is 5 mm \n", + "\n", + "hf is 6.25 mm \n", + "\n", + "c is 1.25 mm \n", + "\n", + "r is 2 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "Zp=25#\n", + "Zg=60#\n", + "m=5#\n", + "dp=m*Zp#\n", + "dg=m*Zg#\n", + "CD=(dp+dg)/2#\n", + "ha=m#\n", + "hf=1.25*m#\n", + "c=hf-ha#\n", + "r=0.4*m#\n", + "print \"dp is %0.0f mm \"%(dp)#\n", + "print \"\\ndg is %0.0f mm \"%(dg)#\n", + "print \"\\nCD is %0.1f mm \"%(CD)#\n", + "print \"\\nha is %0.0f mm \"%(ha)#\n", + "print \"\\nhf is %0.2f mm \"%(hf)#\n", + "print \"\\nc is %0.2f mm \"%(c)#\n", + "print \"\\nr is %0.0f mm \"%(r)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-2 - Page 669" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dp is 77 mm \n", + "\n", + "dg is 309 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "from sympy import symbols, solve\n", + "N=800#\n", + "P=6000#\n", + "n=200#\n", + "Cs=1.4#\n", + "sigb=150#\n", + "FOS=2#\n", + "Zp=18#\n", + "Zg=Zp*N/n#\n", + "Y=pi*(0.154-(0.912/Zp))#\n", + "p=[1 ,0 ,-9.5846, -38.135]#\n", + "P = symbols('P')\n", + "expr = P**3*p[0]+P**2*p[1]+P*p[2]+p[3]\n", + "m=solve(expr, P)[0]#\n", + "dp=m*Zp#\n", + "dg=m*Zg#\n", + "# printing data in scilab o/p window\n", + "print \"dp is %0.0f mm \"%(dp)#\n", + "print \"\\ndg is %0.0f mm \"%(dg)#\n", + "# Answer is given wrong in the textbook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-3 - Page 670" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sb is 16110 N \n", + "\n", + "Sw is 25200 N \n", + "\n", + "P is 11.657 kW \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "Zp=30#\n", + "N=1000#\n", + "Zg=75#\n", + "m=5#\n", + "b=60#\n", + "sigut=450#\n", + "BHN=350#\n", + "Cs=1.5#\n", + "FOS=2#\n", + "dp=m*Zp#\n", + "dg=m*Zg#\n", + "v=2*pi*N*dp/(60*1000*2)#\n", + "Cv=3/(3+v)#\n", + "sigb=450/3#\n", + "Y=0.358#\n", + "Sb=m*b*sigb*Y#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "K=0.16*(BHN/100)**2#\n", + "Sw=b*dp*Q*K#\n", + "Pt=Sb*Cv/(Cs*FOS)#\n", + "P=Pt*v#\n", + "P=P*10**-3#\n", + "print \"Sb is %0.0f N \"%(Sb)#\n", + "print \"\\nSw is %0.0f N \"%(Sw)#\n", + "print \"\\nP is %0.3f kW \"%(P)#\n", + "\n", + "#The difference in the value of Sw is due to rounding-off of the value of Q." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-4 - Page 670" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BHN is 333 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "n=240#\n", + "P=8000#\n", + "N=1200#\n", + "CD=300#\n", + "Cs=1.5#\n", + "alpha=20*pi/180#\n", + "G=N/n#\n", + "dp=CD*2/6#\n", + "dg=5*dp#\n", + "v=2*pi*N*dp/(60*1000*2)#\n", + "Cv=3/(3+v)#\n", + "Pt=P/v#\n", + "Peff=Pt*Cs/Cv#\n", + "m=4#\n", + "b=10*m#\n", + "FOS=2#\n", + "Sb=Peff*FOS#\n", + "sigut=600#\n", + "sigb=sigut/3#\n", + "Zp=dp/m#\n", + "Zg=dg/m#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "K=Sb/(b*dp*Q)#\n", + "BHN=sqrt(K/0.16)*100#\n", + "BHN=333#\n", + "print \"BHN is %0.0f \"%(BHN)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-5 - Page 671" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ps is 2166.67 N \n", + "\n", + "Pd is 1358.6 N \n", + "\n", + "BHN is 282 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "alpha=20*pi/180#\n", + "N=800#\n", + "P=6000#\n", + "sigut=450#\n", + "i=5#\n", + "Cs=1.3#\n", + "v=3.6#\n", + "FOS=2#\n", + "Pt=P/v#\n", + "Cv=3/(3+v)#\n", + "sigb=sigut/3#\n", + "dp=3.6*1000*2*60/(2*pi*N)#\n", + "dp=86#\n", + "Sb=Pt*Cs/Cv*FOS#\n", + "#Let x be m**2*Y\n", + "x=Sb/(10*sigb)#\n", + "m=5#\n", + "Zp=18#\n", + "dp=m*Zp#\n", + "Zg=i*Zp#\n", + "dg=m*Zg#\n", + "b=10*m#\n", + "phip=m+(0.25*sqrt(dp))#\n", + "ep=32+(2.5*phip)#\n", + "phig=m+(0.25*sqrt(dg))#\n", + "eg=32+(2.5*phig)#\n", + "e=ep+eg#\n", + "e=e*10**-3#\n", + "Ps=Cs*Pt#\n", + "r1=dp/2#\n", + "r2=dg/2#\n", + "Pd=e*N*Zp*b*r1*r2/(2530*sqrt(r1**2+r2**2))#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "K=Sb/(b*dp*Q)#\n", + "BHN=sqrt(K/0.16)*100#\n", + "print \"Ps is %0.2f N \"%(Ps)#\n", + "print \"\\nPd is %0.1f N \"%(Pd)#\n", + "print \"\\nBHN is %0.0f \"%(BHN)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 25-4 - Page 672" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m is 6 mm \n", + "\n", + "Pd is 434.590 N \n", + "\n", + "Sw is 13244 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=9000#\n", + "N=900#\n", + "n=150#\n", + "sigut=750#\n", + "BHN=300#\n", + "Cs=1.5#\n", + "FOS=2#\n", + "i=N/n#\n", + "x=sqrt(i)#\n", + "Zp=18#\n", + "Zg=x*Zp#\n", + "Zg=44#\n", + "#Let actual speed reduction be xa\n", + "xa=Zg/Zp#\n", + "n1=N/xa**2#\n", + "T1=P*60/(2*pi*N)#\n", + "i2=N/xa#\n", + "T2=N/i2*T1#\n", + "m=6#\n", + "dp=Zp*m#\n", + "dg=m*Zg#\n", + "phip=m+(0.25*sqrt(dp))#\n", + "ep=16+(1.25*phip)#\n", + "phig=m+(0.25*sqrt(dg))#\n", + "eg=16+(1.25*phig)#\n", + "e=ep+eg#\n", + "e=e*10**-3#\n", + "Pt=26000#\n", + "Ps=Cs*Pt#\n", + "r1=dp/2#\n", + "r2=dg/2#\n", + "b=10*m#\n", + "Pd=e*i2*Zp*b*r1*r2/(2530*sqrt(r1**2+r2**2))#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "sigb=sigut/3#\n", + "Y=0.308#\n", + "\n", + "Sb=b*m*sigb*Y#\n", + "K=0.16*(BHN/100)**2#\n", + "Sw=b*dp*K*Q#\n", + "print \"m is %0.0f mm \"%(m)#\n", + "print \"\\nPd is %0.3f N \"%(Pd)#\n", + "print \"\\nSw is %0.0f N \"%(Sw) \n", + "#The difference in the values is due to rounding-off of the values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch26_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch26_1.ipynb new file mode 100644 index 00000000..c9bde487 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch26_1.ipynb @@ -0,0 +1,273 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:26 Helical gears" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 26-1 - Page 698" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m is 4.14 mm \n", + "\n", + "alpha is 20.647 deg \n", + "\n", + "Pa is 90.8 mm \n", + "\n", + "Pd is 72.8 mm \n", + "\n", + "Ga is 215 mm \n", + "\n", + "Gd is 197 mm \n", + "\n", + "b is 48.55 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, sin, cos, tan, atan\n", + "Zp=20#\n", + "Zg=50#\n", + "alphan=20*pi/180#\n", + "phi=15*pi/180#\n", + "mn=4#\n", + "m=mn/cos(phi)#\n", + "alpha=180/pi*atan(tan(alphan)/(cos(phi)))#\n", + "dp=Zp*m#\n", + "dg=Zg*m#\n", + "ha=4#\n", + "hd=1.25*mn#\n", + "#Let addendum circle dia of pinion be Pa\n", + "Pa=dp+(2*mn)#\n", + "#Let dedendum circle dia of pinion be Pd\n", + "Pd=dp-(2.5*mn)#\n", + "#Let addendum circle dia of gear be Ga\n", + "Ga=dg+(2*mn)#\n", + "#Let dedendum circle dia of gear be Gd\n", + "Gd=dg-(2.5*mn)#\n", + "b=pi*mn/sin(phi)#\n", + "print \"m is %0.2f mm \"%(m)#\n", + "print \"\\nalpha is %0.3f deg \"%(alpha)#\n", + "print \"\\nPa is %0.1f mm \"%(Pa)#\n", + "print \"\\nPd is %0.1f mm \"%(Pd)#\n", + "print \"\\nGa is %0.0f mm \"%(Ga)#\n", + "print \"\\nGd is %0.0f mm \"%(Gd)#\n", + "print \"\\nb is %0.2f mm \"%(b)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 26-2 - Page 698" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pt is 747.78 N \n", + "\n", + "Pa is 272.2 N \n", + "\n", + "Pr is 289.64 N \n" + ] + } + ], + "source": [ + "from math import pi, sin, cos, tan\n", + "P=5000#\n", + "Zp=25#\n", + "Zg=50#\n", + "mn=4#\n", + "alphan=20*pi/180#\n", + "phi=20*pi/180#\n", + "N=1200#\n", + "m=mn/cos(phi)#\n", + "dp=Zp*m#\n", + "dg=Zg*m#\n", + "v=2*pi*N*dp/(60*2*1000)#\n", + "Pt=P/v#\n", + "Pa=Pt*tan(phi)#\n", + "Pr=Pt*tan(alphan)/cos(phi)#\n", + "print \"Pt is %0.2f N \"%(Pt)#\n", + "print \"\\nPa is %0.1f N \"%(Pa)#\n", + "print \"\\nPr is %0.2f N \"%(Pr)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 26-3 - Page 699" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 22.936 kW \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, sin, cos, tan\n", + "Zp=24#\n", + "Zg=72#\n", + "alphan=20*pi/180#\n", + "phi=24*pi/180#\n", + "N=720#\n", + "mn=5#\n", + "b=50#\n", + "sigut=600#\n", + "BHN=360#\n", + "Cs=1.4#\n", + "FOS=2#\n", + "sigb=sigut/3#\n", + "dp=mn*Zp/cos(phi)#\n", + "Zp=Zp/(cos(phi))**3#\n", + "Zg=Zg/(cos(phi))**3#\n", + "Y=0.358+((0.364-0.358)*1.48/2)#\n", + "Sb=b*mn*sigb*Y#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "K=0.16*(BHN/100)**2#\n", + "Sw=b*dp*Q*K/(cos(phi)**2)#\n", + "v=2*pi*N*dp/(60*2*1000)#\n", + "Cv=5.6/(5.6+sqrt(v))#\n", + "Peff=Sb/FOS#\n", + "Pt=Peff*Cv/Cs#\n", + "P=Pt*v#\n", + "P=P*10**-3#\n", + "print \"P is %0.3f kW \"%(P)#\n", + "#The difference in the value is due to rounding-off of the values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 26-4 - Page 700" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mn is 2.5 mm \n", + "\n", + "TC is 1965 N \n", + "\n", + "Sb is 5790.8 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, sin, cos, tan, atan\n", + "Zp=25#\n", + "Zg=100#\n", + "P=5000#\n", + "N=2000#\n", + "alphan=20*pi/180#\n", + "phi=15*pi/180#\n", + "sigut=660#\n", + "Cs=1.5#\n", + "FOS=1.8#\n", + "v=10#\n", + "Zp1=Zp/(cos(phi))**3#\n", + "Zg1=Zg/(cos(phi))**3#\n", + "Y=0.348+(0.74*0.004)#\n", + "sigb=sigut/3#\n", + "Cv=5.6/(5.6+sqrt(v))#\n", + "#Sb=FOS*Peff\n", + "mn=FOS*P*Cs*60*1000*2*cos(phi)/(2*pi*N*Cv*Zp*12*sigb*Y)#\n", + "mn=mn**(1/3)#\n", + "mn=2.5#\n", + "dp=mn*Zp/cos(phi)#\n", + "Q=(2*Zg)/(Zp+Zg)#\n", + "b=12*mn#\n", + "Sb=12*sigb*Y#\n", + "K=Sb*(cos(phi)**2)/(dp*Q*b)#\n", + "BHN=sqrt(K/0.16)*100#\n", + "dg=mn*Zg/cos(phi)#\n", + "phip=mn+(0.25*sqrt(dp))#\n", + "ep=16+(1.25*phip)#\n", + "phig=mn+(0.25*sqrt(dg))#\n", + "eg=16+(1.25*phig)#\n", + "e=ep+eg#\n", + "e=e*10**-3#\n", + "r1=dp/2#\n", + "r2=dg/2#\n", + "Pd=e*N*Zp1*b*r1*r2/(2530*sqrt(r1**2+r2**2))#\n", + "v=2*pi*N*dp/(60*2*1000)#\n", + "#Let tangential component be TC\n", + "TC=(Cs*1845/mn)+(Pd*cos(alphan)*cos(phi))#\n", + "\n", + "Sb=b*mn*sigb*Y#\n", + "print \"mn is %0.1f mm \"%(mn)#\n", + "print \"\\nTC is %0.0f N \"%(TC)#\n", + "print \"\\nSb is %0.1f N \"%(Sb)#\n", + "#The difference in the value of Sb is due to rounding-off of t" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch27_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch27_1.ipynb new file mode 100644 index 00000000..adcb8623 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch27_1.ipynb @@ -0,0 +1,468 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:27 Straight bevel gears" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-1 - Page 712" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pt is 1061 N \n", + "\n", + "Ps is 386.18 N \n", + "\n", + "Pr is 345.41 N \n", + "\n", + "Pa is 172.71 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "from __future__ import division\n", + "P=8000#\n", + "N1=400#\n", + "N2=200#\n", + "i=N1/N2# #i=Zg/Zp=dg/dp\n", + "gamma1=atan(1/i)#\n", + "gamma2=90-gamma1#\n", + "rp=200#\n", + "R=rp/sin(gamma1)#\n", + "b=0.2*R#\n", + "rm1=rp-(b*sin(gamma1)/2)#\n", + "Pt=P*1000*60/(2*pi*N1*rm1)#\n", + "alpha=20*pi/180#\n", + "Ps=Pt*tan(alpha)#\n", + "Pr=Ps*cos(gamma1)#\n", + "Pa=Ps*sin(gamma1)#\n", + "print \"Pt is %0.0f N \"%(Pt)#\n", + "print \"\\nPs is %0.2f N \"%(Ps)#\n", + "print \"\\nPr is %0.2f N \"%(Pr)#\n", + "print \"\\nPa is %0.2f N \"%(Pa)#\n", + "\n", + "#The difference in the values is due to rounding-off of the values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-2 - Page 712" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Zpv is 22.88 \n", + "\n", + "Sb is 6653 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "alpha=20*pi/180#\n", + "Zp=20#\n", + "Zg=36#\n", + "m=4#\n", + "sigut=600#\n", + "b=25#\n", + "dp=m*Zp#\n", + "rp=dp/2#\n", + "dg=m*Zg#\n", + "rg=dg/2#\n", + "gamma1=atan(rp/rg)#\n", + "Zpv=Zp/cos(gamma1)#\n", + "Y=0.33+0.003*0.88#\n", + "sigb=sigut/3#\n", + "Sb=m*b*sigb*Y#\n", + "print \"Zpv is %0.2f \"%(Zpv)#\n", + "print \"\\nSb is %0.0f N \"%(Sb)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-3 - Page 712" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gamma1 is 33.7 deg \n", + "\n", + "gamma2 is 56.3 deg \n", + "\n", + "R is 162.25 mm \n", + "\n", + "FCA is 35.808 deg \n", + "\n", + "RCA is 31.04 deg \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos,asin\n", + "m=6#\n", + "Zp=30#\n", + "Zg=45#\n", + "dp=m*Zp#\n", + "rp=dp/2#\n", + "dg=m*Zg#\n", + "rg=dg/2#\n", + "R=sqrt(rg**2+rp**2)#\n", + "gamma1=180/pi*asin(rp/R)#\n", + "gamma2=(90-gamma1)#\n", + "ha=6#\n", + "hf=1.25*ha#\n", + "phi=180/pi*atan(ha/R)#\n", + "beta=180/pi*atan(hf/R)#\n", + "#let Face Cone Angle be FCA\n", + "FCA=(gamma1+phi)#\n", + "#Let Root cone angle be RCA\n", + "RCA=(gamma1-beta)#\n", + "print \"gamma1 is %0.1f deg \"%(gamma1)#\n", + "print \"\\ngamma2 is %0.1f deg \"%(gamma2)#\n", + "print \"\\nR is %0.2f mm \"%(R)#\n", + "print \"\\nFCA is %0.3f deg \"%(FCA)#\n", + "print \"\\nRCA is %0.2f deg \"%(RCA)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-4 - Page 713" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sw is 12142.4 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "alpha=20*pi/180#\n", + "Zp=25#\n", + "Zg=40#\n", + "m=5#\n", + "b=30#\n", + "BHN=400#\n", + "dp=m*Zp#\n", + "rp=dp/2#\n", + "dg=m*Zg#\n", + "rg=dg/2#\n", + "gamma1=atan(rp/rg)#\n", + "gamma1=180/pi*gamma1#\n", + "gamma2=(90-gamma1)#\n", + "a=cos(pi/180*gamma2)#\n", + "Zp1=Zp/cos(gamma1)#\n", + "Zg1=Zg/a#\n", + "Q=(2*Zg1)/(Zp1+Zg1)#\n", + "K=0.16*(BHN/100)**2#\n", + "Sw=0.75*b*dp*Q*K/cos(pi/180*gamma1)#\n", + "print \"Sw is %0.1f N \"%(Sw)#\n", + " \n", + " #The difference in the value of Sw is due to rounding-off of the value of Q." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-5 - Page 713" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sb is 4633 N \n", + "\n", + "Sw is 5438.0 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "Zp=20#\n", + "Zg=36#\n", + "m=4#\n", + "b=25#\n", + "BHN=360#\n", + "Np=750#\n", + "FOS=1.75#\n", + "dp=m*Zp#\n", + "rp=dp/2#\n", + "dg=m*Zg#\n", + "rg=dg/2#\n", + "gamma1=atan(dp/dg)#\n", + "gamma1=180/pi*gamma1#\n", + "gamma2=(90-gamma1)#\n", + "a=cos(pi/180*gamma2)#\n", + "Zp1=Zp/cos(pi/180*gamma1)#\n", + "Zg1=Zg/a#\n", + "Q=(2*Zg1)/(Zp1+Zg1)#\n", + "K=0.16*(BHN/100)**2#\n", + "R=sqrt(rp**2+rg**2)#\n", + "Y=0.33+0.003*0.86#\n", + "sigut=600#\n", + "sigb=sigut/3#\n", + "Sb=m*b*Y*sigb*(1-(b/R))#\n", + "Sw=0.75*b*dp*Q*K/cos(pi/180*gamma1)#\n", + "print \"Sb is %0.0f N \"%(Sb)#\n", + "print \"\\nSw is %0.1f N \"%(Sw)#\n", + "\n", + "#The answwer to Sb is calculated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-6 - Page 713" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m*Y is 2.613 mm**2 \n", + "\n", + "m is 6 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "Dp=300#\n", + "rp=150#\n", + "#Let the angular velocity ratio be i\n", + "i=2/3#\n", + "rg=rp/i#\n", + "Dg=2*rg#\n", + "R=sqrt(rp**2+rg**2)#\n", + "P=15000#\n", + "N=300#\n", + "Cs=1.5#\n", + "FOS=2#\n", + "sigb=100#\n", + "gamma1=atan(Dp/Dg)#\n", + "gamma1=180/pi*gamma1#\n", + "gamma2=(90-gamma1)#\n", + "v=2*pi*N*rp/(60*1000)#\n", + "Cv=5.6/(5.6+sqrt(v))#\n", + "Pt=P/v#\n", + "Peff=Pt*Cs/Cv#\n", + "Sb=Peff*FOS#\n", + "b=R/4#\n", + "#let x=m*Y\n", + "x=Sb/(b*sigb*(1-(b/R)))#\n", + "m=6#\n", + "print \"m*Y is %0.3f mm**2 \"%(x)#\n", + "print \"\\nm is %0.0f mm \"%(m)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-7 - Page 714" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m is 4 mm \n", + "\n", + "BHN is 189 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "Zp=24#\n", + "Zg=36#\n", + "N=1400#\n", + "P=11600#\n", + "Cs=1.4#\n", + "FOS=2#\n", + "sigut=600#\n", + "sigb=sigut/3#\n", + "gamma1=atan(Zp/Zg)#\n", + "gamma1=180/pi*gamma1#\n", + "gamma2=(90-gamma1)#\n", + "a=cos(pi/180*gamma2)#\n", + "Zp1=Zp/cos(pi/180*gamma1)#\n", + "Zg1=Zg/a#\n", + "Q=(2*Zg1)/(Zp1+Zg1)#\n", + "v=1.76#\n", + "Pt=P/v#\n", + "Cv=5.6/(5.6+sqrt(v))#\n", + "Peff=Pt*Cs/Cv#\n", + "x=Peff*FOS#\n", + "Y=0.352+(0.003*0.85)#\n", + "y=2*sigb*Y*(1-(6/21.63))#\n", + "m=sqrt(x/y)#\n", + "# Design is safe for m=4\n", + "m=4#\n", + "b=6*m#\n", + "dp=24*m#\n", + "rp=48#\n", + "dp=dp/cos(pi/180*gamma1)#\n", + "v=2*pi*N*rp/(60*1000)#\n", + "Cv=5.6/(5.6+sqrt(v))#\n", + "Sb=y*m**2#\n", + "#Sw=Sb#\n", + "K=Sb/(0.75*b*dp*Q)#\n", + "BHN=sqrt(K/0.16)*100#\n", + "print \"m is %0.0f mm \"%(m)#\n", + "print \"\\nBHN is %0.0f \"%(BHN)#\n", + " \n", + "#The answwer to BHN is calculated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 27-8 - Page 714" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m is 6 mm \n", + "\n", + "b is 36 mm \n", + "\n", + "R is 216 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, atan, sin, tan, cos\n", + "Zp=40#\n", + "Zg=60#\n", + "P=3500#\n", + "N=600#\n", + "Cs=1.5#\n", + "sigb=55#\n", + "gamma1=atan(Zp/Zg)#\n", + "gamma1=180/pi*gamma1#\n", + "gamma2=(90-gamma1)#\n", + "a=cos(pi/180*gamma2)#\n", + "Zp1=Zp/cos(pi/180*gamma1)#\n", + "Zg1=Zg/a#\n", + "Q=(2*Zg1)/(Zp1+Zg1)#\n", + "# Design is safe for m=6\n", + "m=6#\n", + "b=6*m#\n", + "dp=Zp*m#\n", + "rp=dp/2#\n", + "dg=Zg*m#\n", + "rg=dg/2#\n", + "R=sqrt(rp**2+rg**2)#\n", + "print \"m is %0.0f mm \"%(m)#\n", + "print \"\\nb is %0.0f mm \"%(b)#\n", + "print \"\\nR is %0.0f mm \"%(R)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch28_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch28_1.ipynb new file mode 100644 index 00000000..9f1fda0b --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch28_1.ipynb @@ -0,0 +1,350 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:28 Worm and worm wheel set" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-1 - Page 726" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G is 30 \n", + "\n", + "CD is 100 mm \n", + "\n", + "d is 50 mm \n", + "\n", + "D is 150 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "Z1=1#\n", + "Z2=30#\n", + "q=10#\n", + "m=5#\n", + "d=q*m#\n", + "D=m*Z2#\n", + "#let the speed reduction ratio be G\n", + "G=Z2/Z1#\n", + "CD=(d+D)/2#\n", + "print \"G is %0.0f \"%(G)#\n", + "print \"\\nCD is %0.0f mm \"%(CD)#\n", + "print \"\\nd is %0.0f mm \"%(d)#\n", + "print \"\\nD is %0.0f mm \"%(D)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-2 - Page 726" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i is 52 \n", + "\n", + "CD is 248 mm \n", + "\n", + "pa is 25.13 mm \n", + "\n", + "da is 96 mm \n", + "\n", + "df is 60.975 mm \n", + "\n", + "Da is 431.841 mm \n", + "\n", + "Df is 396.816 mm \n" + ] + } + ], + "source": [ + "from math import tan, atan, cos,pi\n", + "Z1=1#\n", + "Z2=52#\n", + "q=10#\n", + "m=8#\n", + "i=Z2/Z1#\n", + "CD=((m*q)+(m*Z2))/2#\n", + "lamda=atan(Z1/q)#\n", + "d=q*m#\n", + "da=m*(q+2)#\n", + "df=m*(q+2-(4.4*cos(lamda)))#\n", + "pa=m*pi#\n", + "D=m*Z2#\n", + "Da=m*(Z2+(4*cos(lamda))-2)#\n", + "Df=m*(Z2-2-(0.4*cos(lamda)))#\n", + "print \"i is %0.0f \"%(i)#\n", + "print \"\\nCD is %0.0f mm \"%(CD)#\n", + "print \"\\npa is %0.2f mm \"%(pa)#\n", + "print \"\\nda is %0.0f mm \"%(da)#\n", + "print \"\\ndf is %0.3f mm \"%(df)#\n", + "print \"\\nDa is %0.3f mm \"%(Da)#\n", + "print \"\\nDf is %0.3f mm \"%(Df)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-3 - Page 727" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ptw=Pag is 1591.5 N \n", + "\n", + "Paw=Ptg is 5487 N \n", + "\n", + "Prw=Prg is 1188 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi,sin,cos,atan\n", + "Z1=2#\n", + "Z2=60#\n", + "q=10#\n", + "m=5#\n", + "P=6000#\n", + "N=1440#\n", + "u=0.08#\n", + "alpha=20*pi/180#\n", + "lamda=atan(Z1/q)#\n", + "d=m*q#\n", + "w=2*pi*N/60#\n", + "T=P/w#\n", + "Ptw=T*10**3/(d/2)#\n", + "a=cos(alpha)#\n", + "b=cos(lamda)#\n", + "x=sin(alpha)#\n", + "y=sin(lamda)#\n", + "Paw=Ptw*(((a*b)-(u*y))/((a*y)+(u*b)))#\n", + "Prw=Ptw*y/((a*y)+(u*b))#\n", + "#Paw=Ptw*((cos(alpha)*cos(lambda))-(u*sin(lambda)))/((cos(alpha)*sin(lambda))+(u*cos(lambda)))#\n", + "#Prw=Ptw*((sin(alpha))/((cos(alpha)*sin(lambda))+(u*cos(lambda))))#\n", + "print \"Ptw=Pag is %0.1f N \"%(Ptw)#\n", + "print \"\\nPaw=Ptg is %0.0f N \"%(Paw)#\n", + "print \"\\nPrw=Prg is %0.0f N \"%(Prw)#\n", + " \n", + "#The difference in the value is due to rounding-off the values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-4 - Page 728" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 1.2 kW \n", + "\n", + "Po is 1.047 kW \n", + "\n", + "Pf is 0.153 kW \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, cos,atan,tan,sin\n", + "Z1=2#\n", + "Z2=40#\n", + "q=8#\n", + "m=5#\n", + "d=q*m#\n", + "P=1.2#\n", + "lamda=atan(Z1/q)#\n", + "N=1000#\n", + "Vt=2*pi*N*20/(60*1000)#\n", + "Vs=Vt/cos(lamda)#\n", + "u=0.032#\n", + "alpha=20*pi/180#\n", + "x=cos(alpha)#\n", + "y=tan(lamda)#\n", + "z=(cos(lamda))/sin(lamda)#\n", + "n=(x-(u*y))/(x+(u*z))#\n", + "#Let power output be Po\n", + "Po=P*n#\n", + "#Let power lost in friction be Pf\n", + "Pf=P-Po#\n", + "print \"P is %0.1f kW \"%(P)#\n", + "print \"\\nPo is %0.3f kW \"%(Po)#\n", + "print \"\\nPf is %0.3f kW \"%(Pf)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-5 - Page 729" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n is 0.865 \n", + "\n", + "delT is 18.73 deg \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, cos,atan,tan,sin\n", + "Z1=2#\n", + "Z2=54#\n", + "q=10#\n", + "m=8#\n", + "P=4000#\n", + "A=1.8#\n", + "K=16#\n", + "N=1000#\n", + "u=0.028#\n", + "lamda=atan(Z1/q)#\n", + "alpha=20*pi/180#\n", + "d=m*q#\n", + "Vt=2*pi*N*d/(2*60*1000)#\n", + "Vs=Vt/cos(lamda)#\n", + "x=cos(alpha)#\n", + "y=tan(lamda)#\n", + "z=(cos(lamda))/sin(lamda)#\n", + "n=(x-(u*y))/(x+(u*z))#\n", + "delT=P*(1-n)/(K*A)#\n", + "print \"n is %0.3f \"%(n)#\n", + "print \"\\ndelT is %0.2f deg \"%(delT)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 28-6 - Page 729" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sb is 8286 N \n", + "\n", + "Sw is 3362 N \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, cos,atan,tan,sin\n", + "Z1=1#\n", + "Z2=30#\n", + "q=10#\n", + "m=6#\n", + "#Let the ultimate strength of gear is sigut\n", + "#Let the allowable strenth of wheel is sigb\n", + "sigut=450#\n", + "sigb=84#\n", + "N=1200#\n", + "n=N/Z2#\n", + "alpha=20*pi/180#\n", + "d=m*q#\n", + "D=Z2*m#\n", + "b=3*d/4#\n", + "V=2*pi*n*D/(2*60*1000)#\n", + "Cv=6/(6+V)#\n", + "y=0.154-(0.912/Z2)#\n", + "Y=pi*y#\n", + "Sb=sigb*b*Cv*m*Y#\n", + "K=0.415#\n", + "Sw=b*D*K#\n", + "print \"Sb is %0.0f N \"%(Sb)#\n", + "print \"\\nSw is %0.0f N \"%(Sw)#\n", + "\n", + "#The difference in the value of Sb is due to rounding-off the values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch29_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch29_1.ipynb new file mode 100644 index 00000000..0f58d4f6 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch29_1.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:29 Gearbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 29-1 - Page 749" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ratio for third gear is 1.471 \n", + "\n", + "ratio for second gear is -0.2857 \n", + "\n", + "ratio for first gear is 4.5 \n", + "\n", + "ratio for reverse gear is -6.000 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "Ts1=16#\n", + "Ts2=18#\n", + "Ts3=20#\n", + "Ts4=25#\n", + "Tr1=64#\n", + "Tr2=63#\n", + "Tr3=70#\n", + "Tr4=50#\n", + "#Let Nr1/Nr2=G1\n", + "G1=1+(Ts1/Tr1)#\n", + "#Let Nr1/Ni=G2\n", + "G2=(Ts2/(Tr2*(1-(1/G1)+(Ts2/Tr2))))#\n", + "#Let Ni/No=G3 (third gear)\n", + "G3=(1+(Ts3/Tr3))/((Ts3/Tr3)+G2)#\n", + "\n", + "#Let Ni/Nr1=G4\n", + "#The ratio calculations are done as above\n", + "G4=1.2857/0.2857#\n", + "#Let Ni/No =G5(second gear)\n", + "G5=-20/70#\n", + "#Let Ni/No=G6(first gear)\n", + "G6=1.2857/0.2857#\n", + "#Let Ni/No=G7(reverse gear)\n", + "G7=-1.7143/0.2857#\n", + "print \"ratio for third gear is %0.3f \"%(G3)#\n", + "print \"\\nratio for second gear is %0.4f \"%(G5)#\n", + "print \"\\nratio for first gear is %0.1f \"%(G6)#\n", + "print \"\\nratio for reverse gear is %0.3f \"%(G7)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 29-2 - Page 751" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T1 is 20 \n", + "\n", + "T2 is 33 \n", + "\n", + "T3 is 50 \n", + "\n", + "T4 is 37 \n", + "\n", + "T5 is 47 \n", + "\n", + "T6 is 23 \n", + "\n", + "T7 is 18 \n", + "\n", + "G1 is 5.109 \n", + "\n", + "G2 is 2.291 \n", + "\n", + "G3 is 1.0 \n", + "\n", + "R is 5.676 \n" + ] + } + ], + "source": [ + "#Let reverse speed gear be RSG\n", + "RSG=5.5#\n", + "#Let T5/T6 = Z1\n", + "T1=2#\n", + "#Let T3/T7 = Z2\n", + "Z2=2.75#\n", + "T7=18#\n", + "T3=Z2*T7#\n", + "T3=50#\n", + "#Let T3/T1 =Z3\n", + "Z3=2.5#\n", + "T1=T3/Z3#\n", + "#Let T4/T2 = Z4\n", + "Z4=2.25/2#\n", + "T2=(T1+T3)/(Z4+1)#\n", + "T4=T1+T3-T2#\n", + "#Let T5/T6=Z5\n", + "Z5=2#\n", + "T6=(T1+T3)/3#\n", + "T5=(T1+T3)-T6#\n", + "T7=18#\n", + "#let first gear ratio is G1\n", + "G1=50*47/(20*23)#\n", + "\n", + "#Let 2nd gear ratio is G2\n", + "G2=37*47/(33*23)#\n", + "#Let 3rd gear ratio is G3\n", + "G3=1#\n", + "#Let reverse gear ratio is R\n", + "R=50*47/(18*23)#\n", + "print \"T1 is %0.0f \"%(T1)#\n", + "print \"\\nT2 is %0.0f \"%(T2)#\n", + "print \"\\nT3 is %0.0f \"%(T3)#\n", + "print \"\\nT4 is %0.0f \"%(T4)#\n", + "print \"\\nT5 is %0.0f \"%(T5)#\n", + "print \"\\nT6 is %0.0f \"%(T6)#\n", + "print \"\\nT7 is %0.0f \"%(T7)#\n", + "print \"\\nG1 is %0.3f \"%(G1)#\n", + "print \"\\nG2 is %0.3f \"%(G2)#\n", + "print \"\\nG3 is %0.1f \"%(G3)#\n", + "print \"\\nR is %0.3f \"%(R)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 29-3 - Page 752" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T1 is 23 \n", + "\n", + "T2 is 46 \n", + "\n", + "T3 is 32 \n", + "\n", + "T4 is 37 \n", + "\n", + "T5 is 27 \n", + "\n", + "T6 is 42 \n", + "\n", + "T7 is 18 \n", + "\n", + "T8 is 51 \n", + "\n", + "T9 is 18 \n", + "\n", + "G1 is 5.667 \n", + "\n", + "G2 is 3.114 \n", + "\n", + "G3 is 1.000 \n", + "\n", + "G4 is -5.667 \n" + ] + } + ], + "source": [ + "#Let the constant gear ratio be G\n", + "G=2#\n", + "x=5.5**(1/3)#\n", + "G1=1#\n", + "G2=x#\n", + "G3=x*x#\n", + "G4=x**3#\n", + "T7=18#\n", + "T8=T7*(x**3)/2#\n", + "T8=51#\n", + "T5=69/2.558#\n", + "T6=69-27#\n", + "T4=69/1.8825#\n", + "T3=69-T4#\n", + "T1=23#\n", + "T2=46#\n", + "T9=18#\n", + "G1=T2*T8/(T1*T7)#\n", + "G2=T2*T6/(T1*T5)#\n", + "G3=1#\n", + "G4=-T2*T8/(T1*T9)#\n", + "print \"T1 is %0.0f \"%(T1)#\n", + "print \"\\nT2 is %0.0f \"%(T2)#\n", + "print \"\\nT3 is %0.0f \"%(T3)#\n", + "print \"\\nT4 is %0.0f \"%(T4)#\n", + "print \"\\nT5 is %0.0f \"%(T5)#\n", + "print \"\\nT6 is %0.0f \"%(T6)#\n", + "print \"\\nT7 is %0.0f \"%(T7)#\n", + "print \"\\nT8 is %0.0f \"%(T8)#\n", + "print \"\\nT9 is %0.0f \"%(T9)#\n", + "print \"\\nG1 is %0.3f \"%(G1)#\n", + "print \"\\nG2 is %0.3f \"%(G2)#\n", + "print \"\\nG3 is %0.3f \"%(G3)#\n", + "print \"\\nG4 is %0.3f \"%(G4)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch30_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch30_1.ipynb new file mode 100644 index 00000000..d03107c1 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch30_1.ipynb @@ -0,0 +1,217 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:30 Chain drive" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 30-1 - Page 778" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C is 300.00 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "n1=17#\n", + "n2=51#\n", + "C=300#\n", + "p=9.52#\n", + "Ln=(2*C/p)+((n1+n2)/2)+((((n2-n1)/(2*pi))**2)*(p/C))#\n", + "x=(Ln-((n2+n1)/(2)))**2#\n", + "y=8*(((n2-n1)/(2*pi))**2)#\n", + "z=Ln-((n1+n2)/2)#\n", + "C=(p/4)*(z+(sqrt(x-y)))\n", + "\n", + "\n", + " # printing data in scilab o/p window\n", + "print \"C is %0.2f mm \"%(C)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 30-2 - Page 778" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ln is 80 \n" + ] + } + ], + "source": [ + "from math import tan\n", + "G=4#\n", + "n1=17#\n", + "n2=n1*G#\n", + "N1=2300#\n", + "Kc=1.2# #from table 30-2\n", + "p=12.7# #fom table 30-1\n", + "D1=p*n1#\n", + "D2=p*n2#\n", + "phi=2*10.6#\n", + "x=tan(phi/2)# #phi/2 = 10.6deg, from table 30-3\n", + "Da1=(p/x)+(0.6*p)#\n", + "Da2=(p/x*4)+(0.6*p)#\n", + "Cmin=Kc*((Da1+Da2)/2)#\n", + "Ln1=(2*Cmin/p)+((n1+n2)/2)+((((n2-n1)/(2*pi))**2)*(p/Cmin))#\n", + "Ln1=80#\n", + "print \"Ln is %0.0f \"%(Ln1)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 30-3 - Page 779" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Pc is 2.56 KW \n", + "\n", + " V is 3.332 m/s \n", + "\n", + " T is 767.6 N \n", + "\n", + " FOS is 13.94 \n", + "\n", + " L is 1254.01 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "N1=1000#\n", + "N2=500#\n", + "P=2.03*10**3# #from table 30-8\n", + "K1=1.26#\n", + "Ks=1#\n", + "#let Pc be the power transmitting capacity of the chain\n", + "Pc=P*K1/Ks#\n", + "p=9.52#\n", + "n1=21#\n", + "n2=42#\n", + "V=n1*p*N1/(60*10**3)#\n", + "#Let the chain tension be T\n", + "T=Pc/V#\n", + "#Let the breaking load be BL\n", + "BL=10700#\n", + "FOS=BL/T#\n", + "C=50*p#\n", + "Ln=(2*C/p)+((n1+n2)/2)+((((n2-n1)/(2*pi))**2)*(p/C))#\n", + "L=Ln*p#\n", + "Pc=Pc*10**-3#\n", + "print \" Pc is %0.2f KW \"%(Pc)#\n", + "print \"\\n V is %0.3f m/s \"%(V)#\n", + "print \"\\n T is %0.1f N \"%(T)#\n", + "print \"\\n FOS is %0.2f \"%(FOS)#\n", + "print \"\\n L is %0.2f mm \"%(L)#\n", + "\n", + "#The difference in the value of L and T is due to rounding-off the values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 30-5 - Page 780" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L is 1678.25 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "G=2#\n", + "P=5000#\n", + "Ks=1.7#\n", + "Pd=P*Ks#\n", + "K2=1.7#\n", + "p=15.88#\n", + "n1=17#\n", + "n2=n1*G#\n", + "D1=n1*p#\n", + "D2=n2*p#\n", + "C=40*p#\n", + "Ln=(2*C/p)+((n1+n2)/2)+((((n2-n1)/(2*pi))**2)*(p/C))#\n", + "L=Ln*p#\n", + "print \"L is %0.2f mm \"%(L)#\n", + "#The difference in the value of L is due to rounding-off the values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch31_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch31_1.ipynb new file mode 100644 index 00000000..024ea67d --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch31_1.ipynb @@ -0,0 +1,180 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:31 Seals packing and gaskets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 31-1 - Page 816" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "N is 4.47 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi, log\n", + "d=18#\n", + "lg=25+25#\n", + "Eb=210*10**3#\n", + "Ecl=90*10**3#\n", + "A=pi*d**2/4#\n", + "kb=A*Eb/lg#\n", + "x=(5*(lg+(0.5*d))/(lg+(2.5*d)))#\n", + "km=pi*Ecl*d/(2*log(x))#\n", + "C=kb/(kb+km)#\n", + "sigp=600#\n", + "At=192#\n", + "Pi=0.75*sigp*At#\n", + "F=200#\n", + "C=0.322#\n", + "Pb=F*C*10**3#\n", + "FOS=2#\n", + "W=At*sigp#\n", + "N=Pb*FOS/(W-Pi)#\n", + "print \"N is %0.2f \"%(N)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 31-2 - Page 816" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p is 6.922 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import sqrt, pi, log\n", + "d=16#\n", + "D=1.5*d#\n", + "t=20#\n", + "tg=4#\n", + "#Let Gasket diameter in compression zone be d1\n", + "d1=D+(2*t)+tg#\n", + "lg=40#\n", + "E=207*10**3#\n", + "kb=pi*d**2*E/(lg*4)#\n", + "Ecl=90*10**3#\n", + "x=(5*(lg+(0.5*d))/(lg+(2.5*d)))#\n", + "kp=pi*Ecl*d/(2*log(x))#\n", + "Ag=pi*(d1**2-d**2)/4#\n", + "Eg=480#\n", + "kg=Ag*Eg/tg#\n", + "km=kg*kp/(kg+kp)#\n", + "C=kb/(kb+km)#\n", + "At=157#\n", + "sigp=600#\n", + "Pi=0.75*At*sigp/2#\n", + "FOS=2#\n", + "Pf=At*sigp/FOS#\n", + "W=Pf-Pi#\n", + "P=W/C#\n", + "N=5#\n", + "F=P*N#\n", + "p=F*4/(pi*120**2)#\n", + "print \"p is %0.3f N/mm**2 \"%(p)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 31-3 - Page 817" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 20 mm \n" + ] + } + ], + "source": [ + "from numpy import mat, pi, sqrt\n", + "sigp=600#\n", + "FOS=3#\n", + "siga=sigp/FOS#\n", + "d=16#\n", + "D=1.5*d+60#\n", + "#Let Gasket diameter in compression zone be d1\n", + "d1=(300-160)/2#\n", + "#Let compressive stress in gasket for leak proof joint be sigl\n", + "sigl=12#\n", + "At=mat([[1, 157],[2 ,192], [3, 245]])\n", + "d=mat([[1 ,16],[2 ,18],[3, 20]])\n", + "\n", + "n=3#\n", + "Pi = range(0,n)\n", + "Pc = range(0,n)\n", + "for i in range(0,n):\n", + " Pi[i]=At[i,1]*d[i,1]\n", + " Pc[i]=3*pi*(d1**2-d[i,1]**2)\n", + " if (Pi[i]>=Pc[i]):\n", + " print \"The Design is safe\"\n", + "\n", + "print \"d is %0.0f mm \"%(d[i,1])#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch3_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch3_1.ipynb new file mode 100644 index 00000000..eab09e70 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch3_1.ipynb @@ -0,0 +1,1391 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch : 3 Mechanics of solids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-1 - Page 72" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sigi is 146.37 N/mm**2 \n", + "\n", + " deli is 1.05 mm \n", + "\n", + " siggradual is 1.50 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "d=10 \n", + "l=1500 \n", + "m=12 \n", + "h=50 \n", + "E=210*10**3 \n", + "sigut=450 \n", + "A=pi*d**2/4 \n", + "W=m*9.81 \n", + "sigi=W/A*(1+sqrt(1+(2*E*A*h)/(W*l))) \n", + "deli=sigi*l/E \n", + "siggradual=W/A \n", + "sigsudden=2*siggradual \n", + "print \" sigi is %0.2f N/mm**2 \"%(sigi) \n", + "print \"\\n deli is %0.2f mm \"%(deli) \n", + "print \"\\n siggradual is %0.2f N/mm**2 \"%(siggradual) \n", + "\n", + "# The difference in the answer of sigi and siggradual is due to round-off errors." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-2 - Page 73" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "del is 16.42 mm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "d=5 \n", + "A=pi*d**2/4 \n", + "l=100*10**3 \n", + "W=600 \n", + "E=210*10**3 \n", + "w=0.0784*10**-3 \n", + "del1=W*l/(A*E) \n", + "del2=w*l**2/(2*E) \n", + "Del=del1+del2 \n", + "print \"del is %0.2f mm \"%(Del) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-3 - Page 73" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "del is 69.41 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "m=25 \n", + "v=3 \n", + "E=210*10**3 \n", + "KE=0.5*m*v**2 \n", + "d=30 \n", + "L=2000 \n", + "A=pi*d**2/4 \n", + "U=A*L/(2*E) \n", + "Del=4*10**-5*A \n", + "W=A*Del \n", + "sigi=sqrt(KE*10**3/(W+U)) \n", + "print \"del is %0.2f N/mm**2 \"%(sigi) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-4 - Page 74" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigmax1 is 62.96 N/mm**2 \n", + "\n", + "sigmax2 is 55.56 N/mm**2 \n" + ] + } + ], + "source": [ + "P=40*10**3 \n", + "A=60*18 \n", + "sig=P/A \n", + "r1=12 \n", + "b1=60 \n", + "SCF1=1.7 \n", + "sigmax1=sig*SCF1 \n", + "r2=24 \n", + "b2=60 \n", + "SCF2=1.5 \n", + "sigmax2=sig*SCF2 \n", + "print \"sigmax1 is %0.2f N/mm**2 \"%(sigmax1) \n", + "print \"\\nsigmax2 is %0.2f N/mm**2 \"%(sigmax2) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-5 - Page 75" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigt is 33.87 N/mm**2 \n", + "\n", + "sigb is 52.26 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "p=2.4 \n", + "#Let axial movement of nut be La\n", + "La=p*45/360 \n", + "d=20 \n", + "D=30 \n", + "L=500 \n", + "d1=18 \n", + "As=pi*d1**2/4 \n", + "Ac=pi*(D**2-d**2)/4 \n", + "sigt=120/(3.543) \n", + "sigb=1.543*sigt \n", + "print \"sigt is %0.2f N/mm**2 \"%(sigt) \n", + "print \"\\nsigb is %0.2f N/mm**2 \"%(sigb) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-6 - Page 76" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " P is 162.73 kN \n", + "\n", + " delL is 0.38 mm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "delT=100 \n", + "ab=18*10**-6 \n", + "aa=23*10**-6 \n", + "delta=(360*ab*delT)+(450*aa*delT) \n", + "lc=delta-0.6 \n", + "Ea=70*10**3 \n", + "Eb=105*10**3 \n", + "Aa=1600 \n", + "Ab=1300 \n", + "P=lc/((360/(Ab*Eb))+(450/(Aa*Ea))) \n", + "P=P*10**-3 \n", + "#Let the change in length be delL\n", + "delL=(aa*450*delT)-(P*10**3*450/(Aa*Ea)) \n", + "print \" P is %0.2f kN \"%(P) \n", + "print \"\\n delL is %0.2f mm \"%(delL) \n", + " \n", + "# The difference in the answer of delL is due to round-off errors." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-7 - Page 77" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "delT is 68.12 degC \n" + ] + } + ], + "source": [ + "a=23*10**-6 \n", + "E=70*10**3 \n", + "l=750 \n", + "sig=35 \n", + "delT=((sig*l/E)+0.8)/(l*a) \n", + "print \"delT is %0.2f degC \"%(delT) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-8 - Page 78" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Stress on plane AB is 14.00 MPa \n", + "\n", + " Stress on plane AB is 49.50 MPa \n", + "\n", + " Principal stress p1 is 70.00 MPa \n", + "\n", + " Principal stress p2 is -30.00 MPa \n", + "\n", + " Principal angle theta1 is -18.50 deg \n", + "\n", + " Principal angle theta2 is 71.50 deg \n", + "\n", + " Maximum shear stress is 50.00 MPa \n", + "\n", + " Direction of plane theta3 is 26.50 deg \n", + "\n", + " Direction of plane theta4 is 116.50 deg \n" + ] + } + ], + "source": [ + "OA=60 \n", + "AB=30 \n", + "OC=-20 \n", + "CD=-30 \n", + "theta=30 \n", + "angBEK=2*theta \n", + "OM=14 \n", + "KM=49.5 \n", + "p1=70 \n", + "p2=-30 \n", + "angBEH=-37 \n", + "angBEI=143 \n", + "theta1=angBEH/2 \n", + "theta2=angBEI/2 \n", + "Tmax=50 \n", + "angBEL=53 \n", + "angBEN=233 \n", + "theta3=angBEL/2 \n", + "theta4=angBEN/2 \n", + "print \" Stress on plane AB is %0.2f MPa \"%(OM) \n", + "print \"\\n Stress on plane AB is %0.2f MPa \"%(KM) \n", + "print \"\\n Principal stress p1 is %0.2f MPa \"%(p1) \n", + "print \"\\n Principal stress p2 is %0.2f MPa \"%(p2) \n", + "print \"\\n Principal angle theta1 is %0.2f deg \"%(theta1) \n", + "print \"\\n Principal angle theta2 is %0.2f deg \"%(theta2) \n", + "print \"\\n Maximum shear stress is %0.2f MPa \"%(Tmax) \n", + "print \"\\n Direction of plane theta3 is %0.2f deg \"%(theta3) \n", + "print \"\\n Direction of plane theta4 is %0.2f deg \"%(theta4) \n", + "\n", + "#The answers in the book are written in form of degrees and minutes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-9 - Page 78" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p1 is 121.76 MN/mm**2 \n", + "\n", + " p2 is -76.69 MN/mm**2 \n" + ] + } + ], + "source": [ + "E=200*10**3 \n", + "v=0.29 \n", + "E1=720*10**-6 \n", + "E2=560*10**-6 \n", + "p1=121.76 \n", + "p2=-76.69 \n", + "print \"p1 is %0.2f MN/mm**2 \"%(p1) \n", + "print \"\\n p2 is %0.2f MN/mm**2 \"%(p2) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-10 - Page 79" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "v is 0.3136 \n", + "\n", + "E is 99.837 kN/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "G=38*10**3 \n", + "d=10 \n", + "P=5*10**3 \n", + "A=pi*d**2/4 \n", + "sig=P/A \n", + "deld=0.0002 \n", + "#Let the lateral strain be E1\n", + "E1=deld/d \n", + "v=2*deld*G/(sig-(2*deld*G)) \n", + "E=2*G*(1+v)*10**-3 \n", + "print \"v is %0.4f \"%(v) \n", + "print \"\\nE is %0.3f kN/mm**2 \"%(E) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-11 - Page 79" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 12.0 mm \n" + ] + } + ], + "source": [ + "D=1500 \n", + "p=1.2 \n", + "sigt=100 \n", + "sigc=p*D/2 \n", + "siga=p*D/4 \n", + "P=sigc*2*10**3 \n", + "n=0.75 \n", + "t=sigc/(n*sigt) \n", + "print \"t is %0.1f mm \"%(t) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-12 - Page 80" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigw is 64.52 N/mm**2 \n" + ] + } + ], + "source": [ + "D=50 \n", + "t=1.25 \n", + "d=0.5 \n", + "n=1/d \n", + "p=1.5 \n", + "siga=p*D/(4*t) \n", + "sigc=20.27 \n", + "sigw=sigc/0.31416 \n", + "print \"sigw is %0.2f N/mm**2 \"%(sigw) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-13 - Page 81" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 50.0 mm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "R1=50 \n", + "p=75 \n", + "pmax=125 \n", + "R2=sqrt((pmax+p)*R1**2/(pmax-p)) \n", + "t=R2-R1 \n", + "print \"t is %0.1f mm \"%(t) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-14 - Page 82" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fa is 13.52 kN \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "R1=40 \n", + "R2=60 \n", + "B=50 \n", + "E=210*10**3 \n", + "e=41*10**-6 \n", + "sig=2*R1**2/(R2**2-R1**2) \n", + "p=E*e/sig \n", + "Fr=p*2*pi*R1*B \n", + "u=0.2 \n", + "Fa=u*Fr*10**-3 \n", + "print \"Fa is %0.2f kN \"%(Fa) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-15 - Page 83" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W is 1.333 kN \n" + ] + } + ], + "source": [ + "a1=10*1.5 \n", + "x1=15-0.75 \n", + "a2=1.5*(15-1.5) \n", + "x2=(15-1.5)/2 \n", + "y1=((a1*x1)+(a2*x2))/(a1+a2) \n", + "y2=a1-y1 \n", + "Ixx=(10*1.5**3)/12+(10*1.5*(5.06-1.5/2)**2)+(1.5*13.5**3/12)+(1.5*13.5*(9.94-6.75)**2) \n", + "Z1=Ixx/y1 \n", + "Z2=Ixx/y2 \n", + "L=3 \n", + "sigc=50 \n", + "W=sigc*Z1/L*10**-3 \n", + "print \"W is %0.3f kN \"%(W) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-16 - Page 83" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "M is 46.410 Nm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "D=22 \n", + "d=20 \n", + "r=1 \n", + "K=2.2 \n", + "sigmax=130 \n", + "sigmax=sigmax/K \n", + "Z=pi*d**3/32 \n", + "M=sigmax*Z*10**-3 \n", + "print \"M is %0.3f Nm \"%(M) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-17 - Page 84" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Z1/Zr is 4.84 \n", + "\n", + "sigmax is 41.33 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "A=(12*2)+(12*2)+(30-4) \n", + "B=sqrt(A/2) \n", + "D=2*B \n", + "B1=12 \n", + "D1=30 \n", + "d=26 \n", + "b=1 \n", + "Z1=((B1*D1**3)-((B1-b)*d**3))/(B1*D1/2) \n", + "Zr=B*D**2/6 \n", + "#Let the ratio of both the sections be x\n", + "x=Z1/Zr \n", + "M=30*10**6 \n", + "sigmax=M/(Z1*10**3) \n", + "print \"Z1/Zr is %0.2f \"%(x) \n", + "print \"\\nsigmax is %0.2f N/mm**2 \"%(sigmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-19 - Page 85" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 49.38 kN \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "x1=((13*3*1.5)+(2*15*8))/(39+30) \n", + "x2=13-x1 \n", + "A=30+39 \n", + "E=2*10**7 \n", + "Iyy=995.66 \n", + "e=54.32 \n", + "x=x2-3 \n", + "sigb=e*x/Iyy \n", + "sigd=1/69 \n", + "sigr=sigd+sigb \n", + "#Let the strain be E1\n", + "E1=800*10**-6 \n", + "P=E1*E/sigr \n", + "P=P*10**-3 \n", + "print \"P is %0.2f kN \"%(P) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-20 - Page 86" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigmax is 607.24 kN/m**2 \n", + "\n", + "sigmin is 232.76 kN/m**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "H=20 \n", + "D=5 \n", + "d=3 \n", + "rho=21 \n", + "sigd=rho*H \n", + "p=2 \n", + "A=D*H \n", + "P=p*A \n", + "M=P*H/2 \n", + "Z=pi*(D**4-d**4)/(32*D) \n", + "sigb=M/Z \n", + "sigmax=420+sigb \n", + "sigmin=420-sigb \n", + "print \"sigmax is %0.2f kN/m**2 \"%(sigmax) \n", + "print \"\\nsigmin is %0.2f kN/m**2 \"%(sigmin) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-21 - Page 87" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " T1 is 105.63 N/mm**2 \n", + "\n", + " theta is 4.92 deg \n", + "\n", + " Tr is 70.42 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "D=30 \n", + "R=15 \n", + "T=0.56*10**6 \n", + "G=82*10**3 \n", + "J=pi*R**4/2 \n", + "T1=T*R/J \n", + "l=1000 \n", + "theta=T*l/(G*J)*180/pi \n", + "r=10 \n", + "Tr=T1*r/R \n", + "print \" T1 is %0.2f N/mm**2 \"%(T1) \n", + "print \"\\n theta is %0.2f deg \"%(theta) \n", + "print \"\\n Tr is %0.2f N/mm**2 \"%(Tr) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-22 - Page 87" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Ts1 is 34.796 N/mm**2 \n", + "\n", + " Tc1 is 23.9 N/mm**2 \n", + "\n", + " theta/length is 0.623 deg/m \n", + "\n", + " Ts2 is 17.398 N/mm**2 \n", + "\n", + " Tc2 is 11.96 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "T=8*10**3 \n", + "d=80 \n", + "D=110 \n", + "l=2000 \n", + "Gst=80*10**3 \n", + "Gcop=Gst/2 \n", + "Js=pi*d**4/32 \n", + "Jc=pi*(D**4-d**4)/32 \n", + "#Ts=0.777*Tc\n", + "Tc=T/1.777*10**3 \n", + "Ts=0.777*Tc \n", + "Ts1=Ts/Js*d/2 \n", + "Tc1=Tc/Jc*D/2 \n", + "#Let tl be Angular twist per unit length\n", + "tl=Ts*10**3/(Js*Gst)*180/pi \n", + "# Let the maximum stress developed when the Torque is acting in the centre of the shaft be Ts2 & Tc2 resp. for steel and copper\n", + "Ts2=Ts1/2 \n", + "Tc2=Tc1/2 \n", + "print \" Ts1 is %0.3f N/mm**2 \"%(Ts1) \n", + "print \"\\n Tc1 is %0.1f N/mm**2 \"%(Tc1) \n", + "print \"\\n theta/length is %0.3f deg/m \"%(tl) \n", + "print \"\\n Ts2 is %0.3f N/mm**2 \"%(Ts2) \n", + "print \"\\n Tc2 is %0.2f N/mm**2 \"%(Tc2) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-23 - Page 88" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tmax is 6.235 MPa \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "D=100 \n", + "d=75 \n", + "r=6 \n", + "K=1.45 \n", + "P=20*746 \n", + "N=400 \n", + "w=2*pi*N/60 \n", + "T=P/w \n", + "Ts=16*T*10**3/(pi*d**3) \n", + "Tmax=K*Ts \n", + "print \"Tmax is %0.3f MPa \"%(Tmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-24 - Page 88" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 21.0 mm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "G=84*10**3 \n", + "T=28*10**3 \n", + "l=1000 \n", + "theta=pi/180 \n", + "J=T*l/(G*theta) \n", + "d=(J*32/pi)**(1/4) \n", + "print \"d is %0.1f mm \"%(d) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-25 - Page 89" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 280.5 mm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "P=2*10**6 \n", + "N=200 \n", + "w=2*pi*N/60 \n", + "Tm=P/w \n", + "W=5*10**3*9.81 \n", + "l=1800 \n", + "Mmax=W*l/4 \n", + "Tmax=1.8*Tm*10**3 \n", + "Me=(Mmax+sqrt(Mmax**2+Tmax**2))/2 \n", + "Te=sqrt(Mmax**2+Tmax**2) \n", + "sig=60 \n", + "Ts=40 \n", + "d1=(32*Me/(pi*sig))**(1/3) \n", + "d2=(16*Te/(pi*Ts))**(1/3) \n", + "print \"d is %0.1f mm \"%(d2) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-26 - Page 90" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d1 is 11.38 mm \n", + "\n", + " d2 is 12.3 mm \n", + "\n", + " d3 is 11.74 mm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "Q=4*10**3 \n", + "P=8*10**3 \n", + "sig=P \n", + "T=Q \n", + "p1=(sig/2+sqrt((sig/2)**2+T**2)) \n", + "p2=(sig/2-sqrt((sig/2)**2+T**2)) \n", + "sigyp=285 \n", + "FOS=3 \n", + "siga=sigyp/3 \n", + "A1=p1/siga \n", + "d1=sqrt(4*A1/pi) \n", + "A2=(p1-p2)*2/(siga*2) \n", + "d2=sqrt(4*A2/pi) \n", + "v=0.3 \n", + "A3=sqrt(p1**2+p2**2-(2*v*p1*p2))/siga \n", + "d3=sqrt(4*A3/pi) \n", + "print \" d1 is %0.2f mm \"%(d1) \n", + "print \"\\n d2 is %0.1f mm \"%(d2) \n", + "print \"\\n d3 is %0.2f mm \"%(d3) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-27 - Page 91" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The component is safe\n", + "\n", + "Tmax is 117.4 MPa \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "sigx=-105 \n", + "Txy=105 \n", + "sigy=270 \n", + "p1=(sigx/2+sqrt((sigx/2)**2+Txy**2)) \n", + "p2=(sigx/2-sqrt((sigx/2)**2+Txy**2)) \n", + "p3=0 \n", + "Tmax=(p1-p2)/2 \n", + "siga=sigy/2 \n", + "if (Tmax<=siga) :\n", + " print \"The component is safe\"\n", + "print \"\\nTmax is %0.1f MPa \"%(Tmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-28 - Page 91" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "N is 1324.249 rpm \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "rho=0.0078*9.81*10**-6 \n", + "sigc=150 \n", + "g=9.81 \n", + "V=sqrt(sigc*g/rho)*10**-3 \n", + "R=1 \n", + "w=V/R \n", + "N=w*60/(2*pi) \n", + "print \"N is %0.3f rpm \"%(N) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-29 - Page 92" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEPCAYAAABRHfM8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcTfUfx/HXZwYViiyJwoSQLGMtRUbZKkkrpZhIoX7a\nF6lUv4qf6qdF2hBZSmX5aSHCkMo+k30PKaRSIllmPr8/vncyTYMxc+4998x8no/Hfcw9dztvx8x8\n53y+yxFVxRhjjDmWGL8DGGOMCQZrMIwxxmSLNRjGGGOyxRoMY4wx2WINhjHGmGyxBsMYY0y2FPBz\n5yKyCdgNpAIHVbWRiJQAxgEVgU3A9ar6q28hjTHGAP6fYSiQoKp1VbVR6LGHgemqWhWYEdo2xhjj\nM78bDADJtN0OGBm6PxJoH9k4xhhjsuJ3g6HA5yKySES6hx4ro6o7Qvd3AGX8iWaMMSYjX/swgAtV\ndZuIlAami8jqjE+qqoqIrV1ijDFRwNcGQ1W3hb7uFJGJQCNgh4icrqrbRaQs8GPm91kjYowxOaOq\nmbsBss23kpSIFBaRk0P3iwCtgGXAZKBL6GVdgElZvV9Vo/7Wr18/3zNYTstpOS1j+i23/OzDKAN8\nISIpwHzgY1WdBgwAWorIWuDi0HZY7Tmwh8lrJnv+uZs2bfL8M8PBcnrLcnorCDmDkNELvpWkVPVb\nID6Lx38BWkQyS5qm0XliZ9b3Xk+pwqUiuWtjjAkMv0dJRYVTTjiFy6teznvL3/P0cxMTEz39vHCx\nnN6ynN4KQs4gZPSCeFHXijQRUa9zT9swjb4z+7Kw+0JPP9cYY6KFiKBB7PSONpecdQk//P4DK3eu\n9Owzk5KSPPuscLKc3rKc3gpCziBk9II1GCGxMbF0qtWJUd+M8juKMcZEJStJZbDixxW0Ht2azXdv\nJjYm1vPPN8YYP1lJykPnnnYu5U4ux7QN0/yOYowxUccajExurXcrQ5OHevJZQalrWk5vWU5vBSFn\nEDJ6wRqMTDrW7MiMjTPYsWfHsV9sjDH5iPVhZKHr/7pyTqlzeODCB8K2D2OMiTTrwwiD9LJUEBtT\nY4wJF2swstD4zMYUjClI0qakXH1OUOqaltNbltNbQcgZhIxesAYjCyLCHQ3vYPDCwX5HMcaYqGF9\nGEew58AeKr5YkeTbk6lQrEJY92WMMZFgfRhhUrRQUW6ufTOvL3rd7yjGGBMVrME4il4NezF0yVD+\nPPRnjt4flLqm5fSW5fRWEHIGIaMXrME4iqolq1K/XH3GLR/ndxRjjPGd9WEcwydrP6FfUj8Wdl+I\nSI5Lf8YY4zvrwwizNlXasOvPXcz/fr7fUYwxxlfWYBxDbEysG2K74PiH2Aalrmk5vWU5vRWEnEHI\n6AXfGwwRiRWRZBH5KLRdQkSmi8haEZkmIsX9znhL/C18su4Ttu/Z7ncUY4zxje99GCJyL1AfOFlV\n24nIQOAnVR0oIg8Bp6rqw5neE7E+jHQ9P+5JycIlefripyO6X2OM8Uqg+zBE5EzgMmAokP6PaAeM\nDN0fCbT3Ido/3H/B/by+6HV279/tdxRjjPGF3yWpQcADQFqGx8qoavra4juAMhFPlYXKJSrTqnIr\n3lj0RrbfE5S6puX0luX0VhByBiGjF3xrMESkLfCjqiZz+Ozib0J1p6gZ9/vQhQ8xaN6gHE/kM8aY\nICvg474vANqJyGXAicApIjIK2CEip6vqdhEpC/yY1ZsTExOJi4sDoHjx4sTHx5OQkAAcbu3DsR1/\nejyPDnuUttXaRmR/kdhOfyxa8gR9O/2xaMkT9O30x6Ilz5G2M2aNhjwJCQkkJSUxYsQIgL9+X+aG\n753eACLSDLhfVa8IdXr/rKr/EZGHgeLR0Omdbs7mOXSb3I3Vd6wmNibWlwzGGJMTge70ziS9BRgA\ntBSRtcDFoe2o0bRCU0oXLs34VeOP+drMf3lEK8vpLcvprSDkDEJGL0RFg6Gqs1W1Xej+L6raQlWr\nqmorVf3V73wZiQh9mvRhwNwBdkU+Y0y+EhUlqePlZ0kKIE3TqP1abV5o9QKtq7T2LYcxxhyPvFSS\nCowYiaFv0770S+pnZxnGmHzDGowc6lCzA3sP7uXjtR8f8TVBqWtaTm9ZTm8FIWcQMnrBGowcipEY\n/t383zw661HSNO3YbzDGmICzPoxcUFXOG3oe9zW+jw41O/gdxxhjjsr6MHwkIjx98dM8nvQ4h9IO\n+R3HGGPCyhqMXGpZqSWnFz2dUd+M+sdzQalrWk5vWU5vBSFnEDJ6wRqMXBIRnrn4GZ6c/ST7D+33\nO44xxoSN9WF45NIxl9L27Lbc0egOv6MYY0yWctuHYQ2GR5K3JXPpmEtZc+caip1YzO84xhjzD9bp\nHSXqlq3L5WdfzjNfPPPXY0Gpa1pOb1lObwUhZxAyesEaDA89ffHTDE8ezvpf1vsdxRhjPGclKY/1\n/6I/C35YwMQOE/2OYowxf2MlqShzT+N7SNmewsxvZ/odxRhjPGUNhsdOLHAiz7V8jns+u4cZM2f4\nHSdbglJ/tZzespzeCUJGL1iDEQbXnHMNxU4oxpR1U/yOYowxnrE+jDBZsm0Jl425jBW9VlCycEm/\n4xhjjM3DiGZ3TbmLvQf3MrTdUL+jGGOMdXpHs1axrfhsw2fM2TzH7yhHFZT6q+X0luX0ThAyesG3\nBkNEThSR+SKSIiIrRaR/6PESIjJdRNaKyDQRKe5XxtwqUqgIL7d5mds/vt3WmTLGBJ6vJSkRKayq\nf4hIAWAucD/QDvhJVQeKyEPAqar6cKb3BaIkBe6aGe3HtadhuYY8etGjfscxxuRjgS5JqeofobuF\ngFhgF67BGBl6fCTQ3odonhERXrn0FV6c9yLrfl7ndxxjjMkxXxsMEYkRkRRgBzBLVVcAZVR1R+gl\nO4AyvgXMpfS6ZoViFejbtC89PulBNJ4ZBaX+ajm9ZTm9E4SMXijg585VNQ2IF5FiwGci0jzT8yoi\nWf6GTUxMJC4uDoDixYsTHx9PQkICcPg/z+/tdElJSdROq83Y/WN5c/GbVNtTLSrypW+npKREVZ7s\nHM9oyGPHMzLbQTieKSkpUZUnfTspKYkRI0YA/PX7MjeiZlitiDwG7ANuBRJUdbuIlMWdeVTP9NrA\n9GFktHLnSpqNaMa8bvOoXKKy33GMMflMYPswRKRU+ggoETkJaAkkA5OBLqGXdQEm+ZPQezVK16BP\nkz4k/i+R1LRUv+MYY8xx8bMPoywwM9SHMR/4SFVnAAOAliKyFrg4tB1ImU/9Ae4+/25iJIYX570Y\n+UBHkFXOaGQ5vWU5vROEjF7wrQ9DVZcB9bJ4/BegReQTRUaMxPD2lW9z3tDzaFOlDeeedq7fkSLu\n0CH4+WfYuRN++unw1717Yd++f95SUyEmBn78Ed55B0TcdsGCUKSIuxUtevhr0aJQqtThW4kSEBvr\n97/amOCLmj6M4xHUPoyM3lz8Jm8sfoN53eZRMLag33E8dfAgbNoEGze627ffHr6/eTP89huceiqU\nLn34VrKk+0V/0kn/vMXGgiqkpR2+qcKBA66RSb/t2eO+/v773xukX3+F4sVd41GuHJQv725nnnn4\nflwcnHKK30fOmPCytaQCSlVp+25bap1WiwEtAlt147ffYOFCSE6GpUth2TJYuxZOPx0qVfr77ayz\noGJF1zhE8i/+Q4dg1y7XgHz/PWzdCt999/fbpk3uDOXss6FKlcNfq1aF6tWhcOHI5TUmXKzBiGJJ\nSUl/DXXLys69O6n3Zj3euuIt2lRpE7lgmRwrZ0abNsHMmfDVVzBvntuuWxfq1YM6daBWLTj33PD8\ngj2enMdLFbZvh3XrYP36w1/XrHH3zzgDatZ0/7aaNd2tenVXFotkTi9ZTu8EISPkvsHwdR5Gfle6\nSGlGXzWajuM7svi2xZQ7uZzfkf7ht9/gs8/g889hxgxX9rn4YmjaFHr1cg1EVr80g0YEypZ1t4su\n+vtzBw+6xmPFCli+HCZMgCefdGcmtWpB/frQoIH7WqOGP/mNiQQ7w4gCT81+ilmbZvH5zZ8TG+N/\n7+zWrfC//7nbvHnQpAm0agUtWri/sCXHf5/kLb//7kpxixfDokXu69athxuR885zxy4uzo6ZiQ5W\nksoDUtNSaTmqJc0qNqNfQj9fMuzaBe+/D6NHw8qVcPnlcOWV0Lq164w22bN79+FGZN48+OILN6Lr\nwgtd49GkCdSuDQXs3N74ILAT9/KD7I7Njo2JZczVY3hj8RvM/HZmeENlkJYGn34KTZsmERfnSk4P\nPADbtrnhq9dcE12NRRDGup9yCqgmce+9rgH+4QfXaLRt60paN9/shvm2bAlPPQVz57qSlx+CcDwh\nGDmDkNELR/w7J7Tk+K3AmcAUVf0yw3OPqurTEciXb5Q9uSyjrx5NpwmdmNdtHhWLVwzbvn7+GYYP\nh9dec8NbmzeHjz5yQ0+Nt0QOjxLr3Nk99vPPbtDAnDnQuzds2ODOPC65xJX9atZ0ZyXGRJsjlqRE\nZBhwErAQuAmYrar3hp5LVtW6EUv5z2x5qiSV0aCvBzFq6Sjmdp1L4YLeDjVavx4GDoQPPoB27Vyn\ndaNGVl/3208/waxZ7gzv889dWevii13j0bq1mydijBfC1ochIstUtVbofkFgCFASuBH42hqM8FBV\nbp54MwCjrhqFePDbfNky6N8fpk93jcSdd7rJciY6bd58uPGYNs0N6b3sMtevdP751v9hci6cfRh/\nDZZU1YOq2h34BpgBRFFlO3rlpK4pIrx5xZus3LmSQfMG5Wr/q1fD1Ve7EU7x8a708eST/2wsglJ/\nzS85K1aErl1h7FjYscOVDmNi4F//gjJl4IYbYNQoNxHRz5yREoScQcjohaM1GItF5NKMD6jqk8Db\nQFw4Q+V3hQsWZmKHiTz31XNM3zD9uN+/fTv06OHmSjRu7JbkePBBW/oiiGJj4YIL4JlnDs+mv+QS\nNxekShU3+ur5590fA8aEmw2rjWKzN83m+g+vZ1aXWdQofewZYfv2uT6Kl1+GW26BRx5xI3JM3rR/\nv+v7mDjRzZk57TR3RnnVVW7orvVNmczCOqxWRJ4Jff13Tndgcq5ZXDOea/kcl4+9nO17th/1tdOm\nuQljy5e7OQDPP2+NRV53wgnQpg288YZbI2vIEDeZ8KqroHJluO8++PJLN3zaGC8ca/DeAhF5FVgU\niTB5jRd1zc51OpNYJ5Er3r2CvQf2/uP5bdugY0dXgnr5ZTcC6nivxBiU+qvlPLLYWDc094UXXHlq\n4kQ3h+b2212fyP33u0UiM56Y2/H0ThAyeuGIDYaI9MNdwOgG4OLQtvHB480ep0bpGnSa0OmvK/Wp\nuo7P2rXdKrDLl7uRNMaIuIUgn3zSfV9MneoWg+zUyfV79O3r+kLyQVXXeOyofRgi8hLwGtBDVe+O\nWKpjyC99GBkdSD1A69GtqX1abR5v9CK9egnLlsGYMW61WGOORdV1nI8bB++955Zz79gRbrzRNSQm\n7wvrWlIiEq+qKSJSR1W/yelOvJYfGwyAXft2UX9wM36ecz2JlR5lwAB3gSFjjpeqW+vqvffcrXJl\nNxP9+uut7ysvC1unt7gZY9eFNq/N6Q7yMy/rmqmp8N9nT2Xfm59R5MIRVO30qmeNRVDqr5bTOyKw\nf38SL73kVtjt29eNuDrrLLj2Wpg82V3RMBoE4XgGIaMXjthghP6ED1unt4iUF5FZIrJCRJaLSO/Q\n4yVEZLqIrBWRaSKS71c42rULrrjCrT2UMrcsX94+nf5z+zNm6Ri/o5k8oGBBN4t83Dg3y7xNGzfK\n7owz3GTBRYusv8M4R1sapB9QArgZGAX8Epq4582ORU4HTg+VvIoCi4H2wC3AT6o6UEQeAk5V1Ycz\nvTfflKSWLXPDJK+4ws2xSL9Y0YofV3DJO5cwtN1Q2lZt629Ikydt3OiWux8xwk367N7d9Xeceqrf\nyUxO5bYkhaoe8Qa8BFQHXjza67y4AZOAFsBqoEzosdOB1Vm8VvOD8eNVS5VSHT066+fnb52vpQeW\n1s/WfxbZYCZfSU1V/fxz1Q4dVIsVU73pJtWkJNW0NL+TmeMV+t2Z49/Tx5qH8baqrsYtBxI2IhIH\n1AXm4xqLHaGndgBlwrnvcMpNXXPwYFcO+OwzNxwyK43OaMSEDhO4acJNOVpCJF1Q6q+W01vZzRkT\n45Yjee89t+Jx/fpuEctq1dxZ744dx/6MSOT0UxAyeuGo616qKxcVAOJEJCHD61VV/+tFgFA5ajxw\nl6r+nnF1VlVVEcmy9pSYmEhcaIZa8eLFiY+P/+si7On/eX5vpzue96tCp05JfPEFzJ2bwFlnHf31\nTSo04bEKj3Htc9cy/sHxtKjU4rjzpqSk+HJ8InE8/djOy8ezVCmIj09i8GA48cQEhg6FypWTqFsX\nHnkkgVat4IsvvM0bhOOZkpISVXnSt5OSkhgxYgTAX78vc+OYa0mJyBRgH7AM+GuRAfWgPyO0bPrH\nuAs0vRh6bDWQoKrbRaQsMEtVq2d6nx4rdxAdPAi33gpr1sDHH0OpUtl/7xebv+Dq96/m3WvepUWl\nFuELaUwmu3e7DvM333QXh+rRA7p1g5Il/U5mMgv7Nb1FZKmq1s7pDo7yuQKMBH5W1XsyPD4w9Nh/\nRORhoLjmg07v/fvdJVFFDk+qOl5zNs/h2vev5Z2r3qFNlTbehzTmGBYsgFdfdcNy27eHO+6ABg38\nTmXSReKa3tNEpHVOd3AUF+Ku5NdcRJJDtzbAAKCliKzFLU0yIAz7jojMp/5Hkt5YnHiiW7Y6J40F\nwEUVL2JSx0l0mdSFD1d+6HlOv1lOb4UjZ6NGMHIkrFsH1au7OR3nneeuEf/nnzn7zCAczyBk9EJ2\nrt31FTBRRGKA9MvVq6rm6uoKqjqXIzdY+aamcuAAXHedW3n03XcPD5vNqQvKX8BnN33GZWMuY/f+\n3XSt29WboMYch1Kl4KGH3KKHn37qzjruv99dGKpHj+NfINNEh+yUpDYB7YDlqhoVCyXnlZLUgQNu\nKYaYGFcDzm1jkdHan9fSclRL7jn/Hu4+P2qWATP52Nq17uqB77zjLu51773uq123I3Ii0YcxB2iu\nqqk53YnX8kKDkZrqGovUVHj/fShUyPt9bPltCy3eacF1Na7j6Yuf9uT64Mbk1t69bqXlQYPcEuz3\n3ut+Frz8g8lkLRJ9GN8Cs0Skj4jcF7rdm9Md5idHqmuqQu/e8Ntv4WssACoUq8CXXb/k828/J/F/\niRxIzXpxoKDUXy2nt/zKWaSIK0utWuWWYB8+3K1hNWAA/PLLP18fhOMZhIxeyG6DMRMoBBQFTg7d\nTA499xzMnQvjx4evsUhXukhpZnWZxa59u2g7ti279+8O7w6NyaaYGGjbFmbMcMPIV61yy6zfeafr\nNDfRx67pHWFjx8LDD8PXX7vF3SLlUNohek/pzVfffcWnnT6l3MnlIrdzY7Jp2zbXQf7GG3DBBa5c\nddFF1s/hlUj0YTQEHgHi+PtMb8/nZmRXUBuMWbOgQweYORNq1oz8/lWVgV8OZPDCwUzqMIn65epH\nPoQx2fDHH66f47//heLF3R9ZV17pzkpMzkWiD2MMbi2pa4ArQrd2Od1hfpKxrrlunbu62bhx/jQW\n4L5ZHmryEC+3eZk2Y9rwwYoP/pEzmllOb0VzzsKF3fXIV66Eyy9Pon9/qFED3n47eq7TkVE0H0sv\nZafB2Kmqk1V1o6puSr+FO1hesncvXH01PPEENG/udxq46pyrmH7zdO6ffj9PJj1JEM/WTP4QG+tK\nUvPnw5Ahbq5SpUruzGPPHr/T5T/ZKUm1AjoAnwPpbbuq6oQwZztapsCUpFThppvckMG3346uWuz2\nPdtp/157yhcrz/B2wzn5BBvLYKLf4sVuldyZM6FnT7eqc+nSfqcKhkiUpLoAdYA2QNvQ7Yqc7jC/\nGTzYnVa/9lp0NRYApxc9naTEJE498VQaDW3Eyp0r/Y5kzDHVr+9Ku1995ZZWr1bNDVPfssXvZHlf\ndhqMBkBDVe2iqrek38IdLC945ZUknn7aDZ/16vrbXjuxwIncePKNPHjBgzQb0Yxxy8f5HemIglIn\ntpzeOlLOs892o6lWrHDrsNWtC7fdBt9+G9l8EJxjmVvZaTC+AmqEO0hes2MHPPWUK0NVquR3mmO7\npe4tTLtpGo/MfIS7p97NwdSDx36TMVGgbFlXolq7FsqUcavjdu3qLvZkvJWdPozVQGXcBL79oYdt\nWO1RqLohgOeeC/37+53m+Ozat4ubJ97Mr3/+yvvXvW/zNUzg7NoFL73kysGXXQZ9+7qylYnMPIy4\nrB73c6RUtDcYQ4e6yUfz54d/Jnc4pGka/b/oz6sLX2X4lcPt2homkH77zTUaL70ELVu6hqNGPq+V\nhK3TW0QWi8hLQHVge8YhtTas9sg2bIA+fWD0aPjqqySf02RP5vprjMTQ96K+jL1mLLd9dBv3TL2H\n/Yf2Z/3mCApKndhyeiunOYsVc43Ehg1Qu7Yb0t6hAyxb5m0+CM6xzK2j9WGcD0wCmgOzRWSKiNwl\nIlUjEy14UlOhSxd45BFXjgq6hLgEUnqksGX3Fs4bep6NojKBdPLJ7tocGze6Czy1auUajlWr/E4W\nPNleS0pEzsANrW0NVAHmqWqvMGY7WpaoLEkNGADTpsHnn+etJQxUlWHJw+gzow//bv5vbq9/uy2V\nbgJr715XqnrhBbj0Unj8cahc2e9UkRH2Powj7DQWOF9Vv8zpjnMjGhuMb76BFi3cpKIKFfxOEx6r\nf1rNjeNvpEKxCrx1xVuULmKzpUxw7d7trsnxyituJYZHH827P7vpwtmH8fYRbsOBt/xqLKJRaip0\n7+7OMDJ+wwWlrpndnNVLVefrbl9TtWRVar9e+7iuG+6FvHY8/Zbfc55yCvTrB2vWQMmSbh5H795u\nxdzjFZRjmVtHK5x8Anyc4evHwDe462239mLnIjJcRHaIyLIMj5UQkekislZEpolIcS/2FU5vvulG\nQ92SD6YznlDgBAa2HMiE6yfQd2ZfOnzYgZ/++MnvWMbkWMmSbvj7ypVQoIDrf3zwQfjJvq3/IVsl\nKRGpDPQBLgIGAcNUNddrRopIU2AP8I6q1go9NhD4SVUHishDwKmq+nCm90VNSWrHDrf67MyZUKuW\n32kia9/BfTw26zHGLBvD4EsHc02Na/yOZEyuff89PPOMW37kzjvh/vtdx3leENY+DBE5B+gL1AOe\nA0ap6qGc7uwI+4gDPsrQYKwGmqnqDhE5HUhS1eqZ3hM1DcbNNx+eaZpffbnlS2753y3UL1efVy59\nhVKFS/kdyZhc+/ZbV7KaNs0Nz7399mDOq8oonH0YH+LKUV8DCcBk4JRQyahETneYDWVUdUfo/g6g\nTBj3lSszZ8KcOW6URVaCUtfMbc4LK1xISo8UyhUtR80hNXnnm3fCsmR6fjmekWI5j+6ss+Cdd1yD\nMXUqVK/urpiZlvbP1wblWOZWgaM81yD09f7QLSMFwr5CkqqqiGT5mycxMZG4uDgAihcvTnx8PAkJ\nCcDh/7xwbh84AL17J/Dyy7BoUdavTxeJPLnZTklJ8eTzXmj9AjfUuoEbX7iRQQUHMe6BcVQtWdWz\nvOn8Pl6ROp7h3k4XLXmi9Xj+8ksSDzwAkMBDD8Hjjydx223wwAMJiLjXp6SkRM3xyridlJTEiBEj\nAP76fZkbvl/T+wglqQRV3S4iZYFZ0ViS6t/fXZd78mRfY0SlQ2mHGLxgME/PeZre5/XmoQsf4oQC\nJ/gdy5hcU4WJE91qDmecAf/5DzRs6Heq7IvE9TAibTLuGhyEvk7yMUuWdu50k37++1+/k0SnAjEF\nuPv8u0m+PZnF2xZT5/U6JG1K8juWMbkm4uZsrFgBN9wA7dvDdde5lXLzA18bDBF5F7d8ejUR+U5E\nbgEGAC1FZC1wcWg7qvz733DjjVClytFfl/nUP1qFK2f5YuX5X8f/MaDFADpP7MwN429g6+6tOf68\n/H48vWY5c65AATf3at06d0Gnhg2T+Ne/8v5QXF8bDFW9QVXLqWohVS2vqm+r6i+q2kJVq6pqK1X9\n1c+MmW3Y4Dq+HnvM7yTB0b56e1bdsYoqp1ahzut1ePaLZ/nz0J9+xzIm1woXhocfdp3jAOecA889\nB/v9X6szLLI7DyMWN1rpr05yVfXtgoh+9mF07OjmXTz6qC+7D7yNuzZy72f3svzH5QxqPYi2Vdva\nulQmz1izxk36W7bMrfxw3XXRdWnmSFwP419AP+BHIDX98fROaj/41WAsXOhqlmvXQpEiEd99njJ1\n/VTumnoXlU+tzPOtnqdG6Xx+oQKTp8yaBffd5y4d+8IL0Lix34mcSHR63w1UU9Uaqlor/ZbTHQaV\nqvvL4Yknst9YRGPtNSt+5GxTpQ3Lei7jkrMuodmIZvT4uAfb92w/6nvseHrLcnonc8bmzWHRIjfZ\n7/rr3XLqflxr3GvZaTC2ALvDHSTaTZkC27fnj/WiIqVQbCHuu+A+1ty5hiIFi3DukHN5avZT7D2w\n1+9oxuRaTIy7Ps6aNa6M3aABPPAA/BpVvbLHJzslqeFAVdys7/T1o1RVfRtUGumSVFoa1Kvnzi7a\nt4/YbvOdjbs28siMR/hiyxc8lfAUifGJxMbE+h3LGE9s2+YGy3z8sRtp2bUrxEb42zsSfRhPhO6m\nv1BwDcaTOd1pbkW6wZg0yf0HL1oUXR1YedX8rfO5f/r9/PbnbwxsOZDWlVtbx7jJM5Ysccuo//GH\nu95406aR23duGwxUNXA3Fzsy0tJU69ZVnTTp+N87a9Ysz/OEQzTmTEtL04mrJmrVV6pq8xHN9ast\nX0VlzqxYTm8FIefxZkxLUx07VvXMM1U7dlTdvDk8uTIL/e7M8e/eoy0++FLo60dZ3PLNghgffeQ6\nvNu18ztJ/iIitK/enuU9l3NjrRvp8GEH+nzeh+RtyX5HMybXRNxM8dWroWpVd/GmJ590Zx3R7Igl\nKRGpr6qLRSQhi6dVVWeHNdlRRKokpeouGt+nj1sOwPhn/6H9vLn4TZ6d+yxNKjThyYQnbSiuyTM2\nbXKjMOdjOxFbAAAbXUlEQVTPdxP/wjV/w5drevstUg3GjBmu1rhsmRvxYPy398BeXl34Ks9/9Txt\nqrShX7N+VC5R2e9YxngiKQnuuguKF3f9G/Hx3n5+Xlx8MGr85z9uGFxOG4sgjB+HYOUsUqgID174\nIOv+tY7Kp1am0dBG3PbRbXy7K3oGuQfpeAZBEHJ6lTEhARYvduWq1q3dH6zRNAzXGowjWLIEVq1y\niwya6FPsxGL0S+jH2jvXUqpwKRq81YCu/+vK+l/W+x3NmFwpUAB69HDXGN+/361P9c47rkTut+Mq\nSYXWlCqiqr5O5ItESapjR9d/ce+9Yd2N8cgv+37h5fkvM3jBYNpUaUPfpn05p/Q5fscyJtcWLIBe\nveCkk2DIEKiVi3U2wl6SEpF3ReQUESkCLANWiciDOd1hEGzeDNOnu+WLTTCUOKkETyQ8wYbeGzin\n1Dk0G9GM6z+4nqU7lvodzZhcadTIdYZ36gSXXAL33AO7ffqTPTslqRqhM4r2wBQgDrg5nKH8Nniw\nWwLk5JNz9zlBqL1C3spZ7MRi9L2oLxvv2kjDcg1pNaoVV427igXfLwh/wJC8dDyjQRByhjtjbKwr\nU61Y4RqLc85xl1mIdJkqOw1GAREpiGswPlLVgxye9Z3n7NkDw4fDnXf6ncTkRtFCRXngwgfYeNdG\nEiomcN0H19F8ZHOmrp9KEEcGGgNQujQMGwYffuiG3158sWtEIiU7S4P0Bh4ClgKXAxWAUaoawQnt\n/8gUtj6MV1+FmTNh/PiwfLzxycHUg4xbMY6BXw5ERHjwggfpULMDBWIKHPvNxkSh1FR4/XW3xl1i\nIjz++LGrIhGfhyFuUZ9YVT2U053mVrgajLQ0d6r31ltw0UWef7yJAqrKlPVTGPjlQDb9uon7Gt9H\n17pdKVLILnBigmnHDnjoITdv7L//hWuvPfKkv0h0et8V6vQWERkGLAEuyekOo9mMGe6CJ14tBhaE\n2ivkr5wiwmVnX0ZSYhLjrh1H0uYkznrpLJ5IeoKf/vDmgsz56XhGQhBy+pmxTBkYMcL1aTzxBLRt\n62aOh0N2+jC6hTq9WwElcB3eA8ITxxGRNiKyWkTWichD4dxXRq+9Bj172oq0+cV5Z57H+OvH88Ut\nX/D97u+p+kpV7vz0Ttb9vM7vaMYct6ZNITkZmjRx194YOBAOHvR2H9npw1imqrVE5GUgSVUniEiy\nqtb1Nspf+4sF1gAtgO+BhcANqroqw2s8L0l9/70b37x5c+5HR5lg2vb7NgYvGMxbS97i/DPP557z\n7yEhLsGWVjeBs2ED3HEH/PADvPHG4UvERuJ6GCOAckAloDZQAJilqvVzutNj7K8x0E9V24S2HwZQ\n1QEZXuN5g/Hkk64WOGSIpx9rAuiPg38weuloXpz3IoViC3H3+XdzQ80bOKHACX5HMybbVGHcODf5\nuF076N8fSpQI/1pS3YCHgQaq+gdQEAjnhUrPAL7LsL019FjYHDrkOrp79vT2c4NQewXLmVnhgoW5\nrf5tLO+1nAEtBvDu8neJeymOp2Y/xY97fzzm++14eisIOaMxo4hbsWLlSnf/3HNz/5nZGVOowLlA\nW+ApoAhwYu53fdT9HVNiYiJxcXEAFC9enPj4eBISEoDD/3nZ3f7ooyQuughq1crZ+4+0nc6rzwvX\ndkpKSlTliabj2aZKG07ceiLfFvmWr3d/TbXB1Wh8sDHX1riWrld3zfL9djy93Q7C8UxJSYmqPOnb\nSUlJjBgxAoBLL41j+HByJTslqdeBVOASVa0uIiWAaaraIHe7PuL+zgeeyFCS6gOkqep/MrwmIsub\nG5PZzr07eXPxm7y68FWql6rOnY3upF21djafwwRCJPowklW1bsaObhH5RlXr5HSnx9hfAVyn9yXA\nD8ACItDpbczxOJB6gAmrJjB4wWA2/7aZng16cmu9WzmtyGl+RzPmiCJxPYwDoZFL6TssDaTldIfH\nEpoQeCfwGbASGJexsQiSzKf+0cpyHr9CsYXoWLMjc7vOZXLHyWzctZFqg6vReWJnXvvgNb/jZUs0\nHc+jCULOIGT0QnYajFeAicBpIvIs8CXQP5yhVHWKqlZT1SqqGtZ9GZNbdcvWZWi7oWzovYHaZWrz\n1OynaPhWQ0amjOTPQ3/6Hc8Yzxy1JCUiMUBj4BcOz+6e4fdf/FaSMtEsNS2VKeunMHjBYJZsW0K3\nut3o0aAHFYtX9Duayeci0YeRoqoeX1k2d6zBMEGx9ue1DFk4hFFLR9G0QlN6NOhBq8qtiBG72KWJ\nvEj0YXwuIteKTXc9bkGpa1pOb2XMWbVkVV5s8yKb797M5WdfziMzHqHKy1UYMHcAO/bs8C8kwTye\n0SoIGb2QnQajB/A+rvP799DN10u0GhM0RQsVpXv97iy+bTHjrh3Hup/XUW1wNTp+2JGkTUl2jQ4T\nCMe9vHk0sJKUyQt+/fNXRn0zijcWv8GhtEPcXv92usR3ocRJJfyOZvKoSPRhzFDVS471WCRZg2Hy\nElXly+++5PVFr/Px2o+5svqV9Kjfg/PPPN8WPjSeClsfhoicJCIlgdIiUiLDLY4wr+2UVwSlrmk5\nvXW8OUWEJhWaMPrq0azvvZ5ap9Wi86TO1Hm9DkMWDmH3/vBUgPPq8fRDEDJ64Wh9GLcDi4BqwOIM\nt8nA4PBHMyb/KVW4FPdfcD9r7lzDoNaDmLVpFhVfrMitk29l/tb51tdhfJWdktS/VPWVCOXJFitJ\nmfxk+57tjEgZwdAlQzmp4El0r9edm2rfZH0d5rhFog/jemCKqv4uIo8BdYGnVXVJTneaW9ZgmPwo\nTdOYvWk2Q5OH8snaT7i86uXcWvdWu8iTybZIzMN4LNRYNMHN9h4OvJ7THeYnQalrWk5vhStnjMTQ\n/KzmjLl6DBt6b+C8M86j99TeVB1clQFzB7B9z/aoyOm1IOQMQkYvZKfBSA19bQu8paof4y6iZIzx\nScnCJel9Xm+W9ljKqKtGsf6X9Zzz6jlcNe4qPl33Kalpqcf+EGOOU3ZKUp/grq3dEleO+hOYH67l\nzbPDSlLG/NPv+3/nveXvMTR5KD/8/gNd47vStW5XW8PK/CUSfRhFgDbAUlVdJyJlgVqqOi2nO80t\nazCMObqlO5YydMlQxi4bS4NyDeherztXVLuCQrGF/I5mfBT2PgxV3auq41V1XWh7m5+NRZAEpa5p\nOb0VDTlrl6nNy5e+zHf3fMfNtW/mlQWvUGFQBR6c/iCrf1oNREfO7AhCziBk9IItmWlMHnZSwZPo\nVLsTSYlJzLllDoLQfGRzLhx+IZ+u+5Tf9//ud0QTILaWlDH5zMHUg0xdP5VhycOYvXk2V1W/im51\nu3FB+QtseG4eF/Y+jGhkDYYx3ti+ZzujvhnF8JThpGkaXeO70rlOZ8qeXNbvaCYMIjEPw+RQUOqa\nltNbQcp5etHTeeDCB1jZayUjrhzB+l/WU2NIDdq9245JqydxMPWg3zEDcTyDkNELvjQYInKdiKwQ\nkVQRqZfpuT4isk5EVotIKz/yGZPfiAiNyzfmrXZv8d0933H1OVfzwtcvUH5QeR6Y9gCrdvp6VWYT\nJXwpSYlIdSANeAO4L32ZERGpAYwFGuJWxP0cqKqqaZnebyUpYyJg7c9reTv5bUZ+M5K44nF0rduV\n68+9nlNOOMXvaCYHAt2HISKz+HuD0QdIU9X/hLanAk+o6rxM77MGw5gIOpR2iKnrpzI8eTizNs2i\nffX2dI3vSpMKTayjPEDyWh9GOWBrhu2tBPjaG0Gpa1pOb+XFnAViCtC2alsmdJjA6jtWU7N0TW7/\n+HaqDa7GgLkD+OH3H6Iip1+CkNELBcL1wSIyHTg9i6ceUdWPjuOjsjyVSExMJC4uDoDixYsTHx9P\nQkICcPg/z+/tdNGS50jbKSkpUZXHjmdkttMd7/tXLVpFfepzb697mf/9fJ5+52meeecZEpon0DW+\nK0V/KErB2IL56nimpKREVZ707aSkJEaMGAHw1+/L3Ii2ktTDAKo6ILQ9FeinqvMzvc9KUsZEkb0H\n9vLhyg8ZnjKc1T+t5qZaN9GtXjdqlK7hdzSTQV7ow7hfVReHttM7vRtxuNO7SubWwRoMY6LXup/X\n8XaK6ygvf0p5utbtSseaHa2jPAoEsg9DRK4Ske+A84FPRGQKgKquBN4HVgJTgF5Bbhkyn/pHK8vp\nrfye8+ySZ/PsJc+y+e7NPHbRY3y24TMqDKpAl0ldmL1p9nFfZjYIxzMIGb0Qtj6Mo1HVicDEIzz3\nLPBsZBMZY7xWIKYAl1e9nMurXs6Pe39k9NLR9Pq0FwdSD3BL/C10qdOFM04J7JiWfMmWBjHGRIyq\nsuD7BQxPHs4HKz+gcfnGdI3vakuvR0ig+zByyhoMY4Lvj4N/8OHKDxmWPMw6yiMkkH0Y+UVQ6pqW\n01uWM3sKFyxM5zqdmZ04m7m3zKVQbCFavNOCC4ZdwLAlw/5aet3vnNkRhIxesAbDGOO7s0ueTf8W\n/dlyzxb6NOnDR2s/osKLFej2v24s/3H5cXeUm/CwkpQxJipt37Odd755h2HJw4iRGLrV7UbnOp05\nrchpfkcLLOvDMMbkaarKl999ybDkYUxcNZGLz7qYbnW70bpKawrE+DLQM7CsDyOKBaWuaTm9ZTm9\nNXv2bJpUaMLbV77Nlnu2cGmVS/n3nH9T8cWK9J3Rlw2/bPA7YmCOZW5Zg2GMCYxTTjiF7vW7M+/W\neXx202fsO7SPxsMa03xkc0YvHc2+g/v8jpinWUnKGBNoB1IPMHnNZIYlD2PB9wvocG4HutXtRr2y\n9Wzp9UysD8MYY0K+++07RqSMYHjKcIqdUIxudbvRqXYnSpxUwu9oUcH6MKJYUOqaltNbltNbx5Oz\nfLHyPNbsMTb03sDzrZ7nq61fUemlStww/gY+3/g5aX+/eKcvGYPMhhgYY/KcGImhRaUWtKjUgl/2\n/cKYpWO4f9r9/Lb/N26Jv4XE+EQqFKvgd8zAsZKUMSZfUFWWbFvCsORhjFsxjoblGtKtbjfaVWvH\nCQVO8DteRFgfhjHGHKd9B/cxftV4hiUPY8WPK+hUqxPd6nWj5mk1/Y4WVtaHEcWCUte0nN6ynN4K\nR86TCp7ETbVvYlaXWXzd7WsKFyxM69GtOX/o+QxPHs7eA3t9zxiNrMEwxuRrlUtU5plLnmHz3Zvp\n27Qvk1ZPovyg8vT8uCdLti3xO15UsZKUMcZksnX3Vt5OfpuhyUMpXbg03et154ZaNwT+MrPWh2GM\nMWGSmpbK9I3TeXPxm8zaNItrzrmG2+rfRsNyDQM5KdD6MKJYUOqaltNbltNbfuaMjYmlTZU2TOgw\ngZW9VlL51MrcMP4G4t+I59UFr/Lrn7/6njGSfGkwROQ5EVklIt+IyAQRKZbhuT4isk5EVotIKz/y\nGWNMZmVPLkufpn1Y9691vNDqBeZsmUPci3EkTkpk2Y5l+eKaHb6UpESkJTBDVdNEZACAqj4sIjWA\nsUBD4Azgc6Cq6t+nZ1pJyhgTDXbu3cnIb0by1pK3KBBTgNvq3cbNdW6O2qVIAt+HISJXAdeo6k0i\n0gdIU9X/hJ6bCjyhqvMyvccaDGNM1FBV5myew1tL3uLjtR/TtmpbutfrzkUVL4qqvo680IfRFfg0\ndL8csDXDc1txZxqBFJS6puX0luX0VhByzp49m2ZxzRh99Wg23rWRhuUa0uvTXlR/tTrPf/U8O/fu\n9DuiJ8K2lpSITAdOz+KpR1T1o9Br+gIHVHXsUT4qy1OJxMRE4uLiAChevDjx8fEkJCQAh7/B/N5O\nFy15jrSdkpISVXnseEZmO1205Any8UxJSflre+n8pdShDst7LufrrV/z1MineGLEE7Rt1ZaeDXqS\n9m0aIhKRfElJSYwYMQLgr9+XueFbSUpEEoHuwCWq+mfosYcBVHVAaHsq0E9V52d6r5WkjDGB8euf\nvzLqm1G8vvh10jSNHvV70LlOZ0496dSI5ghkH4aItAFeAJqp6k8ZHk/v9G7E4U7vKplbB2swjDFB\npKrM3TKX1xe/zqfrPqV99fb0qN+DRmc0ikhfR1D7MF4BigLTRSRZRIYAqOpK4H1gJTAF6BXkliHz\nqX+0spzespzeCkLO7GYUEZpWbMqYq8ew9s61nFPqHG6ccCP136zPm4vfZM+BPeENmku+NBiqeraq\nVlTVuqFbrwzPPauqVVS1uqp+5kc+Y4wJt9JFSvPghQ+y7l/rGNBiAFPXT6XCoAr0+qQXS3cs9Tte\nlnwfVpsTVpIyxuRF3+/+nmHJw3hryVuUP6U8PRv05Noa13JSwZM8+fxA9mHkljUYxpi87FDaIT5Z\n+wmvL36dRT8sonPtztze4Haqlqyaq88Nah9GvhCE2itYTq9ZTm8FIafXGQvEFODK6lcypdMU5t86\nn0KxhWj6dlMueecSPljxAQdSD3i6v+yyBsMYY6JYpVMr0b9Ff7bcvYXb6t3GkEVDqPhiRR6d+Shb\nftsS0SxWkjLGmIBZtXMVbyx+g1FLR9G0QlN6NexFi0otiJGjnwNYH4YxxuRTew/sZeyysby68FX+\nOPgHPRv0JDE+8YgTAq0PI4oFofYKltNrltNbQcjpV8YihYrQvX53km9PZkT7ESzatohKL1fi1sm3\nkrwt2fP9WYNhjDEBJyJcUP4Cxlw9hjV3rqHSqZW48r0raTysMaOXjmb/of3e7CeIpR0rSRljzNGl\nD80dsmgIKdtT6BrflQEtB1gfhjHGmCNb+/NaXlv4Gi9e+qL1YUSrINRewXJ6zXJ6Kwg5oz1j1ZJV\nGdRmUK4/xxoMY4wx2WIlKWOMySdsWK0xxpiIsAYjjKK9rpnOcnrLcnorCDmDkNEL1mAYY4zJFuvD\nMMaYfML6MIwxxkSELw2GiPxbRL4RkRQRmSEi5TM810dE1onIahFp5Uc+rwSlrmk5vWU5vRWEnEHI\n6AW/zjAGqmodVY0HJgH9AESkBtABqAG0AYaIHGO93iiWkpLid4RssZzespzeCkLOIGT0gi+/jFX1\n9wybRYGfQvevBN5V1YOquglYDzSKcDzP/Prrr35HyBbL6S3L6a0g5AxCRi8U8GvHIvIMcDOwj8ON\nQjlgXoaXbQXOiHA0Y4wxWQjbGYaITBeRZVncrgBQ1b6qWgF4G3jxKB8V2OFQmzZt8jtCtlhOb1lO\nbwUhZxAyesH3YbUiUgH4VFVrisjDAKo6IPTcVKCfqs7P9J7ANiLGGOOn3Ayr9aUkJSJnq+q60OaV\nQPqloSYDY0Xkv7hS1NnAgszvz80/2BhjTM741YfRX0SqAanABqAngKquFJH3gZXAIaCXzdAzxpjo\n4HtJyhhjTDAEZo6DiMSKSLKIfBTaLhHqWF8rItNEpHgUZCwuIh+KyCoRWSki50VbztDEyBWhAQhj\nReSEaMgoIsNFZIeILMvw2BFz+TXB8wg5nwv9n38jIhNEpFg05szw3H0ikiYiJaI1p4j8K3RMl4vI\nf6Ixp4g0EpEFod9LC0WkoZ85RaS8iMwK/XwvF5Heoce9+zlS1UDcgHuBMcDk0PZA4MHQ/YeAAVGQ\ncSTQNXS/AFAsmnICccBG4ITQ9jigSzRkBJoCdYFlGR7LMhduYmcKUDD0b1oPxPiYs2X6/oEB0Zoz\n9Hh5YCrwLVAiGnMCzYHpQMHQdukozZkEtA7dvxSY5WdO4HQgPnS/KLAGOMfLn6NAnGGIyJnAZcBQ\nIL3Dux3uFzShr+19iPaX0F+VTVV1OICqHlLV34iunLuBg0BhESkAFAZ+IAoyquoXwK5MDx8pl28T\nPLPKqarTVTUttDkfODMac4b8F3gw02PRlrMn0F9VD4ZeszNKc27D/VEIUBz43s+cqrpdVVNC9/cA\nq3CDhzz7OQpEgwEMAh4A0jI8VkZVd4Tu7wDKRDzV350F7BSRt0VkiYi8JSJFiKKcqvoL8AKwBddQ\n/Kqq04mijJkcKVc53KTOdNE0wbMr8GnoflTlFJErga2qujTTU1GVEzc68iIRmSciSSLSIPR4tOV8\nGHhBRLYAzwF9Qo/7nlNE4nBnRPPx8Oco6hsMEWkL/KiqyRw+u/gbdedXfvfeFwDqAUNUtR6wF/cN\n9Re/c4pIZeBu3OlnOaCoiNyU8TV+ZzySbOTyPbOI9AUOqOrYo7zMl5wiUhh4hNC6bekPH+Utfh7P\nAsCpqno+7g/F94/yWj9zDgN6q5uAfA8w/CivjVhOESkKjAfu0r8vw5Trn6OobzCAC4B2IvIt8C5w\nsYiMAnaIyOkAIlIW+NHHjOBa562qujC0/SGuAdkeRTkbAF+p6s+qegiYADSOsowZHen/+HtcLT7d\nmRwuB/hCRBJxZdNOGR6OppyVcX8ofBP6WToTWCwiZYiunOB+liYAhH6e0kSkFNGXs5GqTgzd/5DD\n5RzfcopIQVxjMUpVJ4Ue9uznKOobDFV9RFXLq+pZQEdgpqrejJvk1yX0si64VW99o6rbge9EpGro\noRbACuAjoifnauB8ETlJRASXcSXRlTGjI/0fTwY6ikghETmLI0zwjBQRaYP7S/hKVf0zw1NRk1NV\nl6lqGVU9K/SztBWoFypVRE3OkEnAxQChn6dCqvoT0ZdzvYg0C92/GFgbuu9LztDP9DBgpapmXG7J\nu5+jcPfcezwKoBmHR0mVAD7H/SdNA4pHQb46wELgG9xfSMWiLSeuw3MFsAzXAVYwGjLizh5/AA4A\n3wG3HC0XrryyHtcItvYxZ1dgHbAZt2JBMq4sGS0596cfz0zPbyQ0Siracoa+J0eFvkcXAwlRlDPj\n92cDXB9BCvA1UNfPnEATXD9vSobvxTZe/hzZxD1jjDHZEvUlKWOMMdHBGgxjjDHZYg2GMcaYbLEG\nwxhjTLZYg2GMMSZbrMEwxhiTLdZgGJMNobXBzvE7hzF+snkYxmQSmjGL2g+HMX9jZxjG4Fb3FJE1\nIjISN8P4zEzPJ4lIvdD9PSLytIikiMjXInJaFp/3hIiMFJE5IrJJRK4WkedFZKmITAktL0/ouWdD\nF+FZJCL1Qhe5WS8it0fi325MdlmDYcxhVYBXVbWmqn6X6bmMZxuFga9VNR6YA3Q/wuedhbsYUDtg\nNDBdVWsD+4DLM3zuZlWtG/qsEcBVwPnAk7n+FxnjIWswjDlss6pmZ5G4A6r6Sej+YtwqsJkpMEVV\nU4HluCuZfRZ6bhlQMcNrJ2d4/GtV3atusb39InLK8f4jjAkXazCMOWxvNl93MMP9NNz1G7JyAEDd\n1fiO9p79GR4/kM3PNibirMEwxh9ZXbzoaBc0MsZ31mAYc1h2R0VppvtHel/m1x1rX5k/y0Zpmahi\nw2qNMcZki51hGGOMyRZrMIwxxmSLNRjGGGOyxRoMY4wx2WINhjHGmGyxBsMYY0y2WINhjDEmW6zB\nMMYYky3/B0TYOSGQpC4+AAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7feb0a76e790>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigrmax is 28.4 MPa \n" + ] + } + ], + "source": [ + "from math import pi, sqrt\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, xlabel, ylabel, show, grid\n", + "\n", + "R1=50 \n", + "R2=200 \n", + "N=6*10**3 \n", + "w=2*pi*N/60 \n", + "v=0.28 \n", + "rho=7800*10**-9 \n", + "g=9810 \n", + "k1=(3+v)/8 \n", + "k2=(1+(3*v))/8 \n", + "W=rho*9.81 \n", + "x=k1*w**2*W*(R1**2+R2**2)/g \n", + "y=k1*w**2*W*(R1*R2)**2/g \n", + "y1=k1*w**2*W/g \n", + "z=k2*w**2*W/g \n", + "r=sqrt(R1*R2) \n", + "sigrmax=x-(y/r**2)-(r**2*y1) \n", + "r=range(50,201)\n", + "n=len(r) \n", + "sigr = range(0,n)\n", + "for i in range(0,n):\n", + " sigr[i]=x-(y/r[i]**2)-(r[i]**2*y1)\n", + "\n", + "sigc = range(0,n)\n", + "for j in range(0,n):\n", + " sigc[j]=y/r[j]**2-(r[j]**2*z)\n", + "\n", + "plot(r,sigr) \n", + "plot (r,sigc) \n", + "xlabel('r in mm') \n", + "ylabel('stress in N/mm**2') \n", + "grid()\n", + "show()\n", + "print \"sigrmax is %0.1f MPa \"%(sigrmax) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-30 - Page 93" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 2.923 mm \n" + ] + } + ], + "source": [ + "from numpy import exp\n", + "r=500 \n", + "to=15 \n", + "N=3500 \n", + "w=2*pi*N/60 \n", + "sig=80 \n", + "w1=0.07644*10**-3 \n", + "g=9810 \n", + "a=w1*w**2*r**2/(2*sig*g) \n", + "t=to*exp(-a) \n", + "print \"t is %0.3f mm \"%(t) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-31 - Page 93" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigB is 61.5 MPa \n", + "\n", + "sigA is 36 MPa \n" + ] + } + ], + "source": [ + "from numpy import log\n", + "M=60*10**3 \n", + "y1=((5*1*2.5)+(6*1*5.5))/(5+6) \n", + "y2=6-y1 \n", + "R=12 \n", + "R1=R-y2 \n", + "R1=10.136\n", + "R2=11.136 \n", + "R3=R1+6 \n", + "B=6 \n", + "b=1 \n", + "A=(B*b)+((B-1)*b) \n", + "#Let x= h**2/R**2\n", + "x=R/A*((B*log(R2/R1))+(b*log(R3/R2)))-1 \n", + "x=1/x \n", + "#Let Maximum compressive stress at B be sigB\n", + "sigB=M/(A*R)*(1+(x*y1/(R+y1)))*10**-2 \n", + "#Let Maximum tensile stress at A be sigA\n", + "sigA=M/(A*R)*((y2*x/(R-y2))-1)*10**-2 \n", + "print \"sigB is %0.1f MPa \"%(sigB) \n", + "print \"\\nsigA is %0.0f MPa \"%(sigA) \n", + " \n", + "#The answer to R**2/h**2 is calculated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-32 - Page 94" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ra is 96.70 N/mm**2 \n", + "\n", + "Rb is 70.14 N/mm**2 \n" + ] + } + ], + "source": [ + "from numpy import log\n", + "R1=24 \n", + "R2=30 \n", + "R3=50 \n", + "R4=54 \n", + "F=200 \n", + "y1=((16*4*2)+(2*20*14*4)+(24*6*27))/((16*4)+(2*20*4)+(24*6)) \n", + "y2=30-y1 \n", + "R=24+y2 \n", + "A=(24*6)+(2*4*20)+(4*16) \n", + "#Let x= h**2/R**2\n", + "x=R/A*((24*log(R2/R1))+(2*4*log(R3/R2))+(16*log(R4/R3)))-1 \n", + "x=1/x \n", + "M=F*(60+R) \n", + "sigd=F/A \n", + "#Let bending stress at a be sigA\n", + "sigA=M/(A*R)*((y2*x/(R-y2))-1) \n", + "#Let bending stress at b be sigB\n", + "sigB=M/(A*R)*(1+(x*y1/(R+y1))) \n", + "#Let resultant at a be Ra\n", + "Ra=(sigA+sigd)*10 \n", + "#Let resultant at b be Rb\n", + "Rb=(sigB-sigd)*10 \n", + "print \"Ra is %0.2f N/mm**2 \"%(Ra) \n", + "print \"\\nRb is %0.2f N/mm**2 \"%(Rb) \n", + "#The difference in the answers are due to rounding-off of values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3-33 - Page 95" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigA is 31.59 MPa \n", + "\n", + "sigB is 71.64 MPa \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import log\n", + "F=50 \n", + "B1=4 \n", + "B2=8 \n", + "D=12 \n", + "y1=D/3*(B1+(2*B2))/(B1+B2) \n", + "y2=12-y1 \n", + "R=6+y2 \n", + "A=(B1+B2)/2*D \n", + "#Let x= h**2/R**2\n", + "a=(B1+((B2-B1)*(y1+R)/D))*log((R+y1)/(R-y2))\n", + "x=R/(A)*(a -(B2-B1)) \n", + "x=x-1 \n", + "x=1/x \n", + "KG=y2+8 \n", + "M=F*KG \n", + "sigd=F/A \n", + "#Let bending stress at a be sigA\n", + "sigA=M/(A*R)*(1+(x*y1/(R+y1))) \n", + "#Let bending stress at b be sigB\n", + "sigB=M/(A*R)*((y2*x/(R-y2))-1) \n", + "sigA=(sigA-sigd)*10 \n", + "sigB=(sigB+sigd)*10 \n", + "print \"sigA is %0.2f MPa \"%(sigA) \n", + "print \"\\nsigB is %0.2f MPa \"%(sigB) \n", + "#The difference in the answers are due to rounding-off of values." + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch4_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch4_1.ipynb new file mode 100644 index 00000000..e296965c --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch4_1.ipynb @@ -0,0 +1,271 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:4 Manufacturing considerations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4-1 - Page 112" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " LLH is 70.0 mm \n", + "\n", + " ULH is 70.013 mm \n", + "\n", + " ULS is 69.99 mm \n", + "\n", + " LLS is 69.98 mm \n", + "\n", + " Cmax is 0.031 mm \n", + "\n", + " Cmin is 0.010 mm \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "d=70#\n", + "dmin=50#\n", + "dmax=80#\n", + "D=sqrt(dmin*dmax)#\n", + "D=63#\n", + "i=0.458*(D**(1/3))+(0.001*D)#\n", + "\n", + "#standard tolerance for H8 is ST1\n", + "ST1=25*i#\n", + "ST1=ST1*10**-3#\n", + "#standard tolerance of shaft for grade g7 is ST2\n", + "ST2=16*i#\n", + "ST2=ST2*10**-3#\n", + "es=-(2.5*(D**0.333))#\n", + "es=es*10**-3#\n", + "ei=es-ST2#\n", + "#Lower limit for hole is LLH\n", + "#Upper limit for hole is ULH\n", + "#Upper limit for shaft is ULS\n", + "#Lower limit for shaft is LLS\n", + "LLH=d#\n", + "ULH=LLH+ST1#\n", + "ULS=LLH+es#\n", + "LLS=ULS-ST2#\n", + "#Maximum clearance is Cmax\n", + "#minimum clearance is Cmin\n", + "Cmax=ULH-LLS#\n", + "Cmin=LLH-ULS#\n", + "# printing data in scilab o/p window\n", + "print \" LLH is %0.1f mm \"%(LLH)#\n", + "print \"\\n ULH is %0.3f mm \"%(ULH)#\n", + "print \"\\n ULS is %0.2f mm \"%(ULS)#\n", + "print \"\\n LLS is %0.2f mm \"%(LLS)#\n", + "print \"\\n Cmax is %0.3f mm \"%(Cmax)#\n", + "print \"\\n Cmin is %0.3f mm \"%(Cmin)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4-2 - Page 112" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cmax is 0.041 mm \n", + "\n", + "Cmin is 0.007 mm \n" + ] + } + ], + "source": [ + "d=25#\n", + "#Lower limit for hole is LLH\n", + "#Upper limit for hole is ULH\n", + "#Upper limit for shaft is ULS\n", + "#Lower limit for shaft is LLS\n", + "ULH=d+0.021#\n", + "LLH=d+0#\n", + "ULS=d+0.041#\n", + "LLS=d+0.028#\n", + "#Maximum interference is Cmax\n", + "#minimum interference is Cmin\n", + "Cmax=ULS-LLH#\n", + "Cmin=LLS-ULH#\n", + "# printing data in scilab o/p window\n", + "print \"Cmax is %0.3f mm \"%(Cmax)#\n", + "print \"\\nCmin is %0.3f mm \"%(Cmin)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4-3 - Page 113" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ULH is 50.039 mm \n", + "\n", + " LLH is 50.000 mm \n", + "\n", + " ULS is 49.991 mm \n", + "\n", + " LLS is 49.966 mm \n", + "\n", + " Cmax is 0.073 mm \n", + "\n", + " Cmin is 0.009 mm \n", + " Therefore, H8g7 is easy running fit\n" + ] + } + ], + "source": [ + "d=50#\n", + "Es=0.039#\n", + "Ei=0#\n", + "es=-9*10**-3#\n", + "ei=-34*10**-3#\n", + "#Shaft dia is D\n", + "D=d+es#\n", + "#Lower limit for hole is LLH\n", + "#Upper limit for hole is ULH\n", + "#Upper limit for shaft is ULS\n", + "#Lower limit for shaft is LLS\n", + "ULH=d+Es#\n", + "LLH=d+Ei#\n", + "ULS=d+es#\n", + "LLS=d+ei#\n", + "#Maximum interference is Cmax\n", + "#minimum interference is Cmin\n", + "Cmax=ULH-LLS#\n", + "Cmin=LLH-ULS#\n", + " # printing data in scilab o/p window\n", + "print \" ULH is %0.3f mm \"%(ULH)#\n", + "print \"\\n LLH is %0.3f mm \"%(LLH)#\n", + "print \"\\n ULS is %0.3f mm \"%(ULS)#\n", + "print \"\\n LLS is %0.3f mm \"%(LLS)#\n", + "print \"\\n Cmax is %0.3f mm \"%(Cmax)#\n", + "print \"\\n Cmin is %0.3f mm \"%(Cmin)#\n", + "print ' Therefore, H8g7 is easy running fit'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4-3 - Page 114" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ULH is 30.025 mm \n", + "\n", + " LLH is 30.000 mm \n", + "\n", + " ULS is 30.011 mm \n", + "\n", + " LLS is 29.995 mm \n", + "\n", + " Cmax is 0.030 mm \n", + "\n", + " Cmin is 0.011 mm \n" + ] + } + ], + "source": [ + "d=30#\n", + "Es=0.025#\n", + "Ei=0#\n", + "es=11*10**-3#\n", + "ei=-5*10**-3#\n", + "#Shaft dia is D\n", + "D=d+es#\n", + "#Lower limit for hole is LLH\n", + "#Upper limit for hole is ULH\n", + "#Upper limit for shaft is ULS\n", + "#Lower limit for shaft is LLS\n", + "ULH=d+Es#\n", + "LLH=d+Ei#\n", + "ULS=d+es#\n", + "LLS=d+ei#\n", + "#Maximum interference is Cmax\n", + "#minimum interference is Cmin\n", + "Cmax=ULH-LLS#\n", + "Cmin=ULS-LLH##\n", + "\n", + " # printing data in scilab o/p window\n", + "print \" ULH is %0.3f mm \"%(ULH)#\n", + "print \"\\n LLH is %0.3f mm \"%(LLH)#\n", + "print \"\\n ULS is %0.3f mm \"%(ULS)#\n", + "print \"\\n LLS is %0.3f mm \"%(LLS)#\n", + "print \"\\n Cmax is %0.3f mm \"%(Cmax)#\n", + "print \"\\n Cmin is %0.3f mm \"%(Cmin)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch5_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch5_1.ipynb new file mode 100644 index 00000000..30efcbab --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch5_1.ipynb @@ -0,0 +1,258 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:5 Introduction to pressure vessels" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5-1 - Page 138" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t1 is 3.83 mm \n", + "\n", + "t2 is 3.894 mm \n" + ] + } + ], + "source": [ + "p=2#\n", + "Rm=220#\n", + "#tensile hoop or circumferential stress= sigt\n", + "sigr=-2#\n", + "#sigt=(p*Rm)/t#\n", + "Sa=230/2#\n", + "#t1=thickness according to maximum principal stress theory\n", + "#t2=thickness according to maximum shear stress theory\n", + "t1=(p*Rm)/Sa#\n", + "t2=(p*Rm)/(Sa+sigr)#\n", + "print \"t1 is %0.2f mm \"%(t1)#\n", + "print \"\\nt2 is %0.3f mm \"%(t2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5-2 - Page 139" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 17.0mm \n", + "\n", + "M is 2295.0mm \n", + "\n", + "sigb is 47.6mm \n", + "sigb is below allowable sigd.\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "from __future__ import division\n", + "#Elastic limit=sige\n", + "sige=310#\n", + "#inside diameter=di\n", + "di=300#\n", + "p=1.8#\n", + "FOS=2#\n", + "#design stress=sigd#\n", + "sigd=sige/2#\n", + "c=0.162#\n", + "d=380#\n", + "#cover plate thickness=t#\n", + "t=d*sqrt(c*p/sigd)#\n", + "t=17#\n", + "M=di*p*t/4#\n", + "\n", + "z=(1/6)*1*t**2#\n", + "#bending stress=sigb#\n", + "sigb=M/z#\n", + "print \"t is %0.1fmm \"%(t)#\n", + "print \"\\nM is %0.1fmm \"%(M)#\n", + "print \"\\nsigb is %0.1fmm \"%(sigb)#\n", + "if (sigb<=sigd):\n", + " print 'sigb is below allowable sigd.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5-3 - Page 140" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t1 is 24.0mm \n", + "\n", + "t2 is 30.206mm \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "sige=220#\n", + "v=0.29#\n", + "Ri=175#\n", + "FOS=3#\n", + "Sa=sige/3#\n", + "p=10#\n", + "#t1=thickness according to maximum principal stress theory\n", + "#t2=thickness according to maximum shear stress theory\n", + "x=Sa+(p*(1-(2*v)))#\n", + "y=Sa-(p*(1+v))#\n", + "t1=(sqrt(x/y)-1)*Ri#\n", + "t1=24#\n", + "#t1=((sqrt((Sa+(p*(1-(2*v)))))/(Sa-(p*(1+v))))-1)*Ri#\n", + "t2=Ri*((sqrt(Sa/(Sa-(2*p))))-1)#\n", + "# printing data in scilab o/p window\n", + "print \"t1 is %0.1fmm \"%(t1)#\n", + "print \"\\nt2 is %0.3fmm \"%(t2)#\n", + "#The answer to t2 is not calculated in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5-4 - Page 141" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t is 50.0mm \n" + ] + } + ], + "source": [ + "p=16#\n", + "Ri=250#\n", + "#Yield strength =sigy#\n", + "sigy=330#\n", + "v=0.3#\n", + "FOS=3#\n", + "Sa=sigy/3#\n", + "t=Ri*((sqrt(Sa/(Sa-(2*p))))-1)#\n", + "t=50#\n", + "\n", + "print \"t is %0.1fmm \"%(t)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5-5 - Page 141" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kb is 1546.253 N/mm \n", + "\n", + "The combines stiffness of bolt and gasket is 84.823 kN/mm\n" + ] + } + ], + "source": [ + "from math import pi,sqrt\n", + "d=15#\n", + "Eg=480#\n", + "t=3#\n", + "#flange thickness=ft#\n", + "ft=12#\n", + "A=pi*d**2/4#\n", + "l=d+t+(ft/2)#\n", + "E=210#\n", + "kb=A*E/l#\n", + "#effective area of gasket=Ag#\n", + "Ag=pi*(((ft+t+d)**2)-(d**2))/4#\n", + "kg=Ag*Eg/t#\n", + "# printing data in scilab o/p window\n", + "print \"kb is %0.3f N/mm \"%(kb)#\n", + "kb=kb*10**-3#\n", + "kg=kg*10**-3#\n", + "if (kb<=kg):\n", + " print \"\\nThe combines stiffness of bolt and gasket is %0.3f kN/mm\"%(kg)\n", + "\n", + "\n", + "#The difference in the value of kb is due to rounding-off the value of A \n", + " " + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch6_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch6_1.ipynb new file mode 100644 index 00000000..54908fbc --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch6_1.ipynb @@ -0,0 +1,378 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:6 Levers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-1 - Page 171" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d1 is 20.0 mm \n", + "\n", + " D is 40.0 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "Del=10#\n", + "k=500#\n", + "W=k*Del#\n", + "#Let load arm be l1\n", + "l1=200#\n", + "#Let effort arm be l2\n", + "l2=500#\n", + "P=W*l1/l2#\n", + "Ro=sqrt(W**2+P**2)#\n", + "Ta=40#\n", + "d=sqrt(Ro*4/(2*pi*Ta))#\n", + "d=10#\n", + "pb=10#\n", + "d1=sqrt(Ro/(pb*1.5))#\n", + "d1=20#\n", + "l=1.5*d#\n", + "t=10#\n", + "T=Ro*4/(2*pi*d1**2)#\n", + "M=(Ro/2*(l/2+t/3))-(Ro/2*l/4)#\n", + "sigb=32*M/(pi*d1**3)#\n", + "sigmax=(sigb/2)+sqrt((sigb/2)**2+T**2)#\n", + "P=Ro/(l*d1)#\n", + "D=2*d1#\n", + "print \" d1 is %0.1f mm \"%(d1)#\n", + "print \"\\n D is %0.1f mm \"%(D)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-2 - Page 172" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " h is 50.00 mm \n", + "\n", + " pmax is 74.43 MPa \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "d1=80#\n", + "p=0.981#\n", + "Ta=40#\n", + "siga=80#\n", + "pa=15#\n", + "W=pi*(d1**2)*p/4#\n", + "P=W/8#\n", + "Ws=W-P#\n", + "d=sqrt(W*4/(pi*2*Ta))#\n", + "l=1.5*d#\n", + "D=2*d#\n", + "T=W/(2*pi*pa**2/4)#\n", + "M1=P*(700-87.5-(D/2))#\n", + "h=50#\n", + "b=h/4#\n", + "Z=b*h**2/6#\n", + "sigb=M1/Z#\n", + "pmax=80#\n", + "T=2465.6/h**2#\n", + "pmax=(sigb/2)+sqrt((sigb/2)**2+T**2)#\n", + "print \" h is %0.2f mm \"%(h)#\n", + "print \"\\n pmax is %0.2f MPa \"%(pmax)#\n", + " \n", + "#The difference in the value of pmax is due to rounding-off the digits." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-3 - Page 173" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 2.0 KN \n", + "\n", + "pmax is 69.53 MPa \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "P=((4*360)+(2*360))/900#\n", + "Fv=4-2#\n", + "Fh=P#\n", + "Fr=sqrt(Fv**2+Fh**2)#\n", + "P1=4*0.36/0.9#\n", + "Rf=sqrt(4**2+1.6**2)#\n", + "d=sqrt(Rf*10**3/(15*1.25))#\n", + "d=16#\n", + "l=1.25*d#\n", + "T=Rf*10**3*4/(2*pi*d**2)#\n", + "D=2*d#\n", + "M1=Rf*10**3*(360-(D/2))#\n", + "pa=15#\n", + "h=80#\n", + "b=h/4#\n", + "Z=b*h**2/6#\n", + "sigb=M1/Z#\n", + "T=4310/(b*h)#\n", + "pmax=(sigb/2)+sqrt((sigb/2)**2+T**2)#\n", + "print \"P is %0.1f KN \"%(P)#\n", + "print \"\\npmax is %0.2f MPa \"%(pmax)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-4 - Page 174" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 30.0 mm \n", + "\n", + "D is 30.0 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "l=360#\n", + "P=400#\n", + "Mh=2*P*l/3#\n", + "sigb=50#\n", + "l1=60#\n", + "d=(Mh*32/(pi*l1))**(1/3)#\n", + "d=30#\n", + "L=420#\n", + "siga=60#\n", + "H=20#\n", + "B=H/3#\n", + "Mx=P*(L-H/2)#\n", + "Tx=2*P*l/3#\n", + "sigb1=Mx*18/H**3#\n", + "Td=P/(B*H)#\n", + "Tr=17.17*Tx/H**4#\n", + "T=Tr+Td#\n", + "sigmax=(sigb1/2)+sqrt((sigb1/2)**2+T**2)#\n", + "Tmax=sqrt((sigb1/2)**2+T**2)#\n", + "T=P*L#\n", + "M=P*(l1+(2/3*l))#\n", + "Te=sqrt(T**2+M**2)#\n", + "Ta=40#\n", + "D=(Te*16/(pi*Ta))**(1/3)#\n", + "D=30# #Rounding off to nearest whole number\n", + "print \"d is %0.1f mm \"%(d)#\n", + "print \"\\nD is %0.1f mm \"%(D)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-5 - Page 175" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 35.0 mm \n", + "\n", + " dh is 22.0 mm \n", + "\n", + " d1 is 56.0 mm \n", + "\n", + " l1 is 52.5 mm \n", + "\n", + " d2 is 32.0 mm \n", + "\n", + " b is 9.0 mm \n", + "\n", + " t is 6.0 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "l2=300#\n", + "l=450#\n", + "P=400#\n", + "Mx=2*P*l2/3#\n", + "siga=80#\n", + "dh=(Mx*32/(pi*siga))**(1/3)#\n", + "dh=22#\n", + "L=(2*l2/3)+l#\n", + "T=P*L#\n", + "Ta=40#\n", + "d=(T*16/(pi*Ta))**(1/3)#\n", + "d=35#\n", + "d1=1.6*d#\n", + "Th=T*16*d1/(pi*(d1**4-d**4))#\n", + "l1=1.5*d#\n", + "My=P*(L-(d1/2))#\n", + "B=dh#\n", + "H=sqrt(3.66*75)#\n", + "H=30#\n", + "Mz=P*l1/2#\n", + "Te=sqrt(T**2+Mz**2)#\n", + "d2=(Te*16/(pi*Ta))**(1/3)#\n", + "d2=32#\n", + "b=d/4#\n", + "b=9# #Rounding off to nearest whole number\n", + "t=d/6#\n", + "t=6# #Rounding off to nearest whole number\n", + "print \" d is %0.1f mm \"%(d)#\n", + "print \"\\n dh is %0.1f mm \"%(dh)#\n", + "print \"\\n d1 is %0.1f mm \"%(d1)#\n", + "print \"\\n l1 is %0.1f mm \"%(l1)#\n", + "print \"\\n d2 is %0.1f mm \"%(d2)#\n", + "print \"\\n b is %0.1f mm \"%(b)#\n", + "print \"\\n t is %0.1f mm \"%(t)#\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6-6 - Page 175" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 32.0 mm \n", + "\n", + " d1 is 52.0 mm \n", + "\n", + " l1 is 40.0 mm \n", + "\n", + " B is 15.0 mm \n", + "\n", + " H is 45.0 mm \n", + "\n", + " d2 is 38.0 mm \n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "L=450#\n", + "P=700#\n", + "T=P*L#\n", + "Ta=50#\n", + "d=(T*16/(pi*Ta))**(1/3)#\n", + "d=32#\n", + "d1=1.6*d#\n", + "d1=52# #Rounding off to nearest whole number\n", + "l1=1.25*d#\n", + "My=P*(L-d1/2)#\n", + "sigb=65#\n", + "H=(My*18/sigb)**(1/3)#\n", + "H=45#\n", + "B=H/3#\n", + "T1=P/(B*H)#\n", + "sigmax=(sigb/2)+sqrt((sigb/2)**2+T**2)#\n", + "Mx=P*l1/2#\n", + "Te=sqrt((T)**2+(Mx**2))#\n", + "d2=(Te*16/(pi*Ta))**(1/3)#\n", + "d2=d2+6#\n", + "d2=38# #Rounding off to nearest whole number\n", + "print \" d is %0.1f mm \"%(d)#\n", + "print \"\\n d1 is %0.1f mm \"%(d1)#\n", + "print \"\\n l1 is %0.1f mm \"%(l1)#\n", + "print \"\\n B is %0.1f mm \"%(B)#\n", + "print \"\\n H is %0.1f mm \"%(H)#\n", + "print \"\\n d2 is %0.1f mm \"%(d2)#\n", + " " + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch7_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch7_1.ipynb new file mode 100644 index 00000000..02b194b6 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch7_1.ipynb @@ -0,0 +1,310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:7 Struts and Columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-1 - Page 192" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "D is 130.0 mm \n", + "\n", + "d is 91.0 mm \n" + ] + } + ], + "source": [ + "from math import pi\n", + "sigc=550#\n", + "FOS=4#\n", + "sigw=sigc/FOS#\n", + "l=4000#\n", + "le=l/2#\n", + "A=pi*(1-0.7**2)/4#\n", + "K=(1+0.7**2)/16#\n", + "Pr=800*10**3#\n", + "a=1/1600#\n", + "D=130# #Rounding off to nearest whole number\n", + "d=D*0.7#\n", + "print \"D is %0.1f mm \"%(D)#\n", + "print \"\\nd is %0.1f mm \"%(d)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-2 - Page 192" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 37.44 mm \n", + "\n", + "b is 13.24 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "l=500#\n", + "E=70*10**3#\n", + "P=20*10**3#\n", + "FOS=2#\n", + "d=P*2*12*4*l**2/((pi)**2*E)#\n", + "d=(sqrt(8)*d)**0.25#\n", + "b=d/sqrt(8)#\n", + "print \"d is %0.2f mm \"%(d)#\n", + "print \"\\nb is %0.2f mm \"%(b)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-3 - Page193" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "FOS is 2.91 \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "Ixx=(2*1696.6)+115.4#\n", + "Iyy=1696.6+(2*115.4)+(2*25.27*10.27**2)#\n", + "A=3*25.27#\n", + "Kmin=sqrt(Ixx/75.81)#\n", + "L=600#\n", + "k=L/Kmin#\n", + "sigc=110#\n", + "c=1/200#\n", + "sigw=sigc*(1-(c*k))#\n", + "Pw=sigw*A#\n", + "a=1/7500#\n", + "sigc1=320#\n", + "Pr=(sigc1*A)/(1+(a*(L/Kmin)**2))#\n", + "FOS=Pr/Pw#\n", + "print \"FOS is %0.2f \"%(FOS)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-4 - Page 194" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 149.3 kN \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "Iyy=193.4+(2*1.2*1.5**3/12)#\n", + "E=200*10**3#\n", + "l=500#\n", + "Pe=(pi**2)*E*Iyy*10**5/(l**2)#\n", + "A=35.53+(2*1.2*15)#\n", + "sige=Pe/7530#\n", + "k=sqrt(Iyy/A)#\n", + "xc=75#\n", + "sig=80#\n", + "sigo=20.875#\n", + "A=A*100#\n", + "P=sigo*A#\n", + "P=P*10**-3#\n", + "print \"P is %0.1f kN \"%(P)#\n", + " \n", + "#The difference in the value of P is due to rounding-off the digits." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-5 - Page 195" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 38.2800 KN \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "sigc=330#\n", + "a=1/7500#\n", + "t=4#\n", + "A=14.5*t**2#\n", + "l=300#\n", + "Kx=sqrt(1.4626*t**2)#\n", + "Pr=sigc*A/(1+(a*(l/Kx)**2))#\n", + "FOS=2#\n", + "P=Pr/FOS*10**-3#\n", + "print \"P is %0.4f KN \"%(P)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-6 - Page 195" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "D is 8.0 mm \n", + "\n", + "d is 6.4 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "P=1500#\n", + "FOS=2#\n", + "Pd=FOS*P#\n", + "l=280#\n", + "E=207*10**3#\n", + "I=Pd*l**2/(pi**2*E)#\n", + "D=(64*I/(pi*(1-0.8**4)))**(1/4)#\n", + "D=8#\n", + "d=6.4#\n", + "print \"D is %0.1f mm \"%(D)#\n", + "print \"\\nd is %0.1f mm \"%(d)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 7-7 - Page 196" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d is 45.0 mm \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "D=500#\n", + "p=0.3#\n", + "E=208*10**3#\n", + "sigc=320#\n", + "a=1/7500#\n", + "l=2000#\n", + "le=l/2#\n", + "W=pi*D**2*p/4#\n", + "FOS=4#\n", + "Wd=W*FOS#\n", + "I=Wd*l**2/(pi**2*E)#\n", + "d=(64*I/pi)**(1/4)#\n", + "A=pi*d**2/4#\n", + "k=d/4#\n", + "d=45# #Rounding off to nearest whole number\n", + "print \"d is %0.1f mm \"%(d)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch8_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch8_1.ipynb new file mode 100644 index 00000000..23f4219b --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch8_1.ipynb @@ -0,0 +1,838 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:8 Springs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-1 - Page 224" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Ks is 1.0000 \n", + "\n", + " Kw is 1.1025 \n", + "\n", + " Kc is 1.103 \n", + "\n", + " The Spring Stiffness is 16.0 N/mm\n", + "\n", + " The Axial deflection is 18.000 mm\n" + ] + } + ], + "source": [ + "d=5#\n", + "D=30#\n", + "G=84*(10**3)#\n", + "Na=15#\n", + "#Axial Load W\n", + "W=300#\n", + "#Spring index C\n", + "C=30/5#\n", + "#Shear stress Augmentation factor Ks\n", + "Ks=((2*C)+1)/(2*C)#\n", + "#Wahl's factor Kw\n", + "Kw=(((4*C)-1)/((4*C)-4))+(0.615/C)#\n", + "#Curvature correction factor Kc\n", + "Kc=Kw/Ks#\n", + "#Spring stiffness k\n", + "k=(G*(d**4))/(8*(D**3)*Na)#\n", + "#Axial deflection delta\n", + "delta=W/k#\n", + "print \" Ks is %0.4f \"%(Ks)#\n", + "print \"\\n Kw is %0.4f \"%(Kw)#\n", + "print \"\\n Kc is %0.3f \"%(Kc)#\n", + "print \"\\n The Spring Stiffness is %0.1f N/mm\"%(k)#\n", + "print \"\\n The Axial deflection is %0.3f mm\"%(delta)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-2 - Page 224" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " wire diameter is 2.314 mm \n", + "\n", + " mean diameter is 18.516 mm \n", + "\n", + " Number of acting coils are 11.117 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "W=196.2#\n", + "lenthofscale=50#\n", + "k=196.2/50#\n", + "C=8#\n", + "Ks=(1+(0.5/C))#\n", + "\n", + "# Let us choose oil tempered wire 0.6-0.7 %C. Refer to Table 8-4 for constants A and m, relating strength wire \n", + "#diameter.\n", + "G=77.2*(10**3)#\n", + "A=1855#\n", + "m=0.187#\n", + "# equating Tmax=0.5*sig(ut).\n", + "# Ks*(8*W*D/(pi*(d**3)))=0.5*A/(d**2)\n", + "d1=(Ks*(8*W*C/(pi*A*0.5)))#\n", + "d=d1**(1/1.813)#\n", + "D=C*d#\n", + "Na=G*(d**4)/(8*(D**3)*k)#\n", + "#Solid length = SL\n", + "SL=(Na-1)*d\n", + "\n", + "print \" wire diameter is %0.3f mm \"%(d)#\n", + "print \"\\n mean diameter is %0.3f mm \"%(D)#\n", + "print \"\\n Number of acting coils are %0.3f \"%(Na)#\n", + "\n", + "#The difference in the values of d,D and Na is due to rounding-off the digits." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-3 - Page 225" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Ultimate tensile Strength is 2060.5 MPa \n", + "\n", + " Force at which the spring hook fails is 211.3 N \n" + ] + } + ], + "source": [ + "from math import pi\n", + "d=1.626#\n", + "A=2211#\n", + "m=0.145#\n", + "rm=3#\n", + "ri=(rm-(d/2))#\n", + "sigma=A/(d**m)#\n", + "W=(sigma*pi*(d**3)*ri)/(32*(rm**2))#\n", + "print \" Ultimate tensile Strength is %0.1f MPa \"%(sigma)#\n", + "print \"\\n Force at which the spring hook fails is %0.1f N \"%(W)#\n", + "\n", + "#The difference in the values of sigma and W is due to rounding-off the digits." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-4 - Page 226" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 2.337mm \n", + "\n", + " D is 22.20 mm\n", + "\n", + " Ls is 26.18 mm\n", + "\n", + " Lo is 83.68 mm\n", + "\n", + "The diameter is within space constraints\n" + ] + } + ], + "source": [ + "from math import pi\n", + "Do=25#\n", + "# mean coil diameter D=25-d\n", + "W=150#\n", + "T=800#\n", + "G=81000#\n", + "# Substituting values in equation T=8*W*D/(pi*(d**3))\n", + "# therefore, the equation becomes d**3 + 0.477*d = 11.936\n", + "#consider d=2.2mm, (d can be taken between 2.2-2.3mm)\n", + "d=2.337# #(nearest available wire gauge)\n", + "C=9.5#\n", + "D=22.2# \n", + "Do=D+d#\n", + "Ks=1+(0.5/C)#\n", + "Tmax=Ks*8*W*D/(pi*(d**3))#\n", + "# check for safety- Tmax<T#\n", + "Lo=100#\n", + "Ls=40#\n", + "#Lo=Ls+delta+0.15*delta\n", + "delta=(Lo-Ls)/1.15#\n", + "delta=50#\n", + "k=150/50#\n", + "Na=(G*d**4)/(8*(D**3)*k)#\n", + "\n", + "N=Na+2#\n", + "Ls=N*d#\n", + "Lo=Ls+(1.15*delta)#\n", + "print \" d is %0.3fmm \"%(d)#\n", + "print \"\\n D is %0.2f mm\"%(D)#\n", + "print \"\\n Ls is %0.2f mm\"%(Ls)#\n", + "print \"\\n Lo is %0.2f mm\"%(Lo)#\n", + "if (Do<=25):\n", + " print '\\nThe diameter is within space constraints'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-5A - Page 227" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 2.3mm \n", + "\n", + " C is 7.6 \n", + "\n", + " Na is 17.6 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "Di=15#\n", + "Do=20#\n", + "d=2.3#\n", + "D=17.5#\n", + "C=D/d#\n", + "Ks=1+(0.5/C)#\n", + "Wmax=100#\n", + "Tmax=Ks*8*Wmax*D/(pi*(d**3))#\n", + "G=81000#\n", + "delmax=67.7/2.366#\n", + "k=100/28#\n", + "Na=G*(d**4)/(8*k*(D**3))#\n", + "Ls=Na+1# #(for plain ends)\n", + "delmax=28#\n", + "#TL= total working length\n", + "TL=Ls+delmax+(0.15*delmax)#\n", + "print \" d is %0.1fmm \"%(d)#\n", + "print \"\\n C is %0.1f \"%(C)#\n", + "print \"\\n Na is %0.1f \"%(Na)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-6 - Page- 228" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tys is 686.9 MPa \n", + "\n", + " W is 41.1 N \n", + "\n", + " del is 30.457 mm \n", + "\n", + " Ls is 15.2375 mm \n", + "\n", + " Lo is 50.26 mm \n" + ] + } + ], + "source": [ + "from math import pi\n", + "# 18 SWG=1.219MM in dia\n", + "d=1.219#\n", + "E=198.6*10**3#\n", + "G=80.7*10**3#\n", + "m=0.19#\n", + "A=1783#\n", + "sig=A/(d**m)#\n", + "Tys=(0.4*sig)#\n", + "Do=12.5#\n", + "D=Do-d#\n", + "C=D/d#\n", + "Ks=((2*C)+1)/(2*C)#\n", + "W=(Tys*pi*(d**3))/(8*D*Ks)#\n", + "Nt=13.5#\n", + "Na=Nt-2#\n", + "Del=(8*W*(D**3)*Na)/(G*(d**4))#\n", + "Ls=(Nt-1)*d#\n", + "Lo=Ls+Del+(0.15*Del)#\n", + "print \" Tys is %0.1f MPa \"%(Tys)#\n", + "print \"\\n W is %0.1f N \"%(W)#\n", + "print \"\\n del is %0.3f mm \"%(Del)#\n", + "print \"\\n Ls is %0.4f mm \"%(Ls)#\n", + "print \"\\n Lo is %0.2f mm \"%(Lo)#\n", + " \n", + "#Answers in the book for Torsional yeild strength have been rounded-off to the nearest whole number." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-7 - Page 228" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tys is 992.7 MPa \n", + "\n", + " Do is 12.6 N \n", + "\n", + " W is 33.8 N \n", + "\n", + " k is 0.496 N \n", + "\n", + " del is 68.20 mm \n", + "\n", + " Ls is 15.24 mm \n", + "\n", + " Lo is 93.669 mm \n", + "The spring will fail under buckling\n" + ] + } + ], + "source": [ + "from math import pi\n", + "d=1.016#\n", + "A=2211#\n", + "m=0.145#\n", + "G=81000#\n", + "Nt=16#\n", + "Na=16-2#\n", + "sig=A/(d**m)#\n", + "Tys=0.45*sig#\n", + "Do=12.6#\n", + "D=Do-d#\n", + "C=D/d#\n", + "Ks=1+(0.5/C)#\n", + "W=(Tys*pi*(d**3))/(8*D*Ks)#\n", + "k=(G*(d**4))/(8*(D**3)*Na)#\n", + "Del=W/k#\n", + "Ls=(Nt-1)*d#\n", + "Lo=Ls+(1.15*Del)#\n", + "\n", + "print \"Tys is %0.1f MPa \"%(Tys)#\n", + "print \"\\n Do is %0.1f N \"%(Do)#\n", + "print \"\\n W is %0.1f N \"%(W)#\n", + "print \"\\n k is %0.3f N \"%(k)#\n", + "print \"\\n del is %0.2f mm \"%(Del)#\n", + "print \"\\n Ls is %0.2f mm \"%(Ls)#\n", + "print \"\\n Lo is %0.3f mm \"%(Lo)#\n", + " \n", + "if ((Lo/D)>=5.26):\n", + " print 'The spring will fail under buckling'\n", + "\n", + "\n", + "#Values after the decimal point has not been considered for answer of Torsional yeild strength in the book, whereas answers for deflection and free-length is different as entire value of variables is taken for calculation in the code." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-8 - Page 229" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "k is 3.000 N/mm \n", + "\n", + " W is 77.5 N \n", + "\n", + " Lo is 49.720 mm \n", + "\n", + " p is 5.302 mm \n", + "The spring will fail under buckling\n" + ] + } + ], + "source": [ + "from math import pi\n", + "d=2#\n", + "Do=20#\n", + "D=Do-d#\n", + "C=D/d#\n", + "Na=9#\n", + "#Material hard drawn spring steel\n", + "A=1783#\n", + "m=0.19#\n", + "G=81000#\n", + "sig=A/(d**m)#\n", + "Tys=0.45*sig\n", + "Kf=1.5#\n", + "Ta=Tys/Kf#\n", + "Ks=1+(0.5/C)#\n", + "W=(Ta*pi*(d**3))/(8*D*Ks)#\n", + "k=(G*(d**4))/(8*(D**3)*Na)#\n", + "Del=W/k#\n", + "Lo=((Na+1)*d)+(1.15*Del)#\n", + "p=(Lo-d)/Na#\n", + "print \"k is %0.3f N/mm \"%(k)#\n", + "print \"\\n W is %0.1f N \"%(W)#\n", + "print \"\\n Lo is %0.3f mm \"%(Lo)#\n", + "print \"\\n p is %0.3f mm \"%(p)\n", + " \n", + " \n", + "if ((Lo)>=47.34):\n", + " print 'The spring will fail under buckling'\n", + "\n", + "#The answer for value of spring rate 'k' is misprinted in the book. Due to this all subsequent values of del,Lo,p is calucated incorrectly in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-9 - Page 230" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Maximum Torque is 497.25 Nmm \n", + "\n", + " theta3 is 0.327 turns \n", + "\n", + " Ne is 0.293 turns \n", + "\n", + " ke is 22089.3 N/mm \n", + "\n", + " theta1+theta2 is 0.0225 turns \n", + "\n", + " D1 is 13.46 mm \n", + "\n", + " IRC is 0.75 mm \n", + "\n", + " FRC is 0.23 mm \n" + ] + } + ], + "source": [ + "from math import pi\n", + "# for music wire\n", + "d1=11.5#\n", + "A=2211#\n", + "d=1.5#\n", + "m=0.145#\n", + "sigut=A/(d**m)#\n", + "sigy=0.78*sigut#\n", + "Do=16#\n", + "E=2*(10**5)#\n", + "Nb=4.25#\n", + "D=Do-d#\n", + "C=D/d#\n", + "Ki=((4*(C**2))-C-1)/(4*C*(C-1))#\n", + "Mmax=(sigy*pi*(d**3))/(32*Ki)#\n", + "kc=((d**4)*E)/(10.8*D*Nb)#\n", + "theta3=Mmax/kc#\n", + "l1=20#\n", + "l2=20#\n", + "Ne=(l1+l2)/(3*pi*D)#\n", + "Na=Nb+Ne#\n", + "k=((d**4)*E)/(10.8*Na*D)#\n", + "thetat=Mmax/k#\n", + "ke=(3*pi*(d**4)*E)/(10.8*(l1+l2))#\n", + "# angdisp=theta1+theta2=Mmax/ke#\n", + "angdisp=Mmax/ke#\n", + "#D1 is final coil diameter\n", + "D1=(Nb*D)/(Nb+theta3)#\n", + "#IRC=Initial radial clearance\n", + "IRC=((D-d)-d1)/2#\n", + "#FRC=Final radial clearance\n", + "FRC=((D1-d)-d1)/2#\n", + "\n", + "\n", + "\n", + "print \" Maximum Torque is %0.2f Nmm \"%(Mmax)#\n", + "print \"\\n theta3 is %0.3f turns \"%(theta3)#\n", + "print \"\\n Ne is %0.3f turns \"%(Ne)#\n", + "print \"\\n ke is %0.1f N/mm \"%(ke)#\n", + "print \"\\n theta1+theta2 is %0.4f turns \"%(angdisp)#\n", + "print \"\\n D1 is %0.2f mm \"%(D1)#\n", + "print \"\\n IRC is %0.2f mm \"%(IRC)#\n", + "print \"\\n FRC is %0.2f mm \"%(FRC)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-10 - Page 231" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " d is 2.0 mm \n", + "\n", + " D is 15.0 mm \n", + "\n", + " Na is 11.00 mm \n" + ] + } + ], + "source": [ + "from math import pi\n", + "A=1783#\n", + "m=0.190#\n", + "d=1.5#\n", + "D=15#\n", + "M=300#\n", + "E=20800#\n", + "k=30#\n", + "#sigult= ultimate strength of the material\n", + "# sigy= yield strength of the material\n", + "sigult=A/(d**m)#\n", + "sigy=0.7*sigult#\n", + "#siga= allowable yield strength of the material\n", + "siga=sigy/2#\n", + "C=D/d#\n", + "Ki=(4*(C**2)-C-1)/(4*C*(C-1))#\n", + "Z=pi*(d**3)/32#\n", + "#sigb=bending strength of the material#\n", + "sigb=Ki*M/Z#\n", + "while (sigb>=siga) :\n", + " d=d+0.15#\n", + " D=15#\n", + " C=D/d#\n", + " sigult=A/(d**m)#\n", + " sigy=0.7*sigult#\n", + " siga=sigy/2#\n", + " Ki=(4*(C**2)-C-1)/(4*C*(C-1))#\n", + " Z=pi*(d**3)/32#\n", + " sigb=Ki*M/Z#\n", + "\n", + "d=2## rounding off the value of the diameter.\n", + "Na=(d**4)*E/(64*D*k)#\n", + "print \" d is %0.1f mm \"%(d)#\n", + "print \"\\n D is %0.1f mm \"%(D)#\n", + "print \"\\n Na is %0.2f mm \"%(Na)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-11 - Page 231" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " t is 14 mm \n", + "\n", + " Wf is 10909 N \n", + "\n", + " I is 34300 mm**4 \n", + "\n", + " del is 52.0 mm \n" + ] + } + ], + "source": [ + "from math import pi\n", + "L=1180#\n", + "W=40*(10**3)#\n", + "Nf=2#\n", + "Ng=8#\n", + "E=207*(10**3)#\n", + "#sigut is ultimate strength\n", + "sigut=1400#\n", + "FOS=2#\n", + "#siga= allowable yield strength of the material\n", + "siga=1400/2#\n", + "#sigbf=bending strength in full length\n", + "sigbf=700#\n", + "b=75#\n", + "t=((4.5*W*L)/(((3*Nf)+(2*Ng))*sigbf))**(0.5)#\n", + "t=14#\n", + "I=(Nf*b*(t**3))/12#\n", + "Wf=(3*Nf*W)/((3*Nf)+(2*Ng))#\n", + "Del=(Wf*(L**3))/(48*E*I)#\n", + "print \" t is %0.0f mm \"%(t)#\n", + "print \"\\n Wf is %0.0f N \"%(Wf)#\n", + "print \"\\n I is %0.0f mm**4 \"%(I)#\n", + "print \"\\n del is %0.1f mm \"%(Del)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-12A - Page 232" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " t is 15.0 mm \n", + "\n", + " deli is 16.0 mm \n", + "\n", + " Wi is 6366 N \n" + ] + } + ], + "source": [ + "W=80000#\n", + "sigbfr=500#\n", + "L=1100#\n", + "Nf=3#\n", + "Ng=10#\n", + "N=Nf+Ng#\n", + "t=((1.5*W*L)/(N*6*sigbfr))**(1/3)#\n", + "t=15#\n", + "b=6*t#\n", + "E=207*10**3#\n", + "deli=(W*(L**3))/(8*E*N*b*(t**3))#\n", + "Wi=(W*Nf*Ng)/(N*((3*Nf)+(2*Ng)))#\n", + "print \" t is %0.1f mm \"%(t)#\n", + "print \"\\n deli is %0.1f mm \"%(deli)#\n", + "print \"\\n Wi is %0.0f N \"%(Wi)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-13 - Page 233" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tm is 169.77 MPa \n", + "\n", + " Ta is 86.2 MPa \n", + "\n", + " FOS is 1.548 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "#ultimate strength=sigut\n", + "sigut=1500#\n", + "C=7#\n", + "d=3#\n", + "D=C*d#\n", + "Ks=1+(0.5/C)#\n", + "Kw=(((4*C)-1)/((4*C)-4))+(0.615/C)#\n", + "Pmax=120#\n", + "Pmin=40#\n", + "Pm=80#\n", + "Tm=(Ks*8*Pm*D)/(pi*(d**3))#\n", + "Ta=(Kw*8*Pmin*D)/(pi*(d**3))#\n", + "Tse=0.22*sigut#\n", + "Tys=0.45*sigut#\n", + "x=(Tys-(0.5*Tse))/(0.5*Tse)#\n", + "y=((x)*Ta)+Tm#\n", + "FOS=(Tys/y)#\n", + "print \" Tm is %0.2f MPa \"%(Tm)#\n", + "print \"\\n Ta is %0.1f MPa \"%(Ta)#\n", + "print \"\\n FOS is %0.3f \"%(FOS)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 8-14 - Page 234" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Tm is 186.64 MPa \n", + "\n", + " Ta is 126.337 MPa \n", + "\n", + " FOS is 1.26 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "Tse=360#\n", + "Tys=660#\n", + "d=25#\n", + "P=0.03#\n", + "m=40#\n", + "Pmin=((pi*(d**2)*P)/4)+(m*9.81/1000)#\n", + "k=6#\n", + "#Additional load= Padd=k*further compression in spring\n", + "Padd=k*10#\n", + "Pmax=Padd+Pmin#\n", + "Pm=(Pmax+Pmin)/2#\n", + "Pa=(Pmax-Pmin)/2#\n", + "d=2#\n", + "D=12#\n", + "C=6#\n", + "Ks=1+(0.5/C)#\n", + "Ks=1.083#\n", + "Kw=(((4*C)-1)/((4*C)-4))+(0.615/C)#\n", + "Ta=(Kw*8*Pa*D)/(pi*(d**3))#\n", + "Tm=(Ks*8*Pm*D)/(pi*(d**3))#\n", + "x=(Tys-(0.5*Tse))/(0.5*Tse)#\n", + "y=((x)*Ta)+Tm#\n", + "FOS=(Tys/y)#\n", + "print \" Tm is %0.2f MPa \"%(Tm)#\n", + "print \"\\n Ta is %0.3f MPa \"%(Ta)#\n", + "print \"\\n FOS is %0.2f \"%(FOS)#" + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/Ch9_1.ipynb b/Machine_Design_by_U.C._Jindal/Ch9_1.ipynb new file mode 100644 index 00000000..ff92060a --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/Ch9_1.ipynb @@ -0,0 +1,361 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch:9 Threaded Fasteners" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-1 - Page 266" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " At1 is 156.7 mm**2 \n", + "\n", + " At2 is 167.2 mm**2 \n" + ] + } + ], + "source": [ + "from math import pi\n", + "p1=2#\n", + "d=16#\n", + "dt1=d-(0.93825*p1)#\n", + "At1=pi*dt1**2/4#\n", + "p2=1.5#\n", + "d=16#\n", + "dt2=d-(0.93825*p2)#\n", + "At2=pi*dt2**2/4#\n", + "\n", + "print \" At1 is %0.1f mm**2 \"%(At1)#\n", + "print \"\\n At2 is %0.1f mm**2 \"%(At2)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-2 - Page 266" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At is 62.0 mm**2 \n" + ] + } + ], + "source": [ + "W=20*10**3#\n", + "n=4#\n", + "#Let the load on each bolt be W1\n", + "W1=W/n#\n", + "At=W1/80#\n", + "\n", + "print \"At is %0.1f mm**2 \"%(At)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-3 - Page 267" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "K is 0.18343 \n" + ] + } + ], + "source": [ + "from math import atan, tan, cos,pi\n", + "d=18#\n", + "p=2.5#\n", + "dr=d-(1.2268*p)#\n", + "dm=(d+dr)/2#\n", + "alpha=atan(p/(pi*dm))#\n", + "theta=pi*30/180#\n", + "u1=0.15#\n", + "u2=0.13#\n", + "x=(tan(alpha)+(u1/cos(theta)))/(1-(tan(alpha)*u1/cos(theta)))#\n", + "K=dm*x/(2*d)+(0.625*u2)#\n", + "print \"K is %0.5f \"%(K)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-4 - Page 267" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "final stress is 123.28 N/mm**2 \n" + ] + } + ], + "source": [ + "from math import log,pi\n", + "d=20#\n", + "t=4#\n", + "Lg=84#\n", + "Ad=pi*d**2/4#\n", + "Eb=205*10**3#\n", + "Ed=105*10**3#\n", + "kb=Ad*Eb/Lg#\n", + "lg=80#\n", + "x=5*(lg+(0.5*d))/(lg+(2.5*d))#\n", + "kp=pi*Ed*d/(2*log(x))#\n", + "At=245#\n", + "sigb=105#\n", + "Pe=20*10**3#\n", + "Pb=Pe*kb/(kb+kp)#\n", + "sigad=Pb/At#\n", + "finalst=sigb+sigad#\n", + "\n", + "print \"final stress is %0.2f N/mm**2 \"%(finalst)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-5 - Page 268" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ti is 156.97 Nm \n" + ] + } + ], + "source": [ + "from math import atan, tan, cos,pi,log\n", + "Eb=207*10**3#\n", + "Ec=105*10**3#\n", + "sigp=650#\n", + "At=115#\n", + "Pi=0.75*sigp*At#\n", + "F=sigp*At#\n", + "#Let the additional load Fadd\n", + "Padd=F-Pi#\n", + "d=14#\n", + "Ad=pi*d**2/4#\n", + "Lg=63#\n", + "kb=Ad*Eb/Lg#\n", + "lg=60#\n", + "x=5*(lg+(0.5*d))/(lg+(2.5*d))#\n", + "km=pi*Ec*d/(2*log(x))#\n", + "C=kb/(kb+km)#\n", + "Pe=Padd/C#\n", + "K=0.2#\n", + "Ti=Pi*K*d*10**-3#\n", + "\n", + "print \"Ti is %0.2f Nm \"%(Ti)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-6 - Page 269" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sigi is 489.0 MPa \n", + "\n", + " sigi is 532.65 MPa \n", + "\n", + " T is 432 Nm \n", + "\n", + " E1 is 0.000 \n", + "\n", + " E2 is 0.888 \n" + ] + } + ], + "source": [ + "from math import atan, tan, cos,pi\n", + "d=20#\n", + "sigp=600#\n", + "At=245#\n", + "Pi=120*10**3#\n", + "Pe=30*10**3#\n", + "C=0.35#\n", + "Pb=C*Pe#\n", + "P=Pi+Pb#\n", + "sigi=Pi/At#\n", + "sigf=P/At#\n", + "K=0.18#\n", + "T=K*d*Pi*10**-3#\n", + "E1=sigi/sigp#\n", + "E2=sigf/sigp#\n", + "\n", + "print \" sigi is %0.1f MPa \"%(sigi)#\n", + "print \"\\n sigi is %0.2f MPa \"%(sigf)#\n", + "print \"\\n T is %0.0f Nm \"%(T)#\n", + "print \"\\n E1 is %0.3f \"%(E1)#\n", + "print \"\\n E2 is %0.3f \"%(E2)#\n", + " \n", + "#Value upto tenthth place is considered in the book for value of final stress in bolt, 'sigf'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-7 - Page 269" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P is 13.758 kN \n" + ] + } + ], + "source": [ + "from math import sqrt,pi\n", + "p=2#\n", + "d=16#\n", + "dt=d-(0.938*p)#\n", + "At=pi*dt**2/4#\n", + "r=60*sqrt(2)#\n", + "Td=1/(4*At)#\n", + "Ta=120#\n", + "T=8.722*10**-3#\n", + "P=Ta/T*10**-3#\n", + "\n", + "print \"P is %0.3f kN \"%(P)#\n", + " \n", + "#Value upto hundredth place is considered in the book for value of permissible load, 'P'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 9-8 - Page 270" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The eccentric load is 22.377116 N \n", + "P is 22.377 kN \n" + ] + } + ], + "source": [ + "sigyp=460#\n", + "FOS=2#\n", + "Ts=0.577*sigyp/FOS#\n", + "At=245#\n", + "r=100#\n", + "P=Ts*At/1.453*10**-3#\n", + "print \"The eccentric load is %f N \"%(P)\n", + "print \"P is %0.3f kN \"%(P)#\n", + "#Value of thousandth place of eccentric load, 'P' is misprinted in the book. " + ] + } + ], + "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 +} diff --git a/Machine_Design_by_U.C._Jindal/screenshots/Chapter-3stressgraph_1.png b/Machine_Design_by_U.C._Jindal/screenshots/Chapter-3stressgraph_1.png Binary files differnew file mode 100644 index 00000000..8b1f0efc --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/screenshots/Chapter-3stressgraph_1.png diff --git a/Machine_Design_by_U.C._Jindal/screenshots/Chapter-_8AdditionalLoad_1.png b/Machine_Design_by_U.C._Jindal/screenshots/Chapter-_8AdditionalLoad_1.png Binary files differnew file mode 100644 index 00000000..e2ec2d6d --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/screenshots/Chapter-_8AdditionalLoad_1.png diff --git a/Machine_Design_by_U.C._Jindal/screenshots/Chapter11_-_strengthofrevet_1.png b/Machine_Design_by_U.C._Jindal/screenshots/Chapter11_-_strengthofrevet_1.png Binary files differnew file mode 100644 index 00000000..15578bc7 --- /dev/null +++ b/Machine_Design_by_U.C._Jindal/screenshots/Chapter11_-_strengthofrevet_1.png diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter1_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter1_1.ipynb new file mode 100644 index 00000000..cacdcfd2 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter1_1.ipynb @@ -0,0 +1,983 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-1 : Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.1 page 1" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Connected Load = 1120.00 W \n", + "(b) Maximum demand = 520.00 W \n", + "(c) Demand factor = 0.464\n", + "(d) Energy consumed during 24 hours = 4.94 kWh \n", + "(e) Energy consumed during 24 hours if all devices are used = 26.88 kWh\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "import numpy as np\n", + "B=100 #W(8Bulb)\n", + "F=60 #W(2Fan)\n", + "L=100 #W(2Light)\n", + "LoadConnected=8*B+2*F+2*L #W\n", + "print \"(a) Connected Load = %0.2f W \"%LoadConnected\n", + "#12 midnight to 5am\n", + "demand1=1*F #W\n", + "#5am to 7am\n", + "demand2=2*F+1*L #W\n", + "#7am to 9am\n", + "demand3=0 #W\n", + "#9am to 6pm\n", + "demand4=2*F #W\n", + "#6pm to midnight\n", + "demand5=2*F+4*B #W\n", + "DEMAND=np.array([demand1,demand2, demand3, demand4, demand5])\n", + "max_demand=max(DEMAND) \n", + "print \"(b) Maximum demand = %0.2f W \"%max_demand \n", + "df=max_demand/LoadConnected #demand factor\n", + "print \"(c) Demand factor = %0.3f\"%df \n", + "E=demand1*5+demand2*2+demand3*2+demand4*9+demand5*6 #Wh\n", + "E=E/1000 #kWh\n", + "print \"(d) Energy consumed during 24 hours = %0.2f kWh \"%E\n", + "Edash=LoadConnected*24/1000 #kWh\n", + "print \"(e) Energy consumed during 24 hours if all devices are used = %0.2f kWh\"%Edash" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.2 page 3" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Demand factor of consumer A & B are : 0.44 & 0.33\n", + "Group diversity factor = 1.909\n", + "Energy consumed by A & B during 24 hours = 5.50 & 6.90 kWh \n", + "Maximum energy consumer A & B can consume during 24 hours = 26.40 & 24.00 kWh \n", + "Ratio of actual energy to maximum energy of consumer A & B : 0.2083 & 0.2875\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "LoadA=2.5*1000 #W\n", + "#12 midnight to 5am\n", + "d1A=100 #W\n", + "#5am to 6am\n", + "d2A=1.1*1000 #W\n", + "#6am to 8am\n", + "d3A=200 #W\n", + "#8am to 5pm\n", + "d4A=0 #W\n", + "#5pm to 12 midnight\n", + "d5A=500 #W\n", + "LoadB=3*1000 #W\n", + "#11 pm to 7am\n", + "d1B=0 #W\n", + "#7 am to 8 am\n", + "d2B=300 #W\n", + "#8 am to 10 am\n", + "d3B=1*1000 #W\n", + "#10 am to 6 pm\n", + "d4B=200 #W\n", + "#6 pm to 11 pm\n", + "d5B=600 #W\n", + "DEMAND_A=np.array([d1A, d2A, d3A, d4A, d5A]) #W\n", + "DEMAND_B=np.array([d1B, d2B, d3B, d4B, d5B]) #W\n", + "max_demand_A=max(DEMAND_A) #W\n", + "max_demand_B=max(DEMAND_B) #W\n", + "df_A=max_demand_A/LoadA #demand factor\n", + "df_B=max_demand_B/LoadB #demand factor\n", + "print \"Demand factor of consumer A & B are : %0.2f & %0.2f\"%(df_A,df_B) \n", + "gd_factor=(max_demand_A+max_demand_B)/max_demand_A \n", + "print \"Group diversity factor = %0.3f\"%gd_factor\n", + "E_A=d1A*5+d2A*1+d3A*2+d4A*9+d5A*7 #Wh\n", + "E_B=d1B*8+d2B*1+d3B*2+d4B*8+d5B*5 #Wh\n", + "E_A=E_A/1000 #kWh\n", + "E_B=E_B/1000 #kWh\n", + "print \"Energy consumed by A & B during 24 hours = %0.2f & %0.2f kWh \"%(E_A,E_B)\n", + "Emax_A=max_demand_A*24/1000 #kWh\n", + "Emax_B=max_demand_B*24/1000 #kWh\n", + "print \"Maximum energy consumer A & B can consume during 24 hours = %0.2f & %0.2f kWh \"%(Emax_A,Emax_B)\n", + "ratio_A=E_A/Emax_A \n", + "ratio_B=E_B/Emax_B \n", + "print \"Ratio of actual energy to maximum energy of consumer A & B : %0.4f & %0.4f\"%(ratio_A,ratio_B) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.3 page 6" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Increase in system peak demand 438.00 kW\n" + ] + } + ], + "source": [ + "n1=600 #No. of apartments\n", + "L1=5 #kW#Each Apartment Load\n", + "n2=20 #No. of general purpose shops\n", + "L2=2 #kW#Each Shop Load\n", + "df=0.8 #demand factor\n", + "#1 Floor mill\n", + "L3=10 #kW#Load\n", + "df3=0.7 #demand factor\n", + "#1 Saw mill\n", + "L4=5 #kW#Load\n", + "df4=0.8 #demand factor\n", + "#1 Laundry\n", + "L5=20 #kW#Load\n", + "df5=0.65 #demand factor\n", + "#1 Cinema\n", + "L6=80 #kW#Load\n", + "df6=0.5 #demand factor\n", + "#Street lights\n", + "n7=200 #no. of tube lights\n", + "L7=40 #W#Load of each light\n", + "#Residential Load\n", + "df8=0.5 #demand factor\n", + "gdf_r=3 #group diversity factor\n", + "pdf_r=1.25 #peak diversity factor\n", + "#Commertial Load\n", + "gdf_c=2 #group diversity factor\n", + "pdf_c=1.6 #peak diversity factor\n", + "#Solution :\n", + "#Maximum demand of each apartment\n", + "dmax_1a=L1*df8 #kW\n", + "#Maximum demand of 600 apartment\n", + "dmax_a=n1*dmax_1a/gdf_r #kW\n", + "#demand of apartments at system peak time\n", + "d_a_sp=dmax_a/pdf_r #kW\n", + "#Maximum Commercial demand\n", + "dmax_c=(n2*L2*df+L3*df3+L4*df4+L5*df5+L6*df6)/gdf_c #kW\n", + "#Commercial demand at system peak time\n", + "d_c_sp=dmax_c/pdf_c #kW\n", + "#demand of street light at system peak time\n", + "d_sl_sp=n7*L7/1000 #kW\n", + "#Increase in system peak demand\n", + "DI=d_a_sp+d_c_sp+d_sl_sp #kW\n", + "print \"Increase in system peak demand %0.2f kW\" %DI," + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.4 page 12" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy Supplied by the plant in 24 hours = 1420.00 MWh\n", + "Load Factor = 59.17 % \n" + ] + } + ], + "source": [ + "#12 to 5 am\n", + "L1=20 #MW\n", + "t1=5 #hours\n", + "#5 to 9 am\n", + "L2=40 #MW\n", + "t2=4 #hours\n", + "#9 to 6 pm\n", + "L3=80 #MW\n", + "t3=9 #hours\n", + "#6 to 10 pm\n", + "L4=100 #MW\n", + "t4=4 #hours\n", + "#10 to 12 am\n", + "L5=20 #MW\n", + "t5=2 #hours\n", + "#Energy Poduced in 24 hours\n", + "E=L1*t1+L2*t2+L3*t3+L4*t4+L5*t5 #MWh\n", + "print \"Energy Supplied by the plant in 24 hours = %0.2f MWh\" %E\n", + "LF=E/24 #%#Load Factor\n", + "print \"Load Factor = %0.2f %% \"%LF " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.5 page 13" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Capacity Factor = 0.473\n", + "Utilisation Factor = 0.8\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "C=125 #MW#Installed Capacity\n", + "#12 to 5 am\n", + "L1=20 #MW\n", + "t1=5 #hours\n", + "#5 to 9 am\n", + "L2=40 #MW\n", + "t2=4 #hours\n", + "#9 to 6 pm\n", + "L3=80 #MW\n", + "t3=9 #hours\n", + "#6 to 10 pm\n", + "L4=100 #MW\n", + "t4=4 #hours\n", + "#10 to 12 am\n", + "L5=20 #MW\n", + "t5=2 #hours\n", + "#Energy Poduced in 24 hours\n", + "E=L1*t1+L2*t2+L3*t3+L4*t4+L5*t5 #MWh\n", + "LF=E/24 #%#Load Factor\n", + "CF=LF/C #%#Capacity Factor\n", + "print \"Capacity Factor = %0.3f\" %CF\n", + "UF=100/C #%#Utilisation Factor\n", + "print \"Utilisation Factor = %.1f\" %UF" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.6 page 13" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f007c994c50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, show, title, xlabel, ylabel, subplot\n", + "from numpy import array\n", + "import numpy as np\n", + "#12 to 5 am & 10 to 12 am\n", + "L1=20 #MW\n", + "E1=L1*24 #MWh\n", + "#5 to 9 am\n", + "L2=40 #MW\n", + "E2=E1+(L2-L1)*17 #MWh\n", + "#9 to 6 pm\n", + "L3=80 #MW\n", + "E3=E2+(L3-L2)*13 #MWh\n", + "#6 to 10 pm\n", + "L4=100 #MW\n", + "E4=E3+(L4-L3)*4 #MWh\n", + "#Plotting Energy load curve\n", + "L=np.array([0,L1,L2,L3,L4]) #MW\n", + "E=np.array([0,E1,E2,E3,E4]) #Mwh\n", + "subplot(2,1,1)\n", + "plot(E,L)\n", + "xlabel('Energy(MWh)') \n", + "ylabel('Load(MW)') \n", + "title('Energy Load Curve') \n", + "#Energy Supplied\n", + "#Upto 5am\n", + "t1=5 #hours\n", + "E1=L1*t1 #MWh\n", + "#Upto 9am\n", + "t2=4 #hours\n", + "E2=E1+L2*t2 #MWh\n", + "#Upto 6pm\n", + "t3=9 #hours\n", + "E3=E2+L3*t3 #MWh\n", + "#Upto 10pm\n", + "t4=4 #hours\n", + "E4=E3+L4*t4 #MWh\n", + "#Upto 12pm\n", + "t4=2 #hours\n", + "E4=E3+L4*t4 #MWh\n", + "#Plotting Mass curve\n", + "T=[0,1,2,3,4] #MW\n", + "E=[0,E1,E2,E3,E4] #Mwh\n", + "subplot(2,1,2)\n", + "plot(T,E)\n", + "ylabel('Ener2y(MWh)') \n", + "xlabel('0-1: 12-5am 1-2: 5-9am 2-3: 9-6pm 3-4: 6-10pm above4: 10-12pm') \n", + "title('Mass Curve') \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.7 page 14" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Load Factor : 0.625\n", + "(b) Plant Capacity = 50.00 MW \n", + "(c) Reserve Capacity = 10.00 MW \n", + "(d) Annual Energy Production = 219000.00 MWh \n" + ] + } + ], + "source": [ + "dmax=40 #MW#Maximum demand\n", + "CF=0.5 #Capacity Factor\n", + "UF=0.8 #Utilisation Factor\n", + "LF=CF/UF #/Load Factor\n", + "print \"(a) Load Factor : %0.3f\"%LF \n", + "C=dmax/UF #MW#Plant Capacity\n", + "print \"(b) Plant Capacity = %0.2f MW \"%C \n", + "RC=C-dmax #MW#Reserve Capacity\n", + "print \"(c) Reserve Capacity = %0.02f MW \"%RC \n", + "p=dmax*LF*24*365 #MWh#Annual Energy Production\n", + "print \"(d) Annual Energy Production = %0.2f MWh \"%p " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.8 page 14" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy required in one day = 2060.00 MWh \n", + "Daily Load Factor = 57.22 %\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f0075471a50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, show, title, xlabel, ylabel, subplot\n", + "#from numpy import array\n", + "L1=50 #MW#Initial\n", + "t1=5 #hours\n", + "L2=50 #MW#5am\n", + "t2=4 #hours\n", + "L3=100 #MW#9am\n", + "t3=9 #hours\n", + "L4=100 #MW#6pm\n", + "t4=2 #hours\n", + "L5=150 #MW#8pm\n", + "t5=2 #hours\n", + "L6=80 #MW#10pm\n", + "t6=2 #hours\n", + "L7=50 #MW\n", + "#Energy Required in 24 hours\n", + "E=L1*t1+(L2+L3)/2*t2+(L3+L4)/2*t3+(L4+L5)/2*t4+(L5+L6)/2*t5+(L6+L1)/2*t6 #MWh\n", + "print \"Energy required in one day = %0.2f MWh \"%E \n", + "DLF=E/L5/24*100 #%#Daily Load Factor\n", + "print \"Daily Load Factor = %0.2f %%\" %DLF\n", + "#Plotting load curve\n", + "T=np.array([0,1,2,3,4,5,6]) #Slots\n", + "L=np.array([L1,L2,L3,L4,L5,L6,L7]) #MW\n", + "plot(T,L)\n", + "ylabel('Load(MW)') \n", + "xlabel('0-1: 12-5am 1-2: 5-9am 2-3: 9-6pm 3-4: 6-8pm 4-5:8-10pm 5-6 :10-12pm') \n", + "title('Chronological Load Curve') \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.9 page 15" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "load duration curve in fig1\n", + "the energy consumed upto different times is as \n", + "\n", + "from mid night upto 0,energy=250MWh\n", + "\n", + "from mid night upto 5,energy=550MWh\n", + "\n", + "from mid night upto 9,energy=1450MWh\n", + "\n", + "from mid night upto 18,energy=1700MWh\n", + "\n", + "from mid night upto 20,energy=1930MWh\n", + "\n", + "from mid night upto 22,energy=2060MWh\n", + "energy curve in fig 2\n" + ] + }, + { + "data": { + "image/png": "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\nRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f007547d910>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, show, title, xlabel, ylabel, subplot\n", + "print \"load duration curve in fig1\"\n", + "print \"the energy consumed upto different times is as \"\n", + "a=[0, 5 ,9 ,18, 20, 22, 24] #time in matrix format\n", + "b=[50, 50 ,100 ,100 ,150 ,80 ,50] #load in matrix format\n", + "\n", + "z = range(0,6)\n", + "for x in range (0,6):\n", + " z[x]=((b[x]+b[x+1])/2)*(a[x+1]-a[x])\n", + "\n", + "et=0\n", + "q = range(0,7)\n", + "m = range(0,7)\n", + "ett = range(0,6)\n", + "for x in range(0,6):\n", + " et=et+z[x] \n", + " A=a[(x)]\n", + " ett[x]=et \n", + " q[x]=a[x+1]\n", + " print \"\\nfrom mid night upto %d,energy=%dMWh\"%(A,et)\n", + "n = sorted(range(len(b)), key=lambda k: b[k], reverse=True)\n", + "m = sorted(b, reverse=True)\n", + "print \"energy curve in fig 2\"\n", + "t=[0, 3.88, 15.88 ,19.88, 23]\n", + "k = range(0,6)\n", + "for j in range(0,6):\n", + " k[j]=a[(j+1)]\n", + "M =range(0,5)\n", + "#rearranging for mass curve\n", + "for i in range(0,5):\n", + " M[i] = m[i]\n", + "Q = range(0,6)\n", + "for i in range(0,6):\n", + " Q[i] = q[i]\n", + " \n", + " \n", + "subplot(121) \n", + "plot(t,M) \n", + "title(\"load duration\")\n", + "xlabel(\"hours\")\n", + "ylabel(\"MW\")\n", + "subplot(122) \n", + "plot(Q,ett) \n", + "title(\"energy curve\")\n", + "xlabel(\"time\")\n", + "ylabel(\"MWh\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.10 page 15" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Plant Capacity = 3.33 MW \n", + "Reserve Capacity = 0.83 MW\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "E=438*10**4 #kWh\n", + "LF=20 #% annual\n", + "CF=15 #%#Capacity Factor\n", + "Lmax=E/(LF/100)/24/365 #kW\n", + "Lmax=Lmax/1000 #MW\n", + "C=Lmax/CF*LF #MW#Plant Capacity\n", + "print \"Plant Capacity = %0.2f MW \"%C \n", + "RC=C-Lmax #MW#Reserve Capacity\n", + "print \"Reserve Capacity = %0.2f MW\"%RC" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.11 page 16" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum demand on station = 20.667 MWh \n", + "Annual Energy Supplied = 117676 MWh \n", + "Installed Capacity = 33.067 MW\n" + ] + } + ], + "source": [ + "L1=10000 #kW\n", + "L2=6000 #kW\n", + "L3=8000 #kW\n", + "L4=7000 #kW\n", + "df=1.5 #diversity factor\n", + "LF=65 #%#Load Factor\n", + "Dinc=60 #%#Increase in maximum demand\n", + "L=L1+L2+L3+L4 #kW#Sum \n", + "L=L/1000 #MW\n", + "Dmax=L/df #MW\n", + "print \"Maximum demand on station = %0.3f MWh \" %Dmax\n", + "E=Dmax*365*24*LF/100 #MWh#Annual Energy\n", + "print \"Annual Energy Supplied = %0.0f MWh \"%E \n", + "Din_max=Dinc/100*Dmax #MW\n", + "C=Dmax+Din_max #MW\n", + "print \"Installed Capacity = %0.3f MW\"%C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.12 page 16" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Weekly Load factor = 53.74 %\n", + "Load Duration Curve is shown in figure.\n" + ] + }, + { + "data": { + "image/png": "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\n1bUwM2sGuXZmZ81Ge0naGrhB0sGdtoekWu1IXW6bOnXqW8ttbW20tbX1Pdh+UKllceSRqZbFpZem\nBGJmVm/t7e20t7f3y7HqVuFO0teB14DPAW0R8ZSk4aQrjd0knQ0QERdk+18PTImIOzsdp3R9FJ29\n8kq6bXbcuNQkpV61CpqZ9Z9S9lFI2q5yR5OkzYFDgYXAPODUbLdTgbnZ8jzgREmDJI0GdgXuyiu+\nPLmWhZk1kzybnoYD0yQNICWk6RFxs6SFwBWSJgKPAscDRMRSSVcAS4F1wOmlv3SowbUszKxZ1K3p\nqb80QtNTteXLU7I47zzXsjCz4vSl6ckjs3PmWhZm1uicKOrAtSzMrJH55s06cS0LM2tUThR15FoW\nZtaInCjqzLUszKzRuI+iAK5lYWaNxImiIK5lYWaNwomiQJMnpxoWhx+eRnEPHbrh15iZ1ZsH3BXM\ntSzMrB76MuDOiaIEOjpg4kRYuRLmzYPBg4uOyMyajRNFE1i3Dk44Ic00e/nlacpyM7P+UsrZY23j\nVGpZrF6dall0dGz4NWZm9eBEUSKDB8OcOfDAA3Dmman/wsysaE4UJeNaFmZWNm4JLyHXsjCzMnGi\nKKlhw2D+/PXJwrUszKwoThQl5loWZlYGThQl51oWZlY0d2Y3ANeyMLMiOVE0CNeyMLOiOFE0ENey\nMLMiuI+iwbiWhZnVmxNFA3ItCzOrJyeKBuVaFmZWL549toG5loWZ9ZSnGW9hrmVhZj3hRNHiXMvC\nzDbE9ShanGtZmFmenCiahGtZmFlenCiaiGtZmFke3JrdZFzLwsz6mxNFE3ItCzPrT04UTcq1LMys\nvzhRNDHXsjCz/uDO7CbnWhZm1le5JQpJIyUtkHSfpHslTcrWT5W0QtLC7PGJqtecI+khSfdL8vff\nfuJaFmbWF7mNzJa0PbB9RCySNAT4PfAp4HhgTURc1Gn/scBMYD9gB2A+MCYiOjrt55HZvXTllTBp\nErS3w5gxRUdjZvXUl5HZufVRRMRTwFPZ8suS/khKAABdBXs0MCsi1gKPSloGjAPuyCvGVuNaFmbW\nG3Xpo5C0M7A36z/0vyBpsaTLJFUmyB4BrKh62QrWJxbrJxMmpCnKDz0Unn666GjMrBH0KFFI2l3S\nJyQdLmm3jTlB1ux0JfDFiHgZ+E9gNLAX8CRwYY2Xu40pB5Mnw0knpVoWa9cWHY2ZlV23TU+SRgNn\n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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f007547de10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "#Arranging data for Load Duration Curve\n", + "#week days 5-9pm load\n", + "L1=350 #MW\n", + "t1=4*5 #hours\n", + "#week days 8-12am & 1-5pm load\n", + "L2=250 #MW\n", + "t2=t1+8*5 #hours\n", + "#saturday & sunday 5-9pm load\n", + "L3=200 #MW\n", + "t3=t2+4*2 #hours\n", + "#All days 150MW load\n", + "L4=150 #MW\n", + "t4=t3+6*5+15*2 #hours\n", + "#All days 100MW load\n", + "L5=100 #MW\n", + "t5=t4+6*5+5*2 #hours\n", + "A=31600 #Total Load Curve Area\n", + "LF=A/L1/24/7*100 #%#Weekly load factor\n", + "print \"Weekly Load factor = %0.2f %%\"%LF\n", + "print \"Load Duration Curve is shown in figure.\" \n", + "#Load Duration Curve\n", + "L=[L1 ,L2, L3, L4, L5] #MW\n", + "T=[t1 ,t2 ,t3 ,t4 ,t5] #hours\n", + "plot(T,L) \n", + "title('Load Duration Curve')\n", + "xlabel('Time(Hours)')\n", + "ylabel('Load(MW)') \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.13 page 17" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Annual Load Factor : 0.5598\n" + ] + } + ], + "source": [ + "LF=0.825 #Daily Load Factor\n", + "ratio1=0.87 #daily peak load to monthly peak load\n", + "ratio2=0.78 #monthly peak load to annually peak load\n", + "LF_annual=LF*ratio1*ratio2 #Annual Load Factor\n", + "print \"Annual Load Factor : %0.4f\" %LF_annual" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.14 page 19" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Peak load on Transformer1 = 100.00 kW\n", + "Peak load on Transformer2 = 80.00 kW\n", + "Peak load on Transformer3 = 100.00 kW \n", + "Part(b)\n", + "Peak load on feeder = 200.00 kW \n" + ] + } + ], + "source": [ + "#Transformer1\n", + "Lm=300 #kW\n", + "df_m=0.6 #demand factor\n", + "Lc=100 #kW#Commercial Load\n", + "df_c=0.5 #demand factor\n", + "#Transformer2\n", + "Lr2=500 #kW#Residential Load\n", + "df_Lr2=0.4 #demand factor\n", + "#Transformer3\n", + "Lr3=400 #kW\n", + "df_Lr3=0.5 #demand factor\n", + "#Diversity factors\n", + "df1=2.3 \n", + "df2=2.5 \n", + "df3=2 \n", + "DF=1.4 #Diversity factor between transformers\n", + "#Solution :\n", + "print \"Part(a)\" \n", + "Lp1=(Lm*df_m+Lc*df_c)/df1 #kW#Peak load on Transformer1\n", + "print \"Peak load on Transformer1 = %0.2f kW\"%Lp1\n", + "Lp2=Lr2*df_Lr2/df2 #kW#Peak load on Transformer2\n", + "print \"Peak load on Transformer2 = %0.2f kW\"%Lp2 \n", + "Lp3=Lr3*df_Lr3/df3 #kW#Peak load on Transformer3\n", + "print \"Peak load on Transformer3 = %0.2f kW \"%Lp3 \n", + "print \"Part(b)\" \n", + "LpF=(Lp1+Lp2+Lp3)/DF #Peak load on feeder\n", + "print \"Peak load on feeder = %0.2f kW \"%LpF " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.16 page 23" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Maximum demand = 35.00 MW \n", + "(b) Units generated per day = 6e+05 kWh \n", + "(c) Average Load = 25.00 MW \n", + "(d) Load Factor = 71.43 %\n" + ] + } + ], + "source": [ + "L=[20, 25, 30 ,25 ,35 ,20] #MW\n", + "T=[6, 4, 2 ,4 ,4 ,4] #Hours\n", + "Lmax=max(L) #MW\n", + "print \"(a) Maximum demand = %0.2f MW \"%Lmax \n", + "E=L[0]*sum(T)+(L[1]-L[0])*T[1]+(L[2]-L[0])*T[2]+(L[3]-L[0])*T[3]+(L[4]-L[0])*T[4]+(L[5]-L[0])*T[5] #MWh\n", + "E=E*1000 #kWh\n", + "print \"(b) Units generated per day = %0.e kWh \"%E \n", + "Lavg=E/sum(T) #/kWh\n", + "Lavg=Lavg/1000 #/MW\n", + "print \"(c) Average Load = %0.2f MW \"%Lavg \n", + "LF=Lavg/Lmax*100 #%\n", + "print \"(d) Load Factor = %0.2f %%\" %LF" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.17 page 24" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1% drop in frequency, Increased in Load = 0.72 %\n" + ] + } + ], + "source": [ + "from math import acos, sin\n", + "pf=0.8 #power factor\n", + "delf=1 #%#drop in frequency(delf/f)\n", + "#delP=-2*(sind(theta))**2*delf\n", + "theta=acos(pf) #degree\n", + "delP_BY_delf=-2*sin(theta)**2 #increase in load wrt frequency\n", + "print \"1%% drop in frequency, Increased in Load = %0.2f %%\"%-delP_BY_delf " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.18 page 24" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy generated in a year = 350400 MWh \n" + ] + } + ], + "source": [ + "Lmax=100 #MW\n", + "LF=40 #%#Load Factor\n", + "Lavg=Lmax*LF/100 #MW\n", + "E=Lavg*24*365 #MWh\n", + "print \"Energy generated in a year = %0.f MWh \"%E " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 1.19 page 25" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1% drop in Voltage increases current by = 0.86 %\n", + "1% drop in Voltage decreases power input by = 0.2 %\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "V=400 #V\n", + "s1=0.03 #initial slip\n", + "delV=1 #%#/Voltage Drop\n", + "R1=0.290 #ohm/phase\n", + "R2=0.15 #ohm/phase\n", + "X=0.7 #ohm/phase(X1+X2)\n", + "#V1**2*s1=V2**2*s2 for speed independent torque\n", + "#taking for calculating s2\n", + "V1=1 #V \n", + "V2=V1-V1*delV/100 #V\n", + "s2=V1**2/V2**2*s1 #slip\n", + "I2ByI1=sqrt((R1+R2/s1)**2+X**2)/sqrt((R1+R2/s2)**2+X**2)*(V2/V1)\n", + "delI=(I2ByI1-1)*100 #%#Current Increase\n", + "print \"1%% drop in Voltage increases current by = %0.2f %%\"%delI\n", + "#P=(R1+R2/s)*I**2\n", + "P2ByP1=(R1+R2/s2)/(R1+R2/s1)*I2ByI1**2 #ratio\n", + "delP=(1-P2ByP1)*100 #%#Power Decrease\n", + "print \"1%% drop in Voltage decreases power input by = %0.1f %%\"%delP \n", + "#Answer in the textbook is not accurate." + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter2_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter2_1.ipynb new file mode 100644 index 00000000..f0b4d79d --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter2_1.ipynb @@ -0,0 +1,1232 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch- 2 : Economic Operation of Power System & Unit Commitment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.2 page 39" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving per year in economic load allocation = 239531.25 Rs./year \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from sympy.mpmath import quad\n", + "#For equal incremental cost\n", + "L1=125 #MW\n", + "L2=100 #MW\n", + "#For equal sharing\n", + "L=(L1+L2)/2 #MW\n", + "#Change in cost Unit 1\n", + "f1 = lambda P1:0.2*P1+30 \n", + "dC1=quad(f1,[L1,L]) #Rs./hour\n", + "#Change in cost Unit 2\n", + "f2 = lambda P2 : 0.15*P2+40\n", + "dC2=quad(f2,[L2,L]) #Rs./hour\n", + "dCyearly=(dC1+dC2)*24*365 #Rs./year\n", + "print \"Saving per year in economic load allocation = %0.2f Rs./year \"%(dCyearly) \n", + "#Answer in the textbook is not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.3 page 43" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Increase in generation of unit1 = 21.43 MW \n", + "Increase in generation of unit2 = 28.57 MW \n", + "Total load on unit1 = 221.43 MW \n", + "Total load on unit2 = 228.57 MW\n", + "Checking incremental cost :\n", + "Incremental cost of unit 1 = 74.29 Rs./MWh \n", + "Incremental cost of unit 2 = 75.71 Rs./MWh \n", + "Conclusion : Cost are same(Approximately).\n" + ] + } + ], + "source": [ + "L=400 #/MW#/total load\n", + "delPD=50 #MW#increase in demand\n", + "#dC1/dP1=0.2*P1+30\n", + "#dC2/dP2=0.15*P2+40\n", + "twoC1=0.2 ##from above equation\n", + "twoC2=0.15 ##from above equation\n", + "delP1_by_delPD=(1/twoC1)/(1/twoC1+1/twoC2) \n", + "delP2_by_delPD=(1/twoC2)/(1/twoC1+1/twoC2) \n", + "delP1=delP1_by_delPD*delPD #MW\n", + "print \"Increase in generation of unit1 = %0.2f MW \"%delP1 \n", + "delP2=delP2_by_delPD*delPD #MW\n", + "print \"Increase in generation of unit2 = %0.2f MW \"%delP2 \n", + "P1=L/2+delP1 #load on unit 1\n", + "print \"Total load on unit1 = %0.2f MW \"%P1 \n", + "P2=L/2+delP2 #load on unit 2\n", + "print \"Total load on unit2 = %0.2f MW\" %P2\n", + "print \"Checking incremental cost :\" \n", + "dC1_by_dP1=0.2*P1+30 #Rs./MWh\n", + "print \"Incremental cost of unit 1 = %0.2f Rs./MWh \"%dC1_by_dP1 \n", + "dC2_by_dP2=0.2*P2+30 #Rs./MWh\n", + "print \"Incremental cost of unit 2 = %0.2f Rs./MWh \"%dC2_by_dP2 \n", + "print \"Conclusion : Cost are same(Approximately).\" \n", + "#Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.5 page 47" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loss Coefficients are : \n", + "B11 = 0.05827 p.u.\n", + "B22 = 0.0576 p.u. \n", + "B12 = 0.0331 p.u.\n", + "Transmission Loss = 0.178800 p.u.\n" + ] + } + ], + "source": [ + "from math import atan, cos\n", + "I1=0.8 #p.u.\n", + "I2=1 #p.u.\n", + "Za=0.04+1J*0.12 #p.u.\n", + "Zb=0.03+1J*0.1 #p.u.\n", + "Zc=0.03+1J*0.12 #p.u.\n", + "V=1 #p.u.\n", + "#Solution : \n", + "V1=V+(I1+I2)*Za+I1*(Zb) #p.u.\n", + "V2=V+(I1+I2)*Za+I2*(Zc) #p.u.\n", + "P1=(I1*V1).real #p.u.\n", + "P2=(I2*V2).real #p.u.\n", + "fi1=atan((V1.imag)/(V1.real)) \n", + "fi2=atan((V2.imag)/(V2.real)) \n", + "print \"Loss Coefficients are : \"\n", + "B11=((Za.real)+(Zb.real))/(abs(V1)**2*cos(fi1)**2) #p.u.\n", + "print \"B11 = %0.5f\"%B11,\"p.u.\" \n", + "B22=((Za.real)+(Zc.real))/(abs(V2)**2*cos(fi2)**2) #p.u.\n", + "print \"B22 = %0.4f\"%B22,\"p.u. \" \n", + "B12=((Za.real))/(abs(V1)*abs(V2)*cos(fi1)*cos(fi2)) #p.u.\n", + "print \"B12 = %0.4f\"%B12,\"p.u.\" \n", + "PL=P1**2*B11+P2**2*B22+2*P1*P2*B12 #p.u.\n", + "print \"Transmission Loss = %0.6f p.u.\" %PL\n", + "#Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.7 page 53" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loss formula Coefficients in p.u. :\n", + "B11 = 0.07877 p.u \n", + "B22 = 0.07735 p.u\n", + "B12 = -0.00732 p.u \n", + "Loss formula Coefficients in MW**-1 :\n", + "B11 = 0.00079 MW**-1\n", + "B22 = 0.00077 MW**-1\n", + "B12 = -0.00007 MW**-1\n" + ] + } + ], + "source": [ + "from math import atan, degrees, cos, pi\n", + "Za=0.03+1J*0.09 #p.u.\n", + "Ia=1.5-1J*0.4 #p.u.\n", + "Zb=0.10+1J*0.30 #p.u.\n", + "Ib=0.5-1J*0.2 #p.u.\n", + "Zc=0.03+1J*0.09 #p.u.\n", + "Ic=1-1J*0.1 #p.u.\n", + "Zd=0.04+1J*0.12 #p.u.\n", + "Id=1-1J*0.2 #p.u.\n", + "Ze=0.04+1J*0.12 #p.u.\n", + "Ie=1.5-1J*0.3 #p.u.\n", + "V=1 #p.u.\n", + "base=100 #MVA\n", + "#Solution\n", + "#Currents of load\n", + "IL1=0.4 #p.u.\n", + "IL2=0.6 #p.u.\n", + "#Current distribution factors :\n", + "Na1=1; Na2=0 \n", + "Nb1=0.6; Nb2=-0.4 \n", + "Nc1=0 ;Nc2=1 \n", + "Nd1=0.4; Nd2=0.4 \n", + "Ne1=0.6 ;Ne2=0.6 \n", + "#Bus Voltages\n", + "V1=V+Ia*Za #p.u.\n", + "V2=V-Ib*Zb+Ic*Zc #p.u.\n", + "#Phase Angles\n", + "theta1=degrees(atan((Ia.imag)/(Ia.real)) )#degree\n", + "theta2=degrees(atan((Ic.imag)/(Ic.real)) )#degree\n", + "#Power Factors : \n", + "cos_fi1=cos(atan((V1.imag)/(V1.real))-theta1*pi/180) #source 1 power factor\n", + "cos_fi2=cos(atan((V2.imag)/(V2.real))-theta2*pi/180) #source 2 power factor\n", + "print \"Loss formula Coefficients in p.u. :\"\n", + "B11=(Na1**2*(Za.real)+Nb1**2*(Zb.real)+Nc1**2*(Zc.real)+Nd1**2*(Zd.real)+Ne1**2*(Ze.real))/(abs(V1)**2*cos_fi1) #p.u.\n", + "print \"B11 = %0.5f p.u \"%B11 \n", + "B22=(Na2**2*(Za.real)+Nb2**2*(Zb.real)+Nc2**2*(Zc.real)+Nd2**2*(Zd.real)+Ne2**2*(Ze.real))/(abs(V2)**2*cos_fi2) #p.u.\n", + "print \"B22 = %0.5f p.u\" %B22\n", + "B12=(Na1*Na2*(Za.real)+Nb1*Nb2*(Zb.real)+Nc1*Nc2*(Zc.real)+Nd1*Nd2*(Zd.real)+Ne1*Ne2*(Zc).real)/(abs(V1)*abs(V2)*cos_fi1*cos_fi2*(cos(theta1*pi/180-theta2*pi/180))) #p.u.\n", + "print \"B12 = %0.5f\"%B12,\"p.u \" \n", + "#Converting p.u. to actual value\n", + "print \"Loss formula Coefficients in MW**-1 :\"\n", + "B11=B11/base #MW**-1\n", + "print \"B11 = %0.5f\"%B11,\"MW**-1\" \n", + "B22=B22/base #MW**-1\n", + "print \"B22 = %0.5f\"%B22,\"MW**-1\" \n", + "B12=B12/base #MW**-1\n", + "print \"B12 = %0.5f\"%B12,\"MW**-1\" \n", + "#Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.8 page 54" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Required generation at plant1 = 100.00 MW \n", + "Required generation at plant2 = 200.00 MW\n", + "Total Load = 285.00 MW \n" + ] + } + ], + "source": [ + "#dC1/dP1=0.2*P1+22 #Rs./MWh\n", + "#dC2/dP2=0.15*P2+30 #Rs./MWh\n", + "B22=0; B12=0 #Because Loss is independent wrt P2\n", + "P1=100 #MW\n", + "PL=15 #MW\n", + "B11=PL/P1**2 #MW**-1\n", + "L1=1/(1-0.003*P1)#Penalty Factor plant 1\n", + "L2=1 #Penalty Factor of plant 2\n", + "lamda=60 \n", + "#lamda=dC1/dP1*L1=dC2/dP2*L2\n", + "#dC1/dP1*L1=dC2/dP2*L2\n", + "P2=((0.2*P1+22)*L1-30)/0.15 #MW\n", + "P=P1+P2-B11*P1**2 #MW#Total Load\n", + "print \"Required generation at plant1 = %0.2f MW \"%P1 \n", + "print \"Required generation at plant2 = %0.2f MW\" %P2\n", + "print \"Total Load = %0.2f MW \"%P " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.9 page 55" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Taking transmission loss in account, Net saving per hour in fuel cost = 854.74 Rs./hour \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#dC1/dP1=0.2*P1+22 #Rs./MWh\n", + "#dC2/dP2=0.15*P2+30 #Rs./MWh\n", + "B22=0 ;B12=0 #Because Loss is independent wrt P2\n", + "P1=100 #MW\n", + "PL=15 #MW\n", + "B11=PL/P1**2 #MW**-1\n", + "L1=1/(1-0.003*P1) #Penalty Factor plant 1\n", + "L2=1 #Penalty Factor of plant 2\n", + "lamda=60 \n", + "#lamda=dC1/dP1*L1=dC2/dP2*L2\n", + "#dC1/dP1*L1=dC2/dP2*L2\n", + "P2=((0.2*P1+22)*L1-30)/0.15 #MW\n", + "P=P1+P2-B11*P1**2 #MW#Total Load\n", + "#dC1/dP1=dC2/dP2 neglecting transmission loss\n", + "#clear('P2') #for recalculation\n", + "#0.2*P1-0.15*P2-8=0 #/eqn(1)\n", + "#P1=0.75*P2+40 #P1+P2-B11*P1**2-P=0 #eqn(2)\n", + "#1.75*P2-B11*P1**2=P-40\n", + "#Eqn=[-B11 1.75 40-P] \n", + "P22 = symbols('P22')\n", + "Eqn=-B11*P22**2+1.75*P22+40-P \n", + "P22=solve(Eqn, P22)\n", + "P2=P22[0]#MW#neglecting higher value\n", + "P1=0.75*P2+40 #MW\n", + "#from sympy.mpmath import quad\n", + "dC1=quad(lambda P: 0.2*P+22,[100,P1]) #Rs.#Additional Cost plant1\n", + "dC2=quad(lambda P: 0.15*P+30,[200,P2]) #Rs.#Decreased Cost plant2\n", + "dC=dC1+dC2 #Rs./hour#Net change in cost\n", + "print \"Taking transmission loss in account, Net saving per hour in fuel cost = %0.2f Rs./hour \"%dC \n", + "#Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.10 page 55" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation P1 = 41.70 MW\n", + "Generation P2 = 50 MW \n", + "Transmission Loss = 5.69 MW \n", + "Received Power = 86.20 MW \n" + ] + } + ], + "source": [ + "B11=0.001 #MW**-1\n", + "B22=0.0024 #MW**-1\n", + "B12=-0.0005 #MW**-1\n", + "#dC1/dP1=0.8*P1+16 #Rs./MWh\n", + "#dC2/dP2=0.08*P2+12 #Rs./MWh\n", + "lamda=20 \n", + "#Iterations for calculating value\n", + "P1 = range(0,10)\n", + "P1[0]=0 \n", + "P2 = range(0,10)\n", + "P2[0]=0 \n", + "for i in range(1,10):\n", + " P1[i] =( 0.2+0.001*P2[i-1])/0.006 \n", + " P2[i] = (0.4+0.001*P1[i])/0.0088 \n", + " if P1[i]==P1[i-1]:\n", + " break \n", + " \n", + "\n", + "P1=P1[i] #MW\n", + "print \"Generation P1 = %0.2f MW\" %P1\n", + "P2=P2[i] #MW\n", + "print \"Generation P2 = %02.f MW \"%P2 \n", + "PL=B11*P1**2+2*B12*P1*P2+B22*P2**2 #MW\n", + "print \"Transmission Loss = %0.2f MW \"%PL \n", + "Pr=P1+P2-PL #MW\n", + "print \"Received Power = %0.2f MW \"%Pr " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.11 page 56" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients are : \n", + "ae = 870.650199886 & be = 7.88877784123\n", + "ce = 0.000865299828669\n", + "Cost Characteristics : 0.0009*PT**2 + 7.89*PT + 870.65\n" + ] + } + ], + "source": [ + "from sympy import symbols\n", + "#C1=561+7.92*P1+0.001562*P1**2 #Rs./hour\n", + "#C2=310+7.85*P2+0.00194*P2**2 #Rs./hour\n", + "a1=561 ;a2=310 \n", + "b1=7.92 ;b2=7.85 \n", + "c1=0.001562 ;c2=0.00194 \n", + "ce=c1*c2/(c1+c2) \n", + "be=ce*(b1/c1+b2/c2) \n", + "ae=a1-b1**2/4/c1+a2-b2**2/4/c2+be**2/4/ce \n", + "print \"Coefficients are : \" \n", + "print \"ae = \",(ae),\" & be = \",(be)\n", + "print \"ce = \",ce\n", + "PT = symbols('PT') \n", + "CT = round(ae,2)+round(be,2)*PT+round(ce,4)*PT**2\n", + "print \"Cost Characteristics : \",CT\n", + "#print \"CT=870.753+7.8888*PT+0.0008653*PT**2\" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.12 page 57" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For 1200 MW Load :\n", + "P1 = 740.54 MW \n", + "P2 = 459.46 MW \n", + "For 900 MW Load :\n", + "P1 = 470.27 MW \n", + "P2 = 429.73 MW \n", + "For 500 MW Load :\n", + "P1 = 0.00 MW \n", + "P2 = 500.00 MW \n", + "Operating cost for 10 hour = 225000.00 Rs. \n", + "Other option : \n", + "P1 = 200.00 MW \n", + "P2 = 300.00 MW \n", + "Operating cost for 10 hour = 299800.00 Rs. \n" + ] + } + ], + "source": [ + "from sympy import symbols,solve\n", + "#C1=7700+52.8*P1+5.5*10**-3*P1**2 #Rs./hour\n", + "#C2=2500+15*P2+0.05*P2**2 #Rs./hour\n", + "a1=7700 ;a2=2500 \n", + "b1=52.8 ;b2=15 \n", + "c1=5.5*10**-3 ;c2=0.05 \n", + "P1, P2 = symbols('P1 P2')\n", + "dC1bydP1=52.8+2*5.5*10**-3*P1 \n", + "dC2bydP2=15+2*0.05*P2 \n", + "print \"For 1200 MW Load :\" \n", + "P=1200 #MW\n", + "#Let loads of unit are P1 & 1200-P1\n", + "#Economical Loading dC1/dP1=dC2/dP2\n", + "eqn=52.8+2*5.5*10**-3*P1-15-2*0.05*(1200-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "print \"P1 = %0.2f MW \"%P1 \n", + "print \"P2 = %0.2f MW \"%P2 \n", + "print \"For 900 MW Load :\" \n", + "P=900 #MW\n", + "#clear('P1','P2') \n", + "P1, P2 = symbols('P1 P2')\n", + "#Let loads of unit are P1 & 900-P1\n", + "#Economical Loading dC1/dP1=dC2/dP2\n", + "eqn=52.8+2*5.5*10**-3*P1-15-2*0.05*(900-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "print \"P1 = %0.2f MW \"%P1 \n", + "print \"P2 = %0.2f MW \"%P2 \n", + "print \"For 500 MW Load :\" \n", + "P=500 #MW\n", + "#clear('P1','P2') \n", + "P1, P2 = symbols('P1 P2')\n", + "#Let loads of unit are P1 & 500-P1\n", + "#Economical Loading dC1/dP1=dC2/dP2\n", + "eqn=52.8+2*5.5*10**-3*P1-15-2*0.05*(500-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "#Minimum load is 200MW\n", + "if P1<200:\n", + " P2=P1+P2\n", + " P1=0 \n", + "print \"P1 = %0.2f MW \"%P1 \n", + "print \"P2 = %0.2f MW \"%P2 \n", + "C=(2500+15*P2+0.05*P2**2)*10 #Rs.#Operating cost for 10 hour\n", + "print \"Operating cost for 10 hour = %0.2f Rs. \"%C \n", + "print \"Other option : \" \n", + "P1=200 #MW\n", + "P2=300 #MW\n", + "print \"P1 = %0.2f MW \"%P1 \n", + "print \"P2 = %0.2f MW \"%P2 \n", + "C1=7700+52.8*P1+5.5*10**-3*P1**2 #Rs./hour\n", + "C2=2500+15*P2+0.05*P2**2 #Rs./hour\n", + "C=10*(C1+C2) #Rs.#Operating cost for 10 hour\n", + "print \"Operating cost for 10 hour = %0.2f Rs. \"%C \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.13 page 58" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Total Cost = 41525.28 Rs./hour \n", + "(b) For Economic Scheduling\n", + "Loads P1 & P2 = 380.90 & 519.10 MW\n", + "Total Cost = 41448.00 Rs./hour \n", + "Total saving 77.28 Rs./hour \n", + "Tie line load from Plant1 to Plant2 = 30.90 MW \n" + ] + } + ], + "source": [ + "#C1=2000+20*P1+0.05*P1**2 #Rs./hour\n", + "#C2=2750+26*P2+0.03091*P2**2 #Rs./hour\n", + "P1=350 #MW\n", + "P2=550 #MW\n", + "C1=2000+20*P1+0.05*P1**2 #Rs./hour\n", + "C2=2750+26*P2+0.03091*P2**2 #Rs./hour\n", + "C=C1+C2 #Rs./hour\n", + "print \"(a) Total Cost = %0.2f Rs./hour \"%C \n", + "P=P1+P2 #MW#Total Load\n", + "P1, P2 = symbols('P1 P2')\n", + "dC1bydP1=20+2*0.05*P1 \n", + "dC2bydP2=26+2*0.03091*P2 \n", + "print \"(b) For Economic Scheduling\"\n", + "#dC1/dP1=dC2/dP2 for economic sheduling\n", + "#Let loads of unit are P1 & P-P1\n", + "eqn=20+2*0.05*P1-26-2*0.03091*(P-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "print \"Loads P1 & P2 = %0.2f & %0.2f MW\"%(P1, P2)\n", + "C1=2000+20*P1+0.05*P1**2 #Rs./hour\n", + "C2=2750+26*P2+0.03091*P2**2 #Rs./hour\n", + "Cnew=C1+C2 #Rs./hour\n", + "print \"Total Cost = %0.2f Rs./hour \"%Cnew \n", + "saving=C-Cnew #Rs./hour\n", + "print \"Total saving %0.2f Rs./hour \"%saving \n", + "Lt=P1-350 #MW#Tie line load\n", + "print \"Tie line load from Plant1 to Plant2 = %0.2f MW \"%Lt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.14 page 59" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extra operating cost = 121.00 Rs./hour \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#C=5000+450*P+0.5*P**2 #Rs./hour\n", + "e1=+2 #%#error\n", + "e2=-2 #%#error\n", + "P=200 #MW#Total Load\n", + "#Considering error\n", + "P1, P2 = symbols('P1 P2')\n", + "C1=(5000+450*P+0.5*P1**2)*0.98 #Rs./hour\n", + "C2=(5000+450*P+0.5*P2**2)*1.02 #Rs./hour\n", + "#Let loads of unit are P1 & P-P1\n", + "#dC1/dP1=dC2/dP2 for economic sheduling\n", + "eqn=450*0.98+2*0.5*P1*0.98-450*1.02-2*0.5*(P-P1)*1.02 \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "#if no instrumention error\n", + "C1=(5000+450*P1+0.5*P1**2)*0.98 #Rs./hour\n", + "C2=(5000+450*P2+0.5*P2**2)*1.02 #Rs./hour\n", + "C=C1+C2 #Rs./hour\n", + "#Due to intrumentation error\n", + "P1=P/2 #MW\n", + "P2=P/2 #MW\n", + "C1=(5000+450*P1+0.5*P1**2)*0.98 #Rs./hour\n", + "C2=(5000+450*P2+0.5*P2**2)*1.02 #Rs./hour\n", + "Cerr=C1+C2 #Rs./hour\n", + "Cextra=Cerr-C #Rs,/hour\n", + "print \"Extra operating cost = %0.2f Rs./hour \"%Cextra " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.15 page 59" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "According to optimum scheduling, Load distriution is :\n", + "P1 = 72.75 MW \n", + "P2 = 36.00 MW \n", + "P3 = 91.25 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "import numpy as np\n", + "P1, P2, P3 = symbols('P1 P2 P3')\n", + "Q1=0.002*P1**2+0.86*P1+20 #tons/hour\n", + "Q2=0.004*P2**2+1.08*P2+20 #tons/hour\n", + "Q3=0.0028*P3**2+0.64*P3+36 #tons/hour\n", + "Pmax=120 #MW\n", + "Pmin=36 #MW\n", + "P=200 #MW\n", + "C=500 #Rs./ton\n", + "#C1=C*Q1 C2=C*Q2 C3=C*Q3 #Rs./ton\n", + "dC1bydP1=2*P1+430 #Rs./hour\n", + "dC2bydP2=4*P2+540 #Rs./hour\n", + "dC3bydP3=2.8*P3+320 #Rs./hour\n", + "#P1+P2+P3=P\n", + "A1=[1 ,1 ,1] #Coefficient Matrix\n", + "B1=[P] #Coefficient Matrix\n", + "#For minimal cost above 3 equation should be equal\n", + "#eqn1=2*P1-4*P2+430-540 \n", + "#eqn2=4*P2-2.8*P3-320+540 \n", + "A2=[0 ,4 ,-2.8] #Coefficient Matrix\n", + "B2=[-540+320] #Coefficient Matrix\n", + "#eqn3=-2*P1+2.8*P3+320-430 \n", + "A3=[-2 ,0 ,2.8] #Coefficient Matrix\n", + "B3=[430-320] #Coefficient Matrix\n", + "#solving by matrix method\n", + "A=np.mat([A1[:] ,A2[:], A3[:]]) #Coefficient Matrix\n", + "B=[B1 ,B2 ,B3] #Coefficient Matrix\n", + "X=A**-1*B #Solution Matrix\n", + "P1=X[0] #MW\n", + "P2=X[1] #MW\n", + "P3=X[2] #MW\n", + "Pmax=120 #MW\n", + "Pmin=36 #MW\n", + "if P2<Pmin:\n", + " P2=Pmin #MW \n", + "\n", + "#P1+P3=P-P2#eqn(4)\n", + "A1=[1 ,1] #Coefficient Matrix\n", + "B1=[P-P2] #Coefficient Matrix\n", + "#eqn3=-2*P1+2.8*P3+320-430 \n", + "A2=[-2, 2.8] #Coefficient Matrix\n", + "B2=[430-320] #Coefficient Matrix\n", + "#solving by matrix method\n", + "A=np.mat([A1[:], A2[:]]) #Coefficient Matrix\n", + "B=np.mat([B1[:], B2[:]]) #Coefficient Matrix\n", + "X=A**-1*B #Solution Matrix\n", + "P1=X[0] #MW\n", + "P3=X[1] #MW\n", + "print \"According to optimum scheduling, Load distriution is :\" \n", + "print \"P1 = %0.2f MW \"%P1 \n", + "print \"P2 = %0.2f MW \"%P2 \n", + "print \"P3 = %0.2f MW \"%P3 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.16 page 60" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Heat input per day = 5.04e+09 kJ \n", + "(b) Saving in heat per kWh of energy = 270.00 kJ/kWh \n" + ] + } + ], + "source": [ + "L=30 #MW\n", + "#I=(32+32*L+1.68*L**2)*10**5 \n", + "t1=18 #/hours\n", + "t2=6 #/hours\n", + "#Full load 18 hours\n", + "I1=(32+32*L+1.68*L**2)*10**5*t1 #kJ\n", + "#Half load 6 hours\n", + "I2=(32+32*L/2+1.68*(L/2)**2)*10**5*t2\n", + "I=I1+I2 #kJ\n", + "print \"(a) Heat input per day = %0.2e kJ \"%I \n", + "E=L*t1+L/2*t2 #MWh#/Energy produced in 24 hours\n", + "Lu=E/(t1+t2) #MW\n", + "Inew=(32+32*Lu+1.68*Lu**2)*10**5*(t1+t2) #kJ\n", + "saving=I-Inew #/kJ\n", + "saving=saving/(E*1000) #kJ/kWh\n", + "print \"(b) Saving in heat per kWh of energy = %0.2f kJ/kWh \" %saving" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.17 page 61" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(b) According to optimum scheduling, Load distriution is :\n", + "P1 = 669.73 MW\n", + "P2 = 116.13 MW\n", + "P3 = 14.13 MW\n", + "(c) Optimum scheduling : \n", + "P2 is within maximum and minimum limits.\n", + "Condition for P1 satisfied.\n", + "Condition for P3 satisfied.\n", + "Load distribution is : \n", + "P1 = 600.00 MW\n", + "P2 = 150.00 MW\n", + "P3 = 50.00 MW\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "P=800 #MW(Total Load)\n", + "#Using Variable for Cost Curve Equation\n", + "P1, P2, P3 = symbols('P1 P2 P3')\n", + "#Cost Curve Equation\n", + "C1=450+6.5*P1+0.0013*P1**2 #Rs./hour\n", + "C2=300+7.8*P2+0.0019*P2**2 #Rs./hour\n", + "C3=80+8.1*P3+0.005*P3**2 #Rs./hour\n", + "#Part(a) is not computational\n", + "#Part (b)\n", + "dC1BydP1=6.5+2*0.0013*P1 #Rs./MWh#/eqn(1)\n", + "dC2BydP2=7.8+2*0.0019*P2 #Rs./MWh#/eqn(2)\n", + "dC3BydP3=8.1+2*0.005*P3 #Rs./MWh#/eqn(3)\n", + "#P1+P2+P3=P #MW#/eqn(4)\n", + "A1=[1 ,1 ,1] #Coefficient Matrix\n", + "B1=[800] #Coefficient Matrix\n", + "#Equating eqn(1) & (2)\n", + "A2=[2*0.0013, -2*0.0019, 0] #Coefficient Matrix\n", + "B2=[7.8-6.5] #Coefficient Matrix\n", + "#Equating eqn(2) & (3)\n", + "A3=[0 ,2*0.0019, -2*0.005] #Coefficient Matrix\n", + "B3=[8.1-7.8] #Coefficient Matrix\n", + "#Solution By Matrix method\n", + "A=np.mat([A1[:], A2[:], A3]) #Coefficient Matrix\n", + "B=np.mat([B1[:], B2[:], B3[:]]) #Coefficient Matrix\n", + "X=A**-1*B #Solution Matrix\n", + "P1=X[0] #MW\n", + "P2=X[1] #MW\n", + "P3=X[2] #MW\n", + "print \"(b) According to optimum scheduling, Load distriution is :\" \n", + "print \"P1 = %0.2f MW\" %P1\n", + "print \"P2 = %0.2f MW\" %P2\n", + "print \"P3 = %0.2f MW\" %P3\n", + "#Part(c)\n", + "print \"(c) Optimum scheduling : \" \n", + "P1max=600 #MW\n", + "P1min=100 #MW\n", + "P2max=400 #MW\n", + "P2min=50 #MW\n", + "P3max=200 #MW\n", + "P3min=50 #MW\n", + "if P2<P2max and P2>P2min:\n", + " print \"P2 is within maximum and minimum limits.\" \n", + " P1=P1max #MW\n", + " P3=P3min #MW\n", + " P2=P-P1-P3 #MW\n", + "\n", + "#Lambda=dC2/dP2 as P2 is niether maximum limit nor minimum limit.\n", + "dC2BydP2=7.8+2*0.0019*P2 #Rs./MWh\n", + "lamda=dC2BydP2 #Rs./MWh\n", + "dC1BydP1=6.5+2*0.0013*P1 #Rs./MWh\n", + "dC3BydP3=8.1+2*0.005*P3 #Rs./MWh\n", + "if dC1BydP1<lamda :\n", + " print \"Condition for P1 satisfied.\" \n", + "\n", + "if dC3BydP3>lamda:\n", + " print \"Condition for P3 satisfied.\" \n", + "\n", + "print \"Load distribution is : \" \n", + "print \"P1 = %0.2f MW\" %P1\n", + "print \"P2 = %0.2f MW\" %P2\n", + "print \"P3 = %0.2f MW\" %P3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.18 page 62" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transmission Loss = 7.44 MW \n" + ] + } + ], + "source": [ + "import numpy as np\n", + "Bmn=np.mat([[0.0676, 0.00953, -0.00507],[0.00953 ,0.0521, 0.00901],[-0.00507, 0.00901, 0.0294]]) #Loss Coefficient\n", + "Bno=np.mat([[-0.0766],[0.00342],[0.0189]]) #Loss Coefficient\n", + "Boo=0.04357 #Loss Coefficient\n", + "P1=107.9 #MW\n", + "P2=50 #MW\n", + "P3=60 #MW\n", + "#solution : \n", + "#PL=np.mat([[P1], [P2], [P3]])*Bmn+np.mat([[P1], [P2], [P3]])*Bno+Boo #MW\n", + "PL=np.mat([P1, P2, P3])*Bmn+np.mat([P1, P2, P3])*Bno+Boo #MW\n", + "pl= 0\n", + "for x in range(0,1):\n", + " for y in range(0,3):\n", + " pl+= PL[x,y]\n", + "print \"Transmission Loss = %0.2f MW \"%-pl \n", + "#Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.19 page 64" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load P1 = 80.00 MW \n", + "Load P2 = 100.00 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#lambda1=0.1*P1+20 #Rs./MWh\n", + "#lambda2=0.12*P2+16 #Rs./MWh\n", + "P=180 #MW\n", + "#Let loads are P1 & P-P1\n", + "#Economical loading lambda1=lambda2\n", + "P1, P2 = symbols('P1 P2')\n", + "eqn=0.1*P1+20-0.12*(P-P1)-16 \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "print \"Load P1 = %0.2f MW \"%P1 \n", + "print \"Load P2 = %0.2f MW \"%P2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.20 page 65" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load P1 = 125.00 MW \n", + "Load P2 = 125.00 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#F1=0.004*P1**2+2*P1+80 #Rs./hr\n", + "#F2=0.006*P2**2+1.5*P2+100 #Rs./hr\n", + "P=250 #MW\n", + "P1, P2 = symbols('P1 P2')\n", + "dF1bydP1=2*0.004*P1+2 \n", + "dF2bydP2=2*0.006*P2+1.5 \n", + "#Let loads are P1 & P-P1\n", + "#Economical loading lambda1=lambda2\n", + "eqn=2*0.004*P1+2-2*0.006*(P-P1)-1.5 \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=P-P1 #MW\n", + "print \"Load P1 = %0.2f MW \"%P1 \n", + "print \"Load P2 = %0.2f MW \"%P2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.21 page 65" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum total cost for 24 hours = 49312.50 Rs. \n", + "Operating cost per unit energy = 0.03 Rs./kWh \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#F1=(8*P1+0.024*P1**2+80)*10**6 #Btu./hr\n", + "#F2=(6*P2+0.04*P2**2+120)*10**6 #Btu./hr\n", + "Pmax=100 #MW\n", + "Pmin=10 #MW\n", + "C=2.5 #Rs./million Btu\n", + "#C1=2.5*F1/10**6\n", + "#C2=2.5*F2/10**6\n", + "#For Maximum Load of 100 MW\n", + "P1, P2 = symbols('P1 P2')\n", + "dC1bydP1=8*2.5+2.5*2*0.024*P1 \n", + "dC2bydP2=6*2.5+2.5*2*0.04*P2 \n", + "#Let loads are P1 & Pmax-P1\n", + "#Economical loading lambda1=lambda2\n", + "eqn=8*2.5+2.5*2*0.024*P1-6*2.5-2.5*2*0.04*(Pmax-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=Pmax-P1 #MW\n", + "C1=2.5*((8*P1+0.024*P1**2+80)*10**6)/10**6 #Rs./hour\n", + "C2=2.5*((6*P2+0.04*P2**2+120)*10**6)/10**6 #Rs./hour\n", + "C100=(C1+C2)*12 #Rs.(Total cost of 12 hours on 100MW load)\n", + "#For Maximum load of 50 MW\n", + "#Let loads are P1 & Pmax-P1\n", + "#Economical loading : lambda1=lambda2\n", + "Pmax1=50 #MW\n", + "P1, P2 = symbols('P1 P2')\n", + "eqn=8*2.5+2.5*2*0.024*P1-6*2.5-2.5*2*0.04*(Pmax1-P1) \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P2=Pmax1-P1 #MW\n", + "C1=2.5*((8*P1+0.024*P1**2+80)*10**6)/10**6 #Rs./hour\n", + "C2=2.5*((6*P2+0.04*P2**2+120)*10**6)/10**6 #Rs./hour\n", + "C50=(C1+C2)*12 #Rs.(Total cost of 12 hours on 50MW load)\n", + "C=C100+C50 #Rs.(Total cost for 24 hours)\n", + "print \"Minimum total cost for 24 hours = %0.2f Rs. \"%C \n", + "E=(Pmax*12+Pmax1*12)*10**3 #kWh\n", + "#Operating cost per unit energy\n", + "Co=C/E #Rs./kWh\n", + "print \"Operating cost per unit energy = %0.2f Rs./kWh \"%Co \n", + "#Answer is wrong in the textbook. Calculation mistake in energy generation calculation & Cost calculation.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.22 page 66" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimum scheduling :\n", + "Loads P1, P2 & P3 are 71.00, 39.00 & 90.00 MWs \n", + "For this schedule, total cost per hour = 7190.65 Rs./hour \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "import numpy as np\n", + "#F1=0.05*P1**2+21.5*P1+800 #Rs./hr\n", + "#F2=0.1*P2**2+27*P2+500 #Rs./hr\n", + "#F3=0.07*P3**2+16*P3+900 #Rs./hr\n", + "PT=200 #MW\n", + "Pmax=120 #MW\n", + "Pmin=39 #MW\n", + "#coefficients : \n", + "c1=0.05; c2=0.1; c3=0.07 \n", + "b1=21.5 ;b2=27 ;b3=16 \n", + "a1=800 ;a2=500 ;a3=900 \n", + "lamda=(1/2*(b1/c1+b2/c2+b3/c3)+PT)/(1/2*(1/c1+1/c2+1/c3)) \n", + "#Economical loading dF1/dP1=dF2/dP2=dF3/dP3\n", + "#from sympy import symbols, solve\n", + "P1=symbols('P1') \n", + "P2=symbols('P2') \n", + "P3=symbols('P3') \n", + "dF1bydP1=2*0.05*P1+21.5 \n", + "dF2bydP2=2*0.1*P2+27 \n", + "dF2bydP3=2*0.07*P3+16 \n", + "#Solving equation :\n", + "A=np.mat([[2*0.05 ,0 ,0] ,[0 ,2*0.1, 0], [0, 0, 2*0.07]]) \n", + "B=np.mat([[lamda-21.5], [lamda-27], [lamda-16]]) \n", + "X=A**-1*B \n", + "P1=X[0] #MW\n", + "P2=X[1] #MW\n", + "P3=X[2] #MW\n", + "if P2<Pmin:\n", + " P2=Pmin \n", + "\n", + "P1plusP3=PT-P2 #MW\n", + "#dF1/dP1=dF3/dP3\n", + "#Let loads are P1 & P1plusP3-P1\n", + "P1=symbols('P1') \n", + "P3=symbols('P3') \n", + "eqn=2*0.05*P1+21.5-2*0.07*(P1plusP3-P1)-16 \n", + "P1=solve(eqn, P1)[0] #MW\n", + "P3=P1plusP3-P1 #MW\n", + "print \"Optimum scheduling :\" \n", + "print \"Loads P1, P2 & P3 are %0.2f, %0.2f & %0.2f MWs \" %(P1, P2, P3)\n", + "F1=0.05*P1**2+21.5*P1+800 #Rs./hr\n", + "F2=0.1*P2**2+27*P2+500 #Rs./hr\n", + "F3=0.07*P3**2+16*P3+900 #Rs./hr\n", + "C=F1+F2+F3 #Rs/hour\n", + "print \"For this schedule, total cost per hour = %0.2f Rs./hour \" %C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.23 page 67" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation P1 & P2 are 123.29 & 80.00 MW\n", + "Load Demand = 188.09 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#dF1/dP1=0.025*P1+15 #\n", + "#dF2/dP2=0.05*P2+20 #\n", + "PL=15.625 #MW\n", + "P1=125 #MW\n", + "lamda=24 #Rs. per MWh\n", + "B11=PL/P1**2 #Coefficient Loss\n", + "#dF2/dP2*L2=lambda\n", + "P2=symbols('P2') \n", + "L2=1 #penalty factor\n", + "eqn=(0.05*P2+20)*L2-lamda \n", + "P2=solve(eqn, P2)[0] #MW\n", + "#PL=B11*P1**2\n", + "P1=symbols('P1') \n", + "dPLbydP1=2*B11*P1 \n", + "L1=1/(1-dPLbydP1) #penalty factor\n", + "eqn=(0.025*P1+15)-lamda/L1\n", + "P1=solve((eqn), P1)[0] #MW\n", + "print \"Generation P1 & P2 are %0.2f & %0.2f MW\"%(P1, P2)\n", + "PL=B11*P1**2 #MW\n", + "LD=P1-PL+P2 #MW\n", + "print \"Load Demand = %0.2f MW \"%LD " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 2.24 page 68" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation P1 & P2 are 128.57 & 125.00 MW\n", + "Load Demand = 237.04 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "#dC1/dP1=0.02*P1+16 #\n", + "#dC2/dP2=0.04*P2+20 #\n", + "PL=10 #MW\n", + "P1=100 #MW\n", + "lamda=25 #Rs. per MWh\n", + "B11=PL/P1**2; B22=0; B12=0 #Coefficient Loss\n", + "#dF2/dP2*L2=lambda\n", + "P2=symbols('P2') \n", + "L2=1 #penalty factor\n", + "eqn=(0.04*P2+20)*L2-lamda \n", + "P2=solve(eqn, P2)[0] #MW\n", + "#PL=B11*P1**2\n", + "P1=symbols('P1') \n", + "dPLbydP1=2*B11*P1 \n", + "L1=1/(1-dPLbydP1) #penalty factor\n", + "eqn=(0.02*P1+16)-lamda/L1\n", + "P1=solve((eqn), P1)[0] #MW\n", + "print \"Generation P1 & P2 are %0.2f & %0.2f MW\"%(P1, P2)\n", + "PL=B11*P1**2 #MW\n", + "LD=P1-PL+P2 #MW\n", + "print \"Load Demand = %0.2f MW \"%LD" + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter3_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter3_1.ipynb new file mode 100644 index 00000000..c07a8e15 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter3_1.ipynb @@ -0,0 +1,213 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-3 : Hydrothermal Coordination" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3.1 page 83" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MW rating of station = 70.90 MW\n", + "Pelton turbine is more suitable because head>200 meter.\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "head=205 #m(Mean Head)\n", + "A=1000 #km**2(Catchment area)\n", + "rf=125 #cm(Annual Rainfall)\n", + "a=80 #%(Available rainfall for power generation)\n", + "LF=75 #%(Load factor)\n", + "head_loss=5 #m(Head Loss)\n", + "Eta_turbine=0.9 #Efficiency of turbine\n", + "Eta_generator=0.95 #Efficiency of generator\n", + "#Calculation\n", + "WaterUsed=A*10**6*rf/100*a/100 #m**3/year(Discharge)\n", + "WaterUsed=WaterUsed/(365*24*60*60) #m**3/sec\n", + "Eff_Head=head-head_loss #m(Effective Head)\n", + "P=735.5/75*WaterUsed*Eff_Head*Eta_turbine*Eta_generator/1000 #MW(Load of station)\n", + "Ppeak=P/(LF/100) #MW(Peak Load )\n", + "print \"MW rating of station = %0.2f MW\"%Ppeak \n", + "#type ot turbine\n", + "if head>200:\n", + " print \"Pelton turbine is more suitable because head>200 meter.\" \n", + "else:\n", + " print \"Pelton turbine is not suitable\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3.2 page 85" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Available hydro energy = 905.55 MW-hours\n", + "Capacity of hydro plant = 147.37 MW \n", + "Capacity of thermal plant = 210.00 MW \n" + ] + } + ], + "source": [ + "WF=50 #m**3/sec(Water flow)\n", + "head=90 #m\n", + "LF=75 #%(Load factor)\n", + "Eta=90 #%(Efficiency of hydro plant)\n", + "L=5 #%(Transmission losses)\n", + "TC=350 #MW\n", + "hp=140 #MW#Hydro power\n", + "#Calculation\n", + "P=735.5/75*WF*head*Eta/100/1000 #MW(Power available)\n", + "Pnet=P*(100-L)/100 #MW#/Net Available hydro power\n", + "E=Pnet*24 #MW-hours##Hydro Energy\n", + "print \"Available hydro energy = %0.2f MW-hours\"%E\n", + "C1=hp/((100-L)/100) #MW#Capacity of hydro plant\n", + "print \"Capacity of hydro plant = %0.2f MW \"%C1 \n", + "C2=TC-hp #MW#Capacity of thermal plant\n", + "print \"Capacity of thermal plant = %0.2f MW \"%C2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3.3 page 92" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Daily water used by plant = 258189.00 m**3\n", + "Daily operating cost of plant = 205004.86 Rs. \n" + ] + } + ], + "source": [ + "P1=700 #MW(Load for 14 hours)\n", + "P2=500 #MW(Load for 10 hours)\n", + "B22=0.0005 #Loss Coefficient\n", + "t1=14 #hour\n", + "t2=10 #hour\n", + "r2=2.5 #Rs/hour/(m**3/sec\n", + "#Characteristics of units : \n", + "#C1=(24+0.02*P1)*P1 #Rs./hour\n", + "#W2=(6+0.0025*P2)*P2 #m**3/sec\n", + "lamda=37.944 #Rs./MWh(For peak load conditions)\n", + "P1=348.6 #MW(For peak load conditions)\n", + "P2=454.84 #MW(For peak load conditions)\n", + "PL=103.44 #MW(For peak load conditions)\n", + "lambda_dash=31.73 #Rs./MWh(For peak load conditions)\n", + "P1_dash=193.25 #MW(For peak off conditions)\n", + "P2_dash=378.25 #MW(For peak off conditions)\n", + "PL_dash=71.50 #MW(For peak off conditions)\n", + "W=((6+0.0025*P2)*P2*t1+(6+0.0025*P2_dash)*P2_dash*t2)*3600/10**3 #m**3#D3ily water used\n", + "print \"Daily water used by plant = %0.2f m**3\" %W\n", + "C=(24+0.02*P1)*P1*t1+(24+0.02*P1_dash)*P1_dash*t2 #Rs.\n", + "print \"Daily operating cost of plant = %0.2f Rs. \"%C " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 3.4 page 93" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load on hydro plant = 237.04 MW\n", + "Cost of water use = 0.79 Rs./hour/(m**3/sec)\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "t1=14 #hour(working hour of hydro station)\n", + "t2=24 #hour(Working hour of steam station)\n", + "#Characteristics of units : \n", + "#C=(5+8*Ps+0.05*Ps**2) #Rs./hour\n", + "#dW/dPh=30+0.05*Ph #m**3/MW-sec\n", + "W=500*10**6 #m**3(Water Quantity used)\n", + "Ps=250 #MW(Load on steam station)\n", + "lamda=8+0.1*Ps #Rs./MW-hour\n", + "#W=Ph*(30+0.05*Ph)*t1*3600 #\n", + "#0.05*Ph**2*t1*3600+Ph*30*t1*3600-W=0\n", + "Ph=symbols('Ph') \n", + "Ph=solve(0.05*Ph**2*t1*3600+Ph*30*t1*3600-W, Ph) #MW\n", + "Ph=Ph[1] #MW#Leaving negative root\n", + "print \"Load on hydro plant = %0.2f MW\"%Ph \n", + "r=lamda/(30+0.05*Ph) #Rs./hour/(m**3/sec)\n", + "print \"Cost of water use = %0.2f Rs./hour/(m**3/sec)\"%r \n", + "#Answer is slightly differ due to accuracy in calculations." + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter4_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter4_1.ipynb new file mode 100644 index 00000000..759968fb --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter4_1.ipynb @@ -0,0 +1,382 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-4 : Modelling of Turbine, Generator & Automatic Controllers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.1 page 107" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Load supplied by first machine = 2666.67 kW\n", + "Load supplied by second machine = 3333.33 kW \n", + "Part(b)\n", + "Total load supplied without getting over loaded = 7200.00 kW\n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "kVA=4000 #kVA#rating\n", + "f1_nl=50 #Hz(No load frequency of machine1)\n", + "f1_fl=47.5 #Hz(No load frequency of machine1)\n", + "f2_nl=50 #Hz(No load frequency of machine2)\n", + "f2_fl=48 #Hz(No load frequency of machine2)\n", + "L=6000 #kW(Load)\n", + "L1=symbols('L1') #Load of machine1\n", + "#f1_nl-(f1_nl-f1_fl)*L1/kVA=f1_nl-(f2_nl-f2_fl)*L2/kVA where L2=L-L1\n", + "L1=(f2_nl-f2_fl)*L/((f1_nl-f1_fl)+(f2_nl-f2_fl)) #kW\n", + "L2=L-L1 #kW\n", + "print \"Part(a)\" \n", + "print \"Load supplied by first machine = %0.2f kW\"%L1 \n", + "print \"Load supplied by second machine = %0.2f kW \"%L2 \n", + "print \"Part(b)\" \n", + "L2=4000 #kW#Machine2 is supplying 4000kW\n", + "fdrop1=f1_nl-f1_fl #Hz(frequency drop of machine 1)\n", + "fdrop2=f2_nl-f2_fl #Hz(frequency drop of machine 2)\n", + "L1=L2*fdrop2/fdrop1 #kW#Load supplied by machine 1\n", + "L=L1+L2 #kW#Total Load\n", + "print \"Total load supplied without getting over loaded = %0.2f kW\"%L" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.2 page 107" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current on machine A = 180.64 A \n", + "Lagging power factor of machine A = 0.7264\n", + "Induced emf of machine A = 5.57 kV per phase Load angle of machine A = 15.90 degree \n", + "Load angle of machine B = 15.49 degree \n", + "Induced emf of machine B = 4.78 kV per phase\n" + ] + } + ], + "source": [ + "from math import degrees, acos, asin, atan, sqrt, cos, sin\n", + "Lt=3000 #kW#Total Load\n", + "pf=0.8 #Power factor Lagging\n", + "I=150 #A\n", + "ZA=0.4+1J*12 #ohm#synchronous impedence\n", + "ZB=0.5+1J*10 #ohm#synchronous impedence\n", + "Vt=6.6 #kV#Terminal Voltage\n", + "L=Lt/2 #kW#Load supplied by each machine\n", + "LA=L #kW\n", + "LB=L #kW\n", + "#LB=sqrt(3)*Vt*IB*cosd(theta_B) \n", + "theta_B=acos(LB/sqrt(3)/Vt/I) #radian\n", + "IB=I*(cos(theta_B)-1J*sin(theta_B)) #A\n", + "I_total=Lt/sqrt(3)/Vt/pf #A#Total Current\n", + "IA_plus_IB=I_total*(0.8-1J*0.6) #A\n", + "IA=IA_plus_IB-IB #A\n", + "cos_thetaA=(IA).real/abs(IA) #lagging power factor\n", + "EA=Vt/sqrt(3)+IA*ZA/1000 #kV per phase\n", + "del_A=atan((EA).imag/(EA).real) #radian#Load Angle\n", + "emf_A=abs(EA) #kV per phase#Induced emf of machine A\n", + "EB=Vt/sqrt(3)+IB*ZB/1000 #kV per phase\n", + "del_B=atan((EB).imag/(EB).real) #radian#Load Angle\n", + "emf_B=abs(EB) #kV per phase#Induced emf of machine A\n", + "IA=abs(IA) #A\n", + "print \"Current on machine A = %0.2f A \"%IA \n", + "pfA=cos_thetaA #power factor\n", + "print \"Lagging power factor of machine A = %0.4f\"%pfA \n", + "print \"Induced emf of machine A = %0.2f kV per phase \"%emf_A, \n", + "print \"Load angle of machine A = %0.2f degree \"%degrees(del_A) \n", + "print \"Load angle of machine B = %0.2f degree \"%degrees(del_B) \n", + "print \"Induced emf of machine B = %0.2f kV per phase\"%emf_B \n", + "#Answer in the textbook is not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.3 page 111" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Synchronising power per mech. degree = 872.66 kW\n", + "Synchronising torque = 2777.78 N-m\n", + "Part(b)\n", + "Synchronising power per mech. degree = 987.31 kW \n", + "Synchronising torque = 3142.70 N-m \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, cos, sin\n", + "P=5 #MVA\n", + "V=1000 #V\n", + "speed=1500 #rpm#speed\n", + "ns=speed/60 #rps\n", + "f=50 #Hz\n", + "pf=0.8 #Power factor Lagging\n", + "Xs=20 #%#synchronous reluctance\n", + "Xs=Xs/100 #/p.u.\n", + "print \"Part(a)\" \n", + "V=1 #p.u.#on no load\n", + "E=1 #p.u.#on no load\n", + "Ps=V*E/Xs #p.u.\n", + "Ps=Ps*P #MW per elect. radian\n", + "Ps=Ps*1000 #kW per elect. radian\n", + "#1 mech. radian=pi/90 elect. radian\n", + "Ps=Ps*pi/90 #kW per mech. degree\n", + "print \"Synchronising power per mech. degree = %0.2f kW\"%Ps \n", + "d=0.5 #degree##displacement\n", + "Ts=Ps*1000*d/2/pi/ns #N-m\n", + "print \"Synchronising torque = %0.2f N-m\"%Ts \n", + "print \"Part(b)\" \n", + "theta=acos(pf) #radian\n", + "E=V+(cos(theta)-1J*sin(theta))*1J*Xs #p.u.\n", + "Ps=V*E/Xs #p.u.\n", + "Ps=Ps*P #MW per elect. radian\n", + "Ps=Ps*1000 #kW per elect. radian\n", + "#1 mech. radian=pi/90 elect. radian\n", + "Ps=Ps*pi/90 #kW per mech. degree\n", + "Ps=abs(Ps) #kW per mech. degree\n", + "print \"Synchronising power per mech. degree = %0.2f kW \"%Ps \n", + "d=0.5 #degree##displacement\n", + "Ts=abs(Ps)*1000*d/2/pi/ns #N-m\n", + "print \"Synchronising torque = %0.2f N-m \"%Ts \n", + "#Answer in the textbook is not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.4 page 112" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Synchronising power per mech. degree = 514.92 kW \n", + "Synchronising torque = 6556.12 N-m\n" + ] + } + ], + "source": [ + "from math import cos, sin, sqrt, pi\n", + "P=2 #MVA\n", + "V=6000 #V\n", + "speed=750 #rpm#speed\n", + "ns=speed/60 #rps\n", + "Zs=6 #ohm/phase\n", + "f=50 #Hz\n", + "pf=0.8 #Power factor Lagging\n", + "#Calculation\n", + "I=P*10**6/sqrt(3)/V #A#Current\n", + "theta=acos(pf) #radian\n", + "E=V/sqrt(3)+I*(cos(theta)-1J*sin(theta))*1J*Zs #V\n", + "Ps=V*sqrt(3)*E/Zs/1000 #kw per elect. radian\n", + "Ps=Ps*4*pi/180 #kW per mech. degree\n", + "Ps=abs(Ps) #kW per mech. degree\n", + "print \"Synchronising power per mech. degree = %0.2f kW \"%Ps \n", + "Ts=abs(Ps)*1000/2/pi/ns #N-m\n", + "print \"Synchronising torque = %0.2f N-m\" %Ts\n", + "#Answer in the textbook is not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.5 page 112" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Open circuit phase emf 6598.62 V/phase \n", + "Angle delta = 2.78 degree\n", + "Part(b)\n", + "New load current = 368.57 A \n", + "Its power factor = 0.9901 lagging \n", + "Part(c)\n", + "New value of load current = 456.13 A \n" + ] + } + ], + "source": [ + "from math import acos,cos,atan,degrees, sin, sqrt, pi\n", + "I=100 #A#/Current\n", + "V=11 #kV\n", + "Xs=4 #ohm/phase\n", + "f=50 #Hz\n", + "pf=0.8 #Power factor Lagging\n", + "#Calculation\n", + "theta=acos(pf) #radian\n", + "print \"Part(a)\" \n", + "E=V*1000/sqrt(3)+I*(cos(theta)-1J*sin(theta))*1J*Xs #V\n", + "Del=atan((E).imag/(E).real) #radian\n", + "E=abs(E) #V/phase\n", + "print \"Open circuit phase emf %0.2f V/phase \"%E \n", + "print \"Angle delta = %0.2f degree\"%degrees(Del) \n", + "print \"Part(b)\" \n", + "del_dash=10+degrees(Del) #degree\n", + "P_by_V=E*sin(del_dash*pi/180)/Xs #per phase\n", + "#P=V*I*cos_fi\n", + "I_cos_fi=P_by_V \n", + "#V*1000/sqrt(3)+I*(cos_fi-%i*sin_fi)*%i*Xs=E\n", + "I_sin_fi=(sqrt(E**2-(4*I_cos_fi**2))-V*1000/sqrt(3))/4 \n", + "tan_fi=I_sin_fi/I_cos_fi \n", + "fi=degrees(atan(tan_fi)) #degree\n", + "I=I_cos_fi/cos(fi*pi/180) #A\n", + "print \"New load current = %0.2f A \"%I \n", + "pf=cos(fi*pi/180) #lagging power factor\n", + "print \"Its power factor = %0.4f lagging \" %pf\n", + "print \"Part(c)\" \n", + "pf1=0.8 #/original power factor\n", + "Idash=I*pf/pf1 #Current\n", + "print \"New value of load current = %0.2f A \"%Idash \n", + "#Answer is slightly differ because of accuracy in calculations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 4.6 page 119" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Stored energy = 1200.00 MJ \n", + "Part(b)\n", + "Motor retardation = 300.00 elect.deg.sec**2\n", + "Part(c)\n", + "Change in power angle = -1.50 elect.deg. \n", + "Rotor speed at the end of 5 cycle = 1497.50 rpm \n", + "Part(d)\n", + "Inertia constant for the equivalent generator = 18.00 MJ/MVA \n" + ] + } + ], + "source": [ + "G=200 #MVA\n", + "H=6 #MJ/MVA#/Inertia Constant\n", + "V=11 #kV\n", + "f=50 #Hz\n", + "L1=120 #MW\n", + "L2=160 #MW\n", + "\n", + "#Calculation\n", + "print \"Part(a)\" \n", + "Es=G*H #MJ##Stored Energy\n", + "print \"Stored energy = %0.2f MJ \"%Es \n", + "print \"Part(b)\" \n", + "Pa=L1-L2 #MW\n", + "M=G*H/180/f #MJ-sec/elect.deg.\n", + "alfa=-Pa/M #elect.deg./sec**2#/Retardation\n", + "print \"Motor retardation = %0.2f elect.deg.sec**2\" %alfa\n", + "print \"Part(c)\" \n", + "n=5 #cycles\n", + "t=n/f #sec\n", + "del_change=1/2*-alfa*t**2 #elect.deg.\n", + "print \"Change in power angle = %0.2f elect.deg. \"%del_change \n", + "alfa=alfa*60/(180*4) #rpm/sec\n", + "ns=1500 #rpm\n", + "nr=ns+(-alfa)*t #rpm #/rotor speed\n", + "print \"Rotor speed at the end of 5 cycle = %0.2f rpm \"%nr \n", + "print \"Part(d)\"\n", + "H2=4 #MJ/MVA\n", + "G2=150 #MVA\n", + "Gb=100 #MVA\n", + "Heb=H*G/Gb+H2*G2/Gb #MJ/MVA\n", + "print \"Inertia constant for the equivalent generator = %0.2f MJ/MVA \"%Heb " + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter5_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter5_1.ipynb new file mode 100644 index 00000000..ecc0a177 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter5_1.ipynb @@ -0,0 +1,1092 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-5 : Load Frequency Control" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.1 page 145" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(i)\n", + "Speed regulation = 2.00 Hz/p.u.MW\n", + "Speed regulation = 0.02 Hz/MW\n", + "Part(ii)\n", + "Change in power output = 5.00 MW \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "P=100 #MW\n", + "drop=4 #%(No load to full load drop)\n", + "f=50 #Hz\n", + "print \"Part(i)\" \n", + "p=1 #MW(For calculating per unit MW)\n", + "R=(drop/100)*f/p #Hz/p.u.MW\n", + "print \"Speed regulation = %0.2f Hz/p.u.MW\" %R\n", + "R=(drop/100)*f/P #Hz/MW\n", + "print \"Speed regulation = %0.2f Hz/MW\" %R\n", + "print \"Part(ii)\" \n", + "del_f=-0.1 #Hz(Frequency drop)\n", + "delP=-1/R*del_f #MW(Change in power output)\n", + "print \"Change in power output = %0.2f MW \"%delP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.2 page 146" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequency deviation = 2.53 %\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "P=100 #MVA\n", + "f=50 #Hz\n", + "H=5 #kW-sec/kVA(Constant)\n", + "delP=50 #MW(Increased Load)\n", + "td=0.5 #s(Time delay)\n", + "P=P/1000 #kVA\n", + "KE=P*H #kW-sec\n", + "delP=delP/1000 #kW(Increased Load)\n", + "KE_loss=delP*td #kW-s\n", + "f_new=sqrt((KE-KE_loss)/KE)*f #Hz\n", + "f_dev=(f-f_new)/f*100 #%(Frequency deviation)\n", + "print \"Frequency deviation = %0.2f %%\"%f_dev" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.3 page 146" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Value of R for unit 1 & 2 are : 0.0050 & 0.0125 Hz/MW \n" + ] + } + ], + "source": [ + "P1=500 #MW\n", + "P2=200 #MW\n", + "f=50 #Hz\n", + "delP=140 #MW(System load increase)\n", + "f_new=49.5 #Hz(Frequency after drop)\n", + "delP1=delP*P1/(P1+P2) #MW\n", + "delP2=delP*P2/(P1+P2) #MW\n", + "f_dev=f_new-f #Hz\n", + "#For delPdash=0, R1 &R2 can be calculated as :\n", + "R1=-1/delP1*f_dev #Hz/MW\n", + "R2=-1/delP2*f_dev #Hz/MW\n", + "print \"Value of R for unit 1 & 2 are : %0.4f & %0.4f Hz/MW \"%(R1, R2) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.4 page 146" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Static frequency drop = -0.02 Hz\n", + "If speed governer loop is open, frequency drop = -1.00 Hz \n" + ] + } + ], + "source": [ + "\n", + "f=50 #Hz\n", + "R=2 #Hz/pu MW\n", + "Pr=10000 #MW(Rated Capacity)\n", + "P=Pr/2 #MW(Operating Power)\n", + "delP=2 #%(Load Increase)\n", + "del_f=f*1/100 #Hz(1% change in frequency)\n", + "del_PL=P*1/100 #MW(1% change in load)\n", + "#Rate of change of load with frequency :\n", + "D=del_PL/del_f #MW/Hz\n", + "D=D/Pr #p.u. MW/Hz\n", + "#Frequency response characteristic : \n", + "Beta=D+1/R #p.u. MW/Hz\n", + "M=delP/100*P #MW\n", + "M=M/Pr #p.u. MW\n", + "del_fo=-M/Beta #Hz\n", + "print \"Static frequency drop = %0.2f Hz\"%del_fo\n", + "R=float('inf')\n", + "Beta=D+1/R #p.u. MW/Hz\n", + "del_fo=-M/Beta #Hz\n", + "print \"If speed governer loop is open, frequency drop = %0.2f Hz \"%del_fo" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.5 page 147" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Primary ALFC loop parameters :\n", + "Kp = 100.00 Hz/p.u. MW \n", + "Tp = 20.00 seconds \n" + ] + } + ], + "source": [ + "C=10000 #MW(Control area capacity)\n", + "P=5000 #MW\n", + "H=5 #s\n", + "R=3 #Hz/pu MW\n", + "f=50 #Hz\n", + "del_f=f*1/100 #Hz\n", + "del_PL=P*1/100 #MW\n", + "D=del_PL/del_f #MW/Hz\n", + "D=D/C #p.u. MW/Hz\n", + "#Primary ALFC loop parameters :\n", + "Kp=1/D #Hz/p.u. MW\n", + "Tp=2*H/f/D #s\n", + "print \"Primary ALFC loop parameters :\"\n", + "print \"Kp = %0.2f Hz/p.u. MW \"%Kp \n", + "print \"Tp = %0.2f seconds \"%Tp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.6 page 147" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequency drop contribution to increase in load = 1.96 MW\n", + "Increase in generation to meet the increase load = 98.04 MW \n" + ] + } + ], + "source": [ + "f=50 #Hz\n", + "R=2 #Hz/pu MW\n", + "Pr=10000 #MW(Rated Capacity)\n", + "P=Pr/2 #MW(Operating Power)\n", + "delP=2 #%(Load Increase)\n", + "del_f=f*1/100 #Hz(1% change in frequency)\n", + "del_PL=P*1/100 #MW(1% change in load)\n", + "#Rate of change of load with frequency :\n", + "D=del_PL/del_f #MW/Hz\n", + "D=D/Pr #p.u. MW/Hz\n", + "#Frequency response characteristic : \n", + "Beta=D+1/R #p.u. MW/Hz\n", + "M=delP/100*P #MW\n", + "M=M/Pr #p.u. MW\n", + "del_fo=-M/Beta #Hz\n", + "delP_fo=-del_fo*(D*Pr) #MW\n", + "print \"Frequency drop contribution to increase in load = %0.2f MW\" %delP_fo\n", + "delP_gen=-del_fo/R*Pr #MW\n", + "print \"Increase in generation to meet the increase load = %.2f MW \" %delP_gen " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.7 page 152" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequency deviation = 1.40 %\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "G=100 #MVA\n", + "f=50 #Hz\n", + "n=3000 #rpm\n", + "L=25 #MW#Load\n", + "td=0.5 #sec\n", + "H=4.5 #MW-sec/MVA\n", + "#Calculation\n", + "KE=H*G #MW-sec##at no load\n", + "KE_Loss=L*td #MW-sec#/due to increase in load\n", + "f_new=sqrt((KE-KE_Loss)/KE)*f #Hz\n", + "delF=(f-f_new)/f*100 #%##frequency deviation\n", + "print \"Frequency deviation = %0.2f %%\" %delF" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.8 page 152" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Largest change in step load = 420.00 MW \n", + "Part(b)\n", + "(R+Kp)/(R*Tp) = 2.62 seconds \n", + "Change in frequency as a funtion of time, \n", + "delf(t) = -0.2*(1-epsilon**(2.625*t))\n" + ] + } + ], + "source": [ + "C=4000 #MW\n", + "f=50 #Hz\n", + "L=2500 #MW#Load\n", + "R=2 #Hz/p.u.MW##Speed regulation constant\n", + "H=5 #sec##Inertia constant\n", + "delPL=2 #%##change in load\n", + "delf=1 #%##change in frequency\n", + "print \"Part(a)\" \n", + "D=delPL/delf*L/f #MW/Hz\n", + "D=D/C #p.u.MW/Hz\n", + "Beta=D+1/R #p.u.MW/Hz\n", + "delf0=-0.2 #Hz\n", + "M=-(delf0)*Beta #p.u.MW\n", + "M=M*C #MW\n", + "print \"Largest change in step load = %0.2f MW \"%M \n", + "print \"Part(b)\" \n", + "Kp=1/D #Hz/p.u.MW\n", + "Tp=2*H/f/D #sec\n", + "Tdash=(R+Kp)/R/Tp #sec\n", + "print \"(R+Kp)/(R*Tp) = %0.2f seconds \"%(Tdash) \n", + "print 'Change in frequency as a funtion of time, \\ndelf(t) = -0.2*(1-epsilon**(%.3f*t))'%(Tdash) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.9 page 153" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "(R+Kp)/(R*Tp) = 4.10 seconds \n", + "(R*Kp*M)/(R+Kp) = 0.02 seconds\n", + "Static frequency error = -0.02 Hz \n", + "Part(b)\n", + "Critical value of Ki = 0.84 p.u.MW/Hz \n" + ] + } + ], + "source": [ + "C=4000 #MW\n", + "f=50 #Hz\n", + "L=C #MW#Load\n", + "R=2.5 #%##Speed regulation constant\n", + "H=5 #sec##Inertia constant\n", + "delPL=1 #%##change in load\n", + "delf=1 #%##change in frequency\n", + "print \"Part(a)\" \n", + "Ls=80 #MW #increase in step to load\n", + "R=R/100*f #z/p.u.MW\n", + "D=delPL/delf*L/f #MW/Hz\n", + "D=D/C #p.u.MW/Hz\n", + "M=Ls/L #unitless#for given step load\n", + "Kp=1/D #Hz/p.u.MW\n", + "Tp=2*H/f/D #sec\n", + "Tdash1=(R+Kp)/R/Tp #sec\n", + "print \"(R+Kp)/(R*Tp) = %0.2f seconds \"%Tdash1 \n", + "Tdash2=(R*Kp*M)/(R+Kp) #sec\n", + "print \"(R*Kp*M)/(R+Kp) = %0.2f seconds\"%Tdash2\n", + "delf0=-Tdash2 #Hz##Static frequency error\n", + "print \"Static frequency error = %0.2f Hz \"%delf0 \n", + "print \"Part(b)\" \n", + "Ki=(1+Kp/R)**2/4/Tp/Kp #p.u.MW/Hz\n", + "print \"Critical value of Ki = %0.2f p.u.MW/Hz \"%Ki" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.10 page 154" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "delFs = M/s* -50.0/((1 + 25.0/((0.2*s + 1)*(2*s + 1)*(10.0*s + 1)))*(10.0*s + 1))\n", + "Part(b)\n", + "Largest step change = -390.00 MW \n" + ] + } + ], + "source": [ + "from sympy import symbols, solve\n", + "s=symbols('s') #for transfer function\n", + "Tg=0.2 #sec#/time constant of governing system\n", + "Tt=2 #sec#/time constant of turbine\n", + "Gr=1/(1+Tg*s) #Transfer function of governer\n", + "Gt=1/(1+Tt*s) #Transfer function of turbine\n", + "C=1500 #MW\n", + "f=50 #Hz\n", + "R=4 #%##Speed regulation constant\n", + "H=5 #sec##Inertia constant\n", + "delPL=1 #%##change in load\n", + "delf=1 #%##change in frequency\n", + "print \"Part(a)\" \n", + "R=R/100*f #z/p.u.MW\n", + "D=delPL/delf*C/f #MW/Hz\n", + "D=D/C #p.u.MW/Hz\n", + "Kp=1/D #Hz/p.u.MW\n", + "Tp=2*H/f/D #sec\n", + "Gp=Kp/(1+Tp*s) #Transfer function of power system\n", + "delFs=-Gp/(1+Gr*Gt*Gp/R) \n", + "print \"delFs = M/s*\",delFs \n", + "print \"Part(b)\" \n", + "delf0_by_M=-Kp/(1+Kp/R) #Hz\n", + "delf0=delf/100*f #Hz\n", + "M=delf0/delf0_by_M #p.u.MW\n", + "M=M*C #MW\n", + "print \"Largest step change = %0.2f MW \"%M \n", + "#Transfer functions multiplication Gr*Gt*Gp is calculated & it is not possible to show together without calculated as in the book." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.11 page 157" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Static frequency drop = -0.01 Hz \n", + "Change in tie line power = 33.33 MW \n" + ] + } + ], + "source": [ + "GA=5000 #MW\n", + "GB=10000 #MW\n", + "R=2 #Hz/p.u.MW##Speed regulation constant\n", + "D=0.01 #p.u.MW/Hz\n", + "Ls=100 #MW#Load increase\n", + "RA=R*GB/GA #Hz/p.u.MW\n", + "DA=D*GA/GB #p.u.MW/Hz\n", + "RB=R #Hz/p.u.MW\n", + "DB=D #p.u.MW/Hz\n", + "Beta_A=DA+1/RA #p.u.MW/Hz\n", + "Beta_B=DB+1/RB #p.u.MW/Hz\n", + "MA=0 #Load increase\n", + "MB=Ls/GB #p.u.MW\n", + "delf0=-MB/(Beta_A+Beta_B) #Hz\n", + "print \"Static frequency drop = %0.2f Hz \"%delf0 \n", + "delPAB=Beta_A*MB/(Beta_A+Beta_B) #p.u.MW\n", + "delPAB=delPAB*GB #MW\n", + "print \"Change in tie line power = %0.2f MW \"%delPAB " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.12 page 159" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Change in frequency = -0.02 Hz \n", + "Change in tie line power = -16.64 MW \n", + "Part(b)\n", + "Change in frequency = -0.02 Hz \n", + "Change in tie line power = 3.36 MW \n" + ] + } + ], + "source": [ + "GA=500 #MW\n", + "GB=2000 #MW\n", + "RA=2.5 #Hz/p.u.MW##Speed regulation constant\n", + "RB=2 #Hz/p.u.MW##Speed regulation constant\n", + "Ls=20 #MW#Load increase\n", + "f=50 #Hz\n", + "delL=1 #%##change in load\n", + "delf=1 #%##change in frequency\n", + "DA=delL/delf*GA/f #MW/Hz\n", + "DA=DA/GB #p.u.MW/Hz\n", + "DB=delL/delf*GB/f #MW/Hz\n", + "DB=DB/GB #p.u.MW/Hz\n", + "RA=RA*GB/GA #Hz/p.u.MW\n", + "Beta_A=DA+1/RA #p.u.MW/Hz\n", + "Beta_B=DB+1/RB #p.u.MW/Hz\n", + "print \"Part(a)\" \n", + "MA=Ls/GB #unitless\n", + "MB=0 #unitless\n", + "delf0=-MA/(Beta_A+Beta_B) #Hz\n", + "print \"Change in frequency = %0.2f Hz \"%delf0 \n", + "delPAB=-Beta_B*MA/(Beta_B+Beta_A) #p.u.MW\n", + "delPAB=delPAB*GB #MW\n", + "print \"Change in tie line power = %0.2f MW \"%delPAB \n", + "print \"Part(b)\" \n", + "MB=Ls/GB #unitless\n", + "MA=0 #unitless\n", + "delf0=-MB/(Beta_A+Beta_B) #Hz\n", + "print \"Change in frequency = %0.2f Hz \"%delf0 \n", + "delPAB=Beta_A*MB/(Beta_B+Beta_A) #p.u.MW\n", + "delPAB=delPAB*GB #MW\n", + "print \"Change in tie line power = %0.2f MW \"%delPAB " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.13 page 160" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Frequency of oscillation = 2.38 radian/sec \n", + "Part(b)\n", + "Change in tie line power = 50.00 MW \n", + "Part(c)\n", + "Frequency of oscillation = 2.69 radian/sec \n" + ] + } + ], + "source": [ + "from math import cos, pi, sqrt\n", + "G=4000 #MW\n", + "R=2 #Hz/p.u.MW##Speed regulation constant\n", + "H=5 #sec\n", + "C=600 #MW#Capacity\n", + "theta=40 #degree#/Power angle\n", + "f=50 #Hz\n", + "print \"Part(a)\" \n", + "T=C/G*cos(pi/180*theta) #sec\n", + "omega0=sqrt((2*pi*f*T/H-(f/4/R/H)**2)) #radian/sec\n", + "print \"Frequency of oscillation = %0.2f radian/sec \"%omega0 \n", + "print \"Part(b)\" \n", + "delLB=100 #MW#change in load in area B\n", + "delPAB=delLB/2 #MW#because Beta_A=Beta_B\n", + "print \"Change in tie line power = %0.2f MW \"%delPAB \n", + "print \"Part(c)\" \n", + "omega0=sqrt((2*pi*f*T/H)) #radian/sec\n", + "print \"Frequency of oscillation = %0.2f radian/sec \"%omega0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.14 page 168" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load on first generator = 290.32 MW \n", + "Load on second generator = 309.68 MW \n", + "Frequency at load = 48.06 Hz \n" + ] + } + ], + "source": [ + "C1=300 #MW\n", + "C2=400 #MW\n", + "G1=4 #%#droop characteristics of governer\n", + "G2=5 #%#droop characteristics of governer\n", + "L=600 #MW\n", + "f=50 #Hz\n", + "#Load on first generator =L1\n", + "#Load on second generator =L-L1\n", + "#f-G1*f/100*(L1/C1)=f-G2*f/100*(L2/C2)\n", + "L1=G2*L/C2/(G1/C1+G2/C2) #MW\n", + "L2=L-L1 #MW\n", + "print \"Load on first generator = %0.2f MW \"%L1 \n", + "print \"Load on second generator = %0.2f MW \"%L2 \n", + "fLoad=f*(1-L1/C1*G1/100) #Hz\n", + "print \"Frequency at load = %0.2f Hz \"%fLoad" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.15 page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New frequency = 50.99 Hz \n", + "Frequency deviation = 1.98 %\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "G=100 #MVA\n", + "f=50 #Hz\n", + "delL=50 #MW\n", + "Tc=0.4 #sec\n", + "H=5 #/kWs/kVA\n", + "KE=G*1000*H #kWs\n", + "delKE=delL*1000*Tc ##kWs#/due to decrease in load\n", + "fnew=sqrt((KE+delKE)/KE) *f #Hz\n", + "fdev=(fnew-f)/f*100 #%\n", + "print \"New frequency = %0.2f Hz \"%fnew \n", + "print \"Frequency deviation = %0.2f %%\"%fdev" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.16 page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New frequency = 50.70 Hz \n", + "Frequency deviation = 1.39 %\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "G=100 #MVA\n", + "f=50 #Hz\n", + "delL=60 #MW\n", + "Tc=0.35 #sec\n", + "H=5 #/kWs/kVA\n", + "KE=G*1000*H #kWs\n", + "delKE=(G-delL)*1000*Tc ##kWs#/due to decrease in load\n", + "fnew=sqrt((KE+delKE)/KE) *f #Hz\n", + "fdev=(fnew-f)/f*100 #%\n", + "print \"New frequency = %0.2f Hz \"%fnew \n", + "print \"Frequency deviation = %0.2f %%\" %fdev" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.17 page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequency increase rate = 0.08 Hz/sec \n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "KE=1500 #MJ\n", + "Pin=5 #MW\n", + "f=50 #Hz\n", + "t=1 #sec\n", + "delKE=Pin*t ##MJ#/due to power inputs\n", + "fnew=sqrt((KE+delKE)/KE) *f #Hz\n", + "delf=fnew-f #/Hz/second\n", + "print \"Frequency increase rate = %0.2f Hz/sec \"%delf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.18 page 169" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Primary ALFC loop parameters are : \n", + "D = 0.01 p.u.MW/Hz\n", + "Kp = 100.0 Hz/p.u.MW\n", + "Tp = 20.0 sec \n" + ] + } + ], + "source": [ + "C=2000 #MW#/Capacity\n", + "L=1000 #MW#Load\n", + "H=5 #kWs/KVA\n", + "R=2.4 #Hz/puMW#Regulation\n", + "f=50 #Hz\n", + "delL=1 #%##change in load\n", + "delf=1 #%##change in frequency\n", + "D=delL/delf*L/f #MW/Hz\n", + "D=D/C #p.u.MW/Hz\n", + "Kp=1/D #Hz/p.u.MW\n", + "Tp=2*H/f/D #sec\n", + "print \"Primary ALFC loop parameters are : \" \n", + "print \"D = \",D,\"p.u.MW/Hz\" \n", + "print \"Kp = \",Kp,\"Hz/p.u.MW\" \n", + "print \"Tp = \",Tp,\"sec \" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.19 page 170" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total time error = 0.020 sec\n" + ] + } + ], + "source": [ + "from sympy import symbols\n", + "Tp=10 #sec\n", + "Tg=0 #sec\n", + "Tt=0 #sec\n", + "Kp=100 #Hz/p.u.MW\n", + "R=3 #/Hz/CuMW\n", + "delPD=0.1 #p.u.\n", + "Ki=0.1 #constant\n", + "f=50 #Hz\n", + "s=symbols('s') \n", + "delFs=-Kp/Tp*(delPD/(s**2+s*((1+Kp/R)/Tp)+Ki*Kp/Tp))\n", + "n=1 #cycle\n", + "time_error=n/f #sec\n", + "print \"Total time error = %0.3f sec\"%time_error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.20 page 171" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load generation at station A = 11.67 MW \n", + "Load generation at station B = 2.33 MW \n", + "Operating Frequency = 48.83 Hz \n" + ] + } + ], + "source": [ + "L=14 #MW#Total Load\n", + "C1=15 #MW\n", + "R1=3 #%#speed regulation\n", + "C2=4 #MW\n", + "R2=4 #%#speed regulation\n", + "LB=4 #MW#Load on bus bar\n", + "LA=10 #MW#/Load on bus bar\n", + "f=50 #Hz\n", + "#Load on station A= L1 MW\n", + "#Load on station B= L-L1 MW\n", + "#f-C1*f/100*(L1/C1)=f-C2*f/100*(L2/C2)\n", + "L1=R2*L/C2/(R1/C1+R2/C2) #MW\n", + "L2=L-L1 #MW\n", + "print \"Load generation at station A = %0.2f MW \"%L1 \n", + "print \"Load generation at station B = %0.2f MW \"%L2\n", + "Pt=L1-LA #MW#Power transmitted A to B\n", + "f_oper=f-R1/100/C1*(L1)*f #Hz\n", + "print \"Operating Frequency = %0.2f Hz \"%f_oper " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.21 page 171" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No load frequency of 300 MW generator = 51.17 Hz \n", + "No load frequency of 400 MW generator = 51.78 Hz \n" + ] + } + ], + "source": [ + "C1=300 #MW\n", + "C2=400 #MW\n", + "G1=4 #%#droop characteristics of governer\n", + "G2=6 #%#droop characteristics of governer\n", + "L=400 #MW\n", + "f=50 #Hz\n", + "L1=C1*L/(C1+C2) #MW#Load on 300 MW generator\n", + "L2=L*C2/(C1+C2) #MW#Load on 400 MW generator\n", + "f01=f*(C1)/(C1-G1/100*L1) #Hz#/No load frequency\n", + "print \"No load frequency of 300 MW generator = %0.2f Hz \"%f01 \n", + "f02=f*(C2)/(C2-G2/100*L2) #Hz#/No load frequency\n", + "print \"No load frequency of 400 MW generator = %0.2f Hz \"%f02" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.22 page 174" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load generation at plant A = 160.00 MW \n", + "Load generation at plant B = 40.00 MW \n", + "Power transfer from A to B = 60.00 MW \n" + ] + } + ], + "source": [ + "C1=200 #MW\n", + "C2=100 #MW\n", + "R1=1.5 #%#speed regulation\n", + "R2=3 #%#speed regulation\n", + "L=100 #MW#/Load on each bus\n", + "f=50 #Hz\n", + "RA=R1/100*f/C1 #Hz/MW\n", + "RB=R2/100*f/C2 #Hz/MW\n", + "#Let PA= generation at plant A\n", + "#PB=2*L-PA will be generation at plant B\n", + "#RA*PA=RB*PB\n", + "PA=RB*2*L/(RA+RB) #MW\n", + "PB=2*L-PA #MW\n", + "print \"Load generation at plant A = %0.2f MW \"%PA \n", + "print \"Load generation at plant B = %0.2f MW \"%PB\n", + "Pt=PA-L #MW#/Power transfer\n", + "print \"Power transfer from A to B = %0.2f MW \"%Pt " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.23 page 174" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage boost needed at station A = (2056.63661402+3225.71419437j) V\n" + ] + } + ], + "source": [ + "from math import acos, pi\n", + "from cmath import rect\n", + "Z=1.5+1J*2.5 #ohm\n", + "V=11 #kV\n", + "P=20 #MW\n", + "pf=0.8 #power factor\n", + "theta=acos(pf*pi/180) \n", + "I=P*1000/sqrt(3)/V/pf #\n", + "I=rect(I,-theta*pi/180) #A\\\n", + "Vdrop=I*Z #V\n", + "Vboost=Vdrop #V\n", + "print \"Voltage boost needed at station A = \",(Vboost),\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 5.24 page 174" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a)\n", + "Phase angle between two station = 5.44 degree \n", + "Real power transfer = 0.93 p.u. \n", + "Reactive power transfer = 0.36 p.u.\n", + "Part(b)\n", + "Phase angle between two station = 4.51 degree \n", + "Real power transfer = 0.98 p.u. \n", + "Reactive power transfer = 0.19 p.u. \n" + ] + } + ], + "source": [ + "from math import degrees, atan, sin, acos, cos, pi\n", + "Z=3+1J*9 #%#/impedence\n", + "Z=Z/100 #p.u.#/Impedence\n", + "I=1 #p.u.\n", + "IZ=Z #p.u.\n", + "print \"Part(a)\" \n", + "#2*I**2-2*cos(del)=[abs(IZ)]**2\n", + "cos_del=degrees(acos((2*I**2-(abs(IZ))**2)/2)) #degree\n", + "print \"Phase angle between two station = %0.2f degree \"%cos_del \n", + "angle_abc=87.277 #/degree\n", + "theta=180-angle_abc-degrees(atan((IZ).imag/(IZ).real)) #degree\n", + "Preal=I**2*cos(pi/180*theta) #p.u.\n", + "print \"Real power transfer = %0.2f p.u. \"%Preal \n", + "Preactive=I**2*sin(pi/180*theta) #p.u.\n", + "print \"Reactive power transfer = %0.2f p.u.\"%Preactive \n", + "print \"Part(b)\" \n", + "#1.05**2+1**2-2*1.05*cos(del)=[abs(IZ)]**2\n", + "cos_del=degrees(acos((1.05**2+1**2-(abs(IZ))**2)/2/1.05)) #degree\n", + "print \"Phase angle between two station = %0.2f degree \"%cos_del \n", + "angle_dbc=60.53 #/degree\n", + "theta=degrees(atan((IZ).imag/(IZ).real))-angle_dbc#degree\n", + "Preal=I**2*cos(pi/180*theta) #p.u.\n", + "print \"Real power transfer = %0.2f p.u. \"%Preal \n", + "Preactive=I**2*sin(pi/180*theta) #p.u.\n", + "print \"Reactive power transfer = %0.2f p.u. \"%Preactive \n", + "#Answer in the textbook is not accurate." + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter6_1.ipynb b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter6_1.ipynb new file mode 100644 index 00000000..3779df15 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/Chapter6_1.ipynb @@ -0,0 +1,531 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ch-6 : Reactive Power Control" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.1 page 201" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage at 220 kV bus = 235.15 kV \n", + "Power factor at 220 kV bus 0.9076 lagging \n" + ] + } + ], + "source": [ + "from math import sqrt, atan, pi, degrees, cos\n", + "from scipy.linalg import expm\n", + "kV=220 #kV\n", + "Z=0.8+1J*0.2 #pu\n", + "V=1 #V(Voltage at load terminal)\n", + "X=0.2+0.05 #pu(line and transformer reactance)\n", + "P=(Z).real #pu\n", + "Q=(Z).imag #pu\n", + "BaseMVA=100 #MVA\n", + "BasekV=220 #kV\n", + "I=sqrt((P**2+Q**2)/V**2)*expm([[1J*atan(-(Z).imag/(Z).real)]])[0,0] #pu\n", + "Vb=V+I*(X*expm([[1J*pi/2]]))[0,0] #pu(Voltage at 200 kV bus)\n", + "fi_p=(atan((Vb).imag/(Vb).real)) #degree(power angle)\n", + "Vb=abs(Vb)*kV #kV(Voltage at 200 kV bus)\n", + "pf=cos(fi_p+(atan((Z).imag/(Z).real))) #power factor at 220 kV bus\n", + "print \"Voltage at 220 kV bus = %0.2f kV \"%Vb \n", + "print \"Power factor at 220 kV bus %0.4f lagging \"%pf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.2 page 201" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage at 220 kV bus = 224.63 kV \n", + "Power factor at 220 kV bus = 0.9794 lagging \n" + ] + } + ], + "source": [ + "from math import sqrt, atan, pi, degrees, cos\n", + "from scipy.linalg import expm\n", + "kV=220 #kV\n", + "Z=0.8+1J*0.2 #pu\n", + "V=1 #V(Voltage at load terminal)\n", + "X=0.2+0.05 #pu(line and transformer reactance)\n", + "P=(Z).real #pu\n", + "Q=(Z).imag #pu\n", + "BaseMVA=100 #MVA\n", + "BasekV=220 #kV\n", + "I=sqrt((P**2+Q**2)/V**2) #pu\n", + "Vb=V+I*(X*expm([[1J*pi/2]])) #pu(Voltage at 200 kV bus)\n", + "fi_p=degrees(atan((Vb).imag/(Vb).real)) #degree(power angle)\n", + "Vb=abs(Vb)*kV #kV(Voltage at 200 kV bus)\n", + "pf=cos(fi_p*pi/180) #power factor at 220 kV bus\n", + "print \"Voltage at 220 kV bus = %0.2f kV \"%Vb \n", + "print \"Power factor at 220 kV bus = %0.4f lagging \"%pf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.3 page 202" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Part(a) A,B,C,D parameters are : \n", + "Magnitude of A : 0.91 \n", + "Angle of A = 1.42 degree \n", + "Magnitude of B = 174.83 ohm\n", + "Angle of B = 75.45 degree \n", + "Magnitude of C : 0.00\n", + "Angle of C = 296930.22 degree \n", + "Magnitude of D : 0.91\n", + "Angle of D = 1.42 degree\n", + "Part(b) A,B,C,D parameters of compensated line are : \n", + "Magnitude of A : 0.97 \n", + "Angle of A = 1.33 degree \n", + "Magnitude of B = 78.37 ohm\n", + "Angle of B = 55.91 degree \n", + "Magnitude of C : 0.00\n", + "Angle of C = 296850.37 degree \n", + "Magnitude of D : 0.97\n", + "Angle of D = 1.33 degree\n" + ] + } + ], + "source": [ + "from cmath import sinh, cosh, tan, sin\n", + "import cmath as cmt\n", + "l=350 #km(length of line)\n", + "Z=cmt.rect(180,75*pi/180) #ohm/phase(Total)\n", + "Y=cmt.rect(1*10**-3,90*pi/180) #Siemens/phase(Total)\n", + "z=Z/l #ohm/km\n", + "y=Y/l #Siemens/km\n", + "re=l*cmt.sqrt(z*y) #\n", + "Zc=cmt.sqrt(z/y) #ohm\n", + "print \"Part(a) A,B,C,D parameters are : \" \n", + "A=cosh(re) #unitless\n", + "D=A #unitless\n", + "B=Zc*sinh(re) #ohm\n", + "C=sinh(re)/Zc #unitless\n", + "A_mag=abs(A) #unitless\n", + "A_angle=atan((A).imag/(A).real) #radian\n", + "B_mag=abs(B) #ohm\n", + "B_angle=atan((B).imag/(B).real) #radian\n", + "C_mag=abs(C) #unitless\n", + "C_angle=atan((C).imag/(C).real) #radian\n", + "C_angle=(degrees(C_angle)+180)*180/pi #degree(Converting -ve to +ve angle)\n", + "D_mag=abs(D) #unitless\n", + "D_angle=atan((D).imag/(D).real) #radian\n", + "print \"Magnitude of A : %0.2f \"% A_mag \n", + "print \"Angle of A = %0.2f degree \"%degrees(A_angle) \n", + "print \"Magnitude of B = %0.2f ohm\"%B_mag \n", + "print \"Angle of B = %0.2f degree \"%degrees(B_angle) \n", + "print \"Magnitude of C : %0.2f\"%C_mag \n", + "print \"Angle of C = %0.2f degree \"%degrees(C_angle) \n", + "print \"Magnitude of D : %0.2f\"%D_mag \n", + "print \"Angle of D = %0.2f degree\" %degrees(D_angle)\n", + "#60% series compensation\n", + "B=B-1J*60/100*abs(Z)*sin(atan((Z).imag/(Z).real)) #ohm(considering series compensation=60%)\n", + "#For Equivalent pi-circuit\n", + "print \"Part(b) A,B,C,D parameters of compensated line are : \" \n", + "Ydash=2/Zc*((cosh(re)-1)/sinh(re)) #S\n", + "A=1+B*Ydash/2 #unitless\n", + "D=A #unitless\n", + "C=2*Ydash/2+B*(Ydash/2)**2 #unitless\n", + "A_mag=abs(A) #unitless\n", + "A_angle=atan((A).imag/(A).real) #radian\n", + "B_mag=abs(B) #ohm\n", + "B_angle=atan((B).imag/(B).real) #radian\n", + "C_mag=abs(C) #unitless\n", + "C_angle=atan((C).imag/(C).real) #radian\n", + "C_angle=(degrees(C_angle)+180)*180/pi #radian(Converting -ve to +ve angle)\n", + "D_mag=abs(D) #unitless\n", + "D_angle=atan((D).imag/(D).real) #degree\n", + "print \"Magnitude of A : %0.2f \"% A_mag \n", + "print \"Angle of A = %0.2f degree \"%degrees(A_angle) \n", + "print \"Magnitude of B = %0.2f ohm\"%B_mag \n", + "print \"Angle of B = %0.2f degree \"%degrees(B_angle) \n", + "print \"Magnitude of C : %0.2f\"%C_mag \n", + "print \"Angle of C = %0.2f degree \"%degrees(C_angle) \n", + "print \"Magnitude of D : %0.2f\"%D_mag \n", + "print \"Angle of D = %0.2f degree\" %degrees(D_angle)\n", + "#Answer for some parts are not accurate in the textbook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.4 page 202" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For Uncompensated Line, Constants are :\n", + "Magnitude and Angle of B = 180.00 ohm & 1.31 degree \n", + "Magnitude and Angle of A = 0.91 & 0.03 degree \n", + "Magnitude and Angle of D = 0.91 & 0.03 degree \n", + "Magnitude of C is 0.00\n", + "Angle of C = 5196.59 degree\n", + "For Compensated Line, Constants are :\n", + "Magnitude and Angle of B = 83.86 ohm & -0.98 degree \n", + "Magnitude and Angle of A = 0.97 & 0.02 degree \n", + "Magnitude and Angle of D = 0.97 & 0.02 degree \n", + "Magnitude of C is 0.00\n", + "Angle of C = 5196.59 degree\n" + ] + } + ], + "source": [ + "from cmath import rect, sqrt,sinh, cosh, tan, sin\n", + "from numpy import conj\n", + "l=350 #km(length of line)\n", + "Z=rect(180,75*pi/180) #ohm/phase(Total)\n", + "Y=rect(1*10**-3,90*pi/180) #Siemens/phase(Total)\n", + "z=Z/l #ohm/km\n", + "y=Y/l #Siemens/km\n", + "re=l*sqrt(z*y) #\n", + "Zc=sqrt(z/y) #ohm\n", + "print \"For Uncompensated Line, Constants are :\" \n", + "B=Z #ohm#B Parameter\n", + "A=1+Z*Y/2 #unitless#A Parameter\n", + "D=A #unitless#D Parameter\n", + "C=Y*(1+Z*Y/4) #S#C Parameter\n", + "A_mag=abs(A) #unitless\n", + "A_angle=atan((A).imag/(A).real) #radian\n", + "B_mag=abs(B) #ohm\n", + "B_angle=atan((B).imag/(B).real) #radian\n", + "C_mag=abs(C) #unitless\n", + "C_angle=atan((C).imag/(C).real) #radian\n", + "C_angle=(degrees(C_angle)+180)*180/pi #radian(Converting -ve to +ve angle)\n", + "D_mag=abs(D) #unitless\n", + "D_angle=atan((D).imag/(D).real) #degree\n", + "print \"Magnitude and Angle of B = %0.2f ohm & %0.2f degree \"%(B_mag,B_angle) \n", + "print \"Magnitude and Angle of A = %0.2f & %0.2f degree \"%(A_mag,A_angle) \n", + "print \"Magnitude and Angle of D = %0.2f & %0.2f degree \"%(D_mag,D_angle) \n", + "\n", + "print \"Magnitude of C is %0.2f\"%C_mag \n", + "print \"Angle of C = %0.2f degree\"%C_angle\n", + "print \"For Compensated Line, Constants are :\" \n", + "B=Z-0.6*1J*406 #ohm#B Parameter\n", + "A=1+conj(B)*Y/2 #unitless#A Parameter\n", + "D=A #unitless#D Parameter\n", + "C=Y*(1+Z*Y/4) #S#C Parameter\n", + "A_mag=abs(A) #unitless\n", + "A_angle=atan((A).imag/(A).real) #radian\n", + "B_mag=abs(B) #ohm\n", + "B_angle=atan((B).imag/(B).real) #radian\n", + "C_mag=abs(C) #unitless\n", + "C_angle=atan((C).imag/(C).real) #radian\n", + "C_angle=(degrees(C_angle)+180)*180/pi #radian(Converting -ve to +ve angle)\n", + "D_mag=abs(D) #unitless\n", + "D_angle=atan((D).imag/(D).real) #degree\n", + "print \"Magnitude and Angle of B = %0.2f ohm & %0.2f degree \"%(B_mag,B_angle) \n", + "print \"Magnitude and Angle of A = %0.2f & %0.2f degree \"%(A_mag,A_angle) \n", + "print \"Magnitude and Angle of D = %0.2f & %0.2f degree \"%(D_mag,D_angle) \n", + "print \"Magnitude of C is %0.2f\"%C_mag \n", + "print \"Angle of C = %0.2f degree\"%C_angle\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.5 page 203" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Var injection at Bus D = 18.48 MVar\n" + ] + } + ], + "source": [ + "kv1=220 #kv\n", + "kv2=132 #kv\n", + "baseMVA=200 #MVA\n", + "#Base impedence in 132 kv circuit\n", + "baseZ2=kv2**2/baseMVA #ohm\n", + "z1=1J*75 #ohm\n", + "z2=1J*70 #ohm\n", + "z3=1J*90 #ohm\n", + "z1=z1/baseZ2 #pu\n", + "z2=z2/baseZ2 #pu\n", + "z3=z3/baseZ2 #pu\n", + "X_AD=1J*0.08+z1 #pu#Reactance from A to D\n", + "X_BD=1J*0.08+z2 #pu#Reactance from A to D\n", + "Zp=z3*X_AD*X_BD/(z3*X_AD+z3*X_BD+X_BD+X_AD) #parallel combination\n", + "sc_D=baseMVA/abs(Zp) #MVA#Short Circuit MVA at D\n", + "delQBYdelV=sc_D/kv2 #MVA/kv\n", + "delQ=delQBYdelV*4 #MVar\n", + "print \"Var injection at Bus D = %0.2f MVar\" %delQ\n", + "#Answer in the textbook is not accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.6 page 204" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Capacity of shunt compensation equipment = 45.91 MVar \n", + "(b) Capacity of shunt compensation equipment = 3.33 MVar \n" + ] + } + ], + "source": [ + "from cmath import rect, acos,sinh, cosh, tan, sin\n", + "A=rect(0.98,3*pi/180) #Constant\n", + "B=rect(110,75*pi/180) #ohm/phase\n", + "P=50 #MVA\n", + "pf=0.8 #lagging\n", + "V=132 #kV\n", + "#Formula : Pr=|Vs|*|Vr|/|B|*cosd(Beta-delta)-|A|*|Vr|**2/|B|*cosd(Beta-alfa) :\n", + "betaSUBdelta=acos((P*pf+abs(A)*V**2/abs(B)*cos(atan((B).imag/(B).real)-atan((A).imag/(A).real)))/V**2*abs(B)) \n", + "Qr=V**2/abs(B)*sin(betaSUBdelta)-abs(A)*V**2/abs(B)*sin(atan((B).imag/(B).real)-atan((A).imag/(A).real)) #MVar\n", + "Qr=P*0.6-Qr #MVar#Since load require lagging component\n", + "print \"(a) Capacity of shunt compensation equipment = %0.2f MVar \" %Qr.real\n", + "#part(b)\n", + "#Formula : Pr=|Vs|*|Vr|/|B|*cosd(Beta-delta)-|A|*|Vr|**2/|B|*cosd(Beta-alfa) :\n", + "P=0 #MW\n", + "betaSUBdelta=acos((P*pf+abs(A)*V**2/abs(B)*cos(atan((B).imag/B.real)-atan((A).imag/(A).real)))/V**2*abs(B)) \n", + "Qr=V**2/abs(B)*sin(betaSUBdelta)-abs(A)*V**2/abs(B)*sin(atan((B).imag/(B).real)-atan((A).imag/(A).real)) #MVar\n", + "Qr=P*0.6-Qr #MVar#Since load require lagging component\n", + "print \"(b) Capacity of shunt compensation equipment = %0.2f MVar \"%-Qr.real " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.7 page 206" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tap settings : ts = 1.06 \n", + "tr = 0.94 \n" + ] + } + ], + "source": [ + "from math import acos, sin, sqrt, acos\n", + "V=220 #kV\n", + "Z=20+1J*60 #ohm\n", + "Pr=100 #MVA\n", + "pf=0.8 #lagging pf\n", + "P=Pr*10**6*pf/3 #W\n", + "theta=acos(pf) #radian\n", + "Q=Pr*10**6*sin(theta)/3 #Vars\n", + "V1=V/sqrt(3)*1000 #V\n", + "V2=V1 #V\n", + "#ts**2*[1-(R*P+X*Q)/V1/V2]=V2/V1\n", + "ts=sqrt(V2/V1/(1-((Z).real*P+(Z).imag*Q)/V1/V2)) \n", + "tr=1/ts \n", + "print \"Tap settings : ts = %0.2f \"%ts.real\n", + "print \"tr = %0.2f \"%tr.real" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.8 page 207" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Under Load condition, transformer ratio = 0.375 \n", + "Under No Load condition, transformer ratio = 0.157\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from sympy import symbols, solve\n", + "kV1=132 #kV\n", + "kV2=33 #kV\n", + "kV3=11 #kV\n", + "MVA1=75 #MVA\n", + "MVA2=50 #MVA\n", + "MVA3=25 #MVA\n", + "X=0.12 #p.u.\n", + "#part(a)\n", + "P=60 #MW\n", + "V1=125 #kV\n", + "V1=V1/kV1 #p.u.\n", + "Q=MVA2/MVA1 #p.u.\n", + "#V1=Vn+X*Q/Vn\n", + "Vn=symbols('Vn') \n", + "eqn=Vn**2-V1*Vn+X*Q\n", + "Vn=solve(eqn, Vn) #p.u.\n", + "Vn=Vn[0] #p.u.\n", + "Vn=Vn*kV1 #kV\n", + "k=Vn/kV2 #Transformer ratio\n", + "print \"Under Load condition, transformer ratio = %0.3f \"%k \n", + "#part(b)\n", + "V1=140 #kV\n", + "V1=V1/kV1 #p.u.\n", + "Q=MVA3/MVA1 #p.u.\n", + "#V1=Vn+X*Q/Vn\n", + "Vn=symbols('Vn') \n", + "eqn=Vn**2-V1*Vn+X*Q\n", + "Vn=solve(eqn, Vn) #p.u.\n", + "Vn=Vn[0] #p.u.\n", + "Vn=Vn*kV1 #kV\n", + "k=Vn/kV2 #Transformer ratio\n", + "print \"Under No Load condition, transformer ratio = %0.3f\" % k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## exa 6.9 page 209" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tap settings : ts = 1.22 \n", + "tr = 0.82 \n" + ] + } + ], + "source": [ + "from math import tan, acos\n", + "V=132 #kV\n", + "Z=25+1J*66 #ohm\n", + "Pr=100 #MW\n", + "pf=0.9 #lagging pf\n", + "P=Pr*10**6/3 #W\n", + "theta=acos(pf) #radian\n", + "Q=Pr*10**6*tan(theta)/3 #vars\n", + "V1=V/sqrt(3)*1000 #V\n", + "V2=V1 #V\n", + "#ts**2*[1-(R*P+X*Q)/V1/V2]=V2/V1\n", + "ts=sqrt(V2/V1/(1-((Z).real*P+(Z).imag*Q)/V1/V2)) \n", + "tr=1/ts \n", + "print \"Tap settings : ts = %0.2f \"%ts.real \n", + "print \"tr = %0.2f \"%tr.real" + ] + } + ], + "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 +} diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch1-EnergyLadCurveAndMassCurve_1.png b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch1-EnergyLadCurveAndMassCurve_1.png Binary files differnew file mode 100644 index 00000000..839b6439 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch1-EnergyLadCurveAndMassCurve_1.png diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-LoadGeneration_1.png b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-LoadGeneration_1.png Binary files differnew file mode 100644 index 00000000..3d5ffe90 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-LoadGeneration_1.png diff --git a/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-ReceivedPower_1.png b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-ReceivedPower_1.png Binary files differnew file mode 100644 index 00000000..649fa727 --- /dev/null +++ b/Power_System_Operation_and_Control_by_B._R._Gupta/screenshots/Ch2-ReceivedPower_1.png |