summaryrefslogtreecommitdiff
path: root/Power_Electronics/Power_electronics_ch_5.ipynb
diff options
context:
space:
mode:
authorhardythe12015-04-07 15:58:05 +0530
committerhardythe12015-04-07 15:58:05 +0530
commitc7fe425ef3c5e8804f2f5de3d8fffedf5e2f1131 (patch)
tree725a7d43dc1687edf95bc36d39bebc3000f1de8f /Power_Electronics/Power_electronics_ch_5.ipynb
parent62aa228e2519ac7b7f1aef53001f2f2e988a6eb1 (diff)
downloadPython-Textbook-Companions-c7fe425ef3c5e8804f2f5de3d8fffedf5e2f1131.tar.gz
Python-Textbook-Companions-c7fe425ef3c5e8804f2f5de3d8fffedf5e2f1131.tar.bz2
Python-Textbook-Companions-c7fe425ef3c5e8804f2f5de3d8fffedf5e2f1131.zip
added books
Diffstat (limited to 'Power_Electronics/Power_electronics_ch_5.ipynb')
-rwxr-xr-xPower_Electronics/Power_electronics_ch_5.ipynb1095
1 files changed, 1095 insertions, 0 deletions
diff --git a/Power_Electronics/Power_electronics_ch_5.ipynb b/Power_Electronics/Power_electronics_ch_5.ipynb
new file mode 100755
index 00000000..eed0454a
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_5.ipynb
@@ -0,0 +1,1095 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Choppers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.1, Page No. 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# chopper parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vi = 200.0 # input voltage\n",
+ "Vo = 150.0 # output voltage\n",
+ "R = 10.0 # resistance\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "alfa = Vo/Vi\n",
+ "#(b)\n",
+ "Iavg = Vo/R\n",
+ "Irms = math.sqrt(alfa)*Vi/R\n",
+ "#(c)\n",
+ "Irms_t = Irms\n",
+ "#(d)\n",
+ "Iavg_i = Iavg\n",
+ "#(e)\n",
+ "Reff = R/alfa\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Alfa = %.2f \"%alfa)\n",
+ "print(\"(b) Average load current = %.0f A\\n RMS load current = %.2f A\"%(Iavg,Irms))\n",
+ "print(\"(c) RMS thyristor current = %.2f A\"%Irms_t)\n",
+ "print(\"(d) Average input current = %.0f A\"%Iavg_i)\n",
+ "print(\"(e) Effective input resistance = %.3f ohm\"%Reff)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Alfa = 0.75 \n",
+ "(b) Average load current = 15 A\n",
+ " RMS load current = 17.32 A\n",
+ "(c) RMS thyristor current = 17.32 A\n",
+ "(d) Average input current = 15 A\n",
+ "(e) Effective input resistance = 13.333 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# periods of conduction and blocking in each cycle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vi = 230.0 # input voltage\n",
+ "Vav = 150.0 # output voltage\n",
+ "f = 1000.0 # frequency\n",
+ "\n",
+ "# Calculation\n",
+ "T = 1/f\n",
+ "Ton = Vav*T/Vi\n",
+ "Toff = T -Ton\n",
+ "\n",
+ "#Result\n",
+ "print(\"Conduction Period = %.3f*10^-3 s\\nBlocking period = %.3f*10^-3 s\"%(Ton*1000,Toff*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conduction Period = 0.652*10^-3 s\n",
+ "Blocking period = 0.348*10^-3 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.3, Page No. 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# periods of conduction and blocking\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ra = 0.06 # armature resistance\n",
+ "Rf = 0.03 # field resistance\n",
+ "I = 15.0 # Average circuit current\n",
+ "f = 500.0 # chopper frequency\n",
+ "Be = 100 # back emf of motor\n",
+ "Vi = 200 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "Vav = I*(Ra+Rf)+Be\n",
+ "T = 1/f\n",
+ "Ton = Vav*T/Vi\n",
+ "Toff = T -Ton\n",
+ "\n",
+ "#Result\n",
+ "print(\"Conduction Period = %.4f*10^-3 s\\nBlocking period = %.4f*10^-3 s\"%(Ton*1000,Toff*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conduction Period = 1.0135*10^-3 s\n",
+ "Blocking period = 0.9865*10^-3 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.4, Page No.250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Duty Cycle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 800.0 # rated speed in rpm\n",
+ "I = 20 # rated current\n",
+ "Ra = 0.5 # armature resistanc\n",
+ "V = 240.0 # supply voltage\n",
+ "N1 = 600.0 # motor speed\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Be_800 = V- I*Ra\n",
+ "Be_600 = Be_800*N1/N\n",
+ "Vav = Be_600 + I*Ra\n",
+ "D1 = Vav/V\n",
+ "#(b)\n",
+ "Ia = I/2.0\n",
+ "Vav2 = Be_600+Ia*Ra\n",
+ "D2 = Vav2/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Since torque is constant,Ia is also constant, i.e. %d A\\n Duty cycle = %.4f \"%(I,D1))\n",
+ "print(\"(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. %d A\\n Duty cycle = %.4f \"%(Ia,D2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Since torque is constant,Ia is also constant, i.e. 20 A\n",
+ " Duty cycle = 0.7604 \n",
+ "(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. 10 A\n",
+ " Duty cycle = 0.7396 \n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.5, Page No.256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# chopper parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 8.0 # load resistance\n",
+ "Vt = 2.0 # voltage drop across thyristor\n",
+ "f = 800.0 # chopper frequency\n",
+ "d = 0.4 # duty cycle\n",
+ "alfa = 0.5 # duty cycle for case 5\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vav = d*(V-Vt)\n",
+ "#(b)\n",
+ "Vl = math.sqrt(d)*(V-Vt)\n",
+ "#(c)\n",
+ "Po = (Vl**2)/R\n",
+ "Pi = d*V*(V-Vt)/R\n",
+ "eff = Po/Pi\n",
+ "#(d)\n",
+ "Ri = R/d\n",
+ "#(e)\n",
+ "Vl2 = 2*(V-Vt)/math.pi\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "V1 = Vl2/sqrt_2\n",
+ "V1 = math.floor(V1*1000)/1000\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vav = %.1f V\\n(b) Vl = %.3f V\\n(c) Chopper efficiency = %.0f%%\\n(d) Input resistance = %.0f ohm\"%(Vav,Vl,eff*100,Ri))\n",
+ "print(\"(e)\\nThe fundamental component (n=1) is,\\nVl = %.2fsin(%d*pi*t)\\nThe rms value of fundamental component is, V1 = %.3f V\"%(Vl2,2*f,V1))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vav = 79.2 V\n",
+ "(b) Vl = 125.226 V\n",
+ "(c) Chopper efficiency = 99%\n",
+ "(d) Input resistance = 20 ohm\n",
+ "(e)\n",
+ "The fundamental component (n=1) is,\n",
+ "Vl = 126.05sin(1600*pi*t)\n",
+ "The rms value of fundamental component is, V1 = 89.144 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.6, Page No. 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# chopping frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declartion\n",
+ "V = 400 # input voltage\n",
+ "R = 0 # resistance\n",
+ "L = 0.05 # inductance\n",
+ "alfa = 0.25 # duty cycle of chopper\n",
+ "I = 10 # load current\n",
+ "\n",
+ "#Calculation\n",
+ "Vav = V*alfa\n",
+ "Ton = L*I/(V-Vav)\n",
+ "T = Ton/alfa\n",
+ "f = 1/T\n",
+ "\n",
+ "#Result\n",
+ "print(\"Chopper frequency = %d pulses/s\"%(f))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Chopper frequency = 150 pulses/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.7, Page No. 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# chopper parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 4.0 # resistance\n",
+ "L = 6*10**-3 # inductance\n",
+ "V = 200.0 # voltage\n",
+ "alfa = 0.5 # duty cycle\n",
+ "f = 1000.0 # frequency\n",
+ "E = 0 # back emf \n",
+ "#calculations\n",
+ "T = 1/f\n",
+ "#(a)\n",
+ "x = R*T/L\n",
+ "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+ "Imax = math.ceil(Imax*100)/100\n",
+ "Imin = ((V/R)*(((math.e**(alfa*x))-1)/((math.e**(x))-1)))-(E/R)\n",
+ "Imin = math.floor(Imin*100)/100\n",
+ "#(b)\n",
+ "ripple = V/(f*R*L)\n",
+ "#(c)\n",
+ "Iavg = (Imax+Imin)/2\n",
+ "#(d)\n",
+ "Il = math.sqrt((Imin**2)+(((Imax-Imin)**2)/3)+(Imin*(Imax-Imin)))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "#(e)\n",
+ "Iavg_i =0.5*Iavg\n",
+ "#(f)\n",
+ "Irms_i = Il*math.sqrt(0.5)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Imax = %.2f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+ "print(\"(b) Maximum Ripple = %.2f A\\n(c) Average load current = %.0f A\"%(ripple,Iavg))\n",
+ "print(\"(d) rms load current = %.2f A\\n(e) Average input current = %.1f A\\n(f) RMS input current = %.3f A\"%(Il,Iavg_i,Irms_i))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Imax = 29.13 A\tImin = 20.87 A\n",
+ "(b) Maximum Ripple = 8.33 A\n",
+ "(c) Average load current = 25 A\n",
+ "(d) rms load current = 25.11 A\n",
+ "(e) Average input current = 12.5 A\n",
+ "(f) RMS input current = 17.755 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.8, Page No.258 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Load inductance\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 300 # input voltage\n",
+ "R = 5 # load resistance\n",
+ "f = 250.0 # chopping frequency\n",
+ "r = 0.20 # 20% ripple\n",
+ "I = 30 # Average load current\n",
+ "\n",
+ "#Calculations\n",
+ "x = r*I\n",
+ "L = V/(4*f*x)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.0f *10^-3 H\"%(L*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 50 *10^-3 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.9, Page No.258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Current at the instannce of turn off of thryster and 5 msec after turn off\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 0.5 # Armature resistance\n",
+ "L = 16*10**-3 # Arature inductance\n",
+ "V = 200.0 # DC input voltage\n",
+ "Be = 100.0 # Back emf\n",
+ "Imin = 10.0 # minimum load current\n",
+ "Toff = 2*10**-3 # thyristor turn off time\n",
+ "delay = 5*10**-3 # current at the to be calculated 5 msec after turn off\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "x = R/L\n",
+ "i = (((V-Be)/R)*(1-math.e**(-x*Toff)))+Imin*(math.e**(-x*Toff))\n",
+ "i = math.floor(i*100)/100\n",
+ "#(b)\n",
+ "i2 = i*(math.e**(-x*delay))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Current at the instance of turn off of thyristor = %.2f A\"%i)\n",
+ "print(\"(b) After the turn off of thyristor,the current freewheels 5 ms.\\n\\ti = %.2f A\"%i2)\n",
+ "# answers in the book are wrong:12.12+9.39=21.41"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Current at the instance of turn off of thyristor = 21.51 A\n",
+ "(b) After the turn off of thyristor,the current freewheels 5 ms.\n",
+ "\ti = 18.40 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.10, Page No. 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed of the motor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 220.0 # input voltage\n",
+ "Ra = 1.0 # armature resistance\n",
+ "N = 1000.0 # no load speed of the motor\n",
+ "alfa = 0.6 # duty cycle\n",
+ "I = 20 # motor current\n",
+ "E = 220.0 # back emf at no load\n",
+ "\n",
+ "# Calculations\n",
+ "Vi = V*alfa\n",
+ "Be = Vi-Ra*I\n",
+ "N1 = Be*N/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Speed of the motor = %.1f rpm\"%N1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Speed of the motor = 509.1 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.11, Page No.259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average load voltage of the chopper\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vi = 230.0 # input voltage\n",
+ "Ton = 25 # on time in ms\n",
+ "Toff = 10 # off time in ms\n",
+ "\n",
+ "#Calculations\n",
+ "V = Vi*Ton/(Ton+Toff)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average load voltage = %.3f V\"%V)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average load voltage = 164.286 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.12, Page No. 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# max, min and average load current and load voltage\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100.0 # applied voltage\n",
+ "Be = 0 # back emf\n",
+ "L = 1.0*10**-3 # inductance\n",
+ "R = 0.5 # Resistance\n",
+ "T = 3*10**-3 # Ton + Toff\n",
+ "Ton = 1*10**-3 # Ton\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = Ton/T\n",
+ "x = T*R/L\n",
+ "#(a)\n",
+ "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+ "#(b)\n",
+ "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+ "#(c)\n",
+ "Vavg = alfa*V\n",
+ "\n",
+ "#Result\n",
+ "print(\" Imax = %.2f A\\n Imin = %.1f A\\n Average load current = %.1f A\\n Average output voltage = %.2f V\"%(Imax,Imin,(Imax+Imin)/2,Vavg))\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Imax = 101.30 A\n",
+ " Imin = 37.3 A\n",
+ " Average load current = 69.3 A\n",
+ " Average output voltage = 33.33 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.13, Page No.259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# In One quadrant chopper, output voltage and current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100.0 # applied voltage\n",
+ "Be = 12.0 # back emf\n",
+ "L = 0.8*10**-3 # inductance\n",
+ "R = 0.2 # Resistance\n",
+ "T = 2.4*10**-3 # Ton + Toff\n",
+ "Ton = 1*10**-3 # Ton\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = Ton/T\n",
+ "x = T*R/L\n",
+ "#(a)\n",
+ "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+ "#(b)\n",
+ "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+ "#(c)\n",
+ "Vavg = alfa*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Imax = %.2f A\\n(b) Imin = %.1f A\\n(c) Average output voltage = %.2f V\"%(Imax,Imin,Vavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Imax = 245.13 A\n",
+ "(b) Imin = 172.7 A\n",
+ "(c) Average output voltage = 41.67 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.14, Page No. 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Series inductance\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 400.0 # chopping frequency\n",
+ "V = 500.0 # input voltage\n",
+ "I = 10 # maximum current swing\n",
+ "\n",
+ "#calculations\n",
+ "L = V/(4*f*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Series Inductance, L = %.2f*10^-3 H \"%(L*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Series Inductance, L = 31.25*10^-3 H \n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.15, Pager No.260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Motor speed and current swing\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 800.0 # input voltage\n",
+ "P = 300.0 # motor power rating in HP\n",
+ "eff = 0.9 # motor efficiency\n",
+ "R = 0.1 # total armature and field resistance\n",
+ "L = 100*10**-3 # inductance\n",
+ "alfa = 0.2 # duty cycle\n",
+ "N = 900.0 # motor rated speed \n",
+ "f = 400.0 # chopping frequency\n",
+ "\n",
+ "#Calculations\n",
+ "Po = P*735.5/1000\n",
+ "Pi = Po/eff\n",
+ "I = Pi*1000/V\n",
+ "Be = V-(I*R)\n",
+ "Be_duty = (alfa*V)-(I*R)\n",
+ "N2 = N*Be_duty/Be\n",
+ "di = (V- (alfa*V))*alfa/(L*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Motor speed = %.2f rpm\\nCurrent swing = %.1f A\"%(N2,di))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Motor speed = 151.32 rpm\n",
+ "Current swing = 3.2 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.16, Page No. 261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.17, Page No. 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.18, Page No. 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# step down chopper parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 2.0 # resistance\n",
+ "L = 10*10**-3 # inductance\n",
+ "E = 20.0 # back emf\n",
+ "T = 1000*10**-6 # chopping cycle\n",
+ "Ton =300*10**-6 # Ton time of thyrister\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "f = 1/T\n",
+ "x = (R*T)/L\n",
+ "alfa_min =(math.log(1+((E/V)*(math.e**(x)-1))))/x\n",
+ "alfa = Ton/T\n",
+ "#(b)\n",
+ "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+ "Imax = math.floor(Imax*10)/10\n",
+ "Imin = ((V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1)))-(E/R)\n",
+ "Imin = math.floor(Imin*100)/100\n",
+ "#(c)\n",
+ "Il = (alfa*V-E)/R\n",
+ "#(d)\n",
+ "x1 = alfa*V\n",
+ "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+ "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+ "x4 = (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+ "x5 = (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+ "x6 = (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+ "x7 = (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+ "d = f*2*math.pi\n",
+ "#(e)\n",
+ "Iavg = (alfa*(V-E)/R)-(L*(Imax-Imin)/(R*T))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Minimum required value of alfa = %.4f\\n Actual value of alfa = %.1f\"%(alfa_min,alfa))\n",
+ "print(\" Since actual value is more than minimum required for continuous current,the load current is continuous.\")\n",
+ "print(\"\\n(b) Imax = %.1f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+ "print(\"\\n(c) Average load current = %.0f A\"%Il)\n",
+ "print(\"\\n(d) Vl = %d + %.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)+....\"%(x1,x2,d,x3,d,x4,2*d,x5,2*d,x6,3*d,x7,3*d))\n",
+ "print(\"\\n(e) Average Input current = %.2f A\"%Iavg)\n",
+ "# answer for Imin is slightly greater than the answer given in book and hence answer for avg input current"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Minimum required value of alfa = 0.1095\n",
+ " Actual value of alfa = 0.3\n",
+ " Since actual value is more than minimum required for continuous current,the load current is continuous.\n",
+ "\n",
+ "(b) Imax = 22.1 A\tImin = 17.92 A\n",
+ "\n",
+ "(c) Average load current = 20 A\n",
+ "\n",
+ "(d) Vl = 60 + 60.55cos(6283.2t) + 83.33sin(6283.2t)-18.71cos(12566.4t) + 57.58sin(12566.4t)-12.47cos(18849.6t) + 4.05sin(18849.6t)+....\n",
+ "\n",
+ "(e) Average Input current = 6.10 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.19, Page No.266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# load current values\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 4.0 # resistance\n",
+ "L = 10*10**-3 # inductance\n",
+ "T = 1000*10**-6 # chopping cycle\n",
+ "Ton =300*10**-6 # Ton time of thyrister\n",
+ "\n",
+ "#Calculations\n",
+ "f = 1/T\n",
+ "alfa = Ton/T\n",
+ "x1 = alfa*V\n",
+ "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+ "x2 = math.ceil(x2*100)/100\n",
+ "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+ "x3 = math.floor(x3*100)/100\n",
+ "x4 = (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+ "x4 = math.floor(x4*100)/100\n",
+ "x5 = (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+ "x5 = math.floor(x5*100)/100\n",
+ "x6 = (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+ "x6 = math.ceil(x6*100)/100\n",
+ "x7 = (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+ "x7 = math.floor(x7*100)/100\n",
+ "\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "V1 = math.sqrt((x2**2+x3**2))/sqrt_2\n",
+ "V2 = math.sqrt((x4**2+x5**2))/sqrt_2\n",
+ "V3 = math.sqrt((x6**2+x7**2))/sqrt_2\n",
+ "Z1_mag = math.sqrt(R**2+(2*math.pi*f*L)**2)\n",
+ "Z1_angle = math.tan((2*math.pi*f*L)/R)\n",
+ "I1 = V1/Z1_mag\n",
+ "\n",
+ "Z2_mag = math.sqrt(R**2+(2*2*math.pi*f*L)**2)\n",
+ "Z2_angle = math.tan((2*2*math.pi*f*L)/R)\n",
+ "I2 = V2/Z2_mag\n",
+ "\n",
+ "Z3_mag = math.sqrt(R**2+(3*2*math.pi*f*L)**2)\n",
+ "Z3_angle = math.tan((3*2*math.pi*f*L)/R)\n",
+ "I3 = V3/Z3_mag\n",
+ "\n",
+ "Iavg = alfa*V/4\n",
+ "Irms = math.sqrt(Iavg**2+I1**2+I2**2+I3**2)\n",
+ "\n",
+ "print(\"RMS value of first harmonic component of load current = %.3f A\"%I1)\n",
+ "print(\"RMS value of second harmonic component of load current = %.4f A\"%I2)\n",
+ "print(\"RMS value of third harmonic component of load current = %.4f A\"%I3)\n",
+ "print(\"RMS value of load current = %.4f A\"%Irms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value of first harmonic component of load current = 1.157 A\n",
+ "RMS value of second harmonic component of load current = 0.3406 A\n",
+ "RMS value of third harmonic component of load current = 0.0492 A\n",
+ "RMS value of load current = 15.0485 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.20, Page No.273"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# L and C of the auxiliary commutation circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200 # input voltage\n",
+ "I = 50 # average current\n",
+ "Il = 60 # peak load current\n",
+ "Toff = 15*10**-6 # thyristor turn off current\n",
+ "l = 1.5 # max current limit of 150%\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "C = Toff*Il/V # C should be greater than this value\n",
+ "C1 = 5 *10**-6 # assumed\n",
+ "Ic = Il*l-Il\n",
+ "L = (V**2*(C1))/(Ic**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C > %.1f*10^-6, Therefore assume C = %.1f*10^6 F\"%(C*10**6,C1*10**6))\n",
+ "print(\"L = %.2f*10^-6 H\"%(L*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C > 4.5*10^-6, Therefore assume C = 5.0*10^6 F\n",
+ "L = 222.22*10^-6 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.21, Page No.277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# period of conduction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage \n",
+ "Vav = 250.0 # output voltage\n",
+ "Toff = 0.6*10**-3 # blocking period\n",
+ "\n",
+ "#calculation\n",
+ "Ton = (Vav*Toff/V) - Toff\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ton = %.2f*10^-3 second\"%(Ton*10**3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ton = 0.15*10^-3 second\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 5.22, Page No.277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# period of conduction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150.0 # input voltage \n",
+ "Vav = 250.0 # output voltage\n",
+ "Toff = 1*10**-3 # blocking period\n",
+ "\n",
+ "#calculation\n",
+ "Ton = (Vav*Toff/V) - Toff\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ton = %.4f*10^-3 second\"%(Ton*10**3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ton = 0.6667*10^-3 second\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file