{
 "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": {}
  }
 ]
}