diff options
author | hardythe1 | 2015-05-05 14:21:39 +0530 |
---|---|---|
committer | hardythe1 | 2015-05-05 14:21:39 +0530 |
commit | fba055ce5aa0955e22bac2413c33493b10ae6532 (patch) | |
tree | be70ef4fccd07c9c88de778014219201b4ea971f /Fundamentals_of_Electrical_Drives | |
parent | 67068710030ddd6b6c809518c34af2e04e0bf7ca (diff) | |
download | Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.tar.gz Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.tar.bz2 Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.zip |
add books
Diffstat (limited to 'Fundamentals_of_Electrical_Drives')
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb | 470 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb | 190 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb | 348 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb | 1915 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb | 1817 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb | 416 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/README.txt | 10 | ||||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png | bin | 0 -> 16443 bytes | |||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png | bin | 0 -> 17263 bytes | |||
-rwxr-xr-x | Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png | bin | 0 -> 15126 bytes |
10 files changed, 5166 insertions, 0 deletions
diff --git a/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb new file mode 100755 index 00000000..07becb3f --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb @@ -0,0 +1,470 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10:Traction Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.1,Page No:320" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "Ma=480 #mass of each motor armature in kg 0.48tonne=480kg\n", + "Da=0.5 #average diameter of each motor in m\n", + "m=450 #mass of each wheel in kg\n", + "R=0.54 #radius of each wheel tread in m\n", + "M=40 #combine wight of one motor and one trailer coach in ton\n", + "alpha=5 #accelaration\n", + "N=4 #number of DC motors \n", + "a=0.4 #gear ratio\n", + "r=20 #train resistance\n", + "\n", + "#calculation\n", + "Jw=1/2*m*R**2 #inertia of the each wheel\n", + "nw=2*(N*2) #total number of wheels\n", + "J1=nw*Jw #total inertia of all the wheels\n", + "\n", + "Jm=N*(1/2*Ma*(Da/2)**2) #approximate inertia of all the motors\n", + "J2=Jm/a**2 #approximate innertia of the motor referred to the wheels\n", + "\n", + "Fa2=(J1+J2)*alpha*1000/3600/R #Tractive efforts for driving rorating parts\n", + "Fa1=277.8*M*alpha #tractive efforts to accelerate the train mass horizontally\n", + "Fr=r*M #Tractive efforts required to overcome train resistance\n", + "Ft=Fa1+Fa2+Fr #Tractive efforts required to move the train\n", + "Tm=a*R*Ft/N #torque per motor\n", + "\n", + "#results\n", + "print\"\\nTorque per motor:Tm=\",round(Tm,1),\"N-m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Torque per motor:Tm= 3241.3 N-m\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.2,Page No:321" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "M=100 #mass of each motor armature in tonne\n", + "Me=100\n", + "Tm=5000 #torque of each motor in N-m\n", + "Da=0.5 #average diameter of each motor in m\n", + "m=450 #mass of each wheel in kg\n", + "R=0.54 #radius of each wheel tread in m\n", + "N=4 #number of DC motors \n", + "r=25 #train resistance N/tonne\n", + "a=0.25 #gear ratio \n", + "nt=0.98 #gear transmission efficiency\n", + "G=50 #up gradient\n", + "Vm=100 #speed in kmph\n", + "\n", + "#calculation \n", + "Ft=nt*Tm*N/a/R #Tractive efforts required to move the train\n", + "alpha=(Ft-(9.81*M*G+M*r))/(277.8*1.1*Me) #accelaration\n", + "t=Vm/alpha #time taken to attain speed of Vm\n", + "\n", + "#results\n", + "print\"\\n time taken to reach a speed of 100kmph is :t=\",round(t,1),\"sec\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " time taken to reach a speed of 100kmph is :t= 32.6 sec\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.3,Page No:321" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "G=8 #up gradient\n", + "r=25 #train resistance N/tonne\n", + "M=500 #mass of the electric train in tonne\n", + "n=0.8 #combine effiency of transmission and motor\n", + "#speed time curve characteristics\n", + "t1=60 #characteristic for uniform accelaration at v1 in sec\n", + "alpha=2.5 #given accelaration in km/hr/sec at t1\n", + "t2=5*60 #characteristic for constant speed in sec \n", + "t3=3*60 #characteristic for coasting in sec\n", + "B=3 #dynamic braking deceleration in km/hr/sec\n", + "\n", + "#calculation\n", + "Vm=alpha*t1 #peak voltage\n", + "Fg=9.81*M*G #tractive effort required to overcome the force of gravity\n", + "Fr=M*r #tractive effort required to overcome the train resistance\n", + "F_bc=Fg+Fr #retarding force during coasting\n", + "\n", + "Me=1.1*M\n", + "B_c=F_bc/(277.8*Me) #deceleration during coasting\n", + "V=Vm-B_c*t3 #speed after coasting\n", + "t4=V/B #characteristic for a dynamic braking of 3km/hr/sec\n", + "\n", + "d1=1/2*Vm*t1/3600 #distance covered during accelaration \n", + "d2=Vm*t2/3600 #distance covered during constant speed\n", + "d3=1/2*(Vm+V)*t3/3600 #distance covered coasting\n", + "d4=1/2*V*t4/3600 #distance covered during braking\n", + "D=d1+d2+d3+d4 #distance during stops\n", + "D1=d1+d2\n", + "x=D1/D\n", + "y=1-x\n", + "E=(0.01072*Vm**2/D)*(Me/M)+2.725*G*x+0.2778*r*x #specific energy output\n", + "Eo=E/n #specific energy consumption\n", + "\n", + "#results\n", + "print\"\\n Specific energy consumption is :Eo=\",round(Eo,1),\"Whptpkm\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " Specific energy consumption is :Eo= 41.1 Whptpkm\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.4,Page No:323" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "G=20 #up gradient\n", + "r=25 #train resistance N/tonne\n", + "M=500 #mass of the electric train in tonne\n", + "n=0.8 #combine effiency of transmission and motor\n", + "#speed time curve characteristics\n", + "t1=50 #characteristic for uniform accelaration at v1 in sec\n", + "alpha=3 #given accelaration in km/hr/sec at t1\n", + "t2=10*60 #characteristic for constant speed in sec \n", + "B=2.5 #uniform braking deceleration in kmphs to rest\n", + "\n", + "\n", + "#calculation \n", + "Vm=alpha*t1 #peak voltage\n", + "t3=Vm/B #characteristic for a uniform braking of B=2.5 kmphs\n", + "\n", + "#(i)during accelaration total tractive effort \n", + "Me=1.1*M\n", + "Fta=277.8*Me*alpha-9.81*M*G+M*r #total tractive effort during accelaration\n", + "Da=1/2*Vm*t1/3600 #distance covered during accelaration ,and t1 is in seconds\n", + "Ea=Fta*Da*1000/3600 #energy output during accleration in Wh\n", + "\n", + "#(ii)during uniform speed net tractive effort\n", + "Ftu=-9.81*M*G+M*r #total tractive effort during uniform speed\n", + "#the answer for Ftu in the book is -105220 N which is wrong which leads to the other incorrect answers in the book\n", + "\n", + "Du=Vm*t2/3600 #distance traveled,and t2 is in seconds\n", + "Eu=Ftu*Du*1000/3600 #energy output in Wh\n", + "\n", + "#(iii)during braking net tractive effort\n", + "Ftb=-277.8*Me*B-9.81*M*G+M*r #total tractive effort for the net braking\n", + "Db=1/2*Vm*t3/3600 #distance covered during braking\n", + "Eb=Ftb*Db*1000/3600 #energy output during braking in Wh\n", + "\n", + "E=Ea/n+n*(Eu+Eb) #net energy consumption\n", + "D=Da+Du+Db #total distance traveled\n", + "Eo=E/(M*D) #specific energy consumption\n", + "\n", + "#results \n", + "print\"(i)Energy consumption during accelaration is :Ea :\",round(Ea),\"Wh\"\n", + "print\" There is a slight difference in the answer due to the number of decimal place\"\n", + "print\"\\n(ii)Energy consumption during uniform speed is :Eu :\",round(Eu),\"Wh\" \n", + "print\"\\n(iii)Energy consumption during braking is :Eb :\",round(Eb,1),\"Wh\" \n", + "print\"\\n Net Energy consumption is E :\",round(E,1),\"Wh\" \n", + "print\"\\n Total Distance traveled is D :\",round(D,4),\"km\"\n", + "print\"\\n Specific Energy consumption is Eo :\",round(Eo,2),\"Whptpkm\"\n", + "#answers in the book are incorrect\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Energy consumption during accelaration is :Ea : 107862.0 Wh\n", + " There is a slight difference in the answer due to the number of decimal place\n", + "\n", + "(ii)Energy consumption during uniform speed is :Eu : -594444.0 Wh\n", + "\n", + "(iii)Energy consumption during braking is :Eb : -162352.4 Wh\n", + "\n", + " Net Energy consumption is E : -470610.4 Wh\n", + "\n", + " Total Distance traveled is D : 27.2917 km\n", + "\n", + " Specific Energy consumption is Eo : -34.49 Whptpkm\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.5,Page No:325" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "Mm=40 #weight of the motor coach in tonne\n", + "Mt=35 #weight of the trailer in tonne\n", + "u=0.2 #co-efficient of adhesion\n", + "r=30 #train resistance N/tonne\n", + "\n", + "#calculation\n", + "#(a)when the motor to trailer ratio is 1:2\n", + "M=Mm+2*Mt #weight of one unit\n", + "Me=1.1*M\n", + "Md=40 #weight on the driving wheels\n", + "Fm=9810*u*Md #total tractive effort without the wheel\n", + "Ft=Fm #at maximum accelaration \n", + "alpha=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n", + "\n", + "#(b)when the motor to trailer ratio is 1:1\n", + "M=Mm+Mt #weight of one unit\n", + "Me=1.1*M\n", + "Md=40 #weight on the driving wheels\n", + "Fm=9810*u*Md #total tractive effort wihout the wheel\n", + "Ft=Fm #at maximum accelaration \n", + "alpha1=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n", + "\n", + "\n", + "#results\n", + "print\"(a)maximum accelaration on a level track is alpha :\",round(alpha,4),\"kmphps\"\n", + "print\"\\n(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha :\",round(alpha1,3),\"kmphps\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)maximum accelaration on a level track is alpha : 2.2366 kmphps\n", + "\n", + "(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha : 3.326 kmphps\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.6,Page No:326" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "G=10 #up gradient of the locomotive\n", + "Ml=110 #weight of the locomotive coach in tonne\n", + "Mt=500 #weight of the train in tonne\n", + "r=35 #train resistance N/tonne\n", + "n=0.8 #80% of the locomotive weight is carried by the driving wheels\n", + "alpha=1 #acelaration in kmphps\n", + "\n", + "#calculation\n", + "#when only the 110 tonne locomotive is present\n", + "Md=Ml*n #weight of the motor\n", + "M=Mt+Ml #total mass of the train\n", + "Me=1.1*M\n", + "Ft=277.8*Me*alpha+9.81*M*G+M*r #total tractive effort required to move the train\n", + "Fm=Ft\n", + "u=Fm/(9810*Md) #co-efficient of adhesion ,since Fm=9810*u*Md\n", + "\n", + "#when another locomotive of 70 is added together\n", + "Md=Ml*n+70 # mass of the motor\n", + "M_=Mt+Ml+70 # mass of the train\n", + "Fm=9810*u*Md\n", + "Ft=Fm\n", + "M=Ft/(277.8*1.1*alpha+9.81*G+r) #total mass of the train, since Ft=277.8*Me*alpha+9.81*M*G+M*r\n", + "W=M-M_ #weight of additional bogies to be attached\n", + "\n", + "\n", + "#results\n", + "print\"\\n Given co-efficient of adhesion is:\",round(u,2)\n", + "print\"\\n Weight of additional bogies to be attached is:\",round(W,1),\"T\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " Given co-efficient of adhesion is: 0.31\n", + "\n", + " Weight of additional bogies to be attached is: 415.2 T\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:10.7,Page No:327" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from sympy import Symbol\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "Ml=1000 #weight of the empty train in tonne\n", + "Mt=5000 #weight of the fully loaded train in tonne\n", + "G=15 #gradient of the track\n", + "V=30 #maximum speed of the train \n", + "r=40 #train resistance in N/tonne\n", + "u=0.25 #co-efficient of adhesion\n", + "alpha=0.3 #acelaration in kmphps\n", + "\n", + "n = Symbol('n') #number of locomotive required\n", + "W=100 #weight of each locomotive\n", + "\n", + "#calculation\n", + "Md=W*n\n", + "Fm=9810*u*Md\n", + "Fb=9.81*(Mt+W*n)*G-(Mt+W*n)*r\n", + "print\"\\nFm=\",Fm\n", + "print\"\\nFb=\",Fb\n", + "print\"\\nequating Fb and Fm we get\"\n", + "n=535750/(245250-10715)\n", + "if (n>2) : \n", + " n=3\n", + "print\"\\nThe number of locomotives is n:\",n \n", + "Md=W*n\n", + "M=Ml+W*n\n", + "Ft=277.8*1.1*M*alpha+9.81*M*G+M*r \n", + "Fm=9810*0.3*Md\n", + "if (Fm>Ft) :\n", + " print\"\\nThe train can be accelarated with \",n,\"locomotives\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Fm= 245250.0*n\n", + "\n", + "Fb= 10715.0*n + 535750.0\n", + "\n", + "equating Fb and Fm we get\n", + "\n", + "The number of locomotives is n: 3\n", + "\n", + "The train can be accelarated with 3 locomotives\n" + ] + } + ], + "prompt_number": 18 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb new file mode 100755 index 00000000..631ed1b1 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb @@ -0,0 +1,190 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + " Chapter 2:Dynamics of Electric Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:2.1,Page no:16" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#variable declaration\n", + "Jo=0.2 # inertia of the motor in kg-m2\n", + "a1=0.1 # reduction gear\n", + "J1=10 # inertia of the load in kg-m2\n", + "Tl1=10 # load torque\n", + "v=1.5 # speed of the translational load \n", + "M1=1000 # mass of the translational load\n", + "N=1420 # speed of the motor\n", + "n1=.9 # efficiency of the reduction gear\n", + "n1_=0.85 # efficiency of the translational load and the motor\n", + "F1=M1*9.81 # force of the translational load \n", + "\n", + "#Calculation\n", + "Wm=N*math.pi/30 #angular speed\n", + "J=Jo+a1**2*J1+ M1*(v/Wm)**2 # total equivalent moment of inertia\n", + "Tl= a1*Tl1/n1+F1/n1_*(v/Wm) # total equivalent torque\n", + "\n", + "#Result\n", + "print\"\\nEquivalent moment of inertia is :\",round(J,1),\"kg-m2\"\n", + "print\"\\nEquivalent load torque :\",round(Tl,2),\"N-m\"\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Equivalent moment of inertia is: 0.4 kg-m2\n", + "\n", + "Equivalent load torque : 117.53 N-m\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:2.2,Page no:22" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import scipy\n", + "from scipy import integrate\n", + "import math\n", + "\n", + "# variable declaration\n", + "J=10 #moment of inertia of the drive in kg-m2\n", + "print(\"Passive load torque during steady state is :Tl=0.05*N in N-m\")\n", + "print(\"And load torque : T=100-0.1*N in N-m \")\n", + "print(\"load torque when the direction is reversed T=-100-0.1*N in N-m\")\n", + "\n", + "#Calculation\n", + "print(\"T-Tl=0\")\n", + "print(\"100-0.1*N-0.05*N=0\")\n", + "N=100/0.15 #Required speed of the motor in rpm during steady state\n", + "N2=-100/0.15 #During reversal speed is in opposite direction\n", + "print(\"\\nJdWm/dt=-100-0.1*N-0.05*N during reversing\")\n", + "print(\"dN/dt=30/(J*pi)*(-100-0.15*N)\")\n", + "print(\"dN/dt=(-95.49-0.143*N)\")\n", + "N1=N\n", + "N2=N2*0.95 #for speed reversal \n", + "x2 = lambda N: 1/(-95.49-0.143*N)\n", + "t=integrate.quad(x2, round(N1), round(N2))\n", + "\n", + "#result\n", + "print\"\\nHence Time of reversal is :\",round(t[0],2),\"s\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Passive load torque during steady state is :Tl=0.05*N in N-m\n", + "And load torque : T=100-0.1*N in N-m \n", + "load torque when the direction is reversed T=-100-0.1*N in N-m\n", + "T-Tl=0\n", + "100-0.1*N-0.05*N=0\n", + "\n", + "JdWm/dt=-100-0.1*N-0.05*N during reversing\n", + "dN/dt=30/(J*pi)*(-100-0.15*N)\n", + "dN/dt=(-95.49-0.143*N)\n", + "\n", + "Hence Time of reversal is : 25.51 s\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:2.3,Page no:27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "Tlh=1000 # load torque in N-m\n", + "Tmax=700 # maximum motor torque\n", + "Tll=200 # light load for the motor to regain its steady state\n", + "Tmin=Tll # minimum torque\n", + "t_h=10 # period for which a load torque of 1000 N-m is apllied in sec\n", + "Jm=10 # moment of inertia of the motor in Kg-m2\n", + "No=500 # no load speed in rpm\n", + "Tr=500 # torque at a given no load speed in N-m\n", + "\n", + "#Calculation\n", + "Wmo=No*2*math.pi/60 # angular no load speed in rad/sec\n", + "s=0.05 # slip at a torque of 500 N-m\n", + "Wmr=(1-s)*Wmo # angular speed at a torque of 500 N-m in rad/sec\n", + "\n", + "y=math.log((Tlh-Tmin)/(Tlh-Tmax))\n", + "x=Tr/(Wmo-Wmr)\n", + "\n", + "J=x*t_h/y\n", + "Jf=J-Jm\n", + "\n", + "#Result \n", + "#answer in the book is wrong\n", + "print\"\\n\\nMoment of inertia of the flywheel : \", round(Jf,1),\"Kg-m2\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "\n", + "Moment of inertia of the flywheel : 1937.2 Kg-m2\n" + ] + } + ], + "prompt_number": 12 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb new file mode 100755 index 00000000..88441d35 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb @@ -0,0 +1,348 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4: Selection of Motor Power Rating" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.1, Page No:47" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "T_min=40 # minimum temperature rise in degree Celsius\n", + "T_r=15 # temperature rise when the load is declutched continously in degree Celsius\n", + "t_c=10 # time for which the motor is clutched to its load in sec\n", + "t_d=20 # time for which the motor is declutched to run on no-load in sec\n", + "C= 60 # time constants for both heating and cooling \n", + "\n", + "#calculation\n", + "x=math.exp(-t_d/C)\n", + "y=math.exp(-t_c/C)\n", + "\n", + "theta2= (T_min-T_r*(1-x))/x #since T_min=T_r(1-x)+theta2*x\n", + "theta_ss=(theta2-T_min*y)/(1-y) #since theta2=theta_ss(1-y)+T_min*y\n", + "\n", + "#results\n", + "print\"\\n maximum temperature during the duty cycle :\",round(theta2,1),\"\u00b0C\"\n", + "print\"\\n temperature when the load is clutched continously :\",round(theta_ss,1),\"\u00b0C\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " maximum temperature during the duty cycle : 49.9 \u00b0C\n", + "\n", + " temperature when the load is clutched continously : 104.4 \u00b0C\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.2, Page No:52" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "N=200 #full speed of the motor in rpm\n", + "Tc=25000 #constant torque in N-m\n", + "J=10000 #moment of inertia referred to te motor shaft in Kg-m2\n", + "\n", + "#duty cycles\n", + "t1=10 #rolling at full speed and at constant torque\n", + "t2=1 #no load operation at full speed\n", + "t3=5 #speed reversal from N to -N\n", + "t4=1 #no load operation at full speed\n", + "\n", + "T5=20000 #torque in N-m\n", + "t5=15 #rolling at full speed and at a torque T1\n", + "\n", + "t6=1 #no operation at full speed\n", + "t7=5 #speed reversal from -N to N\n", + "t8=1 #no load operation\n", + "\n", + "#calculation\n", + "Tr=J*(N-(-N))*2*math.pi/60/5 #torque during reversal\n", + "x=Tc**2*t1+Tr**2*t3+T5**2*t5+Tr**2*t7\n", + "t=t1+t2+t3+t4+t5+t6+t7+t8 #total time\n", + "Trms=math.sqrt(x/t) #rms torque\n", + "\n", + "Trated=Trms #rated torque is equal to the rms torque\n", + "Pr=Trated*2*math.pi*200/60 #power rating\n", + "ratio=Tr/Trms #ratio of reversal torque to the rms torque\n", + "\n", + "#results\n", + "#answer in the book is wrong\n", + "print\"\\n motor torque is :Trms=\",round(Trms),\"N-m\"\n", + "if ratio<2:\n", + " print\" motor can be rated as equal to Trms\"\n", + "print\" Power rating : P=\",round(Pr*1e-3,3),\"kW\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " motor torque is :Trms= 45975.0 N-m\n", + " motor can be rated as equal to Trms\n", + " Power rating : P= 962.895 kW\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.3, Page No:53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import scipy\n", + "from scipy import integrate\n", + "\n", + "#variable declaration\n", + "P1=400 #load in kW\n", + "P2=500 #load in KW\n", + "Pmax=P2\n", + "#duty cycles in minutes\n", + "t1=5 #load rising from 0 to P1 \n", + "t2=5 #uniform load of P2 \n", + "t3=4 #regenerative power equal to P1\n", + "t4=2 #motor remains idle\n", + "\n", + "#calculation\n", + "a = lambda x: (P1/5*x)**2\n", + "t=integrate.quad(a,0,t1)\n", + "P11=math.sqrt(t[0]/t1)\n", + "x=P11**2*t1+P2**2*t2+P1**2*t3\n", + "t=t1+t2+t3+t4 #total time\n", + "Prms=math.sqrt(x/t)\n", + "\n", + "#results\n", + "y=2*Prms\n", + "if P2<y:\n", + " print \" Hence Pmax:\",Pmax,\"kW is less than twice Prms:\",2*round(Prms,1),\"kW\"\n", + "print\"\\n Hence Motor rating is: \",round(Prms),\"kW\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Hence Pmax: 500 kW is less than twice Prms: 734.2 kW\n", + "\n", + " Hence Motor rating is: 367.0 kW\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.4, Page No:55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "Cr=60 #heating time constant in minutes\n", + "Cs=90 #cooling time constant in minutes\n", + "P=20 #full load in kW\n", + "\n", + "#calculation\n", + "\n", + "#part(i)\n", + "alpha=0 #constant copper losses are assumed to be proportional to Power**2 which is zero\n", + "tr=10 #time for the load motor to deliver in minutes\n", + "x=math.exp(-tr/Cr)\n", + "K=math.sqrt(1/(1-x))\n", + "P1=K*P #permitted load\n", + "\n", + "#part(ii)\n", + "alpha=0 #constant copper losses are assumed to be proportional to Power**2 which is zero\n", + "tr=10 #intermittent load period allowed in minutes\n", + "ts=10 #shutdown period in minutes\n", + "x=math.exp(-(tr/Cr+ts/Cs))\n", + "y=math.exp(-tr/Cr)\n", + "K=math.sqrt((1-x)/(1-y))\n", + "P2=K*P #permitted load\n", + "\n", + "#results\n", + "print\"\\ni)required permitted load:\",round(P1),\"kW\"\n", + "print\"\\nii)required permitted load:\",round(P2,2),\"kW\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "i)required permitted load: 51.0 kW\n", + "\n", + "ii)required permitted load: 25.14 kW\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.5, Page No:56" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from sympy import Symbol\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "P=100 #Half hour rating of the motor\n", + "Cr=80 #heating time constant in minutes\n", + "n=0.7 #maximum efficiency at full load\n", + "\n", + "#calculation\n", + "Pc = Symbol('Pc') #constant loss\n", + "Pcu=Pc/n**2 #coppper loss\n", + "alpha=Pc/Pcu\n", + "K=math.sqrt((1+alpha)/(1-math.e**(-30/Cr))-alpha) \n", + "Pco=P/K \n", + "print\"Therefore continous rating is:\",round(Pco,2),\"kW\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Therefore continous rating is: 48.37 kW\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:4.6, Page No:57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "I=500 #rated armature current in A\n", + "Ra=0.01 #armature resistance in ohm\n", + "P=1000 #core loss in W\n", + "B=0.5 \n", + "\n", + "#duty cycles\n", + "tst=10 #interval for accelaration at twice the rated current\n", + "tr=10 #interval for running at full load \n", + "tb=10 #inteval fordecelaration at twice the rated armature current\n", + "\n", + "#calculations\n", + "Es=tst*(2*I)**2*Ra+P\n", + "Eb=Es\n", + "p1s_tr=(I**2*Ra+P)*tr\n", + "p1r=I**2*Ra+P\n", + "gamma=(1+B)/2\n", + "x=(Es+p1s_tr+Eb)/p1r\n", + "y=gamma*tst+tr+gamma*tb\n", + "ts=(x-y)/B #idling interval\n", + "\n", + "fmax=3600/(tst+tr+tb+ts) #maximum frequency of drive operation \n", + "\n", + "#results\n", + "#answer in the book is wrong\n", + "print\"\\nmaximum frequency of drive operation: fmax = \",round(fmax,2),\"per hour\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "maximum frequency of drive operation: fmax = 31.19 per hour\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb new file mode 100755 index 00000000..650a814b --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb @@ -0,0 +1,1915 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:f20d8b5a5913a9f02b40c1bc779b6f178287c3bedb89723b4661d7c15c29c1bd" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5:Dc Motor Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.1,Page No:63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from sympy import Symbol\n", + "\n", + "#variable declaration\n", + "#motor ratings\n", + "V1=200 #rated voltage\n", + "Ia1=10.5 #rated current\n", + "N1=2000 #speed in rpm\n", + "Ra=0.5 #armature resistance\n", + "Rs=400 #field resistance\n", + "V2=175 #drop in source voltage \n", + "\n", + "#calculation\n", + "flux1 = Symbol('flux1')\n", + "flux2=V2/V1*flux1\n", + "Ia2=flux1/flux2*Ia1 #since load torque\n", + "E1=V1-Ia1*Ra\n", + "E2=V2-Ia2*Ra\n", + "N2=(E2/E1)*(flux1/flux2)*N1\n", + "\n", + "#results\n", + "#answer in the book is wrong due to accuracy\n", + "print\"\\nmotor speed is:N2=\",round(N2,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "motor speed is:N2= 1983.5 rpm\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.2,Page No:63" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from sympy import Symbol\n", + "\n", + "#variable declaration\n", + "V1=220 #rated voltage\n", + "Ia1=100 #rated current\n", + "N1=1000 #rated speed in rpm clockwise\n", + "Ra=0.05 #armature resistance\n", + "Rs=0.05 #field resistance\n", + "\n", + "#calculation\n", + "#turns is reduced to 80% then flux is also reduced by the same value and hence current is also reduced\n", + "Ke = Symbol('Ke')\n", + "Ia2 = Symbol('Ia2')\n", + "T1=Ke*Ia1**2 #flux is directly proportional to current Ia\n", + "T2=Ke*0.8*Ia2**2 #flux is directly proportional to current Ia\n", + "Ia2=-Ia1/math.sqrt(0.8) #since T1=T2 and the direction is opposite\n", + "\n", + "E1=V1-Ia1*(Ra+Rs)\n", + "\n", + "Rs=.8*Rs #Rs=80% of the field resistance 0.05ohm since the flux is reduced to 80%\n", + "E2=-(V1+Ia2*(Ra+Rs)) \n", + "\n", + "N2=(E2/E1)*(Ia1/Ia2)*(N1/0.8) #since E=Kn*flux*N\n", + "\n", + "#results\n", + "print\"\\nmotor speed is:N2=\",round(N2,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "motor speed is:N2= 1117.7 rpm\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.3,Page No:70" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#motor ratings\n", + "V1=220 #rated voltage\n", + "Ia1=200 #rated current\n", + "Ra=0.06 #armature resistance\n", + "Rb=0.04 #internal resistance of the variable source\n", + "N1=800 #speed in rpm\n", + "N2=600 #speed when motor is operatingin regenerative braking\n", + "\n", + "#Calculation\n", + "Ia2=0.8*Ia1 #motor is opereting in regenerative braking at 80% of Ia1\n", + "E1=V1-Ia1*Ra #back emf at rated operation\n", + "E2=(N2/N1)*E1 #back emf at the given speed N2\n", + "V2=E2-Ia2*(Ra+Rb) #internal voltage of thevariable source\n", + "\n", + "#results\n", + "print\"\\n internal voltage of thevariable source:\",round(V2),\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " internal voltage of thevariable source: 140.0 V\n" + ] + } + ], + "prompt_number": 161 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.4,Page No:70" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from sympy import Symbol\n", + "\n", + "#variable declaration\n", + "#The ratings of the motor is same as that of Ex-5.2\n", + "V1=220 #rated voltage\n", + "Ia1=100 #rated current\n", + "N1=1000 #speed in rpm clockwise\n", + "N2=800 #given speed during the dynamic braking\n", + "Ra=0.05 #armature resistance\n", + "Rs=0.05 #field resistance\n", + "\n", + "#calculation\n", + "T1 = Symbol('T1')\n", + "T2 = 2*T1 #dynamic torque is twice the rated torque\n", + "Ia2=Ia1*math.sqrt(T2/T1) #since T=Kf*Ia**2\n", + "E1=V1-Ia1*(Ra+Rs)\n", + "E2=(Ia2/Ia1)*(N2/N1)*E1 #since E=Ke*Ia*N\n", + "Rb=E2/Ia2-(Ra+Rs) #since E2=Ia2(Rb+Ra+Rs) during braking\n", + "\n", + "#results\n", + "print\"\\n braking current Ia2:\",round(Ia2,1),\"A\"\n", + "print\"\\n required braking resistance Rb:\",round(Rb,2),\"ohm\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " braking current Ia2: 141.4 A\n", + "\n", + " required braking resistance Rb: 1.58 ohm\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.5,Page No:70" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#ratings of the DC shunt motor which operated under dynamic braking\n", + "Rb=1 #braking resisance\n", + "Ra=0.04 #armature resistance\n", + "Rf=10 #field resistance\n", + "T=400 #load torque in N-m\n", + "\n", + "#magnetisation curve at N1\n", + "N1=600 #speed in rpm\n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "E =[25,50,73.5,90,102.5,110,116,121,125,129] #back emf\n", + "\n", + "#calculation\n", + "print\"Field current If:\",If,\"A\"\n", + "x=(Rb+Rf)/Rb\n", + "Ia = [If * x for If in If] #armature current\n", + "Wm=2*math.pi*N1/60\n", + "Ke_flux=[E / Wm for E in E] #Ke*flux=constant\n", + "Ke_flux=[round(Ke_flux,3) for Ke_flux in Ke_flux] \n", + "\n", + "Ke_flux=numpy.array(Ke_flux)\n", + "Ia=numpy.array(Ia)\n", + "T=numpy.array(Ke_flux)*numpy.array(Ia) #torque\n", + "print\"\\nKe_flux :\",Ke_flux\n", + "T=[round(T,1) for T in T]\n", + "print\"\\nTorque :\",T,\"N-m\"\n", + "\n", + "\n", + "#results\n", + "#plotting the values of Ke*flux vs If \n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "plt.subplot(2,1,1)\n", + "plt.plot(If,Ke_flux,'y')\n", + "plt.xlabel('field current $I_f$')\n", + "plt.ylabel('$Ke*flux$')\n", + "plt.title('$If vs Ke*flux$')\n", + "plt.grid(True)\n", + "\n", + "#plotting the values of T vs If \n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "plt.subplot(2,1,2)\n", + "plt.plot(T,If)\n", + "plt.xlabel('Torque $T$')\n", + "plt.ylabel('field current $I_f$')\n", + "plt.title('$T vs If$')\n", + "plt.grid()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "print\"\\nFrom the plot we can see that when the torque is 400 N-m, \"\n", + "print\"the field current is If=19.3 A, and Ke*flux=1.898 when If=19.3 A\"\n", + "T=400 # braking torque\n", + "If=19.13 # field current\n", + "Ke_flux=1.898 # Ke*flux\n", + "Ia=x*If\n", + "E=If*Rf+Ia*Ra #since E=V+Ia*Ra\n", + "N2=(E/Ke_flux)*(60/(2*math.pi)) #required speed\n", + "print\"Hence the required speed in is :\",round(N2),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Field current If: [2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25] A\n", + "\n", + "Ke_flux : [ 0.398 0.796 1.17 1.432 1.631 1.751 1.846 1.926 1.989 2.053]\n", + "\n", + "Torque : [10.9, 43.8, 96.5, 157.5, 224.3, 288.9, 355.4, 423.7, 492.3, 564.6] N-m\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n9On6/bdu3WLbtm2sX78eV1fXRi2DELZGEpUQjahLly506NABgEOHDvHggw/q33NxcaFr164mna+s\nrIz4+Hjeffddg/0JCQmEhYURFRXV8KCFsHFyj0qIRjRo0CD9nw8dOsSIESP0223btuXgwYNMmzYN\n0HXdrVmzhtzcXDZs2EBsbCyvvvqqwflOnTqFr68vPj4++n0JCQmsX7+e0tJSdu7caeYSCWF9kqiE\nMJO4uDiGDx+u375w4QLh4eFotVoAZsyYgYODAzt37iQtLY2BAwdy7tw5g3McPHjQINkBREdH07p1\naxYvXsykSZPMXxAhrEwSlRBmkJKSQmFhIX369NHvGzFiBO+//z5z584FIDs7m1GjRvHQQw+RlZVF\ncHAw/fr1MzhP9WRX4fz58wQFBZm1DELYCklUQpjBoUOHGDZsWI39iYmJREdHA5CUlERRUREvvPAC\n77//PomJiRw+fFh/bElJCUePHq1xnvT0dNq3b49GozFnEYSwGTI8XYhGdO7cOf71r3/xzjvv4Ojo\nSFFREWFhYfqkUl5eTkJCAllZWfTv3x9XV1cKCwu5du0aX331Fc888wxt2rQhISGBtWvXcubMGbp0\n6UJERIT+GgcPHsTBwYGRI0daq5hCWJRGmTpetpGkpaUxe/ZsMjIy0Gg0PPbYYzz11FMsX76cf/zj\nH/qRU6+88gq/+tWvrBGiEDYlMTGR9957Dy8vL6ZPn27S81hCNGVWG57u7OzMunXrCAsLIy8vj379\n+jF69Gg0Gg1LlixhyZIl1gpNCJvk6OiIn58fLi4ukqSEXbFaovL19cXX1xcANzc3AgMDuXr1KoDJ\nD0UKYQ/CwsIMZqYQwl7YxGCK1NRUkpKSGDBgAABvvPEGoaGhLFiwgJycHCtHJ4QQwpqsnqjy8vKY\nOnUq69evx83NjUWLFpGSkkJycjIdO3bk2WeftXaIQgghrElZUXFxsRozZoxat25dre+npKSovn37\n1tjfrl07BchLXvKSl7yawMvf379BucJq96iUUixYsICgoCAWL16s33/9+nU6duwIwM6dOwkODq7x\nuzdu3LC7+1hz587ln//8p7XDsCh7K7O9lRekzOZ08yacPg3fflv5On8eOnWC0FDD1333gTkfy2vo\nM39WS1RHjx5l06ZNhISEEB4eDsDKlSvZsmULycnJaDQaunfvzjvvvGOtEG1Kt27drB2Cxdlbme2t\n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\nbSMxMZE5c+awY8cOXnrpJaZNm2auGGuoSzPyxg3YuFHXWnJy0nXtzZoFnp4WClIIIQRgpeeozp8/\nz4EDBwAYMWKExVf4vVuhlYKjR+Hvf4c9eyAmRpegBg6U1pMQQlhLs3zg15jaCn37ti4hlZbqktPs\n2XCXiS2apLi4OP3wT3thb2W2t/KClNleNDRR1fke1eDBgzly5Ih+1vTqQdy+fbveQTSGNm10XX0R\nEdJ6EkKI5qTOLaqZM2eyadMmXnvtNRYvXmzuuO6pqSzzIYQQwoLD00+dOsW1a9f44IMPyM7OrvES\nQgghzKHOiWrhwoWMHDmSH374gX79+tV4NaZ9+/bRu3dvevbsyerVqxv13E2VPT57YW9ltrfygpRZ\n1E2dE9VTTz3F+fPnmTdvHikpKTVejaWsrIw//vGP7Nu3j3PnzrFlyxbOnz/faOdvqirmB7Mn9lZm\neysvSJlF3Zj8pO7f//53c8Shd+LECXr06EG3bt1wdnZmxowZfPbZZ2a9ZlNQMcGjPbG3MttbeUHK\nLOrG5qaUuHr1Kl26dNFv+/n5cfXqVStGJIQQwppsLlFpZGx5rRpjqvymxt7KbG/lBSmzqCNlY77+\n+ms1duxY/fbKlSvVqlWrDI7x9/dXgLzkJS95yasJvPz9/RuUF2xuZorS0lICAgI4cOAAnTp1Iioq\nii1bthAYGGjt0IQQQliBybOnm5uTkxMbNmxg7NixlJWVsWDBAklSQghhx2yuRSWEEEJUZXODKe6l\nuT4IPH/+fHx8fAgODtbvy87OZvTo0fTq1YsxY8YYDGl95ZVX6NmzJ71792b//v3WCLnB0tLSGD58\nOH369KFv3768/vrrQPMud1FREdHR0YSFhREUFKRfFLQ5lxl0z0aGh4czfvx4oPmXt1u3boSEhBAe\nHk5UVBTQ/Muck5PD1KlTCQwMJCgoiISEhMYtc4PucFlQaWmp8vf3VykpKaq4uFiFhoaqc+fOWTus\nRvHVV1+pU6dOqb59++r3/elPf1KrV69WSim1atUq9dxzzymllPruu+9UaGioKi4uVikpKcrf31+V\nlZVZJe6GuH79ukpKSlJKKZWbm6t69eqlzp071+zLnZ+fr5RSqqSkREVHR6v4+PhmX+a1a9eqRx99\nVI0fP14p1fw/2926dVM3btww2Nfcyzx79mz1/vvvK6V0n+2cnJxGLXOTSVTHjh0zGA34yiuvqFde\n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\n", + "text": [ + "<matplotlib.figure.Figure at 0x7ff4f028dc10>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "From the plot we can see that when the torque is 400 N-m, \n", + "the field current is If=19.3 A, and Ke*flux=1.898 when If=19.3 A\n", + "Hence the required speed in is : 1005.0 rpm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.6,Page No:71" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#the motor rating is same as that of Ex-5.5\n", + "N=600 #value of the speed given from the magnetization curve in Ex-5.5\n", + "\n", + "Ra=0.04 #armature resistance\n", + "Rf=10 #field resistance\n", + "T=400 #load torque in N-m\n", + "N1=1200 #given speed in rpm to hold the overhauling torque\n", + "\n", + "#calculation\n", + "Wm=2*math.pi*N1/60 #angular speed at the given speed N1\n", + "\n", + "#magnetisation curve at N=600rpm\n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "E =[25,50,73.5,90,102.5,110,116,121,125,129] #value of the back emf as given in Ex-5.5 for the speed N\n", + "\n", + "#magnetisation curve at N=1200rpm\n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "E1=[N1/N*E for E in E] #back emf at the speed N1\n", + "print\"Hence the magnetization curve at 1200rpm is\"\n", + "print\"Field current If:\",If,\"A\"\n", + "print\"Back emf is E1:\",E1,\"V\"\n", + "\n", + "Pd=round(T*Wm,2) #power developed\n", + "x=round(Pd*Ra,1)\n", + "V=[(E1-Pd*Ra/E1) for E1 in E1] #terminal voltage\n", + "V=[round(V,2) for V in V]\n", + "print\"Terminal voltage V:\",V,\"V\"\n", + "\n", + "\n", + "#results\n", + "#plotting the values of V vs If\n", + "plt.subplot(2,1,1)\n", + "plt.plot(V,If)\n", + "plt.xlabel('Terminal voltage $V$')\n", + "plt.ylabel('Field current $I_f$')\n", + "plt.title('$V vs If$')\n", + "plt.grid()\n", + "\n", + "#plotting the values of E vs If\n", + "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25] #field current\n", + "E =[25,50,73.5,90,102.5,110,116,121,125,129] #value of the back emf as given in Ex-5.5 for the speed N\n", + "E1=[N1/N*E for E in E] #back emf at the speed N1\n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(E1,If,'y')\n", + "plt.xlabel('$E$')\n", + "plt.ylabel('Field current $I_f$')\n", + "plt.title('$E vs If$')\n", + "plt.grid()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "print\"\\nFrom the plot we can see that when the current If=25 A the terminal voltage is V=250 V with the back emf E=258V\"\n", + "\n", + "E=258 #value of the back emf in V at from the plot \n", + "V=250 #value of terminal voltage in V from the plot at E=258 V\n", + "If=25 #value of If in A from the plot at E=258 V\n", + "Ia=(E-V)/Ra #armature current\n", + "If=V/Rf #field current\n", + "Ir=Ia-If \n", + "Rb=V/Ir #braking resistance\n", + "\n", + "print\"Hence the rquired braking resistance is \",round(Rb,3),\"ohm\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Hence the magnetization curve at 1200rpm is\n", + "Field current If: [2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25] A\n", + "Back emf is E1: [50.0, 100.0, 147.0, 180.0, 205.0, 220.0, 232.0, 242.0, 250.0, 258.0] V\n", + "Terminal voltage V: [9.79, 79.89, 133.32, 168.83, 195.19, 210.86, 223.33, 233.69, 241.96, 250.21] V\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nQgghrNL/B/LwApWB5UraAAAAAElFTkSuQmCC\n", + "text": [ + "<matplotlib.figure.Figure at 0x7f7432763950>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "From the plot we can see that when the current If=25 A the terminal voltage is V=250 V with the back emf E=258V\n", + "Hence the rquired braking resistance is 1.429 ohm\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.7,Page No:72" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy \n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#ratings of the DC series motor which operated under dynamic braking\n", + "Ra=0.5 #total resistance of armature and field windings\n", + "Rf=10 #field resistance\n", + "T=500 #overhauling load torque in N-m\n", + "N=600 #speed at the overhauling torque T\n", + "\n", + "#magnetisation curve at a speed of 500 rpm\n", + "N1=500 #speed in rpm\n", + "Ia=[20, 30, 40, 50, 60, 70, 80] #armature current\n", + "E =[215,310,381,437,482,519,550] #back emf\n", + "\n", + "#calculation\n", + "Wm1=2*math.pi*N1/60\n", + "print\"\\nArmature current :\",Ia,\"A\"\n", + "Ke_flux=[E / Wm1 for E in E] #Ke*flux=constant\n", + "Ke_flux=[round(Ke_flux,3) for Ke_flux in Ke_flux] \n", + "print\"\\nKe_flux :\",Ke_flux\n", + "Ke_flux=numpy.array(Ke_flux)\n", + "Ia=numpy.array(Ia)\n", + "T=numpy.array(Ke_flux)*numpy.array(Ia) #torque\n", + "T=[round(T,1) for T in T]\n", + "print\"\\nTorque :\",T,\"N-m\"\n", + "\n", + "\n", + "#results\n", + "#plotting the values of Ke*flux vs Ia and T vs Ia\n", + "plt.subplot(2,1,1)\n", + "plt.plot(Ia,Ke_flux,'y')\n", + "plt.xlabel('Armature current $I_a$')\n", + "plt.ylabel('$Ke*flux$')\n", + "plt.title('$Ke*flux vs Ia$')\n", + "plt.grid()\n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(T,Ia)\n", + "plt.xlabel('Torque $T$')\n", + "plt.ylabel('Armature current $I_a$')\n", + "plt.title('$T vs Ia$')\n", + "plt.grid(True)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "print\"\\nFrom the plot we can see that at the given torque T=500 N-m the current Ia is 56 A, and Ke*flux is 8.9 at Ia=56 A\"\n", + "Ke_flux=8.9 #value of Ke*flux at T=500 N-m from the plot\n", + "Ia=56 #value of Ia at at T=500 N-m from the plot\n", + "Wm=2*math.pi*N/60\n", + "E=Ke_flux*Wm #required emf\n", + "x=E/Ia #x=Ra+Rb\n", + "Rb=x-Ra #required braking resistance\n", + "print\"Hence the rquired braking resistance is \",round(Rb,3),\"ohm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Armature current : [20, 30, 40, 50, 60, 70, 80] A\n", + "\n", + "Ke_flux : [4.106, 5.921, 7.277, 8.346, 9.206, 9.912, 10.504]\n", + "\n", + "Torque : [82.1, 177.6, 291.1, 417.3, 552.4, 693.8, 840.3] N-m\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nsXixthAFBWmXjP/rX9Dwvo85OTkGi62pJEb9MPYYjT0+kBj1xRRibJWmTl7NmTNHpaSktHjyq15V\nVZWKjo5Wb7/9tu45Hx8fderUKaWUUidPnlQ+Pj5XfJ+Xl5cC5CEPechDHib28PLyanHNaPJ1Uj4+\nPhw9epR+/fphb28PNH9OSinF3Llz6d69O2+//bbu+QULFtC9e3cWLlxIXFwcJSUlJjEnJYQQom01\nuUjVdynrL8rKzc0lLi6OjRs3Nrmxn3/+mTFjxjB48GDdkN7ixYsJCwsjNjaW3Nxc3S7oTk5Ozc9G\nCCFEh9KsXdD37t3L6tWr+frrr/H09GTatGk89thjbRmfEEIIM3bd66SOHDnCSy+9xKBBg3jiiSfo\n27cvdXV1JCUltVuB+uGHH/D19WXgwIEsWbKkXdq8mnnz5uHu7k5gYKDuuaKiIiZOnIi3tzfR0dGN\nloMuXryYgQMH4uvry+bNm9s8vry8PMaNG4e/vz8BAQG8++67RhejRqMhPDyc4OBg/Pz8eOaZZ4wu\nxnq1tbWEhIQwdepUo4zR09OTwYMHExISQlhYmFHGWFJSwvTp0xk0aBB+fn6kpKQYTYxHjhwhJCRE\n9+jWrRvvvvuu0cTXsE1/f38CAwO56667qKysNLoYly5dSmBgIAEBASxduhTQ49/F605aWVioqVOn\nquPHj+ue8/T0bPEkWHPV1NQoLy8vlZ2draqqqlRQUJA6ePBgu7Xf0Pbt29XevXtVQECA7rmnn35a\nLVmyRCmlVFxcnO6uwgcOHFBBQUGqqqpKZWdnKy8vL1VbW9um8Z06dUqlp6crpZQqLS1V3t7e6uDB\ng0YVo1JKlZWVKaWUqq6uVuHh4So5OdnoYlRKqTfffFPdddddaurUqUop4/pZK6X9d3j27NlGzxlb\njHPmzFGffPKJUkr78y4pKTG6GJVSqra2Vnl4eKjc3Fyjii87O1v1799faTQapZRSsbGx6j//+Y9R\nxbhv3z4VEBCgKioqVE1NjZowYYI6evSo3mK8bpFas2aNio2NVf369VMPPfSQSkhIUP369dNPdk2w\nY8cONWnSJN3x4sWL1eLFi9ut/ctlZ2c3KlI+Pj4qPz9fKaUtEvUrE19//XUVFxf3/9u715Cmvz8O\n4O95AUPDSrzltERyNl3bahpE60GaEdnyUpSGWYnR5UEXoZ4FUgp2f1IPEqLISDNSbGip2WWl5rxM\n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\n", + "text": [ + "<matplotlib.figure.Figure at 0x7f989876da50>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "From the plot we can see that at the given torque T=500 N-m the current Ia is 56 A, and Ke*flux is 8.9 at Ia=56 A\n", + "Hence the rquired braking resistance is 9.486 ohm\n" + ] + } + ], + "prompt_number": 170 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.8,Page No:74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=220 # rated voltage\n", + "N=970 # rated speed\n", + "Ia=100 # rated current\n", + "Ra=0.05 # armature resistance\n", + "N1=1000 # initial speed of the motor in rpm\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra\n", + "E1=N1/N*E #value of back emf at the speed N1\n", + "#(a)the resistance to be placed\n", + "Ia1=2*Ia #value of the braking current is twice the rated current\n", + "Rb=(E1+V)/Ia1-Ra #required resistance\n", + "\n", + "#(b)The braking torque\n", + "Wm=(2*math.pi*N1)/60\n", + "T=E1*Ia1/Wm\n", + "\n", + "#(c)when the speed has fallen to zero the back emf is zero\n", + "E2=0\n", + "Ia2=V/(Ra+Rb)\n", + "T2=Ia2/Ia1*T #since the torque is directly proportional to the current\n", + "\n", + "\n", + "#results \n", + "print\"(a)Hence required resistance is :\",round(Rb,2),\"ohm\"\n", + "#answer for the resistance in the book is wrong due to accuracy\n", + "print\"\\n(b)Hence the required braking torque is :\",round(T,1),\"N-m\"\n", + "print\"\\n(c)Hence the required torque is :\",round(T2,1),\"N-m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)Hence required resistance is : 2.16 ohm\n", + "\n", + "(b)Hence the required braking torque is : 423.3 N-m\n", + "\n", + "(c)Hence the required torque is : 210.9 N-m\n" + ] + } + ], + "prompt_number": 171 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.9,Page No:84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor which operates under rheostatic braking\n", + "V=220 # rated voltage\n", + "N=1000 # rated speed\n", + "Ia=175 # rated current\n", + "Ra=0.08 # armature resistance\n", + "N1=1050 # initial speed of the motor in rpm\n", + "J=8 # moment of inertia of the motor load system kg-m2\n", + "La=0.12 # armature curcuit inductance in H\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra\n", + "Wm=N*2*math.pi/60 #rated speed in rad/s\n", + "\n", + "#(a)when the braking current is twice the rated current\n", + "Ia1=2*Ia\n", + "E1=N1/N*E\n", + "x=E1/Ia1 #x=Rb+Ra\n", + "Rb=x-Ra #required braking resistance\n", + "\n", + "#(b)to obtain the expression for the transient value of speed and current including the effect of armature inductance\n", + "Ra=x #total armature current\n", + "K1=N1*2*math.pi/60 #initial speed in rad/s\n", + "K=E/Wm\n", + "B=0\n", + "ta=La/Ra #time constant in sec\n", + "Trated=E*Ia/Wm #rated torque\n", + "Tl=0.15*Trated #load torque is 15% of the rated torque\n", + "tm1= float('inf') #tm1=J/B and B=0 which is equal to infinity\n", + "tm2=J*Ra/(B*Ra+K**2)\n", + "\n", + "a = ta\n", + "b = -(1+ta/tm1)\n", + "c = 1/tm2\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "alpha1 = (-b-cmath.sqrt(d))/(2*a)\n", + "alpha2 = (-b+cmath.sqrt(d))/(2*a)\n", + "\n", + "K3=tm2*Tl/J\n", + "K4=tm2*K*Tl/J/Ra\n", + "\n", + "#transient value for speed\n", + "x1=((J*alpha2-B)*K1-(Tl-J*alpha2*K3))/(J*(alpha2-alpha1))\n", + "y1=((J*alpha1-B)*K1-(Tl-J*alpha1*K3))/(J*(alpha1-alpha2))\n", + "\n", + "#transient value for the current\n", + "x2=(K*K1+alpha2*La*K4)/(La*(alpha2-alpha1))\n", + "y2=(K*K1+alpha1*La*K4)/(La*(alpha1-alpha2))\n", + "\n", + "\n", + "#(c) to calculate the time taken by braking operation and the maximum value of the armature current\n", + "#now Wm=0 for the braking operation and hence 151.5 exp(-0.963*t1)- 8.247 = 0 from the previous answer in (b)\n", + "a=K3/x1 #a=exp(-0.963*t1)\n", + "t1=-alpha1*math.log(a.real) #take log base e on both sides\n", + "#now d/dt(ia)=0 for themaximum current and hence d/dt(26.25-593.1exp(-0.963*t)+566.8exp(-4.19*t) = 0 from the previous answer in (b)\n", + "b=abs(alpha2*y2)/abs(alpha1*x2) #b=exp(-0.963*t)/exp(-4.19*t)\n", + "t2=math.log(b)/(-alpha1+alpha2) #take log base e on both sides\n", + "t2=abs(t2)\n", + "ia=K4-x2.real*math.exp(-alpha1.real*t2)-y2.real*math.exp(-alpha2.real*t2)\n", + "\n", + "\n", + "#results\n", + "print\"(a)Hence the braking resistance is :\",round(Rb,3),\"ohm\"\n", + "print\"\\nb)The value of alpha1 :\",round(alpha1.real,3),\"and alpha2 :\",round(alpha2.real,3)\n", + "print\"\\nHence the expression for the transient value for the speed is\"\n", + "print\"Wm=\",round(x1.real,1),\"exp(\",-round(alpha1.real,3),\"*t)\",round(y1.real,1),\"exp(\",-round(alpha2.real,2),\"*t)\",\"-\",round(K3,3)\n", + "print\"\\nHence the expression for the transient value for the current is\"\n", + "print\"ia=\",round(K4,2),\"-\",round(x2.real,1),\"exp(\",-round(alpha1.real,3),\"*t) +\",-round(y2.real,1),\"exp(\",-round(alpha2.real,2),\"*t)\"\n", + "print\"\\n(c)Hence the time taken is :\",round(t2,2),\"sec\"\n", + "print\" Hence the maximum current is: \",round(ia,2),\"A\"\n", + "print\"\\n Note : There is a slight difference in the answers due to more number of the decimal place \"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)Hence the braking resistance is : 0.538 ohm\n", + "\n", + "b)The value of alpha1 : 0.963 and alpha2 : 4.187\n", + "\n", + "Hence the expression for the transient value for the speed is\n", + "Wm= 151.5 exp( -0.963 *t) -33.3 exp( -4.19 *t) - 8.247\n", + "\n", + "Hence the expression for the transient value for the current is\n", + "ia= 26.25 - 593.1 exp( -0.963 *t) + 566.8 exp( -4.19 *t)\n", + "\n", + "(c)Hence the time taken is : 0.44 sec\n", + " Hence the maximum current is: -272.23 A\n", + "\n", + " Note : There is a slight difference in the answers due to more number of the decimal place \n" + ] + } + ], + "prompt_number": 151 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.10,Page No:86" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "import numpy as np\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor of Ex-5.9 which operates plugging\n", + "V=220 # rated voltage\n", + "N=1000 # rated speed\n", + "Ia=175 # rated current\n", + "Ra=0.08 # armature resistance\n", + "N1=1050 # initial speed of the motor in rpm\n", + "J=8 # moment of inertia of the motor load system kg-m2\n", + "La=0.12 # armature curcuit inductance in H\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra\n", + "Wm=N*2*math.pi/60 #rated speed in rad/s\n", + "#(a)when the braking current is twice the rated current\n", + "Ia1=2*Ia\n", + "E1=N1/N*E\n", + "x=(V+E1)/Ia1 #x=Rb+Ra\n", + "Rb=x-Ra #required braking resistance\n", + "\n", + "#(b)to obtain the expression for the transient value of speed and current including the effect of armature inductance\n", + "#the values given below are taken from Ex-5.9\n", + "ta=0.194 #time constant in sec\n", + "B=0\n", + "tm1= float('inf') #tm1=J/B and B=0 which is equal to infinity\n", + "tm2=1.274\n", + "K=1.967\n", + "Trated=E*Ia/Wm #rated torque\n", + "Tl=0.5*Trated #load torque is 50% of the rated torque\n", + "Ra=Rb\n", + "K1=N1*2*math.pi/60 #initial speed in rad/s\n", + "#values of the coefficient of the quadratic equation for Wm\n", + "x1=(1+ta/tm1)/ta\n", + "x2=1/tm2/ta\n", + "x3=-(K*V+Ra*Tl)/J/Ra/ta \n", + "#values of the coefficient of the quadratic equation ia\n", + "y1=(1+ta/tm1)/ta\n", + "y2=1/tm2/ta\n", + "y3=-B*V/J/Ra/ta+K*Tl/J/Ra/ta \n", + "\n", + "#solving the quadratic equation\n", + "a = 1 \n", + "b = x1\n", + "c = x2\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "alpha1 = (-b+cmath.sqrt(d))/(2*a)\n", + "alpha2 = (-b-cmath.sqrt(d))/(2*a)\n", + "\n", + "K3=x3/x2\n", + "K4=y3/y2\n", + "\n", + "Wm_0=K1 ;ia_0=0\n", + "d_Wm_dt_0=(K*ia_0-B*Wm-Tl)/J ;d_ia_dt_0=(-V-Ra*ia_0-K*K1)/La #Wm=K1 at t=0 and during braking rated voltage V is equal to -V\n", + "\n", + "A = np.array([[1,1],[alpha1.real,alpha2.real]])\n", + "B = np.array([Wm_0,d_Wm_dt_0])\n", + "x = np.linalg.solve(A,B)\n", + "C = np.array([[1,1],[alpha1.real,alpha2.real]])\n", + "D = np.array([-K4,d_ia_dt_0])\n", + "y = np.linalg.solve(C,D)\n", + "\n", + "#(c)to calculate the time taken for the speed to fall to zero value\n", + "a=-K3/x[0] #a=exp(-0.966*t1)\n", + "t1=alpha1*math.log(a) #take log base e on both sides\n", + "\n", + "\n", + "#results\n", + "print\"(a)Hence the braking resistance is :\",round(Rb,3),\"ohm\"\n", + "print\"\\n(b)The solution for alpha are \",round(alpha1.real,3),\"and\",round(alpha2.real,3)\n", + "print\" Wm=\",round(K3,2),\"+ A*exp(\",round(alpha1.real,3),\"*t) +\",\"+ B*exp(\",round(alpha2.real,2),\"*t)\"\n", + "print\" ia=\",round(K4,2),\"+ C*exp(\",round(alpha1.real,3),\"*t) +\",\"+ D*exp(\",round(alpha2.real,2),\"*t)\"\n", + "print\" We have to find the value of A,B,C and D in the linear equation using the initial condition\"\n", + "print\" A=\",round(x[0],2),\"B=\",round(x[1],2), \"C=\",round(y[0],2),\"D=\",round(y[1],2)\n", + "print\"\\nHence the expression for the transient value for the speed is\"\n", + "print\" Wm=\",round(K3,2),\"+\",round(x[0],2),\"*exp(\",round(alpha1.real,3),\"*t)\",round(x[1],2),\"*exp(\",round(alpha2.real,2),\"*t)\"\n", + "print\"\\nHence the expression for the transient value for the current is\"\n", + "print\" ia=\",round(K4,2),round(y[0],2),\"*exp(\",round(alpha1.real,3),\"*t) +\",round(y[1],2),\"*exp(\",round(alpha2.real,2),\"*t)\"\n", + "print\"\\n(c)Hence the time taken is :\",round(t1.real,2),\"sec\"\n", + "print\"\\n Note :There is slight difference in the answers due to accuracy i.e more number of decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)Hence the braking resistance is : 1.167 ohm\n", + "\n", + "(b)The solution for alpha are -0.966 and -4.189\n", + " Wm= -86.48 + A*exp( -0.966 *t) + + B*exp( -4.19 *t)\n", + " ia= 46.22 + C*exp( -0.966 *t) + + D*exp( -4.19 *t)\n", + " We have to find the value of A,B,C and D in the linear equation using the initial condition\n", + " A= 136.24 B= -26.28 C= -1188.2 D= 1141.98\n", + "\n", + "Hence the expression for the transient value for the speed is\n", + " Wm= -86.48 + 136.24 *exp( -0.966 *t) -26.28 *exp( -4.19 *t)\n", + "\n", + "Hence the expression for the transient value for the current is\n", + " ia= 46.22 -1188.2 *exp( -0.966 *t) + 1141.98 *exp( -4.19 *t)\n", + "\n", + "(c)Hence the time taken is : 0.44 sec\n", + "\n", + " Note :There is slight difference in the answers due to accuracy i.e more number of decimal place\n" + ] + } + ], + "prompt_number": 50 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.11,Page No:89" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=220 # rated voltage\n", + "N=600 # rated speed\n", + "Ia=500 # rated current\n", + "Ra=0.02 # armature resistance\n", + "Rf=10 # field resistance\n", + "\n", + "#calculation \n", + "E1=V-Ia*Ra #rated back emf at rated operation\n", + "Wm1=2*math.pi*N/60 #angular speed\n", + "Trated=E1*Ia1/Wm1 #rated torque\n", + "#(i) when the speed of the motor is 450rpm\n", + "N1=450 #given speed in rpm\n", + "Tl=2000-2*N1 #load torque is a function of the speed as given\n", + "Ia2=Tl/Trated*Ia1 #for a torque of Tl as a function of current\n", + "E2=N1/N*E1 #for a given speed of 450rpm\n", + "V2=E2+Ia2*Ra #terminal voltage for a given speed of 450 rpm\n", + "\n", + "#(ii) when the speed of the motor is 750rpm\n", + "N1=750 #given speed in rpm\n", + "Tl=2000-2*N1 #load torque is a function of the speed as given\n", + "Wm_=2*math.pi*N1/60\n", + "Ke_phi1=E1/Wm1\n", + "\n", + "#Since we know that V=Ke*phi*Wm+Ia*Ra by solving we get that 0.02*(Ia_)**2 -220*Ia_ + 39270 = 0\"\n", + "a = 0.02\n", + "b = -220\n", + "c = 39270\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "Ia_1 = (-b-cmath.sqrt(d))/(2*a)\n", + "Ia_2 = (-b+cmath.sqrt(d))/(2*a)\n", + "\n", + "Ke_phi=Tl/abs(Ia_1)\n", + "V1=V*Ke_phi/Ke_phi1 #required field voltage\n", + "\n", + "#results\n", + "print\"(i)Hence motor terminal voltage is :\",round(V2),\"V\"\n", + "print\" And the armature current is :\",round(Ia2),\"A\"\n", + "print\"\\n(ii)The solution for Ia_ are \",round(abs(Ia_1),1),\"A and\",round(abs(Ia_2)),\"A\"\n", + "print\" We ignore \",round(abs(Ia_2)),\"A since it is unfeasible,\\n Hence armature current is :\",round(abs(Ia_1),1),\"A\"\n", + "print\" Hence the required field voltage is :\",round(V1,1),\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence motor terminal voltage is : 164.0 V\n", + " And the armature current is : 329.0 A\n", + "\n", + "(ii)The solution for Ia_ are 181.5 A and 10819.0 A\n", + " We ignore 10819.0 A since it is unfeasible,\n", + " Hence armature current is : 181.5 A\n", + " Hence the required field voltage is : 181.3 V\n" + ] + } + ], + "prompt_number": 67 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.12,Page No:91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import cmath\n", + "from __future__ import division\n", + "import numpy\n", + "\n", + "#variable declaration\n", + "#ratings of the 2-pole separately excited DC motor with the fields coils connected in parallel\n", + "V=220 # rated voltage\n", + "N=750 # rated speed\n", + "Ia1=100 # rated current\n", + "Ra=0.1 # armature resistance\n", + "\n", + "#calculation\n", + "E1=V-Ia1*Ra #rated back emf at rated operation\n", + "Wm1=2*math.pi*N/60 #angular speed\n", + "Trated=E1*Ia1/Wm1 #rated torque\n", + "Ke_phi1=E1/Wm1\n", + "#(i) when the armature voltage is reduced to 110V\n", + "Wm2=2*math.pi*N2/60 #angular speed\n", + "E2=Ke_phi1*Wm2\n", + "#Now there are two linear equations...that we have to solve\n", + "#They are given by 0.3*N2+2.674*Ia2=500 and 0.28*N2+0.1*Ia2=110\n", + "a = np.array([[0.3,2.674], [0.28,0.1]])\n", + "b = np.array([500,110])\n", + "x = np.linalg.solve(a, b)\n", + "N2=round(x[0],1) #let the motor speed be N2\n", + "Ia2=round(x[1],1) #let the motor current be Ia2\n", + "\n", + "#(ii)when the field coils are connected in series\n", + "K=Ke_phi1/2\n", + "Wm3=2*math.pi*N3/60 #angular speed\n", + "E3=K*Wm3\n", + "#Now there are two linear equations...that we have to solve\"\n", + "#They are given by 0.3*N3+1.337*Ia3=500 and 0.14*N3+0.1*Ia3=220\"\n", + "a = np.array([[0.3,1.337], [0.14,0.1]])\n", + "b = np.array([500,220])\n", + "x = np.linalg.solve(a, b)\n", + "N3=round(x[0],1) #let the motor speed be N3\n", + "Ia3=round(x[1],2) #let the motor current be Ia3\n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence the motor armature current is Ia2 :\",Ia2,\"A\"\n", + "print\" And the required speed is N2 :\",N2,\"rpm\"\n", + "print\"\\n(ii)Hence the motor armature current is Ia3 :\",Ia3,\"A\"\n", + "print\" And the required speed is N3 :\",N3,\"rpm\"\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the motor armature current is Ia2 : 148.9 A\n", + " And the required speed is N2 : 339.7 rpm\n", + "\n", + "(ii)Hence the motor armature current is Ia3 : 25.45 A\n", + " And the required speed is N3 : 1553.3 rpm\n" + ] + } + ], + "prompt_number": 173 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.13,Page No:102" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=200 # rated voltage\n", + "N=875 # rated speed\n", + "Ia=150 # rated current\n", + "Ra=0.06 # armature resistance\n", + "Vs=220 # source voltage\n", + "f=50 # frequency of the source voltage\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf\n", + "Vm=math.sqrt(2)*Vs #peak voltage\n", + "\n", + "#(i)when the speed is 750 rpm and at rated torque\n", + "N1=750 #given speed in rpm\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1+Ia*Ra #terminal voltage\n", + "cos_alpha=Va*math.pi/2/Vm\n", + "alpha=math.acos(cos_alpha) #required firing angle in radian\n", + "alpha1=math.degrees(alpha) #required firing angle in degrees\n", + "\n", + "#(ii)when the speed is -500rpm and at rated torque\n", + "N1=-500 #given speed in rpm\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1+Ia*Ra #terminal voltage\n", + "cos_alpha=Va*math.pi/2/Vm\n", + "alpha=math.acos(cos_alpha) #required firing angle in radian\n", + "alpha2=math.degrees(alpha) #required firing angle in degrees\n", + "\n", + "#(iii)when the firing angle is 160 degrees\n", + "alpha=160 #firing angle in degrees\n", + "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n", + "E1=Va-Ia*Ra #since Va=E1+Ia*Ra\n", + "N1=E1/E*N #the required speed at the given firing angle\n", + "\n", + "#results\n", + "print\"(i)Hence the required firing angle is :\",round(alpha1,1),\"\u00b0\"\n", + "print\"\\n(ii)Hence the required firing angle is :\",round(alpha2),\"\u00b0\"\n", + "print\"\\n(iii)Hence the required speed is :\",round(N1,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the required firing angle is : 29.3 \u00b0\n", + "\n", + "(ii)Hence the required firing angle is : 120.0 \u00b0\n", + "\n", + "(iii)Hence the required speed is : -893.9 rpm\n" + ] + } + ], + "prompt_number": 81 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.14,Page No:103" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor is same as that of Ex-5.13\n", + "V=200 # rated voltage\n", + "N=875 # rated speed\n", + "Ia=150 # rated current\n", + "Ra=0.06 # armature resistance\n", + "Vs=220 # source voltage\n", + "f=50 #frequency of the source voltage\n", + "La=0.85e-3 # armature curcuit inductance in H\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf\n", + "Vm=math.sqrt(2)*Vs #peak voltage\n", + "Wm=2*math.pi*N/60 #synchronous angular speed\n", + "\n", + "#(i)when the speed is 400 rpm and firing angle is 60 degrees\n", + "N1=400 #given speed in rpm\n", + "alpha=60 #firing angle in degrees\n", + "W=2*math.pi*f \n", + "x=W*La/Ra\n", + "phi=math.atan(x)\n", + "cot_phi=1/math.tan(phi)\n", + "Z=math.sqrt(Ra**2+(W*La)**2)\n", + "K=E/Wm\n", + "\n", + "y=Ra*Vm/Z/K\n", + "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n", + "Wmc=y*math.sin(math.radians(alpha)-phi)*a #required angular speed in rps\n", + "Nmc=Wmc*60/2/math.pi #required angular speed in rpm\n", + "\n", + "E1=N1/N*E \n", + "\n", + "#The equation Vm/Z*sin(beta-phi)-E/Ra+(E/Ra-Vm/Z*sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=0\n", + "#can be solved using trial method such that beta=230 degrees\n", + "beta=230 #in degrees\n", + "beta=math.radians(beta) #in radians\n", + "alpha=math.radians(alpha) #in radians\n", + "\n", + "Va=(Vm*(math.cos(alpha)-math.cos(beta))+(math.pi+alpha-beta)*E1)/math.pi\n", + "Ia=(Va-E1)/Ra\n", + "T1=K*Ia\n", + "\n", + "#(ii)when the speed is -400 rpm and firing angle is 120 degrees\n", + "Le=2e-3 #external inductance added to the armature\n", + "L=La+Le\n", + "N2=-400 #given speed in rpm\n", + "alpha=120 #firing angle in degrees\n", + "x=W*L/Ra\n", + "phi=math.atan(x)\n", + "cot_phi=1/math.tan(phi)\n", + "Z=math.sqrt(Ra**2+(W*L)**2)\n", + "K=E/Wm\n", + "\n", + "y=Ra*Vm/Z/K\n", + "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n", + "Wmc=y*math.sin(math.radians(alpha)-phi)*a #required angular speed in rps\n", + "Nmc1=Wmc*60/2/math.pi #required angular speed in rpm\n", + "#The motor is operating under discontinous condition\"\n", + "E2=N2/N*E \n", + "\n", + "#The equation Vm/Z*sin(beta-phi)-E/Ra+(E/Ra-Vm/Z*sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=0\n", + "#can be solved using trial method such that beta=281 degrees\n", + "beta=281 #in degrees\n", + "beta=math.radians(beta) #in radians\n", + "alpha=math.radians(alpha) #in radians\n", + "\n", + "Va=(Vm*(math.cos(alpha)-math.cos(beta))+(math.pi+alpha-beta)*E2)/math.pi\n", + "Ia=(Va-E2)/Ra\n", + "T2=K*Ia\n", + "\n", + "#(iii)when the speed is -600 rpm and firing angle is 120 degrees\n", + "N3=-600 #speed in rpm\n", + "alpha=120 #firing angle in degrees\n", + "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n", + "E3=N3/N*E #since Va=E1+Ia*Ra\n", + "Ia=(Va-E3)/Ra\n", + "T3=K*Ia\n", + "\n", + "#results\n", + "print\"(i)Hence the required torque is :\",round(T1),\"N-m \"\n", + "print\"\\n(ii)Hence the required torque is :\",round(T2,1),\"N-m\"\n", + "print\"\\n(iii)Hence the required torque is :\",round(T3),\"N-m\" \n", + "print\"\\nNote : There is a slight difference in the answers because of accuracy i.e more number of decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the required torque is : 1067.0 N-m \n", + "\n", + "(ii)Hence the required torque is : 336.4 N-m\n", + "\n", + "(iii)Hence the required torque is : 1110.0 N-m\n", + "\n", + "Note : There is a slight difference in the answers because of accuracy i.e more number of decimal place\n" + ] + } + ], + "prompt_number": 179 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.15,Page No:105" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor is same as that of Ex-5.13\n", + "V=200 # rated voltage\n", + "N=875 # rated speed\n", + "Ia=150 # rated current\n", + "Ra=0.06 # armature resistance\n", + "Vs=220 # source voltage\n", + "f=50 #frequency of the source voltage\n", + "La=2.85e-3 # armature curcuit inductance in H\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf\n", + "Vm=math.sqrt(2)*Vs #peak voltage\n", + "Wm=2*math.pi*N/60 #angular speed\n", + "W=2*math.pi*f\n", + "\n", + "alpha=120 #firing angle in degrees\n", + "x=W*La/Ra\n", + "phi=math.atan(x)\n", + "cot_phi=1/math.tan(phi)\n", + "Z=math.sqrt(Ra**2+(W*La)**2)\n", + "K=E/Wm\n", + "\n", + "y=Ra*Vm/Z/K\n", + "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n", + "Wmc=round(y,3)*math.sin(math.radians(alpha)-phi)*a #required angular speed in rps\n", + "Nmc=Wmc*60/2/math.pi #required angular speed in rpm\n", + "\n", + "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n", + "E1=Nmc/N*E #value of back emf at the critical speed of Nmc \n", + "Ia=(Va-E1)/Ra\n", + "Tc=K*Ia\n", + "\n", + "#(i)when the torque is 1200 N-m and firing angle is 120 degrees\n", + "T2=1200 #given torque in N-m\n", + "Ia2=T2/K #given terminal current for the given torque and the answer in the book is wrong\n", + "E2=Va-Ia*Ra \n", + "N2=E2/E*N\n", + "\n", + "#(ii)when the torque is 300 N-m and firing angle is 120 degrees\n", + "T=300 #required torque in N-m\n", + "beta=233.492 #required angle in degrees\n", + "beta=math.radians(beta) #in radians\n", + "alpha=math.radians(alpha) #in radians\n", + "x=beta-alpha\n", + "E1=(Vm*(math.cos(alpha)-math.cos(beta)))/x-(math.pi*Ra*T)/(K*x)\n", + "N1=E1/E*N #required speed \n", + "\n", + "\n", + "#results\n", + "print\"The motor is operating under continuous condition\"\n", + "print\"The torque Tc is :\",round(Tc),\"N-m\"\n", + "print\"The answer for torque Tc in the book is wrong due to accuracy in the decimal place which leads to subsequent \"\n", + "print\"incorrect answers\"\n", + "print\"\\n(i)Hence the required speed is :\",round(N2),\"rpm\"\n", + "print\"\\n(ii)The equation Vm/Z*sin(beta-phi)-sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=\"\n", + "print\" (Vm*(cos(alpha)-cos(beta))/Ra/(beta-alpha)-pi*T/K/(beta-alpha) )*(1-exp(-(beta-alpha)*cot_phi)\"\n", + "print\" can be solved using trial method such that beta=233.492 degrees\"\n", + "print\"\\n Hence the required speed is :\",round(N1,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The motor is operating under continuous condition\n", + "The torque Tc is : 396.0 N-m\n", + "The answer for torque Tc in the book is wrong due to accuracy in the decimal place which leads to subsequent \n", + "incorrect answers\n", + "\n", + "(i)Hence the required speed is : -506.0 rpm\n", + "\n", + "(ii)The equation Vm/Z*sin(beta-phi)-sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=\n", + " (Vm*(cos(alpha)-cos(beta))/Ra/(beta-alpha)-pi*T/K/(beta-alpha) )*(1-exp(-(beta-alpha)*cot_phi)\n", + " can be solved using trial method such that beta=233.492 degrees\n", + "\n", + " Hence the required speed is : 5.6 rpm\n" + ] + } + ], + "prompt_number": 181 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.16,Page No:110" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=220 # rated voltage\n", + "N=960 # rated speed\n", + "Ia=12.8 # rated current\n", + "Ra=2 # armature resistance\n", + "Vs=230 # source voltage\n", + "f=50 #frequency of the source voltage\n", + "La=150e-3 # armature curcuit inductance in H\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf\n", + "Vm=math.sqrt(2)*Vs #peak voltage\n", + "Wm=2*math.pi*N/60 #angular speed\n", + "W=2*math.pi*f\n", + "\n", + "#(i)when speed is 600rpm and the firing angle is 60 degrees\n", + "alpha=60 #firing angle in degrees\n", + "N1=600 #motor speed in rpm\n", + "x=W*La/Ra\n", + "phi=math.atan(x)\n", + "cot_phi=1/math.tan(phi)\n", + "Z=math.sqrt(Ra**2+(W*La)**2)\n", + "K=E/Wm\n", + "\n", + "y=Ra*Vm/Z/K\n", + "b=math.sin(phi)*math.exp(-(math.radians(alpha)*cot_phi))\n", + "c=math.sin(math.radians(alpha)-phi)*math.exp(-(math.pi*cot_phi))\n", + "a=1-math.exp(-(math.pi*cot_phi))\n", + "Wmc=round(y,3)*(b-c)/a #required angular speed in rps\n", + "Nmc=Wmc*60/2/math.pi #required angular speed in rpm\n", + "\n", + "Va=Vm/math.pi*(1+math.cos(math.radians(alpha)))\n", + "E1=N1/N*E #value of back emf at the speed of N1\n", + "Ia=(Va-E1)/Ra\n", + "T=K*Ia\n", + "\n", + "#(ii)when the torque is 20 N-m and firing angle is 60 degrees\n", + "T1=20 #required torque in N-m\n", + "alpha=60 #required firing angle in degrees\n", + "Ec=Nmc/N*E #motor back emf at critical speed of Nmc\n", + "Tc=K*(Va-Ec)/Ra #torque at the critical speed\n", + "\n", + "Ia=T1/K\n", + "E1=Va-Ia*Ra\n", + "N1=E1/E*N #required speed \n", + "\n", + "\n", + "#results\n", + "if N1<Nmc :\n", + " print\"(i)The motor is operating under continuous condition\"\n", + "print\" Hence the required torque is :\",round(T,2),\"N-m\"\n", + "if Tc<T1 :\n", + " print\"\\n(ii)The motor is operating under continuous condition\"\n", + "print\" Hence the required speed is :\",round(N1,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)The motor is operating under continuous condition\n", + " Hence the required torque is : 32.68 N-m\n", + "\n", + "(ii)The motor is operating under continuous condition\n", + " Hence the required speed is : 664.8 rpm\n" + ] + } + ], + "prompt_number": 182 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.17,Page No:113" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=220 # rated voltage\n", + "N=1500 # rated speed\n", + "Ia=50 # rated current\n", + "Ra=0.5 # armature resistance\n", + "Vl=440 # line voltage with 3-phase ac supply\n", + "f=50 #frequency of the source voltage\n", + "\n", + "#calculation\n", + "#(i) tranformer ratio\n", + "alpha=0 #firing angle\n", + "Va=V #motor terminal voltage is equal to the rated voltage when the firing angle is 0 degrees\n", + "Vm=math.pi/3*Va/math.cos(alpha)\n", + "Vrms=Vm/math.sqrt(2) #rms value of the converter input voltage\n", + "a=(Vl/math.sqrt(3))/Vrms #required transformer ratio\n", + "\n", + "#(ii)value of the firing angle\n", + "E=V-Ia*Ra #back emf at the rated speed\n", + "\n", + "#(a)when the speed of the motor is 1200 rpm and rated torque\n", + "N1=1200 #speed of the motor\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1+Ia*Ra #terminal voltage at the given speed N1\n", + "alpha=math.acos(math.pi/3*Va/Vm) #required firing angle in radians\n", + "alpha1=math.degrees(alpha) #required firing angle in degrees\n", + "\n", + "#(b)when the speed of the motor is -800 rpm and twice the rated torque\n", + "N1=-800 #speed of the motor\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Ia=2*Ia #torque is directly proportional to the current hence twice the rated current\n", + "Va=E1+Ia*Ra #terminal voltage at the given speed N1\n", + "alpha=math.acos(math.pi/3*Va/Vm) #required firing angle in radians\n", + "alpha2=math.degrees(alpha) #required firing angle in degrees\n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence the required transformer ratio is :\",round(a,3)\n", + "print\"\\n(ii)(a)Hence the required firing angle is :\",round(alpha1,2),\"\u00b0\"\n", + "print\"\\n (b)Hence the required firing angle is :\",round(alpha2,2),\"\u00b0\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the required transformer ratio is : 1.559\n", + "\n", + "(ii)(a)Hence the required firing angle is : 34.64 \u00b0\n", + "\n", + " (b)Hence the required firing angle is : 104.21 \u00b0\n" + ] + } + ], + "prompt_number": 183 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.18,Page No:117" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor is same as that of Ex-5.17 but is fed from a circulating dual converter\n", + "V=220 # rated voltage\n", + "N=1500 # rated speed\n", + "Ia=50 # rated current\n", + "Ra=0.5 # armature resistance\n", + "Vl=165 # line voltage \n", + "f=50 # frequency of the source voltage\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf at the rated speed\n", + "Vm=Vl*math.sqrt(2) #peak voltage\n", + "\n", + "#(i)during motoring operation when the speed is 1000 rpm and at rated torque\n", + "N1=1000 #speed of the motor\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1+Ia*Ra #terminal voltage at the given speed N1\n", + "alpha_A=math.acos(math.pi/3*Va/Vm) \n", + "alpha_B=180-math.degrees(alpha_A) #required converter firing angle in degrees\n", + "\n", + "#(ii)during braking operation when the speed is 1000 rpm and at rated torque\n", + "N1=1000 #speed of the motor in the book it is given as 100 rpm which is wrong\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1-Ia*Ra #terminal voltage at the given speed N1\n", + "alpha_A1=math.acos(math.pi/3*Va/Vm) \n", + "alpha_B1=180-math.degrees(alpha_A1) #required converter firing angle in degrees\n", + "\n", + "#(iii)during motoring operation when the speed is -1000 rpm and at rated torque\n", + "N1=-1000 #speed of the motor\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1-Ia*Ra #terminal voltage at the given speed N1\n", + "alpha_A2=math.acos(math.pi/3*Va/Vm) \n", + "alpha_B2=180-math.degrees(alpha_A2) #required converter firing angle in degrees\n", + "\n", + "#(iv)during braking operation when the speed is -1000 rpm and at rated torque\n", + "N1=-1000 #speed of the motor in the book it is given as 100 rpm which is wrong\n", + "E1=N1/N*E #back emf at the given speed N1\n", + "Va=E1+Ia*Ra #terminal voltage at the given speed N1\n", + "alpha_A3=math.acos(math.pi/3*Va/Vm) \n", + "alpha_B3=180-math.degrees(alpha_A3) #required converter firing angle in degrees\n", + "\n", + "\n", + "#results\n", + "print\"\\n(i)Hence the required firing angle is :\",round(alpha_B,1),\"\u00b0\"\n", + "print\"\\n(ii)Hence the required firing angle is :\",round(alpha_B1,1),\"\u00b0\"\n", + "print\"\\n(iii)Hence for negative speed during motoring operation the required firing angle are :\"\n", + "print\" alpha_A :\",round(math.degrees(alpha_A2),1),\"\u00b0 and alpha_B :\",round(alpha_B2,1),\"\u00b0\"\n", + "print\"\\n(iv)Hence for negative speed during braking operation the required firing angle are :\"\n", + "print\" alpha_A :\",round(math.degrees(alpha_A3),1),\"\u00b0 and alpha_B :\",round(alpha_B3,1),\"\u00b0\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "(i)Hence the required firing angle is : 134.1 \u00b0\n", + "\n", + "(ii)Hence the required firing angle is : 118.1 \u00b0\n", + "\n", + "(iii)Hence for negative speed during motoring operation the required firing angle are :\n", + " alpha_A : 134.1 \u00b0 and alpha_B : 45.9 \u00b0\n", + "\n", + "(iv)Hence for negative speed during braking operation the required firing angle are :\n", + " alpha_A : 118.1 \u00b0 and alpha_B : 61.9 \u00b0\n" + ] + } + ], + "prompt_number": 184 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.19,Page No:126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor\n", + "V=230 # rated voltage\n", + "N=960 # rated speed\n", + "Ia=200 # rated current\n", + "Ra=0.02 # armature resistance\n", + "Vs=230 # source voltage\n", + "\n", + "#calculation\n", + "E=V-Ia*Ra #back emf\n", + "\n", + "#(i) When the speed of motor is 350 rpm with the rated torque during motoring operation\n", + "N1=350 #given speed in rpm\n", + "E1=N1/N*E #given back emf at N1\n", + "Va=E1+Ia*Ra #motor terminal voltage\n", + "delta=Va/V #duty ratio\n", + "\n", + "#(ii) When the speed of motor is 350 rpm with the rated torque during braking operation\n", + "Va=E1-Ia*Ra #motor terminal voltage\n", + "delta1=Va/V #duty ratio\n", + "\n", + "#(iii)maximum duty ratio is 0.95\n", + "delta2=0.95 #maximum duty ratio\n", + "Va=delta2*V #terminal voltage\n", + "Ia1=2*Ia #maximum permissable current\n", + "E1=Va+Ia1*Ra #back emf\n", + "N1=E1/E*N #maximum permissible speed\n", + "Pa=Va*Ia1 #power fed to the source\n", + "\n", + "#(iv) if the speed of the motor is 1200 rpm and the field of the motor is also controlled\n", + "N2=1200 #given speed\n", + "#now the field current is directly proportional to the speed of the motor\n", + "If=N/N2 #field current as a ratio of the rated current\n", + "\n", + "\n", + "#results\n", + "print\"(i) Duty ratio is :\",round(delta,3)\n", + "print\"\\n(ii)Duty ratio is :\",round(delta1,2)\n", + "print\"\\n(iii)Maximum permissible speed is :\",round(N1),\"rpm\"\n", + "print\" Power fed to the source is :\",round(Pa/1000,1),\"kW\"\n", + "print\"\\n(iv)Field current as a ratio of the rated current is :\",If" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Duty ratio is : 0.376\n", + "\n", + "(ii)Duty ratio is : 0.34\n", + "\n", + "(iii)Maximum permissible speed is : 962.0 rpm\n", + " Power fed to the source is : 87.4 kW\n", + "\n", + "(iv)Field current as a ratio of the rated current is : 0.8\n" + ] + } + ], + "prompt_number": 185 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.20,Page No:127" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the separately excited motor when it is operated in dynamic breaking\n", + "V=230 # rated voltage\n", + "N=960 # rated speed\n", + "Ia=200 # rated current\n", + "Ra=0.02 # armature resistance\n", + "Vs=230 # source voltage\n", + "Rb=2 # braking resistance in ohm\n", + "\n", + "#calculation\n", + "#when the motor speed is 600 rpm and the braking torque is twice the rated value\n", + "Ia1=2*Ia #torque is directly proportional to current\n", + "N1=600 #speed of the motor in rpm\n", + "E=V-Ia*Ra #back emf\n", + "E1=N1/N*E\n", + "x=E1/Ia1-Ra #x=(1-delta)*Rb\n", + "y=x/Rb #y=1-delta\n", + "delta=1-y #duty ratio\n", + "\n", + "#(ii)if the duty ratio is 0.6 and and the braking torque is twice the rated value\n", + "delta1=0.6 #duty ratio\n", + "Ia1=2*Ia #torque is directly proportional to current\n", + "E1=Ia1*((1-delta1)*Rb+Ra) #back emf\n", + "N1=E1/E*N\n", + "\n", + "\n", + "#results \n", + "print\"(i)Duty ratio is :\",round(delta,2)\n", + "print\"\\n(ii)Hence the motor speed is :\",round(N1,1),\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Duty ratio is : 0.83\n", + "\n", + "(ii)Hence the motor speed is : 1393.3 rpm\n" + ] + } + ], + "prompt_number": 140 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.21,Page No:128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "\n", + "#variable declaration\n", + "#ratings of the series motor\n", + "N=600 #speed in rpm\n", + "Vs=220 #source voltage\n", + "Ra_Rf=0.12 #combine armature resistance field resistance\n", + "#magnetisation curve at N\n", + "If=[10, 20,30, 40, 50, 60, 70, 80] #field current\n", + "E =[64,118,150,170,184,194,202,210] #terminal voltage\n", + "\n", + "#calculation\n", + "#(i)when the duty ratio is 0.6 and motor current is 60 A\n", + "delta=0.6 #duty ratio\n", + "Ia1=60 #motor current\n", + "Va1=delta*Vs #terminal voltage for the given duty ratio\n", + "E1=Va1-Ia1*Ra_Rf #back emf for the given duty ratio\n", + "\n", + "#for Ia1=60 A the terminal voltage is 194 V as given in the magnetization curve\n", + "N1=E1/E[5]*N #motor speed for the given duty ratio\n", + "\n", + "#(ii)when the speed is 400rpm and the duty ratio is 0.65\n", + "delta=0.65 #duty ratio\n", + "N2=400 #speed in rpm\n", + "Va1=delta*Vs #terminal voltage for the given duty ratio\n", + "\n", + "#from the magnetization characteristic for the speed of 400rpm the current Ia=70 A\n", + "E1=Va1-If[6]*Ra_Rf #back emf for the given duty ratio\n", + "T=(E1*If[6])/N2/(2*math.pi/60) #required torque\n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence the motor speed is :\",round(N1),\"rpm\"\n", + "print\"\\n(ii)Hence the required torque is :\",round(T),\"N-m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the motor speed is : 386.0 rpm\n", + "\n", + "(ii)Hence the required torque is : 225.0 N-m\n" + ] + } + ], + "prompt_number": 186 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.22,Page No:129" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "\n", + "#variable declaration\n", + "#ratings of the series motor which is the same as that of Ex-6.21\n", + "#The motor is operated using regenarative braking method\n", + "N=600 #speed in rpm\n", + "Vs=220 #source voltage\n", + "Ra_Rf=0.12 #combine armature resistance field resistance\n", + "#magnetisation curve at N\n", + "If=[10, 20,30, 40, 50, 60, 70, 80] #field current\n", + "E =[64,118,150,170,184,194,202,210] #terminal voltage\n", + "\n", + "#calculation\n", + "#(i)when the duty ratio is 0.5 and the braking torque is equal to the motor torque\n", + "delta=0.5 #duty ratio\n", + "Va1=delta*Vs #terminal voltage\n", + "Ia1=If[6] #current at rated motor torque\n", + "E1=Va1+Ia1*Ra_Rf #back emf for the given duty ratio\n", + "N1=E1/E[6]*N #for a current of 70 A E=202 V from the magnetization curve\n", + "\n", + "#(ii)when maximum permisssible duty ratio is 0.95 and current is 70A\n", + "delta_max=0.95 #maximum duty ratio\n", + "Va1=delta_max*Vs #terminal voltage\n", + "Ia1=70 #maximum permissible current\n", + "E2=Va1+Ia1*Ra_Rf #back emf for the given duty ratio\n", + "N2=E2/E[6]*N #for a current of 70 A E=202 V\n", + "\n", + "#(iii)when the motor speed is 1000rpm and maximum current is 70A with duty ratio in the range of 0.05 to 0.95\n", + "Ia1=70 #maximum permissible current\n", + "N3=1000 #given speed in rpm\n", + "delta_max=0.95 #maximum duty ratio\n", + "E3=N3/N*E[6] #terminal voltage\n", + "x=(E3-delta_max*Vs)/Ia1 #x=R+Ra_Rf where R is the required external resistance\n", + "R=x-Ra_Rf #external resistance\n", + "\n", + "#(iv)when the motor is running at 1000rpm with current at 70 \n", + "Ia1=70 #maximum permissible current\n", + "N4=1000 #given speed in rpm\n", + "Ra=Ra_Rf #total value of armature resistance is assumed to be the same\n", + "E4=Va1+Ia1*Ra #back emf for the given speed N4\n", + "E_=N/N4*E4\n", + "ratio=E_/E[6] #fraction of the requuired number of turns to be reduced\n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence the motor speed is :\",round(N1,1),\"rpm\"\n", + "print\"\\n(ii)Hence the motor speed is :\",round(N2,1),\"rpm\"\n", + "print\"\\n(iii)Hence the required external resistance is :\",round(R,1),\"ohm\"\n", + "print\"\\n(iv)Hence fraction of the number of turns to be reduced is :\",round(ratio,3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the motor speed is : 351.7 rpm\n", + "\n", + "(ii)Hence the motor speed is : 645.7 rpm\n", + "\n", + "(iii)Hence the required external resistance is : 1.7 ohm\n", + "\n", + "(iv)Hence fraction of the number of turns to be reduced is : 0.646\n" + ] + } + ], + "prompt_number": 187 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:5.23,Page No:130" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "\n", + "#variable declaration\n", + "#ratings of the series motor which is the same as that of Ex-6.21\n", + "#The motor is operated using dynamic braking method\n", + "N=600 #speed in rpm\n", + "Vs=220 #source voltage\n", + "Ra=0.12 # armature resistance\n", + "delta_min=0.1 #manimum value of duty ratio\n", + "delta_max=0.9 #maximum value of duty ratio\n", + "#magnetisation curve at N\n", + "If=[10, 20,30, 40, 50, 60, 70, 80] #field current\n", + "E =[64,118,150,170,184,194,202,210] #terminal voltage\n", + "\n", + "#calculation\n", + "#(i) maximum braking speed is 800rpm with armature current of 70 A\n", + "N1=800 #maximum braking speed \n", + "Ia=70 #armature current\n", + "E1=N1/N*E[6] #at 70A motor back emf is 202V \n", + "Rbe=E1/Ia-Ra #effective value of braking resistance\n", + "Rb=Rbe/(1-delta_min) #required braking resistance\n", + "\n", + "#(ii)when the speed of the motor is 87 rpm\n", + "#now torque is maximum when the duty ratio is maximum\n", + "N1=87 #speed in rpm\n", + "R=Rb*(1-delta_max)+Ra\n", + "\n", + "Ia=If[4] #value of armature current for the given value of E=184V \n", + "Ke_phi=E[4]/(2*math.pi*N)*60\n", + "T=Ke_phi*Ia #required torque\n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence braking resistance is:\",round(Rb,2),\"ohm\"\n", + "print\"\\n(ii)Hence the required torque is :\",round(T,1),\"N-m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence braking resistance is: 4.14 ohm\n", + "\n", + "(ii)Hence the required torque is : 146.4 N-m\n" + ] + } + ], + "prompt_number": 188 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb new file mode 100755 index 00000000..8dc92854 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb @@ -0,0 +1,1817 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6: Induction Motor Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.1,Page No:147" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the Y-connected induction motor \n", + "f=50 # frequency in HZ\n", + "Vl=440 #line voltage in V\n", + "P=6 # number of poles\n", + "N=950 #speed in rpm\n", + "\n", + "#parameters referred to the stator\n", + "Xr_=1.2 # rotor winding reactance in ohm\n", + "Rr_=0.4 # resistance of the rotor windings in ohm\n", + "Rs=0.5 # resistance of the stator windings in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Xm=50 # no load reactance\n", + " \n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "s=(Ns-N)/Ns #full load slip\n", + "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2) #total impedance\n", + "Ir_=(Vl/math.sqrt(3))/x #full load rotor current\n", + "angle=-math.atan((Xs+Xr_)/(Rs+Rr_/s)) #angle in radian\n", + "Ir_=cmath.rect(Ir_,angle) #full load rotor current in rectangular form\n", + "Im=Vl/math.sqrt(3)/Xm*(-1j) #magnetizing current\n", + "Is=Ir_+Im #full load current\n", + "\n", + "Zf=Rs+Xs*1j+1j*Xm*(Rr_/s+1j*Xr_)/(Rr_/s+1j*(Xr_+Xm))\n", + "Zb=Rs+Xs*1j+1j*Xm*(Rr_/(2-s)+1j*Xr_)/(Rr_/(2-s)+1j*(Xr_+Xm))\n", + "Z=Zf+Zb\n", + "I=(Vl/math.sqrt(3))/abs(Z) #motor current\n", + "Wms=2*math.pi*Ns/60\n", + "\n", + "#torque due to positive sequence\n", + "Tp=(1/Wms)*(3*I**2*Xm**2*Rr_/s)/((Rr_/s)**2+(Xr_+Xm)**2)\n", + "#torque due to negative sequence\n", + "Tn=-(1/Wms)*(3*I**2*Xm**2*Rr_/(2-s))/((Rr_/(2-s))**2+(Xr_+Xm)**2)\n", + "T=Tp+Tn #net torque\n", + "Wm=Wms*(1-s) #rated speed in in rad/sec\n", + "Tl=0.0123*Wm**2 #required torque of the load\n", + "\n", + "#results\n", + "print\"Full load motor current Is:\",round(abs(Is),1),round(math.degrees(cmath.phase(Is))),\"\u00b0\",\"A\"\n", + "print\"Tp:\",round(Tp,2),\"N-m\"\n", + "print\"Tn:\",round(Tn,3),\"N-m\"\n", + "print\"\\nSince I:\",round(I,2),\"A and N:\",N,\"rpm\"\n", + "print\"And I:\",round(I,2),\"A <\",\"Is:\",round(abs(Is),2),\"A, the motor will run safely\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Full load motor current Is: 30.5 -25.0 \u00b0 A\n", + "Tp: 125.61 N-m\n", + "Tn: -3.299 N-m\n", + "\n", + "Since I: 24.26 A and N: 950 rpm\n", + "And I: 24.26 A < Is: 30.54 A, the motor will run safely\n" + ] + } + ], + "prompt_number": 197 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.2,Page No:156" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the Delta connected Induction motor\n", + "f=50 #frequency in HZ\n", + "Vl=2200 #line voltage in V\n", + "P=8 #number of poles\n", + "N=735 #rated speed in rpm\n", + "#parameters referred to the stator\n", + "Xr_=0.55 # rotor winding reactance in ohm\n", + "Xs=0.45 # stator winding reactance in ohm\n", + "Rr_=0.1 # resistance of the rotor windings in ohm\n", + "Rs=0.075 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "s=(Ns-N)/Ns #full load slip\n", + "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2) #total impedance\n", + "Ip=(Vl)/x #full load phase current\n", + "Il=math.sqrt(3)*Ip #full load line current\n", + "Wms=2*math.pi*Ns/60 \n", + "Tl=(1/Wms)*(3*Ip**2*Rr_/s) #full load torque\n", + "\n", + "#(i)if the motor is started by star-delta switching\n", + "y=math.sqrt((Rs+Rr_)**2+(Xs+Xr_)**2)\n", + "Ist=(Vl/math.sqrt(3))/y #Maximum line current during starting\n", + "Tst=(1/Wms)*(3*Ist**2*Rr_) #Starting torque\n", + "ratio1=Tst/Tl #ratio of starting torque to full load torque\n", + "z=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n", + "Tmax=3/(2*Wms)*(Vl/math.sqrt(3))**2/z #maximum torque\n", + "ratio2=Tmax/Tl #ratio of maximum torque to full load torque\n", + "\n", + "#(ii) If the motor is started using auto transformer\n", + "y=math.sqrt((Rs+Rr_)**2+(Xs+Xr_)**2)\n", + "Ist1=Vl*math.sqrt(3)/y #starting current direct online\n", + "aT=math.sqrt(2*Il/Ist1) #transofrmation ratio\n", + "Ilst=2*Il/aT #starting motor line current\n", + "Ipst=Ilst/math.sqrt(3) #starting motor phase current\n", + "Tst1=(1/Wms)*(3*Ipst**2*Rr_) #starting torque\n", + "\n", + "#(iii) If motor is started using part winding method\n", + "Rs_=2*Rs\n", + "Xs_=2*Xs\n", + "y=math.sqrt((Rs_+Rr_)**2+(Xs_+Xr_)**2)\n", + "Ist2=(Vl*math.sqrt(3))/y #starting line current \n", + "Ip=Ist2/math.sqrt(3) #starting phase current\n", + "Tst2=(1/Wms)*(3*Ip**2*Rr_) #starting torque\n", + "\n", + "#(iv) motor is started using series reactors in line\n", + "Rs_=Rs/3 ; Rr_=Rr_/3\n", + "Xs_=Xs/3 ; Xr_=Xr_/3\n", + "Il=2*Il #line current at start\n", + "x=(Vl/math.sqrt(3))**2/(Il**2) #x=(Rs_+Rr_)**2+(Xs_+Xr_+Xe)**2\n", + "y=x-(Rs_+Rr_)**2 #y=(Xs_+Xr_+Xe)**2\n", + "z=math.sqrt(y) #z=(Xs_+Xr_+Xe)\n", + "Xe=z-Xs_-Xr_\n", + "\n", + "\n", + "#results\n", + "print\"(i)Maximum value of line current during starting Ist:\",round(Ist),\"A\"\n", + "print\" Ratio of starting torque to full load torque :\",round(ratio1,3)\n", + "print\" Ratio of maximum torque to full load torque :\",round(ratio2,2)\n", + "print\"\\n(ii)transofrmation ratio aT:\",round(aT,3)\n", + "print\" starting torque :\",round(Tst1),\"N-m\"\n", + "#answer for the starting torque in the book is wrong due to accuracy\n", + "print\"\\n(iii)maixmum line current during starting :\",round(Ist2),\"A\"\n", + "print\" Starting torque :\",round(Tst2),\"N-m\"\n", + "#answer for the starting torque in the book is wrong due to accuracy\n", + "print\"\\n(iv)value of the reactor Xe:\",round(Xe,3),\"ohm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Maximum value of line current during starting Ist: 1251.0 A\n", + " Ratio of starting torque to full load torque : 0.173\n", + " Ratio of maximum torque to full load torque : 0.83\n", + "\n", + "(ii)transofrmation ratio aT: 0.627\n", + " starting torque : 7041.0 N-m\n", + "\n", + "(iii)maixmum line current during starting : 2590.0 A\n", + " Starting torque : 8539.0 N-m\n", + "\n", + "(iv)value of the reactor Xe: 0.527 ohm\n" + ] + } + ], + "prompt_number": 199 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.3,Page No:159" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=400 # line voltage in V\n", + "P=6 # number of poles\n", + "#parameters referred to the stator\n", + "Xr_=2 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=1 # resistance of the rotor windings in ohm\n", + "Rs=Rr_ # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "Wms=2*math.pi*Ns/60 \n", + "\n", + "#(i)\n", + "Sm=-Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2) #slip at maximum torque\n", + "x=math.sqrt((Rs+Rr_/Sm)**2+(Xs+Xr_)**2)\n", + "Ir_=(Vl/math.sqrt(3))/x #current at maximum torque \n", + "Tmax=(1/Wms)*3*Ir_**2*Rr_/Sm #maximum torque\n", + "N=(1-Sm)*Ns #range of speed\n", + "\n", + "#(ii)an overhauling torque of 100Nm\n", + "Tl=100 #overhauling torque in Nm\n", + "# Tl=(3/Wms)*(Vl**2*Rr_/s)/y\n", + "# where y=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n", + "a=(1/Wms)*(Vl**2*Rr_)/(-Tl) #a=s*(Rs+Rr_/s)**2+(Xs+Xr_)**2\n", + "a = 17\n", + "b = 17.3\n", + "c = 1\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "s1 = (-b-cmath.sqrt(d))/(2*a)\n", + "s2 = (-b+cmath.sqrt(d))/(2*a)\n", + "\n", + "N2=(1-s2)*Ns #motor speed and we neglect s1 \n", + "\n", + "#slight difference in the answer due to accuracy\n", + "\n", + "#(iii)when a capacitive reactance of 2 ohm is inserted in each phase stator\n", + "Xc=2 #reactance of the capacitor\n", + "Sm=-Rr_/math.sqrt(Rs**2+(Xs+Xr_-Xc)**2) #slip at maximum torque \n", + "x=math.sqrt((Rs+Rr_/Sm)**2+(Xs+Xr_-Xc)**2)\n", + "Ir_=(Vl/math.sqrt(3))/x #current at maximum torque \n", + "Tmax_=(1/Wms)*3*Ir_**2*Rr_/Sm #maximum overhauling torque with capacitor\n", + "ratio=Tmax_/Tmax\n", + "\n", + "\n", + "#results\n", + "print\"(i)Maximum overhauling torque that the motor can hold is:\",round(abs(Tmax),1),\"N-m\"\n", + "print\" Range of speed is from \",Ns,\"to\",round(N),\"rpm\"\n", + "print\"\\n(ii)Now s*(1+1/s)**2+16s=\",a\n", + "print\" Or 17s**s+17.3s+1=0\"\n", + "print\"The solution for s are \",round(s1.real,3),\"and\",round(s2.real,3)\n", + "print\"\\nTherefore Motor speed is: \",round(abs(N2)),\"rpm\"\n", + "print\"Note :There is a slight difference in the answer due to the decimal place\"\n", + "print\"\\n(iii) Ratio of maximum torque with capacitor and to maximum torque without capacitor is:\",round(ratio,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Maximum overhauling torque that the motor can hold is: 244.6 N-m\n", + " Range of speed is from 1000.0 to 1243.0 rpm\n", + "\n", + "(ii)Now s*(1+1/s)**2+16s= 17\n", + " Or 17s**s+17.3s+1=0\n", + "The solution for s are -0.956 and -0.062\n", + "\n", + "Therefore Motor speed is: 1062.0 rpm\n", + "Note :There is a slight difference in the answer due to the decimal place\n", + "\n", + "(iii) Ratio of maximum torque with capacitor and to maximum torque without capacitor is: 2.53\n" + ] + } + ], + "prompt_number": 202 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.4,Page No:162\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the motor is same as that of Ex-6.3\n", + "f=50 # frequency in HZ\n", + "Vl=400 #line voltage in V\n", + "P=6 # number of poles\n", + "#parameters referred to the stator\n", + "Xr_=2 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=1 # resistance of the rotor windings in ohm\n", + "Rs=Rr_ # resistance of the stator windings in ohm\n", + "N=950 #full load speed in rpm\n", + "SR=2.3 #stator to rotor turns ratio\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "Wms=2*math.pi*Ns/60 \n", + "s=(Ns-N)/Ns #full load slip\n", + "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)\n", + "Irf_=(Vl/math.sqrt(3))/x #full load current\n", + "Tf=(1/Wms)*3*Irf_**2*Rr_/s #full load torque\n", + "\n", + "#(i)initial braking current and torque\n", + "S=2-s #during plugging at 950rpm\n", + "y=math.sqrt((Rs+Rr_/S)**2+(Xs+Xr_)**2)\n", + "Ir_=(Vl/math.sqrt(3))/y #initial braking current\n", + "ratio1=Ir_/Irf_\n", + "T=(1/Wms)*3*Ir_**2*Rr_/S #initial braking torque\n", + "ratio2=T/Tf\n", + "\n", + "#(ii)when an external resistance is connected such \n", + "#that maximum braking current is 1.5 times the full load current\n", + "Ir_=1.5*Irf_\n", + "x=(Vl/math.sqrt(3))/Ir_ #x=math.sqrt((Rs+(Rr_+Re_)/S)**2+(Xs+Xr_)**2)\n", + "y=x**2 #y=(Rs+(Rr_+Re_)/S)**2+(Xs+Xr_)**2\n", + "z=y-(Xs+Xr_)**2 #z=(Rs+(Rr_+Re_)/S)**2\n", + "a=math.sqrt(z) #a=(Rs+(Rr_+Re_)/S)\n", + "b=(a-Rs)*S #b=(Rr_+Re_)\n", + "Re_=b-Rs\n", + "Re=Re_/SR**2\n", + "T=(1/Wms)*3*Ir_**2*(Rr_+Re_)/S #initial braking torque\n", + "ratio=T/Tf\n", + "\n", + "\n", + "#results\n", + "print\"(i)Ratio of initial braking current to full load current is:\",round(ratio1)\n", + "print\" Ratio of initial braking torque to full load torque is:\",round(ratio2,2)\n", + "print\"\\n(ii)Ratio of initial braking torque to full load torque when the resistance is added is:\",round(ratio,3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Ratio of initial braking current to full load current is: 5.0\n", + " Ratio of initial braking torque to full load torque is: 0.64\n", + "\n", + "(ii)Ratio of initial braking torque to full load torque when the resistance is added is: 1.426\n" + ] + } + ], + "prompt_number": 203 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.5,Page No:165" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=440 # line voltage in V\n", + "P=6 # number of poles\n", + "Vp=Vl/math.sqrt(3) #phase voltage\n", + "#parameters referred to the stator\n", + "Xr_=1.2 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=0.4 # resistance of the rotor windings in ohm\n", + "Rs=0.5 # resistance of the stator windings in ohm\n", + "Xm=50 # no load reactance\n", + "N=950 # full load speed\n", + "Sm=2 # slip at maximum torque\n", + "\n", + "#calculation\n", + "Rr_=Sm*math.sqrt(Rs**2+(Xs+Xr_)**2) #Since Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2)\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "Wms=2*math.pi*Ns/60 \n", + "s=(Ns-N)/Ns #slip at 950 rpm\n", + "\n", + "x=1j*Xm*(Rr_/s+1j*Xr_)\n", + "y=Rr_/s+1j*(Xr_+Xm)\n", + "Zp=Rs+1j*Xs+x/y\n", + "Ip=Vp/math.sqrt(3)/Zp #In the book the value of Ip is wrong which leads to other subsequent wrong answers in the book\n", + "Irp_=Ip*(1j*Xm)/(Rr_/s+1j*(Xr_+Xm))\n", + "Tp=(1/Wms)*3*abs(Irp_)**2*Rr_/s\n", + "x=1j*Xm*(Rr_/(2-s)+1j*Xr_)\n", + "y=Rr_/(2-s)+1j*(Xr_+Xm)\n", + "Zn=Rs+1j*Xs+x/y\n", + "In=Vp/math.sqrt(3)/Zn\n", + "Irn_=In*(1j*Xm)/(Rr_/(2-s)+1j*(Xr_+Xm))\n", + "Tn=-(1/Wms)*3*abs(Irn_)**2*Rr_/(2-s) #In the book the value of In is wrong\n", + "\n", + "T=Tp-Tn\n", + "I=abs(Ip)+abs(In)\n", + "Rr_=0.4 # from the parameters of the motor referred to the stator\n", + "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)\n", + "If=(Vl/math.sqrt(3))/x #full load current\n", + "Tf=(1/Wms)*3*If**2*Rr_/s #full load torque\n", + "\n", + "ratio1=I/If\n", + "ratio2=abs(T)/Tf\n", + "\n", + "#results\n", + "print\"Ratio of braking current to full load current is:\",round(ratio1,3)\n", + "print\"Ratio of braking torque to full load torque is:\",round(ratio2,3)\n", + "#answer in the book is wrong\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ratio of braking current to full load current is: 1.448\n", + "Ratio of braking torque to full load torque is: 0.565\n" + ] + } + ], + "prompt_number": 204 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.6,Page No:171" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.cbook as cbook\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor which operates under dynamic braking\n", + "f=50 # frequency in HZ\n", + "P=4 # number of poles\n", + "#parameters referred to the stator\n", + "Xr_=3.01 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=4.575 # resistance of the rotor windings in ohm\n", + "Rs=1.9 # resistance of the stator windings in ohm\n", + "J=0.1 # moment of inertia of the motor load system in kg-m2\n", + "Id=12 # given DC current\n", + "\n", + "N=1500 #given asynchronous speed\n", + "#magnetization chacrateristic at the given asynchronous speed\n", + "Im=[0.13,0.37,0.6,0.9,1.2,1.7,2.24,2.9,3.9,4.9,6,8,9,9.5] #magnetization current\n", + "E=[12.8,32,53.8,80,106,142,173,200,227,246,260,280,288,292] #back emf\n", + "\n", + "#calculation\n", + "torque=[]\n", + "speed=[]\n", + "temp=[]\n", + "Is=math.sqrt(2/3)*Id #value of stator current for two lead connection\n", + "Wms=2*math.pi*N/60\n", + "for i in range (1,14,1):\n", + " x=(Is**2-Im[i]**2)/(1+2*Xr_*Im[i]/E[i]) #x=Ir_**2\n", + " Ir_=math.sqrt(x) #required rotor current\n", + " y=(E[i]/Ir_)**2-Xr_**2\n", + " S=Rr_/math.sqrt(y) #required slip\n", + " N=S*Ns #required speed\n", + " T=(3/Wms)*(Ir_)**2*Rr_/S #required torque\n", + " speed.append(round(N))\n", + " torque.append(round(T,1))\n", + " temp.append(round(T,1))\n", + "print\"Hence the magnetizatioin curve is\"\n", + "print\"Speed :\",speed,\"rpm\"\n", + "for i in range(0,13,1):\n", + " torque[i]=-1*torque[i]\n", + "print\"Braking torque is :\",torque,\"N-m\"\n", + "\n", + "#results\n", + "#plot of of torque vs speed\n", + "plt.figure(1)\n", + "plt.plot(torque,speed)\n", + "plt.xlabel('Torque, N-m') \n", + "plt.ylabel('Speed, rpm')\n", + "plt.title('Torque vs Speed')\n", + "plt.grid(True)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "#plot of Wm vs J/T\n", + "inertia_over_torque=[]\n", + "for i in range(2,13,1):\n", + " J_T=1000*J/temp[i]\n", + " inertia_over_torque.append(round(J_T,4))\n", + "print\"J/t :\",inertia_over_torque \n", + "\n", + "Wm=[1,4,8,12,16,20,25,55,95,125,160] \n", + "#the values of Wm are taken for the angular frequency with maximum value of Wms=50*pi rad/s\n", + "plt.figure(2)\n", + "plt.plot(Wm,inertia_over_torque)\n", + "plt.xlabel(r'Angular speed $\\omega_m$') \n", + "plt.ylabel(' $J/T,1*10^-2$')\n", + "plt.title(r'$J/T vs \\omega_m$')\n", + "plt.grid(True)\n", + "x=[6.5,6.5]\n", + "y=[2,4.5]\n", + "plt.plot(x,y,'blue')\n", + "plt.annotate('A',xy=(8,2), xytext=(8,2.1), arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.annotate('B',xy=(8,4.5), xytext=(8,4.6), arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.annotate('C',xy=(80,3.4), xytext=(80,3.5), arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.annotate('D',xy=(157,8.3), xytext=(157,8.4), arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.annotate('E',xy=(157,2), xytext=(157,2.1), arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.show()\n", + "\n", + "print\"Hence from the plot the area ABCDEA between the curve and the speed axis for speed change \"\n", + "print\"for synchronous to 0.02 times synchrnous speed is the stopping time is which equal to: 9.36 sec\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Hence the magnetizatioin curve is\n", + "Speed : [2975.0, 949.0, 578.0, 421.0, 306.0, 246.0, 207.0, 174.0, 150.0, 128.0, 86.0, 56.0, 34.0] rpm\n", + "Braking torque is : [-2.6, -8.3, -13.5, -18.4, -24.8, -30.0, -34.0, -36.9, -37.5, -35.9, -27.9, -19.5, -12.2] N-m\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nmxqdxn7S3SeEEI3A+vUQHa1XgbKXFCmD6dj/DXrm1jEzSG5X0zH3G2+kNciuPpAiJYQQWsvLg6NH\nYfBgo5M4h4xJCSGExl56Cb77Dt54w+gkN07GpIQQooFrqLP6KkmRMpiO/d+gZ24dM4PkdjWdcmdl\nQWEhVFSkGR3FaaRICSGEptasgZgY8PQ0OonzyJiUEEJoSCkIDYXly2HAAKPT1I+hY1JHjx5l4MCB\nhIaGEhYWxpIlSwA4ffo0Q4YM4Y477mDo0KGcPXvW9pzExESCgoIIDg5m8+bNtv27d++mZ8+eBAUF\n8eSTTzorshBCaOObb6xX4e3f3+gkzuW0IuXt7c3LL7/MgQMH+Oqrr3jttdf49ttvSUpKYsiQIWRl\nZTFo0CCSkpIAyMzMZM2aNWRmZpKamsr06dNtFXbatGksX76c7OxssrOzSU1NdVZsl9Op/7sqHXPr\nmBkkt6vpkjs5GWJjwWTSJ3N9OK1IdezYkfDwcABatGhBjx49KCgoYOPGjcTHxwMQHx/Phg0bAEhJ\nSSEuLg5vb28sFguBgYGkp6dTVFTE+fPniYyMBGDSpEm25wghRGOkVMOf1VfJJRMncnNzycjI4M47\n7+T48eP4+voC4Ovry/HjxwEoLCzEbDbbnmM2mykoKLhmv5+fHwUFBa6I7RJRUVFGR6gXHXPrmBkk\nt6vpkPvrr8HLC348DtAic315OfsNLly4wLhx41i8eDEtW7as9juTyYTJZHLYeyUkJGCxWADw8fEh\nPDzc9h+v8nBYtmVbtmVb9+2XXkqjf38wmdwjj73blfdzc3Oxm3Ki0tJSNXToUPXyyy/b9nXv3l0V\nFRUppZQqLCxU3bt3V0oplZiYqBITE22PGzZsmPrqq69UUVGRCg4Otu1/55131COPPHLNezn5ozjN\n1q1bjY5QLzrm1jGzUpLb1dw9d3m5Un5+Sh04cGWfu2eujT3f207r7lNKMWXKFEJCQnjqqads+6Oj\no1m5ciUAK1euZMyYMbb9ycnJlJaWkpOTQ3Z2NpGRkXTs2JFWrVqRnp6OUorVq1fbniOEEI3N9u3Q\ntq310hyNgdPOk/riiy+455576NWrl61LLzExkcjISGJiYjhy5AgWi4W1a9fi4+MDwIIFC1ixYgVe\nXl4sXryYYcOGAdYp6AkJCRQXFzNixAjbdPZqH0TOkxJCNAK/+Q2YzTBnjtFJbp4939tyMq8QQmii\nrAz8/GDHDujWzeg0N08WmNVA1QFFneiYW8fMILldzZ1zb90KFsu1BcqdM98sKVJCCKGJxnJuVFXS\n3SeEEBooKYHOnWHfPmuXX0Mg3X1CCNFAbN4MYWENp0DZS4qUwXTtS9Yxt46ZQXK7mrvmvl5Xn7tm\ndgQpUkII4eYuXoRNm2DcOKOTuF6dY1Jnzpxh1apV5ObmUlZWZn2SyVTjuUpGkjEpIURDtW4dvPkm\nfPyx0Ukcy57v7TrX7hsxYgQDBgygV69eeHh4oJRy6Hp7Qgghrq8xzuqrVGd3X0lJCX/5y1+YPHky\n8fHxJCQk2C61IW6ern3JOubWMTNIbldzt9znzsGWLTB2bO2PcbfMjlRnkRo/fjx/+9vfKCoq4vTp\n07abEEII50tJgago+HH1uEanzjGpV199leeeew4fHx88PKw1zWQycfjwYZcEtJeMSQkhGqKRI2HC\nBIiLMzqJ4zlk7b6uXbuya9cu2rVr59BwjiZFSgjR0Jw6BQEBkJ8PLVoYncbxHHIyb1BQEM2aNXNY\nKFGdrn3JOubWMTNIbldzp9zvvQfDhtVdoNwps6PVObuvefPmhIeHM3DgQG655RbAPaegCyFEQ5Oc\nDI89ZnQKY9XZ3ff2229bH/jjtPPKKejuNsNPuvuEEA1JUZH1woZFRdC0qdFpnMNh15MqKSnh4MGD\nmEwmgoODadKkicNCOooUKSFEQ7J0KXz9Nfx4IfMGySFjUps2bSIwMJAnnniCxx9/nICAAD788EOH\nhWzsdO1L1jG3jplBcruau+S+kRN43SWzM9Q5JjVjxgy2bt1KYGAgAIcOHWLEiBGMGDHC6eGEEKIx\nysuDrCwYPNjoJMars7vvJz/5Cbt27bJtK6WIjIysts8dSHefEKKheOkl+O47eOMNo5M4l0PGpB59\n9FGOHDlCTEwMAOvWrcPf358hQ4YAcP/99zso7s2RIiWEaCj69oWFC2HgQKOTOJdDxqRKSkrw9fVl\n27ZtbNu2jfbt23Pp0iXef/993n//fYeFbax07UvWMbeOmUFyu5rRubOyoLAQ7rnH/ucYndmZrjsm\nVV5eTs+ePZkxY4ar8gghRKO2Zg3ExICnp9FJ3MMNj0m5K+nuE0LoTikIDYXly2HAAKPTOJ9DxqSe\nfvppLl++TGxsLLfeeqvtZN4+ffo4NOzNkiIlhNDd/v0wahTk5EBjuGyfQ8akMjIyOHDgAH/4wx+Y\nOXMmv/3tb5k5c6bDQjZ2uvYl65hbx8wguV3NyNzJyRAbe+MFSte2tked50k15A8vhBDuQilrkVq/\n3ugk7sWuZZF0IN19Qgid7dplvW7UwYONo6sPHNTdJ4QQwvkql0FqLAXKXk4tUg899BC+vr707NnT\ntm/evHmYzWYiIiKIiIjgo48+sv0uMTGRoKAggoOD2bx5s23/7t276dmzJ0FBQTz55JPOjOxyunan\n6phbx8wguV3NiNwVFdap57Gx9Xu+rm1tjxsuUrt27aKwsNCux06ePJnU1NRq+0wmEzNmzCAjI4OM\njAzuu+8+ADIzM1mzZg2ZmZmkpqYyffp022HgtGnTWL58OdnZ2WRnZ1/zmkIIobPt26FtW+ulOUR1\nN1ykli5dysiRI4m1o+TffffdtG7d+pr9NfVBpqSkEBcXh7e3NxaLhcDAQNLT0ykqKuL8+fNERkYC\nMGnSJDZs2HCjsd1WVFSU0RHqRcfcOmYGye1qRuS+kRXPa6JrW9ujztl9V1u1ahUA586dq/ebLl26\nlFWrVtGvXz8WLVqEj48PhYWF9O/f3/YYs9lMQUEB3t7emM1m234/Pz8KCgrq/d5CCOFOysqsM/p2\n7DA6iXuq9Uhq9+7d7Nmzx/bz6lurVq3q9YbTpk0jJyeHvXv30qlTp0Z/zpWufck65tYxM0huV3N1\n7q1bwWKBbt3q/xq6trU9aj2SmjlzJiaTieLiYnbv3k2vXr0A2LdvH/369WNHPct+hw4dbPenTp3K\nqFGjAOsR0tGjR22/y8/Px2w24+fnR35+frX9fn5+Nb52QkICFosFAB8fH8LDw22HwZX/Ed1tu5K7\n5LF3e+/evW6Vx57tvXv3ulWehr4t7W3fdnIy9OuXRlpaw///sfJ+bm4udlN1GDt2rNq3b59te//+\n/er++++v62k2OTk5KiwszLZdWFhou/+Xv/xFxcXFKaWUOnDggOrdu7cqKSlRhw8fVt26dVMVFRVK\nKaUiIyPVV199pSoqKtR9992nPvroo2vex46PIoQQbuXSJaXatFEqP9/oJMaw53u7zjGpgwcPVptC\nHhYWxrfffmtXAYyLi2Pbtm2cPHmSLl268Pzzz9v+wjKZTHTt2pU3fryqV0hICDExMYSEhODl5cWy\nZcsw/XjCwLJly0hISKC4uJgRI0YwfPhw+6uwEEK4qc2bISwMaukcEtix4sQDDzxAixYtmDBhAkop\n3nnnHS5cuMC7777rqox20XXFibS0NNshsU50zK1jZpDcrubK3A8+CD/7GUybdnOvo2tbO2TFibfe\neouQkBAWL17MkiVLCAkJ4a233nJYSCGEaIwuXoRNm2DcOKOTuDe71u67ePEiR44cITg42BWZ6kXX\nIykhROO0bh28+SZ8/LHRSYzjkCOpjRs3EhERYRsHysjIIDo62jEJhRCikbrZE3gbizqL1Lx580hP\nT7etHBEREcHhw4edHqyxqDo1Uyc65tYxM0huV3NF7nPnYMsWGDvWMa+na1vbo84i5e3tjY+PT/Un\necji6UIIUV8pKRAVBVd9tYoa1Dkm9dBDDzFo0CCSkpJ47733WLJkCZcvX+b11193VUa7yJiUEEIX\nI0darx0VF2d0EmPZ871dZ5H64YcfmD9/vu3SGcOGDWPu3Lk0bdrUcUkdQIqUEEIHp05BQADk50OL\nFkanMZZDJk7ceuutLFiwgG3btvH1118zf/58tytQOtO1L1nH3DpmBsntas7O/d57MGyYYwuUrm1t\njzqL1JdffklISIht+vl//vMfpk+f7vRgQgjREMmsvhtTZ3dfZGQk69evZ/To0WRkZAAQGhrKgQMH\nXBLQXtLdJ4Rwd0VF1gsbFhWBdEg5qLsPwN/fv9q2l9cNX4ZKCCEavfXrITpaCtSNqLNI+fv7s337\ndgBKS0tZuHAhPXr0cHqwxkLXvmQdc+uYGSS3qzkzt7O6+nRta3vUWaT++te/8tprr1FQUICfnx8Z\nGRm89tprrsgmhBANRl4eZGXB4MFGJ9GLXWv36UDGpIQQ7uyll+C77+DHqxMJHDQmdejQIUaNGkW7\ndu1o3749o0ePlmWRhBDiBsmsvvqps0iNHz+emJgYioqKKCws5Fe/+hVxjf00aQfStS9Zx9w6ZgbJ\n7WrOyJ2VBYWFcM89Dn9pQN+2tkedRaq4uJiJEyfi7e2Nt7c3EyZM4NKlS67IJoQQDcKaNRATA56e\nRifRT51jUrNmzcLHx8d29LRmzRrOnDnDs88+C0CbNm2cn9IOMiYlhHBHSkFoKCxfDgMGGJ3GvThk\n7T6LxYLJZKr1DdxlfEqKlBDCHe3fD6NGQU4O1PJV2mg5ZOJEbm4uOTk5Nd7cpUDpTNe+ZB1z65gZ\nJLerOTp3cjLExjq3QOna1vaotUjt3LmToqIi2/bKlSuJjo7miSee4PTp0y4JJ4QQOlNKZvXdrFq7\n+yIiIvj0009p06YNn3/+ObGxsbz66qtkZGRw8OBB1q9f7+qs1yXdfUIId7Nrl/W6UQcPSldfTez5\n3q51Eb6D9V65AAAY+ElEQVSKigrbpIg1a9bwyCOPMG7cOMaNG0fv3r0dm1QIIRqgyqMoKVD1V2t3\nX3l5OZcvXwZgy5YtDBw40Pa7srIy5ydrJHTtS9Yxt46ZQXK7mqNyV1RYp57Hxjrk5a5L17a2R61H\nUnFxcdx77720a9eO5s2bc/fddwOQnZ2Nj4+PywIKIYSOtm+Htm2tl+YQ9XfdKeg7duzg2LFjDB06\nlFtvvRWArKwsLly4QJ8+fVwW0h4yJiWEcCe/+Q2YzTBnjtFJ3JdDzpPShRQpIYS7KCsDPz/YsQO6\ndTM6jfty2EUPhfPo2pesY24dM4PkdjVH5N66FSwW1xUoXdvaHlKkhBDCweTcKMdxanffQw89xKZN\nm+jQoQP79+8H4PTp08TGxpKXl4fFYmHt2rW2iRiJiYmsWLECT09PlixZwtChQwHYvXs3CQkJXLp0\niREjRrB48eJrP4h09wkh3EBJCXTuDPv2Wbv8RO0M7+6bPHkyqamp1fYlJSUxZMgQsrKyGDRoEElJ\nSQBkZmayZs0aMjMzSU1NZfr06bbw06ZNY/ny5WRnZ5OdnX3NawohhLvYvBnCwqRAOYpTi9Tdd99N\n69atq+3buHEj8fHxAMTHx7NhwwYAUlJSiIuLw9vbG4vFQmBgIOnp6RQVFXH+/HkiIyMBmDRpku05\nDYGufck65tYxM0huV7vZ3EZ09ena1vZw+ZjU8ePH8fX1BcDX15fjx48DUFhYiNlstj3ObDZTUFBw\nzX4/Pz8KCgpcG1oIIexw8SJs2gTjxhmdpOGo9WReVzCZTLVeBqQ+EhISsFgsAPj4+BAeHk5UVBRw\n5S8N2XbMduU+d8lj73bV7O6Qx57tqKgot8pzI9uV3CWPs9v7xIko7rwTMjPTyMyU/x9r+veQlpZG\nbm4u9nL6eVK5ubmMGjXKNnEiODiYtLQ0OnbsSFFREQMHDuTgwYO2sanZs2cDMHz4cJ5//nluv/12\nBg4cyLfffgvAu+++y7Zt23j99derfxCZOCGEMNi4cfCLX8DkyUYn0YPhEydqEh0dzcqVKwHr5T/G\njBlj25+cnExpaSk5OTlkZ2cTGRlJx44dadWqFenp6SilWL16te05DcHVf3HqQsfcOmYGye1q9c19\n7hxs2QJjxzo2jz10bWt7OLW7Ly4ujm3btnHy5Em6dOnCCy+8wOzZs4mJiWH58uW2KegAISEhxMTE\nEBISgpeXF8uWLbN1BS5btoyEhASKi4sZMWIEw4cPd2ZsIYS4ISUl8PzzEBUFsrSpY8mySEIIUU9K\nwQcfwNNPQ2goLF0K/v5Gp9LHTV1PSgghRO0OHrQWp5wceO01GDbM6EQNkyyLZDBd+5J1zK1jZpDc\nrlZX7u+/h9/+Fu6+G4YMsa4sYXSB0rWt7SFFSggh7FBRAStWQHAwnD0L33wDM2ZAkyZGJ2vYZExK\nCCHq8NVX8MQT4OUFS5ZAv35GJ2oY3HIKuhBC6KKoCOLjrec/Pf44fPGFFChXkyJlMF37knXMrWNm\nkNyulpaWRkkJ/PnP0LMndOpknSQxcSJ4uOk3pq5tbQ+Z3SeEEFXs2AEPP2wde9qxA4KCjE7UuMmY\nlBBCAP/9r3VK+aFD8MorcN99Ridq+GRMSggh6nDuHDzzDNx1FwwaBPv3S4FyJ1KkDKZrX7KOuXXM\nDJLbWSoq4O23rd16p05Zp5TPnAlffplmbLB6cPe2vhkyJiWEaHR27rTO1jOZYMMG+PGaqsINyZiU\nEKLROHYM5syBjz+GpCSYMMF9Z+w1BjImJYQQQGkpLFwIYWHQoYN1SvmkSVKgdCD/iQyma1+yjrl1\nzAyS+2Z9+KH1fKe0NPjyS/jTn6BVq9of7y65b4SOme0lY1JCiAYpO9s6pTwrC15+GUaONDqRqA8Z\nkxJCNCjnz8OLL8Ly5TBrFjz5pCwC665kTEoI0WhUVMCqVdYp5cePW893euYZKVC6kyJlMF37knXM\nrWNmkNz22LULfvpTePVVeO896/lPnTrV77V0bG8dM9tLipQQQlvHj8NDD0F0NDz6qPWSGnfeaXQq\n4UgyJiWE0E5pKSxdComJMHkyzJ17/Rl7wj3Z870ts/uEEFpJTYWnnoKuXWH7duje3ehEwpmku89g\nuvYl65hbx8wguSt99521W+/xx60n5n74oXMKlI7trWNme0mREkK4tfPnYfZs6N8ffvYz60Kwv/iF\ndd090fDJmJQQwi0pBf/8p/Vcp0GDrGvtde5sdCrhSDImJYTQ0tdfwxNPwOXLsH49DBhgdCJhFOnu\nM5iufck65tYxMzSu3P/7H0ydCqNGWX+mp7u+QOnY3jpmtpccSQkhDFNRYV0Z4tNPrbft22HKFOsq\n5bfdZnQ64Q5kTEoI4VKHD8OWLdaitHWrtRgNGmS9DRwI7doZnVC4ij3f24YVKYvFQqtWrfD09MTb\n25udO3dy+vRpYmNjycvLw2KxsHbtWnx8fABITExkxYoVeHp6smTJEoYOHVr9g0iREsItHT8On312\n5Wjp0iX4+c9h8GDrz9tvNzqhMIpbLzBrMplIS0sjIyODnTt3ApCUlMSQIUPIyspi0KBBJCUlAZCZ\nmcmaNWvIzMwkNTWV6dOnU1FRYVR0h9K1L1nH3DpmBv1ynzsH778Pv/xlGj17Ws9lSk6GXr3ggw+g\nsNA6a2/yZPcsULq1N+iZ2V6GjkldXUE3btzItm3bAIiPjycqKoqkpCRSUlKIi4vD29sbi8VCYGAg\nO3fupH///kbEFkJUUVICO3ZcOVLat8+6fl7XrvDmm9C3L3jJ6LeoJ8O6+7p168Ztt92Gp6cnjzzy\nCA8//DCtW7fmzJkzgLWAtWnThjNnzvD444/Tv39/HnzwQQCmTp3Kfffdx7hx4658EOnuE8Ilyssh\nI+NKUdqxA3r0uDKudNdd0KyZ0SmFDtz6PKnt27fTqVMnTpw4wZAhQwgODq72e5PJhOk6p5TX9LuE\nhAQsFgsAPj4+hIeHExUVBVw5HJZt2ZbtG9tWClavTmPPHjh6NIq0NGjRIo0+fWD69CjWroW9e90n\nr2y773bl/dzcXOym3MC8efPUwoULVffu3VVRUZFSSqnCwkLVvXt3pZRSiYmJKjEx0fb4YcOGqa++\n+qraa7jJR7lhW7duNTpCveiYW8fMShmTOz9fqZUrlZo0SSk/P6XMZqXi45VatUqpggL7XkPa23V0\nzKyUfd/bhkycuHjxIufPnwfghx9+YPPmzfTs2ZPo6GhWrlwJwMqVKxkzZgwA0dHRJCcnU1paSk5O\nDtnZ2URGRhoRXYgG6cwZ+Ne/4LHHrF13vXrBxo3W9fI++wyOHLFeSHDiRFmaSLiWIWNSOTk5jB07\nFoCysjIefPBB5syZw+nTp4mJieHIkSPXTEFfsGABK1aswMvLi8WLFzNs2LDqH0TGpISwW3Gx9cTZ\nTz+1nrN08KD1yraDB1vHlcLDwUPWoxFO5tbnSTmaFCkhaldWZl0Pr3Kyw65d1qOlyskO/fvDLbcY\nnVI0Nm59npSwqjqgqBMdc+uYGeqX++JF2LsXliyB0aOtqzj8+tdw6hTMnGk9V2n7dnjhBbj3XucU\nqMbU3kbTMbO95OwFITRVWgo5OZCdDVlZ1lvl/ZMnoVs3axdeXBz8/e/QoYPRiYW4cdLdJ4Qbq6iA\no0erF6DK+0ePgtkMd9wBQUHWn5X3u3QBT0+j0wtxfTImJYQGlLKub1fTEdHhw9CmTfUCVHm/a1do\n0sTo9ELUnxQpDaSlpdlOeNOJjrmNznz2bM1HRFlZ1jGhq4+G7rgDAgNh1y792hqMb+/60jG3jpnB\nzVecEKIhungRvvuu5mJUXFy9AI0cab0fFGQ9WhJCXEuOpIS4QZcvWycsXH00VHXCwtVHREFB0LEj\nXGelLyEaHenuE6Ke7JmwUFP3nExYEMJ+UqQ0oGtfso65r86sFPzvfzUfEVWdsHB1MerWzbUTFnRs\na5DcrqRjZpAxKdGIKQXffw9FRXDsmPX2xRfw0UfWdegqC1KTJtULUFzclQkLt95q9KcQQsiRlNBK\nScmVonP1rWpBOnbMOmOuY0fo1Mn6s/Lm53elKMmEBSGMI919QgsVFdbleuoqOseOwYUL4Ot7beG5\nuhj5+kLz5kZ/MiHE9UiR0oCufcn25P7hB/sKz//+By1b1l14OnaE1q3rvzp3Q25rdyS5XUfHzCBj\nUsIJSkut06wrz/upqehUFqOyspoLz513Vt/u0EFW4BZC1EyOpBqxyskFJ0/CiRM1/7x638WL0LZt\n3Uc8HTtCq1ZyXpAQonbS3dfIlJTUXFhq23fqFDRrZr2MQ/v21p9V71/9s1078PGRwiOEcAwpUhq4\nXl/yhQtXxmyuV2wqf166dG2huV7Radu2/t1sOvaB65gZJLer6Zhbx8wgY1JuqaTEuuL1sWPWn9u2\nwb//XX08p/L3FRXWbrT27a/c2rWzzlwLDb22EEn3mhCioZEjKQcoL7cezVQWl6tvVfdfuGCdKHD1\n+E3ltOmq2y1aSNERQjRc0t3nBP/7H/zrX7Bpk3XlgmPHrGM7rVvXXmwcNYVaCCEaEilSDlJYaC1M\n69dDRgbcdx+MGXNlZev27cHbu36vrWtfso65dcwMktvVdMytY2aQMSmH2LwZhg+3Ttdu0wYmTLAW\nJ29vazefh4esei2EEM4iR1J1UAry8qyXZ8jPt/68+vb999C5s/UyDZU3s9n687bbrAuVXn1r2lTG\nm4QQjZt097nIpUtQUFC9cOXnW2/ff29dHujq2+XL1rXlaipgN3tr3lzGvYQQ7k+KlBsrK7Ou3vDJ\nJ2n07h1VYyGr76242Hqk5owCeOut4OWlZx+4jplBcruajrl1zAwyJuXWvLys5zW1bWu9dpEjVVRY\nC9WNFLbTp+1/rJeX9TpMPj6OKXrNmllPKm7a1PrzllvkSFAIYSVHUuKGKGU9IdnRR34lJdZu05IS\n683b+0rRcvXPqvdlUowQziPdfUJLSllXW68sWvb+vJHH2vvT09OYQnn1Ty/p8xANkBQpDejal6xj\n7hvNrJR1gsvNFDlHFMri4jQ8PKKuOcpr0sR6q3r/6m1n36/crql7Vsd/I6Bnbh0zQwMbk0pNTeWp\np56ivLycqVOnMmvWLKMjOcTevXu1/MelY+4bzWwyXfkibtnSebnq8sore3nssahqxau01HorKanf\n/QsXqu+/mdeqPOK8uoAVF++lQ4eomyp+dd1v0QIGDHBsezeGf9s60aJIlZeX89hjj7Flyxb8/Pz4\nyU9+QnR0ND169DA62k07e/as0RHqRcfcOmYGa24vL+sXcosWRqe5llLW2apXF6+FC8/yyCP1L4Q/\n/FD3Y1q0gA0bHPt5dPx3omNme2lRpHbu3ElgYCAWiwWABx54gJSUlAZRpITQnclkneji7W2drVmp\nTRvrav1C3AwtJvoWFBTQpUsX27bZbKagoMDARI6Tm5trdIR60TG3jplBcruajrl1zGw3pYH169er\nqVOn2rZXr16tHnvssWqPCQgIUIDc5CY3uclNk1tAQECd3/9adPf5+flx9OhR2/bRo0cxm83VHvPd\nd9+5OpYQQggn06K7r1+/fmRnZ5Obm0tpaSlr1qwhOjra6FhCCCGcTIsjKS8vL1599VWGDRtGeXk5\nU6ZMkUkTQgjRCDSYk3mFEEI0PFp099lj0aJFeHh4cPr0adu+xMREgoKCCA4OZvPmzQamq27u3Ln0\n7t2b8PBwBg0aZBtvy83NpVmzZkRERBAREcH06dMNTlpdbbnBfdsa4JlnnqFHjx707t2b+++/n++/\n/x5w7/auLTO4d1uvW7eO0NBQPD092bNnj22/O7c11J4b3Lu9q5o3bx5ms9nWxqmpqUZHqlVqairB\nwcEEBQXxpz/96foPdvBEPEMcOXJEDRs2TFksFnXq1CmllFIHDhxQvXv3VqWlpSonJ0cFBASo8vJy\ng5NanTt3znZ/yZIlasqUKUoppXJyclRYWJhRsepUW253bmullNq8ebMtz6xZs9SsWbOUUu7d3rVl\ndve2/vbbb9V///tfFRUVpXbv3m3b785trVTtud29vauaN2+eWrRokdEx6lRWVqYCAgJUTk6OKi0t\nVb1791aZmZm1Pr5BHEnNmDGDP//5z9X2paSkEBcXh7e3NxaLhcDAQHbu3GlQwupaVllj58KFC7Rr\n187ANParLbc7tzXAkCFD8Phxcbk777yT/Px8gxPVrbbM7t7WwcHB3HHHHUbHuGG15Xb39r6a0mD0\npuriDN7e3rbFGWqjfZFKSUnBbDbTq1evavsLCwurTVN3txOAn3vuOfz9/Vm5ciWzZ8+27c/JySEi\nIoKoqCi++OILAxPWrDL322+/zZw5cwD3b+uqVqxYwYgRI2zb7t7eUD2zTm19NR3a+mq6tffSpUvp\n3bs3U6ZMcdulkm50cQYtZvcNGTKEY8eOXbN//vz5JCYmVusnvt5fEiaTySn5alJb5gULFjBq1Cjm\nz5/P/PnzSUpK4umnn+att96ic+fOHD16lNatW7Nnzx7GjBnDgQMHqh3BuFPup556irfeeqvG13Fl\nW0PducH676VJkyaMHz8ewPD2rk/mmrhjW1/N6LaG+uWuiavbu6rrfRdOmzaNP/zhD4B1/HjmzJks\nX77c1RHrdKPtp0WR+uSTT2rc/80335CTk0Pv3r0ByM/Pp2/fvqSnp19zAnB+fj5+fn4uyQu1Z77a\n+PHjbX8lN2nShCZNmgDQp08fAgICyM7Opk+fPk7LebX65Da6raHu3G+//TYffvghn376qW2f0e1d\nn8w6tHVNjG5rqF9ud2jvquz9DFOnTr2hwutK9izOUI3LRstcoKaJEyUlJerw4cOqW7duqqKiwuCE\nVllZWbb7S5YsURMmTFBKKXXixAlVVlamlFLq0KFDys/PT505c8aQjDWpLbc7t7VSSn300UcqJCRE\nnThxotp+d27v2jK7e1tXioqKUl9//bVt253buqqrc+vS3kopVVhYaLv/l7/8RcXFxRmYpnaXL19W\n3bp1Uzk5OaqkpKTOiRMNqkh17drVVqSUUmr+/PkqICBAde/eXaWmphqYrLpx48apsLAw1bt3b3X/\n/fer48ePK6WU+r//+z8VGhqqwsPDVZ8+fdQHH3xgcNLqasutlPu2tVJKBQYGKn9/fxUeHq7Cw8PV\ntGnTlFLWNSHdtb1ry6yUe7f1e++9p8xms2ratKny9fVVw4cPV0q5d1srVXtupdy7vauaOHGi6tmz\np+rVq5caPXq0OnbsmNGRavXhhx+qO+64QwUEBKgFCxZc97FyMq8QQgi3pf3sPiGEEA2XFCkhhBBu\nS4qUEEIItyVFSgghhNuSIiWEEMJtSZESQgjhtqRICWGnU6dO2S6D0KlTJ9tlEfr06UNZWZnR8UhI\nSMBsNlNaWgrAyZMn6dq1q8GphLg5WiyLJIQ7aNu2LRkZGQA8//zztGzZkhkzZtT5vIqKCtuK5s7m\n5eXFihUrePTRR13yfkI4mxxJCVFPSik+/fRTIiIi6NWrF1OmTLEdxVgsFmbPnk3fvn1Zt24dqamp\n9OjRg759+/LEE0/Y1lWbN28eixYtsr1mWFgYR44cAeAf//gHd955JxERETz66KNUVFRcN4/JZOLJ\nJ5/k5ZdfrvOxCQkJTJ8+nQEDBhAQEEBaWhrx8fGEhIQwefLkm2kWIRxKipQQ9XTp0iUmT57MunXr\n2LdvH2VlZfz1r38FrAWjXbt27N69m9GjR/PrX/+aDz74gN27d3P8+HHbStBXrwhduf3tt9+ydu1a\nvvzySzIyMvDw8OCf//xnnZn8/f352c9+xqpVq6672rTJZOLs2bPs2LGDl19+mejoaJ599lkOHDjA\n/v37+c9//lPfZhHCoaRICVFP5eXldOvWjcDAQADi4+P5/PPPbb+PjY0F4ODBg3Tt2pWAgAAAJkyY\ncN1LylQeoe3evZt+/foRERHBZ599Rk5OTp2ZTCYTc+bM4aWXXqrzaKryaC4sLIyOHTsSGhqKyWQi\nNDSU3NzcOt9LCFeQMSkhbkLVYqOUqnb0cuutt9b5HC8vr2rF5NKlS7b78fHxLFiw4IYzBQYGEh4e\nzpo1a2z7nnvuOT788ENMJhN79uwBsF06w8PDg1tuucX2WA8PD7eYCCIEyJGUEPXm6elJbm4uhw4d\nAmD16tXce++91zwuODiY3NxcDh8+DMC7775rK2YWi8VWNPbs2UNOTg4mk4lBgwaxfv16Tpw4AcDp\n06dtY1WTJk1i165dNWaqLIDPPfccCxcutO2fP38+GRkZtvcSQhdSpISop2bNmvHWW2/xq1/9il69\neuHl5WWbVVf1iKpp06b87W9/Y+TIkfTt2xdfX19bMRk3bhynT58mLCyM1157je7duwPQo0cPXnzx\nRYYOHUrv3r0ZOnSo7Yqs+/fvr/XCe5XvGxISQt++fescl6rpfk3bQhhFLtUhhItt27aNhQsX8v77\n79/wc8+dO8fDDz9crStPiIZMjqSEMEB9j1RatWolBUo0KnIkJYQQwm3JkZQQQgi3JUVKCCGE25Ii\nJYQQwm1JkRJCCOG2pEgJIYRwW/8PzQ558z2jz0kAAAAASUVORK5CYII=\n", + "text": [ + "<matplotlib.figure.Figure at 0x7ffe2bee9150>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "J/t : [7.4074, 5.4348, 4.0323, 3.3333, 2.9412, 2.71, 2.6667, 2.7855, 3.5842, 5.1282, 8.1967]\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\ntwyXs3z58owcOZIaNWrg6emJu7s77dq1M1xOi9xyxcbGUq1aNevzjPT/av78+TzzzDOA8XL+/PPP\nVKtWLcudycB4OU+ePMmWLVt48sknCQkJISoqCihYTkMVBMsZR0aWmJhIz549mT59OmXKlMnymJOT\nk65/hl9++YVKlSoRHByc64yHemcE9bL7vXv38sYbb7B3715KlSrF559/nuU5Rsh5+vRppk2bRkxM\nDLGxsSQmJrJw4cIszzFCzpw8LJcRMn/22WcUL16cfv365focvXImJSUxfvx4Pv74Y+u63P5Pgb7v\nZ3p6On///Tc7d+5k0qRJPP/887k+92E5DVUQqlatyvnz563L58+fz1Lh9JaWlkbPnj156aWXeO65\n5wD1m9ilS5cAuHjxIpUqVdIt3/bt21m5ciVeXl688MILbNy4kZdeeslQGUH9plKtWjUaN24MQK9e\nvdi7dy+VK1c2VM6oqCiaNWtGhQoVKFasGD169GDHjh2Gy2mR299z9v9XFy5coGrVqrpktFiwYAGr\nV6/m+++/t64zUs7Tp08TExNDYGAgXl5eXLhwgSeeeILLly8bKieo/5969OgBQOPGjXF2dubatWsF\nymmogtCoUSNOnjxJTEwMqampLFmyhK5du+odC1C/Hbz88sv4+vpmubK6a9eufPPNNwB888031kKh\nh/Hjx3P+/Hmio6NZvHgxbdq04bvvvjNURlAnN6xevTonTpwAYP369fj5+dGlSxdD5fTx8WHnzp0k\nJyejKArr16/H19fXcDktcvt77tq1K4sXLyY1NZXo6GhOnjxJkyZNdMu5du1aJk2axM8//4ybm5t1\nvZFyBgQEcPnyZaKjo4mOjqZatWrs3bsXDw8PQ+UEeO6556yTeZ44cYLU1FQee+yxguXUps2hndWr\nVyt169ZVvL29lfHjx+sdx2rr1q2Kk5OTEhgYqAQFBSlBQUHKmjVrlOvXryuhoaFKnTp1lHbt2il/\n//233lEVRVGUiIgI61lGRsy4f/9+pVGjRkqDBg2U7t27K/Hx8YbMOXHiRMXX11fx9/dXwsLClNTU\nVEPk7Nu3r1KlShXF1dVVqVatmjJ//vwH5vrss88Ub29vpV69esratWt1yzlv3jyldu3aSo0aNaz/\nj4YMGWKYnMWLF7e+n/fy8vKyNpWNljM1NVV58cUXFX9/f6Vhw4bKpk2bCpxTLkwTQggBGGzISAgh\n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\n", + "text": [ + "<matplotlib.figure.Figure at 0x7ffe2beb9490>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Hence from the plot the area ABCDEA between the curve and the speed axis for speed change \n", + "for synchronous to 0.02 times synchrnous speed is the stopping time is which equal to: 9.36 sec\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.7,Page No:176" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=2200 # line voltage in V\n", + "P=6 # number of poles\n", + "#parameters referred to the stator\n", + "Xr_=0.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=0.12 # resistance of the rotor windings in ohm\n", + "Rs=0.075 # resistance of the stator windings in ohm\n", + "J=100 # combine inertia of motor and load in kg-m2\n", + "\n", + "#calculation\n", + "#(i) during starting of the motor\n", + "Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2) #slip at maximum torque\n", + "Wms=4*math.pi*f/P #angular frequency\n", + "x=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n", + "Tmax=(3/2/Wms)*(Vl/math.sqrt(3))**2/x #maximum torque\n", + "tm=J*Wms/Tmax #mechanical time constant of the motor\n", + "ts=tm*(1/4/Sm+1.5*Sm) #time taken during starting\n", + "Es=1/2*J*Wms**2*(1+Rs/Rr_) #energy disspated during starting\n", + "\n", + "#(ii) when the motor is stopped by plugging method\n", + "tb=tm*(0.345*Sm+0.75/Sm) #time required to stop by plugging\n", + "Eb=3/2*J*Wms**2*(1+Rs/Rr_) #energy disspated during braking \n", + "\n", + "#(iii)required resistance to be inserted during plugging\n", + "tb1=1.027*tm #minimum value of stopping time during braking\n", + "x=1.47*(Xs+Xr_) #x=Rr_+Re\n", + "Re=x-Rr_ #Re is the required external resistance to be connected\n", + "Ee=3/2*J*Wms**2*(Re/(Re+Rr_)) #energy disspated in the external resistor\n", + "Eb1=Eb-Ee #total energy disspated during braking \n", + "\n", + "\n", + "#results\n", + "print\"(i)Time taken during starting is ts:\",round(ts,4),\"s\"\n", + "print\" Energy disspated during starting is Es:\",round(Es/1000),\"kilo-watt-sec\"\n", + "print\"\\n(ii)Time taken to stop by plugging is tb:\",round(tb,2),\"s\"\n", + "print\" Energy disspated during braking is Eb:\",round(Eb/1000),\"kilo-watt-sec\"\n", + "print\"\\n(iii)Minimum Time taken to stop by plugging is tb:\",round(tb1,2),\"s\"\n", + "print\" Required external resistance to be connected is Re:\",round(Re,2),\"ohm\"\n", + "print\" Total Energy dissipated during braking is Eb:\",round(Eb1/1000,2),\"kilo-watt-sec\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Time taken during starting is ts: 1.108 s\n", + " Energy disspated during starting is Es: 891.0 kilo-watt-sec\n", + "\n", + "(ii)Time taken to stop by plugging is tb: 3.08 s\n", + " Energy disspated during braking is Eb: 2673.0 kilo-watt-sec\n", + "\n", + "(iii)Minimum Time taken to stop by plugging is tb: 0.5 s\n", + " Required external resistance to be connected is Re: 1.35 ohm\n", + " Total Energy dissipated during braking is Eb: 1162.36 kilo-watt-sec\n" + ] + } + ], + "prompt_number": 206 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.8,Page No:184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "from sympy import Symbol\n", + "from array import array\n", + "import numpy as np\n", + "\n", + "#variable declaration\n", + "#ratings of the delta connected Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=400 # line voltage in V\n", + "P=4 # number of poles\n", + "Pm=2.8*1000 # rated mechanical power developed\n", + "N=1370 # rated speed in rpm\n", + "#parameters referred to the stator\n", + "Xr_=5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=5 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "Xm=80 # no load reactance\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "Wms=2*math.pi*Ns/60 #synchronous speed in rad/s\n", + "s=(Ns-N)/Ns #full load slip\n", + "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2 #total impedance\n", + "T=(3/Wms)*(Vl**2*Rr_/s)/x #full load torque\n", + "Tl=T\n", + "K=Tl/(1-s)**2 #since Tl=K*(1-s)**2\n", + "\n", + "#(i) when the motor is running at 1200 rpm\n", + "N1=1200 #speed in rpm\n", + "s1=(Ns-N1)/Ns #slip at the given speed N1\n", + "Tl=K*(1-s1)**2 #torque at the given speed N1\n", + "\n", + "y=(Rs+Rr_/s1)**2+(Xs+Xr_)**2 #total impedance\n", + "a=Tl*(Wms/3)*y*(s1/Rr_) #Since T=(3/Wms)*(Vl**2*Rr_/s)/x and a=V**2\n", + "V=math.sqrt(a) #required voltage at the given speed N1\n", + "Ir_=V/((Rs+Rr_/s1)+1j*(Xs+Xr_))#rotor current\n", + "Im=V/(1j*Xm) #magnetizing current\n", + "Is=Ir_+Im #total current\n", + "Il=abs(Is)*math.sqrt(3) #line current\n", + "\n", + "#(ii)when the terminal voltage is 300 V\n", + "V1=300 #terminal voltage in V\n", + "s = Symbol('s')\n", + "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2 \n", + "T=(3/Wms)*(V1**2*Rr_/s)/x\n", + "\n", + "#Now we have to solve for the value of slip 's' from the given equation 104s**4- 188s**3 + 89s**2 - 179s + 25=0\"\n", + "coeff = [104,-188,89,-179,25] #coeffcient of the polynomial equation \n", + "s=np.roots(coeff) #roots of the polynomial equation\n", + "\n", + "T=K*(1-s[3].real)**2 #torque at the given terminal voltage of 300 V\n", + "N=Ns*(1-s[3].real) #speed at the given terminal voltage of 300 V\n", + "Ir_=V1/((Rs+Rr_/s[3].real)+1j*(Xs+Xr_))#rotor current\n", + "Im=V1/(1j*Xm) #magnetizing current\n", + "Is=Ir_+Im #total current\n", + "Il1=abs(Is)*math.sqrt(3) #line current\n", + "\n", + "\n", + "#results\n", + "print\"(i)Required torque is Tl:\",round(Tl,1),\"N-m\"\n", + "print\" Required motor terminal voltage is V:\",round(V,1),\"V\"\n", + "print\" Required line current is Il:\",round(Il,2),\"A\"\n", + "print\"\\n(ii)The roots of the polynomial equation are \"\n", + "print\" s1:\",round(s[0].real,3),\"s2:\",round(s[1].real,3),\"s3:\",round(s[2].real,3),\"s4:\",round(s[3].real,3)\n", + "print\" Hence Only s4:\",round(s[3].real,3),\"is valid\"\n", + "print\"\\nRequired torque is Tl:\",round(T,2),\"N-m\"\n", + "print\"Required speed is N:\",round(N),\"rpm\"\n", + "print\"Required line current is Il:\",round(Il1,2),\"A\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Required torque is Tl: 36.9 N-m\n", + " Required motor terminal voltage is V: 253.2 V\n", + " Required line current is Il: 17.89 A\n", + "\n", + "(ii)The roots of the polynomial equation are \n", + " s1: 1.818 s2: -0.079 s3: -0.079 s4: 0.147\n", + " Hence Only s4: 0.147 is valid\n", + "\n", + "Required torque is Tl: 41.94 N-m\n", + "Required speed is N: 1279.0 rpm\n", + "Required line current is Il: 16.88 A\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.9,Page No:199" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected squirrel Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=400 # line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 # rated speed\n", + "\n", + "#the frequency variation is from 10 Hz to 50 Hz\n", + "fmin=10 \n", + "fmax=50\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed\n", + "N1=Ns-N #increase in speed from no load to full torque rpm\n", + "Wms=2*math.pi*Ns/60\n", + "s=(Ns-N)/Ns #full load slip\n", + "#(i)to obtain the plot between the breakdown torque and the frequency\n", + "K=0.1\n", + "k=[]\n", + "frequency=[]\n", + "torque=[]\n", + "for i in range (0,9):\n", + " K=K+0.1\n", + " f1=K*f\n", + " x=Rs/K+math.sqrt((Rs/K)**2+(Xs+Xr_)**2)\n", + " Tmax=(3/2/Wms)*(Vl/math.sqrt(3))**2/x\n", + " k.append(round(K,1))\n", + " frequency.append(round(f1))\n", + " torque.append(round(Tmax,2))\n", + "print\"K :\",k\n", + "print\"f :\",frequency,\"Hz\"\n", + "print\"Tmax :\",torque,\"N-m\"\n", + "\n", + "#plotting the values of Tmax vs f \n", + "plt.figure(1)\n", + "plt.plot(frequency,torque,'y')\n", + "plt.xlabel('$f$,Hz')\n", + "plt.ylabel('$Tmax$,N-m')\n", + "plt.grid(True)\n", + "plt.title('Torque vs frequency characteristic')\n", + "plt.show()\n", + "\n", + "#(ii) to obtain the starting torque and current at rated frequency and voltage\n", + "x=(Rs+Rr_)**2+(Xs+Xr_)**2\n", + "Tst=(3/Wms)*(Vl/math.sqrt(3))**2*Rr_/x #starting torque at 50 Hz frequency\n", + "Ist=(Vl/math.sqrt(3))/math.sqrt(x) #starting current at 50 Hz frequency\n", + "\n", + "K=fmin/fmax #minimum is available at 10 Hz\n", + "y=((Rs+Rr_)/K)**2+(Xs+Xr_)**2\n", + "Tst_=(3/Wms)*(Vl/math.sqrt(3))**2*Rr_/K/y #starting torque at 10 Hz frequency\n", + "Ist_=(Vl/math.sqrt(3))/math.sqrt(y) #starting current at 10 Hz frequency\n", + "\n", + "ratio1=Tst_/Tst #ratio of starting torque to the rated starting torque\n", + "ratio2=Ist_/Ist #ratio of starting current to the rated starting current\n", + "\n", + "\n", + "#results\n", + "print\"\\n(i)Hence from the plot we can see that for a constant (V/f) ratio breakdown torque decreases with frequency\"\n", + "print\"\\n(ii)Hence the required ratio of starting torque to the rated starting torque is :\",round(ratio1,3)\n", + "print\" Hence the required ratio of starting current to the rated starting current is :\",round(ratio2,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "K : [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", + "f : [10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0] Hz\n", + "Tmax : [22.93, 31.18, 37.44, 42.22, 45.94, 48.89, 51.27, 53.24, 54.88] N-m\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nB9dt23sqOyvAAAAAAElFTkSuQmCC\n", + "text": [ + "<matplotlib.figure.Figure at 0x7f4a42462310>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "(i)Hence from the plot we can see that for a constant (V/f) ratio breakdown torque decreases with frequency\n", + "\n", + "(ii)Hence the required ratio of starting torque to the rated starting torque is : 0.549\n", + " Hence the required ratio of starting current to the rated starting current is : 0.33\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.10,Page No:201" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from array import array\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected squirrel Induction motor is same as that of Ex-6.9\n", + "f=50 # frequency in HZ\n", + "Vl=400 # line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 # rated speed\n", + "\n", + "#the frequency variation is from 5 Hz to 50 Hz\n", + "fmin=5 \n", + "fmax=50\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed\n", + "N1=Ns-N #increase in speed from no load to full torque rpm\n", + "Wms=2*math.pi*Ns/60\n", + "s=(Ns-N)/Ns #full load slip\n", + "Tmax=torque[8] #maximum torque as obtain from Ex-6.9\n", + "#to obtain the plot between the voltage and the frequency\n", + "K=0\n", + "k=[]\n", + "frequency=[]\n", + "line_voltage=[]\n", + "for i in range (0,10):\n", + " K=K+0.1\n", + " f1=K*f\n", + " x=2*K*Wms*Tmax/3\n", + " y=Rs+math.sqrt((Rs)**2+(K*(Xs+Xr_))**2)\n", + " Vl_square=3*x*y\n", + " Vl=math.sqrt(Vl_square)\n", + " k.append(round(K,1))\n", + " frequency.append(round(f1))\n", + " line_voltage.append(round(Vl,1))\n", + "print\"K :\",k\n", + "print\"f :\",frequency,\"Hz\"\n", + "print\"Vl :\",line_voltage,\"V\"\n", + "#plotting the values of line voltage Vl vs f \n", + "plt.figure(1)\n", + "plt.plot(frequency,line_voltage,'b')\n", + "plt.xlabel('$f$,Hz')\n", + "plt.ylabel('Line voltae,volts')\n", + "plt.grid(True)\n", + "plt.title('Line voltage vs frequency characteristic')\n", + "#for constant V/f ratio\n", + "x=[0,10,20,30,40,50]\n", + "y=[0,80,160,240,320,400]\n", + "plt.plot(x,y,'--')\n", + "plt.annotate('Constant V/f ratiuo', xy=(21, 160), xytext=(30, 160),arrowprops=dict(facecolor='black', shrink=0),)\n", + "plt.show()\n", + "\n", + "print\"\\nHence for a constant breakdown torque at all frequencies,\"\n", + "print\"V/f ratio has to be progressively increased with increase in frequency\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "K : [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", + "f : [5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0] Hz\n", + "Vl : [84.3, 123.8, 159.2, 193.7, 228.0, 262.3, 296.7, 331.1, 365.5, 400.0] V\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nTkSuQmCC\n", + "text": [ + "<matplotlib.figure.Figure at 0x7f443fefdb90>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Hence for a constant breakdown torque at all frequencies,\n", + "V/f ratio has to be progressively increased with increase in frequency\n" + ] + } + ], + "prompt_number": 209 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.11,Page No:202" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected squirrel Induction motor is same as that of Ex-6.9\n", + "f=50 # frequency in HZ\n", + "Vl=400 # line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 # rated speed\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed\n", + "N1=Ns-N #increase in speed from no load to full torque rpm\n", + "Wms=2*math.pi*Ns/60 #synchronous speed\n", + "s=(Ns-N)/Ns #full load slip\n", + "D=Ns-N #drop in speed from no load to full load torque at 50 Hz\n", + "\n", + "#(i)when the frequency is 30 Hz and 80% of full load torque\n", + "f1=30 #given frequency in Hz\n", + "d=D*0.8 #drop in speed from no load to 80% full load torque\n", + "Ns1=120*f1/P #synchronous speed at the given frequency f1=30 Hz\n", + "N1=Ns1-d #required motor speed \n", + "\n", + "#(ii)when the speed is 1000 rpm for a full load torque\n", + "N2=1000 #given speed in rpm\n", + "Ns2=N2+D #synchronous speed\n", + "f2=P*Ns2/120 #required frequency\n", + "\n", + "#when the speed is 1100 rpm and the frequency is 40 Hz\n", + "N3=1100 #given speed in rpm\n", + "f3=40 #given frequency in Hz\n", + "Ns3=120*f3/P #synchronous speed at the given frequency f1=40 Hz\n", + "D1=Ns3-N3 #drop in speed from no load to N1=1100 rpm\n", + "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n", + "Tf=(3/Wms)*(Vl/math.sqrt(3))**2*(Rr_/s)/x #full load torque\n", + "T1=D1/D*Tf #required torque \n", + "\n", + "\n", + "#results\n", + "print\"(i)Hence the required motor speed is :\",round(N1),\"rpm\"\n", + "print\"\\n(ii)Hence the required frequency is :\",round(f2,2),\"Hz\"\n", + "print\"\\n(iii)Hence the required torque is :\",round(T1,2),\"N-m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Hence the required motor speed is : 796.0 rpm\n", + "\n", + "(ii)Hence the required frequency is : 37.67 Hz\n", + "\n", + "(iii)Hence the required torque is : 19.52 N-m\n" + ] + } + ], + "prompt_number": 210 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.12,Page No:204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor is same as that of Ex-6.9\n", + "f=50 # frequency in HZ\n", + "Vl=400 #line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 #rated speed\n", + "\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed\n", + "N1=Ns-N #increase in speed from no load to full torque rpm\n", + "#(i)when f1=30Hz and 80% of full load\n", + "Ns=120*f/P\n", + "f1=30 #frequency \n", + "N2=0.8*N1 #increase in speed from no load to 80% of full torque rpm\n", + "Ns1=f1/f*Ns\n", + "N=Ns1+N2 #machine speed\n", + "\n", + "#(ii)at a speed of 1000rpm\n", + "N2=1000 #given speed in rpm\n", + "N3=N2-N1 #synchronous speed\n", + "f3=P*N3/120 #required frequency\n", + "\n", + "#(iii)when frequency is 40Hz and speed is 1300 rpm\n", + "f4=40 #frequency in hz\n", + "N2=1300 #speed in rpm\n", + "Ns=120*f4/P #required synchronous speed in rpm\n", + "N4=N2-Ns #increase in speed from no load speed in rpm\n", + "Tf=25.37 #full load torque as calculated in Ex-6.11\n", + "Tm=-N4/N1*Tf #motor torque\n", + "\n", + "#(iv) when the motor is under dynamic braking\n", + "\n", + "\n", + "#results\n", + "print\"(i)Required speed is :\",N,\"rpm\"\n", + "print\"\\n(ii)required frequency is:\",f3,\"Hz\"\n", + "print\"\\n(iii)Required motor torque :\",round(Tm,2),\"N-m\"\n", + "print\"\\n(iv)The value of the frequency,speed and motor torque calculated in (i),(ii) and(iii)\"\n", + "print\" will be the same when the motor is operated under dynamic braking\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Required speed is : 1004.0 rpm\n", + "\n", + "(ii)required frequency is: 29.0 Hz\n", + "\n", + "(iii)Required motor torque : -19.52 N-m\n", + "\n", + "(iv)The value of the frequency,speed and motor torque calculated in (i),(ii) and(iii)\n", + " will be the same when the motor is operated under dynamic braking\n" + ] + } + ], + "prompt_number": 211 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.13,Page No:204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor is same as that of Ex-6.9\n", + "f=50 # frequency in HZ\n", + "Vl=400 #line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 #rated speed\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "\n", + "#calculation\n", + "Wms=4*math.pi*f/P\n", + "f1=60 #frequency in Hz during speed control of the motor\n", + "K=f1/f #the value of K at 60Hz \n", + "x=Rs+math.sqrt(Rs**2+K**2*(Xs+Xr_)**2)\n", + "Tmax_=3/(2*K*Wms)*(Vl/math.sqrt(3))**2/x #torque at 60 Hz frequency\n", + "z=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n", + "Tmax=3/(2*Wms)*(Vl/math.sqrt(3))**2/z #maximum torque\n", + "ratio=Tmax_/Tmax #ratio\n", + "\n", + "#results\n", + "print\"Ratio of Motor breakdown torque at 60Hz to rated torque at 50Hz is:\",round(ratio,3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ratio of Motor breakdown torque at 60Hz to rated torque at 50Hz is: 0.727\n" + ] + } + ], + "prompt_number": 212 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.14,Page No:209" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "print\"When operating at a frequency K times rated frequency f then\"\n", + "print\"Im**2=[((Rr_/Ksf)**2+(2*pi*Lr_)**2)/((Rr_/Ksf)**2+(2*pi*Lm+2*Pi*Lr_)**2)]*Is**2----(1)\"\n", + "print\"Since Im is constant for constant flux therefore\"\n", + "print\"K*s*f=constant--------(2)\"\n", + "print\"K*Wms*s=constant-------(3) which is the slip speed\"\n", + "print\"s*K=constant----------(4)\"\n", + "print\"Thereofre for a frequency K*f\"\n", + "print\"T=(3/K/Wms)*[(Is*K*Xm)**2*(Rr_/s)/((Rr_/s)**2+K**2*(Xm+Xr_)**2]\"\n", + "print\"T=(3/K/Wms*s)*[(Is*Xm)**2*(Rr_)/((Rr_/s/K)**2+(Xm+Xr_)**2]-------(5)\"\n", + "print\"\\nHence for a given slip speed (K*Wms*s),K*s is constant and from (1) for a given K*s*f and constant flux\"\n", + "print\"operation Is is fixed. Now from (5) T is also fixed. Thus, motor develps a constant torque and draws a\"\n", + "print\"constant current from the inverter at all frequencies for a given slip speed\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "When operating at a frequency K times rated frequency f then\n", + "Im**2=[((Rr_/Ksf)**2+(2*pi*Lr_)**2)/((Rr_/Ksf)**2+(2*pi*Lm+2*Pi*Lr_)**2)]*Is**2----(1)\n", + "Since Im is constant for constant flux therefore\n", + "K*s*f=constant--------(2)\n", + "K*Wms*s=constant-------(3) which is the slip speed\n", + "s*K=constant----------(4)\n", + "Thereofre for a frequency K*f\n", + "T=(3/K/Wms)*[(Is*K*Xm)**2*(Rr_/s)/((Rr_/s)**2+K**2*(Xm+Xr_)**2]\n", + "T=(3/K/Wms*s)*[(Is*Xm)**2*(Rr_)/((Rr_/s/K)**2+(Xm+Xr_)**2]-------(5)\n", + "\n", + "Hence for a given slip speed (K*Wms*s),K*s is constant and from (1) for a given K*s*f and constant flux\n", + "operation Is is fixed. Now from (5) T is also fixed. Thus, motor develps a constant torque and draws a\n", + "constant current from the inverter at all frequencies for a given slip speed\n" + ] + } + ], + "prompt_number": 213 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.15,Page No:210" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor \n", + "f=50 # frequency in HZ\n", + "Vl=400 #line voltage in V\n", + "P=4 # number of poles\n", + "N=1370 #rated speed\n", + "#parameters referred to the stator\n", + "Xr_=3.5 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=3 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "Xm=55 # magnetizing reactance in ohm\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed in rpm\n", + "s=(Ns-N)/Ns #full load slip\n", + "x=1j*Xm*(Rr_/s+1j*Xr_)\n", + "y=Rr_/s+1j*(Xr_+Xm)\n", + "Z=Rs+1j*Xs+x/y #total motor impedance\n", + "Isf=(Vl/math.sqrt(3))/abs(Z) #full load stator current\n", + "Irf_=Isf*(1j*Xm)/(Rr_/s+1j*(Xr_+Xm)) #full load rotor current\n", + "Tf=(3/Wms)*abs(Irf_)**2*Rr_/s #full load torque\n", + "N1=Ns-N #full load slip speed\n", + "#(i) when the motor is operating at 30Hz\n", + "f1=30 #given frequency in Hz\n", + "#at rated slep speedvalue of torque and stator current is same as the rated value\n", + "T=Tf \n", + "Is=abs(Isf) \n", + "Ns1=f1/f*Ns #synchronous at f1=30Hz\n", + "N2=Ns1-N1 #required motor speed at 30Hz\n", + "\n", + "#(ii)at a speed of 1200 rpm\n", + "N3=1200 #speed in rpm\n", + "Ns1=N3+N1 #required synchronous speed\n", + "f1=Ns1/Ns*f #required frequency at N2=1200rpm\n", + "\n", + "#(iii)when speed-torque curves are assumed to be straight lines at 30Hz at half the rated motor torque\n", + "f2=30 #frequency in Hz\n", + "N1_=N1/2 #slip at half the rated torque\n", + "Ns1=f2/f*Ns #synchronous at f1=30Hz\n", + "N4=Ns1-N1_ #required motor speed\n", + "\n", + "#(iv) When the motor is operating at 45hz and braking torque is equal to rated torque\n", + "f3=45 #given frequency in Hz\n", + "N1_=-N1 #slip speed when braking at rated torque\n", + "Ns1=f3/f*Ns #synchronous at f1=45Hz\n", + "N5=Ns1-N1_ #required motor speed\n", + "\n", + "\n", + "#results\n", + "print\"(i)At 30Hz the required value of Torque is T:\",round(T,2),\"N-m \"\n", + "print\" Stator current is Is:\",round(Is,4),\"A\"\n", + "print\" Motor speed is :\",N2,\"rpm\"\n", + "print\"\\n(ii)Required inverter frequency is :\",round(f1,2),\"Hz\"\n", + "print\"\\n(iii)Required motor speed at 30Hz is:\",N4,\"rpm\"\n", + "print\"\\n(iv)Required motor speed at 45Hz is:\",N5,\"rpm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)At 30Hz the required value of Torque is T: 22.71 N-m \n", + " Stator current is Is: 7.2442 A\n", + " Motor speed is : 770.0 rpm\n", + "\n", + "(ii)Required inverter frequency is : 44.33 Hz\n", + "\n", + "(iii)Required motor speed at 30Hz is: 835.0 rpm\n", + "\n", + "(iv)Required motor speed at 45Hz is: 1480.0 rpm\n" + ] + } + ], + "prompt_number": 214 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.16,Page No:215" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "import cmath\n", + "from __future__ import division\n", + "\n", + "#variable declaration\n", + "#ratings of the Delta connected slipring Induction motor\n", + "f=50 # frequency in HZ\n", + "Vl=400 #line voltage in V\n", + "P=6 # number of poles\n", + "SR=2.2 #ratio of stator to rotor\n", + "#parameters referred to the stator\n", + "Xr_=1 # rotor winding reactance in ohm \n", + "Rr_=0.2 # resistance of the rotor windings in ohm\n", + "s=0.04 # given slip when motor runs at full load\n", + "\n", + "#calculation\n", + "Ns=120*f/P #synchronous speed\n", + "Wms=2*math.pi*Ns/60\n", + "x=(Rr_/s)**2+Xr_**2\n", + "Tf=(3/Wms)*(Vl)**2*(Rr_/s)/x #full load torque\n", + "K=Tf/(Ns*(1-s))**2\n", + "N=850 #speed of the motor in rpm\n", + "Tl=K*N**2 #torque at the given speed N\n", + "s=(Ns-N)/Ns #slip at the given speed N\n", + "y=Tl*(Wms/3)/Vl**2 #y=X/(X**2+Xr_**2) and X=(Re+Rr_)/s\n", + "print\"The torque at the given speed of 850rpm is:\",round(Tl),\"N-m\"\n", + "print\"With a slip of s:\",s\n", + "print\"To find the external resistance connected the given quadratic equation is X**2-6.633X+1=0\"\n", + "print\"With X=(Re-Rr_)/s where Re is the required external resistance\" \n", + "a = 1\n", + "b = -1/y\n", + "c = 1\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "X1 = (-b-cmath.sqrt(d))/(2*a)\n", + "X2 = (-b+cmath.sqrt(d))/(2*a)\n", + "\n", + "#results\n", + "print\"The solution for X are \",round(X1.real,4),\"and\",round(X2.real,4)\n", + "Re1=X1*s-Rr_\n", + "Re2=X2*s-Rr_\n", + "\n", + "if (Re1.real>0) :\n", + " print\"\\nThe number Re1:\",round(abs(Re1),3),\"ohm is feasible:\"\n", + " R=Re1.real/SR**2\n", + " print\"Rotor referred value of the external resistance is:\",round(R,3),\"ohm\"\n", + "\n", + "if (Re2.real>0) :\n", + " print\"\\nThen Re2:\",round(abs(Re2),3),\"ohm is feasible\" \n", + " R=Re2.real/SR**2\n", + " print\"Hence Rotor referred value of the external resistance is:\",round(R,3),\"ohm\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The torque at the given speed of 850rpm is: 691.0 N-m\n", + "With a slip of s: 0.15\n", + "To find the external resistance connected the given quadratic equation is X**2-6.633X+1=0\n", + "With X=(Re-Rr_)/s where Re is the required external resistance\n", + "The solution for X are 0.1544 and 6.4786\n", + "\n", + "Then Re2: 0.772 ohm is feasible\n", + "Hence Rotor referred value of the external resistance is: 0.159 ohm\n" + ] + } + ], + "prompt_number": 217 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.17,Page No:217" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "from sympy import Symbol\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor \n", + "f=50 # frequency in HZ\n", + "Vl=440 #line voltage in V\n", + "P=6 # number of poles\n", + "Ns=120*f/P #synchronous speed\n", + "#parameters referred to the stator\n", + "Xr_=1.2 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=0.4 # resistance of the rotor windings in ohm\n", + "Rs=0.5 # resistance of the stator windings in ohm\n", + "Xm=50 # magnetizing reatance\n", + "a=3.5 # stator to rotor turns ratio\n", + "delta=0 # duty ratio at the given breakdown torque\n", + "Sm=1 # slip at standstill\n", + "#calculation\n", + "#slip at maximum torque without an external resistance is Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2) \n", + "#when an external resistanc Re referred to the stator is connected \n", + "x=Sm*math.sqrt(Rs**2+(Xs+Xr_)**2) #x=Re+Rr_\n", + "Re=x-Rr_\n", + "y=0.5*a**2*(1-delta) # y=0.5*a**2*R*(1-delta) #y=Re\n", + "R=Re/y\n", + "\n", + "N = Symbol('N')\n", + "Sm=(Ns-N)/Ns\n", + "c=(x*Sm-Rr_)/(0.5*a**2*R) #c=(1-delta)\n", + "delta=1-c #given duty ratio\n", + "\n", + "#results\n", + "print\"variation of the duty ratio is\",round(delta*1000/N,3),\"*N*10**(-3)\"\n", + "print\"Hence the duty ratio must change linearly with speed N\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "variation of the duty ratio is 1.195 *N*10**(-3)\n", + "Hence the duty ratio must change linearly with speed N\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.18,Page No:223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor \n", + "f=50 # frequency in HZ\n", + "Vl=440 # line voltage in V\n", + "P=6 # number of poles\n", + "N=970 # rated speed\n", + "n=2 # ratio of stator to rotor\n", + "Sm=0.25 # it is given the speed range is 25% below the synchronous speed which is proportional to the Slip\n", + "#parameters referred to the stator\n", + "Xr_=0.4 # rotor winding reactance in ohm\n", + "Xs=0.3 # stator winding reactance in ohm\n", + "Rr_=0.08 # resistance of the rotor windings in ohm\n", + "Rs=0.1 # resistance of the stator windings in ohm\n", + "alpha=165 # maximum value of the firing angle in degress\n", + "\n", + "#calculation\n", + "Ns=120*f/P # synchronous speed\n", + "Wms=2*math.pi*Ns/60\n", + "#(i) transformer turns ratio\n", + "a=-Sm/math.cos(math.radians(alpha)) #since Sm=a*math.cos(alpha) \n", + "m=n/a #since a=n/m where m is the transformer ratio\n", + "\n", + "#(ii)When speed is 780 rpm and firing angle is 140 degrees\n", + "N1=780 #given speed\n", + "alpha1=140 #given firing angle\n", + "s1=(Ns-N1)/Ns #slip at the given speed N1\n", + "Vd1=(3*math.sqrt(6)/math.pi)*s1*(Vl/math.sqrt(3))/n\n", + "Vd2=(3*math.sqrt(6)/math.pi)*(Vl/math.sqrt(3))/m*math.cos(math.radians(alpha1))\n", + "Rs_=Rs*(1/n)**2 #stator resistance referred to the rotor\n", + "Rr=Rr_*(1/n)**2 #rotor resistance referred to the rotor\n", + "Rd=0.01 #equivalent resistance of the DC link inductor\n", + "Id=(Vd1+Vd2)/(2*(s1*Rs_+Rr)+Rd)\n", + "T1=abs(Vd2)*Id/s1/Wms #required torque\n", + "\n", + "#(iii)when speed is 800rpm and firing angle is half the rated motor torque\n", + "N1=800 #given speed\n", + "s=(Ns-N)/Ns #rated slip\n", + "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n", + "Trated=(3/Wms)*(Vl/math.sqrt(3))**2*(Rr_/s)/x #rated torque\n", + "T_half=Trated/2 #half rated torque\n", + "s1=(Ns-N1)/Ns #given slip at speed N1=800rpm\n", + "Vd1=(3*math.sqrt(6)/math.pi)*s1*(Vl/math.sqrt(3))/n\n", + "cos_alpha1 = Symbol('cos_alpha1')\n", + "Vd2=(3*math.sqrt(6)/math.pi)*(Vl/math.sqrt(3))/m*cos_alpha1\n", + "Id=(Vd1+Vd2)/(2*(s1*Rs_+Rr)+Rd)\n", + "T=abs(Vd2)*Id/s1/Wms #required torque\n", + "#let cos_alpha1=-X\n", + "X=-cos_alpha1\n", + "#since the given torque is half of the rated value\n", + "#To find the find the firing angle we assumed cos(alpha1)=-X\n", + "#The given quadratic equation is X**2-0.772X+0.06425=0\n", + "a = 1\n", + "b = -0.772\n", + "c = 0.06425\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "# find two solutions\n", + "X1 = (-b-cmath.sqrt(d))/(2*a)\n", + "X2 = (-b+cmath.sqrt(d))/(2*a)\n", + "alpha1=-math.acos(X2.real) #since cos(alpha1)=-X where alpha1 is radians\n", + "alpha1=math.degrees(alpha1) #angle in degrees\n", + "alpha1=180+alpha1 #required firing angle\n", + "\n", + "\n", + "#results\n", + "print\"(i)Transformer ratio is: \",round(m,3)\n", + "print\"\\n(ii)Required torque is :\",round(T1),\"N-m\"\n", + "print\" There is a slight difference in the answer for the torque due to accuracy i.e more number of decimal place\"\n", + "print\"\\n(iii)The half rated torque at the given speed of\",N1,\"rpm is:\",round(T_half,2),\"N-m\"\n", + "print\" With a slip of s:\",s1\n", + "print\"The solution for X are \",round(X1.real,4),\"and\",round(X2.real,4)\n", + "print\"For X1:\",round(X1.real,4),\" the motor is unstable hence we discard this value and we use X2:\",round(X2.real,4)\n", + "print\"\\nHence the required firing angle is :\",round(alpha1,1),\"\u00b0\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Transformer ratio is: 7.727\n", + "\n", + "(ii)Required torque is : 271.0 N-m\n", + " There is a slight difference in the answer for the torque due to accuracy i.e more number of decimal place\n", + "\n", + "(iii)The half rated torque at the given speed of 800 rpm is: 302.66 N-m\n", + " With a slip of s: 0.2\n", + "The solution for X are 0.0949 and 0.6771\n", + "For X1: 0.0949 the motor is unstable hence we discard this value and we use X2: 0.6771\n", + "\n", + "Hence the required firing angle is : 132.6 \u00b0\n" + ] + } + ], + "prompt_number": 219 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.19,Page No:225" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the star connected Induction motor is same as that of Ex-6.17\n", + "f=50 # frequency in HZ\n", + "Vs=440 # line voltage in V\n", + "P=4 # number of poles\n", + "#parameters referred to the stator\n", + "Xr_=1.2 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=0.4 # resistance of the rotor windings in ohm\n", + "Rs=0.5 # resistance of the stator windings in ohm\n", + "Xm=50 # magnetizing reatance\n", + "a=3.5 # stator to rotor turns ratio\n", + "\n", + "#calculation\n", + "Ns=120*f/P # synchronous speed in rpm\n", + "Wms=2*math.pi*Ns/60 # synchronous speed in rad/s\n", + "#(i)when motor speed is 1200rpm with a voltage of 15+0j V\n", + "V=cmath.rect(15,0)\n", + "N1=1200 #speed in rpm\n", + "Vr_=a*V #rotor voltage\n", + "s1=(Ns-N1)/Ns #slip at the given speed N1=1200 rpm\n", + "Z=Rs+Rr_/s1+1j*(Xs+Xr_) #total impedance\n", + "Ir_=(Vs/math.sqrt(3)-Vr_/s1)/Z #rotor current\n", + "phi_r=cmath.phase(Vr_)-cmath.phase(Ir_) #angle between Vr_ and Ir_\n", + "Pr=3*(abs(Ir_))**2*Rr_ #rotor copper loss\n", + "P1=3*abs(Vr_)*abs(Ir_)*math.cos(phi_r) #power absorbed by Vr_\n", + "Pg=(Pr+P1)/s1 #gross power \n", + "T=Pg/Wms #required motor torque\n", + "\n", + "#(ii)when motor speed is 1200rpm with a unity power factor \n", + "N1=1200 #speed in rpm\n", + "Ir_=cmath.rect(abs(Ir_),0) #machine is operating at unity power factor\n", + "x=Ir_*Z #x=(Vs-Vr_/s1)*phi_r where phi_r is the angle between Vr_ and Ir_\n", + "\n", + "#x=a+b\n", + "d=(Vs/math.sqrt(3)-Vr_/s1*math.cos(phi_r))**2\n", + "e=(Vr_/s1*math.sin(phi_r))**2\n", + "f=x/(d+e)\n", + "theta=cmath.phase(f) #required angle in radian\n", + "\n", + "#Now we should solve for the quadratice equation for the rotor current\n", + "# 0.9*Ir_**2 + 50.8*Ir_ + 90.12 = 0\n", + "a1 = 0.9\n", + "b1 = 50.8\n", + "c1 = 90.12\n", + "# calculate the discriminant\n", + "d = (b1**2) - (4*a1*c1)\n", + "# find two solutions\n", + "Ir_1 = (-b1-cmath.sqrt(d))/(2*a1)\n", + "Ir_2 = (-b1+cmath.sqrt(d))/(2*a1)\n", + "\n", + "Ir_=Ir_2 #Ir_2 is chosen because for Ir_1 the motor is unstable\n", + "Vr_sin_phi_r=abs(Ir_)/2.083\n", + "Vr_cos_phi_r=s1*(Vs/math.sqrt(3)+2.5*Vr_sin_phi_r)\n", + "Vr_=Vr_cos_phi_r+1j*Vr_sin_phi_r #total rotor voltage referred to the stator\n", + "Vr_=Vr_/a #total rotor voltage referred to the rotor\n", + "phase=round(math.degrees(cmath.phase(Vr_))) #required phase of the voltage in degrees\n", + "\n", + "#results\n", + "print\"(i)The torque is :\",round(T,2),\"N-m and since it is negative the motor is operating in regenerative braking \"\n", + "print\"\\n(ii)Now theta \u03b8:\",round(math.degrees(theta),2),\"\u25e6\"\n", + "print\" The solution for Ir_ are \",round(Ir_1.real,3),\"and\",round(Ir_2.real,3)\n", + "print\" We choose Ir_:\",round(Ir_2.real,3),\"A since higher value corresponds to unstable region\"\n", + "print\"\\n Hence the required voltage magnitude is Vr:\",round(abs(Vr_),2),\"V\",\";phase:\",phase,\"\u25e6\"\n", + "print\"\\n Note :There is a slight difference in the answers due to accuracy i.e more number of decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)The torque is : -8.61 N-m and since it is negative the motor is operating in regenerative braking \n", + "\n", + "(ii)Now theta \u03b8: 43.83 \u25e6\n", + " The solution for Ir_ are -54.611 and -1.834\n", + " We choose Ir_: -1.834 A since higher value corresponds to unstable region\n", + "\n", + " Hence the required voltage magnitude is Vr: 14.64 V ;phase: 1.0 \u25e6\n", + "\n", + " Note :There is a slight difference in the answers due to accuracy i.e more number of decimal place\n" + ] + } + ], + "prompt_number": 220 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No:6.20,Page No:234" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the single phase Induction motor \n", + "f=50 # frequency in HZ\n", + "Vs=220 # supply voltage in V\n", + "P=4 # number of poles\n", + "N=1425 # rated speed in rpm\n", + "#parameters referred to the stator\n", + "Xr_=6 # rotor winding reactance in ohm\n", + "Xs=Xr_ # stator winding reactance in ohm\n", + "Rr_=5 # resistance of the rotor windings in ohm\n", + "Rs=2 # resistance of the stator windings in ohm\n", + "Xm=60 # magnetizing reatance\n", + "\n", + "#calculation\n", + "N1=1200 #when the motor is operating at the given speed in rpm\n", + "Ns=120*f/P # synchronous speed\n", + "Wms=2*math.pi*Ns/60\n", + "s=(Ns-N)/Ns #rated slip\n", + "\n", + "Zf=1j*(Xm)*(Rr_/s+1j*Xr_)/2/(Rr_/s+1j*(Xr_+Xm))\n", + "Rf=Zf.real ; Xf=Zf.imag\n", + "Zb=1j*(Xm)*(Rr_/(2-s)+1j*Xr_)/2/(Rr_/(2-s)+1j*(Xr_+Xm))\n", + "Rb=Zb.real ; Xb=Zb.imag\n", + "Zs=Rs+1j*Xs\n", + "Z=Zs+Zf+Zb\n", + "Is=(Vs)/Z\n", + "T=(abs(Is))**2/Wms*(Rf-Rb)\n", + "Tl=T\n", + "K=Tl/N**2\n", + "\n", + "#therefore for a speed of of N1=1200 rpm we get \n", + "Tl=K*N1**2 #required load torque for the given speed N1\n", + "s1=(Ns-N1)/Ns # slip for the given speed N1\n", + "\n", + "Zf=1j*(Xm)*(Rr_/s1+1j*Xr_)/2/(Rr_/s1+1j*(Xm))\n", + "Rf=Zf.real ; Xf=Zf.imag\n", + "Zb=1j*(Xm)*(Rr_/(2-s1)+1j*Xr_)/2/(Rr_/(2-s1)+1j*(Xr_+Xm))\n", + "Rb=Zb.real ; Xb=Zb.imag\n", + "x=(Wms*Tl)/(Rf-Rb) #since Tl=(abs(Is))**2/Wms*(Rf-Rb) and x=Is**2\n", + "Is=math.sqrt(x)\n", + "Z=Zs+Zf+Zb\n", + "V=Is*abs(Z)\n", + "\n", + "#results\n", + "print\"Hence the motor terminal voltage at the speed of\",N1,\"rpm is : \",round(V,1),\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Hence the motor terminal voltage at the speed of 1200 rpm is : 127.9 V\n" + ] + } + ], + "prompt_number": 221 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb new file mode 100755 index 00000000..8b58c041 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb @@ -0,0 +1,416 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7: Synchronous Motor and Brushless dc Motor Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:7.1,Page no:247" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the synchronous motor\n", + "Pm1=500*1000 # power rating in W\n", + "f=50 # frequency in HZ\n", + "Vl=3.3*1000 # line voltage in V\n", + "pf=0.8 # power factor lagging\n", + "P=4 # number of poles\n", + "I=10 # field current in A\n", + "Xs=15 # reactance of the windings in ohm\n", + "Rs=0 # resistance of the windings in ohm\n", + "Wms=50*math.pi # synchronous speed in rad/sec\n", + "Pm=Pm1/2 # power at half the rated torque when the losses are neglected\n", + "\n", + "#calculation\n", + "V=Vl/math.sqrt(3) #phase voltage\n", + "Is=Pm1/(math.sqrt(3)*Vl*pf) #rated current\n", + "rad=math.acos(pf)\n", + "\n", + "Is=cmath.rect(Is,-rad) #rated current in vector form\n", + "V=cmath.rect(V,0) #rated phase voltage in rectangular form\n", + "E=V-Is*1j*Xs #back emf\n", + "\n", + "#(i) when field current has not changed\n", + "sin_delta=Pm*Xs/(3*abs(V)*abs(E)) \n", + "delta=math.asin(sin_delta) #angle delta\n", + "Is=(V-cmath.rect(abs(E),-delta))/(1j*Xs) #armature current\n", + "Is1=cmath.polar(Is)\n", + "x=math.degrees(Is1[1]) #where x=Is which is the required armature current \n", + "power_factor=math.cos(Is1[1]) #power factor \n", + "\n", + "#(ii) At unity power factor and rated torque\n", + "cos_phi=1\n", + "Is=Pm1/(3*V) #since Pm1=3*V*Is\n", + "E1=V-Is*1j*Xs\n", + "If=abs(E1)/abs(E)*I #field current\n", + "\n", + "#(iii) At the field current of 12.5 A\n", + "If1=12.5 #field current \n", + "E2=If1/I*abs(E)\n", + "Is=math.sqrt(E2**2-abs(V)**2)/Xs #since E2=abs(V-Is*1j*Xs)\n", + "Pm=3*abs(V)*Is*cos_phi #power output at the given field current\n", + "T=Pm/Wms #required torque\n", + "\n", + "#results\n", + "print\"i)armature current :\",round(Is1[0],2),round(x),\"\u00b0\",\"A\"\n", + "print\" power factor\",round(power_factor,2),\"lagging\"\n", + "print\"\\nii)field current at unity power factor at rated torque:\",round(If,2),\"A\"\n", + "print\"\\niii)Required torque is:\",round(T,1),\"N-m\"\n", + "print\"Note: there is a slight difference in the answer due to the decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i)armature current : 52.76 -34.0 \u00b0 A\n", + " power factor 0.83 lagging\n", + "\n", + "ii)field current at unity power factor at rated torque: 14.43 A\n", + "\n", + "iii)Required torque is: 1507.2 N-m\n", + "Note: there is a slight difference in the answer due to the decimal place\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:7.2,Page no:249" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the synchronous motor is same as that of Example-7.1\n", + "Pm1=500*1000 # power rating in W\n", + "f=50 # frequency in HZ\n", + "Vl=3.3*1000 # line voltage in V\n", + "pf=0.8 # power factor lagging\n", + "P=4 # number of poles\n", + "I=10 # field current in A\n", + "Xs=15 # reactance of the windings in ohm\n", + "Rs=0 # resistance of the windings in ohm\n", + "Pm=Pm1/2 # power at half the rated torque when the losses are neglected\n", + "\n", + "#calculation\n", + "Wms=50*math.pi # synchronous speed in rad/sec\n", + "V=Vl/math.sqrt(3) # phase voltage\n", + "Is=Pm1/(math.sqrt(3)*Vl*pf) #rated current\n", + "rad=math.acos(pf)\n", + "\n", + "Is=cmath.rect(Is,-rad) #rated current in vector form\n", + "V=cmath.rect(V,0) \n", + "E=V-Is*1j*Xs #back emf\n", + "\n", + "#(i) at rated current and unity power factor\n", + "E1=V-abs(Is)*1j*Xs\n", + "delta=cmath.phase(E1) #phase angle of E1\n", + "Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs #mechanical power developed\n", + "T=Pm/Wms #braking torque\n", + "If=abs(E1)/abs(E)*I #field current\n", + "\n", + "#(ii) at field current of 15A and 500kW output\n", + "If1=15 #field current\n", + "Pm=-500*1000 #output power \n", + "E2=If1/I*abs(E)\n", + "sin_delta=Pm*Xs/(3*abs(V)*abs(E2)) \n", + "delta=math.asin(sin_delta) #angle delta\n", + "Is=(cmath.rect(E2,abs(delta))-V)/(1j*Xs) #armature current\n", + "Is=cmath.polar(Is)\n", + "x=(Is[1])*180/math.pi #phase angle of Is\n", + "power_factor=math.cos(Is[1]) #power factor\n", + "\n", + "\n", + "#results\n", + "print\"i)braking torque :\",round(T,1),\"N-m\"\n", + "print\" Field current\",round(If,2),\"A\"\n", + "print\"\\nii)armature current :\",round(Is[0],2),round(x,2),\"\u00b0\",\"A\"\n", + "print\" power factor\",round(power_factor,3),\"lagging\"\n", + "print\"\\nNote :There is a slight difference in the answers due to the decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i)braking torque : -3978.9 N-m\n", + " Field current 15.68 A\n", + "\n", + "ii)armature current : 87.78 -4.79 \u00b0 A\n", + " power factor 0.997 lagging\n", + "\n", + "Note :There is a slight difference in the answers due to the decimal place\n" + ] + } + ], + "prompt_number": 66 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:7.3,Page no:257" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "from sympy import Symbol\n", + "\n", + "#variable declaration\n", + "#ratings of the synchronous motor\n", + "Pm1=6*10**6 # power rating in W\n", + "f=50 # frequency in HZ\n", + "Vl=11*1000 # line voltage in V\n", + "pf=0.9 # power factor leading\n", + "P=6 # number of poles\n", + "I=10 # rated field current in A\n", + "Xs=9 # reactance of the windings in ohm\n", + "Rs=0 # resistance of the windings in ohm\n", + "N=120*f/P # synchronous speed\n", + "\n", + "#calculation\n", + "V=Vl/math.sqrt(3) #phase voltage\n", + "Is=Pm1/(math.sqrt(3)*Vl*pf) #rated current\n", + "rad=math.acos(pf)\n", + "\n", + "#(i)to find torque and field current at rated armature current\n", + "# at 750 rpm and 0.8 leading power factor\n", + "Is=cmath.rect(Is,rad) #rated current in vector form\n", + "V=cmath.rect(V,0)\n", + "E=V-Is*1j*Xs #back emf\n", + "\n", + "N1=750 #speeed in rpm\n", + "pf1=0.8 #given leading power factor\n", + "f1=N1/N*f #required frequency\n", + "V1=abs(V)*f1/f #required voltage\n", + "Xs1=Xs*f1/f #required field resistance\n", + "E1=V1-Xs1*1j*cmath.rect(abs(Is),math.acos(pf1)) #rated back emf in complex form \n", + "E1_polar=cmath.polar(E1) #rated back emf in rectangular form \n", + "#at rated field current and 750 rpm\n", + "E2=abs(E)*N1/N #back emf at the given speed N1 \n", + "If=abs(E1)/E2*f #field current at the given speed N1 \n", + "Pm=3*abs(V1)*abs(Is)*pf1 #power input at the given speed N1\n", + "Wm1=2*math.pi*N1/60 #angular motor speed in rad/s\n", + "T=Pm/Wm1\n", + "\n", + "#(ii) at half the rated motor torque and 1500 rpm and rated field current\n", + "Pm=6*10**6 #rated power rating in W\n", + "N1=1500 #speeed in rpm\n", + "f1=N1/N*f #required frequency\n", + "Xs1=f1/f*Xs #required field resistance\n", + "E1=abs(E)*f1/f #back emf at rated field current \n", + "\n", + "Wms = Symbol('Wms') #rated speed in rad/sec\n", + "T_rated = Symbol('T_rated') #rated torque\n", + "Wms=Pm/T_rated\n", + "Wms_=N1/N*Wms\n", + "Pm_= (0.5*T_rated)*Wms_ #required power developed at N1=1500 rpm \n", + "\n", + "sin_delta=Pm_*Xs1/(3*abs(V)*abs(E1)) #since Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs \n", + "delta=math.asin(sin_delta) #angle delta\n", + "Is=(abs(V)-cmath.rect(E1,-delta))/(1j*Xs1) #armature current\n", + "Is1=cmath.polar(Is) #aramture current in rectangular form\n", + "x1=math.degrees(Is1[1])\n", + "power_factor1=math.cos(Is1[1]) #power factor\n", + " \n", + "#(iii) at 750 rpm and rated field current from part(i)\n", + "N1=750 #speeed in rpm\n", + "pf1=0.8 #given leading power factor\n", + "f1=N1/N*f #required frequency at N1=750 rpm\n", + "V1=abs(V)*f1/f #required voltage at N1=750 rpm\n", + "Xs1=Xs*f1/f #required field resistance\n", + "E2=abs(E)*N1/N \n", + "\n", + "Pm=-4.2*10**6 #braking power output\n", + "sin_delta=Pm*Xs1/(3*abs(V1)*abs(E2)) #since Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs \n", + "delta=math.asin(sin_delta) #angle delta\n", + "Is=(cmath.rect(E2,abs(delta))-V1)/(1j*Xs1) #armature current \n", + "Is2=cmath.polar(Is) #aramture current in rectangular form\n", + "x2=math.degrees(Is2[1]) \n", + "power_factor2=math.cos(Is2[1]) #power factor\n", + "\n", + "#(iv)from part (ii) at 1500 rpm and from part(iii) the armature current of 349.9 A is taken\n", + "Is=Pm1/(math.sqrt(3)*Vl*pf) #armature current as given from (i)\n", + "N1=1500 #speeed in rpm\n", + "f1=N1/N*f #required frequency at N1=1500 rpm\n", + "Xs1=f1/f*Xs #required field resistance\n", + "E1=abs(E)*f1/f #at rated field current \n", + "E2=V-1j*Xs1*Is\n", + "E2=cmath.polar(E2)\n", + "\n", + "If1=E2[0]/abs(E1)*f #required field current\n", + "Pm=3*abs(V)*E2[0]*math.sin(abs(E2[1]))/Xs1 #power input\n", + "Wm1=2*math.pi*N1/60 #motor speed in rad/sec\n", + "T1=Pm/Wm1\n", + "\n", + "#results\n", + "print\"\\ni)Required torque is:\",round(T,1),\"N-m\"\n", + "print\" Field current :\",round(If,2),\"A\"\n", + "print\"\\nii)armature current :\",round(Is1[0],1),round(x1,2),\"\u00b0\",\"A\"\n", + "print\" power factor :\",round(power_factor1,1),\"leading\"\n", + "print\"\\niii)armature current :\",round(Is2[0],2),round(x2,2),\"\u00b0\",\"A\"\n", + "print\" power factor :\",round(power_factor2,3),\"lagging\"\n", + "print\"\\niv)Field current :\",round(If1,2),\"A\"\n", + "print\" Required torque is:\",round(T1),\"N-m\"\n", + "print\"\\nNote :There is a slight difference in the answers due to the decimal place\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "i)Required torque is: 50929.6 N-m\n", + " Field current : 52.37 A\n", + "\n", + "ii)armature current : 475.5 60.21 \u00b0 A\n", + " power factor : 0.5 leading\n", + "\n", + "iii)armature current : 334.62 -28.55 \u00b0 A\n", + " power factor : 0.878 lagging\n", + "\n", + "iv)Field current : 32.07 A\n", + " Required torque is: 42441.0 N-m\n", + "\n", + "Note :There is a slight difference in the answers due to the decimal place\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example no:7.4,Page no:265" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from __future__ import division\n", + "import cmath\n", + "\n", + "#variable declaration\n", + "#ratings of the synchronous motor\n", + "Pm=8*10**6 # power rating in W\n", + "f=50 # frequency in HZ\n", + "Vl=6600 # line voltage in V\n", + "pf=1 # unity power factor \n", + "P=6 # number of poles\n", + "I=10 # rated field current in A\n", + "Xs=2.8 # reactance of the windings in ohm\n", + "Rs=0 # resistance of the windings in ohm\n", + "Rd=0.1 # Dc link inductor resistance\n", + "alpha=140 # constant firing angle in degrees \n", + "\n", + "#calculation\n", + "N=120*f/P #synchronous speed\n", + "V=Vl/math.sqrt(3) #phase voltage\n", + "Is=Pm/(math.sqrt(3)*Vl*pf) #rated current\n", + "\n", + "Id=math.pi/math.sqrt(6)*Is #Dc line current\n", + "phi=180-alpha #phase angle between Is and V in degrees\n", + "\n", + "#(i) when motor operates at rated current and 500rpm\n", + "N1=500 #motor speed in rpm\n", + "f1=N1/N*f #frequency at N1\n", + "V1=f1/f*V #voltge at N1\n", + "Pm1=3*V1*Is*math.cos(math.radians(phi)) #power developed by the motor\n", + "#for the 3-phase load commutated inverter\n", + "Vdl=(3*math.sqrt(6)/math.pi)*V1*math.cos(math.radians(alpha))\n", + "Vds=-Vdl+Id*Rd\n", + "cos_alpha_s=Vds/(3*math.sqrt(6)/math.pi*V)\n", + "alpha_s=math.acos(cos_alpha_s) #in radian\n", + "alpha_s1=math.degrees(alpha_s) #in degrees\n", + "\n", + "#(ii) regenerative braking at 500rpm and at rated motor current\n", + "alpha=0 #firing angle\n", + "#when firng angle is zero then power factor is unity\n", + "pf=1\n", + "\n", + "Pm2=3*V1*Is*pf #power developed by the motor\n", + "Ps=Pm2-Id**2*Rd #power supplied to the source\n", + "Vdl=(3*math.sqrt(6)/math.pi)*V1*math.cos(math.radians(alpha))\n", + "Vds=-Vdl+Id*Rd\n", + "cos_alpha_s=Vds/(3*math.sqrt(6)/math.pi*V)\n", + "alpha_s=math.acos(cos_alpha_s) #in radian\n", + "alpha_s2=math.degrees(alpha_s) #in degrees\n", + "\n", + "#results\n", + "print\"i)power developed by the motor is:\",round(Pm1/10**6,3),\"MW\"\n", + "print\" Source side converter firing angle is\",round(alpha_s1,2),\"\u00b0\"\n", + "print\"\\nii)power supplied to the source is:\",round(Ps/10**6,3),\"MW\"\n", + "print\" Source side converter firing angle is\",round(alpha_s2,2),\"\u00b0\"\n", + "#answer for firing angle in the book is wrong" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "i)power developed by the motor is: 3.064 MW\n", + " Source side converter firing angle is 66.85 \u00b0\n", + "\n", + "ii)power supplied to the source is: 3.919 MW\n", + " Source side converter firing angle is 119.34 \u00b0\n" + ] + } + ], + "prompt_number": 65 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/README.txt b/Fundamentals_of_Electrical_Drives/README.txt new file mode 100755 index 00000000..e670d298 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/README.txt @@ -0,0 +1,10 @@ +Contributed By: boston shullai +Course: be +College/Institute/Organization: SJCE Mysore +Department/Designation: Electrical +Book Title: Fundamentals of Electrical Drives +Author: GK Dubey +Publisher: Narosa Publishing House New Delhi +Year of publication: 2004 +Isbn: 8173194289 +Edition: 2
\ No newline at end of file diff --git a/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png b/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png Binary files differnew file mode 100755 index 00000000..6e9335cf --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png diff --git a/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png b/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png Binary files differnew file mode 100755 index 00000000..66143381 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png diff --git a/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png b/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png Binary files differnew file mode 100755 index 00000000..0bb53ca6 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png |