diff options
Diffstat (limited to 'Special_Electrical_Machines_by_S.P._Burman/chapter03.ipynb')
-rwxr-xr-x | Special_Electrical_Machines_by_S.P._Burman/chapter03.ipynb | 720 |
1 files changed, 720 insertions, 0 deletions
diff --git a/Special_Electrical_Machines_by_S.P._Burman/chapter03.ipynb b/Special_Electrical_Machines_by_S.P._Burman/chapter03.ipynb new file mode 100755 index 00000000..c85791a7 --- /dev/null +++ b/Special_Electrical_Machines_by_S.P._Burman/chapter03.ipynb @@ -0,0 +1,720 @@ +{ + "metadata": { + "name": "", + "signature": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter3 - Stepper motors & switched reluctance motors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1 Page 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "Lm=30 #in mH\n", + "Iph=3 #in Ampere\n", + "Rm=15 #in Ohm\n", + "\n", + "#Calculations\n", + "tau_ed=Lm/Rm #in ms\n", + "tdash=1/2*tau_ed #in ms\n", + "print \"(i) Time taken by the phase current to decay to zero = %0.2f ms \"%tdash \n", + "Energy=1/4*Lm*Iph**2 #in mW\n", + "print \"(ii) Energy returned to supply = %0.2f mW \"%Energy " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Time taken by the phase current to decay to zero = 1.00 ms \n", + "(ii) Energy returned to supply = 67.50 mW \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2 Page 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "n=4 #no. of phase\n", + "Ns=12 #stator teeth\n", + "Nr=3 #rotor teeth\n", + "\n", + "#Calculations\n", + "Beta=360/n/Nr #in degree\n", + "print \"Step Angle = %0.2f degree \"%Beta " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Step Angle = 30.00 degree \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 Page 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "MainPoles=10 #no. of main poles\n", + "teeth=7 #no. of teeth/pole\n", + "Nr=60 #rotor teeth\n", + "\n", + "#Calculations\n", + "Ns=MainPoles*teeth #stator teeth\n", + "Beta=(Ns-Nr)*360/Ns/Nr #in degree\n", + "print \"Step Angle = %0.3f degree\"%Beta " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Step Angle = 0.857 degree\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 Page 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Beta=3 #in degree\n", + "Revolution=25 #no. of revolutions\n", + "f=3600 #stepping frequency in pps\n", + "\n", + "#Calculations\n", + "Resolution=360/Beta #in step/res\n", + "print \"(a) Resolution = %0.2f step/res \"%Resolution \n", + "steps=Resolution*Revolution #no. of steps\n", + "print \"(b) No. of steps required : \" ,steps\n", + "speed=Beta*f/360 #in nps\n", + "print \"(c) Shaft speed = %0.2f nps \"%speed " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) Resolution = 120.00 step/res \n", + "(b) No. of steps required : 3000.0\n", + "(c) Shaft speed = 30.00 nps \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.5 Page 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Beta=1.8 #in degree\n", + "Revolution=25 #no. of revolutions\n", + "f=4000 #stepping frequency in pps\n", + "theta=54 #required shaft rotation in degree\n", + "\n", + "#Calculations\n", + "Resolution=360/Beta #in step/res\n", + "print \"(i) Resolution = %0.2f step/res \"%Resolution \n", + "speed=Beta*f/360 #in rps\n", + "print \"(ii) Motor speed = %0.2f rps \"%speed \n", + "pulses=theta/Beta #pulses\n", + "print \"(iii) No. of pulses required to rotate the shaft through 54 degree : \" ,pulses" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Resolution = 200.00 step/res \n", + "(ii) Motor speed = 20.00 rps \n", + "(iii) No. of pulses required to rotate the shaft through 54 degree : 30.0\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6 Page 193" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Ns=8 #stator teeth\n", + "Nr=6 #rotor teeth\n", + "\n", + "#Calculations\n", + "Beta=(Ns-Nr)/Ns/Nr*360 #in degree\n", + "print \"Step angle = %0.2f degree \"%Beta \n", + "Resolution=360/Beta #steps/revolution\n", + "print \"Resolution = %0.2f steps/revolution \"%Resolution " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Step angle = 15.00 degree \n", + "Resolution = 24.00 steps/revolution \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7 Page 193" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Beta=15 #in degree\n", + "m=3 #no. of phase(1-Beta*Nr/360)\n", + "\n", + "#Calculations\n", + "#Formula : Beta=360/m/Nr\n", + "Nr=360/m/Beta #no. of rotor teeth\n", + "print \"No. of rotor teeth : \" ,Nr\n", + "#Formula : Beta=(Ns~Nr)/Ns/Nr*360 #in degree\n", + "#When Ns>Nr\n", + "Ns=Nr/(1-Beta*Nr/360) #no. of stator teeth\n", + "print \"When Ns>Nr, No. of stator teeth : \" ,Ns\n", + "#When Nr>Ns\n", + "Ns=Nr/(1+Beta*Nr/360)\n", + "print \"When Nr>Ns, No. of stator teeth : \" ,Ns" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "No. of rotor teeth : 8.0\n", + "When Ns>Nr, No. of stator teeth : 12.0\n", + "When Nr>Ns, No. of stator teeth : 6.0\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.8 Page 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "m=4 #phases\n", + "Beta=1.5 #in degree\n", + "\n", + "#Calculations\n", + "#Formula : Beta=360/m/Nr\n", + "Nr=360/m/Beta #no. of rotor teeth\n", + "print \"No. of rotor teeth :\" ,Nr\n", + "Ns=Nr #no. of stator teeth\n", + "print \"In multi stack motor, Stator teeth = rotor teeth = \" ,Ns" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "No. of rotor teeth : 60.0\n", + "In multi stack motor, Stator teeth = rotor teeth = 60.0\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.9 Page 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Speed=2400 #in rpm\n", + "Resolution=200 #steps/res\n", + "\n", + "#Calculations\n", + "n=Speed/60 #in rps\n", + "Beta=360/Resolution #in degree\n", + "#Formula : n=Beta*f/360 \n", + "f=n*360/Beta #in pps\n", + "print \"Required pulse rate = %0.2f pps \"%f " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Required pulse rate = 8000.00 pps \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.10 Page 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Resolution=500 #steps/res\n", + "theta=72 #rotator turn angle in degree\n", + "#Calculations\n", + "Hmod_Res=Resolution*2 #half step mode resolution in steps/res\n", + "print \"Half step mode resolution = %0.2f steps/res \"%Hmod_Res \n", + "Beta=360/Hmod_Res #in degree\n", + "steps=theta/Beta #in steps\n", + "print \"No. of steps required : \" ,steps" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Half step mode resolution = 1000.00 steps/res \n", + "No. of steps required : 200.0\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.11 Page 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Beta=1.8 #in dcegree\n", + "revolution=10 #no. of revolution\n", + "#Calculations\n", + "resolution=360/Beta #in steps/rev\n", + "steps=resolution*revolution #no. of steps in 10 evolution\n", + "print \"No. of steps =\",(steps),\"should be encoded.\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "No. of steps = 2000.0 should be encoded.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.12 Page 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "J=10**-4 #in Kgm**2 \n", + "w1=200 #in rad/sec\n", + "w2=300 #in rad/sec\n", + "delf=0.2 #in sec\n", + "Tf=0.06 #in N-m\n", + "\n", + "#Calculations\n", + "dwBYdf=(w2-w1)/delf #\n", + "Tm=J*dwBYdf+Tf #in N-m\n", + "print \"Motor Torque = %0.2f N-m \"%Tm " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Motor Torque = 0.11 N-m \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.13 Page 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi\n", + "# Given data\n", + "J=3*10**-4 #in Kgm**2 \n", + "f1=1000 #in Hz\n", + "f2=2000 #in Hz\n", + "delt=100 #in ms\n", + "Tf=0.05 #in N-m\n", + "Qs=1.8 #in degree\n", + "\n", + "#Calculations\n", + "delt=100*10**-3 #in sec\n", + "Qs=Qs*pi/180 #in radian\n", + "w1=Qs*f1 #in rad/sec\n", + "w2=Qs*f2 #in rad/sec\n", + "dwBYdt=(w2-w1)/delt #\n", + "Tm=J*dwBYdt+Tf #in N-m\n", + "print \"Motor Torque = %0.4f N-m \"%Tm " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Motor Torque = 0.1442 N-m \n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.14 Page 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "J=4*10**-4 #in Kgm**2 \n", + "Tm=0.3 #in N-m\n", + "Qs=3 #in degree\n", + "\n", + "#Calculations\n", + "Qs=Qs*pi/180 #in radian\n", + "#Formula : Tm=J*Qs*dfBYdt #in N-m\n", + "dfBYdt=Tm/J/Qs #in step/sec**2\n", + "print \"Maximum acceleration = %0.3e steps/sec**2 \"%dfBYdt " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum acceleration = 1.432e+04 steps/sec**2 \n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1 Page 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi\n", + "# Given data\n", + "Ns=12 #poles\n", + "q=3 #no. of phase\n", + "Nr=8 #poles\n", + "speed=6000 #speed in rpm\n", + "\n", + "#Calculations\n", + "Beta=360/q/Nr #in degree\n", + "print \"Step Angle = %0.2f degree \"%Beta \n", + "fc=Nr*speed*2*pi/2/pi/60 #in Hz\n", + "print \"Commutation frequency at each phase = %0.f Hz \"%fc" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Step Angle = 15.00 degree \n", + "Commutation frequency at each phase = 800 Hz \n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2 Page 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Ns=10 #poles\n", + "q=5 #no. of phase\n", + "Nr=4 #poles\n", + "w=600 #speed in rpm\n", + "\n", + "#Calculations\n", + "Beta=360/q/Nr #in degree\n", + "print \"Step Angle = %0.2f degree \"%Beta \n", + "fc=Nr*w/60 #in Hz\n", + "print \"Commutation frequency at each phase = %0.2f Hz\" %fc\n", + "#Note : Answer is wrong in the book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Step Angle = 18.00 degree \n", + "Commutation frequency at each phase = 40.00 Hz\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 Page 197" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Ns=6 #poles\n", + "Nr=4 #poles\n", + "Beta_s=30 #in degree\n", + "Beta_r=32 #in degree\n", + "La=10.7 #in mH\n", + "LU=1.5 #in mH\n", + "i=7 #in A\n", + "q=3 #phase\n", + "\n", + "#Calculations\n", + "thetaK=2*180/4-(Beta_r+Beta_s)/2 #in degree\n", + "theta1=thetaK #in degree\n", + "thetaY=2*180/2-(Beta_r-Beta_s)/2 #in degree\n", + "theta2=thetaY #in degree\n", + "dTheta=theta2-theta1 #in degree\n", + "dL=La-LU #in mH\n", + "T=i**2/2*dL/dTheta #in N-m\n", + "lambda_a=La*i*10**-3 #in m\n", + "lambda_u=LU*i*10**-3 #in m\n", + "Wm=(lambda_a-lambda_u)/2*i #in joules\n", + "#Formula : Power transfered = Energy 1 sec \n", + "#Pm=2*pi*N*T/60=Wm*Nr*q*N/60\n", + "T=Wm*Nr*q/2/pi #in N-m\n", + "print \"Averagge torque = %0.2f N-m \"%T " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Averagge torque = 0.43 N-m \n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 Page 198" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Nr=4 #poles\n", + "La=10.7 #in mH\n", + "Lu=1.5 #in mH\n", + "i=7 #in A\n", + "q=3 #phase\n", + "\n", + "#Calculations\n", + "lambda_a=La*10**-3*i #in Wb/T\n", + "lambda_u=lambda_a #in Wb/T\n", + "i2=lambda_u/Lu/10**-3 #in Ampere\n", + "Wm=(i2-i)*lambda_u/2 #in Jooules\n", + "print \"Energy conversion per stroke = %0.3f Joules \"%Wm \n", + "T=Wm*q*Nr/2/pi #in N-m\n", + "print \"Average Tourque = %0.2f N-m \"%T " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Energy conversion per stroke = 1.608 Joules \n", + "Average Tourque = 3.07 N-m \n" + ] + } + ], + "prompt_number": 18 + } + ], + "metadata": {} + } + ] +} |