diff options
Diffstat (limited to 'Fundamentals_of_Electrical_Drives_by_GK_Dubey/Chapter4_2.ipynb')
-rwxr-xr-x | Fundamentals_of_Electrical_Drives_by_GK_Dubey/Chapter4_2.ipynb | 348 |
1 files changed, 348 insertions, 0 deletions
diff --git a/Fundamentals_of_Electrical_Drives_by_GK_Dubey/Chapter4_2.ipynb b/Fundamentals_of_Electrical_Drives_by_GK_Dubey/Chapter4_2.ipynb new file mode 100755 index 00000000..88441d35 --- /dev/null +++ b/Fundamentals_of_Electrical_Drives_by_GK_Dubey/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 |