summaryrefslogtreecommitdiff
path: root/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb')
-rwxr-xr-xFundamentals_of_Electrical_Drives/Chapter4_2.ipynb348
1 files changed, 348 insertions, 0 deletions
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