diff options
author | hardythe1 | 2015-05-05 14:21:39 +0530 |
---|---|---|
committer | hardythe1 | 2015-05-05 14:21:39 +0530 |
commit | 435840cef00c596d9e608f9eb2d96f522ea8505a (patch) | |
tree | 4c783890c984c67022977ca98432e5e4bab30678 /Power_Electronics | |
parent | aa1863f344766ca7f7c20a395e58d0fb23c52130 (diff) | |
download | Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.tar.gz Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.tar.bz2 Python-Textbook-Companions-435840cef00c596d9e608f9eb2d96f522ea8505a.zip |
add books
Diffstat (limited to 'Power_Electronics')
59 files changed, 46806 insertions, 0 deletions
diff --git a/Power_Electronics/Chapter10_4.ipynb b/Power_Electronics/Chapter10_4.ipynb new file mode 100755 index 00000000..cbc3cb90 --- /dev/null +++ b/Power_Electronics/Chapter10_4.ipynb @@ -0,0 +1,228 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Cycloconverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2, Page No 594"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "R=10.0\n",
+ "a=30.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=(V_m/math.sqrt(2))*math.sqrt((1/math.pi)*(math.pi-a*math.pi/180+math.sin(math.radians(2*a))/2))\n",
+ "I_or=V_or/R \n",
+ "I_s=I_or\n",
+ "pf=(I_or**2*R)/(V_s*I_s) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of o/p current=%.2f A\" %I_or)\n",
+ "print(\"rms value of o/p current for each convertor=%.2f A\" %(I_or/math.sqrt(2)))\n",
+ "print(\"rms value of o/p current for each thyristor=%.3f A\" %(I_or/2))\n",
+ "print(\"i/p pf=%.4f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/p current=22.67 A\n",
+ "rms value of o/p current for each convertor=16.03 A\n",
+ "rms value of o/p current for each thyristor=11.333 A\n",
+ "i/p pf=0.9855\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4, Page No 604"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "V_ph=V_s/2\n",
+ "a=160.0\n",
+ "\n",
+ "#Calculations\n",
+ "r=math.cos(math.radians(180-a))\n",
+ "m=3\n",
+ "V_or=r*(V_ph*(m/math.pi)*math.sin(math.pi/m)) \n",
+ "R=2\n",
+ "X_L=1.5\n",
+ "th=math.degrees(math.atan(X_L/R))\n",
+ "Z=math.sqrt(R**2+X_L**2)\n",
+ "I_or=V_or/Z \n",
+ "P=I_or**2*R \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms o/p voltage=%.3f V\" %V_or)\n",
+ "print(\"rms o/p current=%.2f A\" %I_or)\n",
+ "print(\"phase angle of o/p current=%.2f deg\" %-th)\n",
+ "print(\"o/p power=%.2f W\" %P)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms o/p voltage=155.424 V\n",
+ "rms o/p current=62.17 A\n",
+ "phase angle of o/p current=-36.87 deg\n",
+ "o/p power=7730.11 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5 Page No 604"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "V_ph=V_s/2\n",
+ "V_l=V_ph*math.sqrt(3)\n",
+ "a=160.0\n",
+ "\n",
+ "#Calculations\n",
+ "r=math.cos(math.radians(180-a))\n",
+ "m=6\n",
+ "V_or=r*(V_l*(m/math.pi)*math.sin(math.pi/m)) \n",
+ "R=2\n",
+ "X_L=1.5\n",
+ "th=math.degrees(math.atan(X_L/R))\n",
+ "Z=math.sqrt(R**2+X_L**2)\n",
+ "I_or=V_or/Z \n",
+ "P=I_or**2*R \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms o/p voltage=%.2f V\" %V_or)\n",
+ "print(\"rms o/p current=%.2f A\" %I_or)\n",
+ "print(\"phase angle of o/p current=%.2f deg\" %-th)\n",
+ "print(\"o/p power=%.2f W\" %P)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms o/p voltage=310.85 V\n",
+ "rms o/p current=124.34 A\n",
+ "phase angle of o/p current=-36.87 deg\n",
+ "o/p power=30920.44 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7, Page No 605"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_l=400.0\n",
+ "V_ml=math.sqrt(2)*V_l\n",
+ "m=6\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "L=.0012\n",
+ "I=40.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or1=(V_ml*(m/math.pi)*math.sin(math.pi/m))*math.cos(math.radians(a))\n",
+ "V_omx1=V_or1-3*w*L*I/math.pi\n",
+ "V_rms1=V_omx1/math.sqrt(2) \n",
+ "a2=30.0\n",
+ "V_or2=(V_ml*(m/math.pi)*math.sin(math.pi/m))*math.cos(math.radians(a))\n",
+ "V_omx2=V_or2-3*w*L*I/math.pi\n",
+ "V_rms2=V_omx2/math.sqrt(2) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"for firing angle=0deg\")\n",
+ "a1=0\n",
+ "print(\"rms value of load voltage=%.2f V\" %V_rms2)\n",
+ "print(\"for firing angle=30deg\")\n",
+ "print(\"rms value of load voltage=%.2f V\" %V_rms2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle=0deg\n",
+ "rms value of load voltage=-369.12 V\n",
+ "for firing angle=30deg\n",
+ "rms value of load voltage=-369.12 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter11_4.ipynb b/Power_Electronics/Chapter11_4.ipynb new file mode 100755 index 00000000..d2317d28 --- /dev/null +++ b/Power_Electronics/Chapter11_4.ipynb @@ -0,0 +1,299 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11 : Some Applications"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1, Page No 622"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=11000.0\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "w=2*math.pi*f\n",
+ "I_d=300\n",
+ "R_d=1\n",
+ "g=20 #g=gamma\n",
+ "a=math.degrees(math.acos(math.cos(math.radians(g))+math.pi/(3*V_ml)*I_d*R_d)) \n",
+ "L_s=.01\n",
+ "V_d=(3/math.pi)*((V_ml*math.cos(math.radians(a)))-w*L_s*I_d) \n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle=%.3f deg\" %a)\n",
+ "print(\"rectifier o/p voltage=%.1f V\" %V_d)\n",
+ "print(\"dc link voltage=%.3f V\" %(2*V_d/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle=16.283 deg\n",
+ "rectifier o/p voltage=13359.3 V\n",
+ "dc link voltage=26.719 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2, Page No 623"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_d=(200.0+200)*10**3\n",
+ "P=1000.0*10**6\n",
+ "\n",
+ "#Calculations\n",
+ "I_d=P/V_d\n",
+ " #each thristor conducts for 120deg for a periodicity of 360deg\n",
+ "a=0\n",
+ "V_d=200.0*10**3\n",
+ "V_ml=V_d*math.pi/(3*math.cos(math.radians(a)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"rms current rating of thyristor=%.2f A\" %(I_d*math.sqrt(120/360)))\n",
+ "print(\"peak reverse voltage across each thyristor=%.2f kV\" %(V_ml/2/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms current rating of thyristor=0.00 A\n",
+ "peak reverse voltage across each thyristor=104.72 kV\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3 Page No 627"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_m=230.0\n",
+ "V_s=230/math.sqrt(2)\n",
+ "pf=0.8\n",
+ "P=2000.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_m=P/(V_s*pf)\n",
+ "I_Tr=I_m/math.sqrt(2)\n",
+ "I_TA=2*I_m/math.pi\n",
+ "fos=2 #factor of safety\n",
+ "PIV=V_m*math.sqrt(2)\n",
+ "I_Tr=I_m/(2)\n",
+ "I_TA=I_m/math.pi\n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of thyristor current=%.2f A\" %(fos*I_Tr))\n",
+ "print(\"avg value of thyristor current=%.3f A\" %(fos*I_TA))\n",
+ "print(\"voltage rating of thyristor=%.2f V\" %PIV)\n",
+ "print(\"rms value of diode current=%.3f A\" %(fos*I_Tr))\n",
+ "print(\"avg value of diode current=%.3f A\" %(fos*I_TA))\n",
+ "print(\"voltage rating of diode=%.2f V\" %PIV)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of thyristor current=15.37 A\n",
+ "avg value of thyristor current=9.786 A\n",
+ "voltage rating of thyristor=325.27 V\n",
+ "rms value of diode current=15.372 A\n",
+ "avg value of diode current=9.786 A\n",
+ "voltage rating of diode=325.27 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4, Page No 629"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=200.0\n",
+ "I=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "R_L=V/I \n",
+ "I_h=.005 #holding current\n",
+ "R2=V/I_h \n",
+ "t_c=20*10**-6\n",
+ "fos=2 #factor of safety\n",
+ "C=t_c*fos/(R_L*math.log(2)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"value of load resistance=%.0f ohm\" %R_L)\n",
+ "print(\"value of R2=%.0f kilo-ohm\" %(R2/1000))\n",
+ "print(\"value of C=%.3f uF\" %(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of load resistance=20 ohm\n",
+ "value of R2=40 kilo-ohm\n",
+ "value of C=2.885 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.5 Page No 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "u_r=10\n",
+ "f=10000.0 #Hz\n",
+ "p=4.0*10**-8 #ohm-m\n",
+ "\n",
+ "#Calculations\n",
+ "dl=(1/(2*math.pi))*math.sqrt(p*10**7/(u_r*f)) \n",
+ "l=0.12 #length of cylinder\n",
+ "t=20.0 #no of turns\n",
+ "I=100.0\n",
+ "H=t*I/l\n",
+ "P_s=2*math.pi*H**2*math.sqrt(u_r*f*p*10**-7) \n",
+ "d=.02 #diameter\n",
+ "P_v=4*H**2*p/(d*dl) \n",
+ "\n",
+ "#Results\n",
+ "print(\"depth of heat of penetration=%.5f mm\" %(dl*1000))\n",
+ "print(\"heat generated per unit cylinder surface area=%.3f W/m**2\" %P_s)\n",
+ "print(\"heat generated per unit cylinder volume=%.0f W/m**3\" %P_v)\n",
+ " #answer of P_v varies as given in book as value of d is not taken as in formulae. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "depth of heat of penetration=0.31831 mm\n",
+ "heat generated per unit cylinder surface area=34906.585 W/m**2\n",
+ "heat generated per unit cylinder volume=6981317 W/m**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 Page No 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=3000.0\n",
+ "\n",
+ "#Calculations\n",
+ "t_qmin=30.0*10**-6\n",
+ "f_r=f/(1-2*t_qmin*f)\n",
+ "R=0.06\n",
+ "L=20.0*10**-6\n",
+ "C=1/(L*((2*math.pi*f_r)**2+(R/(2*L))**2)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"required capacitor size=%.4f F\" %(C*10**6))\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required capacitor size=94.2215 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter12_4.ipynb b/Power_Electronics/Chapter12_4.ipynb new file mode 100755 index 00000000..f8605d69 --- /dev/null +++ b/Power_Electronics/Chapter12_4.ipynb @@ -0,0 +1,1997 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12 : Electic Drives"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1, Page No 658"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T_e=15.0 #Nm\n",
+ "K_m=0.5 #V-s/rad\n",
+ "I_a=T_e/K_m\n",
+ "n_m=1000.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "E_a=K_m*w_m\n",
+ "r_a=0.7\n",
+ "V_t=E_a+I_a*r_a\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=math.degrees(math.acos(2*math.pi*V_t/V_m-1))\n",
+ "print(\"firing angle delay=%.3f deg\" %a)\n",
+ "I_Tr=I_a*math.sqrt((180-a)/360) \n",
+ "print(\"rms value of thyristor current=%.3f A\" %I_Tr)\n",
+ "I_fdr=I_a*math.sqrt((180+a)/360) \n",
+ "print(\"rms value of freewheeling diode current=%.3f A\" %I_fdr)\n",
+ "pf=V_t*I_a/(V_s*I_Tr) \n",
+ "\n",
+ "#Results \n",
+ "print(\"input power factor=%.4f\" %pf)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=65.349 deg\n",
+ "rms value of thyristor current=16.930 A\n",
+ "rms value of freewheeling diode current=24.766 A\n",
+ "input power factor=0.5652\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2, Page No 660"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "E=150.0\n",
+ "R=8.0\n",
+ "\n",
+ "#Calculations\n",
+ "th1=math.sin(math.radians(E/(math.sqrt(2)*V)))\n",
+ "I_o=(1/(2*math.pi*R))*(2*math.sqrt(2)*230*math.cos(math.radians(th1))-E*(math.pi-2*th1*math.pi/180)) \n",
+ "P=E*I_o \n",
+ "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*(math.pi-2*th1*math.pi/180)+V**2*math.sin(math.radians(2*th1))-4*math.sqrt(2)*V*E*math.cos(math.radians(th1))))\n",
+ "P_r=I_or**2*R \n",
+ "pf=(P+P_r)/(V*I_or)\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg charging curent=%.4f A\" %I_o)\n",
+ "print(\"power supplied to the battery=%.2f W\" %P)\n",
+ "print(\"power dissipated by the resistor=%.3f W\" %P_r) \n",
+ "print(\"supply pf=%.3f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg charging curent=3.5679 A\n",
+ "power supplied to the battery=535.18 W\n",
+ "power dissipated by the resistor=829.760 W\n",
+ "supply pf=0.583\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 Page No 661"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesV_s=250\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=30.0\n",
+ "k=0.03 #Nm/A**2\n",
+ "n_m=1000.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "r=.2 #r_a+r_s\n",
+ "V_t=V_m/math.pi*(1+math.cos(math.radians(a)))\n",
+ "I_a=V_t/(k*w_m+r) \n",
+ "print(\"motor armature current=%.2f A\" %I_a)\n",
+ "T_e=k*I_a**2 \n",
+ "print(\"motor torque=%.3f Nm\" %T_e)\n",
+ "I_sr=I_a*math.sqrt((180-a)/180)\n",
+ "pf=(V_t*I_a)/(V_s*I_sr) \n",
+ "\n",
+ "#Results\n",
+ "print(\"input power factor=%.2f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor armature current=57.82 A\n",
+ "motor torque=100.285 Nm\n",
+ "input power factor=0.92\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4, Page No 663"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "V_f=2*V_m/math.pi\n",
+ "r_f=200.0\n",
+ "I_f=V_f/r_f\n",
+ "T_e=85.0\n",
+ "K_a=0.8\n",
+ "\n",
+ "#Calculations\n",
+ "I_a=T_e/(I_f*K_a) \n",
+ "print(\"rated armature current=%.2f A\" %I_a)\n",
+ "n_m=1200.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "r_a=0.2\n",
+ "V_t=K_a*I_f*w_m+I_a*r_a\n",
+ "a=math.degrees(math.acos(V_t*math.pi/(2*V_m)))\n",
+ "print(\"firing angle delay=%.2f deg\" %a)\n",
+ "E_a=V_t\n",
+ "w_mo=E_a/(K_a*I_f)\n",
+ "N=60*w_mo/(2*math.pi)\n",
+ "reg=((N-n_m)/n_m)*100 \n",
+ "print(\"speed regulation at full load=%.2f\" %reg)\n",
+ "I_ar=I_a\n",
+ "pf=(V_t*I_a)/(V_s*I_ar) \n",
+ "print(\"input power factor of armature convertor=%.4f\" %pf)\n",
+ "I_fr=I_f\n",
+ "I_sr=math.sqrt(I_fr**2+I_ar**2)\n",
+ "VA=I_sr*V_s\n",
+ "P=V_t*I_a+V_f*I_f\n",
+ "\n",
+ "#Results\n",
+ "print(\"input power factor of drive=%.4f\" %(P/VA))\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rated armature current=59.01 A\n",
+ "firing angle delay=57.63 deg\n",
+ "speed regulation at full load=6.52\n",
+ "input power factor of armature convertor=0.4821\n",
+ "input power factor of drive=0.5093\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 Page No 664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "V_f=2*V_m/math.pi\n",
+ "\n",
+ "#Calculations\n",
+ "a1=math.degrees(math.acos(V_t*math.pi/(2*V_m))) \n",
+ "print(\"delay angle of field converter=%.0f deg\" %a1)\n",
+ "r_f=200.0\n",
+ "I_f=V_f/r_f\n",
+ "T_e=85.0\n",
+ "K_a=0.8\n",
+ "I_a=T_e/(I_f*K_a)\n",
+ "n_m=1200.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "r_a=0.1\n",
+ "I_a=50.0\n",
+ "V_t=-K_a*I_f*w_m+I_a*r_a\n",
+ "a=math.degrees(math.acos(V_t*math.pi/(2*V_m)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle delay of armature converter=%.3f deg\" %a)\n",
+ "print(\"power fed back to ac supply=%.0f W\" %(-V_t*I_a))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "delay angle of field converter=58 deg\n",
+ "firing angle delay of armature converter=119.260 deg\n",
+ "power fed back to ac supply=8801 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 Page No 665"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_t=220.0\n",
+ "n_m=1500.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "I_a=10.0\n",
+ "r_a=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "K_m=(V_t-I_a*r_a)/(w_m)\n",
+ "T=5.0\n",
+ "I_a=T/K_m\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=30.0\n",
+ "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+ "w_m=(V_t-I_a*r_a)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "print(\"motor speed=%.2f rpm\" %N)\n",
+ "a=45\n",
+ "n_m=1000\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+ "I_a=(V_t-K_m*w_m)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"torque developed=%.3f Nm\" %T_e)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor speed=1254.22 rpm\n",
+ "torque developed=8.586 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7, Page No 666"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_t=220.0\n",
+ "n_m=1000.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "I_a=60.0\n",
+ "r_a=.1\n",
+ "\n",
+ "#Calculations\n",
+ "K_m=(V_t-I_a*r_a)/(w_m)\n",
+ "V_s=230\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "print(\"for 600rpm speed\")\n",
+ "n_m=600.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "a=math.degrees(math.acos((K_m*w_m+I_a*r_a)*math.pi/(2*V_m))) \n",
+ "print(\"firing angle=%.3f deg\" %a)\n",
+ "print(\"for -500rpm speed\")\n",
+ "n_m=-500.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "a=math.degrees(math.acos((K_m*w_m+I_a*r_a)*math.pi/(2*V_m)))\n",
+ "print(\"firing angle=%.2f deg\" %a)\n",
+ "I_a=I_a/2\n",
+ "a=150\n",
+ "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+ "w_m=(V_t-I_a*r_a)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor speed=%.3f rpm\" %N)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for 600rpm speed\n",
+ "firing angle=49.530 deg\n",
+ "for -500rpm speed\n",
+ "firing angle=119.19 deg\n",
+ "motor speed=-852.011 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 Page No 672"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.5\n",
+ "T_e=50.0\n",
+ "I_a=T_e/K_m\n",
+ "r_a=0.9\n",
+ "a=45.0\n",
+ "V_s=415.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "w_m=((3*V_ml*(1+math.cos(math.radians(a)))/(2*math.pi))-I_a*r_a)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor speed=%.2f rpm\" %N)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor speed=2854.42 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9 Page No 672"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesV_t=600\n",
+ "n_m=1500.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "I_a=80.0\n",
+ "r_a=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "K_m=(V_t-I_a*r_a)/(w_m)\n",
+ "V_s=400.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "print(\"for firing angle=45deg and speed=1200rpm\")\n",
+ "a=45.0\n",
+ "n_m=1200.0\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "I_a=(3*V_m*(1+math.cos(math.radians(a)))/(2*math.pi)-K_m*w_m)/r_a\n",
+ "I_sr=I_a*math.sqrt(2/3) \n",
+ "print(\"rms value of source current=%.3f A\" %I_sr)\n",
+ "print(\"rms value of thyristor current=%.3f A\" %(I_a*math.sqrt(1/3)))\n",
+ "print(\"avg value of thyristor current=%.2f A\" %I_a*(1/3))\n",
+ "pf=(3/(2*math.pi)*(1+math.cos(math.radians(a)))) \n",
+ "print(\"input power factor=%.3f\" %pf)\n",
+ "\n",
+ "print(\"for firing angle=90deg and speed=700rpm\")\n",
+ "a=90\n",
+ "n_m=700\n",
+ "w_m=2*math.pi*n_m/60\n",
+ "I_a=(3*V_m*(1+math.cos(math.radians(a)))/(2*math.pi)-K_m*w_m)/r_a\n",
+ "I_sr=I_a*math.sqrt(90/180) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of source current=%.3f A\" %I_sr)\n",
+ "print(\"rms value of thyristor current=%.3f A\" %(I_a*math.sqrt(90.0/360)))\n",
+ "print(\"avg value of thyristor current=%.3f A\" %I_a*(1/3))\n",
+ "pf=(math.sqrt(6)/(2*math.pi)*(1+math.cos(math.radians(a))))*math.sqrt(180/(180-a)) \n",
+ "print(\"input power factor=%.4f\" %pf)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle=45deg and speed=1200rpm\n",
+ "rms value of source current=0.000 A\n",
+ "rms value of thyristor current=0.000 A\n",
+ "\n",
+ "input power factor=0.815\n",
+ "for firing angle=90deg and speed=700rpm\n",
+ "rms value of source current=0.000 A\n",
+ "rms value of thyristor current=195.558 A\n",
+ "\n",
+ "input power factor=0.5513\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 Page No 676"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=30\n",
+ "V_t=3*V_m*math.cos(math.radians(a))/math.pi\n",
+ "I_a=21.0\n",
+ "r_a=.1\n",
+ "V_d=2.0\n",
+ "K_m=1.6\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=(V_t-I_a*r_a-V_d)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "print(\"speed of motor=%.1f rpm\" %N)\n",
+ "\n",
+ "N=2000\n",
+ "w_m=2*math.pi*N/60\n",
+ "I_a=210\n",
+ "V_t=K_m*w_m+I_a*r_a+V_d\n",
+ "a=math.degrees(math.acos(V_t*math.pi/(3*V_m)))\n",
+ "print(\"firing angle=%.2f deg\" %a)\n",
+ "I_sr=I_a*math.sqrt(2.0/3.0)\n",
+ "pf=V_t*I_a/(math.sqrt(3)*V_s*I_sr) \n",
+ "print(\"supply power factor=%.3f\" %pf)\n",
+ "\n",
+ "I_a=21\n",
+ "w_m=(V_t-I_a*r_a-V_d)/K_m\n",
+ "n=w_m*60/(2*math.pi)\n",
+ "reg=(n-N)/N*100 \n",
+ "\n",
+ "#Results\n",
+ "print(\"speed regulation(percent)=%.2f\" %reg)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "speed of motor=2767.6 rpm\n",
+ "firing angle=48.48 deg\n",
+ "supply power factor=0.633\n",
+ "speed regulation(percent)=5.64\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11, Page No 677"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_t=230.0\n",
+ "V_l=V_t*math.pi/(3*math.sqrt(2))\n",
+ "V_ph=V_l/math.sqrt(3)\n",
+ "V_in=400 #per phase voltage input\n",
+ "\n",
+ "#Calculations\n",
+ "N1=1500.0\n",
+ "I_a1=20.0\n",
+ "r_a1=.6\n",
+ "E_a1=V_t-I_a1*r_a1\n",
+ "n1=1000.0\n",
+ "E_a2=E_a1/1500.0*1000.0\n",
+ "V_t1=E_a1+I_a1*r_a1\n",
+ "a1=math.degrees(math.acos(V_t1*math.pi/(3*math.sqrt(2.0)*V_l)))\n",
+ "I_a2=.5*I_a1\n",
+ "n2=-900.0\n",
+ "V_t2=n2*E_a2/N1+I_a2*r_a1\n",
+ "a2=math.degrees(math.acos(V_t2*math.pi/(3*math.sqrt(2)*V_l))) \n",
+ "\n",
+ "#Results\n",
+ "print(\"transformer phase turns ratio=%.3f\" %(V_in/V_ph))\n",
+ "print(\"for motor running at 1000rpm at rated torque\")\n",
+ "print(\"firing angle delay=%.2f deg\" %a1)\n",
+ "print(\"for motor running at -900rpm at half of rated torque\")\n",
+ "print(\"firing angle delay=%.3f deg\" %a2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "transformer phase turns ratio=4.068\n",
+ "for motor running at 1000rpm at rated torque\n",
+ "firing angle delay=0.00 deg\n",
+ "for motor running at -900rpm at half of rated torque\n",
+ "firing angle delay=110.674 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12, Page No 678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesV_s=400\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "V_f=3*V_ml/math.pi\n",
+ "R_f=300.0\n",
+ "I_f=V_f/R_f\n",
+ "T_e=60.0\n",
+ "k=1.1\n",
+ "\n",
+ "#Calculations\n",
+ "I_a=T_e/(k*I_f)\n",
+ "N1=1000.0\n",
+ "w_m1=2*math.pi*N1/60\n",
+ "r_a1=.3\n",
+ "V_t1=k*I_f*w_m1+I_a*r_a1\n",
+ "a1=math.degrees(math.acos(V_f*math.pi/(3*V_ml)))\n",
+ "N2=3000\n",
+ "w_m2=2*math.pi*N/60\n",
+ "a2=0\n",
+ "V_t2=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+ "I_f2=(V_t2-I_a*r_a)/(w_m2*k)\n",
+ "V_f2=I_f2*R_f\n",
+ "a2=math.degrees(math.acos(V_f2*math.pi/(3*V_ml)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle=%.3f deg\" %a)\n",
+ "print(\"firing angle=%.3f deg\" %a)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle=48.477 deg\n",
+ "firing angle=48.477 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13, Page No 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ " #after calculating\n",
+ " #t=w_m/6000-math.pi/360\n",
+ "\n",
+ "N=1000.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*N/60\n",
+ "t=w_m/6000-math.pi/360 \n",
+ "\n",
+ "#Results\n",
+ "print(\"time reqd=%.2f s\" %t)\n",
+ " #printing mistake in the answer in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "time reqd=0.01 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14, Page No 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_a=1.0 #supposition\n",
+ "a=60.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_s1=2*math.sqrt(2)/math.pi*I_a*math.sin(math.radians(a))\n",
+ "I_s3=2*math.sqrt(2)/(3*math.pi)*I_a*math.sin(math.radians(3*a))\n",
+ "I_s5=2*math.sqrt(2)/(5*math.pi)*I_a*math.sin(math.radians(5*a))\n",
+ "per3=I_s3/I_s1*100 \n",
+ "print(\"percent of 3rd harmonic current in fundamental=%.2f\" %per3)\n",
+ "per5=I_s5/I_s1*100 \n",
+ "\n",
+ "#Results\n",
+ "print(\"percent of 5th harmonic current in fundamental=%.2f\" %per5)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "percent of 3rd harmonic current in fundamental=0.00\n",
+ "percent of 5th harmonic current in fundamental=-20.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15, Page No 680"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_a=60.0\n",
+ "I_TA=I_a/3 \n",
+ "\n",
+ "#Calculations\n",
+ "print(\"avg thyristor current=%.0f A\" %I_TA)\n",
+ "I_Tr=I_a/math.sqrt(3) \n",
+ "print(\"rms thyristor current=%.3f A\" %I_Tr)\n",
+ "V_s=400\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "I_sr=I_a*math.sqrt(2.0/3)\n",
+ "a=150\n",
+ "V_t=3*V_m*math.cos(math.radians(a))/math.pi\n",
+ "pf=V_t*I_a/(math.sqrt(3)*V_s*I_sr) \n",
+ "print(\"power factor of ac source=%.3f\" %pf)\n",
+ "\n",
+ "r_a=0.5\n",
+ "K_m=2.4\n",
+ "w_m=(V_t-I_a*r_a)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"Speed of motor=%.2f rpm\" %N)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg thyristor current=20 A\n",
+ "rms thyristor current=34.641 A\n",
+ "power factor of ac source=-0.827\n",
+ "Speed of motor=-1980.76 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16, Page No 685"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_a=300.0\n",
+ "V_s=600.0\n",
+ "a=0.6\n",
+ "V_t=a*V_s\n",
+ "P=V_t*I_a \n",
+ "\n",
+ "#Calculations\n",
+ "print(\"input power from source=%.0f kW\" %(P/1000))\n",
+ "R_eq=V_s/(a*I_a) \n",
+ "print(\"equivalent input resistance=%.3f ohm\" %R_eq)\n",
+ "k=.004\n",
+ "R=.04+.06\n",
+ "w_m=(a*V_s-I_a*R)/(k*I_a)\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "print(\"motor speed=%.1f rpm\" %N)\n",
+ "T_e=k*I_a**2 \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.0f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "input power from source=108 kW\n",
+ "equivalent input resistance=3.333 ohm\n",
+ "motor speed=2626.1 rpm\n",
+ "motor torque=360 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.17, Page No 686"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T_on=10.0\n",
+ "T_off=15.0\n",
+ "\n",
+ "#Calculations\n",
+ "a=T_on/(T_on+T_off)\n",
+ "V_s=230.0\n",
+ "V_t=a*V_s\n",
+ "r_a=3\n",
+ "K_m=.5\n",
+ "N=1500\n",
+ "w_m=2*math.pi*N/60\n",
+ "I_a=(V_t-K_m*w_m)/r_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor load current=%.3f A\" %I_a)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor load current=4.487 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.18, Page No 686"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "w_m=0 \n",
+ "print(\"lower limit of speed control=%.0f rpm\" %w_m)\n",
+ "I_a=25.0\n",
+ "r_a=.2\n",
+ "V_s=220\n",
+ "K_m=0.08\n",
+ "\n",
+ "#Calculations\n",
+ "a=(K_m*w_m+I_a*r_a)/V_s \n",
+ "print(\"lower limit of duty cycle=%.3f\" %a)\n",
+ "a=1 \n",
+ "print(\"upper limit of duty cycle=%.0f\" %a)\n",
+ "w_m=(a*V_s-I_a*r_a)/K_m \n",
+ "\n",
+ "#Results\n",
+ "print(\"upper limit of speed control=%.1f rpm\" %w_m)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "lower limit of speed control=0 rpm\n",
+ "lower limit of duty cycle=0.023\n",
+ "upper limit of duty cycle=1\n",
+ "upper limit of speed control=2687.5 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.21, Page No 691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=0.6\n",
+ "V_s=400.0\n",
+ "V_t=(1-a)*V_s\n",
+ "I_a=300.0\n",
+ "P=V_t*I_a \n",
+ "\n",
+ "#Calculations \n",
+ "print(\"power returned=%.0f kW\" %(P/1000))\n",
+ "r_a=.2\n",
+ "K_m=1.2\n",
+ "R_eq=(1-a)*V_s/I_a+r_a \n",
+ "print(\"equivalent load resistance=%.4f ohm\" %R_eq)\n",
+ "w_mn=I_a*r_a/K_m\n",
+ "N=w_mn*60/(2*math.pi) \n",
+ "print(\"min braking speed=%.2f rpm\" %N)\n",
+ "w_mx=(V_s+I_a*r_a)/K_m\n",
+ "N=w_mx*60/(2*math.pi) \n",
+ "print(\"max braking speed=%.1f rpm\" %N)\n",
+ "w_m=(V_t+I_a*r_a)/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"max braking speed=%.1f rpm\" %N)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power returned=48 kW\n",
+ "equivalent load resistance=0.7333 ohm\n",
+ "min braking speed=477.46 rpm\n",
+ "max braking speed=3660.6 rpm\n",
+ "max braking speed=1750.7 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.22, Page No 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "N=1500.0\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"when speed=1455rpm\")\n",
+ "n=1455.0\n",
+ "s1=(N-n)/N\n",
+ "r=math.sqrt(1/3)*(2/3)/(math.sqrt(s1)*(1-s1)) \n",
+ "print(\"I_2mx/I_2r=%.3f\" %r)\n",
+ "print(\"when speed=1350rpm\")\n",
+ "n=1350\n",
+ "s1=(N-n)/N\n",
+ "r=math.sqrt(1/3)*(2/3)/(math.sqrt(s1)*(1-s1)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"I_2mx/I_2r=%.3f\" %r)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when speed=1455rpm\n",
+ "I_2mx/I_2r=0.000\n",
+ "when speed=1350rpm\n",
+ "I_2mx/I_2r=0.000\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.24, Page No 705"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V1=400.0\n",
+ "r1=0.6\n",
+ "r2=0.4\n",
+ "s=1.0\n",
+ "x1=1.6\n",
+ "x2=1.6\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"at starting in normal conditions\")\n",
+ "I_n=V1/math.sqrt((r1+r2/s)**2+(x1+x2)**2) \n",
+ "print(\"current=%.2f A\" %I_n)\n",
+ "pf=(r1+r2)/math.sqrt((r1+r2/s)**2+(x1+x2)**2) \n",
+ "print(\"pf=%.4f\" %pf)\n",
+ "f1=50\n",
+ "w_s=4*math.pi*f1/4\n",
+ "T_en=(3/w_s)*I_n**2*(r2/s) \n",
+ "print(\"\\nTorque developed=%.2f Nm\" %T_en)\n",
+ "print(\"motor is operated with DOL starting\")\n",
+ "I_d=V1/2/math.sqrt((r1+r2/s)**2+((x1+x2)/2)**2) \n",
+ "print(\"current=%.0f A\" %I_d)\n",
+ "pf=(r1+r2)/math.sqrt((r1+r2/s)**2+((x1+x2)/2)**2) \n",
+ "print(\"pf=%.2f\" %pf)\n",
+ "f1=25\n",
+ "w_s=4*math.pi*f1/4\n",
+ "T_ed=(3/w_s)*I_d**2*(r2/s) \n",
+ "print(\"Torque developed=%.3f Nm\" %T_ed)\n",
+ "print(\"at max torque conditions\")\n",
+ "s_mn=r2/math.sqrt((r1)**2+((x1+x2))**2)\n",
+ "I_n=V1/math.sqrt((r1+r2/s_mn)**2+(x1+x2)**2) \n",
+ "print(\"current=%.3f A\" %I_n)\n",
+ "pf=(r1+r2/s_mn)/math.sqrt((r1+r2/s_mn)**2+(x1+x2)**2) \n",
+ "print(\"pf=%.4f\" %pf)\n",
+ "f1=50\n",
+ "w_s=4*math.pi*f1/4\n",
+ "T_en=(3/w_s)*I_n**2*(r2/s_mn) \n",
+ "print(\"Torque developed=%.2f Nm\" %T_en)\n",
+ "print(\"motor is operated with DOL starting\")\n",
+ "s_mn=r2/math.sqrt((r1)**2+((x1+x2)/2)**2)\n",
+ "I_d=V1/2/math.sqrt((r1+r2/s_mn)**2+((x1+x2)/2)**2) \n",
+ "print(\"current=%.3f A\" %I_d)\n",
+ "pf=(r1+r2/s_mn)/math.sqrt((r1+r2/s_mn)**2+((x1+x2)/2)**2) \n",
+ "print(\"\\npf=%.3f\" %pf)\n",
+ "f1=25\n",
+ "w_s=4*math.pi*f1/4\n",
+ "T_en=(3/w_s)*I_d**2*(r2/s_mn) \n",
+ "\n",
+ "\n",
+ "#Results \n",
+ "print(\"Torque developed=%.3f Nm\" %T_en)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "at starting in normal conditions\n",
+ "current=119.31 A\n",
+ "pf=0.2983\n",
+ "\n",
+ "Torque developed=108.75 Nm\n",
+ "motor is operated with DOL starting\n",
+ "current=106 A\n",
+ "pf=0.53\n",
+ "Torque developed=171.673 Nm\n",
+ "at max torque conditions\n",
+ "current=79.829 A\n",
+ "pf=0.7695\n",
+ "Torque developed=396.26 Nm\n",
+ "motor is operated with DOL starting\n",
+ "current=71.199 A\n",
+ "\n",
+ "pf=0.822\n",
+ "Torque developed=330.883 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.25, Page No 709"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "x1=1.0\n",
+ "X_m=50.0\n",
+ "X_e=x1*X_m/(x1+X_m)\n",
+ "V=231.0\n",
+ "V_e=V*X_m/(x1+X_m)\n",
+ "x2=1.0\n",
+ "r2=.4\n",
+ "r1=0\n",
+ "\n",
+ "#Calculations\n",
+ "s_m=r2/(x2+X_e) \n",
+ "print(\"slip at max torque=%.2f\" %s_m)\n",
+ "s_mT=r2/(x2+X_m) \n",
+ "print(\"slip at max torque=%.5f\" %s_mT)\n",
+ "f1=50.0\n",
+ "w_s=4*math.pi*f1/4\n",
+ "print(\"for constant voltage input\")\n",
+ "T_est=(3/w_s)*(V_e/math.sqrt(r2**2+(x2+X_e)**2))**2*(r2) \n",
+ "print(\"starting torque=%.3f Nm\" %T_est)\n",
+ "T_em=(3/w_s)*V_e**2/(2*(x2+X_e)) \n",
+ "print(\"maximum torque developed=%.2f Nm\" %T_em)\n",
+ "print(\"for constant current input\")\n",
+ "I1=28\n",
+ "T_est=(3/w_s)*(I1*X_m)**2/(r2**2+(x2+X_m)**2)*r2 \n",
+ "print(\"starting torque=%.3f Nm\" %T_est)\n",
+ "T_em=(3/w_s)*(I1*X_m)**2/(2*(x2+X_m)) \n",
+ "print(\"maximum torque developed=%.3f Nm\" %T_em)\n",
+ "s=s_mT\n",
+ "i=1\n",
+ "I_m=I1*(r2/s+i*x2)/(r2/s+i*(x2+X_m))\n",
+ "I_m=math.fabs(I_m)\n",
+ "V1=math.sqrt(3)*I_m*X_m \n",
+ "\n",
+ "#Results\n",
+ "print(\"supply voltage reqd=%.1f V\" %V1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "slip at max torque=0.20\n",
+ "slip at max torque=0.00784\n",
+ "for constant voltage input\n",
+ "starting torque=95.988 Nm\n",
+ "maximum torque developed=247.31 Nm\n",
+ "for constant current input\n",
+ "starting torque=5.756 Nm\n",
+ "maximum torque developed=366.993 Nm\n",
+ "supply voltage reqd=1236.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.27, Page No 718"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=420.0\n",
+ "V1=V/math.sqrt(3)\n",
+ "T_e=450.0\n",
+ "N=1440.0\n",
+ "n=1000.0\n",
+ "T_L=T_e*(n/N)**2\n",
+ "n1=1500.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_s=2*math.pi*n1/60\n",
+ "w_m=2*math.pi*n/60\n",
+ "a=.8\n",
+ "I_d=T_L*w_s/(2.339*a*V1)\n",
+ "k=0\n",
+ "R=(1-w_m/w_s)*(2.339*a*V1)/(I_d*(1-k)) \n",
+ "print(\"value of chopper resistance=%.4f ohm\" %R)\n",
+ "n=1320.0\n",
+ "T_L=T_e*(n/N)**2\n",
+ "I_d=T_L*w_s/(2.339*a*V1) \n",
+ "print(\"Inductor current=%.3f A\" %I_d)\n",
+ "w_m=2*math.pi*n/60\n",
+ "k=1-((1-w_m/w_s)*(2.339*a*V1)/(I_d*R)) \n",
+ "print(\"value of duty cycle=%.4f\" %k)\n",
+ "s=(n1-n)/n1\n",
+ "V_d=2.339*s*a*V1 \n",
+ "print(\"Rectifed o/p voltage=%.3f V\" %V_d)\n",
+ "P=V_d*I_d\n",
+ "I2=math.sqrt(2/3)*I_d\n",
+ "r2=0.02\n",
+ "Pr=3*I2**2*r2\n",
+ "I1=a*I2\n",
+ "r1=0.015\n",
+ "Ps=3*I1**2*r1\n",
+ "Po=T_L*w_m\n",
+ "Pi=Po+Ps+Pr+P\n",
+ "eff=Po/Pi*100 \n",
+ "\n",
+ "#Results\n",
+ "print(\"Efficiency(in percent)=%.2f\" %eff)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of chopper resistance=2.0132 ohm\n",
+ "Inductor current=130.902 A\n",
+ "value of duty cycle=0.7934\n",
+ "Rectifed o/p voltage=54.449 V\n",
+ "Efficiency(in percent)=88.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.28, Page No 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=400.0\n",
+ "V_ph=V/math.sqrt(3)\n",
+ "N_s=1000.0\n",
+ "N=800.0\n",
+ "a=.7\n",
+ "I_d=110\n",
+ "R=2.0\n",
+ "\n",
+ "#Calculations\n",
+ "k=1-((1-N/N_s)*(2.339*a*V_ph)/(I_d*R)) \n",
+ "print(\"value of duty cycle=%.3f\" %k)\n",
+ "P=I_d**2*R*(1-k)\n",
+ "I1=a*I_d*math.sqrt(2/3)\n",
+ "r1=0.1\n",
+ "r2=0.08\n",
+ "Pr=3*I1**2*(r1+r2)\n",
+ "P_o=20000\n",
+ "P_i=P_o+Pr+P\n",
+ "eff=P_o/P_i*100 \n",
+ "print(\"Efficiency=%.2f\" %eff)\n",
+ "I11=math.sqrt(6)/math.pi*a*I_d\n",
+ "th=43\n",
+ "P_ip=math.sqrt(3)*V*I11*math.cos(math.radians(th))\n",
+ "pf=P_ip/(math.sqrt(3)*V*I11) \n",
+ "\n",
+ "#Results\n",
+ "print(\"Input power factor=%.4f\" %pf)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of duty cycle=0.656\n",
+ "Efficiency=70.62\n",
+ "Input power factor=0.7314\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.29, Page No 724"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=420.0\n",
+ "V1=V/math.sqrt(3)\n",
+ "N=1000.0\n",
+ "w_m=2*math.pi*N/60\n",
+ "N_s=1500.0\n",
+ "\n",
+ "#Calculations\n",
+ "s=(N_s-N)/N_s\n",
+ "a=0.8\n",
+ "V_d=2.339*a*s*V1 \n",
+ "print(\"rectified voltage=%.2f V\" %V_d)\n",
+ "T=450.0\n",
+ "N1=1200.0\n",
+ "T_L=T*(N/N1)**2\n",
+ "f1=50\n",
+ "w_s=4*math.pi*f1/4\n",
+ "I_d=w_s*T_L/(2.339*a*V1) \n",
+ "print(\"inductor current=%.2f A\" %I_d)\n",
+ "a_T=-.4\n",
+ "a1=math.degrees(math.acos(s*a/a_T))\n",
+ "print(\"delay angle of inverter=%.2f deg\" %a1)\n",
+ "\n",
+ "P_s=V_d*I_d\n",
+ "P_o=T_L*w_m\n",
+ "R_d=0.01\n",
+ "P_i=I_d**2*R_d\n",
+ "I2=math.sqrt(2/3)*I_d\n",
+ "r2=0.02\n",
+ "r1=0.015\n",
+ "P_rol=3*I2**2*r2\n",
+ "I1=a*I2\n",
+ "P_sol=3*I1**2*r1\n",
+ "P_i=P_o+P_rol+P_sol+P_i\n",
+ "eff=P_o/P_i*100 \n",
+ "print(\"\\nefficiency=%.2f\" %eff)\n",
+ "w_m=w_s*(1+(-a_T/a)*math.cos(math.radians(a1))-w_s*R_d*T_L/(2.339*a*V1)**2)\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results \n",
+ "print(\"motor speed=%.1f rpm\" %N)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rectified voltage=151.25 V\n",
+ "inductor current=108.18 A\n",
+ "delay angle of inverter=131.81 deg\n",
+ "\n",
+ "efficiency=99.64\n",
+ "motor speed=996.4 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.30, Page No 726"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=700.0\n",
+ "E2=V/math.sqrt(3)\n",
+ "N_s=1500.0\n",
+ "N=1200.0\n",
+ "\n",
+ "#Calculations\n",
+ "s=(N_s-N)/N_s\n",
+ "V_dd=0.7\n",
+ "V_dt=1.5\n",
+ "V_d=3*math.sqrt(6)*s*E2/math.pi-2*V_dd\n",
+ "V1=415.0\n",
+ "a=math.degrees(math.acos((3*math.sqrt(2)*E2/math.pi)**-1*(-V_d+2*V_dt)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle advance=%.2f deg\" %(180-a))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle advance=70.22 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.31, Page No 726"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=700.0\n",
+ "E2=V/math.sqrt(3)\n",
+ "N_s=1500.0\n",
+ "N=1200.0\n",
+ "\n",
+ "#Calculations\n",
+ "s=(N_s-N)/N_s\n",
+ "V_dd=.7\n",
+ "V_dt=1.5\n",
+ "a=0\n",
+ "u=18 #overlap angle in case of rectifier\n",
+ "V_d=3*math.sqrt(6)*s*E2*(math.cos(math.radians(a))+math.cos(math.radians(a+u)))/(2*math.pi)-2*V_dd\n",
+ "V1=415\n",
+ "V_ml=math.sqrt(2)*V1\n",
+ "u=4 #overlap anglein the inverter\n",
+ " #V_dc=-(3*V_ml*(math.cos(math.radians(a))+math.cos(math.radians(a+u)))/(2*math.pi)-2*V_dt)\n",
+ " #V_dc=V_d\n",
+ " #after solving % (1+math.cos(math.radians(u)))*math.cos(math.radians(a))-math.sin(math.radians(u))*math.sin(math.radians(a))=-.6425\n",
+ "a=math.degrees(math.acos(-.6425/(math.sqrt((1+math.cos(math.radians(u)))**2+math.sin(math.radians(u))**2))))-math.degrees(math.asin(math.sin(math.radians(a))/(1+math.cos(math.radians(u)))))\n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle advance=%.2f deg\" %(180-a))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle advance=71.25 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.32, Page No 727"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=700.0\n",
+ "E2=V\n",
+ "N_s=1500.0\n",
+ "N=1200.0\n",
+ "\n",
+ "#Calculations\n",
+ "s=(N_s-N)/N_s\n",
+ "V1=415.0\n",
+ "a_T=s*E2/V1 \n",
+ "\n",
+ "#Results\n",
+ "print(\"voltage ratio of the transformer=%.2f\" %a_T)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "voltage ratio of the transformer=0.34\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.33, Page No 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "P=6.0\n",
+ "N_s=600.0\n",
+ "f1=P*N_s/120.0\n",
+ "V=400.0\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_t=f1*V/f \n",
+ "print(\"supply freq=%.0f Hz\" %V_t)\n",
+ "T=340.0\n",
+ "N=1000.0\n",
+ "T_L=T*(N_s/N)**2\n",
+ "w_s=2*math.pi*N_s/60\n",
+ "P=T_L*w_s\n",
+ "I_a=P/(math.sqrt(3)*V_t) \n",
+ "print(\"armature current=%.2f A\" %I_a)\n",
+ "Z_s=2\n",
+ "X_s=f1/f*math.fabs(Z_s)\n",
+ "V_t=V_t/math.sqrt(3)\n",
+ "Ef=math.sqrt(V_t**2+(I_a*X_s)**2)\n",
+ "print(\"excitation voltage=%.2f V\" %(math.sqrt(3)*Ef))\n",
+ "dl=math.degrees(math.atan(I_a*X_s/V_t))\n",
+ "print(\"load angle=%.2f deg\" %dl)\n",
+ "T_em=(3/w_s)*(Ef*V_t/X_s) \n",
+ "\n",
+ "#Results\n",
+ "print(\"pull out torque=%.2f Nm\" %T_em)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "supply freq=240 Hz\n",
+ "armature current=18.50 A\n",
+ "excitation voltage=243.06 V\n",
+ "load angle=9.10 deg\n",
+ "pull out torque=773.69 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.34, Page No 736"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "P=4.0\n",
+ "f=50.0\n",
+ "w_s=4*math.pi*f/P\n",
+ "X_d=8.0\n",
+ "X_q=2.0\n",
+ "T_e=80.0\n",
+ "V=400.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_t=V/math.sqrt(3)\n",
+ "dl=(1/2)*math.degrees(math.asin(T_e*w_s/((3/2)*(V_t)**2*(1/X_q-1/X_d)))) \n",
+ "print(\"load angle=%.3f deg\" %dl)\n",
+ "I_d=V_t*math.cos(math.radians(dl))/X_d\n",
+ "I_q=V_t*math.sin(math.radians(dl))/X_q\n",
+ "I_a=math.sqrt(I_d**2+I_q**2) \n",
+ "print(\"armature current=%.2f A\" %I_a)\n",
+ "pf=T_e*w_s/(math.sqrt(3)*V*I_a) \n",
+ "\n",
+ "#Results\n",
+ "print(\"input power factor=%.4f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "load angle=0.000 deg\n",
+ "armature current=28.87 A\n",
+ "input power factor=0.6283\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.35, Page No 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T_e=3.0\n",
+ "K_m=1.2\n",
+ "I_a=T_e/K_m\n",
+ "r_a=2.0\n",
+ "V=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "E_a=(0.263*math.sqrt(2)*V-I_a*r_a)/(1-55/180)\n",
+ "w_m=E_a/K_m\n",
+ "N=w_m*60/(2*math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor speed=%.2f rpm\" %N)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor speed=640.96 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.36, Page No 738"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.0\n",
+ "N=1360.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*N/60\n",
+ "E_a=K_m*w_m\n",
+ " #after calculations V_t % calculated\n",
+ "V_t=163.45\n",
+ "r_a=4\n",
+ "I_a=(V_t-E_a)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.4f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor torque=5.2578 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.37, Page No 740"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.0\n",
+ "N=2100.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*N/60\n",
+ "E_a=K_m*w_m\n",
+ " #after calculations V_t % calculated\n",
+ "V_t=227.66\n",
+ "r_a=4\n",
+ "I_a=(V_t-E_a)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.2f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor torque=1.94 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.38, Page No 742"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.0\n",
+ "N=840.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*N/60\n",
+ "E_a=K_m*w_m\n",
+ "V=230.0\n",
+ "a=75.0\n",
+ "V_t=math.sqrt(2)*V/math.pi*(1+math.cos(math.radians(a)))\n",
+ "r_a=4\n",
+ "I_a=(V_t-E_a)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.4f Nm\" %T_e)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor torque=10.5922 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.39, Page No 743"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.0\n",
+ "N=1400.0\n",
+ "\n",
+ "#Calculations\n",
+ "w_m=2*math.pi*N/60\n",
+ "E_a=K_m*w_m\n",
+ "V=230.0\n",
+ "a=60.0\n",
+ "a1=212\n",
+ "V_t=math.sqrt(2)*V/math.pi*(math.cos(math.radians(a))-math.cos(math.radians(a1)))+E_a*(180+a-a1)/180\n",
+ "r_a=3\n",
+ "I_a=(V_t-E_a)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.3f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor torque=5.257 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.40, Page No 745"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "K_m=1.0\n",
+ "N=600.0\n",
+ "w_m=2*math.pi*N/60\n",
+ "E_a=K_m*w_m\n",
+ "V=230.0\n",
+ "a=60.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_t=2*math.sqrt(2)*V/math.pi*(math.cos(math.radians(a)))\n",
+ "r_a=3\n",
+ "I_a=(V_t-E_a)/r_a\n",
+ "T_e=K_m*I_a \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"motor torque=%.3f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "motor torque=13.568 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.41, Page No 745"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "r1=.6\n",
+ "r2=.4\n",
+ "s=0.04\n",
+ "x1=1.6\n",
+ "x2=1.6\n",
+ "Z=(r1+r2/s)+(x1+x2)\n",
+ "V=400.0\n",
+ "I1=V/Z \n",
+ "print(\"source current=%.3f A \" %math.degrees(math.atan(I1.imag/I1.real)))\n",
+ "print(\"and with %.1f deg phase\" %math.fabs(I1))\n",
+ "I2=V/Z\n",
+ "N=1500\n",
+ "w_s=2*math.pi*N/60\n",
+ "T_e=(3/w_s)*abs(I2)**2*r2/s \n",
+ "print(\"motor torque=%.2f Nm\" %T_e)\n",
+ "N_r=N*(1-s)\n",
+ "\n",
+ "f=45\n",
+ "N_s1=120*f/4\n",
+ "w_s=2*math.pi*N_s1/60\n",
+ "s1=(N_s1-N_r)/N_s1\n",
+ "Z=(r1+r2/s1)+(x1+x2)*f/50.0\n",
+ "V=360\n",
+ "I1=V/Z \n",
+ "print(\"source current=%.3f A \" %math.degrees(math.atan(I1.imag/I1.real)))\n",
+ "print(\"and with %.1f deg phase\" %math.fabs(I1))\n",
+ "I2=V/Z\n",
+ "T_e=(3/w_s)*abs(I2)**2*r2/s1 \n",
+ "print(\"motor torque=%.2f Nm\" %T_e)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "source current=0.000 A \n",
+ "and with 29.0 deg phase\n",
+ "motor torque=160.46 Nm\n",
+ "source current=-0.000 A \n",
+ "and with 142.9 deg phase\n",
+ "motor torque=-2598.45 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter13_4.ipynb b/Power_Electronics/Chapter13_4.ipynb new file mode 100755 index 00000000..62d2a926 --- /dev/null +++ b/Power_Electronics/Chapter13_4.ipynb @@ -0,0 +1,342 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13 : Power Factor Improvement"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1, Page No 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=250.0\n",
+ "R_l=5.0\n",
+ "I_l=20.0\n",
+ "V_l1=math.sqrt(V_s**2-(R_l*I_l)**2)\n",
+ "reg2=(V_s-V_l1)/V_s*100 \n",
+ "pf1=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "P_l1=V_l1*I_l*pf1 #load power\n",
+ "P_r1=V_s*I_l*pf1 #max powwible system rating\n",
+ "utf1=P_l1*100/P_r1 \n",
+ "pf2=0.5\n",
+ " #(.5*V_l)**2+(.866*V_l+R_l*I_l)**2=V_s**2\n",
+ " #after solving\n",
+ "V_l2=158.35 \n",
+ "reg2=(V_s-V_l2)/V_s*100 \n",
+ "P_l2=V_l2*I_l*pf2 #load power\n",
+ "P_r2=V_s*I_l #max powwible system rating\n",
+ "utf2=P_l2*100/P_r2 \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"for pf=1\")\n",
+ "print(\"load voltage=%.2f V\" %V_l1)\n",
+ "print(\"voltage regulation=%.2f\" %reg1)\n",
+ "print(\"system utilisation factor=%.3f\" %utf1)\n",
+ "print(\"energy consumed(in units)=%.1f\" %(P_l1/1000))\n",
+ "print(\"for pf=.5\")\n",
+ "print(\"load voltage=%.2f V\" %V_l2)\n",
+ "print(\"voltage regulation=%.2f\" %reg2)\n",
+ "print(\"system utilisation factor=%.3f\" %utf2)\n",
+ "print(\"energy consumed(in units)=%.2f\" %(P_l2/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'reg1' is not defined",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m<ipython-input-2-ffdbe43fd921>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"for pf=1\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"load voltage=%.2f V\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mV_l1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 27\u001b[1;33m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"voltage regulation=%.2f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mreg1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 28\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"system utilisation factor=%.3f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mutf1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 29\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"energy consumed(in units)=%.1f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mP_l1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m1000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mNameError\u001b[0m: name 'reg1' is not defined"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for pf=1\n",
+ "load voltage=229.13 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2, Page No 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=50.0\n",
+ "V_s=230.0\n",
+ "I_m1=2\n",
+ "pf1=.3\n",
+ "\n",
+ "#Calculations\n",
+ "I_c1=I_m1*math.sin(math.radians(math.degrees(math.acos(pf1))))\n",
+ "C1=I_c1/(2*math.pi*f*V_s) \n",
+ "I_m2=5\n",
+ "pf2=.5\n",
+ "I_c2=I_m2*math.sin(math.radians(math.degrees(math.acos(pf2))))\n",
+ "C2=I_c2/(2*math.pi*f*V_s) \n",
+ "I_m3=10\n",
+ "pf3=.7\n",
+ "I_c3=I_m3*math.sin(math.radians(math.degrees(math.acos(pf3))))\n",
+ "C3=I_c3/(2*math.pi*f*V_s) \n",
+ "\n",
+ "#Results\n",
+ "print(\"at no load\")\n",
+ "print(\"value of capacitance=%.3f uF\" %(C1*10**6))\n",
+ "print(\"at half full load\")\n",
+ "print(\"value of capacitance=%.3f uF\" %(C2*10**6))\n",
+ "print(\"at full load\")\n",
+ "print(\"value of capacitance=%.3f uF\" %(C3*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "at no load\n",
+ "value of capacitance=26.404 uF\n",
+ "at half full load\n",
+ "value of capacitance=59.927 uF\n",
+ "at full load\n",
+ "value of capacitance=98.834 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 Page No 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_c=10.0\n",
+ "f=50.0\n",
+ "V_s=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "C=I_c/(2*math.pi*f*V_s) \n",
+ "I_l=10\n",
+ "L=V_s/(2*math.pi*f*I_l) \n",
+ "\n",
+ "#Results\n",
+ "print(\"value of capacitance=%.3f uF\" %(C*10**6))\n",
+ "print(\"value of inductor=%.3f mH\" %(L*1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of capacitance=138.396 uF\n",
+ "value of inductor=73.211 mH\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4, Page No 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "I_L=10.0\n",
+ "X_L=V_s/I_L\n",
+ "I_f1=6.0\n",
+ " #B=2*a-math.sin(2*a)\n",
+ "B=2*math.pi-I_f1*math.pi*X_L/V_s\n",
+ "a=0\n",
+ "i=1.0\n",
+ "for a in range(1,360):\n",
+ " b=2*a*math.pi/180-math.sin(math.radians(2*a)) \n",
+ " if math.fabs(B-b)<=0.001 : #by hit and trial\n",
+ " i=2\n",
+ " break\n",
+ "print(\"firing angle of TCR = %.1f deg\" %a)\n",
+ " #(a-.01)*180/math.pi)\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle of TCR = 359.0 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 Page No 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "L=.01\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"for firing angle=90deg\")\n",
+ "a=90*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "print(\"effective inductance=%.0f mH\" %(L_eff*1000))\n",
+ "print(\"for firing angle=120deg\")\n",
+ "a=120*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "print(\"effective inductance=%.3f mH\" %(L_eff*1000))\n",
+ "print(\"for firing angle=150deg\")\n",
+ "a=150*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "print(\"effective inductance=%.2f mH\" %(L_eff*1000))\n",
+ "print(\"for firing angle=170deg\")\n",
+ "a=170*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "print(\"effective inductance=%.3f H\" %L_eff)\n",
+ "print(\"for firing angle=175deg\")\n",
+ "a=175*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"effective inductance=%.2f H\" %L_eff)\n",
+ "print(\"for firing angle=180deg\")\n",
+ "a=180*math.pi/180\n",
+ "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a)) \n",
+ "print(\"effective inductance=%.3f H\" %L_eff)\n",
+ " #random value at firing angle =180 is equivalent to infinity as in answer in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle=90deg\n",
+ "effective inductance=10 mH\n",
+ "for firing angle=120deg\n",
+ "effective inductance=25.575 mH\n",
+ "for firing angle=150deg\n",
+ "effective inductance=173.40 mH\n",
+ "for firing angle=170deg\n",
+ "effective inductance=4.459 H\n",
+ "for firing angle=175deg\n",
+ "effective inductance=35.51 H\n",
+ "for firing angle=180deg\n",
+ "effective inductance=-128265253940037.750 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 Page No 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Q=100.0*10**3\n",
+ "V_s=11.0*10**3\n",
+ "\n",
+ "#Calculations\n",
+ "f=50.0\n",
+ "L=V_s**2/(2*math.pi*f*Q) \n",
+ "\n",
+ "#Results\n",
+ "print(\"effective inductance=%.4f H\" %L)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "effective inductance=3.8515 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter14_4.ipynb b/Power_Electronics/Chapter14_4.ipynb new file mode 100755 index 00000000..a9c3a3f1 --- /dev/null +++ b/Power_Electronics/Chapter14_4.ipynb @@ -0,0 +1,93 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14 : Miscellaneous Topics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1, Page No 777"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a1=0\n",
+ "a2=45.0\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"for two single phase series semiconvertors\")\n",
+ "V_0=V_m/math.pi*(2+math.cos(math.radians(a1))+math.cos(math.radians(a2))) \n",
+ "print(\"avg o/p voltage=%.2f V\" %V_0)\n",
+ "V_or=V_s*math.sqrt((1/math.pi)*(4*math.pi-3*a2*math.pi/180+(3/2)*math.sin(math.radians(2*a2)))) \n",
+ "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+ "DF=(3+math.cos(math.radians(a2)))/(math.sqrt(2)*math.sqrt(5+3*math.cos(math.radians(a2)))) \n",
+ "print(\"DF=%.2f\" %DF)\n",
+ "PF=math.sqrt(2/math.pi)*(3+math.cos(math.radians(a2)))/math.sqrt(4*math.pi-3*a2*math.pi/180) \n",
+ "print(\"PF=%.2f\" %PF)\n",
+ "HF=math.sqrt((math.pi*(math.pi-(3/4)*a2*math.pi/180)/(5+3*math.cos(math.radians(a2))))-1) \n",
+ "print(\"HF=%.2f\" %HF)\n",
+ "print(\"for two single phase series full convertors\")\n",
+ "a=45.0\n",
+ "V_0=2*V_m/math.pi*(1+math.cos(math.radians(a))) \n",
+ "print(\"avg o/p voltage=%.2f V\" %V_0)\n",
+ "V_or=2*V_s*math.sqrt((1/math.pi)*(math.pi-a2*math.pi/180+(1/2)*math.sin(math.radians(2*a2)))) \n",
+ "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+ "DF=math.cos(math.radians(a2/2)) \n",
+ "\n",
+ "\n",
+ "#Results \n",
+ "print(\"DF=%.2f\" %DF)\n",
+ "PF=math.sqrt(2/(math.pi*(math.pi-a2*math.pi/180)))*(1+math.cos(math.radians(a2))) \n",
+ "print(\"PF=%.2f\" %PF)\n",
+ "HF=math.sqrt((math.pi*(math.pi-a2*math.pi/180)/(4+4*math.cos(math.radians(a2))))-1) \n",
+ "print(\"HF=%.2f\" %HF)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for two single phase series semiconvertors\n",
+ "avg o/p voltage=383.82 V\n",
+ "rms value of o/p voltage=434.47 V\n",
+ "DF=0.98\n",
+ "PF=0.93\n",
+ "HF=0.62\n",
+ "for two single phase series full convertors\n",
+ "avg o/p voltage=353.50 V\n",
+ "rms value of o/p voltage=398.37 V\n",
+ "DF=0.92\n",
+ "PF=0.89\n",
+ "HF=0.29\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter2_4.ipynb b/Power_Electronics/Chapter2_4.ipynb new file mode 100755 index 00000000..1872c9f4 --- /dev/null +++ b/Power_Electronics/Chapter2_4.ipynb @@ -0,0 +1,233 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 02 : Power Semiconductor Diodes and Transistors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1, Page No 21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "B=40.0\n",
+ "R_c=10 #ohm\n",
+ "V_cc=130.0 #V\n",
+ "V_B=10.0 #V\n",
+ "V_CES=1.0 #V\n",
+ "V_BES=1.5 #V\n",
+ "\n",
+ "#Calculations\n",
+ "I_CS=(V_cc-V_CES)/R_c #A\n",
+ "I_BS=I_CS/B #A\n",
+ "R_B1=(V_B-V_BES)/I_BS\n",
+ "P_T1=V_BES*I_BS+V_CES*I_CS\n",
+ "ODF=5\n",
+ "I_B=ODF*I_BS\n",
+ "R_B2=(V_B-V_BES)/I_B\n",
+ "P_T2=V_BES*I_B+V_CES*I_CS\n",
+ "B_f=I_CS/I_B\n",
+ "\n",
+ "#Results\n",
+ "print(\"value of R_B in saturated state= %.2f ohm\" %R_B1)\n",
+ "print(\"Power loss in transistor=%.2f W\" %P_T1)\n",
+ "print(\"Value of R_B for an overdrive factor 5 = %.2f ohm\" %R_B2)\n",
+ "print(\"Power loss in transistor = %.2f W\" %P_T2)\n",
+ "print(\"Forced current gain=%.0f\" %B_f)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of R_B in saturated state= 26.36 ohm\n",
+ "Power loss in transistor=13.38 W\n",
+ "Value of R_B for an overdrive factor 5 = 5.27 ohm\n",
+ "Power loss in transistor = 15.32 W\n",
+ "Forced current gain=8\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2, Page No 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "I_CEO=2*10**-3 #A\n",
+ "V_CC=220.0 #V\n",
+ "P_dt=I_CEO*V_CC #instant. power loss during delay time\n",
+ "t_d=.4*10**-6 #s\n",
+ "f=5000\n",
+ "P_d=f*I_CEO*V_CC*t_d #avg power loss during delay time\n",
+ "V_CES=2 #V\n",
+ "t_r=1*10**-6 #s\n",
+ "I_CS=80 #A\n",
+ "\n",
+ "#Calculations\n",
+ "P_r=f*I_CS*t_r*(V_CC/2-(V_CC-V_CES)/3) #avg power loss during rise time\n",
+ "t_m=V_CC*t_r/(2*(V_CC-V_CES))\n",
+ "P_rm=I_CS*V_CC**2/(4*(V_CC-V_CES)) #instant. power loss during rise time\n",
+ "\n",
+ "#Results\n",
+ "P_on=P_d+P_r \n",
+ "print(\"Avg power loss during turn on = %.2f W\" %P_on)\n",
+ "P_nt=I_CS*V_CES \n",
+ "print(\"Instantaneous power loss during turn on = %.0f W\" %P_nt)\n",
+ "t_n=50*10**-6\n",
+ "P_n=f*I_CS*V_CES*t_n\n",
+ "print(\"Avg power loss during conduction period = %.0f W\" %P_n)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Avg power loss during turn on = 14.93 W\n",
+ "Instantaneous power loss during turn on = 160 W\n",
+ "Avg power loss during conduction period = 40 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3 Page No 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "I_CEO=2*10**-3 #A\n",
+ "V_CC=220 #V\n",
+ "t_d=.4*10**-6 #s\n",
+ "f=5000\n",
+ "V_CES=2 #V\n",
+ "t_r=1*10**-6 #s\n",
+ "I_CS=80 #A\n",
+ "t_n=50*10**-6 #s\n",
+ "t_0=40*10**-6 #s\n",
+ "t_f=3*10**-6 #s\n",
+ "\n",
+ "#Calculations\n",
+ "P_st=I_CS*V_CES # instant. power loss during t_s\n",
+ "P_s=f*I_CS*V_CES*t_f #avg power loss during t_s\n",
+ "P_f=f*t_f*(I_CS/6)*(V_CC-V_CES) #avg power loss during fall time\n",
+ "P_fm=(I_CS/4)*(V_CC-V_CES) #peak instant power dissipation\n",
+ "P_off=P_s+P_f\n",
+ "\n",
+ "#Results\n",
+ "print(\"Total avg power loss during turn off = %.2f W\" %P_off)\n",
+ "P_0t=I_CEO*V_CC\n",
+ "print(\"Instantaneous power loss during t_0 = %.2f W\" %P_0t)\n",
+ "P_0=f*I_CEO*V_CC*t_0 #avg power loss during t_s\n",
+ "P_on=14.9339 #W from previous eg\n",
+ "P_n=40 #W from previous eg\n",
+ "P_T=P_on+P_n+P_off+P_0 \n",
+ "print(\"Total power loss = %.2f W\" %P_T)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total avg power loss during turn off = 44.91 W\n",
+ "Instantaneous power loss during t_0 = 0.44 W\n",
+ "Total power loss = 99.93 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4, Page No 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_CS=100.0 \n",
+ "V_CC=200.0 \n",
+ "t_on=40*10**-6\n",
+ "\n",
+ "#Calculations\n",
+ "P_on=(I_CS/50)*10**6*t_on*(V_CC*t_on/2-(V_CC*10**6*t_on**2/(40*3))) #energy during turn on\n",
+ "t_off=60*10**-6\n",
+ "P_off=(I_CS*t_off/2-(I_CS/60)*10**6*(t_off**2)/3)*((V_CC/75)*10**6*t_off) #energy during turn off\n",
+ "P_t=P_on+P_off #total energy\n",
+ "P_avg=300.0\n",
+ "f=P_avg/P_t\n",
+ "\n",
+ "#Results\n",
+ "print(\"Allowable switching frequency = %.2f Hz\" %f)\n",
+ "#in book ans is: f=1123.6 Hz. The difference in results due to difference in rounding of of digits"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Allowable switching frequency = 1125.00 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter3_4.ipynb b/Power_Electronics/Chapter3_4.ipynb new file mode 100755 index 00000000..2e53ef9d --- /dev/null +++ b/Power_Electronics/Chapter3_4.ipynb @@ -0,0 +1,1001 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 03 : Diode Circuits and Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2, Page No 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0 #V\n",
+ "V_o=100.0 #V\n",
+ "L=100.0 #uH\n",
+ "C=30.0 #uF\n",
+ "\n",
+ "#Calculations\n",
+ "t_o=math.pi*math.sqrt(L*C)\n",
+ "print(\"conduction time of diode = %.2f us\" %t_o)\n",
+ "#in book solution is t_o=54.77 us. The ans is incorrect as %pi is not muliplied in ans. Formulae mentioned in correct.\n",
+ "I_p=(V_s-V_o)*math.sqrt(C/L)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Peak current through diode=%.2f A\" %I_p)\n",
+ "v_D=-V_s+V_o \n",
+ "print(\"Voltage across diode = %.2f V\" %v_D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conduction time of diode = 172.07 us\n",
+ "Peak current through diode=164.32 A\n",
+ "Voltage across diode = -300.00 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6, Page No 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R=10 #ohm\n",
+ "L=0.001 #H\n",
+ "C=5*10**-6 #F\n",
+ "V_s=230 #V\n",
+ "xi=R/(2*L)\n",
+ "\n",
+ "#Calculations\n",
+ "w_o=1/math.sqrt(L*C)\n",
+ "w_r=math.sqrt((1/(L*C))-(R/(2*L))**2)\n",
+ "t=math.pi/w_r \n",
+ "\n",
+ "#Results\n",
+ "print('Conduction time of diode=%.3f us'%(t*10**6))\n",
+ "t=0\n",
+ "di=V_s/L\n",
+ "print('Rate of change of current at t=0 is %.2f A/s' %di)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conduction time of diode=237.482 us\n",
+ "Rate of change of current at t=0 is 230000.00 A/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 Page No 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "I_or=100 #A\n",
+ "R=1.0 #assumption\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=I_or*2*R\n",
+ "I_o=V_m/(math.pi*R)\n",
+ "q=200 #Ah\n",
+ "t=q/I_o\n",
+ "\n",
+ "#Results\n",
+ "print(\"time required to deliver charge=%.02f hrs\" %t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "time required to deliver charge=3.14 hrs\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8, Page No 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0 #V\n",
+ "P=1000 #W\n",
+ "R=V_s**2/P\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=math.sqrt(2)*V_s/2\n",
+ "P_h=V_or**2/R \n",
+ "print(\"Power delivered to the heater = %.2f W\" %P_h)\n",
+ "V_m=math.sqrt(2)*230\n",
+ "I_m=V_m/R\n",
+ "\n",
+ "#Results\n",
+ "print(\"Peak value of diode current = %.2f A\" %I_m)\n",
+ "pf=V_or/V_s\n",
+ "print(\"Input power factor=%.2f\" %pf)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered to the heater = 500.00 W\n",
+ "Peak value of diode current = 6.15 A\n",
+ "Input power factor=0.71\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 Page No 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230 #V\n",
+ "V_m=V_s*math.sqrt(2)\n",
+ "E=150 #V\n",
+ "\n",
+ "#Calculations\n",
+ "theta1=math.degrees(E/(math.sqrt(2)*V_s))\n",
+ "R=8 #ohm\n",
+ "f=50 #Hz\n",
+ "I_o=(1/(2*math.pi*R))*((2*math.sqrt(2)*V_s*math.cos(math.radians(theta1)))-E*(math.pi-2*theta1*math.pi/180))\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg value of charging current=%.2f A\" %I_o)\n",
+ "P_d=E*I_o\n",
+ "print(\"\\npower delivered to battery=%.2f W\" %P_d)\n",
+ "I_or=math.sqrt((1/(2*math.pi*R**2))*((V_s**2+E**2)*(math.pi-2*theta1*math.pi/180)+V_s**2*math.sin(math.radians(2*theta1))-4*V_m*E*math.cos(math.radians(theta1))))\n",
+ "print(\"\\nrms value of the load current=%.2f A\" %I_or)\n",
+ "pf=(E*I_o+I_or**2*R)/(V_s*I_or)\n",
+ "print(\"\\nsupply pf=%.3f\" %pf)\n",
+ "P_dd=I_or**2*R\n",
+ "print(\"\\npower dissipated in the resistor=%.2f W\" %P_dd)\n",
+ "q=1000.00 #Wh\n",
+ "t=q/P_d \n",
+ "print(\"\\ncharging time=%.2f hr\" %t)\n",
+ "n=P_d*100/(P_d+P_dd)\n",
+ "print(\"rectifier efficiency =%.2f \" %n)\n",
+ "PIV=math.sqrt(2)*V_s+E\n",
+ "print(\"PIV of diode=%.2f V\" %PIV)\n",
+ "#solutions have small variations due to difference in rounding off of digits"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg value of charging current=4.97 A\n",
+ "\n",
+ "power delivered to battery=745.11 W\n",
+ "\n",
+ "rms value of the load current=9.29 A\n",
+ "\n",
+ "supply pf=0.672\n",
+ "\n",
+ "power dissipated in the resistor=690.74 W\n",
+ "\n",
+ "charging time=1.34 hr\n",
+ "rectifier efficiency =51.89 \n",
+ "PIV of diode=475.27 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 Page No 78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_s=230 #V\n",
+ "t_rr=40*10**-6 #s reverde recovery time\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=2*math.sqrt(2)*V_s/math.pi\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "f=50\n",
+ "V_r1=(V_m/math.pi)*(1-math.cos(math.radians(2*math.pi*f*t_rr*180/math.pi)))\n",
+ "v_avg1=V_r1*100/V_o*10**3\n",
+ "f=2500\n",
+ "V_r2=(V_m/math.pi)*(1-math.cos(math.radians(2*math.pi*f*t_rr*180/math.pi)))\n",
+ "v_avg2=V_r2*100/V_o\n",
+ "\n",
+ "#Results\n",
+ "print(\"when f=50Hz\")\n",
+ "print(\"Percentage reduction in avg o/p voltage=%.2f x 10^-3\" %v_avg1)\n",
+ "print(\"when f=2500Hz\")\n",
+ "print(\"Percentage reduction in avg o/p voltage = %.3f\" %v_avg2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when f=50Hz\n",
+ "Percentage reduction in avg o/p voltage=3.95 x 10^-3\n",
+ "when f=2500Hz\n",
+ "Percentage reduction in avg o/p voltage = 9.549\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11, Page No 79 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230 #V\n",
+ "R=10.0 #ohm\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "V_o=2*V_m/math.pi\n",
+ "print(\"Avg value of o/p voltage = %.2f V\" %V_o)\n",
+ "I_o=V_o/R\n",
+ "print(\"Avg value of o/p current = %.2f A\" %I_o)\n",
+ "I_DA=I_o/2\n",
+ "print(\"Avg value of diode current=%.2f A\" %I_DA)\n",
+ "I_Dr=I_o/math.sqrt(2) \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of diode current=%.2f A\" %I_Dr)\n",
+ "print(\"rms value of o/p current = %.2f A\" %I_o)\n",
+ "print(\"rms value of i/p current = %.2f A\" %I_o)\n",
+ "pf=(V_o/V_s)\n",
+ "print(\"supply pf = %.2f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Avg value of o/p voltage = 207.07 V\n",
+ "Avg value of o/p current = 20.71 A\n",
+ "Avg value of diode current=10.35 A\n",
+ "rms value of diode current=14.64 A\n",
+ "rms value of o/p current = 20.71 A\n",
+ "rms value of i/p current = 20.71 A\n",
+ "supply pf = 0.90\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12 Page No 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_s=230.0 #V\n",
+ "R=1000.0 #ohm\n",
+ "R_D=20.0 #ohm\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "I_om=V_m/(R+R_D) \n",
+ "\n",
+ "#Results\n",
+ "print(\"Peak load current = %.2f A\" %I_om)\n",
+ "I_o=I_om/math.pi\n",
+ "print(\"dc load current = %.2f A\" %I_o)\n",
+ "V_D=I_o*R_D-V_m/math.pi\n",
+ "print(\"dc diode voltage = %.2f V\" %V_D)\n",
+ "V_on=V_m/math.pi\n",
+ "print(\"at no load, load voltage = %.2f V\" %V_on)\n",
+ "V_o1=I_o*R \n",
+ "print(\"at given load, load voltage = %.2f V\" %V_o1)\n",
+ "vr=(V_on-V_o1)*100/V_on \n",
+ "print(\"Voltage regulation(in percent)=%.2f\" %vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak load current = 0.32 A\n",
+ "dc load current = 0.10 A\n",
+ "dc diode voltage = -101.51 V\n",
+ "at no load, load voltage = 103.54 V\n",
+ "at given load, load voltage = 101.51 V\n",
+ "Voltage regulation(in percent)=1.96\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13 Page No 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_L=6.8 #V\n",
+ "V_smax=20*1.2 #V\n",
+ "V_smin=20*.8 #V\n",
+ "I_Lmax=30*1.5 #mA\n",
+ "I_Lmin=30*0.5 #mA\n",
+ "I_z=1 #mA\n",
+ "\n",
+ "#Calculations\n",
+ "R_smax=(V_smax-V_L)/((I_Lmin+I_z)*10**-3)\n",
+ "print(\"max source resistance = %.2f ohm\" %R_smax)\n",
+ "R_smin=(V_smin-V_L)/((I_Lmax+I_z)*10**-3) \n",
+ "print(\"Min source resistance = %.2f ohm\" %R_smin) #in book solution, error is committed in putting the values in formulea(printing error) but solution is correct\n",
+ "R_Lmax=V_L*1000/I_Lmin\n",
+ "print(\"Max load resistance = %.2f ohm\" %R_Lmax)\n",
+ "R_Lmin=V_L*1000/I_Lmax \n",
+ "V_d=0.6 #V\n",
+ "V_r=V_L-V_d\n",
+ "\n",
+ "#Results\n",
+ "print(\"Min load resistance=%.2f ohm\" %R_Lmin)\n",
+ "print(\"Voltage rating of zener diode=%.2f V\" %V_r)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "max source resistance = 1075.00 ohm\n",
+ "Min source resistance = 200.00 ohm\n",
+ "Max load resistance = 453.33 ohm\n",
+ "Min load resistance=151.11 ohm\n",
+ "Voltage rating of zener diode=6.20 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.14 Page No 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "I2=200*10**-6 #A\n",
+ "V_z=20 #V\n",
+ "R_G=500.0 #hm\n",
+ "\n",
+ "#Calculations\n",
+ "R2=(V_z/I2)-R_G\n",
+ "print(\"R2=%.2f kilo-ohm\" %(R2/1000))\n",
+ "\n",
+ "V_v=25 #V\n",
+ "I1=I2\n",
+ "R1=(V_v-V_z)/I1\n",
+ "\n",
+ "#Results\n",
+ "print(\"R1=%.0f kilo-ohm\"%(R1/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R2=99.50 kilo-ohm\n",
+ "R1=25 kilo-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.15, Page No 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_s=2*230 #V\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=(math.sqrt(2)*V_s)/math.pi\n",
+ "R=60 #ohm\n",
+ "P_dc=(V_o)**2/R\n",
+ "TUF=0.2865\n",
+ "VA=P_dc/TUF\n",
+ "\n",
+ "#RESULTS\n",
+ "print(\"kVA rating of the transformer = %.2f kVA\" %(VA/1000));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "kVA rating of the transformer = 2.49 kVA\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.16, Page No 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "tr=0.5 #turns ratio\n",
+ "I_o=10.0\n",
+ "V=230.0\n",
+ "V_s=V/tr\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "V_o=2*V_m/math.pi\n",
+ "phi1=0\n",
+ "#displacemnt angle=0 as fundamnetal component of i/p source current in phase with source voltage\n",
+ "DF=math.cos(math.radians(phi1))\n",
+ "I_s1=4*I_o/(math.sqrt(2)*math.pi)\n",
+ "I_s=math.sqrt(I_o**2*math.pi/math.pi)\n",
+ "CDF=I_s1/I_o\n",
+ "pf=CDF*DF\n",
+ "HF=math.sqrt((I_s/I_s1)**2-1)\n",
+ "CF=I_o/I_s\n",
+ "\n",
+ "#Results\n",
+ "print(\"o/p voltage = %.2f V\" %V_o)\n",
+ "print(\"distortion factor = %.2f\" %DF)\n",
+ "print(\"i/p pf=%.2f\" %pf)\n",
+ "print(\"Current displacent factor=%.2f\" %CDF)\n",
+ "print(\"Harmonic factor = %.2f\" %HF)\n",
+ "print(\"Creast factor = %.2f\" %CF)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "o/p voltage = 414.15 V\n",
+ "distortion factor = 1.00\n",
+ "i/p pf=0.90\n",
+ "Current displacent factor=0.90\n",
+ "Harmonic factor = 0.48\n",
+ "Creast factor = 1.00\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.17, Page No 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_o=230.0\n",
+ "R=10.0\n",
+ "V_s=V_o*math.pi/(2*math.sqrt(2))\n",
+ "I_o=V_o/R\n",
+ "I_m=math.sqrt(2)*V_s/R\n",
+ "I_DAV=I_m/math.pi\n",
+ "\n",
+ "#Calculations\n",
+ "#avg value of diode current\n",
+ "I_Dr=I_m/2\n",
+ "PIV=math.sqrt(2)*V_s\n",
+ "I_s=I_m/math.sqrt(2)\n",
+ "TF=V_s*I_s\n",
+ "\n",
+ "#Results\n",
+ "print(\"peak diode current=%.2f A\" %I_m)\n",
+ "print(\"I_DAV=%.2f A\" %I_DAV)\n",
+ "print(\"I_Dr=%.2f A\" %I_Dr) #rms value of diode current\n",
+ "print(\"PIV=%.1f V\" %PIV)\n",
+ "print(\"Transformer rating = %.2f kVA\" %(TF/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak diode current=36.13 A\n",
+ "I_DAV=11.50 A\n",
+ "I_Dr=18.06 A\n",
+ "PIV=361.3 V\n",
+ "Transformer rating = 6.53 kVA\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.18, Page No 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "tr=5\n",
+ "V=1100.0\n",
+ "R=10.0\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"In case of 3ph-3pulse type\")\n",
+ "V_ph=V/tr\n",
+ "V_mp=math.sqrt(2)*V_ph\n",
+ "V_o=3*math.sqrt(3)*V_mp/(2*math.pi)\n",
+ "print(\"avg o/p voltage=%.1f V\" %V_o)\n",
+ "I_mp=V_mp/R\n",
+ "I_D=(I_mp/math.pi)*math.sin(math.pi/3) \n",
+ "print(\"\\navg value of diode current=%.3f A\" %I_D)\n",
+ "I_Dr=I_mp*math.sqrt((1/(2*math.pi))*(math.pi/3+.5*math.sin(2*math.pi/3))) \n",
+ "print(\"\\nrms value of diode current=%.2f A\" %I_Dr)\n",
+ "V_or=V_mp*math.sqrt((3/(2*math.pi))*(math.pi/3+.5*math.sin(2*math.pi/3)))\n",
+ "P=(V_or**2)/R \n",
+ "print(\"\\npower delivered=%.1f W\" %P)\n",
+ "print(\"in case of 3ph-M6 type\")\n",
+ "V_ph=V_ph/2\n",
+ "V_mp=math.sqrt(2)*V_ph\n",
+ "V_o=3*V_mp/(math.pi) \n",
+ "I_mp=V_mp/R\n",
+ "I_D=(I_mp/math.pi)*math.sin(math.pi/6) \n",
+ "I_Dr=I_mp*math.sqrt((1/(2*math.pi))*(math.pi/6+.5*math.sin(2*math.pi/6))) \n",
+ "V_or=V_mp*math.sqrt((6/(2*math.pi))*(math.pi/6+.5*math.sin(2*math.pi/6)))\n",
+ "P=(V_or**2)/R \n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p voltage=%.2f V\" %V_o)\n",
+ "print(\"\\navg value of diode current=%.2f A\" %I_D)\n",
+ "print(\"\\nrms value of diode current=%.2f A\" %I_Dr)\n",
+ "print(\"\\npower delivered=%.0f W\" %P)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In case of 3ph-3pulse type\n",
+ "avg o/p voltage=257.3 V\n",
+ "\n",
+ "avg value of diode current=8.577 A\n",
+ "\n",
+ "rms value of diode current=15.10 A\n",
+ "\n",
+ "power delivered=6841.3 W\n",
+ "in case of 3ph-M6 type\n",
+ "avg o/p voltage=148.55 V\n",
+ "\n",
+ "avg value of diode current=2.48 A\n",
+ "\n",
+ "rms value of diode current=6.07 A\n",
+ "\n",
+ "power delivered=2211 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.19, Page No 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_o=400\n",
+ "R=10\n",
+ "\n",
+ "#Calculations\n",
+ "V_ml=V_o*math.pi/3\n",
+ "V_s=V_ml/(math.sqrt(2)*math.sqrt(3))\n",
+ "I_m=V_ml/R\n",
+ "I_s=.7804*I_m\n",
+ "tr=3*V_s*I_s \n",
+ "\n",
+ "#Results\n",
+ "print(\"transformer rating=%.1f VA\" %tr)\n",
+ "I_Dr=.5518*I_m \n",
+ "print(\"\\nrms value of diode current=%.3f A\" %I_Dr)\n",
+ "I_D=I_m/math.pi \n",
+ "print(\"\\navg value of diode current=%.3f A\" %I_D)\n",
+ "print(\"\\npeak diode current=%.2f A\" %I_m)\n",
+ "PIV=V_ml \n",
+ "print(\"\\nPIV=%.2f V\" %PIV)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "transformer rating=16770.3 VA\n",
+ "\n",
+ "rms value of diode current=23.114 A\n",
+ "\n",
+ "avg value of diode current=13.333 A\n",
+ "\n",
+ "peak diode current=41.89 A\n",
+ "\n",
+ "PIV=418.88 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.20, Page No 116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_l=230\n",
+ "E=240\n",
+ "R=8\n",
+ "\n",
+ "#Calculations\n",
+ "V_ml=math.sqrt(2)*V_l\n",
+ "V_o=3*V_ml/math.pi\n",
+ "I_o=(V_o-E)/R\n",
+ "P_b=E*I_o \n",
+ "P_d=E*I_o+I_o**2*R \n",
+ "phi1=0\n",
+ "math.cos(math.radians(phi1))\n",
+ "I_s1=2*math.sqrt(3)*I_o/(math.sqrt(2)*math.pi)\n",
+ "I_s=math.sqrt(I_o**2*2*math.pi/(3*math.pi))\n",
+ "CDF=I_s1/I_s \n",
+ "pf=DF*CDF \n",
+ "HF=math.sqrt(CDF**-2-1) \n",
+ "tr=math.sqrt(3)*V_l*I_o*math.sqrt(2/3)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Power delivered to battery=%.1f W\" %P_b)\n",
+ "print(\"Power delivered to load=%.2f W\" %P_d)\n",
+ "print(\"Displacement factor=%.2f\" %DF)\n",
+ "print(\"Current distortion factor=%.3f\" %CDF)\n",
+ "print(\"i/p pf=%.3f\"%pf)\n",
+ "print(\"Harmonic factor=%.2f\" %HF)\n",
+ "print(\"Tranformer rating=%.2f VA\" %tr)\n",
+ "#answers have small variations from the book due to difference in rounding off of digits"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered to battery=2118.3 W\n",
+ "Power delivered to load=2741.48 W\n",
+ "Displacement factor=1.00\n",
+ "Current distortion factor=0.955\n",
+ "i/p pf=0.955\n",
+ "Harmonic factor=0.31\n",
+ "Tranformer rating=0.00 VA\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.21, Page No 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=50 #Hz\n",
+ "V=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=math.sqrt(2)*V\n",
+ "R=400.0\n",
+ "RF=0.05\n",
+ "C=(1/(4*f*R))*(1+(1/(math.sqrt(2)*RF)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"capacitor value=%.2f uF\" %(C/10**-6))\n",
+ "V_o=V_m*(1-1/(4*f*R*C))\n",
+ "print(\"o/p voltage with filter=%.2f V\" %V_o)\n",
+ "V_o=2*V_m/math.pi \n",
+ "print(\"o/p voltage without filter=%.2f V\" %V_o)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "capacitor value=189.28 uF\n",
+ "o/p voltage with filter=303.79 V\n",
+ "o/p voltage without filter=207.07 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.22, Page No 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=50\n",
+ "CRF=0.05\n",
+ "R=300\n",
+ "\n",
+ "#Calculations\n",
+ "L=math.sqrt((CRF/(.4715*R))**-2-R**2)/(2*2*math.pi*f) \n",
+ "print(\"L=%.2f H\" %L)\n",
+ "R=30\n",
+ "L=math.sqrt((CRF/(.4715*R))**-2-R**2)/(2*2*math.pi*f) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"\\nL=%.2f H\" %L)\n",
+ "L=0\n",
+ "CRF=.4715*R/math.sqrt(R**2+(2*2*math.pi*f*L)**2) \n",
+ "print(\"\\nCRF=%.2f\" %CRF)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L=4.48 H\n",
+ "\n",
+ "L=0.45 H\n",
+ "\n",
+ "CRF=0.47\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.23, Page No 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=50\n",
+ "L_L=10*10**-3\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "\n",
+ "#Calculations\n",
+ "C=10/(2*w*math.sqrt(R**2+(2*w*L_L)**2))\n",
+ "\n",
+ "#Results\n",
+ "print(\"C=%.2f uF\" %(C*10**6))\n",
+ "VRF=0.1\n",
+ "L=(1/(4*w**2*C))*((math.sqrt(2)/(3*VRF))+1)\n",
+ "print(\"\\nL=%.2f mH\" %(L*10**3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C=315.83 uF\n",
+ "\n",
+ "L=45.83 mH\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter4_4.ipynb b/Power_Electronics/Chapter4_4.ipynb new file mode 100755 index 00000000..22311574 --- /dev/null +++ b/Power_Electronics/Chapter4_4.ipynb @@ -0,0 +1,946 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 04 : Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3, Page No 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "P=.5 #P=V_g*I_g\n",
+ "s=130 #s=V_g/I_g\n",
+ "\n",
+ "#Calculations\n",
+ "I_g=math.sqrt(P/s)\n",
+ "V_g=s*I_g\n",
+ "E=15\n",
+ "R_s=(E-V_g)/I_g \n",
+ "\n",
+ "#Results\n",
+ "print(\"Gate source resistance=%.2f ohm\" %R_s)\n",
+ "#Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gate source resistance=111.87 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4, Page No 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R_s=120 #slope of load line is -120V/A. This gives gate source resistance\n",
+ "print(\"gate source resistance=%.0f ohm\" %R_s)\n",
+ "\n",
+ "P=.4 #P=V_g*I_g\n",
+ "E_s=15\n",
+ "\n",
+ "#Calculations\n",
+ " #E_s=I_g*R_s+V_g % after solving this\n",
+ " #120*I_g**2-15*I_g+0.4=0 so\n",
+ "a=120 \n",
+ "b=-15\n",
+ "c=0.4\n",
+ "D=math.sqrt((b**2)-4*a*c)\n",
+ "I_g=(-b+D)/(2*a) \n",
+ "V_g=P/I_g\n",
+ "\n",
+ "#Results\n",
+ "print(\"\\ntrigger current=%.2f mA\" %(I_g*10**3)) \n",
+ "print(\"\\nthen trigger voltage=%.3f V\" %V_g)\n",
+ "I_g=(-b-D)/(2*a) \n",
+ "V_g=P/I_g\n",
+ "print(\"\\ntrigger current=%.2f mA\" %(I_g*10**3)) \n",
+ "print(\"\\nthen trigger voltage=%.2f V\" %V_g)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "gate source resistance=120 ohm\n",
+ "\n",
+ "trigger current=86.44 mA\n",
+ "\n",
+ "then trigger voltage=4.628 V\n",
+ "\n",
+ "trigger current=38.56 mA\n",
+ "\n",
+ "then trigger voltage=10.37 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 Page No 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#V_g=1+10*I_g\n",
+ "P_gm=5 #P_gm=V_g*I_g\n",
+ "#after solving % eqn becomes 10*I_g**2+I_g-5=0\n",
+ "a=10.0 \n",
+ "b=1.0 \n",
+ "c=-5\n",
+ "\n",
+ "#Calculations\n",
+ "I_g=(-b+math.sqrt(b**2-4*a*c))/(2*a)\n",
+ "E_s=15\n",
+ "#using E_s=R_s*I_g+V_g\n",
+ "R_s=(E_s-1)/I_g-10 \n",
+ "P_gav=.3 #W\n",
+ "T=20*10**-6\n",
+ "f=P_gav/(P_gm*T)\n",
+ "dl=f*T\n",
+ "\n",
+ "#Results\n",
+ "print(\"Reistance=%.3f ohm\" %R_s)\n",
+ "print(\"Triggering freq=%.0f kHz\" %(f/1000))\n",
+ "print(\"Tduty cycle=%.2f\" %dl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reistance=11.248 ohm\n",
+ "Triggering freq=3 kHz\n",
+ "Tduty cycle=0.06\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6, Page No 151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I=.1\n",
+ "E=200.0\n",
+ "L=0.2\n",
+ "\n",
+ "#Calculations\n",
+ "t=I*L/E \n",
+ "R=20.0\n",
+ "t1=(-L/R)*math.log(1-(R*I/E)) \n",
+ "L=2.0\n",
+ "t2=(-L/R)*math.log(1-(R*I/E)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"in case load consists of (a)L=.2H\")\n",
+ "print(\"min gate pulse width=%.0f us\" %(t*10**6))\n",
+ "print(\"(b)R=20ohm in series with L=.2H\")\n",
+ "print(\"min gate pulse width=%.3f us\" %(t1*10**6))\n",
+ "print(\"(c)R=20ohm in series with L=2H\")\n",
+ "print(\"min gate pulse width=%.2f us\" %(t2*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "in case load consists of (a)L=.2H\n",
+ "min gate pulse width=100 us\n",
+ "(b)R=20ohm in series with L=.2H\n",
+ "min gate pulse width=100.503 us\n",
+ "(c)R=20ohm in series with L=2H\n",
+ "min gate pulse width=1005.03 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 Page No 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "def theta(th):\n",
+ " I_m=1 #supposition\n",
+ " I_av=(I_m/(2*math.pi))*(1+math.cos(math.radians(th)))\n",
+ " I_rms=math.sqrt((I_m/(2*math.pi))*((180-th)*math.pi/360+.25*math.sin(math.radians(2*th))))\n",
+ " FF=I_rms/I_av\n",
+ " I_rms=35\n",
+ " I_TAV=I_rms/FF\n",
+ " return I_TAV\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"when conduction angle=180\")\n",
+ "th=0\n",
+ "I_TAV=theta(th)\n",
+ "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+ "print(\"when conduction angle=90\")\n",
+ "th=90\n",
+ "I_TAV=theta(th)\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+ "print(\"when conduction angle=30\")\n",
+ "th=150\n",
+ "I_TAV=theta(th)\n",
+ "print(\"avg on current rating=%.3f A\" %I_TAV)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when conduction angle=180\n",
+ "avg on current rating=22.282 A\n",
+ "when conduction angle=90\n",
+ "avg on current rating=15.756 A\n",
+ "when conduction angle=30\n",
+ "avg on current rating=8.790 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10, Page No 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "def theta(th):\n",
+ " n=360.0/th\n",
+ " I=1.0 #supposition\n",
+ " I_av=I/n\n",
+ " I_rms=I/math.sqrt(n)\n",
+ " FF=I_rms/I_av\n",
+ " I_rms=35\n",
+ " I_TAV=I_rms/FF\n",
+ " return I_TAV\n",
+ "\n",
+ "#Calculations\n",
+ "th=180.0\n",
+ "I_TAV1=theta(th)\n",
+ "th=90.0\n",
+ "I_TAV2=theta(th)\n",
+ "th=30.0\n",
+ "I_TAV3=theta(th)\n",
+ "\n",
+ "#Results\n",
+ "print(\"when conduction angle=180\")\n",
+ "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+ "print(\"when conduction angle=90\")\n",
+ "print(\"avg on current rating=%.1f A\" %I_TAV2)\n",
+ "print(\"when conduction angle=30\")\n",
+ "print(\"avg on current rating=%.4f A\" %I_TAV3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when conduction angle=180\n",
+ "avg on current rating=8.790 A\n",
+ "when conduction angle=90\n",
+ "avg on current rating=17.5 A\n",
+ "when conduction angle=30\n",
+ "avg on current rating=10.1036 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11 Page No 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "f=50.0 #Hz\n",
+ "\n",
+ "#Calculations\n",
+ "I_sb=3000.0\n",
+ "t=1/(4*f)\n",
+ "T=1/(2*f)\n",
+ "I=math.sqrt(I_sb**2*t/T) \n",
+ "r=(I_sb/math.sqrt(2))**2*T \n",
+ "\n",
+ "#Results\n",
+ "print(\"surge current rating=%.2f A\" %I)\n",
+ "print(\"\\nI**2*t rating=%.0f A^2.s\" %r)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "surge current rating=2121.32 A\n",
+ "\n",
+ "I**2*t rating=45000 A^2.s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 Page No 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "V_s=300.0 #V\n",
+ "R=60.0 #ohm\n",
+ "L=2.0 #H\n",
+ "\n",
+ "#Calculations\n",
+ "t=40*10**-6 #s\n",
+ "i_T=(V_s/R)*(1-math.exp(-R*t/L))\n",
+ "i=.036 #A\n",
+ "R1=V_s/(i-i_T)\n",
+ "\n",
+ "#Results\n",
+ "print(\"maximum value of remedial parameter=%.3f kilo-ohm\" %(R1/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "maximum value of remedial parameter=9.999 kilo-ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.16 Page No 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_p=230.0*math.sqrt(2)\n",
+ "\n",
+ "#Calculations\n",
+ "R=1+((1)**-1+(10)**-1)**-1\n",
+ "A=V_p/R\n",
+ "s=1 #s\n",
+ "t_c=20*A**-2*s\n",
+ "\n",
+ "#Results\n",
+ "print(\"fault clearance time=%.4f ms\" %(t_c*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fault clearance time=0.6890 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.17, Page No 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "V_s=math.sqrt(2)*230 #V\n",
+ "L=15*10**-6 #H\n",
+ "I=V_s/L #I=(di/dt)_max\n",
+ "R_s=10 #ohm\n",
+ "v=I*R_s #v=(dv/dt)_max\n",
+ "\n",
+ "#Calculations\n",
+ "f=50 #Hz\n",
+ "X_L=L*2*math.pi*f\n",
+ "R=2\n",
+ "I_max=V_s/(R+X_L) \n",
+ "FF=math.pi/math.sqrt(2)\n",
+ "I_TAV1=I_max/FF \n",
+ "FF=3.98184\n",
+ "I_TAV2=I_max/FF \n",
+ "\n",
+ "\n",
+ "#RESULTS\n",
+ "print(\"(di/dt)_max=%.3f A/usec\" %(I/10**6))\n",
+ "print(\"\\n(dv/dt)_max=%.2f V/usec\" %(v/10**6))\n",
+ "print(\"\\nI_rms=%.3f A\" %I_max)\n",
+ "print(\"when conduction angle=90\")\n",
+ "print(\"I_TAV=%.3f A\" %I_TAV1)\n",
+ "print(\"when conduction angle=30\")\n",
+ "print(\"I_TAV=%.3f A\" %I_TAV2)\n",
+ "print(\"\\nvoltage rating=%.3f V\" %(2.75*V_s)) #rating is taken 2.75 times of peak working voltage unlike 2.5 to 3 times as mentioned int book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(di/dt)_max=21.685 A/usec\n",
+ "\n",
+ "(dv/dt)_max=216.85 V/usec\n",
+ "\n",
+ "I_rms=162.252 A\n",
+ "when conduction angle=90\n",
+ "I_TAV=73.039 A\n",
+ "when conduction angle=30\n",
+ "I_TAV=40.748 A\n",
+ "\n",
+ "voltage rating=894.490 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.19, Page No 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "T_jm=125\n",
+ "th_jc=.15 #degC/W\n",
+ "th_cs=0.075 #degC/W\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "dT=54 #dT=T_s-T_a\n",
+ "P_av=120\n",
+ "th_sa=dT/P_av\n",
+ "T_a=40 #ambient temp\n",
+ "P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)\n",
+ "if (P_av-120)<1 :\n",
+ " print(\"selection of heat sink is satisfactory\")\n",
+ "\n",
+ "dT=58 #dT=T_s-T_a\n",
+ "P_av=120\n",
+ "th_sa=dT/P_av\n",
+ "T_a=40 #ambient temp\n",
+ "P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)\n",
+ "if (P_av-120)<1 :\n",
+ " print(\"selection of heat sink is satisfactory\")\n",
+ "\n",
+ "V_m=math.sqrt(2)*230\n",
+ "R=2\n",
+ "I_TAV=V_m/(R*math.pi)\n",
+ "P_av=90\n",
+ "th_sa=(T_jm-T_a)/P_av-(th_jc+th_cs)\n",
+ "dT=P_av*th_sa\n",
+ "print(\"for heat sink\") \n",
+ "print(\"T_s-T_a=%.2f degC\" %dT) \n",
+ "print(\"\\nP_av=%.0f W\" %P_av)\n",
+ "P=(V_m/2)**2/R\n",
+ "eff=P/(P+P_av) \n",
+ "print(\"\\nckt efficiency=%.3f pu\" %eff)\n",
+ "a=60 #delay angle\n",
+ "I_TAV=(V_m/(2*math.pi*R))*(1+math.cos(math.radians(a)))\n",
+ "print(\"\\nI_TAV=%.2f A\" %I_TAV)\n",
+ "dT=46\n",
+ "T_s=dT+T_a\n",
+ "T_c=T_s+P_av*th_cs \n",
+ "T_j=T_c+P_av*th_jc \n",
+ "\n",
+ "#Results\n",
+ "print(\"\\ncase temp=%.2f degC\" %T_c)\n",
+ "print(\"\\njunction temp=%.2f degC\" %T_j)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for heat sink\n",
+ "T_s-T_a=-20.25 degC\n",
+ "\n",
+ "P_av=90 W\n",
+ "\n",
+ "ckt efficiency=0.993 pu\n",
+ "\n",
+ "I_TAV=38.83 A\n",
+ "\n",
+ "case temp=92.75 degC\n",
+ "\n",
+ "junction temp=106.25 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.20, Page No 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T_j=125.0 #degC\n",
+ "T_s=70.0 #degC\n",
+ "th_jc=.16 #degC/W\n",
+ "th_cs=.08 #degC/W\n",
+ "\n",
+ "#Calculations\n",
+ "P_av1=(T_j-T_s)/(th_jc+th_cs) \n",
+ "\n",
+ "T_s=60 #degC\n",
+ "P_av2=(T_j-T_s)/(th_jc+th_cs) \n",
+ "inc=(math.sqrt(P_av2)-math.sqrt(P_av1))*100/math.sqrt(P_av1) \n",
+ "\n",
+ "#Results\n",
+ "print(\"Total avg power loss in thristor sink combination=%.2f W\" %P_av1)\n",
+ "print(\"Percentage inc in rating=%.2f\" %inc)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total avg power loss in thristor sink combination=229.17 W\n",
+ "Percentage inc in rating=8.71\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.21, Page No 197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R=25000.0\n",
+ "I_l1=.021 #I_l=leakage current\n",
+ "I_l2=.025\n",
+ "I_l3=.018\n",
+ "I_l4=.016\n",
+ " #V1=(I-I_l1)*R\n",
+ " #V2=(I-I_l2)*R\n",
+ " #V3=(I-I_l3)*R\n",
+ " #V4=(I-I_l4)*R\n",
+ " #V=V1+V2+V3+V4\n",
+ " \n",
+ "#Calculations\n",
+ "V=10000.0\n",
+ "I_l=I_l1+I_l2+I_l3+I_l4\n",
+ " #after solving\n",
+ "I=((V/R)+I_l)/4\n",
+ "R_c=40.0\n",
+ "V1=(I-I_l1)*R \n",
+ "\n",
+ "#Resluts\n",
+ "print(\"voltage across SCR1=%.0f V\" %V1)\n",
+ "V2=(I-I_l2)*R \n",
+ "print(\"\\nvoltage across SCR2=%.0f V\" %V2)\n",
+ "V3=(I-I_l3)*R \n",
+ "print(\"\\nvoltage across SCR3=%.0f V\" %V3)\n",
+ "V4=(I-I_l4)*R \n",
+ "print(\"\\nvoltage across SCR4=%.0f V\" %V4)\n",
+ "\n",
+ "I1=V1/R_c \n",
+ "print(\"\\ndischarge current through SCR1=%.3f A\" %I1)\n",
+ "I2=V2/R_c \n",
+ "print(\"\\ndischarge current through SCR2=%.3f A\" %I2)\n",
+ "I3=V3/R_c \n",
+ "print(\"\\ndischarge current through SCR3=%.3f A\" %I3)\n",
+ "I4=V4/R_c \n",
+ "print(\"\\ndischarge current through SCR4=%.3f A\" %I4)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "voltage across SCR1=2475 V\n",
+ "\n",
+ "voltage across SCR2=2375 V\n",
+ "\n",
+ "voltage across SCR3=2550 V\n",
+ "\n",
+ "voltage across SCR4=2600 V\n",
+ "\n",
+ "discharge current through SCR1=61.875 A\n",
+ "\n",
+ "discharge current through SCR2=59.375 A\n",
+ "\n",
+ "discharge current through SCR3=63.750 A\n",
+ "\n",
+ "discharge current through SCR4=65.000 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.22, Page No 198"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_r=1000 #rating of SCR\n",
+ "I_r=200 #rating of SCR\n",
+ "V_s=6000 #rating of String\n",
+ "I_s=1000 #rating of String\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"when DRF=.1\")\n",
+ "DRF=.1\n",
+ "n_s=V_s/(V_r*(1-DRF)) \n",
+ "print(\"number of series units=%.0f\" %math.ceil(n_s))\n",
+ "n_p=I_s/(I_r*(1-DRF)) \n",
+ "print(\"\\nnumber of parrallel units=%.0f\" %math.ceil(n_p))\n",
+ "print(\"when DRF=.2\")\n",
+ "DRF=.2\n",
+ "\n",
+ "#Results\n",
+ "n_s=V_s/(V_r*(1-DRF)) \n",
+ "print(\"number of series units=%.0f\" %math.ceil(n_s))\n",
+ "n_p=I_s/(I_r*(1-DRF)) \n",
+ "print(\"\\nnumber of parrallel units=%.0f\" %math.ceil(n_p))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when DRF=.1\n",
+ "number of series units=7\n",
+ "\n",
+ "number of parrallel units=6\n",
+ "when DRF=.2\n",
+ "number of series units=8\n",
+ "\n",
+ "number of parrallel units=7\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.23, Page No 198"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V1=1.6 #on state voltage drop of SCR1\n",
+ "V2=1.2 #on state voltage drop of SCR2\n",
+ "I1=250.0 #current rating of SCR1\n",
+ "I2=350.0 #current rating of SCR2\n",
+ "\n",
+ "#Calculations\n",
+ "R1=V1/I1\n",
+ "R2=V2/I2\n",
+ "I=600.0 #current to be shared\n",
+ " #for SCR1 % I*(R1+R)/(total resistance)=k*I1 (1)\n",
+ " #for SCR2 % I*(R2+R)/(total resistance)=k*I2 (2)\n",
+ " #(1)/(2)\n",
+ "R=(R2*I2-R1*I1)/(I1-I2)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"RSequired value of resistance=%.3f ohm\" %R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RSequired value of resistance=0.004 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.25, Page No 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=2000.0 #Hz\n",
+ "C=0.04*10**-6\n",
+ "n=.72\n",
+ "\n",
+ "#Calculations\n",
+ "R=1/(f*C*math.log(1/(1-n))) \n",
+ "V_p=18\n",
+ "V_BB=V_p/n\n",
+ "R2=10**4/(n*V_BB) \n",
+ "I=4.2*10**-3 #leakage current\n",
+ "R_BB=5000\n",
+ "R1=(V_BB/I)-R2-R_BB\n",
+ "\n",
+ "#Results\n",
+ "print(\"R=%.2f kilo-ohm\" %(R/1000))\n",
+ "print(\"\\nR2=%.2f ohm\" %R2)\n",
+ "print(\"\\nR1=%.0f ohm\" %R1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R=9.82 kilo-ohm\n",
+ "\n",
+ "R2=555.56 ohm\n",
+ "\n",
+ "R1=397 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.26, Page No 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "V_p=18.0\n",
+ "n=.72\n",
+ "V_BB=V_p/n\n",
+ "I_p=.6*10**-3\n",
+ "I_v=2.5*10**-3\n",
+ "V_v=1\n",
+ "\n",
+ "#Calculations\n",
+ "R_max=V_BB*(1-n)/I_p \n",
+ "print(\"R_max=%.2f kilo-ohm\" %(R_max/1000))\n",
+ "R_min=(V_BB-V_v)/I_v \n",
+ "print(\"\\nR_min=%.2f kilo-ohm\" %(R_min/1000))\n",
+ "\n",
+ "C=.04*10**-6\n",
+ "f_min=1/(R_max*C*math.log(1/(1-n))) \n",
+ "print(\"\\nf_min=%.3f kHz\" %(f_min/1000))\n",
+ "f_max=1/(R_min*C*math.log(1/(1-n))) \n",
+ "print(\"\\nf_max=%.2f kHz\" %(f_max/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R_max=11.67 kilo-ohm\n",
+ "\n",
+ "R_min=9.60 kilo-ohm\n",
+ "\n",
+ "f_min=1.683 kHz\n",
+ "\n",
+ "f_max=2.05 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter5_4.ipynb b/Power_Electronics/Chapter5_4.ipynb new file mode 100755 index 00000000..1d261f20 --- /dev/null +++ b/Power_Electronics/Chapter5_4.ipynb @@ -0,0 +1,511 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 05 : Thyristor Commutation Techniques"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1, Page No 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "L=5.0*10**-3 #mH\n",
+ "C=20.0*10**-6 #\u00b5F\n",
+ "V_s=200 #V\n",
+ "\n",
+ "#Calculations\n",
+ "w_o=math.sqrt(1/(L*C)) #rad/s\n",
+ "t_o=math.pi/w_o #ms\n",
+ "\n",
+ "#Results\n",
+ "print('conduction time of thyristor = %.2f ms' %(t_o*1000))\n",
+ "print('voltage across thyristor=%.0f V' %V_s)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conduction time of thyristor = 0.99 ms\n",
+ "voltage across thyristor=200 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2, Page No 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "C=20.0*10**-6 #\u00b5F\n",
+ "L=5.0*10**-6 #\u00b5H\n",
+ "V_s=230.0 #V\n",
+ "\n",
+ "#Calculations\n",
+ "I_p=V_s*math.sqrt(C/L) #A\n",
+ "w_o=math.sqrt(1/(L*C)) #rad/sec\n",
+ "t_o=math.pi/w_o #\u00b5S\n",
+ "I_o=300 \n",
+ "a = math.degrees(math.asin(I_o/(2*V_s))) \n",
+ "V_ab = V_s*math.cos(math.radians(a)) #V \n",
+ "t_c=C*V_ab/I_o #\u00b5s\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"conduction time of auxillery thyristor=%.2f us\" %(t_o*10**6))\n",
+ "print(\"voltage across main thyristor=%.2f V\" %V_ab)\n",
+ "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conduction time of auxillery thyristor=31.42 us\n",
+ "voltage across main thyristor=174.36 V\n",
+ "ckt turn off time=11.62 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 Page No 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_s=200.0 #V\n",
+ "R1=10.0 #\u2126\n",
+ "R2=100.0 #\u2126\n",
+ "C=0 # value of capacitor\n",
+ "\n",
+ "#Calculations\n",
+ "I1=V_s*(1/R1+2/R2) #A\n",
+ "I2=V_s*(2/R1+1/R2) #A\n",
+ "t_c1=40*10**-6\n",
+ "fos=2 #factor of safety\n",
+ "C1=t_c1*fos/(R1*math.log(2))\n",
+ "C2=t_c1*fos/(R2*math.log(2))\n",
+ "if C1 > C2 :\n",
+ " C = C1*10**6\n",
+ "else :\n",
+ " C = C2*10**6\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"peak value of current through SCR1=%.2f A\" %I1); \n",
+ "print(\"Peak value of current through SCR2=%.2f A\" %I2);\n",
+ "print(\"Value of capacitor=%.2f uF\" %C);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak value of current through SCR1=24.00 A\n",
+ "Peak value of current through SCR2=42.00 A\n",
+ "Value of capacitor=11.54 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4, Page No 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0 #V\n",
+ "L=20*10**-6 #\u00b5H\n",
+ "C=40*10**-6 #\u00b5F\n",
+ "I_o=120.0 #A\n",
+ "\n",
+ "#Calculations\n",
+ "I_p=V_s*math.sqrt(C/L) #A\n",
+ "t_c=C*V_s/I_o #\u00b5s\n",
+ "w_o=math.sqrt(1/(L*C)) \n",
+ "t_c1=math.pi/(2*w_o) #\u00b5s\n",
+ "\n",
+ "#Results\n",
+ "print(\"current through main thyristor=%.2f A\" %(I_o+I_p))\n",
+ "print(\"Current through auxillery thyristor=%.2f A\" %I_o)\n",
+ "print(\"Circuit turn off time for main thyristor=%.2f us\" %(t_c*10**6))\n",
+ "print(\"Circuit turn off time for auxillery thyristor=%.2f us\" %(t_c1*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current through main thyristor=445.27 A\n",
+ "Current through auxillery thyristor=120.00 A\n",
+ "Circuit turn off time for main thyristor=76.67 us\n",
+ "Circuit turn off time for auxillery thyristor=44.43 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 Page No 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "C_j=25*10**-12 #pF\n",
+ "I_c=5*10**-3 #charging current\n",
+ "V_s=200.0 #V\n",
+ "R=50.0 #\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "C=(C_j*V_s)/(I_c*R)\n",
+ "\n",
+ "\n",
+ "#RESULTS\n",
+ "print(\"Value of C=%.2f \u00b5F\" %(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of C=0.02 \u00b5F\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 Page No 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "V_s=200.0 #V\n",
+ "R=5.0 #\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "C=10.0*10**-6\n",
+ "#for turn off V_s*(1-2*exp(-t/(R*C)))=0, so after solving\n",
+ "t_c=R*C*math.log(2.0)\n",
+ "\n",
+ "#Results\n",
+ "print(\"circuit turn off time=%.2f us\" %(t_c*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "circuit turn off time=34.66 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7, Page No 264 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=1.0 #\u2126\n",
+ "L=20*10**-6 #\u00b5H\n",
+ "C=40*10**-6 #\u00b5F\n",
+ "\n",
+ "#Calculations\n",
+ "w_r=math.sqrt((1/(L*C))-(R/(2*L))**2)\n",
+ "t_1=math.pi/w_r\n",
+ "\n",
+ "#Results\n",
+ "print(\"conduction time of thyristor=%.3f us\" %(t_1*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conduction time of thyristor=125.664 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 Page No 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "dv=400*10.0**-6 #dv=dv_T/dt(V/s)\n",
+ "V_s=200.0 #v\n",
+ "R=20.0 #\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "C=V_s/(R*dv) \n",
+ "C_j=.025*10**-12\n",
+ "C_s=C-C_j\n",
+ "I_T=40;\n",
+ "R_s=1/((I_T/V_s)-(1/R)) \n",
+ "#value of R_s in book is wrongly calculated\n",
+ "\n",
+ "#Results\n",
+ "print(\"R_s=%.2f ohm\" %R_s)\n",
+ "print(\"C_s=%.3f uF\" %(C_s/10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R_s=6.67 ohm\n",
+ "C_s=0.025 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 Page No 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=200.0 #V\n",
+ "C=20.0*10**-6 #\u00b5H \n",
+ "L=0.2*10**-3 #\u00b5F\n",
+ "i_c=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "i=V_s*math.sqrt(C/L)\n",
+ "w_o=1.0/math.sqrt(L*C)\n",
+ "t_1 = (1/w_o)*math.degrees(math.asin(i_c/i))\n",
+ "t_o=math.pi/w_o\n",
+ "t_c=t_o-2*t_1 \n",
+ "\n",
+ "#Results\n",
+ "print(\"reqd time=%.2f us\" %(t_1*10**6))\n",
+ "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n",
+ "print(\"ckt turn off time=%.5f us\" %t_1)\n",
+ "#solution in book wrong, as wrong values are selected while filling the formuleas"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "reqd time=575.37 us\n",
+ "ckt turn off time=-952.05 us\n",
+ "ckt turn off time=0.00058 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.11 Page No 268 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "L=1.0 #\u00b5H\n",
+ "R=50.0 #\u2126\n",
+ "V_s=200.0 #V\n",
+ "t=0.01 #sec\n",
+ "Vd=0.7\n",
+ "\n",
+ "#Calculations\n",
+ "tau=L/R\n",
+ "i=(V_s/R)*(1-math.exp(-t/tau))\n",
+ "t=8*10**-3\n",
+ "i1=i-t*Vd \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"current through L = %.2f A\" %i1)\n",
+ "i_R=0 #current in R at t=.008s\n",
+ "print(\"Current through R = %.2f A\" %i_R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current through L = 1.57 A\n",
+ "Current through R = 0.00 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12, Page No 269"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#initialisation of variables\n",
+ "L=1.0 #H\n",
+ "R=50.0 #ohm\n",
+ "V_s=200.0 #V\n",
+ "\n",
+ "#Calculations\n",
+ "tau=L/R\n",
+ "t=0.01 #s\n",
+ "i=(V_s/R)*(1-math.exp(-t/tau))\n",
+ "C=1*10**-6 #F\n",
+ "V_c=math.sqrt(L/C)*i\n",
+ "\n",
+ "#Results\n",
+ "print(\"current in R,L=%.2f A\" %i)\n",
+ "print(\"voltage across C=%.2f kV\" %(V_c/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current in R,L=1.57 A\n",
+ "voltage across C=1.57 kV\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter6_4.ipynb b/Power_Electronics/Chapter6_4.ipynb new file mode 100755 index 00000000..dff6564b --- /dev/null +++ b/Power_Electronics/Chapter6_4.ipynb @@ -0,0 +1,1761 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 06 : Phase Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, Page No 283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "P=1000.0\n",
+ "R=V**2/P\n",
+ "\n",
+ "#Calculations\n",
+ "a=math.pi/4\n",
+ "V_or1=(math.sqrt(2)*V/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a)+.5*math.sin(2*a))\n",
+ "P1=V_or1**2/R \n",
+ "a=math.pi/2\n",
+ "V_or2=(math.sqrt(2)*V/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a)+.5*math.sin(2*a))\n",
+ "P2=V_or2**2/R \n",
+ "\n",
+ "#Results\n",
+ "print(\"when firing angle delay is of 45deg\")\n",
+ "print(\"power absorbed=%.2f W\" %P1)\n",
+ "print(\"when firing angle delay is of 90deg\")\n",
+ "print(\"power absorbed=%.2f W\" %P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when firing angle delay is of 45deg\n",
+ "power absorbed=454.58 W\n",
+ "when firing angle delay is of 90deg\n",
+ "power absorbed=250.00 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page No 283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "E=150.0\n",
+ "R=8.0\n",
+ "\n",
+ "#Calculations\n",
+ "th1=math.sin(math.radians(E/(math.sqrt(2)*V)))\n",
+ "I_o=(1/(2*math.pi*R))*(2*math.sqrt(2)*230*math.cos(math.radians(th1))-E*(math.pi-2*th1*math.pi/180)) \n",
+ "P=E*I_o \n",
+ "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*(math.pi-2*th1*math.pi/180)+V**2*math.sin(math.radians(2*th1))-4*math.sqrt(2)*V*E*math.cos(math.radians(th1))))\n",
+ "P_r=I_or**2*R \n",
+ "pf=(P+P_r)/(V*I_or)\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg charging curent=%.4f A\" %I_o)\n",
+ "print(\"power supplied to the battery=%.2f W\" %P)\n",
+ "print(\"power dissipated by the resistor=%.3f W\" %P_r) \n",
+ "print(\"supply pf=%.3f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg charging curent=3.5679 A\n",
+ "power supplied to the battery=535.18 W\n",
+ "power dissipated by the resistor=829.760 W\n",
+ "supply pf=0.583\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 Page No 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "E=150.0\n",
+ "R=8.0\n",
+ "a=35.0\n",
+ "\n",
+ "#Calculations\n",
+ "th1=math.degrees(math.asin(E/(math.sqrt(2)*V)))\n",
+ "th2=180-th1\n",
+ "I_o=(1/(2*math.pi*R))*(math.sqrt(2)*230*(math.cos(math.radians(a))-math.cos(math.radians(th2)))-E*((th2-a)*math.pi/180)) \n",
+ "P=E*I_o \n",
+ "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*((th2-a)*math.pi/180)-(V**2/2)*(math.sin(math.radians(2*th2))-math.sin(math.radians(2*a)))-2*math.sqrt(2)*V*E*(math.cos(math.radians(a))-math.cos(math.radians(th2)))))\n",
+ "P_r=I_or**2*R \n",
+ "pf=(P+P_r)/(V*I_or) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg charging curent=%.4f A\" %I_o)\n",
+ "print(\"power supplied to the battery=%.2f W\" %P)\n",
+ "print(\"power dissipated by the resistor=%.2f W\" %P_r)\n",
+ "print(\"supply pf=%.4f\" %pf)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg charging curent=4.9208 A\n",
+ "power supplied to the battery=738.12 W\n",
+ "power dissipated by the resistor=689.54 W\n",
+ "supply pf=0.6686\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page No 285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "B=210\n",
+ "f=50.0 #Hz\n",
+ "w=2*math.pi*f\n",
+ "a=40.0 #firing angle\n",
+ "V=230.0\n",
+ "R=5.0\n",
+ "L=2*10**-3\n",
+ "\n",
+ "#Calculations\n",
+ "t_c1=(360-B)*math.pi/(180*w) \n",
+ "V_o1=(math.sqrt(2)*230/(2*math.pi))*(math.cos(math.radians(a))-math.cos(math.radians(B))) \n",
+ "I_o1=V_o1/R \n",
+ "E=110\n",
+ "R=5\n",
+ "L=2*10**-3\n",
+ "th1=math.degrees(math.asin(E/(math.sqrt(2)*V)))\n",
+ "t_c2=(360-B+th1)*math.pi/(180*w) \n",
+ "V_o2=(math.sqrt(2)*230/(2*math.pi))*(math.cos(math.radians(a))-math.cos(math.radians(B))) \n",
+ "I_o2=(1/(2*math.pi*R))*(math.sqrt(2)*230*(math.cos(math.radians(a))-math.cos(math.radians(B)))-E*((B-a)*math.pi/180)) \n",
+ "V_o2=R*I_o2+E \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"for R=5ohm and L=2mH\")\n",
+ "print(\"ckt turn off time=%.3f msec\" %(t_c1*1000))\n",
+ "print(\"avg output voltage=%.3f V\" %V_o1)\n",
+ "print(\"avg output current=%.4f A\" %I_o1)\n",
+ "print(\"for R=5ohm % L=2mH and E=110V\")\n",
+ "print(\"ckt turn off time=%.3f msec\" %(t_c2*1000))\n",
+ "print(\"avg output current=%.4f A\" %I_o2)\n",
+ "print(\"avg output voltage=%.3f V\" %V_o2) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for R=5ohm and L=2mH\n",
+ "ckt turn off time=8.333 msec\n",
+ "avg output voltage=84.489 V\n",
+ "avg output current=16.8979 A\n",
+ "for R=5ohm % L=2mH and E=110V\n",
+ "ckt turn off time=9.431 msec\n",
+ "avg output current=6.5090 A\n",
+ "avg output voltage=142.545 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 Page No 286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "f=50.0\n",
+ "R=10.0\n",
+ "a=60.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=(math.sqrt(2)*V_s)\n",
+ "V_o=V_m/(2*math.pi)*(1+math.cos(math.radians(a)))\n",
+ "I_o=V_o/R\n",
+ "V_or=(V_m/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a*math.pi/180)+.5*math.sin(math.radians(2*a)))\n",
+ "I_or=V_or/R\n",
+ "P_dc=V_o*I_o\n",
+ "P_ac=V_or*I_or\n",
+ "RE=P_dc/P_ac \n",
+ "FF=V_or/V_o \n",
+ "VRF=math.sqrt(FF**2-1) \n",
+ "TUF=P_dc/(V_s*I_or) \n",
+ "PIV=V_m \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"rectification efficiency=%.4f\" %RE)\n",
+ "print(\"form factor=%.3f\" %FF)\n",
+ "print(\"voltage ripple factor=%.4f\" %VRF)\n",
+ "print(\"t/f utilisation factor=%.4f\" %TUF)\n",
+ "print(\"PIV of thyristor=%.2f V\" %PIV)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rectification efficiency=0.2834\n",
+ "form factor=1.879\n",
+ "voltage ripple factor=1.5903\n",
+ "t/f utilisation factor=0.1797\n",
+ "PIV of thyristor=325.27 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6 Page No 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=1000.0\n",
+ "fos=2.5 #factor of safety\n",
+ "I_TAV=40.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_m1=V/(2*fos)\n",
+ "P1=(2*V_m1/math.pi)*I_TAV \n",
+ "V_m2=V/(fos)\n",
+ "P2=(2*V_m2/math.pi)*I_TAV \n",
+ "\n",
+ "#Results\n",
+ "print(\"for mid pt convertor\")\n",
+ "print(\"power handled=%.3f kW\" %(P1/1000))\n",
+ "print(\"for bridge convertor\")\n",
+ "print(\"power handled=%.3f kW\" %(P2/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for mid pt convertor\n",
+ "power handled=5.093 kW\n",
+ "for bridge convertor\n",
+ "power handled=10.186 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, Page No 297"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "R=.4\n",
+ "I_o=10\n",
+ "I_or=I_o\n",
+ "E=120.0\n",
+ "\n",
+ "#Calculations\n",
+ "a1=math.degrees(math.acos((E+I_o*R)*math.pi/(2*V_m)))\n",
+ "pf1=(E*I_o+I_or**2*R)/(V_s*I_or) \n",
+ "E=-120.0\n",
+ "a2=math.degrees(math.acos((E+I_o*R)*math.pi/(2*V_m))) \n",
+ "pf2=(-E*I_o-I_or**2*R)/(V_s*I_or) \n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle delay=%.2f deg\" %a1)\n",
+ "print(\"pf=%.4f\" %pf1)\n",
+ "print(\"firing angle delay=%.2f deg\" %a2)\n",
+ "print(\"pf=%.4f\" %pf2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=53.21 deg\n",
+ "pf=0.5391\n",
+ "firing angle delay=124.07 deg\n",
+ "pf=0.5043\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9 Page No 299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "f=50.0\n",
+ "a=45.0\n",
+ "R=5.0\n",
+ "E=100.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=((math.sqrt(2)*V_s)/(2*math.pi))*(3+math.cos(math.radians(a)))\n",
+ "I_o=(V_o-E)/R \n",
+ "P=E*I_o \n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p current=%.3f A\" %I_o)\n",
+ "print(\"power delivered to battery=%.4f kW\" %(P/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg o/p current=18.382 A\n",
+ "power delivered to battery=1.8382 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10 Page No 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesV_s=230\n",
+ "f=50.0\n",
+ "a=50.0\n",
+ "R=6.0\n",
+ "E=60.0\n",
+ "V_o1=((math.sqrt(2)*2*V_s)/(math.pi))*math.cos(math.radians(a))\n",
+ "I_o1=(V_o1-E)/R \n",
+ "\n",
+ "#ATQ after applying the conditions\n",
+ "V_o2=((math.sqrt(2)*V_s)/(math.pi))*math.cos(math.radians(a))\n",
+ "I_o2=(V_o2-E)/R \n",
+ "\n",
+ "print(\"avg o/p current=%.3f A\" %I_o1)\n",
+ "print(\"avg o/p current after change=%.2f A\" %I_o2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg o/p current=12.184 A\n",
+ "avg o/p current after change=1.09 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11 Page No 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=45.0\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=(2*V_m/math.pi)*math.cos(math.radians(a))\n",
+ "I_o=V_o/R\n",
+ "V_or=V_m/math.sqrt(2)\n",
+ "I_or=I_o\n",
+ "P_dc=V_o*I_o\n",
+ "P_ac=V_or*I_or\n",
+ "RE=P_dc/P_ac \n",
+ "FF=V_or/V_o \n",
+ "VRF=math.sqrt(FF**2-1) \n",
+ "I_s1=2*math.sqrt(2)*I_o/math.pi\n",
+ "DF=math.cos(math.radians(a))\n",
+ "CDF=.90032\n",
+ "pf=CDF*DF \n",
+ "HF=math.sqrt((1/CDF**2)-1) \n",
+ "Q=2*V_m*I_o*math.sin(math.radians(a))/math.pi \n",
+ "\n",
+ "#Results\n",
+ "print(\"rectification efficiency=%.4f\" %RE)\n",
+ "print(\"form factor=%.4f\" %FF)\n",
+ "print(\"voltage ripple factor=%.4f\" %VRF)\n",
+ "print(\"pf=%.5f\" %pf)\n",
+ "print(\"HF=%.5f\" %HF)\n",
+ "print(\"active power=%.2f W\" %P_dc) \n",
+ "print(\"reactive power=%.3f Var\" %Q)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rectification efficiency=0.6366\n",
+ "form factor=1.5708\n",
+ "voltage ripple factor=1.2114\n",
+ "pf=0.63662\n",
+ "HF=0.48342\n",
+ "active power=2143.96 W\n",
+ "reactive power=2143.956 Var\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12, Page No 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=45.0\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=(V_m/math.pi)*(1+math.cos(math.radians(a)))\n",
+ "I_o=V_o/R\n",
+ "V_or=V_s*math.sqrt((1/math.pi)*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2))\n",
+ "I_or=I_o\n",
+ "P_dc=V_o*I_o\n",
+ "P_ac=V_or*I_or\n",
+ "RE=P_dc/P_ac \n",
+ "FF=V_or/V_o \n",
+ "VRF=math.sqrt(FF**2-1) \n",
+ "I_s1=2*math.sqrt(2)*I_o*math.cos(math.radians(a/2))/math.pi\n",
+ "DF=math.cos(math.radians(a/2)) \n",
+ "CDF=2*math.sqrt(2)*math.cos(math.radians(a/2))/math.sqrt(math.pi*(math.pi-a*math.pi/180)) \n",
+ "pf=CDF*DF \n",
+ "HF=math.sqrt((1/CDF**2)-1) \n",
+ "Q=V_m*I_o*math.sin(math.radians(a))/math.pi\n",
+ "\n",
+ "#Results\n",
+ "print(\"form factor=%.3f\" %FF)\n",
+ "print(\"rectification efficiency=%.4f\" %RE)\n",
+ "print(\"voltage ripple factor=%.3f\" %VRF) \n",
+ "print(\"DF=%.4f\" %DF)\n",
+ "print(\"CDF=%.4f\" %CDF)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ "print(\"HF=%.4f\" %HF)\n",
+ "print(\"active power=%.3f W\" %P_dc)\n",
+ "print(\"reactive power=%.2f Var\" %Q)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "form factor=1.241\n",
+ "rectification efficiency=0.8059\n",
+ "voltage ripple factor=0.735\n",
+ "DF=0.9239\n",
+ "CDF=0.9605\n",
+ "pf=0.8874\n",
+ "HF=0.2899\n",
+ "active power=3123.973 W\n",
+ "reactive power=1293.99 Var\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13, Page No 319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "V_om=3*V_ml/(2*math.pi)\n",
+ "V_o=V_om/2\n",
+ "th=30\n",
+ "a=math.degrees(math.acos((2*math.pi*math.sqrt(3)*V_o/(3*V_ml)-1)))-th \n",
+ "I_o=V_o/R \n",
+ "V_or=V_ml/(2*math.sqrt(math.pi))*math.sqrt((5*math.pi/6-a*math.pi/180)+.5*math.sin(math.radians(2*a+2*th)))\n",
+ "I_or=V_or/R \n",
+ "RE=V_o*I_o/(V_or*I_or) \n",
+ "\n",
+ "#Results\n",
+ "print(\"delay angle=%.1f deg\" %a)\n",
+ "print(\"avg load current=%.3f A\" %I_o)\n",
+ "print(\"rms load current=%.3f A\" %I_or)\n",
+ "print(\"rectification efficiency=%.4f\" %RE)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "delay angle=67.7 deg\n",
+ "avg load current=7.765 A\n",
+ "rms load current=10.477 A\n",
+ "rectification efficiency=0.5494\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15, Page No 321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=400.0\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "v_T=1.4\n",
+ "a1=30.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o1=3*V_ml/(2*math.pi)*math.cos(math.radians(a1))-v_T \n",
+ "a2=60.0\n",
+ "V_o2=3*V_ml/(2*math.pi)*math.cos(math.radians(a2))-v_T \n",
+ "I_o=36\n",
+ "I_TA=I_o/3 \n",
+ "I_Tr=I_o/math.sqrt(3) \n",
+ "P=I_TA*v_T \n",
+ "\n",
+ "#Results\n",
+ "print(\"for firing angle = 30deg\")\n",
+ "print(\"avg output voltage=%.3f V\" %V_o1)\n",
+ "print(\"for firing angle = 60deg\")\n",
+ "print(\"avg output voltage=%.2f V\" %V_o2)\n",
+ "print(\"avg current rating=%.0f A\" %I_TA)\n",
+ "print(\"rms current rating=%.3f A\" %I_Tr)\n",
+ "print(\"PIV of SCR=%.1f V\" %V_ml)\n",
+ "print(\"power dissipated=%.1f W\" %P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle = 30deg\n",
+ "avg output voltage=232.509 V\n",
+ "for firing angle = 60deg\n",
+ "avg output voltage=133.65 V\n",
+ "avg current rating=12 A\n",
+ "rms current rating=20.785 A\n",
+ "PIV of SCR=565.7 V\n",
+ "power dissipated=16.8 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.17, Page No 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "E=200\n",
+ "I_o=20\n",
+ "R=.5\n",
+ "\n",
+ "#Calculations\n",
+ "V_o1=E+I_o*R\n",
+ "V_s=230\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "a1=math.degrees(math.acos(V_o1*math.pi/(3*V_ml)))\n",
+ "th=120\n",
+ "I_s=math.sqrt((1/math.pi)*I_o**2*th*math.pi/180)\n",
+ "P=E*I_o+I_o**2*R\n",
+ "pf=P/(math.sqrt(3)*V_s*I_s) \n",
+ "V_o2=E-I_o*R\n",
+ "a2=math.degrees(math.acos(-V_o2*math.pi/(3*V_ml))) \n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle delay=%.3f deg\" %a1)\n",
+ "print(\"pf=%.3f\" %pf)\n",
+ "print(\"firing angle delay=%.2f deg\" %a2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=47.461 deg\n",
+ "pf=0.646\n",
+ "firing angle delay=127.71 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18, Page No 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "w=2*math.pi*f\n",
+ "a1=0\n",
+ "t_c1=(4*math.pi/3-a1*math.pi/180)/w \n",
+ "a2=30\n",
+ "t_c2=(4*math.pi/3-a2*math.pi/180)/w \n",
+ "\n",
+ "#Results\n",
+ "print(\"for firing angle delay=0deg\")\n",
+ "print(\"commutation time=%.2f ms\" %(t_c1*1000))\n",
+ "print(\"peak reverse voltage=%.2f V\" %(math.sqrt(2)*V))\n",
+ "print(\"for firing angle delay=30deg\")\n",
+ "print(\"commutation time=%.2f ms\" %(t_c2*1000))\n",
+ "print(\"peak reverse voltage=%.2f V\" %(math.sqrt(2)*V))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle delay=0deg\n",
+ "commutation time=13.33 ms\n",
+ "peak reverse voltage=325.27 V\n",
+ "for firing angle delay=30deg\n",
+ "commutation time=11.67 ms\n",
+ "peak reverse voltage=325.27 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.19, Page No 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=30.0\n",
+ "R=10.0\n",
+ "P=5000.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "I_or=math.sqrt(P*R)\n",
+ "V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "\n",
+ "#Results\n",
+ "print(\"per phase voltage percent V_ph=%.3f V\" %V_ph) \n",
+ "print(\"for constant load current\")\n",
+ "print(\"V_ph=%.2f V\" %V_ph)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "per phase voltage percent V_ph=110.384 V\n",
+ "for constant load current\n",
+ "V_ph=110.38 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.20, Page No 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=30.0\n",
+ "R=10.0\n",
+ "P=5000.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_s=math.sqrt(P*R*4*math.pi/(2*3)/(2*math.pi/3+math.sqrt(3)*(1+math.cos(math.radians(2*a)))/2))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "I_or=math.sqrt(P*R)\n",
+ "V_s=I_or*2*math.pi/(math.sqrt(2)*3*(1+math.cos(math.radians(a))))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "\n",
+ "#Results\n",
+ "print(\"per phase voltage percent V_ph=%.3f V\" %V_ph) \n",
+ "print(\"for constant load current\")\n",
+ "print(\"V_ph=%.2f V\" %V_ph)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "per phase voltage percent V_ph=102.459 V\n",
+ "for constant load current\n",
+ "V_ph=102.46 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.21, Page No 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=90.0\n",
+ "R=10.0\n",
+ "P=5000.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_s=math.sqrt(P*R*4*math.pi/(2*3)/((math.pi-math.pi/2)+(math.sin(math.radians(2*a)))/2))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "I_or=math.sqrt(P*R)\n",
+ "V_s=I_or*2*math.pi/(math.sqrt(2)*3*(1+math.cos(math.radians(a))))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "\n",
+ "#Results\n",
+ "print(\"per phase voltage percent V_ph=%.2f V\" %V_ph)\n",
+ "print(\"for constant load current\")\n",
+ "print(\"V_ph=%.1f V\" %V_ph)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "per phase voltage percent V_ph=191.19 V\n",
+ "for constant load current\n",
+ "V_ph=191.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.22 Page No 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "E=200.0\n",
+ "I_o=20.0\n",
+ "R=.5\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=E+I_o*R\n",
+ "V_s=230\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "a=math.degrees(math.acos(V_o*2*math.pi/(3*V_ml)-1)) \n",
+ "a1=180-a\n",
+ "I_sr=math.sqrt((1/math.pi)*I_o**2*(a1*math.pi/180))\n",
+ "P=V_o*I_o\n",
+ "pf=P/(math.sqrt(3)*V_s*I_sr) \n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle delay=%.2f deg\" %a)\n",
+ "print(\"pf=%.2f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=69.38 deg\n",
+ "pf=0.67\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.23, Page No 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=400.0\n",
+ "f=50.0\n",
+ "I_o=15.0\n",
+ "a=45.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_TA=I_o*120.0/360.0\n",
+ "I_Tr=math.sqrt(I_o**2*120/360)\n",
+ "I_sr=math.sqrt(I_o**2*120/180)\n",
+ "V_ml=math.sqrt(2)*V_s\n",
+ "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+ "V_or=V_ml*math.sqrt((3/(2*math.pi))*(math.pi/3+math.sqrt(3/2)*math.cos(math.radians(2*a))))\n",
+ "I_or=I_o\n",
+ "P_dc=V_o*I_o\n",
+ "P_ac=V_or*I_or\n",
+ "RE=P_dc/P_ac \n",
+ "VA=3*V_s/math.sqrt(3)*I_sr\n",
+ "TUF=P_dc/VA \n",
+ "pf=P_ac/VA \n",
+ "\n",
+ "#Results\n",
+ "print(\"rectification efficiency=%.5f\" %RE)\n",
+ "print(\"TUF=%.4f\" %TUF)\n",
+ "print(\"Input pf=%.3f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rectification efficiency=0.95493\n",
+ "TUF=0.6752\n",
+ "Input pf=0.707\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.24, Page No 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I=10.0\n",
+ "a=45.0\n",
+ "V=400.0\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "DF=math.cos(math.radians(a))\n",
+ "I_o=10\n",
+ "I_s1=4*I_o/(math.sqrt(2)*math.pi)*math.sin(math.pi/3)\n",
+ "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+ "I_o=1 #suppose\n",
+ "CDF=I_s1/I_sr \n",
+ "THD=math.sqrt(1/CDF**2-1) \n",
+ "pf=CDF*DF \n",
+ "P=(3*math.sqrt(2)*V*math.cos(math.radians(a))/math.pi)*I\n",
+ "Q=(3*math.sqrt(2)*V*math.sin(math.radians(a))/math.pi)*I \n",
+ " \n",
+ "#Results\n",
+ "print(\"DF=%.3f\" %DF)\n",
+ "print(\"CDF=%.3f\" %CDF)\n",
+ "print(\"THD=%.5f\" %THD)\n",
+ "print(\"PF=%.4f\" %pf)\n",
+ "print(\"active power=%.2f W\" %P) \n",
+ "print(\"reactive power=%.2f Var\" %Q)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DF=0.707\n",
+ "CDF=0.955\n",
+ "THD=0.31084\n",
+ "PF=0.6752\n",
+ "active power=3819.72 W\n",
+ "reactive power=3819.72 Var\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.25, Page No 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "print(\"for firing angle=30deg\")\n",
+ "a=30.0\n",
+ "V=400.0\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+ "E=350\n",
+ "R=10\n",
+ "\n",
+ "#Calculations\n",
+ "I_o=(V_o-E)/R\n",
+ "I_or=I_o\n",
+ "P1=V_o*I_o \n",
+ "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+ "VA=3*V/math.sqrt(3)*I_sr\n",
+ "pf=P1/VA \n",
+ "a=180-60\n",
+ "V=400\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+ "E=-350\n",
+ "R=10\n",
+ "I_o=(V_o-E)/R\n",
+ "I_or=I_o\n",
+ "P2=-V_o*I_o \n",
+ "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+ "VA=3*V/math.sqrt(3)*I_sr\n",
+ "pf=P2/VA \n",
+ "\n",
+ "print(\"power delivered to load=%.2f W\" %P1)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ "print(\"for firing advance angle=60deg\")\n",
+ "print(\"power delivered to load=%.2f W\" %P2)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle=30deg\n",
+ "power delivered to load=5511.74 W\n",
+ "pf=0.4775\n",
+ "for firing advance angle=60deg\n",
+ "power delivered to load=2158.20 W\n",
+ "pf=0.4775\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.26, Page No 347"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=0\n",
+ "u=15.0\n",
+ "\n",
+ "#Calculations\n",
+ "i=math.cos(math.radians(a))-math.cos(math.radians(a+u))\n",
+ "a=30\n",
+ "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a \n",
+ "a=45\n",
+ "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a \n",
+ "a=60\n",
+ "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a \n",
+ "\n",
+ "#Results\n",
+ "print(\"for firing angle=30deg\") \n",
+ "print(\"overlap angle=%.1f deg\" %u)\n",
+ "print(\"for firing angle=45deg\") \n",
+ "print(\"overlap angle=%.1f deg\" %u)\n",
+ "print(\"for firing angle=60deg\") \n",
+ "print(\"overlap angle=%.2f deg\" %u)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle=30deg\n",
+ "overlap angle=2.2 deg\n",
+ "for firing angle=45deg\n",
+ "overlap angle=2.2 deg\n",
+ "for firing angle=60deg\n",
+ "overlap angle=2.23 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.28, Page No 352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "E=400.0\n",
+ "I_o=20.0\n",
+ "R=1\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=E+I_o*R\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "L=.004\n",
+ "V=230 #per phase voltage\n",
+ "V_ml=math.sqrt(6)*V\n",
+ "a=math.degrees(math.acos(math.pi/(3*V_ml)*(V_o+3*w*L*I_o/math.pi))) \n",
+ "print(\"firing angle delay=%.3f deg\" %a)\n",
+ "u=math.degrees(math.acos(math.pi/(3*V_ml)*(V_o-3*w*L*I_o/math.pi)))-a \n",
+ "\n",
+ "#Results\n",
+ "print(\"overlap angle=%.2f deg\" %u)\n",
+ "#Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=34.382 deg\n",
+ "overlap angle=8.22 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.29, Page No 352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=400.0\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "R=1\n",
+ "E=230\n",
+ "I=15.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=-E+I*R\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "a=math.degrees(math.acos(V_o*2*math.pi/(3*V_ml))) \n",
+ "L=0.004\n",
+ "a=math.degrees(math.acos((2*math.pi)/(3*V_ml)*(V_o+3*w*L*I/(2*math.pi)))) \n",
+ "u=math.degrees(math.acos(math.cos(math.radians(a))-3*f*L*I/V_ml))-a \n",
+ "\n",
+ "#Results\n",
+ "print(\"firing angle=%.3f deg\" %a)\n",
+ "print(\"firing angle delay=%.3f deg\" %a)\n",
+ "print(\"overlap angle=%.3f deg\" %u)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle=139.702 deg\n",
+ "firing angle delay=139.702 deg\n",
+ "overlap angle=1.431 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.31, Page No 361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0 #per phase\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_ml=math.sqrt(3.0)*math.sqrt(2)*V\n",
+ "w=2*math.pi*f\n",
+ "a1=60.0\n",
+ "L=0.015\n",
+ "i_cp=(math.sqrt(3)*V_ml/(w*L))*(1-math.sin(math.radians(a1))) \n",
+ "\n",
+ "#Results\n",
+ "print(\"circulating current=%.4f A\" %i_cp)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "circulating current=27.7425 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.32, Page No 362"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "V_m=math.sqrt(2)*V\n",
+ "a=30.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=2*V_m* math.cos(math.radians(a))/math.pi \n",
+ "R=10\n",
+ "I_o=V_o/R \n",
+ "I_TA=I_o*math.pi/(2*math.pi) \n",
+ "I_Tr=math.sqrt(I_o**2*math.pi/(2*math.pi)) \n",
+ "I_s=math.sqrt(I_o**2*math.pi/(math.pi)) \n",
+ "I_o=I_s\n",
+ "pf=(V_o*I_o/(V*I_s)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p voltage=%.3f V\" %V_o)\n",
+ "print(\"avg o/p current=%.2f A\" %I_o)\n",
+ "print(\"avg value of thyristor current=%.3f A\" %I_TA)\n",
+ "print(\"rms value of thyristor current=%.2f A\" %I_Tr)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n",
+ " \n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg o/p voltage=179.330 V\n",
+ "avg o/p current=17.93 A\n",
+ "avg value of thyristor current=8.967 A\n",
+ "rms value of thyristor current=12.68 A\n",
+ "pf=0.7797\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.33, Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "V_m=math.sqrt(2)*V\n",
+ "a=30.0\n",
+ "L=.0015\n",
+ "\n",
+ "#Calculations\n",
+ "V_o=2*V_m* math.cos(math.radians(a))/math.pi \n",
+ "R=10\n",
+ "I_o=V_o/R \n",
+ "f=50\n",
+ "w=2*math.pi*f\n",
+ "V_ox=2*V_m*math.cos(math.radians(a))/math.pi-w*L*I_o/math.pi \n",
+ "u=math.degrees(math.acos(math.cos(math.radians(a))-I_o*w*L/V_m))-a \n",
+ "I=I_o\n",
+ "pf=V_o*I_o/(V*I) \n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p voltage=%.3f V\" %V_ox)\n",
+ "print(\"angle of overlap=%.3f deg\" %u)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg o/p voltage=176.640 V\n",
+ "angle of overlap=2.855 deg\n",
+ "pf=0.7797\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.34, Page No 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=415.0\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "a1=35.0 #firing angle advance\n",
+ "\n",
+ "#Calculations\n",
+ "a=180-a1\n",
+ "I_o=80.0\n",
+ "r_s=0.04\n",
+ "v_T=1.5\n",
+ "X_l=.25 #reactance=w*L\n",
+ "E=-3*V_ml*math.cos(math.radians(a))/math.pi+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi \n",
+ "\n",
+ "#Results\n",
+ "print(\"mean generator voltage=%.3f V\" %E)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mean generator voltage=487.590 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.35, Page No 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=415.0\n",
+ "V_ml=math.sqrt(2)*V\n",
+ "R=0.2\n",
+ "I_o=80\n",
+ "r_s=0.04\n",
+ "v_T=1.5\n",
+ "\n",
+ "#Calculations\n",
+ "X_l=.25 #reactance=w*L\n",
+ "a=35\n",
+ "E=-(-3*V_ml*math.cos(math.radians(a))/math.pi+I_o*R+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi) \n",
+ "a1=35\n",
+ "a=180-a1\n",
+ "E=(-3*V_ml*math.cos(math.radians(a))/math.pi+I_o*R+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi) \n",
+ "\n",
+ "#Results\n",
+ "print(\"when firing angle=35deg\") \n",
+ "print(\"mean generator voltage=%.3f V\" %E)\n",
+ "print(\"when firing angle advance=35deg\")\n",
+ "print(\"mean generator voltage=%.3f V\" %E)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when firing angle=35deg\n",
+ "mean generator voltage=503.590 V\n",
+ "when firing angle advance=35deg\n",
+ "mean generator voltage=503.590 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.36, Page No 365"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=5.0\n",
+ "V=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_mp=math.sqrt(2)*V\n",
+ "a=30.0\n",
+ "E=150.0\n",
+ "B=180-math.degrees(math.asin(E/V_mp))\n",
+ "I_o=(3/(2*math.pi*R))*(V_mp*(math.cos(math.radians(a+30))-math.cos(math.radians(B)))-E*((B-a-30)*math.pi/180))\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg current flowing=%.2f A\" %I_o)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg current flowing=19.96 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.37, Page No 366"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=30.0\n",
+ "V=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_m=math.sqrt(2)*V\n",
+ "V_o=V_m*(1+math.cos(math.radians(a)))/math.pi \n",
+ "E=100\n",
+ "R=10\n",
+ "I_o=(V_o-E)/R \n",
+ "I_TA=I_o*math.pi/(2*math.pi) \n",
+ "I_Tr=math.sqrt(I_o**2*math.pi/(2*math.pi)) \n",
+ "I_s=math.sqrt(I_o**2*(1-a/180)*math.pi/(math.pi))\n",
+ "I_or=I_o\n",
+ "P=E*I_o+I_or**2*R\n",
+ "pf=(P/(V*I_s)) \n",
+ "f=50\n",
+ "w=2*math.pi*f\n",
+ "t_c=(1-a/180)*math.pi/w \n",
+ "\n",
+ "#Results\n",
+ "print(\"\\navg o/p current=%.2f A\" %I_o)\n",
+ "print(\"avg o/p voltage=%.3f V\" %V_o)\n",
+ "print(\"avg value of thyristor current=%.2f A\" %I_TA)\n",
+ "print(\"rms value of thyristor current=%.3f A\" %I_Tr)\n",
+ "print(\"avg value of diode current=%.2f A\" %I_TA)\n",
+ "print(\"rms value of diode current=%.3f A\" %I_Tr)\n",
+ "print(\"pf=%.4f\" %pf)\n",
+ "print(\"circuit turn off time=%.2f ms\" %(t_c*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "avg o/p current=9.32 A\n",
+ "avg o/p voltage=193.202 V\n",
+ "avg value of thyristor current=4.66 A\n",
+ "rms value of thyristor current=6.590 A\n",
+ "avg value of diode current=4.66 A\n",
+ "rms value of diode current=6.590 A\n",
+ "pf=0.9202\n",
+ "circuit turn off time=8.33 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.38, Page No 368"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "V_m=math.sqrt(2)*V\n",
+ "L=0.05\n",
+ "f=50.0\n",
+ "\n",
+ "#Calculations\n",
+ "w=2*math.pi*f\n",
+ "a=30\n",
+ "i_cp=2*V_m*(1-math.cos(math.radians(a)))/(w*L) \n",
+ "R=30.0\n",
+ "i_l=V_m/R\n",
+ "i1=i_cp+i_l \n",
+ "i2=i_cp \n",
+ "\n",
+ "#Results\n",
+ "print(\"peak value of circulating current=%.3f A\" %i_cp)\n",
+ "print(\"peak value of current in convertor 1=%.3f A\" %i1)\n",
+ "print(\"peak value of current in convertor 2=%.3f A\" %i2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak value of circulating current=5.548 A\n",
+ "peak value of current in convertor 1=16.391 A\n",
+ "peak value of current in convertor 2=5.548 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.39, Page No 370"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "R=5.0\n",
+ "L=0.05\n",
+ "\n",
+ "#Calculations\n",
+ "phi=math.degrees(math.atan(w*L/R)) \n",
+ "phi=90+math.degrees(math.atan(w*L/R)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"for no current transients\")\n",
+ "print(\"triggering angle=%.2f deg\" %phi)\n",
+ "print(\"for worst transients\")\n",
+ "print(\"triggering angle=%.2f deg\" %phi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for no current transients\n",
+ "triggering angle=162.34 deg\n",
+ "for worst transients\n",
+ "triggering angle=162.34 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter7_4.ipynb b/Power_Electronics/Chapter7_4.ipynb new file mode 100755 index 00000000..726160c8 --- /dev/null +++ b/Power_Electronics/Chapter7_4.ipynb @@ -0,0 +1,1036 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 07 : Choppers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2, Page No 387"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=0.4 #duty cycle %a=T_on/T\n",
+ "V_s=230.0\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "V=a*(V_s-2) \n",
+ "V_or=math.sqrt(a*(V_s-2)**2) \n",
+ "P_o=V_or**2/R\n",
+ "P_i=V_s*V/R\n",
+ "n=P_o*100/P_i \n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p voltage=%.1f V\" %V)\n",
+ "print(\"rms value of o/p voltage=%.1f V\" %V_or)\n",
+ "print(\"chopper efficiency in percentage=%.2f\" %n)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "avg o/p voltage=91.2 V\n",
+ "rms value of o/p voltage=144.2 V\n",
+ "chopper efficiency in percentage=99.13\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3, Page No 388"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_i=220.0\n",
+ "V_o=660.0\n",
+ "\n",
+ "#Calculations\n",
+ "a=1-V_i/V_o\n",
+ "T_on=100.0 #microsecond\n",
+ "T=T_on/a\n",
+ "T_off=T-T_on \n",
+ "T_off=T_off/2\n",
+ "T_on=T-T_off\n",
+ "a=T_on/T\n",
+ "V_o=V_i/(1-a)\n",
+ "\n",
+ "#Results \n",
+ "print(\"pulse width of o/p voltage=%.0f us\" %T_off)\n",
+ "print(\"\\nnew o/p voltage=%.0f V\" %V_o)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "pulse width of o/p voltage=25 us\n",
+ "\n",
+ "new o/p voltage=1320 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4 Page No 288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_1=12.0\n",
+ "I_2=16.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_0=(I_1+I_2)/2\n",
+ "R=10.0\n",
+ "V_0=I_0*R\n",
+ "V_s=200.0\n",
+ "a=V_0/V_s\n",
+ "r=a/(1-a)\n",
+ "\n",
+ "#Results\n",
+ "print(\"time ratio(T_on/T_off)=%.3f\" %r)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "time ratio(T_on/T_off)=2.333\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5, Page No 390"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_o=660.0\n",
+ "V_s=220.0\n",
+ "\n",
+ "#Calculations\n",
+ "a=(V_o/V_s)/(1+(V_o/V_s))\n",
+ "T_on=120\n",
+ "T=T_on/a\n",
+ "T_off=T-T_on \n",
+ "T_off=3*T_off\n",
+ "T_on=T-T_off\n",
+ "a=T_on/(T_on+T_off)\n",
+ "V_o=V_s*(a/(1-a)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"pulse width o/p voltage=%.0f us\" %T_off)\n",
+ "print(\"\\nnew o/p voltage=%.2f V\" %V_o)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "pulse width o/p voltage=120 us\n",
+ "\n",
+ "new o/p voltage=73.33 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.11 Page No 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=1.0\n",
+ "L=.005\n",
+ "T_a=L/R\n",
+ "T=2000*10**-6\n",
+ "E=24.0\n",
+ "V_s=220\n",
+ "T_on=600*10**-6\n",
+ "a=T_on/T\n",
+ "\n",
+ "#Calculations\n",
+ "a1=(T_a/T)*math.log(1+(E/V_s)*((math.exp(T/T_a))-1))\n",
+ "if a1<a :\n",
+ " print(\"load current in continuous\")\n",
+ "else:\n",
+ " print(\"load current in discont.\")\n",
+ "\n",
+ "I_o=(a*V_s-E)/R \n",
+ "I_mx=(V_s/R)*((1-math.exp(-T_on/T_a))/(1-math.exp(-T/T_a)))-E/R \n",
+ "I_mn=(V_s/R)*((math.exp(T_on/T_a)-1)/(math.exp(T/T_a)-1))-E/R \n",
+ "f=1/T\n",
+ "w=2*math.pi*f\n",
+ "I1=(2*V_s/(math.sqrt(2)*math.pi)*math.sin(math.radians(180*a)))/(math.sqrt(R**2+(w*L)**2)) \n",
+ "I2=(2*V_s/(2*math.sqrt(2)*math.pi)*math.sin(math.radians(2*180*a)))/(math.sqrt(R**2+(w*L*2)**2)) \n",
+ "I3=(2*V_s/(3*math.sqrt(2)*math.pi)*math.sin(math.radians(3*180*a)))/(math.sqrt(R**2+(w*L*3)**2)) \n",
+ "I_TAV=a*(V_s-E)/R-L*(I_mx-I_mn)/(R*T) \n",
+ "P1=I_TAV*V_s\n",
+ "P2=E*I_o\n",
+ "I_or=math.sqrt(I_o**2+I1**2+I2**2+I3**2)\n",
+ "\n",
+ "#Results\n",
+ "print(\"avg o/p current=%.2f A\" %I_o)\n",
+ "print(\"max value of steady current=%.2f A\" %I_mx)\n",
+ "print(\"min value of steady current=%.2f A\" %I_mn)\n",
+ "print(\"first harmonic current=%.4f A\" %I1)\n",
+ "print(\"second harmonic current=%.4f A\" %I2)\n",
+ "print(\"third harmonic current=%.5f A\" %I3)\n",
+ "print(\"avg supply current=%.4f A\" %I_TAV)\n",
+ "print(\"i/p power=%.2f W\" %P1)\n",
+ "print(\"power absorbed by load emf=%.0f W\" %P2)\n",
+ "print(\"power loss in resistor=%.2f W\" %(P1-P2))\n",
+ "print(\"rms value of load current=%.3f A\" %I_or)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "load current in continuous\n",
+ "avg o/p current=42.00 A\n",
+ "max value of steady current=51.46 A\n",
+ "min value of steady current=33.03 A\n",
+ "first harmonic current=5.0903 A\n",
+ "second harmonic current=1.4983 A\n",
+ "third harmonic current=0.21643 A\n",
+ "avg supply current=12.7289 A\n",
+ "i/p power=2800.35 W\n",
+ "power absorbed by load emf=1008 W\n",
+ "power loss in resistor=1792.35 W\n",
+ "rms value of load current=42.334 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.12 Page No 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=1\n",
+ "L=.001\n",
+ "V_s=220\n",
+ "E=72.0\n",
+ "f=500.0\n",
+ "T_on=800*10**-6\n",
+ "T_a=L/R\n",
+ "T=1.0/f\n",
+ "m=E/V_s\n",
+ "a=T_on/T\n",
+ "\n",
+ "#Calculations\n",
+ "a1=(T_a/T)*math.log(1+m*(math.exp(-T/T_a)-1))\n",
+ "if a1>a :\n",
+ " print(\"load current is continuous\")\n",
+ "else:\n",
+ " print(\"load current is discontinuous\")\n",
+ "\n",
+ "t_x=T_on+L*math.log(1+((V_s-E)/272)*(1-math.exp(-T_on/T_a)))\n",
+ " #Value of t_x wrongly calculated in the book so ans of V_o and I_o varies\n",
+ "V_o=a*V_s+(1-t_x/T)*E \n",
+ "I_o=(V_o-E)/R \n",
+ "I_mx=(V_s-E)/R*(1-math.exp(-T_on/T_a)) \n",
+ "\n",
+ "#Results \n",
+ "print(\"avg o/p voltage=%.2f V\" %V_o)\n",
+ "print(\"avg o/p current=%.2f A\" %I_o) \n",
+ "print(\"max value of load current=%.1f A\" %I_mx)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "load current is discontinuous\n",
+ "avg o/p voltage=121.77 V\n",
+ "avg o/p current=49.77 A\n",
+ "max value of load current=81.5 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.13, Page No 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=0.2\n",
+ "V_s=500\n",
+ "E=a*V_s\n",
+ "L=0.06\n",
+ "I=10\n",
+ "\n",
+ "#Calculations\n",
+ "T_on=(L*I)/(V_s-E)\n",
+ "f=a/T_on \n",
+ "\n",
+ "#Results\n",
+ "print(\"chopping freq=%.2f Hz\" %f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "chopping freq=133.33 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.14 Page No 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=0.5\n",
+ "pu=0.1 #pu ripple\n",
+ "\n",
+ "#Calculations\n",
+ " #x=T/T_a\n",
+ " #y=exp(-a*x)\n",
+ "y=(1-pu)/(1+pu)\n",
+ " #after solving\n",
+ "x=math.log(1/y)/a\n",
+ "f=1000\n",
+ "T=1/f\n",
+ "T_a=T/x\n",
+ "R=2\n",
+ "L=R*T_a\n",
+ "Li=0.002\n",
+ "Le=L-Li \n",
+ "\n",
+ "#Results\n",
+ "print(\"external inductance=%.3f mH\" %(Le*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "external inductance=-2.000 mH\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.15 Page No 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=10.0\n",
+ "L=0.015\n",
+ "T_a=L/R\n",
+ "f=1250.0\n",
+ "T=1.0/f\n",
+ "a=0.5\n",
+ "T_on=a*T\n",
+ "V_s=220.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_mx=(V_s/R)*((1-math.exp(-T_on/T_a))/(1-math.exp(-T/T_a))) \n",
+ "I_mn=(V_s/R)*((math.exp(T_on/T_a)-1)/(math.exp(T/T_a)-1)) \n",
+ "dI=I_mx-I_mn \n",
+ "V_o=a*V_s\n",
+ "I_o=V_o/R \n",
+ "I_or=math.sqrt(I_mx**2+dI**2/3+I_mx*dI) \n",
+ "I_chr=math.sqrt(a)*I_or \n",
+ "\n",
+ "#Results\n",
+ "print(\"Max value of ripple current=%.2f A\" %dI)\n",
+ "print(\"Max value of load current=%.3f A\" %I_mx)\n",
+ "print(\"Min value of load current=%.2f A\" %I_mn)\n",
+ "print(\"Avg value of load current=%.2f A\" %I_o) \n",
+ "print(\"rms value of load current=%.2f A\" %I_or)\n",
+ "print(\"rms value of chopper current=%.2f A\" %I_chr)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max value of ripple current=2.92 A\n",
+ "Max value of load current=12.458 A\n",
+ "Min value of load current=9.54 A\n",
+ "Avg value of load current=11.00 A\n",
+ "rms value of load current=13.94 A\n",
+ "rms value of chopper current=9.86 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.17 Page No 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "L=0.0016\n",
+ "C=4*10**-6\n",
+ "\n",
+ "#Calculations\n",
+ "w=1/math.sqrt(L*C)\n",
+ "t=math.pi/w \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"time for which current flows=%.2f us\" %(t*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "time for which current flows=251.33 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.18, Page No 424"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "t_q=20.0*10**-6\n",
+ "dt=20.0*10**-6\n",
+ "\n",
+ "#Calculations\n",
+ "t_c=t_q+dt\n",
+ "I_0=60.0\n",
+ "V_s=60.0\n",
+ "C=t_c*I_0/V_s \n",
+ "\n",
+ "#Results \n",
+ "print(\"value of commutating capacitor=%.0f uF\" %(C*10**6))\n",
+ "\n",
+ "L1=(V_s/I_0)**2*C\n",
+ "L2=(2*t_c/math.pi)**2/C\n",
+ "if L1>L2 :\n",
+ " print(\"value of commutating inductor=%.0f uH\" %(L1*10**6))\n",
+ "else:\n",
+ " print(\"value of commutating inductor=%.0f uH\" %(L2*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of commutating capacitor=40 uF\n",
+ "value of commutating inductor=40 uH\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.19, Page No 424"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "t=100.0*10**-6\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ " #V_s*(1-2*math.exp(-t/(R*C)))=0\n",
+ "C=-t/(R*math.log(1.0/2)) \n",
+ "L=(4/9.0)*C*R**2 \n",
+ "L=(1.0/4)*C*R**2 \n",
+ "\n",
+ "#Results\n",
+ "print(\"Value of comutating component C=%.3f uF\" %(C*10**6))\n",
+ "print(\"max permissible current through SCR is 2.5 times load current\")\n",
+ "print(\"value of comutating component L=%.1f uH\" %(L*10**6))\n",
+ "print(\"max permissible current through SCR is 1.5 times peak diode current\")\n",
+ "print(\"value of comutating component L=%.2f uH\" %(L*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of comutating component C=14.427 uF\n",
+ "max permissible current through SCR is 2.5 times load current\n",
+ "value of comutating component L=360.7 uH\n",
+ "max permissible current through SCR is 1.5 times peak diode current\n",
+ "value of comutating component L=360.67 uH\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.20, Page No 426"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T_on=800.0*10**-6\n",
+ "V_s=220.0\n",
+ "I_o=80.0\n",
+ "C=50*10**-6\n",
+ "\n",
+ "#Calculations\n",
+ "T=T_on+2*V_s*C/I_o \n",
+ "L=20*10**-6\n",
+ "C=50*10**-6\n",
+ "i_T1=I_o+V_s*math.sqrt(C/L) \n",
+ "i_TA=I_o \n",
+ "t_c=C*V_s/I_o \n",
+ "t_c1=(math.pi/2)*math.sqrt(L*C) \n",
+ "t=150*10**-6\n",
+ "v_c=I_o*t/C-V_s \n",
+ "\n",
+ "#Results \n",
+ "print(\"effective on period=%.0f us\" %(T*10**6))\n",
+ "print(\"peak current through main thyristor=%.2f A\" %i_T1)\n",
+ "print(\"peak current through auxillery thyristor=%.0f A\" %i_TA)\n",
+ "print(\"turn off time for main thyristor=%.1f us\" %(t_c*10**6))\n",
+ "print(\"turn off time for auxillery thyristor=%.3f us\" %(t_c1*10**6))\n",
+ "print(\"total commutation interval=%.0f us\" %(2*t_c*10**6))\n",
+ "print(\"capacitor voltage=%.0f V\" %v_c)\n",
+ "print(\"time nedded to recharge the capacitor=%.0f us\" %(2*V_s*C/I_o*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for firing angle = 30deg\n",
+ "avg output voltage=232.509 V\n",
+ "for firing angle = 60deg\n",
+ "avg output voltage=133.65 V\n",
+ "avg current rating=12 A\n",
+ "rms current rating=20.785 A\n",
+ "PIV of SCR=565.7 V\n",
+ "power dissipated=16.8 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 122
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.21, Page No 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_o=260.0\n",
+ "V_s=220.0\n",
+ "fos=2 #factor of safety\n",
+ "\n",
+ "#Calculations\n",
+ "t_off=18*10**-6\n",
+ "t_c=2*t_off\n",
+ "C=t_c*I_o/V_s \n",
+ "L=(V_s/(0.8*I_o))**2*C \n",
+ "f=400\n",
+ "a_mn=math.pi*f*math.sqrt(L*C)\n",
+ "V_omn=V_s*(a_mn+2*f*t_c) \n",
+ "V_omx=V_s \n",
+ "\n",
+ "#Results\n",
+ "print(\"Value of C=%.3f uF\" %(C*10**6))\n",
+ "print(\"value of L=%.3f uH\" %(L*10**6))\n",
+ "print(\"min value of o/p voltage=%.3f V\" %V_omn)\n",
+ "print(\"max value of o/p voltage=%.0f V\" %V_omx)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "firing angle delay=47.461 deg\n",
+ "pf=0.646\n",
+ "firing angle delay=127.71 deg\n"
+ ]
+ }
+ ],
+ "prompt_number": "*"
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.22, Page No 434"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "x=2.0\n",
+ "t_q=30*10**-6\n",
+ "dt=30*10**-6\n",
+ "t_c=t_q+dt\n",
+ "V_s=230.0\n",
+ "I_o=200.0\n",
+ "\n",
+ "#Calculations\n",
+ "L=V_s*t_c/(x*I_o*(math.pi-2*math.asin(1/x))) \n",
+ "C=x*I_o*t_c/(V_s*(math.pi-2*math.asin(1/x))) \n",
+ "V_cp=V_s+I_o*math.sqrt(L/C) \n",
+ "I_cp=x*I_o \n",
+ "x=3\n",
+ "L=V_s*t_c/(x*I_o*(math.pi-2*math.asin(1/x))) \n",
+ "C=x*I_o*t_c/(V_s*(math.pi-2*math.asin(1/x))) \n",
+ "V_cp=V_s+I_o*math.sqrt(L/C) \n",
+ "I_cp=x*I_o \n",
+ "\n",
+ "#Results\n",
+ "print(\"value of commutating inductor=%.3f uH\" %(L*10**6))\n",
+ "print(\"value of commutating capacitor=%.3f uF\" %(C*10**6))\n",
+ "print(\"peak capacitor voltage=%.0f V\" %V_cp)\n",
+ "print(\"peak commutataing current=%.0f A\" %I_cp)\n",
+ "print(\"value of commutating inductor=%.3f uH\" %(L*10**6))\n",
+ "print(\"value of commutating capacitor=%.3f uF\" %(C*10**6))\n",
+ "print(\"peak capacitor voltage=%.2f V\" %V_cp)\n",
+ "print(\"peak commutataing current=%.0f A\" %I_cp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of commutating inductor=7.321 uH\n",
+ "value of commutating capacitor=49.822 uF\n",
+ "peak capacitor voltage=307 V\n",
+ "peak commutataing current=600 A\n",
+ "value of commutating inductor=7.321 uH\n",
+ "value of commutating capacitor=49.822 uF\n",
+ "peak capacitor voltage=306.67 V\n",
+ "peak commutataing current=600 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.23, Page No 434"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesV_s=230\n",
+ "C=50*10**-6\n",
+ "L=20*10**-6\n",
+ "I_cp=V_s*math.sqrt(C/L)\n",
+ "I_o=200\n",
+ "x=I_cp/I_o\n",
+ "\n",
+ "#Calculations\n",
+ "t_c=(math.pi-2*math.asin(1/x))*math.sqrt(C*L) \n",
+ "th1=math.degrees(math.asin(1.0/x))\n",
+ "t=(5*math.pi/2-th1*math.pi/180)*math.sqrt(L*C)+C*V_s*(1-math.cos(math.radians(th1)))/I_o \n",
+ "t=(math.pi-th1*math.pi/180)*math.sqrt(L*C) \n",
+ "\n",
+ "#Results\n",
+ "print(\"turn off time of main thyristor=%.2f us\" %(t_c*10**6))\n",
+ "print(\"total commutation interval=%.3f us\" %(t*10**6))\n",
+ "print(\"turn off time of auxillery thyristor=%.3f us\" %(t*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "turn off time of main thyristor=62.52 us\n",
+ "total commutation interval=80.931 us\n",
+ "turn off time of auxillery thyristor=80.931 us\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.24, Page No 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "tc=0.006\n",
+ "R=10.0\n",
+ "L=R*tc\n",
+ "f=2000.0\n",
+ "\n",
+ "#Calculations\n",
+ "T=1/f\n",
+ "V_o=50.0\n",
+ "V_s=100.0\n",
+ "a=V_o/V_s\n",
+ "T_on=a*T\n",
+ "T_off=T-T_on\n",
+ "dI=V_o*T_off/L\n",
+ "I_o=V_o/R\n",
+ "I2=I_o+dI/2 \n",
+ "I1=I_o-dI/2 \n",
+ "\n",
+ "#Results\n",
+ "print(\"max value of load current=%.3f A\" %I2)\n",
+ "print(\"min value of load current=%.3f A\" %I1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "max value of load current=5.104 A\n",
+ "min value of load current=4.896 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.27, Page No 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "I_a=30.0\n",
+ "r_a=.5\n",
+ "V_s=220.0\n",
+ "\n",
+ "#Calculations\n",
+ "a=I_a*r_a/V_s \n",
+ "a=1\n",
+ "k=.1 #V/rpm\n",
+ "N=(a*V_s-I_a*r_a)/k \n",
+ "\n",
+ "#Results\n",
+ "print(\"min value of duty cycle=%.3f\" %a)\n",
+ "print(\"min Value of speed control=%.0f rpm\" %0)\n",
+ "print(\"max value of duty cycle=%.0f\" %a)\n",
+ "print(\"max value of speed control=%.0f rpm\" %N)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "min value of duty cycle=1.000\n",
+ "min Value of speed control=0 rpm\n",
+ "max value of duty cycle=1\n",
+ "max value of speed control=2050 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.28, Page No 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_t=72.0\n",
+ "I_a=200.0\n",
+ "r_a=0.045\n",
+ "N=2500.0\n",
+ "\n",
+ "#Calculations\n",
+ "k=(V_t-I_a*r_a)/N\n",
+ "E_a=k*1000\n",
+ "L=.007\n",
+ "Rm=.045\n",
+ "Rb=0.065\n",
+ "R=Rm+Rb\n",
+ "T_a=L/R\n",
+ "I_mx=230\n",
+ "I_mn=180\n",
+ "T_on=-T_a*math.log(-((V_t-E_a)/R-I_mx)/((I_mn)-(V_t-E_a)/R))\n",
+ "R=Rm\n",
+ "T_a=L/R\n",
+ "T_off=-T_a*math.log(-((-E_a)/R-I_mn)/((I_mx)-(-E_a)/R))\n",
+ "T=T_on+T_off\n",
+ "f=1/T \n",
+ "a=T_on/T \n",
+ "\n",
+ "#Results\n",
+ "print(\"chopping freq=%.1f Hz\" %f) \n",
+ "print(\"duty cycle ratio=%.3f\" %a)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "chopping freq=40.5 Hz\n",
+ "\n",
+ "duty cycle ratio=0.588\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.29, Page No 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variablesI_mx=425\n",
+ "I_lt=180.0 #lower limit of current pulsation\n",
+ "I_mn=I_mx-I_lt\n",
+ "T_on=0.014\n",
+ "T_off=0.011\n",
+ "\n",
+ "#Calculations\n",
+ "T=T_on+T_off\n",
+ "T_a=.0635\n",
+ "a=T_on/T\n",
+ "V=(I_mx-I_mn*math.exp(-T_on/T_a))/(1-math.exp(-T_on/T_a))\n",
+ "a=.5\n",
+ "I_mn=(I_mx-V*(1-math.exp(-T_on/T_a)))/(math.exp(-T_on/T_a))\n",
+ "T=I_mx-I_mn \n",
+ "T=T_on/a\n",
+ "f=1/T \n",
+ "\n",
+ "#Results\n",
+ "print(\"higher limit of current pulsation=%.0f A\" %T)\n",
+ "print(\"chopping freq=%.3f Hz\" %f)\n",
+ "print(\"duty cycle ratio=%.2f\" %a)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "higher limit of current pulsation=0 A\n",
+ "chopping freq=35.714 Hz\n",
+ "duty cycle ratio=0.50\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter8_4.ipynb b/Power_Electronics/Chapter8_4.ipynb new file mode 100755 index 00000000..721a9faf --- /dev/null +++ b/Power_Electronics/Chapter8_4.ipynb @@ -0,0 +1,984 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 08 : Inverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3, Page No 465"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "T=0.1*10**-3\n",
+ "f=1.0/T\n",
+ "k=15*10**-6 #k=th/w\n",
+ "\n",
+ "#Calculations\n",
+ "th=2*math.pi*f*k\n",
+ "X_l=10.0\n",
+ "R=2.0\n",
+ "X_c=R*math.tan(th)+X_l\n",
+ "C=1/(2*math.pi*f*X_c) \n",
+ "\n",
+ "#Results\n",
+ "print(\"value of C=%.3f uF\" %(C*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of C=1.248 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 Page No 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_01=2*V_s/(math.sqrt(2)*math.pi)\n",
+ "R=2.0\n",
+ "I_01=V_01/R\n",
+ "P_d=I_01**2*R \n",
+ "V=V_s/2\n",
+ "I_s=math.sqrt(2)*I_01/math.pi\n",
+ "P_s=V*I_s\n",
+ "\n",
+ "#Results\n",
+ "print(\"power delivered to load=%.1f W\" %P_d)\n",
+ "print(\"power delivered by both sources=%.1f W\" %(2*P_s))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power delivered to load=5359.9 W\n",
+ "power delivered by both sources=5359.9 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5, Page No 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_01=4*V_s/(math.pi*math.sqrt(2))\n",
+ "R=1.0\n",
+ "X_L=6.0\n",
+ "X_c=7.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_01=V_01/math.sqrt(R**2+(X_L-X_c)**2)\n",
+ "P=I_01**2*R \n",
+ "I_s=math.sqrt(2)*I_01*(2*math.cos(math.radians(45)))/math.pi\n",
+ "P_s=V_s*I_s \n",
+ "\n",
+ "#Results\n",
+ "print(\"power delivered to the source=%.3f kW\" %(P/1000))\n",
+ "print(\"\\npower from the source=%.3f kW\" %(P_s/1000))\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power delivered to the source=21.440 kW\n",
+ "\n",
+ "power from the source=21.440 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.6 Page No 469"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_01=230.0\n",
+ "R=2.0\n",
+ "I_01=V_01/R\n",
+ "I_m=I_01*math.sqrt(2)\n",
+ "I_T1=I_m/2 \n",
+ "I_D1=0 \n",
+ "X_L=8.0\n",
+ "X_C=6.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_01=V_01/math.sqrt(R**2+(X_L-X_C)**2)\n",
+ "phi1=math.degrees(math.atan((X_L-X_C)/R))\n",
+ "I_T1=I_T1*math.sqrt(2)*0.47675 \n",
+ "I_D1=.1507025*I_m/math.sqrt(2) \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"when load R=2 ohm\")\n",
+ "print(\"rms value of thyristor current=%.2f A\" %I_T1)\n",
+ "print(\"rms value of diode current=%.0f A\" %I_D1)\n",
+ "print(\"when load R=2ohm % X_L=8ohm and X_C=6ohm\")\n",
+ "print(\"rms value of thyristor current=%.3f A\" %I_T1)\n",
+ "print(\"rms value of diode current=%.3f A\" %I_D1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when load R=2 ohm\n",
+ "rms value of thyristor current=54.83 A\n",
+ "rms value of diode current=17 A\n",
+ "when load R=2ohm % X_L=8ohm and X_C=6ohm\n",
+ "rms value of thyristor current=54.826 A\n",
+ "rms value of diode current=17.331 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7 Page No 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "R=4.0\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "L=0.035\n",
+ "\n",
+ "#Calculations\n",
+ "C=155*10**-6\n",
+ "X_L=w*L\n",
+ "X_C=1/(w*C)\n",
+ "Z1=math.sqrt(R**2+(X_L-X_C)**2)\n",
+ "phi1=-math.degrees(math.atan((X_L-X_C)/R))\n",
+ "Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)\n",
+ "phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))\n",
+ "Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)\n",
+ "phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))\n",
+ "I_m1=4*V_s/(Z1*math.pi)\n",
+ "I_01=I_m1/math.sqrt(2) \n",
+ "I_m3=4*V_s/(3*Z3*math.pi)\n",
+ "I_m5=4*V_s/(5*Z5*math.pi)\n",
+ "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2)\n",
+ "I_0=I_m/math.sqrt(2)\n",
+ "P_0=(I_0)**2*R \n",
+ "P_01=(I_01)**2*R \n",
+ "t1=(180-phi1)*math.pi/(180*w) \n",
+ "t1=(phi1)*math.pi/(180*w) \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of fundamental load current=%.2f A\" %I_01)\n",
+ "print(\"load power=%.1f W\" %P_0)\n",
+ "print(\"fundamental load power=%.1f W\" %P_01)\n",
+ "print(\"rms value of thyristor current=%.3f A\" %(I_m/2))\n",
+ "print(\"conduction time for thyristor=%.3f ms\" %(t1*1000))\n",
+ "print(\"Conduction time for diodes=%.3f ms\" %(t1*1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of fundamental load current=20.02 A\n",
+ "load power=1632.5 W\n",
+ "fundamental load power=1602.6 W\n",
+ "rms value of thyristor current=14.285 A\n",
+ "conduction time for thyristor=3.736 ms\n",
+ "Conduction time for diodes=3.736 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8, Page No 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_01=2*V_s/(math.sqrt(2)*math.pi) \n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_01=V_01/R\n",
+ "P=I_01**2*R \n",
+ "V_or=math.sqrt((V_s/2)**2)\n",
+ "P=V_or**2/R \n",
+ "I_TP=V_s/(2*R)\n",
+ "I_or=I_TP\n",
+ "pf=I_01**2*R/(V_or*I_or) \n",
+ "DF=V_01/V_or \n",
+ "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+ "THD=V_oh/V_01 \n",
+ "V_03=V_01/3\n",
+ "HF=V_03/V_01\n",
+ "\n",
+ "#Results\n",
+ "print(\"fundamental rms o/p voltage=%.3f V\" %V_01)\n",
+ "print(\"fundamental power to load=%.1f W\" %P)\n",
+ "print(\"total o/p power to load=%.1f W\" %P)\n",
+ "print(\"avg SCR current=%.2f A\" %(I_TP*180/360))\n",
+ "print(\"i/p pf=%.3f\" %pf) \n",
+ "print(\"distortion factor=%.1f\" %DF)\n",
+ "print(\"THD=%.3f\" %THD) \n",
+ "print(\"harmonic factor=%.4f\" %HF)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fundamental rms o/p voltage=103.536 V\n",
+ "fundamental power to load=1322.5 W\n",
+ "total o/p power to load=1322.5 W\n",
+ "avg SCR current=5.75 A\n",
+ "i/p pf=0.811\n",
+ "distortion factor=0.9\n",
+ "THD=0.483\n",
+ "harmonic factor=0.3333\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.9 Page No 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=60\n",
+ "R=3.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=math.sqrt(V_s**2*math.pi/math.pi) \n",
+ "V_01=4*V_s/(math.sqrt(2)*math.pi) \n",
+ "P_o=V_or**2/R \n",
+ "P_01=V_01**2/R \n",
+ "I_s=V_s/R \n",
+ "I_avg=I_s*math.pi/(2*math.pi) \n",
+ "V_03=V_01/3\n",
+ "HF=V_03/V_01 \n",
+ "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+ "THD=V_oh/V_01 \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of o/p voltage=%.0f V\" %V_or)\n",
+ "print(\"o/p power=%.0f W\" %P_o)\n",
+ "print(\"fundamental component of rms voltage=%.2f V\" %V_01)\n",
+ "print(\"fundamental freq o/p power=%.2f W\" %P_01) \n",
+ "print(\"peak current=%.0f A\" %I_s)\n",
+ "print(\"avg current of each transistor=%.0f A\" %I_avg)\n",
+ "print(\"peak reverse blocking voltage=%.0f V\" %V_s)\n",
+ "print(\"harmonic factor=%.4f\" %HF)\n",
+ "print(\"THD=%.4f\" %THD)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/p voltage=60 V\n",
+ "o/p power=1200 W\n",
+ "fundamental component of rms voltage=54.02 V\n",
+ "fundamental freq o/p power=972.68 W\n",
+ "peak current=20 A\n",
+ "avg current of each transistor=10 A\n",
+ "peak reverse blocking voltage=60 V\n",
+ "harmonic factor=0.3333\n",
+ "THD=0.4834\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.10 Page No 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=220.0\n",
+ "R=6.0\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "L=0.03\n",
+ "C=180*10**-6\n",
+ "X_L=w*L\n",
+ "X_C=1/(w*C)\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=math.sqrt(V_s**2*math.pi/math.pi)\n",
+ "V_01=4*V_s/(math.sqrt(2)*math.pi)\n",
+ "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+ "THD=V_oh/V_01 \n",
+ "print(\"THD of voltage=%.4f\" %THD)\n",
+ "DF=V_01/V_or \n",
+ "Z1=math.sqrt(R**2+(X_L-X_C)**2)\n",
+ "phi1=-math.degrees(math.atan((X_L-X_C)/R))\n",
+ "Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)\n",
+ "phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))\n",
+ "Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)\n",
+ "phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))\n",
+ "Z7=math.sqrt(R**2+(X_L*7-X_C/7)**2)\n",
+ "phi7=math.degrees(math.atan((X_L*7-X_C/7)/R))\n",
+ "I_01=19.403\n",
+ "I_m1=4*V_s/(Z1*math.pi)\n",
+ "I_m3=4*V_s/(3*Z3*math.pi)\n",
+ "I_m5=4*V_s/(5*Z5*math.pi)\n",
+ "I_m7=4*V_s/(7*Z7*math.pi)\n",
+ "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)\n",
+ "I_or=I_m/math.sqrt(2)\n",
+ "I_oh=math.sqrt((I_m**2-I_m1**2)/2)\n",
+ "THD=I_oh/I_01 \n",
+ "DF=I_01/I_or \n",
+ "P_o=I_or**2*R \n",
+ "I_avg=P_o/V_s \n",
+ "t1=(180-phi1)*math.pi/(180*w) \n",
+ "t1=1/(2*f)-t1 \n",
+ "I_p=I_m1 \n",
+ "I_t1=.46135*I_p \n",
+ "\n",
+ "#Results\n",
+ "print(\"\\nDF=%.1f\" %DF)\n",
+ "print(\"THD of current=%.4f\" %THD) \n",
+ "print(\"DF=%.3f\" %DF)\n",
+ "print(\"load power=%.1f W\" %P_o)\n",
+ "print(\"avg value of load current=%.2f A\" %I_avg)\n",
+ "print(\"conduction time for thyristor=%.0f ms\" %(t1*1000))\n",
+ "print(\"conduction time for diodes=%.0f ms\" %(t1*1000))\n",
+ "print(\"peak transistor current=%.2f A\" %I_p)\n",
+ "print(\"rms transistor current=%.2f A\" %I_t1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "THD of voltage=0.4834\n",
+ "\n",
+ "DF=1.0\n",
+ "THD of current=0.1557\n",
+ "DF=0.988\n",
+ "load power=2313.5 W\n",
+ "avg value of load current=10.52 A\n",
+ "conduction time for thyristor=3 ms\n",
+ "conduction time for diodes=3 ms\n",
+ "peak transistor current=27.44 A\n",
+ "rms transistor current=12.66 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.11 Page No 497"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=450.0\n",
+ "R=10.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_or=math.sqrt((V_s/(3*R))**2*2/3+(2*V_s/(3*R))**2*1/3) \n",
+ "I_T1=math.sqrt((1/(2*math.pi))*((V_s/(3*R))**2*2*math.pi/3+(2*V_s/(3*R))**2*math.pi/3)) \n",
+ "P=3*I_or**2*R \n",
+ "I_or=math.sqrt((1/(math.pi))*((V_s/(2*R))**2*2*math.pi/3)) \n",
+ "I_T1=math.sqrt((1/(2*math.pi))*((V_s/(2*R))**2*2*math.pi/3)) \n",
+ "P=3*I_or**2*R \n",
+ "\n",
+ "#Results\n",
+ "print(\"for 180deg mode\")\n",
+ "print(\"rms value of load current=%.3f A\" %I_or)\n",
+ "print(\"power delivered to load=%.1f kW\" %(P/1000))\n",
+ "print(\"rms value of load current=%.0f A\" %I_T1)\n",
+ "print(\"for 120deg mode\")\n",
+ "print(\"rms value of load current=%.3f A\" %I_or)\n",
+ "print(\"rms value of load current=%.2f A\" %I_T1)\n",
+ "print(\"power delivered to load=%.3f kW\" %(P/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for 180deg mode\n",
+ "rms value of load current=18.371 A\n",
+ "power delivered to load=10.1 kW\n",
+ "rms value of load current=13 A\n",
+ "for 120deg mode\n",
+ "rms value of load current=18.371 A\n",
+ "rms value of load current=12.99 A\n",
+ "power delivered to load=10.125 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.12, Page No 510"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "R=10.0\n",
+ "f=50.0\n",
+ "w=2*math.pi*f\n",
+ "L=0.03\n",
+ "\n",
+ "#Calculations\n",
+ "X_L=w*L\n",
+ "V_or=math.sqrt(V_s**2*math.pi/math.pi)\n",
+ "V_01=4*V_s/(math.sqrt(2)*math.pi)\n",
+ "Z1=math.sqrt(R**2+(X_L)**2)\n",
+ "phi1=-math.degrees(math.atan((X_L)/R))\n",
+ "Z3=math.sqrt(R**2+(X_L*3)**2)\n",
+ "phi3=math.degrees(math.atan((X_L*3)/R))\n",
+ "Z5=math.sqrt(R**2+(X_L*5)**2)\n",
+ "phi5=math.degrees(math.atan((X_L*5)/R))\n",
+ "Z7=math.sqrt(R**2+(X_L*7)**2)\n",
+ "phi7=math.degrees(math.atan((X_L*7)/R))\n",
+ "I_m1=4*V_s/(math.sqrt(2)*Z1*math.pi)\n",
+ "I_m3=4*V_s/(math.sqrt(2)*3*Z3*math.pi)\n",
+ "I_m5=4*V_s/(math.sqrt(2)*5*Z5*math.pi)\n",
+ "I_m7=4*V_s/(math.sqrt(2)*7*Z7*math.pi)\n",
+ "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)\n",
+ "P=I_m**2*R \n",
+ "I_01=I_m1*math.sin(math.radians(45))\n",
+ "I_03=I_m3*math.sin(math.radians(3*45))\n",
+ "I_05=I_m5*math.sin(math.radians(5*45))\n",
+ "I_07=I_m7*math.sin(math.radians(7*45))\n",
+ "I_0=(I_01**2+I_03**2+I_05**2+I_07**2)\n",
+ "P=I_0*R \n",
+ "g=(180-90)/3+45/2\n",
+ "I_01=2*I_m1*math.sin(math.radians(g))*math.sin(math.radians(45/2))\n",
+ "I_03=2*I_m3*math.sin(math.radians(g*3))*math.sin(math.radians(3*45/2))\n",
+ "I_05=2*I_m5*math.sin(math.radians(g*5))*math.sin(math.radians(5*45/2))\n",
+ "I_07=2*I_m7*math.sin(math.radians(g*7))*math.sin(math.radians(7*45/2))\n",
+ "I_0=(I_01**2+I_03**2+I_05**2+I_07**2)\n",
+ "P=I_0*R \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"using square wave o/p\")\n",
+ "print(\"power delivered=%.2f W\" %P)\n",
+ "print(\"using quasi-square wave o/p\")\n",
+ "print(\"power delivered=%.2f W\" %P)\n",
+ "print(\"using two symmitrical spaced pulses\")\n",
+ "print(\"power delivered=%.2f W\" %P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "using square wave o/p\n",
+ "power delivered=845.87 W\n",
+ "using quasi-square wave o/p\n",
+ "power delivered=845.87 W\n",
+ "using two symmitrical spaced pulses\n",
+ "power delivered=845.87 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.14, Page No 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=50.0\n",
+ "T=1/f\n",
+ "I=0.5\n",
+ "\n",
+ "#Calculations\n",
+ "di=I/T #di=di/dt\n",
+ "V_s=220.0\n",
+ "L=V_s/di \n",
+ "t=20*10**-6\n",
+ "fos=2 #factor of safety\n",
+ "t_c=t*fos\n",
+ "R=10\n",
+ "C=t_c/(R*math.log(2))\n",
+ "\n",
+ "#Results \n",
+ "print(\"source inductance=%.1f H\" %L)\n",
+ "print(\"commutating capacitor=%.2f uF\" %(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "source inductance=8.8 H\n",
+ "commutating capacitor=5.77 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.15, Page No 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=10.0\n",
+ "L=.01\n",
+ "C=10*10**-6\n",
+ "#Calculations\n",
+ "if (R**2)<(4*L/C) :\n",
+ " print(\"ckt will commutate on its own\")\n",
+ "else:\n",
+ " print(\"ckt will not commutate on its own\")\n",
+ "\n",
+ "xie=R/(2*L)\n",
+ "w_o=1/math.sqrt(L*C)\n",
+ "w_r=math.sqrt(w_o**2-xie**2)\n",
+ "phi=math.degrees(math.atan(xie/w_r))\n",
+ "t=math.pi/w_r\n",
+ "V_s=1\n",
+ "v_L=V_s*(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180+phi))\n",
+ "v_c=V_s*(1-(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180-phi))) \n",
+ "di=V_s/L \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"voltage across inductor(*V_s)=%.5f V\" %v_L) \n",
+ "print(\"voltage across capacitor(*V_s)=%.5f V\" %v_c)\n",
+ "print(\"di/dt*V_s (for t=0)=%.0f A/s\" %di)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ckt will commutate on its own\n",
+ "voltage across inductor(*V_s)=-0.60468 V\n",
+ "voltage across capacitor(*V_s)=1.60468 V\n",
+ "di/dt*V_s (for t=0)=100 A/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.16, Page No 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "L=0.006\n",
+ "C=1.2*10**-6\n",
+ "R=100.0\n",
+ "\n",
+ "#Calculations\n",
+ "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+ "T_off=0.2*10**-3\n",
+ "f=1/(2*(T+T_off)) \n",
+ "R=40\n",
+ "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+ "T_off=.2*10**-3\n",
+ "f=1/(2*(T+T_off)) \n",
+ "R=140\n",
+ "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+ "T_off=.2*10**-3\n",
+ "f=1/(2*(T+T_off)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"o/p freq=%.2f Hz\" %f)\n",
+ "print(\"for R=40ohm\")\n",
+ "print(\"upper limit o/p freq=%.1f Hz\" %f)\n",
+ "print(\"for R=140ohm\")\n",
+ "print(\"lower limit o/p freq=%.1f Hz\" %f)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "o/p freq=239.81 Hz\n",
+ "for R=40ohm\n",
+ "upper limit o/p freq=239.8 Hz\n",
+ "for R=140ohm\n",
+ "lower limit o/p freq=239.8 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.17, Page No 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "f=5000.0\n",
+ "w=2*math.pi*f\n",
+ "R=3.0\n",
+ "\n",
+ "#Calculations\n",
+ "L=60*10**-6\n",
+ "xie=R/(2*L)\n",
+ "C=7.5*10**-6\n",
+ "w_o=1/math.sqrt(L*C)\n",
+ "w_r=math.sqrt(w_o**2-xie**2)\n",
+ "t_c=math.pi*(1/w-1/w_r) \n",
+ "fos=1.5\n",
+ "t_q=10*10**-6\n",
+ "f_max=1/(2*math.pi*(t_q*fos/math.pi+1/w_r)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n",
+ "print(\"max possible operating freq=%.1f Hz\" %f_max)\n",
+ " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ckt turn off time=21.39 us\n",
+ "max possible operating freq=5341.4 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.18, Page No 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "a=30.0\n",
+ "R=10.0\n",
+ "P=5000.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "I_or=math.sqrt(P*R)\n",
+ "V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))\n",
+ "V_ph=V_s/math.sqrt(3) \n",
+ "\n",
+ "#Results\n",
+ "print(\"per phase voltage V_ph=%.3f V\" %V_ph) \n",
+ "print(\"for constant load current\")\n",
+ "print(\"V_ph=%.2f V\" %V_ph)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "per phase voltage V_ph=110.384 V\n",
+ "for constant load current\n",
+ "V_ph=110.38 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.19, Page No 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "t=20.0\n",
+ "fos=2.0 #factor of safety\n",
+ "\n",
+ "#Calculations\n",
+ "t_c=t*fos\n",
+ "n=1.0/3\n",
+ "R=20.0\n",
+ "C=n**2*t_c/(4*R*math.log(2)) \n",
+ "\n",
+ "#Results \n",
+ "print(\"value of capacitor=%.2f uF\" %C)\n",
+ " #printing mistake in the answer in book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "value of capacitor=0.08 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.20, Page No 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=220.0\n",
+ "V_p=math.sqrt(2)*V_s/3 \n",
+ "V_L=math.sqrt(3)*V_p \n",
+ "V_p1=math.sqrt(2)*V_s/math.pi \n",
+ "V_L1=math.sqrt(3)*V_p1 \n",
+ "V_oh=math.sqrt(V_L**2-V_L1**2)\n",
+ "\n",
+ "#Calculations\n",
+ "THD=V_oh/V_L1 \n",
+ "V_a1=2*V_s/math.pi\n",
+ "V_a5=2*V_s/(5*math.pi)\n",
+ "V_a7=2*V_s/(7*math.pi)\n",
+ "V_a11=2*V_s/(11*math.pi)\n",
+ "R=4.0\n",
+ "L=0.02\n",
+ "f=50\n",
+ "w=2*math.pi*f\n",
+ "Z1=math.sqrt(R**2+(w*L)**2)\n",
+ "Z5=math.sqrt(R**2+(5*w*L)**2)\n",
+ "Z7=math.sqrt(R**2+(7*w*L)**2)\n",
+ "Z11=math.sqrt(R**2+(11*w*L)**2)\n",
+ "I_a1=V_a1/Z1\n",
+ "I_a5=V_a5/Z5\n",
+ "I_a7=V_a7/Z7\n",
+ "I_a11=V_a11/Z11\n",
+ "I_or=math.sqrt((I_a1**2+I_a5**2+I_a7**2+I_a11**2)/2)\n",
+ "P=3*I_or**2*R \n",
+ "I_s=P/V_s \n",
+ "I_TA=I_s/3 \n",
+ " \n",
+ "#Results\n",
+ "print(\"rms value of phasor voltages=%.2f V\" %V_p)\n",
+ "print(\"rms value of line voltages=%.2f V\" %V_L)\n",
+ "print(\"fundamental component of phase voltage=%.3f V\" %V_p1)\n",
+ "print(\"fundamental component of line voltages=%.3f V\" %V_L1)\n",
+ "print(\"THD=%.7f\" %THD)\n",
+ "print(\"load power=%.1f W\" %P)\n",
+ "print(\"avg value of source current=%.3f A\" %I_s)\n",
+ "print(\"avg value of thyristor current=%.3f A\" %I_TA)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of phasor voltages=103.71 V\n",
+ "rms value of line voltages=179.63 V\n",
+ "fundamental component of phase voltage=99.035 V\n",
+ "fundamental component of line voltages=171.533 V\n",
+ "THD=0.3108419\n",
+ "load power=2127.6 W\n",
+ "avg value of source current=9.671 A\n",
+ "avg value of thyristor current=3.224 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Chapter9_4.ipynb b/Power_Electronics/Chapter9_4.ipynb new file mode 100755 index 00000000..052c4736 --- /dev/null +++ b/Power_Electronics/Chapter9_4.ipynb @@ -0,0 +1,388 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 09 : AC Voltage Controllers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1, Page No 560"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=45.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=(V_m/2)*math.sqrt(1/math.pi*((2*math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2)) \n",
+ "R=20\n",
+ "I_or=V_or/R\n",
+ "P_o=I_or**2*R \n",
+ "I_s=I_or\n",
+ "VA=V_s*I_s\n",
+ "pf=P_o/VA \n",
+ "V_o=math.sqrt(2)*V_s/(2*math.pi)*(math.cos(math.radians(a))-1)\n",
+ "I_ON=V_o/R \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of o/p voltage=%.3f V\" %V_or)\n",
+ "print(\"load power=%.1f W\" %P_o)\n",
+ "print(\"i/p pf=%.4f\" %pf)\n",
+ "print(\"avg i/p current=%.4f A\" %I_ON)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/p voltage=224.716 V\n",
+ "load power=2524.9 W\n",
+ "i/p pf=0.9770\n",
+ "avg i/p current=-0.7581 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2, Page No 560"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=45.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=(V_s)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2)) \n",
+ "R=20\n",
+ "I_or=V_or/R\n",
+ "P_o=I_or**2*R \n",
+ "I_s=I_or\n",
+ "VA=V_s*I_s\n",
+ "pf=P_o/VA \n",
+ "I_TA=math.sqrt(2)*V_s/(2*math.pi*R)*(math.cos(math.radians(a))+1) \n",
+ "I_Tr=math.sqrt(2)*V_s/(2*R)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of o/p voltage=%.3f V\" %V_or)\n",
+ "print(\"load power=%.2f W\" %P_o)\n",
+ "print(\"i/p pf=%.2f\" %pf)\n",
+ "print(\"avg thyristor current=%.2f A\" %I_TA) \n",
+ "print(\"rms value of thyristor current=%.2f A\" %I_Tr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/p voltage=219.304 V\n",
+ "load power=2404.71 W\n",
+ "i/p pf=0.95\n",
+ "avg thyristor current=4.42 A\n",
+ "rms value of thyristor current=7.75 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 Page No 564"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "n=6.0 #on cycles\n",
+ "m=4.0 #off cycles\n",
+ "\n",
+ "#Calculations\n",
+ "k=n/(n+m)\n",
+ "V_or=V_s*math.sqrt(k) \n",
+ "pf=math.sqrt(k) \n",
+ "R=15\n",
+ "I_m=V_s*math.sqrt(2)/R\n",
+ "I_TA=k*I_m/math.pi\n",
+ "I_TR=I_m*math.sqrt(k)/2 \n",
+ " \n",
+ "#Results\n",
+ "print(\"rms value of o/ voltage=%.2f V\" %V_or)\n",
+ "print(\"i/p pf=%.2f\" %pf)\n",
+ "print(\"avg thyristor current=%.2f A\" %I_TA) \n",
+ "print(\"rms value of thyristor current=%.2f A\" %I_TR)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/ voltage=178.16 V\n",
+ "i/p pf=0.77\n",
+ "avg thyristor current=4.14 A\n",
+ "rms value of thyristor current=8.40 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4, Page No 569"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "R=3.0\n",
+ "\n",
+ "#Calculations\n",
+ "I_TAM1=2*V_m/(2*math.pi*R) \n",
+ "I_TRM2=V_m/(2*R) \n",
+ "f=50\n",
+ "w=2*math.pi*f\n",
+ "t_c=math.pi/w \n",
+ " \n",
+ "#Results\n",
+ "print(\"max value of avg thyristor current=%.3f A\" %I_TAM1)\n",
+ "print(\"max value of avg thyristor current=%.3f A\" %I_TRM2)\n",
+ "print(\"ckt turn off time=%.0f ms\" %(t_c*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "max value of avg thyristor current=34.512 A\n",
+ "max value of avg thyristor current=54.212 A\n",
+ "ckt turn off time=10 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 Page No 575"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=3.0\n",
+ "X_L=4.0\n",
+ "\n",
+ "#Calculations\n",
+ "phi=math.degrees(math.atan(X_L/R)) \n",
+ "V_s=230\n",
+ "Z=math.sqrt(R**2+X_L**2)\n",
+ "I_or=V_s/Z \n",
+ "P=I_or**2*R \n",
+ "I_s=I_or\n",
+ "pf=P/(V_s*I_s) \n",
+ "I_TAM=math.sqrt(2)*V_s/(math.pi*Z) \n",
+ "I_Tm=math.sqrt(2)*V_s/(2*Z) \n",
+ "f=50\n",
+ "w=2*math.pi*f\n",
+ "di=math.sqrt(2)*V_s*w/Z \n",
+ "\n",
+ "#Results\n",
+ "print(\"min firing angle=%.2f deg\" %phi)\n",
+ "print(\"\\nmax firing angle=%.0f deg\" %180)\n",
+ "print(\"i/p pf=%.1f\" %pf)\n",
+ "print(\"max value of rms load current=%.0f A\" %I_or)\n",
+ "print(\"max power=%.0f W\" %P)\n",
+ "print(\"max value of avg thyristor current=%.3f A\" %I_TAM)\n",
+ "print(\"max value of rms thyristor current=%.3f A\" %I_Tm)\n",
+ "print(\"di/dt=%.0f A/s\" %di)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "min firing angle=53.13 deg\n",
+ "\n",
+ "max firing angle=180 deg\n",
+ "i/p pf=0.6\n",
+ "max value of rms load current=46 A\n",
+ "max power=6348 W\n",
+ "max value of avg thyristor current=20.707 A\n",
+ "max value of rms thyristor current=32.527 A\n",
+ "di/dt=20437 A/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6 Page No 576"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=230.0\n",
+ "R=3.0 #ohm\n",
+ "X_L=5.0 #ohm\n",
+ "a=120.0 #firing angle delay\n",
+ "\n",
+ "#Calculations\n",
+ "phi=math.degrees(math.atan(X_L/R))\n",
+ "b=0\n",
+ "i=1\n",
+ "while (i>0) :\n",
+ " LHS=math.sin(math.radians(b-a))\n",
+ " RHS=math.sin(math.radians(a-phi))*math.exp(-(R/X_L)*(b-a)*math.pi/180)\n",
+ " if math.fabs(LHS-RHS)<= 0.01 :\n",
+ " B=b\n",
+ " i=2\n",
+ " break\n",
+ " \n",
+ " b=b+.1 \n",
+ "V_or=math.sqrt(2)*V*math.sqrt((1/(2*math.pi))*((B-a)*math.pi/180+(math.sin(math.radians(2*a))-math.sin(math.radians(2*B)))/2))\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Extinction angle=%.1f deg\" %B) #answer in the book is wrong as formulae for RHS is wrongly employed\n",
+ "print(\"rms value of output voltage=%.2f V\" %V_or) #answer do not match due to wrong B in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Extinction angle=156.1 deg\n",
+ "rms value of output voltage=97.75 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8, Page No 581"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V_s=230.0\n",
+ "V_m=math.sqrt(2)*V_s\n",
+ "a=60.0\n",
+ "R=20.0\n",
+ "\n",
+ "#Calculations\n",
+ "V_or=math.sqrt((V_m**2/(2*math.pi))*(a*math.pi/180-math.sin(math.radians(2*a))/2)+(2*V_m**2/(math.pi))*(math.pi-a*math.pi/180+math.sin(math.radians(2*a))/2)) \n",
+ "I_T1r=(V_m/R)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2)) \n",
+ "I_T3r=(V_m/(2*R))*math.sqrt(1/math.pi*((a*math.pi/180)-math.sin(math.radians(2*a))/2)) \n",
+ "I1=math.sqrt(2)*I_T1r\n",
+ "I3=math.sqrt((math.sqrt(2)*I_T1r)**2+(math.sqrt(2)*I_T3r)**2)\n",
+ "r=V_s*(I1+I3) \n",
+ "P_o=V_or**2/R\n",
+ "pf=P_o/r \n",
+ "\n",
+ "#Results\n",
+ "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+ "print(\"rms value of current for upper thyristors=%.2f A\" %I_T1r)\n",
+ "print(\"rms value of current for lower thyristors=%.2f A\" %I_T3r)\n",
+ "print(\"t/f VA rating=%.2f VA\" %r)\n",
+ "print(\"i/p pf=%.2f\" %pf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rms value of o/p voltage=424.94 V\n",
+ "rms value of current for upper thyristors=14.59 A\n",
+ "rms value of current for lower thyristors=3.60 A\n",
+ "t/f VA rating=9631.61 VA\n",
+ "i/p pf=0.94\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_10_1.ipynb b/Power_Electronics/Power_electronics_ch_10_1.ipynb new file mode 100755 index 00000000..a1e99a45 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_10_1.ipynb @@ -0,0 +1,283 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.1, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Voltage regulation and % change in output voltage per unit of load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vfl = 24 # full load voltage\n",
+ "Vnl = 24.5 # no load voltage\n",
+ "Ifl = 2 # full load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "VR = (Vnl-Vfl)/Vfl\n",
+ "#(b)\n",
+ "x = VR*100/Ifl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Voltage regulation = 0.0208 or 2.08%\n",
+ "(b) %tage change in output voltage per unit load current = 1.04%\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.2, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Redulation in percent V\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "Vout = 0.3 # change in output voltage when input change\n",
+ "Vin = 4 # input voltage change\n",
+ "V = 15 # rated ouutput voltage\n",
+ "\n",
+ "#calculations\n",
+ "lr = (Vout/V)*100/Vin\n",
+ "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "% line regulation = 0.5% V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.3, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, load current, zener curretn\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vi = 15.0 # input voltage\n",
+ "beta_dc = 50.0 # transistor gain\n",
+ "Rl = 1000.0 # load resistor\n",
+ "Vz = 6.0 # zener voltage\n",
+ "Ri = 500.0 # input voltage\n",
+ "Vbe = 0.7 # voltage drop across transistor base-emitter\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = Vz-Vbe\n",
+ "Il = Vo/Rl\n",
+ "Vce = Vi-Vo\n",
+ "I = (V-Vz)/Ri\n",
+ "Ib = Il/beta_dc\n",
+ "Iz = I-Ib\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 5.3V\n",
+ "Load current = 5.3 mA\n",
+ "Zener current = 17.894 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.4, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring fig.10.2)\n",
+ "\n",
+ "import math\n",
+ "Vz = 6.0 # zener voltage\n",
+ "R1 = 10.0*10**3 # resistance 1\n",
+ "R2 = 15.0*10**3 # resistance 2\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\"%Vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 15 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.5, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding Vo, Io, Ic (referring fig.10.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vz = 9.0 # zener voltage\n",
+ "R1 = 1.5*10**3 # resistance 1\n",
+ "R2 = 3.0*10**3 # resistance 2, value used in calculations\n",
+ "Rl = 2.0*10**3 # load resistance\n",
+ "Rs = 200 # source resistance\n",
+ "Vin = 30 # input oltage\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "Is =(Vin - Vo)/Rs\n",
+ "Io = Vo/Rl\n",
+ "Ic = Is -Io\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 27 V\n",
+ "Io = 13.5 mA\n",
+ "Ic = 1.5 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.6, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum and maximum output voltage\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Iadj = 40*10**-6 # current\n",
+ "Vref = 1.25 # reference voltage\n",
+ "R1 = 2*10**3 # resistance R1\n",
+ "R2min = 0 # minimum value of R2 resistor\n",
+ "R2max = 20.0*10**3 # maximum value of R2 resistor\n",
+ "\n",
+ "#calculations\n",
+ "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+ "Vo2 = Vref*(1+(R2min/R1))\n",
+ "\n",
+ "#Result\n",
+ "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+ "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When R2 = 20 k-ohm\n",
+ "Vo = 14.55 V\n",
+ "\n",
+ "When R2 = 0 k-ohm\n",
+ "Vo = 1.25 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_10_2.ipynb b/Power_Electronics/Power_electronics_ch_10_2.ipynb new file mode 100755 index 00000000..a1e99a45 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_10_2.ipynb @@ -0,0 +1,283 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.1, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Voltage regulation and % change in output voltage per unit of load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vfl = 24 # full load voltage\n",
+ "Vnl = 24.5 # no load voltage\n",
+ "Ifl = 2 # full load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "VR = (Vnl-Vfl)/Vfl\n",
+ "#(b)\n",
+ "x = VR*100/Ifl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Voltage regulation = 0.0208 or 2.08%\n",
+ "(b) %tage change in output voltage per unit load current = 1.04%\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.2, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Redulation in percent V\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "Vout = 0.3 # change in output voltage when input change\n",
+ "Vin = 4 # input voltage change\n",
+ "V = 15 # rated ouutput voltage\n",
+ "\n",
+ "#calculations\n",
+ "lr = (Vout/V)*100/Vin\n",
+ "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "% line regulation = 0.5% V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.3, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, load current, zener curretn\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vi = 15.0 # input voltage\n",
+ "beta_dc = 50.0 # transistor gain\n",
+ "Rl = 1000.0 # load resistor\n",
+ "Vz = 6.0 # zener voltage\n",
+ "Ri = 500.0 # input voltage\n",
+ "Vbe = 0.7 # voltage drop across transistor base-emitter\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = Vz-Vbe\n",
+ "Il = Vo/Rl\n",
+ "Vce = Vi-Vo\n",
+ "I = (V-Vz)/Ri\n",
+ "Ib = Il/beta_dc\n",
+ "Iz = I-Ib\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 5.3V\n",
+ "Load current = 5.3 mA\n",
+ "Zener current = 17.894 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.4, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring fig.10.2)\n",
+ "\n",
+ "import math\n",
+ "Vz = 6.0 # zener voltage\n",
+ "R1 = 10.0*10**3 # resistance 1\n",
+ "R2 = 15.0*10**3 # resistance 2\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\"%Vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 15 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.5, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding Vo, Io, Ic (referring fig.10.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vz = 9.0 # zener voltage\n",
+ "R1 = 1.5*10**3 # resistance 1\n",
+ "R2 = 3.0*10**3 # resistance 2, value used in calculations\n",
+ "Rl = 2.0*10**3 # load resistance\n",
+ "Rs = 200 # source resistance\n",
+ "Vin = 30 # input oltage\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "Is =(Vin - Vo)/Rs\n",
+ "Io = Vo/Rl\n",
+ "Ic = Is -Io\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 27 V\n",
+ "Io = 13.5 mA\n",
+ "Ic = 1.5 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.6, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum and maximum output voltage\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Iadj = 40*10**-6 # current\n",
+ "Vref = 1.25 # reference voltage\n",
+ "R1 = 2*10**3 # resistance R1\n",
+ "R2min = 0 # minimum value of R2 resistor\n",
+ "R2max = 20.0*10**3 # maximum value of R2 resistor\n",
+ "\n",
+ "#calculations\n",
+ "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+ "Vo2 = Vref*(1+(R2min/R1))\n",
+ "\n",
+ "#Result\n",
+ "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+ "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When R2 = 20 k-ohm\n",
+ "Vo = 14.55 V\n",
+ "\n",
+ "When R2 = 0 k-ohm\n",
+ "Vo = 1.25 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_10_3.ipynb b/Power_Electronics/Power_electronics_ch_10_3.ipynb new file mode 100755 index 00000000..a1e99a45 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_10_3.ipynb @@ -0,0 +1,283 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.1, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Voltage regulation and % change in output voltage per unit of load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vfl = 24 # full load voltage\n",
+ "Vnl = 24.5 # no load voltage\n",
+ "Ifl = 2 # full load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "VR = (Vnl-Vfl)/Vfl\n",
+ "#(b)\n",
+ "x = VR*100/Ifl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Voltage regulation = 0.0208 or 2.08%\n",
+ "(b) %tage change in output voltage per unit load current = 1.04%\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.2, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Redulation in percent V\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "Vout = 0.3 # change in output voltage when input change\n",
+ "Vin = 4 # input voltage change\n",
+ "V = 15 # rated ouutput voltage\n",
+ "\n",
+ "#calculations\n",
+ "lr = (Vout/V)*100/Vin\n",
+ "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "% line regulation = 0.5% V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.3, Page No. 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, load current, zener curretn\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vi = 15.0 # input voltage\n",
+ "beta_dc = 50.0 # transistor gain\n",
+ "Rl = 1000.0 # load resistor\n",
+ "Vz = 6.0 # zener voltage\n",
+ "Ri = 500.0 # input voltage\n",
+ "Vbe = 0.7 # voltage drop across transistor base-emitter\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = Vz-Vbe\n",
+ "Il = Vo/Rl\n",
+ "Vce = Vi-Vo\n",
+ "I = (V-Vz)/Ri\n",
+ "Ib = Il/beta_dc\n",
+ "Iz = I-Ib\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 5.3V\n",
+ "Load current = 5.3 mA\n",
+ "Zener current = 17.894 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.4, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring fig.10.2)\n",
+ "\n",
+ "import math\n",
+ "Vz = 6.0 # zener voltage\n",
+ "R1 = 10.0*10**3 # resistance 1\n",
+ "R2 = 15.0*10**3 # resistance 2\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\"%Vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 15 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.5, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding Vo, Io, Ic (referring fig.10.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vz = 9.0 # zener voltage\n",
+ "R1 = 1.5*10**3 # resistance 1\n",
+ "R2 = 3.0*10**3 # resistance 2, value used in calculations\n",
+ "Rl = 2.0*10**3 # load resistance\n",
+ "Rs = 200 # source resistance\n",
+ "Vin = 30 # input oltage\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = (1+(R2/R1))*Vz\n",
+ "Is =(Vin - Vo)/Rs\n",
+ "Io = Vo/Rl\n",
+ "Ic = Is -Io\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo = 27 V\n",
+ "Io = 13.5 mA\n",
+ "Ic = 1.5 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 10.6, Page No. 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum and maximum output voltage\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Iadj = 40*10**-6 # current\n",
+ "Vref = 1.25 # reference voltage\n",
+ "R1 = 2*10**3 # resistance R1\n",
+ "R2min = 0 # minimum value of R2 resistor\n",
+ "R2max = 20.0*10**3 # maximum value of R2 resistor\n",
+ "\n",
+ "#calculations\n",
+ "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+ "Vo2 = Vref*(1+(R2min/R1))\n",
+ "\n",
+ "#Result\n",
+ "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+ "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When R2 = 20 k-ohm\n",
+ "Vo = 14.55 V\n",
+ "\n",
+ "When R2 = 0 k-ohm\n",
+ "Vo = 1.25 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_12_1.ipynb b/Power_Electronics/Power_electronics_ch_12_1.ipynb new file mode 100755 index 00000000..46f69125 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_12_1.ipynb @@ -0,0 +1,1030 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.1, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# dc currents and voltage of differential amplifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 4.1*10**3 # Collector resistance\n",
+ "Re = 3.8*10**3 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "\n",
+ "#Calculations\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "Ic = 0.5*Ie\n",
+ "Vo = Vcc-Ic*Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ie = 2.9737 mA\n",
+ "Ic = 1.487 mA\n",
+ "Vo = 5.9 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.2, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Differential amplifier parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 1*10**6 # Collector resistance\n",
+ "Re = 1*10**6 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "vi = 2.1*10**-3 # AC input voltage\n",
+ "beta = 75 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "ie = 0.5*Ie\n",
+ "re = (25*10**-3)/ie\n",
+ "re_dash = 4420.0#value used in the book\n",
+ "#(b)\n",
+ "g = Rc/(2*re_dash)\n",
+ "g = math.floor(g*10)/10\n",
+ "#(c)\n",
+ "vo = g*vi\n",
+ "vo = math.floor(vo*10000)/10000\n",
+ "#(d)\n",
+ "Zi = 2*beta*re\n",
+ "#(e)\n",
+ "cmg = Rc/(re+2*Re)\n",
+ "cmg = math.ceil(cmg*1000)/1000\n",
+ "#(f)\n",
+ "cmrr = g/cmg\n",
+ "#(g)\n",
+ "cmrr_db = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+ "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+ "\n",
+ "#Answer for re is wong in the book "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) re = 4424 ohm\n",
+ "(b) voltage gain for differential input = 113.1\n",
+ "(c) AC output voltage = 0.2375 V\n",
+ "(d) input impedance = 663 k-ohm\n",
+ "(e) CMRR = 226.65\n",
+ "(g) CMRR' = 47.1 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.3, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 100000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.9 \n",
+ "(b) Output = 0.1998 V\n",
+ "(c) Error voltage = 1.998*10^-6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.4, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 15000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+ "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+ "print(\"thus keeping the output voltage nearly constant.\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.338 \n",
+ "(b) Output = 0.1987 V\n",
+ "(c) Error voltage = 1.325*10^-5 V\n",
+ "\n",
+ "Comparison conclusion:\n",
+ "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+ "thus keeping the output voltage nearly constant.\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.5, Page No. 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output impedances\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "Zi = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "beta = 0.01 # feedback factor\n",
+ "\n",
+ "#Calculations\n",
+ "D = 1+ beta*g\n",
+ "Zi_cl = Zi*D\n",
+ "Zo_cl = Zo/D\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop input impedance = 2002 M-ohm\n",
+ "Closed loop output impedance = 0.0749 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.6, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and disensitivity\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "beta = 0.001 # feedback factor\n",
+ "\n",
+ "#calculations\n",
+ "clg = g/(1+ beta*g)\n",
+ "D = 1+g*beta\n",
+ "\n",
+ "# Result\n",
+ "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 990.1 \n",
+ "Desensitivity = 101 \n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.7, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and upper cut off frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 10**6 # unity gain frequency\n",
+ "alg = 100000.0 # open loop gain\n",
+ "b1 = 0.001 # feedback factor in case 1\n",
+ "b2 = 0.01 # feedback factor in case 2\n",
+ "b3 = 0.1 # feedback factor in case 3\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "f1 = f/alg\n",
+ "# b\n",
+ "g2 = alg/(1+alg*b1)\n",
+ "f2 = f/g2\n",
+ "# c\n",
+ "g3 = alg/(1+alg*b2)\n",
+ "f3 = f/g3\n",
+ "# d\n",
+ "g4 = alg/(1+alg*b3)\n",
+ "f4 = f/g4\n",
+ "\n",
+ "#Result\n",
+ "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+ "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+ "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+ "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+ "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.8, Page No.449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rating\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Imax = 10*10**-6 # maximum current\n",
+ "C = 4000*10**-12 # capacitance in pF\n",
+ "\n",
+ "#Calculations\n",
+ "sr = Imax/C\n",
+ "\n",
+ "#Result\n",
+ "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Slew rate = 2.5 V/ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.9, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slew rate distortion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.4 # Slew rate\n",
+ "V = 6 # peak value of voltage\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#Calculations\n",
+ "slope = 2*math.pi*f*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial slope of sine wave =0.37699 V/micro-sec\n",
+ "\n",
+ "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.10, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rate distortion \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.5*10**6 # slew rate\n",
+ "V = 10 # peak value of input signal\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "slope = 2*math.pi*f*V\n",
+ "# b\n",
+ "Vp = sr/(2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+ "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+ "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+ "\n",
+ "(b) To eliminate slew rate distortion,\n",
+ " Vp = 7.96 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.11, Page No.451"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# inverting amplifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zo = 75.0 # output impedance\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R1 = 1.0*10**3 # Source Resistance \n",
+ "Rf = 100.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = -Rf/R1\n",
+ "# b\n",
+ "beta = R1/(R1+Rf)\n",
+ "D = 1+(A*beta)\n",
+ "# c\n",
+ "f2 = beta*f\n",
+ "# d\n",
+ "Zi_cl = R1\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+ "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Gain = -100.000000\n",
+ "(b) disensitivity = 991.1\n",
+ "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+ "(d) closed loop input impedance = 1000 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.12, Page No. 453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R2 = 100.0*10**3 # Resistance R2\n",
+ "R1 = 100.0 # Resistance R1\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zin = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "\n",
+ "# Calculations\n",
+ "g = (R1+R2)/R1\n",
+ "beta = R1/(R1+R2)\n",
+ "Zi_dash = (1+A*beta)*Zin\n",
+ "Zo_dash = Zo/(1+A*beta)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 1001 \n",
+ "Closed loop input impedance = 201.8 M-ohm\n",
+ "Closed loop output impedance = 0.743 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.13, Page No.454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp parameters(refering to fig. 12.13)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R3 = 150 *10**3 # Resistance R3\n",
+ "Ci = 1*10**-6 # inpuut capacitor\n",
+ "R2 = 100*10**3 # Resistance R2\n",
+ "Cb = 1*10**-6 # Bias capacitor\n",
+ "R1 = 1.0*10**3 # Resistance R1\n",
+ "Co = 1*10**-6 # output capacitance\n",
+ "Rl = 15*10**3 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "# b\n",
+ "beta = 1/A\n",
+ "f2 = f/A\n",
+ "# c\n",
+ "fc1 = 1/(2*math.pi*Ci*R3)\n",
+ "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+ "fc3 = 1/(2*math.pi*Co*R1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+ "print(\"\\n(c) The critical frequencies are,\\n fc = %.3f Hz\\n fc = %.2f Hz\\n fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+ "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 101 \n",
+ "\n",
+ "(b) f2' =9.9*10^3 Hz\n",
+ "\n",
+ "(c) The critical frequencies are,\n",
+ " fc = 1.061 Hz\n",
+ " fc = 10.61 Hz\n",
+ " fc = 159.15 Hz\n",
+ "\n",
+ "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.14, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage(referring fig.12.14)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "v1 = 0.5 # input voltage 1\n",
+ "v2 = 1.5 # input voltage 2\n",
+ "v3 = 0.2 # input voltage 3\n",
+ "R1 = 10.0*10**3 # resistance R1\n",
+ "R2 = 10.0*10**3 # resistance R2\n",
+ "R3 = 10.0*10**3 # resistance R3\n",
+ "Rf = 50.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output Voltage = %.0f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output Voltage = -11 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.15, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.16, Page No.456"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.17, Page No. 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# difference amplifier(referring fig. 12.18)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 50.0*10**3 # Resistance R1\n",
+ "R2 = 10.0*10**3 # Resistance R2\n",
+ "Vs1 = 4.5 # input voltage at channel 1\n",
+ "Vs2 = 5.0 # input voltage at channel 2\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "vo = R1*(Vs2-Vs1)/R2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage = %.1f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage = 2.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.18, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# CMRR in dB\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 50.0 # gain of difference amplifier\n",
+ "v = 2.0 # input voltage\n",
+ "vo = 5.0*10**-3 # output voltage \n",
+ "\n",
+ "#Calculations\n",
+ "Vcom = 0.5*(v+v)\n",
+ "Acom = vo/Vcom\n",
+ "cmrr = A/Acom\n",
+ "cmrr = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"CMRR = %.2f dB\"%(cmrr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CMRR = 86.02 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.19, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 102
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.20, Page No.459"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.21, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# two pole high pass filter(referring fig. 12.32)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 10.0*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "R = 1.0*10**3 # Resistance R\n",
+ "C = 0.01 *10**-6 # capacitance \n",
+ "vi = 1.6*10**-3 # input voltage \n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = 1+(R2/R1)\n",
+ "# b\n",
+ "vo = A*vi\n",
+ "# c\n",
+ "pi = math.ceil(math.pi*10000)/10000\n",
+ "fc = 1/(2*pi*R*C)\n",
+ "# d\n",
+ "gain = 0.707*A\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) midband gain = 1.56\n",
+ "(b) output voltage = 2.496 mV\n",
+ "(c) fc = 15915.46 Hz\n",
+ "(d) Gain = 1.103\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.22, Page No. 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Low pass filter(referring fig. 12.30)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "vi = 1.1*10**-3 # input voltage\n",
+ "R = 10*10**3 # Resistance\n",
+ "C = 0.001*10**-6 # Capacitance\n",
+ "R1 = 10*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "vo1 = A*vi\n",
+ "# b\n",
+ "fc = 1/(2*math.pi*R*C)\n",
+ "# c\n",
+ "vo = 0.707*vo1\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.2f\\n Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 1.56\n",
+ " Vo = 1.716*10^-3 V\n",
+ "(b) fc = 15.915*10^3 Hz\n",
+ "(c) at f = fc,\n",
+ "Vo = 1.213* 10^-3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.23, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_12_2.ipynb b/Power_Electronics/Power_electronics_ch_12_2.ipynb new file mode 100755 index 00000000..46f69125 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_12_2.ipynb @@ -0,0 +1,1030 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.1, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# dc currents and voltage of differential amplifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 4.1*10**3 # Collector resistance\n",
+ "Re = 3.8*10**3 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "\n",
+ "#Calculations\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "Ic = 0.5*Ie\n",
+ "Vo = Vcc-Ic*Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ie = 2.9737 mA\n",
+ "Ic = 1.487 mA\n",
+ "Vo = 5.9 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.2, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Differential amplifier parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 1*10**6 # Collector resistance\n",
+ "Re = 1*10**6 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "vi = 2.1*10**-3 # AC input voltage\n",
+ "beta = 75 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "ie = 0.5*Ie\n",
+ "re = (25*10**-3)/ie\n",
+ "re_dash = 4420.0#value used in the book\n",
+ "#(b)\n",
+ "g = Rc/(2*re_dash)\n",
+ "g = math.floor(g*10)/10\n",
+ "#(c)\n",
+ "vo = g*vi\n",
+ "vo = math.floor(vo*10000)/10000\n",
+ "#(d)\n",
+ "Zi = 2*beta*re\n",
+ "#(e)\n",
+ "cmg = Rc/(re+2*Re)\n",
+ "cmg = math.ceil(cmg*1000)/1000\n",
+ "#(f)\n",
+ "cmrr = g/cmg\n",
+ "#(g)\n",
+ "cmrr_db = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+ "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+ "\n",
+ "#Answer for re is wong in the book "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) re = 4424 ohm\n",
+ "(b) voltage gain for differential input = 113.1\n",
+ "(c) AC output voltage = 0.2375 V\n",
+ "(d) input impedance = 663 k-ohm\n",
+ "(e) CMRR = 226.65\n",
+ "(g) CMRR' = 47.1 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.3, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 100000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.9 \n",
+ "(b) Output = 0.1998 V\n",
+ "(c) Error voltage = 1.998*10^-6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.4, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 15000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+ "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+ "print(\"thus keeping the output voltage nearly constant.\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.338 \n",
+ "(b) Output = 0.1987 V\n",
+ "(c) Error voltage = 1.325*10^-5 V\n",
+ "\n",
+ "Comparison conclusion:\n",
+ "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+ "thus keeping the output voltage nearly constant.\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.5, Page No. 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output impedances\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "Zi = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "beta = 0.01 # feedback factor\n",
+ "\n",
+ "#Calculations\n",
+ "D = 1+ beta*g\n",
+ "Zi_cl = Zi*D\n",
+ "Zo_cl = Zo/D\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop input impedance = 2002 M-ohm\n",
+ "Closed loop output impedance = 0.0749 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.6, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and disensitivity\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "beta = 0.001 # feedback factor\n",
+ "\n",
+ "#calculations\n",
+ "clg = g/(1+ beta*g)\n",
+ "D = 1+g*beta\n",
+ "\n",
+ "# Result\n",
+ "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 990.1 \n",
+ "Desensitivity = 101 \n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.7, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and upper cut off frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 10**6 # unity gain frequency\n",
+ "alg = 100000.0 # open loop gain\n",
+ "b1 = 0.001 # feedback factor in case 1\n",
+ "b2 = 0.01 # feedback factor in case 2\n",
+ "b3 = 0.1 # feedback factor in case 3\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "f1 = f/alg\n",
+ "# b\n",
+ "g2 = alg/(1+alg*b1)\n",
+ "f2 = f/g2\n",
+ "# c\n",
+ "g3 = alg/(1+alg*b2)\n",
+ "f3 = f/g3\n",
+ "# d\n",
+ "g4 = alg/(1+alg*b3)\n",
+ "f4 = f/g4\n",
+ "\n",
+ "#Result\n",
+ "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+ "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+ "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+ "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+ "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.8, Page No.449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rating\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Imax = 10*10**-6 # maximum current\n",
+ "C = 4000*10**-12 # capacitance in pF\n",
+ "\n",
+ "#Calculations\n",
+ "sr = Imax/C\n",
+ "\n",
+ "#Result\n",
+ "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Slew rate = 2.5 V/ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.9, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slew rate distortion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.4 # Slew rate\n",
+ "V = 6 # peak value of voltage\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#Calculations\n",
+ "slope = 2*math.pi*f*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial slope of sine wave =0.37699 V/micro-sec\n",
+ "\n",
+ "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.10, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rate distortion \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.5*10**6 # slew rate\n",
+ "V = 10 # peak value of input signal\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "slope = 2*math.pi*f*V\n",
+ "# b\n",
+ "Vp = sr/(2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+ "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+ "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+ "\n",
+ "(b) To eliminate slew rate distortion,\n",
+ " Vp = 7.96 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.11, Page No.451"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# inverting amplifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zo = 75.0 # output impedance\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R1 = 1.0*10**3 # Source Resistance \n",
+ "Rf = 100.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = -Rf/R1\n",
+ "# b\n",
+ "beta = R1/(R1+Rf)\n",
+ "D = 1+(A*beta)\n",
+ "# c\n",
+ "f2 = beta*f\n",
+ "# d\n",
+ "Zi_cl = R1\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+ "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Gain = -100.000000\n",
+ "(b) disensitivity = 991.1\n",
+ "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+ "(d) closed loop input impedance = 1000 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.12, Page No. 453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R2 = 100.0*10**3 # Resistance R2\n",
+ "R1 = 100.0 # Resistance R1\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zin = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "\n",
+ "# Calculations\n",
+ "g = (R1+R2)/R1\n",
+ "beta = R1/(R1+R2)\n",
+ "Zi_dash = (1+A*beta)*Zin\n",
+ "Zo_dash = Zo/(1+A*beta)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 1001 \n",
+ "Closed loop input impedance = 201.8 M-ohm\n",
+ "Closed loop output impedance = 0.743 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.13, Page No.454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp parameters(refering to fig. 12.13)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R3 = 150 *10**3 # Resistance R3\n",
+ "Ci = 1*10**-6 # inpuut capacitor\n",
+ "R2 = 100*10**3 # Resistance R2\n",
+ "Cb = 1*10**-6 # Bias capacitor\n",
+ "R1 = 1.0*10**3 # Resistance R1\n",
+ "Co = 1*10**-6 # output capacitance\n",
+ "Rl = 15*10**3 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "# b\n",
+ "beta = 1/A\n",
+ "f2 = f/A\n",
+ "# c\n",
+ "fc1 = 1/(2*math.pi*Ci*R3)\n",
+ "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+ "fc3 = 1/(2*math.pi*Co*R1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+ "print(\"\\n(c) The critical frequencies are,\\n fc = %.3f Hz\\n fc = %.2f Hz\\n fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+ "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 101 \n",
+ "\n",
+ "(b) f2' =9.9*10^3 Hz\n",
+ "\n",
+ "(c) The critical frequencies are,\n",
+ " fc = 1.061 Hz\n",
+ " fc = 10.61 Hz\n",
+ " fc = 159.15 Hz\n",
+ "\n",
+ "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.14, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage(referring fig.12.14)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "v1 = 0.5 # input voltage 1\n",
+ "v2 = 1.5 # input voltage 2\n",
+ "v3 = 0.2 # input voltage 3\n",
+ "R1 = 10.0*10**3 # resistance R1\n",
+ "R2 = 10.0*10**3 # resistance R2\n",
+ "R3 = 10.0*10**3 # resistance R3\n",
+ "Rf = 50.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output Voltage = %.0f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output Voltage = -11 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.15, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.16, Page No.456"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.17, Page No. 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# difference amplifier(referring fig. 12.18)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 50.0*10**3 # Resistance R1\n",
+ "R2 = 10.0*10**3 # Resistance R2\n",
+ "Vs1 = 4.5 # input voltage at channel 1\n",
+ "Vs2 = 5.0 # input voltage at channel 2\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "vo = R1*(Vs2-Vs1)/R2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage = %.1f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage = 2.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.18, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# CMRR in dB\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 50.0 # gain of difference amplifier\n",
+ "v = 2.0 # input voltage\n",
+ "vo = 5.0*10**-3 # output voltage \n",
+ "\n",
+ "#Calculations\n",
+ "Vcom = 0.5*(v+v)\n",
+ "Acom = vo/Vcom\n",
+ "cmrr = A/Acom\n",
+ "cmrr = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"CMRR = %.2f dB\"%(cmrr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CMRR = 86.02 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.19, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 102
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.20, Page No.459"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.21, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# two pole high pass filter(referring fig. 12.32)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 10.0*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "R = 1.0*10**3 # Resistance R\n",
+ "C = 0.01 *10**-6 # capacitance \n",
+ "vi = 1.6*10**-3 # input voltage \n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = 1+(R2/R1)\n",
+ "# b\n",
+ "vo = A*vi\n",
+ "# c\n",
+ "pi = math.ceil(math.pi*10000)/10000\n",
+ "fc = 1/(2*pi*R*C)\n",
+ "# d\n",
+ "gain = 0.707*A\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) midband gain = 1.56\n",
+ "(b) output voltage = 2.496 mV\n",
+ "(c) fc = 15915.46 Hz\n",
+ "(d) Gain = 1.103\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.22, Page No. 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Low pass filter(referring fig. 12.30)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "vi = 1.1*10**-3 # input voltage\n",
+ "R = 10*10**3 # Resistance\n",
+ "C = 0.001*10**-6 # Capacitance\n",
+ "R1 = 10*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "vo1 = A*vi\n",
+ "# b\n",
+ "fc = 1/(2*math.pi*R*C)\n",
+ "# c\n",
+ "vo = 0.707*vo1\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.2f\\n Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 1.56\n",
+ " Vo = 1.716*10^-3 V\n",
+ "(b) fc = 15.915*10^3 Hz\n",
+ "(c) at f = fc,\n",
+ "Vo = 1.213* 10^-3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.23, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_12_3.ipynb b/Power_Electronics/Power_electronics_ch_12_3.ipynb new file mode 100755 index 00000000..46f69125 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_12_3.ipynb @@ -0,0 +1,1030 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.1, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# dc currents and voltage of differential amplifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 4.1*10**3 # Collector resistance\n",
+ "Re = 3.8*10**3 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "\n",
+ "#Calculations\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "Ic = 0.5*Ie\n",
+ "Vo = Vcc-Ic*Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ie = 2.9737 mA\n",
+ "Ic = 1.487 mA\n",
+ "Vo = 5.9 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.2, Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Differential amplifier parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vcc = 12 # collector voltage\n",
+ "Vee = -12 # emitter voltage\n",
+ "Rc = 1*10**6 # Collector resistance\n",
+ "Re = 1*10**6 # emitter resistance\n",
+ "Vbe = 0.7 # voltage across base-emitter junction\n",
+ "vi = 2.1*10**-3 # AC input voltage\n",
+ "beta = 75 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Ie = (Vcc-Vbe)/Re\n",
+ "ie = 0.5*Ie\n",
+ "re = (25*10**-3)/ie\n",
+ "re_dash = 4420.0#value used in the book\n",
+ "#(b)\n",
+ "g = Rc/(2*re_dash)\n",
+ "g = math.floor(g*10)/10\n",
+ "#(c)\n",
+ "vo = g*vi\n",
+ "vo = math.floor(vo*10000)/10000\n",
+ "#(d)\n",
+ "Zi = 2*beta*re\n",
+ "#(e)\n",
+ "cmg = Rc/(re+2*Re)\n",
+ "cmg = math.ceil(cmg*1000)/1000\n",
+ "#(f)\n",
+ "cmrr = g/cmg\n",
+ "#(g)\n",
+ "cmrr_db = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+ "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+ "\n",
+ "#Answer for re is wong in the book "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) re = 4424 ohm\n",
+ "(b) voltage gain for differential input = 113.1\n",
+ "(c) AC output voltage = 0.2375 V\n",
+ "(d) input impedance = 663 k-ohm\n",
+ "(e) CMRR = 226.65\n",
+ "(g) CMRR' = 47.1 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.3, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 100000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.9 \n",
+ "(b) Output = 0.1998 V\n",
+ "(c) Error voltage = 1.998*10^-6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.4, Page No. 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp with negative feedback\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ag = 15000.0 # open loop gain of Op-amp\n",
+ "fb = 0.01 # feed back factor\n",
+ "vi = 2*10**-3 # input voltage\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = Ag/(1+(fb*Ag))\n",
+ "# b\n",
+ "v = vi*g\n",
+ "# c\n",
+ "Ev = v/Ag\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+ "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+ "print(\"thus keeping the output voltage nearly constant.\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Closed loop gain = 99.338 \n",
+ "(b) Output = 0.1987 V\n",
+ "(c) Error voltage = 1.325*10^-5 V\n",
+ "\n",
+ "Comparison conclusion:\n",
+ "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+ "thus keeping the output voltage nearly constant.\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.5, Page No. 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output impedances\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "Zi = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "beta = 0.01 # feedback factor\n",
+ "\n",
+ "#Calculations\n",
+ "D = 1+ beta*g\n",
+ "Zi_cl = Zi*D\n",
+ "Zo_cl = Zo/D\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop input impedance = 2002 M-ohm\n",
+ "Closed loop output impedance = 0.0749 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.6, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and disensitivity\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "g = 100000.0 # open loop gain\n",
+ "beta = 0.001 # feedback factor\n",
+ "\n",
+ "#calculations\n",
+ "clg = g/(1+ beta*g)\n",
+ "D = 1+g*beta\n",
+ "\n",
+ "# Result\n",
+ "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 990.1 \n",
+ "Desensitivity = 101 \n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.7, Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop gain and upper cut off frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "f = 10**6 # unity gain frequency\n",
+ "alg = 100000.0 # open loop gain\n",
+ "b1 = 0.001 # feedback factor in case 1\n",
+ "b2 = 0.01 # feedback factor in case 2\n",
+ "b3 = 0.1 # feedback factor in case 3\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "f1 = f/alg\n",
+ "# b\n",
+ "g2 = alg/(1+alg*b1)\n",
+ "f2 = f/g2\n",
+ "# c\n",
+ "g3 = alg/(1+alg*b2)\n",
+ "f3 = f/g3\n",
+ "# d\n",
+ "g4 = alg/(1+alg*b3)\n",
+ "f4 = f/g4\n",
+ "\n",
+ "#Result\n",
+ "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+ "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+ "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+ "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+ "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+ "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.8, Page No.449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rating\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Imax = 10*10**-6 # maximum current\n",
+ "C = 4000*10**-12 # capacitance in pF\n",
+ "\n",
+ "#Calculations\n",
+ "sr = Imax/C\n",
+ "\n",
+ "#Result\n",
+ "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Slew rate = 2.5 V/ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.9, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slew rate distortion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.4 # Slew rate\n",
+ "V = 6 # peak value of voltage\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#Calculations\n",
+ "slope = 2*math.pi*f*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial slope of sine wave =0.37699 V/micro-sec\n",
+ "\n",
+ "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.10, Page No. 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Slew rate distortion \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "sr = 0.5*10**6 # slew rate\n",
+ "V = 10 # peak value of input signal\n",
+ "f = 10*10**3 # frequency\n",
+ "\n",
+ "#calculations\n",
+ "# a\n",
+ "slope = 2*math.pi*f*V\n",
+ "# b\n",
+ "Vp = sr/(2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+ "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+ "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+ "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+ "\n",
+ "(b) To eliminate slew rate distortion,\n",
+ " Vp = 7.96 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.11, Page No.451"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# inverting amplifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zo = 75.0 # output impedance\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R1 = 1.0*10**3 # Source Resistance \n",
+ "Rf = 100.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "g = -Rf/R1\n",
+ "# b\n",
+ "beta = R1/(R1+Rf)\n",
+ "D = 1+(A*beta)\n",
+ "# c\n",
+ "f2 = beta*f\n",
+ "# d\n",
+ "Zi_cl = R1\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+ "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Gain = -100.000000\n",
+ "(b) disensitivity = 991.1\n",
+ "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+ "(d) closed loop input impedance = 1000 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.12, Page No. 453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R2 = 100.0*10**3 # Resistance R2\n",
+ "R1 = 100.0 # Resistance R1\n",
+ "A = 100000.0 # open loop gain\n",
+ "Zin = 2*10**6 # input impedance\n",
+ "Zo = 75 # output impedance\n",
+ "\n",
+ "# Calculations\n",
+ "g = (R1+R2)/R1\n",
+ "beta = R1/(R1+R2)\n",
+ "Zi_dash = (1+A*beta)*Zin\n",
+ "Zo_dash = Zo/(1+A*beta)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed loop gain = 1001 \n",
+ "Closed loop input impedance = 201.8 M-ohm\n",
+ "Closed loop output impedance = 0.743 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.13, Page No.454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Op-amp parameters(refering to fig. 12.13)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 100000.0 # open loop gain\n",
+ "f = 1.0*10**6 # unity gain frequency\n",
+ "R3 = 150 *10**3 # Resistance R3\n",
+ "Ci = 1*10**-6 # inpuut capacitor\n",
+ "R2 = 100*10**3 # Resistance R2\n",
+ "Cb = 1*10**-6 # Bias capacitor\n",
+ "R1 = 1.0*10**3 # Resistance R1\n",
+ "Co = 1*10**-6 # output capacitance\n",
+ "Rl = 15*10**3 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "# b\n",
+ "beta = 1/A\n",
+ "f2 = f/A\n",
+ "# c\n",
+ "fc1 = 1/(2*math.pi*Ci*R3)\n",
+ "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+ "fc3 = 1/(2*math.pi*Co*R1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+ "print(\"\\n(c) The critical frequencies are,\\n fc = %.3f Hz\\n fc = %.2f Hz\\n fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+ "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 101 \n",
+ "\n",
+ "(b) f2' =9.9*10^3 Hz\n",
+ "\n",
+ "(c) The critical frequencies are,\n",
+ " fc = 1.061 Hz\n",
+ " fc = 10.61 Hz\n",
+ " fc = 159.15 Hz\n",
+ "\n",
+ "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.14, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage(referring fig.12.14)\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "v1 = 0.5 # input voltage 1\n",
+ "v2 = 1.5 # input voltage 2\n",
+ "v3 = 0.2 # input voltage 3\n",
+ "R1 = 10.0*10**3 # resistance R1\n",
+ "R2 = 10.0*10**3 # resistance R2\n",
+ "R3 = 10.0*10**3 # resistance R3\n",
+ "Rf = 50.0*10**3 # feedback resistance\n",
+ "\n",
+ "#Calculations\n",
+ "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output Voltage = %.0f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output Voltage = -11 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.15, Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.16, Page No.456"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.17, Page No. 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# difference amplifier(referring fig. 12.18)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 50.0*10**3 # Resistance R1\n",
+ "R2 = 10.0*10**3 # Resistance R2\n",
+ "Vs1 = 4.5 # input voltage at channel 1\n",
+ "Vs2 = 5.0 # input voltage at channel 2\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "vo = R1*(Vs2-Vs1)/R2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage = %.1f V\"%vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage = 2.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.18, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# CMRR in dB\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = 50.0 # gain of difference amplifier\n",
+ "v = 2.0 # input voltage\n",
+ "vo = 5.0*10**-3 # output voltage \n",
+ "\n",
+ "#Calculations\n",
+ "Vcom = 0.5*(v+v)\n",
+ "Acom = vo/Vcom\n",
+ "cmrr = A/Acom\n",
+ "cmrr = 20*math.log10(cmrr)\n",
+ "\n",
+ "#Result\n",
+ "print(\"CMRR = %.2f dB\"%(cmrr))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "CMRR = 86.02 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.19, Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 102
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.20, Page No.459"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.21, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# two pole high pass filter(referring fig. 12.32)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R1 = 10.0*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "R = 1.0*10**3 # Resistance R\n",
+ "C = 0.01 *10**-6 # capacitance \n",
+ "vi = 1.6*10**-3 # input voltage \n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = 1+(R2/R1)\n",
+ "# b\n",
+ "vo = A*vi\n",
+ "# c\n",
+ "pi = math.ceil(math.pi*10000)/10000\n",
+ "fc = 1/(2*pi*R*C)\n",
+ "# d\n",
+ "gain = 0.707*A\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) midband gain = 1.56\n",
+ "(b) output voltage = 2.496 mV\n",
+ "(c) fc = 15915.46 Hz\n",
+ "(d) Gain = 1.103\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.22, Page No. 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Low pass filter(referring fig. 12.30)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "vi = 1.1*10**-3 # input voltage\n",
+ "R = 10*10**3 # Resistance\n",
+ "C = 0.001*10**-6 # Capacitance\n",
+ "R1 = 10*10**3 # Resistance R1\n",
+ "R2 = 5.6*10**3 # Resistance R2\n",
+ "\n",
+ "#Calculations\n",
+ "# a\n",
+ "A = (R1+R2)/R1\n",
+ "vo1 = A*vi\n",
+ "# b\n",
+ "fc = 1/(2*math.pi*R*C)\n",
+ "# c\n",
+ "vo = 0.707*vo1\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Avf = %.2f\\n Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Avf = 1.56\n",
+ " Vo = 1.716*10^-3 V\n",
+ "(b) fc = 15.915*10^3 Hz\n",
+ "(c) at f = fc,\n",
+ "Vo = 1.213* 10^-3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 12.23, Page No.466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_13_1.ipynb b/Power_Electronics/Power_electronics_ch_13_1.ipynb new file mode 100755 index 00000000..d435ac89 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_13_1.ipynb @@ -0,0 +1,965 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Number Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.1, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 10\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 10 # decimal no to be convered to binary\n",
+ "k = N\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 10 is 1010\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.2, Page No.474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 25\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 25 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 25 is 11001\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 13.3, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary to decimal:101110\n",
+ "\n",
+ "import math\n",
+ "b0 = 0 # bit 0\n",
+ "b1 = 1 # bit 1\n",
+ "b2 = 1 # bit 2\n",
+ "b3 = 1 # bit 3\n",
+ "b4 = 0 # bit 4\n",
+ "b5 = 1 # bit 5\n",
+ "\n",
+ "#Calculations\n",
+ "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal no is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal no is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.4, Page No. 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 15,31\n",
+ "\n",
+ "import math\n",
+ "#######################################################################################\n",
+ "# for N = 15\n",
+ "#variable declaration\n",
+ "N = 15 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "########################################################################################\n",
+ "\n",
+ "# For N =31\n",
+ "#variable declaration\n",
+ "N = 31 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "##########################################################################################\n",
+ "#Addition\n",
+ "c= bin(15+31)[2:]\n",
+ "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Binari equivalent of decimal 15 is 01111\n",
+ "Binari equivalent of decimal 31 is 11111\n",
+ "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.5, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 11001 # first number\n",
+ "n2 = 10001 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 1000\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.6, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 1010 # first number\n",
+ "n2 = 111 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 11\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.7, Page No. 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 16- bit signed binary representation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a = 8\n",
+ "b = -8\n",
+ "c = 165\n",
+ "d = -165\n",
+ "\n",
+ "#Calculations\n",
+ "#c = bin(d)\n",
+ "a = format(a,'#018b')[2:]\n",
+ "b = format(b,'#018b')[3:]\n",
+ "c = format(c,'#018b')[2:]\n",
+ "d = format(d,'#018b')[3:]\n",
+ "str = '1'\n",
+ "#Result\n",
+ "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+ "print(\"(a) +8 --> %s\"%(a))\n",
+ "print(\"(b) -8 --> %s%s\"%(str,b))\n",
+ "print(\"(c) +167 --> %s\"%(c))\n",
+ "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+ "\n",
+ "a = format(-167%(1<<16),'016b')\n",
+ "b = format(167%(1<<16),'016b')\n",
+ "print a\n",
+ "print b"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In the leading bit we will have 1 to represent '-' sign\n",
+ "\n",
+ "(a) +8 --> 0000000000001000\n",
+ "(b) -8 --> 1000000000001000\n",
+ "(c) +167 --> 0000000010100101\n",
+ "(d) -167 --> 1000000010100101\n",
+ "1111111101011001\n",
+ "0000000010100111\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.8, Page No.477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "a = int('00011111',2)\n",
+ "b = int('11100101',2)\n",
+ "c = int('11110111',2)\n",
+ "\n",
+ "#Calculations\n",
+ "a = format(-a%(1<<8),'08b')\n",
+ "b = format(-b%(1<<8),'08b')\n",
+ "c = format(-c%(1<<8),'08b')\n",
+ "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+ "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+ "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) 2's complement of 00011111 --> 11100001 \n",
+ "(b) 2's complement of 11100101 --> 00011011 \n",
+ "(c) 2's complement of 11110111 --> 00001001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.9, Page No. 13.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 8-bit number range\n",
+ "\n",
+ "import math\n",
+ "#calculations\n",
+ "a = int('01111111',2)\n",
+ "b = int('10000000',2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.10, Page No.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -24\n",
+ "B = 16\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(-B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "d = bin(A-B)[3:]\n",
+ "d = format(-int(d,2)%(1<<8),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+ "print(\"2's complement of 16 --> %s \" %b)\n",
+ "print(\"(b) A+B = %s\"%c) \n",
+ "print(\"(c) A-B = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of -24 --> 11101000 \n",
+ "2's complement of 16 --> 11110000 \n",
+ "(b) A+B = 11111000\n",
+ "(c) A-B = 11011000\n"
+ ]
+ }
+ ],
+ "prompt_number": 116
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.11, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -60\n",
+ "B = -28\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "x = B-A\n",
+ "d = bin(B-A)[2:]\n",
+ "d = format(int(d,2),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+ "print(\"2's complement of B --> %s \" %b)\n",
+ "print(\"(b) B+A = %s\"%c) \n",
+ "print(\"(c) B-A = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of A --> 11000100 \n",
+ "2's complement of B --> 11100100 \n",
+ "(b) B+A = 10101000\n",
+ "(c) B-A = 00100000\n"
+ ]
+ }
+ ],
+ "prompt_number": 130
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.12, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.6875\n",
+ "#variable declaration\n",
+ "N = 0.6875 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+ ]
+ }
+ ],
+ "prompt_number": 230
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.13, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 0.634 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ "\n",
+ "#Result \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 222
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.14, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 39.12 # decimal no to be convered to binary\n",
+ "\n",
+ "N1 = 39\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%2\n",
+ " N1 = N1/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "\n",
+ "N2 =0.12\n",
+ "#Calculations\n",
+ "k = N2\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N2 = N2*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N2>1) or(N2==1):\n",
+ " N2 =N2-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 39 is 0100111\n",
+ "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+ ]
+ }
+ ],
+ "prompt_number": 225
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.15, Page No.481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary Addition\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a1 = int('101101',2) # integer part of first no\n",
+ "a2 = int('0101',2) # fractiona part of first no\n",
+ "b1 = int('10001',2) # integer part of second no\n",
+ "b2 = int('1010',2) # fractiona part of second no(in fraction we can add any no of 0s)\n",
+ "\n",
+ "#Calculations\n",
+ "c1= bin(a1+b1)[2:]\n",
+ "c2 = bin(a2+b2)[2:]\n",
+ "\n",
+ "print(\"Addition --> %s.%s\"%(c1,c2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Addition --> 111110.1111\n"
+ ]
+ }
+ ],
+ "prompt_number": 227
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.16, Page No. 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary to decimal conversion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "i0 = 1 # LSB of integer\n",
+ "i1 = 0\n",
+ "i2 = 0\n",
+ "i3 = 1\n",
+ "i4 = 1 # MSB of integer\n",
+ "f1 = 0\n",
+ "f2 = 0\n",
+ "f3 = 1\n",
+ "f4 = 0\n",
+ "f5 = 1\n",
+ "f6 = 1\n",
+ "\n",
+ "#Calculations\n",
+ "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal equivalent = %f\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal equivalent = 25.171875\n"
+ ]
+ }
+ ],
+ "prompt_number": 231
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.17, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 3\n",
+ "b = 10 # decimal equivalent of A\n",
+ "c = 8\n",
+ "#Calculations\n",
+ "# binary equvalent of 8 A 3 \n",
+ "# 1000 1010 0011\n",
+ "# a\n",
+ "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+ "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+ "# b \n",
+ "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Decimal equivalent of 8A3 is 2211\n",
+ "(b) Decimal equivalent of 8A3 is 2211\n"
+ ]
+ }
+ ],
+ "prompt_number": 236
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.18, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 268 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 268\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 12 = C\n",
+ "Remainder2: 0\n",
+ "Remainder3: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 268 = 10C\n"
+ ]
+ }
+ ],
+ "prompt_number": 260
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.19, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 5741 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 5741\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 13 = D\n",
+ "Remainder2: 6\n",
+ "Remainder3: 6\n",
+ "Remainder4: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 5741 =166D\n"
+ ]
+ }
+ ],
+ "prompt_number": 259
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.20, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 0\n",
+ "b = 7\n",
+ "c = 13 # decimal equivalent of D\n",
+ "#Calculations\n",
+ "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(b) Decimal equivalent of 8A3 is 3440\n"
+ ]
+ }
+ ],
+ "prompt_number": 262
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_13_2.ipynb b/Power_Electronics/Power_electronics_ch_13_2.ipynb new file mode 100755 index 00000000..d435ac89 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_13_2.ipynb @@ -0,0 +1,965 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Number Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.1, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 10\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 10 # decimal no to be convered to binary\n",
+ "k = N\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 10 is 1010\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.2, Page No.474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 25\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 25 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 25 is 11001\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "example 13.3, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary to decimal:101110\n",
+ "\n",
+ "import math\n",
+ "b0 = 0 # bit 0\n",
+ "b1 = 1 # bit 1\n",
+ "b2 = 1 # bit 2\n",
+ "b3 = 1 # bit 3\n",
+ "b4 = 0 # bit 4\n",
+ "b5 = 1 # bit 5\n",
+ "\n",
+ "#Calculations\n",
+ "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal no is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal no is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.4, Page No. 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 15,31\n",
+ "\n",
+ "import math\n",
+ "#######################################################################################\n",
+ "# for N = 15\n",
+ "#variable declaration\n",
+ "N = 15 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "########################################################################################\n",
+ "\n",
+ "# For N =31\n",
+ "#variable declaration\n",
+ "N = 31 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "##########################################################################################\n",
+ "#Addition\n",
+ "c= bin(15+31)[2:]\n",
+ "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Binari equivalent of decimal 15 is 01111\n",
+ "Binari equivalent of decimal 31 is 11111\n",
+ "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.5, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 11001 # first number\n",
+ "n2 = 10001 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 1000\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.6, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 1010 # first number\n",
+ "n2 = 111 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 11\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.7, Page No. 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 16- bit signed binary representation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a = 8\n",
+ "b = -8\n",
+ "c = 165\n",
+ "d = -165\n",
+ "\n",
+ "#Calculations\n",
+ "#c = bin(d)\n",
+ "a = format(a,'#018b')[2:]\n",
+ "b = format(b,'#018b')[3:]\n",
+ "c = format(c,'#018b')[2:]\n",
+ "d = format(d,'#018b')[3:]\n",
+ "str = '1'\n",
+ "#Result\n",
+ "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+ "print(\"(a) +8 --> %s\"%(a))\n",
+ "print(\"(b) -8 --> %s%s\"%(str,b))\n",
+ "print(\"(c) +167 --> %s\"%(c))\n",
+ "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+ "\n",
+ "a = format(-167%(1<<16),'016b')\n",
+ "b = format(167%(1<<16),'016b')\n",
+ "print a\n",
+ "print b"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In the leading bit we will have 1 to represent '-' sign\n",
+ "\n",
+ "(a) +8 --> 0000000000001000\n",
+ "(b) -8 --> 1000000000001000\n",
+ "(c) +167 --> 0000000010100101\n",
+ "(d) -167 --> 1000000010100101\n",
+ "1111111101011001\n",
+ "0000000010100111\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.8, Page No.477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "a = int('00011111',2)\n",
+ "b = int('11100101',2)\n",
+ "c = int('11110111',2)\n",
+ "\n",
+ "#Calculations\n",
+ "a = format(-a%(1<<8),'08b')\n",
+ "b = format(-b%(1<<8),'08b')\n",
+ "c = format(-c%(1<<8),'08b')\n",
+ "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+ "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+ "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) 2's complement of 00011111 --> 11100001 \n",
+ "(b) 2's complement of 11100101 --> 00011011 \n",
+ "(c) 2's complement of 11110111 --> 00001001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.9, Page No. 13.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 8-bit number range\n",
+ "\n",
+ "import math\n",
+ "#calculations\n",
+ "a = int('01111111',2)\n",
+ "b = int('10000000',2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.10, Page No.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -24\n",
+ "B = 16\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(-B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "d = bin(A-B)[3:]\n",
+ "d = format(-int(d,2)%(1<<8),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+ "print(\"2's complement of 16 --> %s \" %b)\n",
+ "print(\"(b) A+B = %s\"%c) \n",
+ "print(\"(c) A-B = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of -24 --> 11101000 \n",
+ "2's complement of 16 --> 11110000 \n",
+ "(b) A+B = 11111000\n",
+ "(c) A-B = 11011000\n"
+ ]
+ }
+ ],
+ "prompt_number": 116
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.11, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -60\n",
+ "B = -28\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "x = B-A\n",
+ "d = bin(B-A)[2:]\n",
+ "d = format(int(d,2),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+ "print(\"2's complement of B --> %s \" %b)\n",
+ "print(\"(b) B+A = %s\"%c) \n",
+ "print(\"(c) B-A = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of A --> 11000100 \n",
+ "2's complement of B --> 11100100 \n",
+ "(b) B+A = 10101000\n",
+ "(c) B-A = 00100000\n"
+ ]
+ }
+ ],
+ "prompt_number": 130
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.12, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.6875\n",
+ "#variable declaration\n",
+ "N = 0.6875 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+ ]
+ }
+ ],
+ "prompt_number": 230
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.13, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 0.634 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ "\n",
+ "#Result \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 222
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.14, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 39.12 # decimal no to be convered to binary\n",
+ "\n",
+ "N1 = 39\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%2\n",
+ " N1 = N1/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "\n",
+ "N2 =0.12\n",
+ "#Calculations\n",
+ "k = N2\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N2 = N2*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N2>1) or(N2==1):\n",
+ " N2 =N2-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 39 is 0100111\n",
+ "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+ ]
+ }
+ ],
+ "prompt_number": 225
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.15, Page No.481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary Addition\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a1 = int('101101',2) # integer part of first no\n",
+ "a2 = int('0101',2) # fractiona part of first no\n",
+ "b1 = int('10001',2) # integer part of second no\n",
+ "b2 = int('1010',2) # fractiona part of second no(in fraction we can add any no of 0s)\n",
+ "\n",
+ "#Calculations\n",
+ "c1= bin(a1+b1)[2:]\n",
+ "c2 = bin(a2+b2)[2:]\n",
+ "\n",
+ "print(\"Addition --> %s.%s\"%(c1,c2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Addition --> 111110.1111\n"
+ ]
+ }
+ ],
+ "prompt_number": 227
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.16, Page No. 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary to decimal conversion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "i0 = 1 # LSB of integer\n",
+ "i1 = 0\n",
+ "i2 = 0\n",
+ "i3 = 1\n",
+ "i4 = 1 # MSB of integer\n",
+ "f1 = 0\n",
+ "f2 = 0\n",
+ "f3 = 1\n",
+ "f4 = 0\n",
+ "f5 = 1\n",
+ "f6 = 1\n",
+ "\n",
+ "#Calculations\n",
+ "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal equivalent = %f\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal equivalent = 25.171875\n"
+ ]
+ }
+ ],
+ "prompt_number": 231
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.17, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 3\n",
+ "b = 10 # decimal equivalent of A\n",
+ "c = 8\n",
+ "#Calculations\n",
+ "# binary equvalent of 8 A 3 \n",
+ "# 1000 1010 0011\n",
+ "# a\n",
+ "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+ "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+ "# b \n",
+ "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Decimal equivalent of 8A3 is 2211\n",
+ "(b) Decimal equivalent of 8A3 is 2211\n"
+ ]
+ }
+ ],
+ "prompt_number": 236
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.18, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 268 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 268\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 12 = C\n",
+ "Remainder2: 0\n",
+ "Remainder3: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 268 = 10C\n"
+ ]
+ }
+ ],
+ "prompt_number": 260
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.19, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 5741 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 5741\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 13 = D\n",
+ "Remainder2: 6\n",
+ "Remainder3: 6\n",
+ "Remainder4: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 5741 =166D\n"
+ ]
+ }
+ ],
+ "prompt_number": 259
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.20, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 0\n",
+ "b = 7\n",
+ "c = 13 # decimal equivalent of D\n",
+ "#Calculations\n",
+ "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(b) Decimal equivalent of 8A3 is 3440\n"
+ ]
+ }
+ ],
+ "prompt_number": 262
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_13_3.ipynb b/Power_Electronics/Power_electronics_ch_13_3.ipynb new file mode 100755 index 00000000..2e5b592a --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_13_3.ipynb @@ -0,0 +1,965 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Number Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.1, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 10\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 10 # decimal no to be convered to binary\n",
+ "k = N\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 10 is 1010\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.2, Page No.474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 25\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "N = 25 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binari equivalent of decimal 25 is 11001\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.3, Page No. 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary to decimal:101110\n",
+ "\n",
+ "import math\n",
+ "b0 = 0 # bit 0\n",
+ "b1 = 1 # bit 1\n",
+ "b2 = 1 # bit 2\n",
+ "b3 = 1 # bit 3\n",
+ "b4 = 0 # bit 4\n",
+ "b5 = 1 # bit 5\n",
+ "\n",
+ "#Calculations\n",
+ "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal no is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal no is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.4, Page No. 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Decimal to binary conversion: 15,31\n",
+ "\n",
+ "import math\n",
+ "#######################################################################################\n",
+ "# for N = 15\n",
+ "#variable declaration\n",
+ "N = 15 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "########################################################################################\n",
+ "\n",
+ "# For N =31\n",
+ "#variable declaration\n",
+ "N = 31 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " b[i] = N%2\n",
+ " N = N/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+ "##########################################################################################\n",
+ "#Addition\n",
+ "c= bin(15+31)[2:]\n",
+ "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Binari equivalent of decimal 15 is 01111\n",
+ "Binari equivalent of decimal 31 is 11111\n",
+ "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.5, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 11001 # first number\n",
+ "n2 = 10001 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 1000\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.6, Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Binary subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "n1 = 1010 # first number\n",
+ "n2 = 111 # second number\n",
+ "\n",
+ "#calculations\n",
+ "n1 = int(str(n1),2)\n",
+ "n2 = int(str(n2),2)\n",
+ "c = bin(n1-n2)[2:]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Subtraction result in binary = %s\"%c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Subtraction result in binary = 11\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.7, Page No. 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 16- bit signed binary representation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a = 8\n",
+ "b = -8\n",
+ "c = 165\n",
+ "d = -165\n",
+ "\n",
+ "#Calculations\n",
+ "#c = bin(d)\n",
+ "a = format(a,'#018b')[2:]\n",
+ "b = format(b,'#018b')[3:]\n",
+ "c = format(c,'#018b')[2:]\n",
+ "d = format(d,'#018b')[3:]\n",
+ "str = '1'\n",
+ "#Result\n",
+ "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+ "print(\"(a) +8 --> %s\"%(a))\n",
+ "print(\"(b) -8 --> %s%s\"%(str,b))\n",
+ "print(\"(c) +167 --> %s\"%(c))\n",
+ "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+ "\n",
+ "a = format(-167%(1<<16),'016b')\n",
+ "b = format(167%(1<<16),'016b')\n",
+ "print a\n",
+ "print b"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In the leading bit we will have 1 to represent '-' sign\n",
+ "\n",
+ "(a) +8 --> 0000000000001000\n",
+ "(b) -8 --> 1000000000001000\n",
+ "(c) +167 --> 0000000010100101\n",
+ "(d) -167 --> 1000000010100101\n",
+ "1111111101011001\n",
+ "0000000010100111\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.8, Page No.477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "a = int('00011111',2)\n",
+ "b = int('11100101',2)\n",
+ "c = int('11110111',2)\n",
+ "\n",
+ "#Calculations\n",
+ "a = format(-a%(1<<8),'08b')\n",
+ "b = format(-b%(1<<8),'08b')\n",
+ "c = format(-c%(1<<8),'08b')\n",
+ "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+ "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+ "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) 2's complement of 00011111 --> 11100001 \n",
+ "(b) 2's complement of 11100101 --> 00011011 \n",
+ "(c) 2's complement of 11110111 --> 00001001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.9, Page No. 13.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 8-bit number range\n",
+ "\n",
+ "import math\n",
+ "#calculations\n",
+ "a = int('01111111',2)\n",
+ "b = int('10000000',2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.10, Page No.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -24\n",
+ "B = 16\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(-B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "d = bin(A-B)[3:]\n",
+ "d = format(-int(d,2)%(1<<8),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+ "print(\"2's complement of 16 --> %s \" %b)\n",
+ "print(\"(b) A+B = %s\"%c) \n",
+ "print(\"(c) A-B = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of -24 --> 11101000 \n",
+ "2's complement of 16 --> 11110000 \n",
+ "(b) A+B = 11111000\n",
+ "(c) A-B = 11011000\n"
+ ]
+ }
+ ],
+ "prompt_number": 116
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.11, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 2's complement and addition,subtraction\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "A = -60\n",
+ "B = -28\n",
+ "#Calculations\n",
+ "#2's complement\n",
+ "a = format(A%(1<<8),'08b')\n",
+ "b = format(B%(1<<8),'08b')\n",
+ "# addition\n",
+ "c = bin(A+B)[3:]\n",
+ "c = format(-int(c,2)%(1<<8),'08b')\n",
+ "#Subtraction\n",
+ "x = B-A\n",
+ "d = bin(B-A)[2:]\n",
+ "d = format(int(d,2),'08b')\n",
+ "#Result\n",
+ "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+ "print(\"2's complement of B --> %s \" %b)\n",
+ "print(\"(b) B+A = %s\"%c) \n",
+ "print(\"(c) B-A = %s\"%d)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "2's complement of A --> 11000100 \n",
+ "2's complement of B --> 11100100 \n",
+ "(b) B+A = 10101000\n",
+ "(c) B-A = 00100000\n"
+ ]
+ }
+ ],
+ "prompt_number": 130
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.12, Page No. 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.6875\n",
+ "#variable declaration\n",
+ "N = 0.6875 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(N!=0):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+ ]
+ }
+ ],
+ "prompt_number": 230
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.13, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 0.634 # decimal no to be convered to binary\n",
+ "\n",
+ "#Calculations\n",
+ "k = N\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N = N*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N>1) or(N==1):\n",
+ " N =N-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ "\n",
+ "#Result \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+ ]
+ }
+ ],
+ "prompt_number": 222
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.14, Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to binary\n",
+ "\n",
+ "# For N = 0.634\n",
+ "#variable declaration\n",
+ "N = 39.12 # decimal no to be convered to binary\n",
+ "\n",
+ "N1 = 39\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%2\n",
+ " N1 = N1/2\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+ "\n",
+ "\n",
+ "N2 =0.12\n",
+ "#Calculations\n",
+ "k = N2\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+ "while(i!=7):\n",
+ " N2 = N2*2\n",
+ " #print N\n",
+ " b[i]=0\n",
+ " #print b[i]\n",
+ " if (N2>1) or(N2==1):\n",
+ " N2 =N2-1\n",
+ " b[i]=1\n",
+ " i=i+1\n",
+ " \n",
+ "#Result\n",
+ "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Binary equivalent of decimal 39 is 0100111\n",
+ "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+ ]
+ }
+ ],
+ "prompt_number": 225
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.15, Page No.481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary Addition\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "a1 = int('101101',2) # integer part of first no\n",
+ "a2 = int('0101',2) # fractiona part of first no\n",
+ "b1 = int('10001',2) # integer part of second no\n",
+ "b2 = int('1010',2) # fractiona part of second no(in fraction we can add any no of 0s)\n",
+ "\n",
+ "#Calculations\n",
+ "c1= bin(a1+b1)[2:]\n",
+ "c2 = bin(a2+b2)[2:]\n",
+ "\n",
+ "print(\"Addition --> %s.%s\"%(c1,c2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Addition --> 111110.1111\n"
+ ]
+ }
+ ],
+ "prompt_number": 227
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.16, Page No. 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# binary to decimal conversion\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "i0 = 1 # LSB of integer\n",
+ "i1 = 0\n",
+ "i2 = 0\n",
+ "i3 = 1\n",
+ "i4 = 1 # MSB of integer\n",
+ "f1 = 0\n",
+ "f2 = 0\n",
+ "f3 = 1\n",
+ "f4 = 0\n",
+ "f5 = 1\n",
+ "f6 = 1\n",
+ "\n",
+ "#Calculations\n",
+ "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Decimal equivalent = %f\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Decimal equivalent = 25.171875\n"
+ ]
+ }
+ ],
+ "prompt_number": 231
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.17, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 3\n",
+ "b = 10 # decimal equivalent of A\n",
+ "c = 8\n",
+ "#Calculations\n",
+ "# binary equvalent of 8 A 3 \n",
+ "# 1000 1010 0011\n",
+ "# a\n",
+ "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+ "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+ "# b \n",
+ "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Decimal equivalent of 8A3 is 2211\n",
+ "(b) Decimal equivalent of 8A3 is 2211\n"
+ ]
+ }
+ ],
+ "prompt_number": 236
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.18, Page No. 482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 268 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 268\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 12 = C\n",
+ "Remainder2: 0\n",
+ "Remainder3: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 268 = 10C\n"
+ ]
+ }
+ ],
+ "prompt_number": 260
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.19, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# decimal to hexadecimal\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "N = 5741 # no to be converted into hexadecimal\n",
+ "\n",
+ "N1 = 5741\n",
+ "k = N1\n",
+ "#Calculations\n",
+ "i = 0\n",
+ "b =[0,0,0,0,0,0,0,0]\n",
+ "while(N1!=0):\n",
+ " b[i] = N1%16\n",
+ " N1 = N1/16\n",
+ " i = i+1 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Remainder1: 13 = D\n",
+ "Remainder2: 6\n",
+ "Remainder3: 6\n",
+ "Remainder4: 1\n",
+ "\n",
+ "Hexaecimal equivalent of 5741 =166D\n"
+ ]
+ }
+ ],
+ "prompt_number": 259
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 13.20, Page No.483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Hexadecimal to decimal\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "a = 0\n",
+ "b = 7\n",
+ "c = 13 # decimal equivalent of D\n",
+ "#Calculations\n",
+ "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(b) Decimal equivalent of 8A3 is 3440\n"
+ ]
+ }
+ ],
+ "prompt_number": 262
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_1_1.ipynb b/Power_Electronics/Power_electronics_ch_1_1.ipynb new file mode 100755 index 00000000..47f33435 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_1_1.ipynb @@ -0,0 +1,449 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1: Power Diodes And Transistors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.1, Page No. 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# stored charge and peak reverse current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2.5*10**-6 # reverese recovery time to diode\n",
+ "di_by_dt = 35*10**6 # di/dt in A/S\n",
+ "\n",
+ "#Calculations\n",
+ "Q= 0.5*(t**2)*di_by_dt\n",
+ "I= math.sqrt(2*Q*di_by_dt)\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Stored charge\n",
+ " Q = 109.375 * 10^-6 C\n",
+ "\n",
+ "(b) Peak reverse current\n",
+ "I = 87.5 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.2, Page No.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Vrrm rating for diode in full wave rectifire\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V= 12 # secondary peak voltage\n",
+ "sf = 1.4 # safety factor\n",
+ "\n",
+ "#calculations\n",
+ "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+ "r = math.sqrt(2)\n",
+ "r = math.floor(r*1000)/1000 \n",
+ "V = 2*r*V # Actual value of Vrrm for each diode\n",
+ "Vrrm= V*sf\n",
+ "\n",
+ "# result\n",
+ "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+ "#Answer in the book for Vrrm rating is wrong\n",
+ "\n",
+ "#%pylab inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "from numpy import arange,sin,pi\n",
+ "%matplotlib inline\n",
+ "#fig -1\n",
+ "t = arange(0.0,4,0.01)\n",
+ "S = sin(math.pi*t)\n",
+ "plt.subplot(411)\n",
+ "plt.title(\"Secondary Voltage\")\n",
+ "plt.plot(t,S)\n",
+ "#fig -2\n",
+ "plt.subplot(412)\n",
+ "plt.title(\"Load Voltage\")\n",
+ "t1 = arange(0.0,1,0.01)\n",
+ "t2 = arange(1.0,2.0,0.01)\n",
+ "t3 = arange(2.0,3.0,0.01)\n",
+ "t4 = arange(3.0,4.0,0.01)\n",
+ "s1 = sin((pi*t1))\n",
+ "s2 = sin((pi*t1))\n",
+ "s3 = sin(pi*t1)\n",
+ "s4 = sin(pi*t1)\n",
+ "\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t3,s3)\n",
+ "plt.plot(t4,s4)\n",
+ "#fig -3\n",
+ "plt.subplot(413)\n",
+ "plt.title(\"Voltage across D1\")\n",
+ "plt.axis([0,4,0,1])\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t3,s3)\n",
+ "#fig -4\n",
+ "plt.subplot(414)\n",
+ "plt.title(\"Voltage across D2\")\n",
+ "plt.axis([0,4,-1,0])\n",
+ "s2 = sin((pi*t1)-pi)\n",
+ "s4 = sin(pi*t1-pi)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t4,s4)\n",
+ "#Result\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEKCAYAAAD6q1UVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXdYU9cbx79BrMoeskVRQGUIqCiitWItDhT3rts6667V\narXgHlSrldbRqnVr1Z9iFdDWghP3FhFBkOUABJkCCe/vj6OpSICQdQPcz/PcR5N7cs43h+TNvee8\nQ0BEBB4eHh6eGoUG1wJ4eHh4eFQPb/x5eHh4aiC88efh4eGpgfDGn4eHh6cGwht/Hh4enhoIb/x5\neHh4aiC88eepEfzxxx/o2LEj1zIqxMbGBmfPnuVaBk8NgDf+PArh4sWLaN++PQwMDGBsbIxPP/0U\nN27c4FqWyjl48CAaN25c6nmhUAhTU1MEBweX+3qBQACBQAAA8Pf3x8iRI5Wik4eHN/48cpOVlYVe\nvXph5syZyMjIQHJyMvz8/FCnTh2upSkEkUgkddt+/fohMzMT586dK/F8aGgoatWqhe7duytaHg+P\nTPDGn0duoqOjIRAIMGTIEAgEAtStWxfe3t5o0aKFuM2OHTvg6OgIIyMjdO/eHQkJCeJzDx8+hLe3\nN4yNjWFubo5Vq1YBAAoKCjBr1ixYWVnBysoKs2fPRmFhIQAgPDwcDRo0wPr162FmZgZLS0v88ccf\n4j7T09PRu3dv6Ovrw8PDA7GxsSU0z5w5Ew0bNoS+vj7c3d1x8eJF8Tl/f38MHDgQI0eOhL6+Plav\nXg1tbW28fv1a3ObWrVswNTUt9cNQp04dDB48GLt37y7x/O7duzF8+HBoaGjgxIkTcHJygqGhITp3\n7oyoqKhScxoaGopVq1bh0KFD0NXVRcuWLQEAO3fuhKOjI/T09GBra4tt27aVeN3atWthaWmJBg0a\n4Pfff4eGhgaePn0qns+5c+eiUaNGMDc3x5QpU/D27dsy/qo81R7i4ZGTrKwsMjY2ptGjR1NISAi9\nfv26xPnjx4+TnZ0dRUVFkUgkouXLl1P79u3FrzU3N6f169dTQUEBZWdn09WrV4mIaPHixeTp6Ump\nqamUmppK7du3p8WLFxMRUVhYGGlqapKfnx8JhUIKDg4mLS0tyszMJCKiIUOG0JAhQygvL48ePHhA\nVlZW1LFjR7GmvXv30uvXr0kkEtG6devI3NycCgoKiIjIz8+PateuTUFBQURElJ+fTz4+PrR582bx\n62fNmkUzZsyQOB+XLl0iPT09ys/PJyKizMxMqlevHt29e5ceP35M2tra9M8//5BQKKS1a9eSnZ0d\nFRUVERGRjY0NnT17loiI/P39aeTIkSX6PnXqFD19+pSIiM6dO0daWlp069YtIiIKCQkhc3NzioyM\npLy8PPryyy9JIBBQbGysWHOfPn0oIyODsrOzydfXlxYsWCDlX5mnusEbfx6F8OjRIxozZgw1aNCA\nNDU1qXfv3vTy5UsiIurevTtt375d3FYkEpGWlhY9e/aM9u/fT61atZLYp62tLYWEhIgfnz59mmxs\nbIiIGf969eqRSCQSnzc1NaWrV6+SUCik2rVr0+PHj8XnFi5cSJ9++mmZ+g0NDenevXtExIx/p06d\nSpw/ePAgdejQgYiIhEIhmZub0/Xr18vsz97envbv309ERNu2bSM3NzciIlq6dCkNGTJE3K64uJis\nrKzo3LlzRFTS+Pv5+dGIESPKHIOIqG/fvrRx40YiIho7diwtXLhQfC4mJkZs/IuLi0lbW1v8Q0BE\ndPnyZWrcuHG5/fNUX/hlHx6F0Lx5c+zcuROJiYl48OABUlJSMGvWLADAs2fPMHPmTBgaGsLQ0BDG\nxsYAgOTkZCQlJaFJkyYS+0xJSUGjRo3Ejxs2bIiUlBTxY2NjY2ho/PcR1tLSQk5ODlJTUyEUCmFt\nbV3itR/y448/wtHREQYGBjA0NMSbN2+QlpYmPt+gQYMS7fv06YPIyEjEx8fj77//Fi8XlcWoUaPE\nSz979uzBqFGjAADPnz8voUUgEMDa2hrJycll9vUhISEhaNeuHYyNjWFoaIjg4GCkp6eL+/7wPX/4\nHlJTU5GXl4fWrVuL/w49evQo8Z55aha88edROM2aNcPo0aPx4MEDAMzwbtu2DRkZGeIjNzcXnp6e\nsLa2Fq9Jf4ylpSXi4+PFjxMSEmBpaVnh+CYmJtDU1Cyxr/Dh/y9cuICAgAAcPnwYmZmZyMjIgL6+\nPuiDBLfvPW7eU7duXQwaNAh79+7F3r17xca8LEaMGIGzZ88iIiICV69exZdffil+T8+ePRO3IyIk\nJibCysqqVB8faygoKMCAAQMwb948vHr1ChkZGfDx8RHrtrCwQGJiorj9h/+vX78+6tWrh8jISPHf\nIDMzE1lZWeW+D57qC2/8eeTm8ePHWL9+vfjqNTExEQcOHICnpycAYPLkyVi5ciUiIyMBAG/evMHh\nw4cBAL169cLz58+xceNGFBQUIDs7G9euXQMADBs2DMuXL0daWhrS0tKwdOlSqVwfa9Wqhf79+8Pf\n3x/5+fmIjIzErl27xMY0OzsbmpqaqF+/PgoLC7F06VKpjOCoUaOwc+dOnDhxokIdNjY2+PTTTzFs\n2DB07doVpqamAIDBgwfj1KlT+Pfff1FUVIR169ahbt26aN++fak+zM3NER8fLzbuhYWFKCwsRP36\n9aGhoYGQkBCcOXNG3H7w4MHYuXMnoqKikJeXh2XLlonPaWhoYMKECZg1axZSU1MBsDuvD1/PU7Pg\njT+P3Ojq6uLq1avw8PCAjo4OPD094eLignXr1gEA+vbti/nz52Po0KHQ19dHixYtcPr0aQCAjo4O\n/v77b/z111+wsLBA06ZNER4eDgBYtGgR3N3d4eLiAhcXF7i7u2PRokXicT++Mv6QwMBA5OTkwNzc\nHOPGjcO4cePE57p3747u3bujadOmsLGxQb169UotxUjqu0OHDtDQ0EDr1q1LLK+UxejRo5GYmFji\nLqFp06bYu3cvpk+fDhMTE5w6dQp//fUXNDU1S71+0KBBANjylru7O3R1dfHzzz9j8ODBMDIywoED\nB9CnT58S72vGjBno3LkzmjZtKv7xfe9yu2bNGtjZ2aFdu3bQ19eHt7c3oqOjK3wfPNUTAZF8xVzG\njRuHU6dOwdTUFPfv35fYZsaMGQgJCYGWlhb++OMPsdsaD09V44svvsDw4cNL/JioK48ePUKLFi1Q\nWFhYYm+EhwdQwJX/2LFjERoaWub54OBgxMTE4MmTJ9i2bRumTJki75A8PJxw/fp13Lp1C0OGDOFa\nSpkcO3YMBQUFyMjIwPz589G7d2/e8PNIRO5PRceOHWFoaFjm+RMnTmD06NEAAA8PD2RmZuLly5fy\nDsvDo1JGjx4Nb29vbNiwAdra2lzLKZNt27bBzMwMdnZ2qF27NjZv3sy1JB41pfRCo4JJTk4u5X6W\nlJQEMzMzZQ/Nw6Mwdu3axbUEqQgJCeFaAk8VQSX3gx9vK5S3UcfDw8PDo3yUfuVvZWVVwt84KSlJ\nok+znZ1dqfwrPDw8PDzlY2tri5iYmEq/TulX/r179xZHOl65cgUGBgYSl3xiY2NBLN2ESo7MTMKG\nDQQ3N4KFBWHmTEJoKCEnp/zX+fn5SXxeJCI8eEAICCB4ehKMjAjTphHu31fde5JGpzodVUEjFzqL\niwlnzhAGDiTo6RF8fQm//06Ij5ddZ2oq4c8/CcOGEQwMCF26sMcFBdV/Pqu7TlkvmuW+8h82bBjO\nnTuHtLQ0WFtbY8mSJSgqKgIATJo0CT4+PggODoadnR20tbWxc+dOeYeUi2fPgLVrgf37ge7dgXXr\ngE6dgFq15OtXQwNwcmLH3LlsnB072Bh2dsCCBUDXrgC/4sVTFoWFwB9/AD/9BGhqAl9/DWzdChgZ\nyd93/frAoEHsePsWOH4c+PVXYMYMYOZMYMoUQF9f/nF4qg5yG/8DBw5U2CYwMFDeYeQmORlYsQI4\ndAiYOBF4+BCQIlOAzDRqBCxZAixeDPz5J/tB+OQTYNUq9iPAw/MeoRDYvRtYtgywt2dG2ctLeRcK\ndesCQ4ey48EDYM0awNaW/RB88w2gxs5MPAqk2jsA5+ayq+4WLdiHOiqKGWBZDb+Xl1el2mtqAsOH\nA3fvAt9/z67mevRgXzplUlmdXFAVNALK1RkSwu4Wd+9mx5kzQOfOshl+WXQ6OwN79gDXrrHvRrNm\nwM6dQCXq11Qa/u+uHsgd4asoBAIBFCmFCPjf/4DZs4HPPmNLPcq80peWwkJgyxZg+XJgyBBg5UpA\nV5drVTyqJj6efTYfPAA2bmQXBOqwJHj1Krv6z8sDtm0DyklcyqMmyGo7q+WVf3Iy0LMn4OfHrmr2\n7lUPww+wpZ8ZM9hVVm4uu/KqoKwrTzVCJGL7TO7uQOvWwP37gI+Pehh+APDwAC5cAObMYd+huXPZ\nDwFP9UNu4x8aGormzZvD3t4ea9asKXU+PDwc+vr6aNmyJVq2bInly5fLO2SZEDFD37Il4OkJ3L7N\nNnPVESMjtiG8fTswbRowciTw5g3XqniUydOnbEknKIgtsyxaxNbf1Q2BABgxgt2VPH/Olkw/qHLJ\nU10gORAKhWRra0txcXFUWFhIrq6uFBkZWaJNWFgY+fr6VtiXnFIoPZ1owAAiR0eimzfl6krl5OQQ\nTZlCZGNDdOkS12p4FE1xMdFvvxEZGxP9+CORUMi1osoRFERkZkbk50f0rtokjxohq+2U68r/2rVr\nsLOzg42NDWrXro2hQ4ciKChI0g+MPMNIoYPdQjdoANy8CbRqpdThFI62NvPw2LAB6NcPWLpUuRtu\nPKojJ4fd1W3cCJw/z9bT5XUrVjW9ewO3bgGXLrE76Q9q0fBUYeQy/pLy9nxcjk4gEODy5ctwdXWF\nj4+PuKCHIiACAgOBXr3YOuqGDep5Gy0tffqwL1lYGFsHfledj6eKEhkJtG0L1K7NNlIdHblWJDuW\nlsDp00Dfvmxf4O+/uVbEIy9yGX9pcvS0atUKiYmJuHv3LqZPn46+ffvKM6SY7Gzmp7xjBxARAfTv\nr5BuOcfKin2xXFzYpuDt21wr4pGFffvYVfLcucx1UkuLa0Xyo6EBfPsti5UZPRpYvZpdgPFUTeQK\n8vo4b09iYmKpwte6H/gx9ujRA1OnTsXr169hJCFs0d/fX/x/Ly+vMv1s4+MBX1+gXTvg8uWqfbUv\nCU1NICCAGf+uXYH169nSAY/6IxIB333H3Iz/+QdwdeVakeLp1IkttQ4cCFy/zqKSeXdl1REeHi6u\ndicX8mw0FBUVUZMmTSguLo4KCgokbvi+ePGCiouLiYjo6tWr1KhRI4l9SSvl4kUic3OijRvZRlp1\n5/59Ijs7ojlzqt5GYU3jzRsiHx8iLy+itDSu1Sift2+JJkxgThZxcVyrqbnIasblWvbR1NREYGAg\nunXrBkdHRwwZMgQODg7YunUrtm7dCgA4cuQIWrRoATc3N8yaNQsHDx6Uebxdu9iG6M6dzFdeXXyj\nlYmzM1svvnmTXWnl5nKtiEcSsbHMvdjamkXpGhtzrUj51KnDAsEmTQLat2efU56qQ5WI8BWJgIUL\ngSNHgL/+qtobZ7JSWMhyEj14AJw4oT5Bazxs6bF/f5bHaerUmnFR8jEnTwJjxwKbN7OLFB7VUW0j\nfN++ZRu7ERFV32NCHj75hN3x9OvHrjDv3eNaEQ/AsmP26cP+Nl9/XTMNP8A87s6cYSkr+I3gqoFa\nX/lnZrIvlpkZS3pV3TZ2ZeXgQbbstWcP0K0b12pqLr/+ynI0nTjB58B5T3Iyc8Zo3ZrdBWgqvVwU\nT7W78k9OBjp2BNzcmLHjDf9/DB0KHDsGjBrF0lnwqBYitgy5YQNLe8Ab/v+wsmLBbElJ7C6Vzwuk\nvig9tw8AzJgxA/b29nB1dcVtKRzXIyPZBtLIkewLpqG2P1Hc0aED8O+/zAitW8e1mppDYSEwZgyb\n+0uXgCZNuFakfujosLshQ0Pgiy/4YEW1RR4XI2ly+5w6dYp69OhBRERXrlwhDw8PiX29l3LhApGp\nKdHu3fIoqzkkJDBXu2++IRKJuFZTvcnKIvL2JvL1JcrN5VqN+iMSEX37LZGDA9GzZ1yrqb7IasaV\nntvnxIkTGD16NADAw8MDmZmZePnypcT+jh9nt4q7d/NBTdJibc1S8F65wpaBCgu5VlQ9efGCBTc1\nbswCuKpDxK6y0dBgdTQmTGB3qsouYMRTOZSe20dSm6SkJIn9TZ3KKhvxm5iVw8iIpYTIzmabbTk5\nXCuqXkRHs2XIfv1YIR5+E7NyzJ7NSkV26cKnhlYnlJ7bByid1bOs1124wG+eyUq9esDRo0DDhixn\n/KtXXCuqHly/zq74Fy5kfvw11ZVTXoYPZ95p/fqxO3we+Skulu/1Ss/t83GbpKQkWFlZSexvzx5/\n8f/Ly+3DIxlNTRZx+cMPwKefsiyMjRtzrarqcvo0K2qyfTtLa8wjH127sjt7X192cTJxIteKqibh\n4eEIDQ3HwYNyFquSZ6NBmtw+H274RkREVLjhy6MYfvmFyNKy6hW2URf27GGOBxcvcq2k+hEdTdSk\nCSsOUxPycymapCSiFi2IZsxgm+qy2k65LW5wcDA1bdqUbG1taeXKlUREtGXLFtqyZYu4zddff022\ntrbk4uJCN8uwRrzxVzxHjxKZmBCdPs21kqpFQACRtTXRgwdcK6m+vHhB1Lo10fjxfHWwyhAZSdSo\nEdHq1f/9cMpqO9U6wpdHfi5eBAYMYF4X75yueMqguJjlqw8NZccHfgo8SiAnBxg0iHkF/fknq2jH\nUzYREWzPZM2akt/lahfhy6MYPv0UCA8H/P2BlSv5nCtlUVjIXGWvXmWOB7zhVz7vg8HMzHgnhYo4\nefK/HFKKuojjjX8NwMGBZZ48fJi50/L1gUuSlcU2IbOzmcushDpDPEqidm22od69O3OnjYnhWpH6\n8fvvLFbi5EmgRw/F9csb/xqChQVw7hz7cg0YwOdceU9CArs7atKEucrWq8e1opqHQAAsXQrMm8fy\neV27xrUi9aC4mFWFW7OGfXfbtlVs/7zxr0Ho6QGnTrGSe126AKmpXCvilhs3WHrsMWNYhk4+eItb\nJk5krso9e7Kr3JpMXh4weDDLHxURATRtqvgxZDb+r1+/hre3N5o2bYquXbsiMzNTYjsbGxu4uLig\nZcuWaKvony6eSvPJJyx9xuefAx4eNTfk/tgxdgv9yy/AnDl88Ja64OvLDP/EiSxhYU3co3rxgu2B\n1K3L6kDXr6+ccWQ2/qtXr4a3tzeio6PRpUsXrF69WmI7gUCA8PBw3L59G9f4+zm1QCAAVqwAli1j\nPwJ//cW1ItVBBAQEANOnM4+evn25VsTzMR4eLFfV3r3AuHFAQQHXilTHgwfsbtTHh0VE16mjxMFk\n9Tdt1qwZvXjxgoiInj9/Ts2aNZPYzsbGhtKkqGYthxQeObhyhQWDrVlT/QNucnOJhg8ncnNj2VB5\n1JucHKL+/Ynatyd6+ZJrNcrnzz+J6tdnAYaVQVbbKfOV/8uXL2FmZgYAMDMzKzNTp0AgwBdffAF3\nd3f89ttvsg7HoyTeX2UdPMjyr2Rnc61IOTx9yq6oNDTYOirvyqn+aGszD7UuXYA2bdjntDoiFALz\n5/8XYzJihGrGLXeLy9vbGy9evCj1/IoVK0o8FggEZSZru3TpEiwsLJCamgpvb280b94cHTt2lNjW\n399f/H8+t4/qsLZmBnH6dPYlO3IEcHbmWpXiCAlhm7qLFgHTpvHr+1UJDQ3mCdS6Ncuv9P33rIRp\ndfkbpqWxynwAc0CQZn0/PDwc4eHh8g8u0/0CsWWf58+fExFRSkpKmcs+H+Lv708//vijxHNySOFR\nIH/8wW49d+3iWon8FBYSLVxIZGFBdP4812p45CU2lqWEGDCAKDOTazXyc+4cSyMyb558KS5ktZ0y\nL/v07t0bu3btAgDs2rULfSXsnOXl5SH73TpCbm4uzpw5gxYtWsg6JI8KGD2alShcuZJdLWdlca1I\nNmJjmf/+7dvsKONmk6cK0aQJS1diaspSv1fVZaCiIpYefMgQVh9izRqO3Ixl/bVJT0+nLl26kL29\nPXl7e1NGRgYRESUnJ5OPjw8REcXGxpKrqyu5urqSk5OTOPGbJOSQwqMEsrKIJk5kSaTOnuVajfQU\nFxNt387uXjZurP6b2DWVI0eIzMyIFiwgevuWazXSExVF1K4dUffuRO8WTuRGVtvJJ3bjKZeQEBZa\n3r8/cw/V1eVaUdk8fcr8wzMyWA4UFxeuFfEok5cv2d87Ph7YsYPtC6grRUXMxXj9epZna+pUtp+h\nCPjEbjxKoUcP4N495gXk4MC8gtTtN7qwkH2x2rZlJUCvXuUNf03AzIxVBfvmGxYVPHUq8Po116pK\nExHBlqkuXABu3mROB4oy/PKgBhJ41B0jI3YlfegQsHo1c727c4drVexH6OhRwNERCAtja8Dffsun\naahJCAQsG2tkJHvs6Aj89hu70uaauDi2rj9oEMtbFBwMNGrEtar/4I0/j9R06MDc0QYMYHcEAwcC\nDx+qXgcRM/YdOzI3wM2b2RfLzk661/v7+2PkyJEK1zVmzBgsXrxY4f3yVIyREcvPdOoUuzt1cGAR\nslxksH3+nN2NuLszl+nHj4Evv1Q/91SZjf/hw4fh5OSEWrVq4datW2W2Cw0NRfPmzWFvb481a9bI\nOpzaoBD/WhWgLJ2amsDXXzNvmnbtWHqI9wmoKrscJEmjjY0Nzp49K7G9UMhu89u3ByZPBr76Crh1\nC/D2rty4ZcWkJCcno3bt2nj69Gkpnf369cO3335bYb/v+w4PD4e1iiPJavpnE2Dr/mfPsjTI27YB\nTk7A1q1Abm7l+6qszuhotvTk5MSWIh88YF496lqkRmbj36JFCxw7dgyfffZZmW1EIhGmTZuG0NBQ\nREZG4sCBA3j06JGsQ6oF/BeMoaUFzJ3LUkR/+ikwdiz74v38M0tMJatGSQGDjx8Dfn6AjQ2rSDZn\nDrvNHzMGqFVL7rcixsrKCl26dMGePXtKPB8SEoKQkBCMGTOmwj64dFrgP5v/4eUFnD/P7gZCQthy\ny4wZbP1d2j+RNDqzsoB9+1gits8+AwwNgagoYNMmlkZdnZHZ+Ddv3hxNK8gzeu3aNdjZ2cHGxga1\na9fG0KFDERQUJOuQPGqIri77UkVFAatWsWUhBwf25Vuxgm2+FhZWrs/cXBbmvnAhu4r6/HMgLa0A\nXl6z8OyZFWbNssLcubNR+K7jzMxM9OrVC6ampjAyMoKvry+Sk5PF/cXFxaFTp07Q09ND165dkZaW\nVubYo0ePLmX8Hzx4ACcnJzg5OeHRo0fw8vKCoaEhnJ2d8ddHWfEEAgHy8vLQo0cPpKSkQFdXF3p6\nenjx4gWuXbsGT09PGBoawtLSEtOnT0fRB4vTZ86cQbNmzWBgYICvv/4anTp1wvbt28Xnd+zYAUdH\nRxgZGaF79+5ISEio3MTWMAQC9tk5fhy4fp1Fz44bx+IFpk4F/vc/FmFbGUQi4O5dIDAQ6NULaNAA\n2L+f9ZeQwD7zpqbKeT+KRqlr/snJySVufRs0aFDiS8lTfdDQYJ42u3cDKSlsgys9nbni6esz75uh\nQ9lVe0AAS6V84wa7Mlu+HJg9m4XvJyWxZaTVq9lV/e+/A4mJgLHxCjx9eg13797F3bt3ce3aNSxf\nvhwAUFxcjPHjxyMhIQEJCQmoV68epk2bJtY2fPhwtGnTBunp6Vi8eDF27dpV5tJP3759kZaWhkuX\nLomfu3fvHkaPHo2ioiL4+vqie/fuSE1NxaZNm/Dll18iOjpa3JaIoKWlhdDQUFhaWiI7OxtZWVkw\nNzeHpqYmNm7ciPT0dERERODs2bP49ddfAQBpaWkYNGgQ1qxZg9evX6NZs2aIiIgQ6wwKCsKqVatw\n7NgxpKWloWPHjhg2bJjC/47VlcaNgR9+YHeMJ04AtrZsWcjWlhlwHx+2lLh0Kbtq37yZfT4DAoAF\nC9imctu27Mp+8GDm8PDll+yzeeoU29T95BOu32UlKS8I4IsvviBnZ+dSx4kTJ8RtvLy86ObNmxJf\nf+TIEfrqq6/Ej/fs2UPTpk2T2NbW1pYA8Ad/8Ad/8EclDltb28pFd72j3Cv/v//+G/fv3y91+Pr6\nlvcyMVZWVkhMTBQ/TkxMRIMGDSS2jYmJARHxRw0/3m/4fvx8vXr1EBkZKX786NEjfPLJJyAi5Obm\nYuLEiWjUqBH09PSgp6cHDQ0NFBcXIyIiAiYmJiX6WrBgAUaMGFGmhgsXLsDQ0BBv377F4sWL0bt3\nbxARDh48iDZt2pRo+91332HixIkgIowZMwaLFi0CESEsLAwNGjQo0fbx48fo2bMnzM3NoaenBy0t\nLXz22WcgIqxatQqDBw8u0d7T0xPbt28HEcHBwQE6OjowMDAQH1paWoiIiOD8b8Yf3B4xMhY+Vsiy\nDxFJfN7d3R1PnjxBfHw8CgsLcejQIfTu3VsRQ/LUMCwtLREfHy9+nJCQACsrKwDAunXrEB0djWvX\nruHNmzc4d+6c+IthYWGBjIwM5H1QtPjZs2dlLvsAQIcOHWBkZISgoCDs27cPo0ePFmtITEws8Xl/\n9uyZWAfwnyeRpP6nTJkCR0dHxMTE4M2bN1ixYgWKi4vFfSclJYnbElGJxw0bNsS2bduQkZEhPnJz\nc9GuXTup5o+H52NkNv7Hjh2DtbU1rly5gp49e6LHu7LyKSkp6NmzJwBAU1MTgYGB6NatGxwdHTFk\nyBA4ODgoRjlPtaWwsBBv374VH0KhEMOGDcPy5cuRlpaGtLQ0LF26FCPeJT7PyclBvXr1oK+vj9ev\nX2PJkiXivho1agR3d3f4+fmhqKgIFy9exMkKCsQKBAKMGjUK8+bNw5s3b8R3uu3atYOWlhbWrl2L\noqIihIeH4+TJkxj6Lifv+x8cgNW4SE9PR9YHmfFycnKgq6sLLS0tREVFYfPmzeJzPj4+uH//PoKC\ngiAUCvHLL7+USKc+efJkrFy5EpHvopnevHmDw4cPyzPNPDUd4uFRI2xsbEggEJQ4Fi9eTG/fvqUZ\nM2aQhYUvSbWJAAAgAElEQVQFWVhY0MyZM6mgoICIWEpxLy8v0tHRoWbNmtHWrVtJQ0ODRCIRERE9\nffqUOnbsSDo6OuTt7U3Tp0+nkSNHlqsjLi6ONDQ0aOrUqSWef/jwIXXq1In09fXJycmJjh8/Lj43\nZswYWrx4sfjxuHHjyNjYmAwNDen58+d0/vx5at68Oeno6FDHjh3phx9+oI4dO4rbh4aGUtOmTUlf\nX5+mTp1Knp6etHfvXvH5PXv2UIsWLUhPT4+sra1p/Pjxsk80T41HbuM/duxYMjU1JWdn5zLbTJ8+\nnezs7MjFxYU2bdpEzZo1Izs7O1q9enWF7W/duiWvxEoTEhJSrsawsDDS09MjNzc3cnNzo2XLlqlc\nY2XnnYt5JKpYpzrMJRFRQkICeXl5kaOjIzk5OdHGjRsltlPVnIpEIrK0tKTw8PBK61SHOc3Pz6e2\nbduSq6srOTg40HfffSexHdefUWl0qsN8EhEJhUJyc3OjXr16STxf2bmU2/ifP3+ebt26VeaX+9Sp\nU9SjRw8iIrp06RLVqVOH4uLiqLCwkFxdXSkyMrLM9leuXCEPDw95JVYKoVBItra25WoMCwsjX19f\nler6mMrMOxfz+J6KdKrDXBKxOtS3b98mIqLs7Gxq2rSpyj+bp0+fpoyMDHr79i0tW7aMLC0t6e1H\n+Yql0akuc5qbm0tEREVFReTh4UEXLlwocV5dPqMV6VSX+Vy3bh0NHz5cohZZ5lLuDd+OHTvC0NCw\nzPMnTpwQb5gJBAJoamqiXr16ZQZ9fdjew8MDmZmZZdYHVgbSBqZRGZvcqqIy887FPL6nIp0A93MJ\nAObm5nBzcwMA6OjowMHBASkpKSXaKHtOIyIiYGdnBxMTE5w6dQrHjx9HnTp1Kq0TUI851dLSAsD2\ncEQiEYyMjEqcV5fPaEU6Ae7nMykpCcHBwfjqq68kapFlLpWe2O3DQK/k5GTo6+uLvRgkBX1JCgz7\n0OtBlXrL0igQCHD58mW4urrCx8dHvAmnTnA9j9KijnMZHx+P27dvw8PDo8Tzyp5TPz8/pKWlISsr\nCxEREWjTpo1MOtVlTouLi+Hm5gYzMzN07twZjo6OJc6ry2e0Ip3qMJ+zZ89GQEAANMrIBS3LXKok\nq+f7X6ry3OAktX9PRe0ViTRjtWrVComJibh79y6mT58usYSlOsDlPEqLus1lTk4OBg4ciI0bN0JH\nR6fUeXWZ0/J0qsucamho4M6dO0hKSsL58+cl5spRh/msSCfX83ny5EmYmpqiZcuW5d6BVHouFbEW\nFRcXV+aa7qRJk+jAgQNERBQREUHa2tr04sULIiJauXKleEOVj/DlD/7gD/6o/GFra1vCzhIRNWvW\nTGxny0LpV/69e/fG7t27AQBCoRBCoRD5+fmlgr5iY2M5jZLLzyesXk0wMSH060cIDiYUFpZu5+fn\nV+JxVBRhwQKCqSlh8GBCdDT3EX+SdKr6SMhMwJjjY2C8xhizQ2fj7ou7KC4uLlejUCTEv0//xbAj\nw2C0xgiL/12MrLdZNX4uiQgUHg7y9ATZ24N++gn04kXFOrOyQLt3g9q1Y687cAD00d+gJs5nkUiE\nX5OSYHXpErreuYOjr14hXyisUGd8fj6Wx8fD6tIldL97F7ezuP9sEhFiY2NL2NkrV67AwMAAZmZm\n5dpmuWseDRs2DOfOnUNaWhqsra2xZMkScabCSZMmwcfHB8HBwbCzs4O2tjYCAgLQrVs3iEQijB8/\nHg4ODti6dau8MuTi779ZUicXF5YGtnlz6V/brBmwciXw/fcsIZSnJzBlCrBoEfDRXl2NQFgsxPqI\n9Vh7aS0mu09GzIwYGNQ1kOq1tTRqoXPjzujcuDPiMuLwQ/gPcPjFAT/3+Bn9HforWbma8uoVMHMm\ny0W8YgXLjidtHmtdXWDkSGDECFb95ttvWSa9bdsq9yGvRlzNysKEx49hUrs2jjs7w11PT+rXNqpb\nF983aoS51tb4/flzdLt3D4NMTLCqSRPoclw+7mM7u3PnzopfRGoCF1Ly84mmTSOytiYKCZHuNX5+\nfuWeT04m6tuXyMWF6CMPPJVSkU5lEJcRR+1+b0dddnWh2NexFbaXRuOFZxfI/md7Gvm/kZRdkK0A\nlZWHi7kkIqLgYCJzc6JvvyV6545YHhXqFAqJNm0iMjYm+uUXouJixeisJFzMp7C4mPyePiWzixdp\n/4sXVCzFe69IZ3phIY159IiaRETQlTdvFKS08shqO2us8U9MJGrThmjAAKKMDOlfFxYWVmGb4mKi\n334jql+f6MgR2TXKgzQ6FcmZmDNkGmBKAZcCSFQskuo10mrMKcihscfHkkOgA0WnRcuhUjZUPZck\nEhH5+RFZWRGdOyf1y6TW+fgxkZsb0fDhRHl5MkmUB1XPZ3phIXnfuUOdb9+mlI/iJspDWp1HX70i\nk4sXaUtysowK5YMz419RNGxqaip169aNXF1dycnJiXbu3ClZiAqN/+3bRA0aEK1apdyLnxs32F2F\nssfhmq03tpL5j+YUHheu1HG2XN9CZgFmdOHZhYobV1XeviUaMoTI05Po+XPljZOXRzRsGJGHB9Gr\nV8obh2Ni8/Ko6ZUrNOfJEyoSSXdRIgvRubnU/OpVmv3kCYlU/GXnxPhLEw3r5+cnDplOTU0lIyMj\nKioqKi1ERcb//HkiExOiP/9UyXCUlETUogXR7NnV8wdg+bnlZLvRlp6kP1HJeKdjTpPJWhM6+fik\nSsZTKdnZRF26sNvR/Hzlj1dcTLRwIVHTpkQJCcofT8Xcy84my0uX6JekJJWM97qwkDreukXDHz6k\nQiX+0HyMrLZTLm8faaJhLSwsxJkNs7KyYGxsDE2ONkfCw4EBA1jZtUGDVDOmlRVw7hxw+TIwbRpA\npJpxVYFfmB8OPDiAC2MvwM7ITiVjdrXtir+G/YVxJ8YhKKoalQTNyWHlpBo2BA4dAurWVf6YAgHb\nRJ44EejUidUhrCbczcmB9927WGdri6kfpNxWJoa1a+O0iwsyhEIMf/QIRe/Sdasrchl/aaJhJ0yY\ngIcPH8LS0hKurq7YuHGjPEPKzOXLzOAfOgR88YVqxzY0BE6fBm7eZGUMq8MPwMoLK3Hk0RH8O/pf\nWOiqtlK1RwMPBA8PxsSTExEaE6rSsZVCfj7g6wvY27O6lYqsSi8N33zDCjF//jnw/Llqx1YCkbm5\n6H7vHjbZ22NoBe6OiqZerVo45uyMXJEIo6OiIFLjL7tcxl+aaLyVK1fCzc0NKSkpuHPnDr7++mtk\nZ2fLM2ylefgQ6NeP1Zft3FmlQ4vR1wdCQoB//2WuoVWZrTe2Yvvt7fhn5D8w1eamWnVry9Y4PuQ4\nRh4biYjECE40KAShEBg2DDA3Zy6YZYTvK51Zs4CxY1kh5sxMbjQogMS3b9H93j2sbdIEgziqpF5H\nQwNHnZyQUlCAmU+egNT0B0Cu9RdpyjRevnwZ33//PQDA1tYWjRs3xuPHj+Hu7l6qP39/f/H/vby8\n4OXlJY88AKyYuI8PsH498K7eDGcYGgKhoUD79oC1NSsKXdU4GX0S/uf8cWHsBZVf8X+Mp7UndvXd\nhX6H+uHC2AuwN7bnVE+lIWI+/Lm5wJ9/qv6K/2MWLgRevgT692cf1CpWkfyNUIge9+5hhpUVRpqb\nc6qlXq1aCGrRAp/dvo2AxETMa9hQYX2Hh4dLTJVRaeTZaCgqKqImTZpQXFwcFRQUSNzwnT17Nvn7\n+xMR0YsXL8jKyorS09NL9SWnFInk5hK1bk20fLnCu5aLyEgiU9NKefGpBXee3yGTtSZ0JfEK11JK\nsPXGVmq6qSm9znvNtZTKsWEDkbMzEYc+4qUQCol69yYaN65KeSgUiUTU7c4d+vrxY6l8+FVFYn4+\nNbh8mY4q0aNKVtspt8UNDg6mpk2bkq2tLa1cuZKIiLZs2UJbtmwhIubh06tXL3JxcSFnZ2fat2+f\nZCEKNv7FxURDhxKNGKGen+HTp1n8Tnw810qk41XOK7LZYEMH7x/kWopEZoXMoq57upJQJORainSc\nOaO+H4DsbBaluGED10qkZvaTJ+R9545S3Tll5UZWFtW/eJHuZisnSJEz468oFG38f/yRXfVzEMMi\nNT/+SNSqlWq8+uShSFREn+/6nL77W3I1JnWgSFREXXZ1UWuNYuLi2K1fuHLjIuQiLo7IzEy9Nb5j\n/4sX1CQigtILC7mWUib73ml8rQSNstpOwbsXc45AIFDYxsiFC8yz5+pVoFEjhXSpFIhYqhYDA4Dj\n9Ebl8v3Z73Et5RpCvwxFLQ2O16XLIS0vDa23tcamHpvQu1lvruVIpqAA+PRTYPhwYPZsrtWUz5kz\nbBP4xg3Agtv9nbKIzM1Fpzt38I+rK1wlpOBWJ2Y+eYK4t29x3NkZGgpMXS2z7ZT3V6eiCF8iFibt\n5uZGTk5O1KlTJ4ltFCCFiIhSU1n07qlTCulO6WRlEdnbE+3fz7USyYQ+CSWrdVb0Mucl11Kk4nLC\nZTINMKX4DDVcTiEimjGDqF8/9VyLlMQPPxB17sz2AtSMXKGQHK9epe0pKVxLkYoCkYg8btygHxUc\nUCer7VR6hG9GRgY5OjpSYmIiEbE9AIlCFGD8i4uJevZkebCqErdvszxAMTFcKynJ8+znZP6jOYXF\nhXEtpVKsubiG2m9vT0Wi0pHknBIURGRjU7lkUlwjFBJ16qR+XhNENCEqikZERqrVBm9FxOXlkcnF\ni3RdgZv8stpOpUf47t+/HwMGDBC7gNavX1+eIctl82bmqbZ8udKGUApubiwl9JdfMrdvdYCIMDZo\nLMa3HA8vGy+u5VSKue3nQqu2FlacX8G1lP94/pxF0u7dy9b5qgq1ajHNP//M1lHVhGOpqTibkYFf\n7e3VskJdWdjUq4dAe3sMf/QIuSIRp1qUHuH75MkTvH79Gp07d4a7uzv27Nkjz5BlEhUF+PkB+/ZV\nOfdkACzAUl+fRdurA5tvbEZ6Xjr8OvlxLaXSaAg0sKvvLvx641dcS77GtRy2uTNuHDP+HTpwraby\nNGgA/PILqw2Qm8u1GjwvKMCU6GjsdXDgPI++LAw2NYWnnh6+iYnhVIdcMyfNL25RURFu3bqFs2fP\nIi8vD56enmjXrh3s7UsH5Mga5CUUAqNHA0uWAE2bSqtevdDQAHbsAFq2BHr1Alq35k7Lk/Qn+CHs\nB1wadwm1a9XmTogcWOpaYlOPTRh5bCTuTLqDerXrcSdm2zYgNRVYvJg7DfIycCAQFATMnw8EBnIm\ng4gw4fFjTLC0hKe+Pmc65OVne3u4Xr+O0PR0dDc2rtRr1SLIKyIigrp16yZ+/GFN3vesXr26RFGE\n8ePH0+HDh0v1JY+UlSuJvvii6uyhlce+fUROTiyzLxcIRULqsL0DbYioOj7e5TH0yFCaHTqbOwFP\nn7INnYcPudOgKDIymDfF2bOcSdiZkkKu165RgRr681eWs69fU4PLlylDTvdPWW2n0iN8Hz16RF26\ndCGhUEi5ubnk7OxMDyV8EWR9Aw8esO/Ws2cyvVztKC5mlcC+/56b8X+K+Ik67ugodUEWdSctN43M\nfzSnSwmXVD94cTHR558TleEFVyUJDmab1koKWCqPpLdvqf7Fi3Q7K0vlYyuLKY8f07hHj+TqgxPj\nT1RxhC8RUUBAADk6OpKzszNt3LhRshAZ3oBQyGpRbN4sm3Z1JSWF1Ry4fVu148a+jiXjNcacVMtS\nJocfHqbmgc0pv0jF0XS//Ubk7k4koX5FlWb0aOayqkKKi4up9717tPjpU5WOq2yyioqo0eXLdEZC\nyhtpkdX4V+kgr59/Bo4eZbWpuUqGqCx27GC1tq9cAVSxp0VE6Lq3K7ybeGNeh3nKH1CFEBH6/9kf\nzibOWPb5MtUM+vw54OICnD3L/q1OvH4NODkBx44B7dqpZMgjr17hh/h43HZ3R51q9mUPSU/H10+e\n4H6bNtCWIbmfrEFeVXYWExOBpUu5zYKrTMaOBfT02A+cKth7by/S8tIwx3OOagZUIQKBAIE9ArHl\n5hY8fPVQNYPOnMm8e6qb4QcAIyPgp5+ACROAoiKlD5dZVISZMTH4rVmzamf4AaCHsTE89fTgHx+v\n0nHlnsnQ0FA0b94c9vb2WLNmTZntrl+/Dk1NTfzvf/+Td0gAwPTp7GjWTCHdqR0CAUv5sHIl+6FT\nJq/zX+Pbv7/Fb76/QVOj6rnOSYOVnhWWeC3B5FOTUUxKrrAUHAzcugUsWqTccbhkyBDmArp+vdKH\nWhgXh17GxuhQhb17KuInOzvsevECd3NyVDeozAtNJF2E7/t2nTt3pp49e9KRI0ck9lUZKSdOsLKj\nXHnEqBJ/f5YNQJlMODGBpgdPV+4gaoBQJKS2v7WlHbd2KG+Q3Fyixo2JQkOVN4a6EBtLZGzMksAp\niatv3pD5pUtKSYimbmxLTqZ2N29WugC8rGZc6RG+ALBp0yYMHDgQJiYm8gwHAMjLYwFRv/4K1Kkj\nd3dqz/z5wP37wKlTyun/StIVnIw+iWWdVbQWziG1NGphc8/NWHB2AdLz0pUzyKpVgLs7q4hV3WnS\nhCWnmzlTKd2LiDA5OhprmzSBYe2qGW9SGcZbWEAAYLuKSmkqPcI3OTkZQUFBmDJlCgDpAsPKY+VK\ntsfUpYtc3VQZ6tZlMTXTp7NSr4pEVCzClFNTEOAdAP261feW+kNaWbTCQMeBWHh2oeI7j45mOUZ+\n+knxfasrc+cCjx4BJ08qvOstKSnQq1ULI1Rch5crNAQC/Gpvj0VxcUhXwV6K0iN8Z82ahdWrV4t3\npKmcXemKInyfPAG2bAHu3pVVcdWkWzcW+RsQAPzwg+L63XpzK/Tq6GF4i+GK67QKsPzz5XD4xQET\nUibA3bJ0OVGZIGK3pN99B1hZKabPqkCdOsCmTcDUqcAXX7CrFQXwqrAQ/vHxCHN1rVK5e+TFTVcX\ng01NsSguDpvLSFdQZSJ8GzduTDY2NmRjY0M6OjpkampKQUFBpfqSRoqPD9GaNfIorro8e8aWVxVV\n+Ck1N5VM1prQvRf3FNNhFWPHrR3k8ZuH4oLZgoKIHByIasDatET69SNaulRh3X0VFUWznjxRWH9V\niYzCQjK/dIluShnMJqsZV3qE74eMGTOGjh49KllIBW/g5Em2yVtQII/iqs3SpUQDBiimr0l/TaIZ\nwaoN1FEnRMUiavtbW/rj9h/yd5afT9SkCSvNWFOJiyMyMiJSQK766+82eTOrW3BcJfgtOZna37wp\nVbpqWY2/XGv+mpqaCAwMRLdu3eDo6IghQ4bAwcEBW7duxVYFlqYqLGT7Shs2VM2MnYpi7lzg5k0W\n1CYPd17cwbGoY/D38leIrqqIhkADm3pswoKzC5BdkC1fZ+vXM39+b2/FiKuK2NgAX38NzJMvQJCI\nMCMmBisaN4Z+FczYqSjGWljgbXExDrx6pbQxqkSE748/MoOnLI+XqsTRoyx76a1bskX+EhG8dnlh\nmPMwTHafrHiBVYwxx8fAXMccq79YLVsHKSnM8F+7xrxfajK5uYCDA7B/PytVKQP7X77E+sREXGvd\nWqGlDqsil968wdDISES1bVtu5C9nEb4VBXnt27cPrq6ucHFxQYcOHXDv3r1K9f/qFbBmjUpiSaoE\n/fuzAMvff5ft9f979D9kvs3EhFYTFCusirKyy0r8fut3PM14KlsHCxeySNeabvgBQFsbWL0amDUL\nKK58IF2uSITvnj7FRnv7Gm/4AaCDvj4+1dfHmoQE5Qwg02LRO6QJ8rp8+TJlZmYSEav36+HhIbGv\nsqRMmkQ0a5Y8Kqsft28TmZkRvZtWqckvyqfGGxrT2afcpeRVR1acX0EDDsmwmXL9OpGFBSvEzMMo\nLiby9CT6o/J7Kf5xcTTkwQMliKq6PMvPJ6MLFyghv+ykhLKacaUHeXl6ekL/XVi2h4cHkpKSpO7/\n/n2WO0qR7o3VATc3VvClsuUqN17ZCBczF3ze+HPlCKuizG43GzdSbuBc/DnpX0TErnCXLQN0dZUn\nrqohELA4h4ULgUqkKkguKMCmpCSssbVVoriqR8O6dTHVygoLnsp4Z1oOSg/y+pDt27fDx8dHqr6J\ngG++YcWPDA3lUVk9Wb6cZf6U9jPxKvcVAi4HIMA7QLnCqiD1atfD6i9WY86ZOdLn/Tl6lBm3MWOU\nqq1K4uEBeHkBa9dK/ZKFT59ikqUlGikoTqA6Md/aGmGZmbiWlaXQfuUy/pUJvggLC8OOHTvKTf72\nISEhQEICMGmSrOqqN+bmwJw5LKZIGvzC/DDCZQTsjUuXz+QBhjgNwSe1PsHee3srblxQwPJurFvH\nCpzzlGbVKlb3V4o7/ZvZ2TiTkYHvGjZUgbCqh46mJpY3bow5MTEybeyWhVy+VFZWVkj8IOVkYmIi\nGjRoUKrdvXv3MGHCBISGhsKwnMv49xG+xcXArl1eCAz0Qg1I6SEzc+awrKaXLpVfFzwyNRJHHh3B\n42mPVSeuiiEQCLC+63oMPjIYAx0HQqu2VtmNAwMBR8eak2NEFho2ZFdu338P7NpVZjMiwjcxMVhi\nY1Mli7GrilHm5tiYlISjqamoHxnJfYSvNEFez549I1tbW4qIiCi3rw+lbN5M1Llz9ajJq2x272bV\nzMqbq577etL6y+tVJ6oKM+jPQbTs3LKyG6Slsbqh5QQz8rzjzRsic3OiW7fKbBKUmkpOV69SUTWo\nyats/nn9mppERNDbj+ZKVjOu9DKO48ePJyMjI3JzcyM3Nzdq06aNZCHv3oAUnxeeDxCJiFq1Ijp0\nSPL5f2L/oSYbm9DbohqQ/1oBvC9l+SL7heQGs2YRTZmiWlFVmXKu5ApFImp25QoFp6VxIKxq4nP3\nLv30URS1rMZf7YK8Fi1ia/27d3OtqOoQFgaMH8+SK36Y5rqYitF6W2ss/HQhBjkN4k5gFeOb098g\ntygXW3ptKXkiJoallI2MBExNuRFX1RAKWRBcQADQs2eJU78mJ+NYWhrOuLjUqORt8vAwNxed79zB\n47ZtxWmuq0UZx+RklhF3xQqulVQtOndmJVV/+aXk83vv7UU9zXoY6DiQG2FVlO8/+x5HHx1FZGpk\nyRMLFrCNFt7wS4+mJovSnDeP/RC8I0soxNL4eAQ0acIb/krgpK2NvvXrY8WzZ3L3pZIyjjNmzIC9\nvT1cXV1x+/btMvtavJiVPf3Ae1TtUMhGixJYu5YFV2ZksMen/zmNRf8uQoB3gNp+uT6cy/Dw8BJu\nw1xiVM8I33X4Dt/9w1ypwsPDgYgI4MoV5tuvpqjrZxO9erEfzJ07ATCdaxIS0M3ICG5qHCOhrvO5\nxMYGO1+8QJycBT7kMv4ikQjTpk1DaGgoIiMjceDAATx69KhEm+DgYMTExODJkyfYtm2buKiLJE6d\nkt51kSvU9QPh4AD06/ffXVPA/gC0sWqDDg3LcQNSMN27d4efn1+p54OCgmBhYYHij0L+y5tLGxsb\n/Pvvv4qWKDXT2k7D/Vf3ER4fjvCwMODbb1lAl1Y5XkAqJj4+HhoaGtDV1YWuri569eoFX19f/PPP\nPyXaBQYGwt3dHXXr1sXYsWNVL1QgYMs+fn5ATg5O/PMPtqSkYHnjxqrXUgnU9btuUacOpltZ4fu4\nOLn6UXqE74kTJzB69GgALMI3MzMTL1++lNjfokVANa7RrHSWLGEXVzcfpeFy4mWs6rJKpeOPGTMG\ne/eW9pPfs2cPRowYAQ0N6T9usq5jKoo6mnWw8vOV+Pbvb0FRj4DsbGDkSKlfTxUULlIkb968QXZ2\nNqZMmQJvb2/069cPuz5wr7SyssLixYsxbtw4leiRiLs7C/xatw5hmZmYZGkJaz6gS2bmWlsjPDMT\nN+QI/FJJGceP25SV4oEP6JIPc3PgyBHg9yfL4GzqjKbGkisBKYs+ffogPT0dFy5cED+XkZGBU6dO\nYdSoUSgoKMCsWbNgZWUFKysrhIaGorCwsFQ/I0eOREJCAnx9faGrq4sff/wRADBo0CBYWFjAwMAA\nnTp1QmTkf2vy6enp8PX1hb6+Ptq2bYtFixahY8eO4vNRUVHw9vaGsbExmjdvjsOHD5f5Pnbu3AlH\nR0dM6jAJSUsTcfPkKbZu/S6gKygoCG5ubtDX14ednR3OnDkDgFWfW7RoETp06ABtbW3ExcXh8uXL\naNOmDQwMDNC2bVtERESIx/njjz9ga2sLPT09NGnSBPv37wcAxMTEoFOnTjAwMICJiQmGDh0q1fxr\na2tjxowZ8Pf3x/z588XP9+vXD3369IGxsbFU/SiN1atx39cX0Xl5mM8HdMmFjqYmjjg5oXG9erJ3\nIo/b0ZEjR+irr74SP96zZw9NmzatRJtevXrRxYsXxY+7dOlCN2/eLNWXra0tAeAP/uAP/uCPShy2\ntrYy2W+5rvylifD9uE1SUhKsJNQ4jXkXuswfVfu4ePEiDAwMUFBQACJC+/btsWHDBhARbG1tERIS\nIm57+vRp2NjYgIgQFhaGBg0aiM/Z2Njg7NmzZY6TkZEBgUCArKwsCIVC1K5dG9HR0eLzixYtwqef\nfgoiwsGDB9GxY8cSr584cSKWLFki1Xvq27cvNm7cKH7dnDlzJLbz8vKCn5+f+PHu3bvh4eFRoo2n\npyf++OMP5ObmwsDAAEePHkVeXl6JNqNGjcLEiRORlJRUrq64uDgIBAKIRKISz+fn50MgEODy5csl\nnl+0aBHGjBnD+WeEPxR7xMTEyGS/5TL+7u7uePLkCeLj41FYWIhDhw6hd+/eJdr07t0bu9857V+5\ncgUGBgYwMzOTZ1geNaZDhw6oX78+jh07htjYWFy/fh3Dh7MC8SkpKWjUqJG4bcOGDZGSkiJVv8XF\nxfjuu+9gZ2cHfX19NG7cGAKBAGlpaUhNTYVQKCy1vPieZ8+e4erVqzA0NBQf+/fvL3PvKSQkBO3a\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\n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\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x53d47f0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.3, Page No. 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average, peak and rms current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(from the waveform)\n",
+ "Ip = 20.0 # Peak current\n",
+ "\n",
+ "#calculations\n",
+ "Iavg = (Ip*1.0)/3.0\n",
+ "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak Current = 20 A\n",
+ "Average Current = 6.667 A\n",
+ "rms Current = 11.547 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.4, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#power BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Vcc =220.0 # collector voltage\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "Rl = 8.0 # load resisotr\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Ic = (Vcc-Vce_sat)/Rl\n",
+ "Ib=Ic/hfe\n",
+ "#(b)\n",
+ "Vbb= Ib*Rb+Vbe\n",
+ "#(c)\n",
+ "Pc = Ic*Vce_sat\n",
+ "Pb = Ib*Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Base current, Ib = 1.825 A\n",
+ "(b) Vbb = 11.65 V\n",
+ "(c) Total power dissipation in BJT = 28.6525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.5, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Load current and losses in BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration(with reference to example 1.4)\n",
+ "Vbb_org = 11.65 # original Vbb\n",
+ "fall =0.85 # 85% fall in original value\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "Vbb = fall* Vbb_org\n",
+ "Ib = (Vbb-Vbe)/Rb\n",
+ "Ic = Ib*hfe\n",
+ "Pc =Ic*Vce_sat\n",
+ "Pb = Ib* Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load current = 1.534 A\n",
+ "Losses in BJT = 24.08 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.6, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power loss in BJT\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(with reference to example 1.4)\n",
+ "Vcc = 240 # New value of collector current\n",
+ "Ic = 27.375 # collector current,from example 1.4\n",
+ "Pb = 1.2775 # base power dissipation,from example 1.4\n",
+ "Rl = 8.0 # load resisotr\n",
+ "\n",
+ "#Calculations\n",
+ "Vce = Vcc-(Ic*Rl)\n",
+ "Pc = Vce* Ic\n",
+ "Pt = Pb+ Pc\n",
+ "\n",
+ "#result\n",
+ "print(\"Total power dissipation = %.4f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total power dissipation = 576.1525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.7, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# BJT switching frequency\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "I = 80 # maximum current, from swiching characteristics\n",
+ "t1 = 40 *10**-6 # rise time, from swiching characteristics\n",
+ "t2 = 60* 10**-6 # falll time, from swiching characteristics\n",
+ "V = 200 # collector-emitter voltage\n",
+ "Pavg =250 # average power loss\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "# switching ON\n",
+ "ic = I/t1\n",
+ "def f(x):\n",
+ " return (ic*x)*(V-(V/t1)*x)\n",
+ "t_lower =0\n",
+ "t_upper = t1\n",
+ "val_on = quad(f,t_lower,t_upper)\n",
+ "\n",
+ "# switching OFF\n",
+ "ic = I-I/t1\n",
+ "Vc = V/t2\n",
+ "def f1(x):\n",
+ " return (I-(I/t2)*x)*(Vc*x)\n",
+ "t_lower =0\n",
+ "t_upper = t2\n",
+ "val_off = quad(f1,t_lower,t_upper)\n",
+ "\n",
+ "loss= val_on[0]+val_off[0]\n",
+ "loss= math.floor(loss*10000)/10000\n",
+ "f =Pavg/loss\n",
+ "\n",
+ "# Result\n",
+ "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+ "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+ "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "Switching frequency = 937.7 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.8, Page No. 20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn ON loss of power transistor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 300 # voltage during start\n",
+ "Imax = 200 # full current after start\n",
+ "t = 1* 10**-6 # starting time \n",
+ "\n",
+ "#calculation\n",
+ "E_loss = Vmax*Imax*t/6 #formula\n",
+ "\n",
+ "#Result\n",
+ "print(\"Energy loss = %.2f Joules\"%E_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Energy loss = 0.01 Joules\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_1_2.ipynb b/Power_Electronics/Power_electronics_ch_1_2.ipynb new file mode 100755 index 00000000..47f33435 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_1_2.ipynb @@ -0,0 +1,449 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1: Power Diodes And Transistors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.1, Page No. 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# stored charge and peak reverse current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2.5*10**-6 # reverese recovery time to diode\n",
+ "di_by_dt = 35*10**6 # di/dt in A/S\n",
+ "\n",
+ "#Calculations\n",
+ "Q= 0.5*(t**2)*di_by_dt\n",
+ "I= math.sqrt(2*Q*di_by_dt)\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Stored charge\n",
+ " Q = 109.375 * 10^-6 C\n",
+ "\n",
+ "(b) Peak reverse current\n",
+ "I = 87.5 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.2, Page No.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Vrrm rating for diode in full wave rectifire\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V= 12 # secondary peak voltage\n",
+ "sf = 1.4 # safety factor\n",
+ "\n",
+ "#calculations\n",
+ "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+ "r = math.sqrt(2)\n",
+ "r = math.floor(r*1000)/1000 \n",
+ "V = 2*r*V # Actual value of Vrrm for each diode\n",
+ "Vrrm= V*sf\n",
+ "\n",
+ "# result\n",
+ "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+ "#Answer in the book for Vrrm rating is wrong\n",
+ "\n",
+ "#%pylab inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "from numpy import arange,sin,pi\n",
+ "%matplotlib inline\n",
+ "#fig -1\n",
+ "t = arange(0.0,4,0.01)\n",
+ "S = sin(math.pi*t)\n",
+ "plt.subplot(411)\n",
+ "plt.title(\"Secondary Voltage\")\n",
+ "plt.plot(t,S)\n",
+ "#fig -2\n",
+ "plt.subplot(412)\n",
+ "plt.title(\"Load Voltage\")\n",
+ "t1 = arange(0.0,1,0.01)\n",
+ "t2 = arange(1.0,2.0,0.01)\n",
+ "t3 = arange(2.0,3.0,0.01)\n",
+ "t4 = arange(3.0,4.0,0.01)\n",
+ "s1 = sin((pi*t1))\n",
+ "s2 = sin((pi*t1))\n",
+ "s3 = sin(pi*t1)\n",
+ "s4 = sin(pi*t1)\n",
+ "\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t3,s3)\n",
+ "plt.plot(t4,s4)\n",
+ "#fig -3\n",
+ "plt.subplot(413)\n",
+ "plt.title(\"Voltage across D1\")\n",
+ "plt.axis([0,4,0,1])\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t3,s3)\n",
+ "#fig -4\n",
+ "plt.subplot(414)\n",
+ "plt.title(\"Voltage across D2\")\n",
+ "plt.axis([0,4,-1,0])\n",
+ "s2 = sin((pi*t1)-pi)\n",
+ "s4 = sin(pi*t1-pi)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t4,s4)\n",
+ "#Result\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\n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\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x53d47f0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.3, Page No. 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average, peak and rms current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(from the waveform)\n",
+ "Ip = 20.0 # Peak current\n",
+ "\n",
+ "#calculations\n",
+ "Iavg = (Ip*1.0)/3.0\n",
+ "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak Current = 20 A\n",
+ "Average Current = 6.667 A\n",
+ "rms Current = 11.547 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.4, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#power BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Vcc =220.0 # collector voltage\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "Rl = 8.0 # load resisotr\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Ic = (Vcc-Vce_sat)/Rl\n",
+ "Ib=Ic/hfe\n",
+ "#(b)\n",
+ "Vbb= Ib*Rb+Vbe\n",
+ "#(c)\n",
+ "Pc = Ic*Vce_sat\n",
+ "Pb = Ib*Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Base current, Ib = 1.825 A\n",
+ "(b) Vbb = 11.65 V\n",
+ "(c) Total power dissipation in BJT = 28.6525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.5, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Load current and losses in BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration(with reference to example 1.4)\n",
+ "Vbb_org = 11.65 # original Vbb\n",
+ "fall =0.85 # 85% fall in original value\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "Vbb = fall* Vbb_org\n",
+ "Ib = (Vbb-Vbe)/Rb\n",
+ "Ic = Ib*hfe\n",
+ "Pc =Ic*Vce_sat\n",
+ "Pb = Ib* Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load current = 1.534 A\n",
+ "Losses in BJT = 24.08 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.6, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power loss in BJT\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(with reference to example 1.4)\n",
+ "Vcc = 240 # New value of collector current\n",
+ "Ic = 27.375 # collector current,from example 1.4\n",
+ "Pb = 1.2775 # base power dissipation,from example 1.4\n",
+ "Rl = 8.0 # load resisotr\n",
+ "\n",
+ "#Calculations\n",
+ "Vce = Vcc-(Ic*Rl)\n",
+ "Pc = Vce* Ic\n",
+ "Pt = Pb+ Pc\n",
+ "\n",
+ "#result\n",
+ "print(\"Total power dissipation = %.4f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total power dissipation = 576.1525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.7, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# BJT switching frequency\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "I = 80 # maximum current, from swiching characteristics\n",
+ "t1 = 40 *10**-6 # rise time, from swiching characteristics\n",
+ "t2 = 60* 10**-6 # falll time, from swiching characteristics\n",
+ "V = 200 # collector-emitter voltage\n",
+ "Pavg =250 # average power loss\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "# switching ON\n",
+ "ic = I/t1\n",
+ "def f(x):\n",
+ " return (ic*x)*(V-(V/t1)*x)\n",
+ "t_lower =0\n",
+ "t_upper = t1\n",
+ "val_on = quad(f,t_lower,t_upper)\n",
+ "\n",
+ "# switching OFF\n",
+ "ic = I-I/t1\n",
+ "Vc = V/t2\n",
+ "def f1(x):\n",
+ " return (I-(I/t2)*x)*(Vc*x)\n",
+ "t_lower =0\n",
+ "t_upper = t2\n",
+ "val_off = quad(f1,t_lower,t_upper)\n",
+ "\n",
+ "loss= val_on[0]+val_off[0]\n",
+ "loss= math.floor(loss*10000)/10000\n",
+ "f =Pavg/loss\n",
+ "\n",
+ "# Result\n",
+ "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+ "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+ "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "Switching frequency = 937.7 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.8, Page No. 20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn ON loss of power transistor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 300 # voltage during start\n",
+ "Imax = 200 # full current after start\n",
+ "t = 1* 10**-6 # starting time \n",
+ "\n",
+ "#calculation\n",
+ "E_loss = Vmax*Imax*t/6 #formula\n",
+ "\n",
+ "#Result\n",
+ "print(\"Energy loss = %.2f Joules\"%E_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Energy loss = 0.01 Joules\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_1_3.ipynb b/Power_Electronics/Power_electronics_ch_1_3.ipynb new file mode 100755 index 00000000..47f33435 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_1_3.ipynb @@ -0,0 +1,449 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1: Power Diodes And Transistors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.1, Page No. 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# stored charge and peak reverse current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2.5*10**-6 # reverese recovery time to diode\n",
+ "di_by_dt = 35*10**6 # di/dt in A/S\n",
+ "\n",
+ "#Calculations\n",
+ "Q= 0.5*(t**2)*di_by_dt\n",
+ "I= math.sqrt(2*Q*di_by_dt)\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Stored charge\n",
+ " Q = 109.375 * 10^-6 C\n",
+ "\n",
+ "(b) Peak reverse current\n",
+ "I = 87.5 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.2, Page No.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Vrrm rating for diode in full wave rectifire\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V= 12 # secondary peak voltage\n",
+ "sf = 1.4 # safety factor\n",
+ "\n",
+ "#calculations\n",
+ "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+ "r = math.sqrt(2)\n",
+ "r = math.floor(r*1000)/1000 \n",
+ "V = 2*r*V # Actual value of Vrrm for each diode\n",
+ "Vrrm= V*sf\n",
+ "\n",
+ "# result\n",
+ "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+ "#Answer in the book for Vrrm rating is wrong\n",
+ "\n",
+ "#%pylab inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "from numpy import arange,sin,pi\n",
+ "%matplotlib inline\n",
+ "#fig -1\n",
+ "t = arange(0.0,4,0.01)\n",
+ "S = sin(math.pi*t)\n",
+ "plt.subplot(411)\n",
+ "plt.title(\"Secondary Voltage\")\n",
+ "plt.plot(t,S)\n",
+ "#fig -2\n",
+ "plt.subplot(412)\n",
+ "plt.title(\"Load Voltage\")\n",
+ "t1 = arange(0.0,1,0.01)\n",
+ "t2 = arange(1.0,2.0,0.01)\n",
+ "t3 = arange(2.0,3.0,0.01)\n",
+ "t4 = arange(3.0,4.0,0.01)\n",
+ "s1 = sin((pi*t1))\n",
+ "s2 = sin((pi*t1))\n",
+ "s3 = sin(pi*t1)\n",
+ "s4 = sin(pi*t1)\n",
+ "\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t3,s3)\n",
+ "plt.plot(t4,s4)\n",
+ "#fig -3\n",
+ "plt.subplot(413)\n",
+ "plt.title(\"Voltage across D1\")\n",
+ "plt.axis([0,4,0,1])\n",
+ "plt.plot(t1,s1)\n",
+ "plt.plot(t3,s3)\n",
+ "#fig -4\n",
+ "plt.subplot(414)\n",
+ "plt.title(\"Voltage across D2\")\n",
+ "plt.axis([0,4,-1,0])\n",
+ "s2 = sin((pi*t1)-pi)\n",
+ "s4 = sin(pi*t1-pi)\n",
+ "plt.plot(t2,s2)\n",
+ "plt.plot(t4,s4)\n",
+ "#Result\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\nEvNw8eJFat26Nenr65O7uztdunSJiIieP39OnTp1In19fTIwMKDOnTvTo0ePiIho3rx5ZGVlRTo6\nOmRra0u//fabRJ329vYkEAhIR0eHtLW1ydTUlHr27Elr164t8fns3LkzCQSCEseSJUsU/ScvQX5+\nPrVt25ZcXV3JwcGBvvvuO4ntuP6uS6NTHb7vRKxyopubG/Xq1Uvi+crOpdzGv7JGqEGDBuWWfTx1\n6hT16NGDiIiuXLlSZtlHZSFNacqwsDDy9fVVqa6POX/+PN26davMeed6Ht9TkU5lzeW8efNozJgx\nUrd//vw53b59m4iIsrOzqWnTpmr32ZRWpzp8PomIcnNziYhl//Xw8KALFy6UOK8O80lUsU51mc91\n69bR8OHDJWqRZS7lXvYZO3YsQkNDyzz/YYTv9OnTkZ2drbCgMGUgTeAawP3mWceOHcutjcD1PL6n\nIp2AYuby8ePHuHfvHogI165dw44dO9CvXz+pX29ubg43NzcAgI6ODhwcHEptRqvDnEqjE+D+8wkA\nWu+ioQsLCyESiUptQKvDfEqjE+B+PpOSkhAcHIyvvvpKohZZ5lJu418ZI2RgYAAAYlHyBoUpA2kC\n19670bm6usLHx6dEsJG6wPU8Soui5jI7OxsDBgyAjo4Ohg4dirlz55byPJOW+Ph43L59Gx4eHiWe\nV7c5LUununw+i4uL4ebmBjMzM3Tu3BmOjo4lzqvLfFakUx3mc/bs2QgICChz70eWuVR66ZwPRQkE\nAmhrayMpKalcd8+Pf9lU6aUgzVitWrVCYmIitLS0EBISgr59+yI6OloF6ioHl/MoLYqay/dux/KS\nk5ODgQMHYuPGjdDR0Sl1Xl3mtDyd6vL51NDQwJ07d/DmzRt069YN4eHh8PLyKtFGHeazIp1cz+fJ\nkydhamqKli1blptvqNJzqYi1qLi4uDLXdD+M8I2IiCAjIyNxhO/KlSvFG6p8hC9/8Ad/8EflD1tb\nW5o0aRIdOHBAbHebNWtGL16UUZDoHUrP5/9hhK+7uzuys7MhEolKBYXFxsZyHil3/jyhc2eClRVh\n0SLC3buE4uKSbT6M4ExNJezYQejUiWBpSfjpJ0J+PvcRfx/rVNejKmhUF52vcl7hm9PfwHC1IQb9\nOQhBUUHILcwtU2ehsBDhceGY/NdkGK42xJdHv0R0WrRKNavzfFYnnbGxsTIF0yrd+H8o6saNG2jS\npAlGjBhRKiiMS5KTgYEDWdLGUaOAuDiWvdfFhWWjLYv69YGxY4HwcODkSeDff1lRleBglUnnqeaI\nikXYdHUTHH91RH5RPu5NuYc/B/2J3s16l1tkvnat2uhk0wmbe21G3Mw4NK/fHJ7bPTH/7/nIK8pT\n4TvgUQWyBNPKveY/bNgwnDt3DmlpabC2tsaSJUtQVFQEgAV7+fj4IDg4GHZ2dtDW1sb+/ftLBXpN\nmjQJkydPlleKTBw4AMycCUyeDOzZA8iaJK9lS+DECeDMGWDKFJZd8+efAQnLxjw8UvEs8xlGHBsB\nAQQ4P+Y8HEwcZOpHv64+Fn22CF+1+gpzTs+B6xZX7Ou/D22t2ipYMQ+XBAYGVu4FpCaoWkpBAdHk\nyUT29kQSkoyWSVhYWIVtsrOJxo4lat6c6F3cjsqRRifXVAWNRNzoDI4OJtMAU1p7cS2JikVSvUZa\nnYcfHiaTtSYUeDWQiiUUVlc2/N9dschqO+W2uBVFw6amplK3bt3I1dWVnJycaOfOnZKFqND4p6cT\nffYZUZ8+RG/eKG+c338nMjUl+ucf5Y3BU/3YELGBLH60oAvPLlTcWEZi0mPI+VdnmnJyChWJipQ2\nDo/y4cT4SxMN6+fnJw6ZTk1NJSMjIyoqKv1hU5XxT0oicnQkmjOHSCTdBZVchIezH4CDB5U/Fk/V\npri4mOadmUcOgQ4UnxGv9PHevH1DXfd0pT4H+lB+Ub7Sx+NRDrLaTqWXcbSwsEDWu1JjWVlZMDY2\nhqam0sMLJJKQAHz2GdvUXbcOqERVwf+3d95RUV1dG38AS+gjKqgoKiBdAYNgLAE1oIKgxl7RoC+x\nYGzBEnsUscVoNBprRMUau4iigp1ggr2gKCgiWEFBqcP+/rhxPpABhhlm7gXOb627FjNz5pxnNjP7\n3nvO2XvLjasrcPo0MHkyUKiyHoNRBCLChBMTcDbxLC6MvICmoqZKH1Ovth6ODjqK2jVqo+funsjK\nU6wgOKNyofQyjqNHj8adO3fQqFEj2NvbY9WqVYoMKTfPnwOdOwPjxwOFKtyphJYtgTNngJkzgZ07\nVTs2Q/gQESadnISY5zE4Pew06mqprtxiLY1a2PntTtTVrIvee3ojJz9HZWMz+EUh5y9LNF5QUBAc\nHBzw/PlzXL9+HePGjUNGRoYiw5abtDTAwwPw8wMmTVLp0BKsrICTJ4EpU4Djx/nRwBAmC84twLkn\n53By6Enof6Gv8vFrqNdASO8QaNXUwrCDwyAuYOmeqwMKzb/IUsbx8uXL+OmnnwAAZmZmaN68OeLi\n4uDk5FSsv3nz5kn+dnNzKxYKLg/Z2YCPD9C1KzB9usLdKYSdHXD4MNCjB3cCcGY77ao9m2I3IeRm\nCC5/dxmiL0S86aihXgOhfULhudMTk09Oxqru/NyhM8omKiqq1DQPMqPIQkNeXh6ZmppSQkIC5eTk\nSF3wnTRpEs2bN4+IiFJTU8nY2JjevHlTrC8FpUiloIBo8GCivn1Vs7grK4cPEzVsSJSo/DU9hoCJ\neBRBRsuMKO51HN9SJKRlpZHNWhtaHb2abykMGZHXdyp05V+4jKNYLIafn1+RiF1/f3/MnDkTI0eO\nhL29PQoKCrB06VKpKVOVQXAw8PAhcO6cahZ3ZcXHB4iPB3r2BC5dArS1+VbEUDXxb+Mx5MAQ7O27\nFxZ1LfiWI0H0hQjHBh1Duy3tYFXPCu5m7nxLYigJtf/OHLyjpqaGipQSHs7N8cfEAP+VTBUURMCI\nEUBuLhAaWnoaCUbVIjM3E203tcW4NuMwps0YvuVI5VziOfTf3x/RftFoXqc533IYpSCv76ySzv/J\nE24+ff9+oGPHCulSKWRlAe3bc/mBAgL4VsNQBUSEIQeG4IsaX2Czz2ZBptn+xMorK7Hj1g5c+u4S\nvqjxBd9yGCUgr+9UeDIkPDwcVlZWaNGiBZYsWSK1TVRUFBwdHWFnZ1chi7ilkZsL9O8P/PijsB0/\nwOUR2r+fSyL3zz98q2Gogo2xG3Hn1R2s9VwraMcPABPbTkRzUXNMOTmFbykMZaDIQoMsEb5paWlk\nY2NDSUlJRMRF+UpDQSkSfvyRyMuLW+ytLOzbR2RqqtxUEwz+ufXiFtVbWo/uv7rPtxSZSctKo+a/\nNqe/7v7FtxRGCcjrO5Ue4RsaGoo+ffpItoDWq1dPkSFL5cwZbv78zz8r1xx6377AN98A48bxrYSh\nLLLzszFw/0Asc18Gy3qWfMuRGdEXIuzqswtjjo9B8vvkst/AqDQoPcL34cOHePv2LTp16gQnJyds\n375dkSFLJC2NW0DdupXLs1/Z+OUXbnF6zx6+lTCUwYzTM2BT3wa+9r58Syk3Lo1dEOAcgBGHR6CA\nCviWw6ggFNrqKcucZV5eHmJjY3HmzBl8/PgRX331Fdq2bYsWLVoUa6tIkNf48UDv3oB7Jd2Zpq0N\n7NjBBYB17Ag0asS3IkZFEZkQiX139+HmmJuCn+cviekdpuP4w+NYG7MWAS5sdwKfVFSQl9IjfJs0\naYJ69epBU1MTmpqa+Prrr3Hjxo0ynX95+Osv4OpV4Pp1ud4uGNq0Afz9uePIkco1dcWQTkZOBr47\n8h02eG+AgaZq4luUQQ31GtjWaxvabW6H7i26w9zAnG9J1ZbPL4znz58vVz8KTfs4OTnh4cOHSExM\nLFaT9xM9e/bExYsXIRaL8fHjR/z999+wsbFRZNgivH7NXfX/+SegVXJVu0rDrFlAUhLwX+VLRiUn\nMCIQnZt1hmcLT76lKIxFXQvM/no2Rh4eyaZ/qgAKOf/CEb6f1+T9FOVrZWWFbt26oVWrVnBxccHo\n0aMr1Pn/8AMwaBDQrl2FdckrtWoBW7ZwW1VTU/lWw1CEqMQoHH1wFCu6ruBbSoUR4BIAIsLvV8uu\nEcsQNpU6yOvECe6q/9atqnHVX5gZM7gUEPv28a2EIQ9ZeVlotb4VVnisgI+lT9lvqETcf30fHbZ0\nQKx/LEz0TfiWU+3hLciLLzIzuULp69dXPccPAHPmcGsYR4/yrYQhDwvPL4RDA4cq5/gBwKqeFX5w\n+QHjwsZVaEoWhmpRSYQvAFy9ehU1atTAgQMHFB0SADBvHrcrprLu7ikLTU3gjz+4O5vMTL7VMMrD\n7Ze3sSF2A1Z3W823FKUxrcM0PE57jAP3Kub3zFA9Ck37iMViWFpa4vTp0zA2NkabNm2wa9cuWFtb\nF2vn7u4OLS0tjBw5En369CkupBy3LjducE7/9m3A0FBe9ZWDYcOABg2AZcv4VsKQhQIqgOufrhhk\nNwhj24zlW45SufDkAgb9NQj3xt2Dbm1dvuVUW3iZ9pElwhcAfvvtN/Tt2xf169dXZDgAQEEBMHYs\nsGhR1Xf8AFdreNs2bl2DIXxCboQgJz8H/l/68y1F6XRs2hEeZh6YGzWXbykMOVB6hG9ycjIOHz6M\nMWO41LWKBrls2waIxVy65uqAoSEwfz6X+oFNrwqbtKw0TD89Heu81kFDXYNvOSphqftS7Li5A7de\nsKuTyobSI3wnTpyI4OBgya1JabcnZUX4pqVxu2COHxdWcRZl87//AZs3c8Xfhw7lWw2jJGZHzkZv\nq974stGXfEtRGfW06mG+23yMCxuHcyPOVdoI5spERUX4KjTnHx0djXnz5iE8PBwAsHjxYqirq2Pa\ntGmSNqamphKH//r1a2hpaWHjxo3FgsFkmbcKCADy8rgdPtWN6GigTx/g/n1Al02vCo4bqTfgscMD\n98bdq9SRvPIgLhCjzcY2mNpuKga3HMy3nGoHL8Vc8vPzYWlpiTNnzqBRo0ZwdnaWuuD7iZEjR8Lb\n2xvffvttcSFlfIBbt4AuXYB794C6deVVXLkZORKoXx9YupRvJYzCEBFc/3TF0FZD8b8v/8e3HF64\n9PQSBuwfgPvj70Onlg7fcqoVvCz4yhLhWxEQcZG8c+dWX8cPAIsXc9G/Dx7wrYRRmD139iAjNwN+\njtVkIUoK7U3aw62ZGxZfWMy3FIaMVIoI37/+4vb1X7sG1FBolaLys2wZV5D+2DG+lTAA4GPeR1it\nscLOb3eiY1OBl45TMsnvk9FqfStcHX0VpnVM+ZZTbRBsGcedO3fC3t4erVq1Qvv27XHz5s1y9Z+d\nzeW5WbWKOX6AuwOKiwNOnuRbCQMAll1ahnZN2lV7xw8AxnrGmNx2Mn6M+JFvKQxZkKv+13/IUsbx\n8uXLlJ6eTkREJ06cIBcXF6l9lSQlOJioZ09FVFY9Dh8msrEhysvjW0n1JuldEhksMaDEtES+pQiG\nj7kfqenKphSVEMW3lGqDvG5c6UFeX331FfT19QEALi4uePbsmcz9v3jBTXMsX66IyqqHtzfQsCGX\n/oHBHzPOzMAYpzFoKmrKtxTBoFlTE0u+WYKJJydCXCDmWw6jFJQe5FWYzZs3w9NT9rzms2cDvr6A\nOasbUQQ1NS7yd8ECID2dbzXVk6vJV3E24Symd5jOtxTB0d+2P7RqaiHkBitKIWQUcv7lCeiIjIzE\nli1bSk3+Vphbt4BDh7jiJozi2NtzdwBBQXwrqX4QESafmowFbgvYtkYpqKmp4RePXzArchYyc1lW\nQqGi9DKOAHDz5k2MHj0a4eHhqFOnTon9FY7wPX7cDbNmuaGU5tWen38GWrbkUls3b863murDwfsH\n8T7nPUY4jOBbimBxaewC16auWH55Oea5zeNbTpWioiJ8FVrwzcvLI1NTU0pISKCcnBypC75Pnjwh\nMzMzunLlSql9FZYSHk5kYUGUm6uIuurBggVEAwbwraL6kJOfQ+arzSniUQTfUgRPYloiGSwxoOT3\nyXxLqdLI68aVHuS1YMECpKWlYcyYMXB0dISzs3OpfYrFwNSpwJIlQM2aiqirHkyeDFy8yKV/YCif\ndVfXwdzAHN+YfsO3FMHTVNQUo1uPxuyzs/mWwpCC4IK8Nm0Ctm8HoqK4hU1G2WzdyiV+u3CB2UyZ\npGWlwXKNJc76noWdoR3fcioF77LfwWKNBSKGRaCVUSu+5VRJqkQZxw8fuBQOy5czJ1Yehg8HMjKA\nCiqSxiiBoAtB6GXVizn+cqD/hT5mdZzFAr8EiErKOE6YMAEtWrSAvb09rl27VmJfK1YAX38NtGmj\nqKrqhYYGFw8xfTqX9bSyEhUVVWTrsJBITE/ElutbMN9tPt9SKh3+Tv5ISEvAqUen+JbCKIRCzl8s\nFmP8+PEIDw/H3bt3sWvXLty7d69Im7CwMMTHx+Phw4fYsGGDpKiLNFatEv7WxQpZZVcCHh6Aqen/\nB37xpbNbt26YO7d4ZafDhw+jYcOGKCgokDxXlsZmzZrh7NmzFS2x3ERFReGnsz8hwDkADXUb8i2n\nCImJiVBXV4euri60tLTQoEEDeHt74/Tp05I2ubm58PPzQ7NmzaCnpwdHR0dJGnZVUEujFhZ3WYzA\niECIC8SC/Q19TmXRKS9Kj/A9cuQIfH19AXARvunp6Xjx4oXU/kaMEP6WRSF/IZYtAxYuBN6940/n\niBEjsGPHjmLPb9++HUOHDoV6oSo8ZWmUdy6zogk9GorIhEhMbTe1XO+jMooXVSTv3r1DYGAgbt68\nCXd3d/Tu3Rvbtm0DwKVeNzExwfnz5/H+/XssXLgQ/fv3x5MnT1SiDQC+tf4W2rW0sePmDkH/hgpT\nWXTKi0rKOH7epqQUDz/9pIgaRqtWwLRp/Eb99uzZE2/evMGFCxckz6WlpeH48eMYPnw4cnJyMHHi\nRBgbG+OXX37BpEmTkJubW6yfYcOG4enTp/D29oauri6W/5fjo1+/fmjYsCFEIhFcXV1x9+5dyXve\nvHkDb29v6Ovrw9nZGbNmzULHjv+fcO3+/ftwd3dH3bp1YWVlhX379pX4ObZu3QobGxvo6elh6/qt\n6Pymc5GArsOHD8PBwQH6+vowNzfHqVPclIabmxtmzZqF9u3bQ1tbGwkJCbh8+TLatGkDkUgEZ2dn\nXLlyRdLPn3/+CTMzM+jp6cHU1BShoaEAgPj4eLi6ukIkEqF+/foYOHCgTPY3NDTEhAkTMG/ePElR\nJS0tLcydOxcmJiYAAC8vLzRv3hyxsbEy9VkRfAr8ql2jtsrGZJSOSiJ8P7/6Kel9BtWrAJJSmDQJ\naMpjqhlNTU30798fISH/H9q/d+9eWFtbo2XLlli0aBFiYmJw48YNfP/994iJicHChQuL9bN9+3aY\nmJjg2LFjyMjIwNSp3FW3l5cX4uPj8erVK7Ru3RpDhgyRvGfcuHHQ1dXFixcvsG3bNoSEhEi+ax8+\nfIC7uzuGDh2KV69eYffu3Rg7dmyxacpPGBkZ4fjx4zhx+wS0Wmrh4KqDkvWqmJgY+Pr6YsWKFXj3\n7h3Onz+PpoWMvmPHDmzatAmZmZnQ1taGl5cXJk6ciLdv32Ly5Mnw8vJCWloaPnz4gB9++AHh4eF4\n//49rly5AgcHBwDA7Nmz0a1bN6SnpyM5ORkTJkwo1/+hd+/eePnyJeLi4oq99uLFCzx48AC2trbl\n6lNRXBq7YKCdbCcxhgpQJLjgypUr1LVrV8njoKAgCg4OLtLG39+fdu3aJXlsaWlJqampxfoyMzMj\nAOxgBzvYwY5yHGZmZnL5b6VH+B4/fpy6d+9ORNzJoqSUzoyqhbm5Oe3evZvi4+OpZs2a9PLlSyIi\n0tTULPIduXfvHtWqVYuIiCIjI6lx48aS15o1a0ZnzpyRPBaLxTRt2jQyMzMjPT09EolEpK6uTo8f\nP6aUlBRSU1OjrKwsSfv169dThw4diIhoyZIlVKtWLRKJRJJDR0eHxo4dK1V/WFgYubi4kIGBAYlE\nIqpVqxbNmTOHiIg8PT1p7dq1Ut/n5uZGmzZtkjwODg6mfv36FWkzcOBACgoKIiKikydPkru7O4lE\nIvLy8qL79+8TEVFqaiqNHj2aGjVqRLa2trRlyxap4yUkJJCamhqJxeIiz8fHx5Oampqkv0/2GzBg\nAHl5eVF+fr7U/hjVB6VH+Hp6esLU1BTm5ubw9/fH77//rsiQjErC8OHDERISgh07dqBbt26oX78+\nAKBRo0ZITEyUtHv69CkaNWoktY/Ppwd37tyJI0eO4MyZM3j37h0SEhIki6r169dHjRo1iuWa+oSJ\niQlcXV2RlpYmOTIyMrB27dpi4+bk5KBPnz4IDAzEy5cvkZaWBk9PT8n0ZZMmTRAfH1/iZy+s29jY\nuNjC6pMnT2BsbAwA8PDwwKlTp5CamgorKyuMHj0aADfttGHDBiQnJ+OPP/7A2LFj8fjx4xLH/JyD\nBw/CyMgIlpaWAAAigp+fH169eoW//voLGhoaMvfFqKLwe+5hVFUSExOpZs2a1LhxY9q/f7/k+Vmz\nZlG7du3o1atX9OrVK2rfvj3Nnj2biIpf+bdt25Y2bNggefz777+Tg4MDvX//njIzM2nMmDGkpqZG\njx49IiKiAQMG0ODBg+njx4907949MjExoY4dOxIR0fv376lp06a0fft2ys3NpdzcXIqJiaF79+4V\n0/7+/XvS0NCgc+fOUUFBAYWFhZGWlpZEZ0xMDIlEIjpz5gyJxWJ69uyZ5Ar78yv/N2/ekEgkotDQ\nUMrLy6Pdu3dTnTp16M2bN/TixQs6dOgQZWZmklgspjlz5pCbmxsREe3du5eSkpKIiOj27dukqalJ\nCQkJxbR+uvL/dCWfmppKv/32G+nq6tLWrVsl7fz9/alt27aUmZkp43+QUdVRufM/ceIEWVpakrm5\nebH1gU8EBASQubk5tWrVimJjY1WssGyNkZGRpKenRw4ODuTg4EA///yzyjWOHDmSDA0Nyc7OrsQ2\nfNvRzc2NateuTfXr15fozM7OpgkTJlDDhg2pYcOG1KdPH9LV1SUHBwcyMzMjfX19yfsPHz5MJiYm\nJBKJaMWKFZSZmUk9e/YkXV1datasGYWEhJC6urrE+b969Yq8vLxIT0+PnJ2dadq0adSlSxdJf3Fx\nceTl5UX169enunXrUpcuXejGjRtERPT06VNyc3MjGxsbsrW1pb59+5KRkRGJRCIaNmwYDRo0iGbP\nni2xadOmTalFixakq6tL5ubmdOrUKcln3rx5cxE7XLx4kb788kvS19cnJycnunTpEhERpaSkkKur\nK+nr65NIJKJOnTpJTkaBgYFkbGxMOjo6ZGZmRhs3bpSqc86cOaSmpkY6Ojqkra1NhoaG1LZtW9LS\n0pJ8P6dMmUJqamqkqalJOjo6kiM0NFQZ/3YiIsrKyiJnZ2eyt7cna2trmj59utR2fH9HZdEphN87\nEVc50cHBgXr06CH19fLaUmHnX15n3rhx41LLPhZeI4iOjlb5GoEspSkjIyPJ29tbpbo+5/z58xQb\nG1ui8+fbjp8oS6cybRkYGEgjRoyQqW1KSgpdu3aNiIgyMjLIwsJCcN9NWXUK4ftJRPThwwci4tYG\nXVxc6MKFC0VeF4I9icrWKRR7rlixggYPHixVizy2VGmEb0BAADIyMiosKEwZyBK4BoD34KOOHTuW\nWhuBbzt+oiydQMXZMi4uDjdv3gQRISYmBlu2bEHv3r1lem+DBg0k2yx1dHRgbW2N58+fF2kjBJvK\nohPg//sJcPEFABdhLBaLYfDZXm4h2FMWnQD/9nz27BnCwsIwatQoqVrksaVKI3xFIhEASEQpLZun\nMgAAF0pJREFUGhSmDGQJXFNTU8Ply5dhb28PT0/PIoFGQoFvO8pKRdoyIyMDffr0gY6ODgYOHIip\nU6fCx8en3P0kJibi2rVrcHFxKfK80Gxakk6hfD8LCgrg4OAAIyMjdOrUCTY2NkVeF4o9y9IpBHtO\nmjQJy5YtKxIhXxh5bKlQJS9pA/79998ltlFTU4O2tjaePXsGIyOjEvv9/MxWnnKRiiLLWK1bt0ZS\nUhK0tLRw4sQJ9OrVCw8ePFCBuvLBpx1lpSJt6eTkhIcPHyqkJzMzE3379sWqVaugo1O8RKNQbFqa\nTqF8P9XV1XH9+nW8e/cOXbt2RVRUFNzc3Iq0EYI9y9LJtz2PHTsGQ0NDODo6lppyoty2VGQOav/+\n/TRq1CjJ4+3bt9P48eOLtOnRowddvHiRiLh9/gYGBvTvv/8SUdGgMBbkxQ52sIMd5T/MzMxkDqYt\njELTPrLU8C3cxsnJCRkZGRCLxcjNzcWePXskt+WPHj2S7NkW8jF37lzeNZR1hIQQjI3noqCAfy2V\n2ZZv3hAGDSLMni1snZXFnkSE99nvoe2ujdjnsbxrqez2/OnMT4hOisajR4/g4+MjSakSHR0NkUhU\n6uwKoOCc/6fb7MTExGLO/BOFRf3zzz8wNTXF0KFDiwWFMSqOIUO4cpj79/OtpHKzcCGgrw+UMM3K\nkAPd2rpwbeqKwNOBICK+5VRa7ry8gw3/boBFXQsA8gXTKjTnXzjCVywWw8/Pr4gz9/f3h6enJ8LC\nwmBubg5tbW2EhoaidevWRfrx9/fH999/r4gURiHU1QF3d2DGDKBnT6BWLb4VVT4ePwZCQoA7d4B1\n6/hWU7Vo3bA19r7bi5OPTqKbeTe+5VRKAk8HYkaHGaij+f876dasWVO+TkggCEhKqURGRvItQSYi\nIyOpe3eiX3/lW0nJCNmWAwYQLVjA/S1knYWpTDoP3jtIdr/bUb5YuDmGhGrPM4/PUPNfm1N2XjYR\nye87BVfAnVFx3L4NdOkCxMUB/+2yZchATAzQuzfw4AGgrc23mqoJEcH1T1f42vvCr7Uf33IqDQVU\nAKcNTpjWfhoG2A0AwFMB97dv38Ld3R0WFhbw8PBAupQqIklJSejUqRNsbW1hZ2eH1atXKzIkoxzY\n2QE+PsIvjSkkiICpU4EFC5jjVyZqampY7rEcc6Lm4EPuB77lVBpCb4WipkZN9Lftr3BfCjn/4OBg\nuLu748GDB+jSpQuCg4OLtalZsyZWrlyJO3fuIDo6GmvXri2xgAaj4lmwANi8GSiUSJNRCocOcZXQ\nRozgW0nVx9nYGR1NOmL55eV8S6kUZOVl4aezP2GFx4oKiYdQyPkXjt719fXFoUOHirWRNRydoRwa\nNgQCArjFX0bp5OYCgYFcLWSW8Vg1LO6yGKtjViMlI4VvKYLn1+hf8WXDL9HBpEOF9KfQnH+dOnWQ\nlpYGgJvDMzAwkDyWRmJiIlxdXXHnzp1iUYlszl95fPgAWFgABw4An2UCYBRi1SrgxAkgPJxvJdWL\nwIhAvM16i00+m/iWIlhefngJm7U2iB4VDXMD8yKvyes7y9zq6e7ujtTU1GLPL1q0qJiA0m5Fygqb\nB4B58+ZJ/nZzcysWCs6QD21tbs/65MnAxYuAALM88E5aGrBoEXD2LN9Kqh8zO86E5RpL3Ei9AfsG\n9nzLESRzI+diWKthMDcwR1RUVKlpHmRFoSt/KysrREVFoUGDBkhJSUGnTp1w//79Yu3y8vLQo0cP\ndO/eHRMnTpQuhF35KxWxGHByAmbOBPr141uN8Jg8mbtDYvGG/LA2Zi0O3j+IiGERgsxBxSe3X95G\n522dcX/8fRhoFs84ystuHx8fH2zbtg0AsG3bNvTq1atYGyKufJyNjU2Jjp+hfDQ0gF9+4ea0s7P5\nViMsHj7kAroWLOBbSfXF38kfzzOe49iDY3xLERREhCmnpmDW17OkOn5FO5ebN2/eUJcuXahFixbk\n7u5OaWlpRESUnJxMnp6eRER04cIFUlNTI3t7e0klnBMnThTrS0EpDBnp1Yvov9rhjP/w8SFasoRv\nFYywB2Fk8ZsF5eTn8C1FMByLO0aWv1lSbn5uiW3k9Z0syKua8egRt+h76xa3E6i6c/o04O8P3L0L\n1K7NtxpG953d4WHqgUlfTeJbCu/kinPRcl1L/OLxC7wsvEpsp/JpH1kCvD4hFovh6OgIb29veYdj\nVBBmZsB333Fz/9Wd/Hxg4kRg+XLm+IXCyq4rEXQxCC8/vORbCu+siVmD5qLm8GzhqZT+5Xb+sgR4\nfWLVqlWwsbFhCzkCYdYs4ORJLo1BdWbdOqBBA0DKUhWDJ6zqWWFoy6GYdXYW31J45eWHlwi6EISV\nXVcqzW/K7fxlCfACyq49yVA9enpcyoeAAKCggG81/PD6NfDzz9zefnZNIizmus3Fkbgj+Pf5v3xL\n4Y2ZZ2bC194X1vWtlTaG3M7/xYsXkmIBRkZGJRYLLqv2JIMfhg/nnN5/m7WqHTNnAoMGAba2fCth\nfI7oCxEWdV6EgBMBKKDqd3USkxyDsIdhmOM6R6njlOqR3d3d0bJly2LHkSNHirQrKcCrcO1JdtUv\nLNTVgTVruLQPpQRlV0muXgWOHgXmz+dbCaMkRjqOhJjECLkRwrcUlSIuEGN82Hgs7rIY+l/oK3Ws\nUiN8IyIiSnzNyMgIqampkgAvQ0PDYm0uX76MI0eOICwsDNnZ2Xj//j2GDx8uqez1OSzCV7U4OXGp\ni2fNAtau5VuNahCLgbFjgSVLWJprIaOupo61nmvRI7QHelr2LFK0pCqz+dpm1NKoheH2w0tsw3uE\nb2BgIOrWrYtp06YhODgY6enppS76njt3DsuXL8fRo0elC2FbPXnh7VvAxgY4fhz48ku+1SifdeuA\n0FDg/Hk2118ZGHt8LIgI63pU/XJqLz+8hN3vdogYFlGuNBcq3+o5ffp0REREwMLCAmfPnsX06dMB\nAM+fP4eXl/Q9qWy3j/AwMACCg4Hvv+euiqsyqanA3LncCYB9FSsHizovwqG4Q/j72d98S1E6P0b8\niKGthqosvxEL8mKACOjUCfj2W2DCBL7VKI/BgwETE+5kx6g8hN4KxZJLS/DP6H9QU6Mm33KUQmRC\nJHwP+eLuuLvQqSU98WVJ8JLbh1E1UFMD1q/nctskJfGtRjmcOAH8/TcwR7kbKBhKYJDdIDTQaYCV\n0Sv5lqIUsvKy4H/MH2s915bb8SuC0iN809PT0bdvX1hbW8PGxgbR0dFyi2UoDysr7qp/zBjuTqAq\nkZHBfa516wAtLb7VMMqLmpoa1nmtw9JLSxH/Np5vORXOz+d/hn0De3hbqjYDgtIjfH/44Qd4enri\n3r17uHnzJqytlRe0wFCM6dOBJ0+4BdGqxMyZgJsb4OHBtxKGvJjWMcWMDjMw6sioKrX3/1rKNWyK\n3YTfuv+m8rHlnvO3srLCuXPnJFs+3dzciuXyf/fuHRwdHfH48eOyhbA5f0Fw9SrQowdw8ybwXwxf\npeb8eS6Y69YtbnGbUXkRF4jRfkt7DLcfjrFtxvItR2Fyxblw3uiMyV9NLnVrZ1mofM5flgjfhIQE\n1K9fHyNHjkTr1q0xevRofPz4Ud4hGSqgTRvAz4/b/VPZz8WZmVwSu3XrmOOvCmioa2Brz62YEzkH\nj9PKvqAUOovOL0IT/SYY1moYL+OXGuSlaAnH/Px8xMbGYs2aNWjTpg0mTpyI4OBgLCihagYL8hIG\nc+dyJ4GQEOC/9E2Vkh9/BDp0AHx8+FbCqCis61tjRocZ8D3kiyjfKGioa/AtSS5ikmOw/t/1uO5/\nvdxb4CsqyEvuCiqWlpaUkpJCRETPnz8nS0vLYm1SUlKoWbNmkscXLlwgLy8vqf0pIIWhBK5fJ6pX\nj+jxY76VyMexY0RNmxKlp/OthFHR5IvzyXWrKy2+sJhvKXKRmZNJFr9Z0J7beyqkP3l9p9zTPrKU\ncGzQoAGaNGmCBw8eAABOnz4NW5ZJq1Jgb88tAA8ZwuW9r0ykpACjRnF3LvrKTY/C4AENdQ2E9A7B\nyuiVuJp8lW855WZi+ES0bdwW/W378ytE3rONLCUciYiuX79OTk5O1KpVK+rduzell3AppoAUhpIQ\ni4k8PIh++olvJbIjFhN98w3R7Nl8K2Eom3139pHZKjNKz6o8t3e7b+0m89Xm9D77fYX1Ka/vZBG+\njFJ58QJo3RrYurVybJVcuBA4dQo4exaoUeqKFqMqMObYGLzOeo29ffcKPn3MwzcP0W5LO4QPCceX\njSoukRaL8GUoBSMjbt//8OHA06d8qymd06eB338Hdu9mjr+6sLLbSjxOe4xVf6/iW0qpfMj9gL77\n+mK+2/wKdfyKoPQI38WLF8PW1hYtW7bE4MGDkZOTI7dYBj+4ugJTp3K5f7Ky+FYjnYQEYOhQ7kTV\nqBHfahiq4osaX2B/v/1YfHExohKj+JYjFSLC6KOjYW9kjzFOY/iWI0GpEb6JiYnYuHEjYmNjcevW\nLYjFYuzevVshwQx+mDIFsLDgFlKFNjuXkQH07Pn/kbyM6kXzOs2x89udGLh/oCD3/y+5tAQP3jzA\nHz3+ENTUlFJr+Orp6aFmzZr4+PEj8vPz8fHjRxgbG8uvlsEbamrApk3Aw4fCqoCVnw8MHAi0bcvV\nJGZUT74x/Qazvp6FHqE9kJYlnNJ0++/ux9qra3F44GFo1tTkW04RlBrha2BggClTpsDExASNGjWC\nSCTCN998I79aBq9oaXHlD0NCuBMB3xBxCdvy87lKZAK6qGLwwHjn8fAw80CvPb2QnZ/Ntxycf3Ie\nY4+PxdFBR2GsJ7yLXqVG+D569Ai//vorEhMToa+vj379+mHnzp0YMmSI1PFYhK/wMTICwsO5dYA6\ndYA+ffjRQcTFIVy/zu3sqVk107wzyskvXX/BkAND0H9ff/zV/y/e8v/HpsSi796+CO0TCocGDhXa\nd6WI8N29ezf5+flJHoeEhNDYsWOl9qeAFAYPXLtGZGhIdOiQ6scuKOD28dvZEb1+rfrxGcImJz+H\nvEO9qc+ePpSbn6vy8a+lXCOjZUZ04O4BlYwnr+9UaoSvlZUVoqOjkZWVBSLC6dOnYWNjI++QDAHh\n4ACEhQH/+x+wZ4/qxiUCpk0DDh4EzpwB6tZV3diMykEtjVrY128fsvOz0XdfX5VOAf397G903dEV\nazzXoLd1b5WNKxfynm1kjfBdsmQJ2djYkJ2dHQ0fPpxyc6WfiRWQwuCRGzeIjI2JVq7krsiVSU4O\nka8vkbMzu+JnlE1Ofg4N2DeAOm7pSK8/KP8LcyzuGNVbWo+Oxh1V+liFkdd3sghfhsIkJnI1ANq1\nA377Dahdu+LHePEC6NePW2cIDQW0tSt+DEbVo4AKMC1iGg7FHcLBAQdhZ2hX4WMQEZZfXo6V0Stx\nYMABtG3ctsLHKA2VR/ju27cPtra20NDQQGxsbIntwsPDYWVlhRYtWmDJkiXyDscQMM2aAZcvA2/e\ncCeAuLiK7T8igksx4ebGTfcwx8+QFXU1dSzzWIbZX89Gp22dsPHfjRV6kfnqwyv02tMLe+/uRfSo\naJU7foWQ91bj3r17FBcXR25ubvTvv/9KbZOfn09mZmaUkJBAubm5ZG9vT3fv3pXaVgEpKiUyMpJv\nCTLBh86CAqK1a4nq1iUKCiLKzi69fVkaX70i8vMjatyYKCKi4nSWF/Y/r1j40nn7xW1yWO9AXbd3\npYdvHpbZvjSdBQUFFHI9hIyWGdGPp36knPycClRaPuT1nXJf+VtZWcHCwqLUNjExMTA3N0ezZs1Q\ns2ZNDBw4EIcPH5Z3SEFQIVusVAAfOtXUgLFjuVKQV64A1tbAn38CubnS25ekMS2NS9Bmbc1d5d+5\nA/AZHsL+5xULXzptDW0RMyoGnZt3RttNbREQFoCn70pOWCVNZwEVIOxhGFw2uWDV36twZNARLHVf\niloatZSoXDkoNbFbcnIymjRpInncuHFjJCcnK3NIhgBo3hw4coTLBLpzJ9C0KZce4vx5oKTUTu/e\nce/x9QVMTblI4kuXgFWrAD091epnVF1qatREYPtA3B13F7Vr1IbDegf03N0TO27uQGpm8ZgmgKsd\nHJsSi5/P/QyrNVaYeWYmpnw1BTGjY+Bs7KziT1BxyBXkFRQUBG9v7zI7F1IeC4bqcXXljvv3gV27\ngMmTgbt3uTWChg25LKGRkUBSEreg27YtV3Jx6dKqUTyeIVwMtQ2x3GM55rrOxYF7B7D/7n4EnAiA\nZg1NmNYxhV5tPcTdiMOh9YcQ/zYeTfSboKtZV2zrtQ1tG7etGr5N0fmm0ub8r1y5Ql27dpU8DgoK\nouDgYKltzczMCAA72MEOdrCjHIeZmZlcvrtCsp5TCavnTk5OePjwIRITE9GoUSPs2bMHu3btkto2\nPj6+IqQwGAwGQwbknvM/ePAgmjRpgujoaHh5eaF79+4AgOfPn8PLywsAUKNGDaxZswZdu3aFjY0N\nBgwYAGtr64pRzmAwGAy5EUyQF4PBYDBUh8rLOMoS9DVhwgS0aNEC9vb2uHbtmooVlq0xKioK+vr6\ncHR0hKOjIxYuXKhyjd999x2MjIzQsmXLEtvwbUegbJ1CsCUAJCUloVOnTrC1tYWdnR1Wr14ttR3f\nNpVFpxBsmp2dDRcXFzg4OMDGxgYzZsyQ2o5ve8qiUwj2BACxWAxHR8cSN9uU25ZyrRTIiSxBX8eP\nH6fu3bsTEVF0dDS5uLioUqJMGiMjI8nb21uluj7n/PnzFBsbS3Z2dlJf59uOnyhLpxBsSUSUkpJC\n165dIyKijIwMsrCwENx3U1adQrHphw8fiIgoLy+PXFxc6MKFC0VeF4I9icrWKRR7rlixggYPHixV\nizy2VOmVvyxBX4UrhLm4uCA9PV1qoRg+NQIlL3Krio4dO6JOnTolvs63HT9Rlk6Af1sCQIMGDeDg\nwOVd19HRgbW1NZ4/f16kjRBsKotOQBg21dLSAgDk5uZCLBbDwMCgyOtCsKcsOgH+7fns2TOEhYVh\n1KhRUrXIY0uVOn9Zgr6ktXn27JmgNKqpqeHy5cuwt7eHp6cn7t69qzJ9ssK3HWVFiLZMTEzEtWvX\n4OLiUuR5odm0JJ1CsWlBQQEcHBxgZGSETp06FUvnLhR7lqVTCPacNGkSli1bBnV16S5bHluq1PnL\nGhjx+ZlNlQEVsozVunVrJCUl4caNGwgICJBay0AI8GlHWRGaLTMzM9G3b1+sWrUKOjo6xV4Xik1L\n0ykUm6qrq+P69et49uwZzp8/LzVdghDsWZZOvu157NgxGBoawtHRsdQ7kPLaUqXO39jYGElJSZLH\nSUlJaNy4caltnj17ptKi77Jo1NXVldwqdu/eHXl5eXj79q3KNMoC33aUFSHZMi8vD3369MHQoUOl\n/sCFYtOydArJpgCgr68PLy8v/PPPP0WeF4o9P1GSTr7tefnyZRw5cgTNmzfHoEGDcPbsWQwfPrxI\nG3lsqVLnXzjoKzc3F3v27IGPj0+RNj4+PggJCQEAREdHQyQSSQrFC0XjixcvJGfZmJgYEJHUeUI+\n4duOsiIUWxIR/Pz8YGNjg4kTJ0ptIwSbyqJTCDZ9/fo10tPTAQBZWVmIiIiAo6NjkTZCsKcsOvm2\nZ1BQEJKSkpCQkIDdu3ejc+fOErt9Qh5bVkiEr6wUDvoSi8Xw8/ODtbU1/vjjDwCAv78/PD09ERYW\nBnNzc2hra2Pr1q2qlCiTxv3792PdunWoUaMGtLS0sHv3bpVqBIBBgwbh3LlzeP36NZo0aYL58+cj\nLy9PopFvO8qqUwi2BIBLly5hx44daNWqleTHHxQUhKdPn0q0CsGmsugUgk1TUlLg6+uLgoICFBQU\nYNiwYejSpYugfuuy6hSCPQvzaTpHUVuyIC8Gg8Gohqg8yIvBYDAY/MOcP4PBYFRDmPNnMBiMaghz\n/gwGg1ENYc6fwWAwqiHM+TMYDEY1hDl/BoPBqIYw589gMBjVkP8DYQvKpBZyZSsAAAAASUVORK5C\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x53d47f0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.3, Page No. 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average, peak and rms current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(from the waveform)\n",
+ "Ip = 20.0 # Peak current\n",
+ "\n",
+ "#calculations\n",
+ "Iavg = (Ip*1.0)/3.0\n",
+ "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak Current = 20 A\n",
+ "Average Current = 6.667 A\n",
+ "rms Current = 11.547 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.4, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#power BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Vcc =220.0 # collector voltage\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "Rl = 8.0 # load resisotr\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Ic = (Vcc-Vce_sat)/Rl\n",
+ "Ib=Ic/hfe\n",
+ "#(b)\n",
+ "Vbb= Ib*Rb+Vbe\n",
+ "#(c)\n",
+ "Pc = Ic*Vce_sat\n",
+ "Pb = Ib*Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Base current, Ib = 1.825 A\n",
+ "(b) Vbb = 11.65 V\n",
+ "(c) Total power dissipation in BJT = 28.6525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.5, Page No. 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Load current and losses in BJT\n",
+ "\n",
+ "import math\n",
+ "# variable declaration(with reference to example 1.4)\n",
+ "Vbb_org = 11.65 # original Vbb\n",
+ "fall =0.85 # 85% fall in original value\n",
+ "Vce_sat = 1.0 # Vce saturation voltage\n",
+ "Rb =6.0 # base resisror\n",
+ "hfe = 15.0 # gain\n",
+ "Vbe = 0.7 # base-emiter voltage drop\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "Vbb = fall* Vbb_org\n",
+ "Ib = (Vbb-Vbe)/Rb\n",
+ "Ic = Ib*hfe\n",
+ "Pc =Ic*Vce_sat\n",
+ "Pb = Ib* Vbe\n",
+ "Pt = Pc+Pb\n",
+ "\n",
+ "#Result\n",
+ "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load current = 1.534 A\n",
+ "Losses in BJT = 24.08 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.6, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power loss in BJT\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(with reference to example 1.4)\n",
+ "Vcc = 240 # New value of collector current\n",
+ "Ic = 27.375 # collector current,from example 1.4\n",
+ "Pb = 1.2775 # base power dissipation,from example 1.4\n",
+ "Rl = 8.0 # load resisotr\n",
+ "\n",
+ "#Calculations\n",
+ "Vce = Vcc-(Ic*Rl)\n",
+ "Pc = Vce* Ic\n",
+ "Pt = Pb+ Pc\n",
+ "\n",
+ "#result\n",
+ "print(\"Total power dissipation = %.4f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total power dissipation = 576.1525 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.7, Page No. 19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# BJT switching frequency\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "I = 80 # maximum current, from swiching characteristics\n",
+ "t1 = 40 *10**-6 # rise time, from swiching characteristics\n",
+ "t2 = 60* 10**-6 # falll time, from swiching characteristics\n",
+ "V = 200 # collector-emitter voltage\n",
+ "Pavg =250 # average power loss\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "# switching ON\n",
+ "ic = I/t1\n",
+ "def f(x):\n",
+ " return (ic*x)*(V-(V/t1)*x)\n",
+ "t_lower =0\n",
+ "t_upper = t1\n",
+ "val_on = quad(f,t_lower,t_upper)\n",
+ "\n",
+ "# switching OFF\n",
+ "ic = I-I/t1\n",
+ "Vc = V/t2\n",
+ "def f1(x):\n",
+ " return (I-(I/t2)*x)*(Vc*x)\n",
+ "t_lower =0\n",
+ "t_upper = t2\n",
+ "val_off = quad(f1,t_lower,t_upper)\n",
+ "\n",
+ "loss= val_on[0]+val_off[0]\n",
+ "loss= math.floor(loss*10000)/10000\n",
+ "f =Pavg/loss\n",
+ "\n",
+ "# Result\n",
+ "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+ "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+ "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "Switching frequency = 937.7 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 1.8, Page No. 20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn ON loss of power transistor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 300 # voltage during start\n",
+ "Imax = 200 # full current after start\n",
+ "t = 1* 10**-6 # starting time \n",
+ "\n",
+ "#calculation\n",
+ "E_loss = Vmax*Imax*t/6 #formula\n",
+ "\n",
+ "#Result\n",
+ "print(\"Energy loss = %.2f Joules\"%E_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Energy loss = 0.01 Joules\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_2_1.ipynb b/Power_Electronics/Power_electronics_ch_2_1.ipynb new file mode 100755 index 00000000..6e52e316 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_2_1.ipynb @@ -0,0 +1,2357 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.1, Page No.39 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Anode current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa_1 = 0.35 # Gain of PNP transistor of two transistor model\n",
+ "alfa_2 = 0.40 # Gain of NPN transistor of two transistor model\n",
+ "Ig = 40*10**-3 # Gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Anode current = 64 * 10^-3 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.2, Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Equivalent capacitor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "dv_by_dt = 190 # in Volt per micro-sec\n",
+ "Ic= 8 *10**-3 # Capacitive current\n",
+ "\n",
+ "#Calculation\n",
+ "C = Ic/(dv_by_dt*10**6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 42.1 * 10^12 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.3, Page No. 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vt = 0.75 # Thyristor trigger voltage\n",
+ "It = 7*10**-3 # Thyristor trigger current\n",
+ "Vcc = 20 # Suppy voltage, given data\n",
+ "Rg = 2000 # gate resistor, given data\n",
+ "R = 200 # input resistor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "V0 = 20 # when thyristor is not conducting, there is no current through it.\n",
+ "#(b)\n",
+ "Vs = Vt+It*Rg\n",
+ "#(c)\n",
+ "i= 5*10**-3 #to have holding curernt\n",
+ "v1= i*R\n",
+ "#(d)\n",
+ "drop =0.7 # voltage drop across thyristor\n",
+ "v2=v1+drop\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) V0 = 20\n",
+ "(b) Vs = 14.75\n",
+ "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+ "(d) Vcc should be reduced to less than 1.7 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.4, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# calculation of Vg,Ig and Rg\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 25 # gate signal amplitude\n",
+ "Pavg_loss = 0.6 # Avg power loss\n",
+ "\n",
+ "#Calculations\n",
+ "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Vg = 1+9*Ig #given data\n",
+ "Rg = (24-9*Ig)/Ig\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vg = 3.826 \n",
+ "Ig = 0.314\n",
+ "Rg = 67.43\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.5, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "L = 10 # Inductance\n",
+ "i = 80*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculations\n",
+ "t = L*i/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of pulse should be more than 8 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.6, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "R = 10 # Resistance\n",
+ "L = 5 # Inductance\n",
+ "i = 50*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e)) # i = (V/R)*(1-e^(-R*t/L))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum width of gate pulse is 2.5 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.7, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 90.0 # DC supply voltage\n",
+ "i = 40*10**-3 # latching current of thyristor\n",
+ "t = 40* 10**-6 # pulse width\n",
+ "R = 25.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "\n",
+ "#(b)\n",
+ "R = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+ "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+ "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "At the end of the gate pulse, i = 0.0072 A\n",
+ "Since the current is less than latching current, thyristor will not turn on.\n",
+ "\n",
+ "(b)\n",
+ "R should be less than 2744 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.8, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100.0 # DC supply voltage\n",
+ "i = 50*10**-3 # holding current of thyristor\n",
+ "t = 50* 10**-6 # pulse width\n",
+ "R = 20.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "\n",
+ "#Calculations\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "Rmax = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+ "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+ "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When firing pulse ends, i = 9.99 mA\n",
+ "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+ "Maximum value of R = 2499.375 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.9, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# triggering angle \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 240 # AC supply voltage\n",
+ "f = 50 # supply frequency\n",
+ "R = 5 # load resistance\n",
+ "L = 0.05 # inductance\n",
+ "\n",
+ "#Calculation\n",
+ "theta = math.atan(2*math.pi*f*L/R)\n",
+ "theta = theta*180/math.pi\n",
+ "fi = theta+90\n",
+ "print(\"theta = %.2f\u00b0\"%(theta))\n",
+ "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+ "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+ "print(\"fi = %.2f\u00b0\"%fi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 72.34\u00b0)\n",
+ "\n",
+ "Current transient is maximun(worst) if\n",
+ "sin(fi-theta) = 1\n",
+ "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+ "fi = 162.34\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.10, Page No.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.11, Page No.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.12, Page No. 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms current and form factor\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "I = 120 # Current in Ampere\n",
+ "gamma = 180.0 # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+ "\n",
+ "# calculations\n",
+ "#(a)-- formulas\n",
+ "#(b)\n",
+ "Irms = I*math.sqrt(gamma/360)\n",
+ "Iavg = I*(gamma/360)\n",
+ "ff = Irms/Iavg\n",
+ "\n",
+ "#result\n",
+ "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS curent = 84.85 A\n",
+ "Average Current = 60 A\n",
+ "Form factor = 1.414\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.13, Page No.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to the load and average load current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "R = 100.0 # load resistance\n",
+ "V = 230.0 # Supply Voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower=math.pi/3\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+ "Irms = math.sqrt(I)\n",
+ "P =(Irms**2)*R\n",
+ "\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower2=math.pi/4\n",
+ "wt_upper2 =math.pi\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "x = (math.sqrt(2)*V/R)\n",
+ "x = math.floor(x*100)/100\n",
+ "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+ "Irms2 = math.sqrt(I2)\n",
+ "P2 =(Irms2**2)*R\n",
+ "\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return (3.25/(2*math.pi))*math.sin(x)\n",
+ "wt_lower3=math.pi/3\n",
+ "wt_upper3 =math.pi\n",
+ "val3 = quad(f,wt_lower3,wt_upper3)\n",
+ "wt_lower4=math.pi/4\n",
+ "wt_upper4 =math.pi\n",
+ "val4 = quad(f,wt_lower4,wt_upper4)\n",
+ "\n",
+ "\n",
+ "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+ "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+ "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+ "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+ "# for (b) answer matches to the book if val2[0] = 1.4255"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "RMS current = 1.46 A\n",
+ "Power supplied to load = 213 W\n",
+ "\n",
+ "\n",
+ "(b)\n",
+ "RMS current = 1.549431 A\n",
+ "Power supplied to load = 240.073727 W\n",
+ "\n",
+ "(c)\n",
+ "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+ "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.14, Page No.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average power loss in thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Iavg = 200 # Average current\n",
+ "v1 = 1.8 # voltage drop across thyristor for 200A current\n",
+ "v2 = 1.9 # voltage drop across thyristor for 400A current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "A1 = Iavg # amplitude of rectangular current wave\n",
+ "P1 = A1*v1\n",
+ "#(b)\n",
+ "A2 = 2*Iavg\n",
+ "P2 = A2*v2*math.pi/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average power loss = %d W\"%P1)\n",
+ "print(\"(b) Average power loss = %d W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average power loss = 360 W\n",
+ "(b) Average power loss = 380 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.15, Page No.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average on state current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 40 # rms on state current\n",
+ "f = 50 # frequency\n",
+ "cp_a =170 # conduction period\n",
+ "cp_b =100 # conduction period\n",
+ "cp_c =40 # conduction period\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = 180-cp_a\n",
+ "alfa_b = 180-cp_b\n",
+ "alfa_c = 180-cp_c\n",
+ "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+ "Iv_a = 0.316*Im_a\n",
+ "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+ "Iv_b = 0.1868*Im_b\n",
+ "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+ "Iv_c = 0.0372*Im_c\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+ "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+ "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+ "#answer for(b) is not matching with the answer given in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Iavg = 25.295 A\n",
+ "(b) Iavg = 19.13 A\n",
+ "(c) Iavg = 11.62 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 105
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.16, page No. 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power dissiopation\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "It = 20 # constant current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vt = 0.9+ 0.02*It\n",
+ "P1 = Vt*It\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+ "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+ "theta_lower = 0\n",
+ "theta_upper = math.pi\n",
+ "val = quad(f,theta_lower,theta_upper)\n",
+ "P2 = val[0]\n",
+ "#(c)\n",
+ "P3 = P1/2\n",
+ "#(d)\n",
+ "P4 = P1/3\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Power dissipation = %d W\"%P1)\n",
+ "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+ "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+ "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power dissipation = 26 W\n",
+ "(b) Mean Power dissipation = 37.74 W\n",
+ "(c) Mean Power dissipation = 13 W\n",
+ "(d) Mean Power dissipation = 8.67 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 115
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.17, Page No. 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# I^2t rating \n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Is = 2000.0 # half cycle surge current rating for SCR\n",
+ "f = 50.0 # operating AC frequency\n",
+ "\n",
+ "#Calculation\n",
+ "T = 1/f\n",
+ "t_half = T/2\n",
+ "t = t_half/2\n",
+ "I = math.sqrt((Is**2)*t/t_half)\n",
+ "rating = (I**2)*t_half\n",
+ "\n",
+ "#Result\n",
+ "print(\"I^2t rating = %d A^2 secs\"%rating)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "I^2t rating = 20000 A^2 secs\n"
+ ]
+ }
+ ],
+ "prompt_number": 138
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.18, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistance and average power loss\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "P = 6 #peak power loss\n",
+ "d = 0.3 # duty cylce \n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "#solution of equation 9Ig^2+Ig-6 = 0\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Rg = (11/Ig)-9 #from KVL equation of gate circuit\n",
+ "#(b)\n",
+ "Pavg = P*d\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+ "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Ig = 0.763 A \n",
+ "Rg = 5.417 ohm\n",
+ "\n",
+ "(b) Average power loss = 1.8 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 144
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# trigger current and voltage for gate power dissipation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 12 # supply voltage\n",
+ "P = 0.3 # Power dissipation\n",
+ "Rs = 100 # load line slope i.e. source resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+ "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs) #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Vg = P/Ig\n",
+ "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ig = 35.5 mA\n",
+ "Vg = 8.45 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 150
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.20, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Finding values of resistors\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Es = 12.0 # Supply voltage\n",
+ "V = 800.0 # SCR voltage rating\n",
+ "I = 110.0 # SCR currert rating\n",
+ "imax = 250*10**-3 # Maximum permissible current through battery\n",
+ "isc = 600*10**-3 # short circuit current of the battery\n",
+ "Vg = 2.4 # required gate voltage\n",
+ "Ig = 50*10**-3 # required gate current\n",
+ "Vgmax = 3 # maximum gate voltage\n",
+ "Igmax = 100*10**-3 # maximum gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rs = Es/isc\n",
+ "#considering R2 is not connected\n",
+ "R1 =(Es/imax)-Rs\n",
+ "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+ "R1min = Es/Igmax-Rs\n",
+ "R1max = ((Es-Vg)/Ig)-Rs\n",
+ "R1 = 125 #selected \n",
+ "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+ "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rs = 20 ohm \n",
+ "\n",
+ "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+ "Therefore, select R1 = 125 \n",
+ "\n",
+ "R2 should be less than 48.333 ohm.\n",
+ "Therefore, select R2 = 48 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.21, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Surface temperature\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "l = 0.2 # length of aluminium rod\n",
+ "w = 0.01 # width of aluminium rod\n",
+ "d = 0.01 # depth of aluminium rod\n",
+ "tc = 220 # thermal conductivity\n",
+ "T1 = 30 # temperature at far end\n",
+ "P = 3 # injected heat\n",
+ "\n",
+ "#Calculation\n",
+ "theta = l/(tc*w*d)\n",
+ "T2 = P*theta+T1\n",
+ "\n",
+ "#Result\n",
+ "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.22, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Power losses\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "l = 2*10**-3 # lengthh of aluminium plate\n",
+ "a = 12*10**-4 # cross-section area\n",
+ "tc = 220 # thermal conductivity\n",
+ "td = 4 # desired thermal drop along length\n",
+ "\n",
+ "#Calculations\n",
+ "theta = l/(a*tc)\n",
+ "theta = math.floor(theta*10**6)/10**6\n",
+ "P_loss = td/theta\n",
+ "\n",
+ "#Result\n",
+ "print(\"power losses = %.2f W\"%P_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power losses = 528.05 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.23, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#thermal resistance of heat sink\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 30.0 # power dissipation\n",
+ "T1 =125.0 # max junction temperature\n",
+ "T2 = 50.0 # max ambient temperature\n",
+ "tr1 =1.0 # thermal resistance of thyristor\n",
+ "tr2 = 0.3 # therrmal resistance of insuulator\n",
+ "\n",
+ "#calculations\n",
+ "Tr = (T1-T2)/P\n",
+ "Tr_hs = Tr-tr1-tr2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.24, Page No.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Junction temperature\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "tr = 0.627 # thermal resistance of device\n",
+ "T = 93 # heat sink temperature\n",
+ "V = 3 # voltage at junction\n",
+ "I = 25 # current at junction\n",
+ "\n",
+ "#calculation\n",
+ "T_junction = tr*V*I+T\n",
+ "\n",
+ "#Result\n",
+ "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Junction Temperature = 140\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.25, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Thermal resistance\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 40.0 #steady power loss in an SCR\n",
+ "Tr_hs = 0.8 # heat sink resistance\n",
+ "T1 = 120.0 # Maximumm junction temperature\n",
+ "T2 = 35.0 # ambient temperature\n",
+ "\n",
+ "#calculation\n",
+ "Tr = (T1-T2)/P\n",
+ "Rsh = Tr - Tr_hs\n",
+ "\n",
+ "#Result\n",
+ "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of heat sink = 1.325\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.26, Page No. 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power loss and % increase in rating\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Tj = 125 # maximum junction temperature\n",
+ "Ts1 = 80 # max heat sink temperature\n",
+ "tr_jc = 0.7 # thermal resistance from junction to case \n",
+ "tr_cs = 0.4 # thermal resistance from case to sink\n",
+ "Ts2 = 50 # decreased heat sink temperature \n",
+ "#calculations\n",
+ "#(a)\n",
+ "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+ "#(b)\n",
+ "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+ "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+ "rating = math.floor(rating*100)/100\n",
+ "# result\n",
+ "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+ "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average power loss = 40.91W\n",
+ "\n",
+ "(b)\n",
+ "Average power loss = 68.18W\n",
+ "% increase in rating = 29.09%\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.27, Page No. 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Minnimum and maximum firing angle of triac\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # Supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "Vc = 25.0 # breakdown voltage\n",
+ "C = 0.6*10**-6 # capacitance\n",
+ "Rmin = 2000 # minimum resistance \n",
+ "Rmax = 20000 # maximum resistance\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "pi = math.ceil(math.pi*10**4)/10**4\n",
+ "Xc = 1/(2*pi*f*C)\n",
+ "Xc = math.floor(Xc*100)/100\n",
+ "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+ "Z1_angle=math.atan(Xc/Rmin)\n",
+ "I1_m = Vs/Z1_m\n",
+ "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+ "I1_angle = Z1_angle\n",
+ "Vc_m = I1_m*Xc\n",
+ "Vc_m = math.ceil(Vc_m*100)/100\n",
+ "Vc_angle = I1_angle*(180/math.pi)-90\n",
+ "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+ "\n",
+ "#(b)\n",
+ "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+ "Z2_m = math.floor(Z2_m*10)/10\n",
+ "Z2_angle=math.atan(Xc/Rmax)\n",
+ "I2_m = Vs/Z2_m\n",
+ "I2_m = math.floor(I2_m*10**6)/10**6\n",
+ "I2_angle = Z2_angle\n",
+ "V2c_m = I2_m*Xc\n",
+ "V2c_m = math.ceil(V2c_m*100)/100\n",
+ "V2c_angle = I2_angle*(180/math.pi)-90\n",
+ "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Xc = %.2f ohms\"%Xc)\n",
+ "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+ "\n",
+ "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+ "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Xc = 5305.15 ohms\n",
+ "\n",
+ "(a) When R = 2000 ohms\n",
+ " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+ " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+ "\n",
+ "Minimum firing angle = 25.37\u00b0\n",
+ "\n",
+ "(b) When R = 20000 ohms\n",
+ " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+ " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+ "\n",
+ "Maximum firing angle = 92.60\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.28, Page no. 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 32.0 #voltage\n",
+ "h = 0.63 # voltage gain\n",
+ "Ip = 10*10**-6 # current \n",
+ "Vv = 3.5 # voltage drop\n",
+ "Iv = 10*10**-3 # current through the circuit\n",
+ "Vf = 0.5 # forward voltage drop across p-n junction\n",
+ "f = 50.0 # frequency of ascillation \n",
+ "t = 50.0*10**-6 # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+ "C = 0.4*10**-6 # Capacitance(assumed)\n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Vp = V*h+Vf\n",
+ "Rmax = (V-Vp)/Ip # R should be less than the given value\n",
+ "Rmin = (V-Vv)/Iv # R should be more than the given value\n",
+ "R = T/(C*math.log(1/(1-h)))\n",
+ "R4 = t/C\n",
+ "R3 = 10**4/(h*V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+ "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+ "Hence the value is suitable.\n",
+ "\n",
+ "R4 = 125 ohm \n",
+ "R3 = 496 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.29, Page No. 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#values of various components of circuit(referring to fig.2.36(a))\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "f = 2.0*10**3 # ouutput frequency\n",
+ "Vdc = 10 # input voltage\n",
+ "h = 0.6 # voltage gain\n",
+ "I = 0.005 # peak discharge current\n",
+ "v = 0.5 # voltage drop across p-n junction(assumed)\n",
+ "\n",
+ "#Calculation\n",
+ "Vp = (Vdc*h)+v\n",
+ "R = (Vdc-Vp)/I # R should be less than this value\n",
+ "T = 1.0/f\n",
+ "C1 = 0.5*10**-6 # capacitance(assumed)\n",
+ "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 1.0*10**-6 # capacitance(assumed)\n",
+ "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+ "\n",
+ "#Result\n",
+ "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+ "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+ "This value of R is not suitable because R must be less than 700 ohm.\n",
+ "\n",
+ "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+ "This value is suitable because R is less than 700 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.30, Page No. 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Range of firing angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # supply voltage\n",
+ "Rmin= 1000.0 # minimum value of R1 resistor\n",
+ "Rmax = 22*10**3 # maximum value of R1 resistor\n",
+ "Vg = 2.0 # gate triggering voltage\n",
+ "C = 0.47*10**-6 # capacitor value\n",
+ "f = 50.0 # frequency\n",
+ "#Calculations\n",
+ "# For Rmin\n",
+ "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+ "theta = math.ceil(theta*10)/10\n",
+ "Vc = Vs*math.cos(theta*math.pi/180)\n",
+ "Vc = math.floor(Vc*100)/100\n",
+ "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+ "alfa = math.floor(alfa*10)/10\n",
+ "\n",
+ "# for Rmax\n",
+ "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+ "theta2 = math.ceil(theta2*10)/10\n",
+ "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+ "Vc2 = math.floor(Vc2*100)/100\n",
+ "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+ "alfa2 = math.ceil(alfa2*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum firing angle = 8.7\u00b0\n",
+ "Maximum firing angle = 74.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 137
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.31, Page No. 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "f = 50.0 # frequency of supply\n",
+ "Vbb = 12.0 # typical input vpltage\n",
+ "P = 300*10**3 # maximumm average power dissipation\n",
+ "Rbb = 5.6*10**3 # base resistor\n",
+ "Iv = 4*10**-3 # Valley point voltage\n",
+ "h = 0.63 # intrinsic stand off ratio\n",
+ "Vd = 0.5 # drop across p-n junction\n",
+ "Vv = 2.0 # Valley point voltage\n",
+ "Ip = 5*10**-6 # peak point current\n",
+ "v = 0.18 # minimum voltage for which SCR will not trigger\n",
+ "\n",
+ "#calculation\n",
+ "T = 1/f\n",
+ "#operating point should be on the left of valley point\n",
+ "R_1 = (Vbb-Vv)/Iv # R should be greater than this value\n",
+ "Vp = (h*Vbb)+Vd\n",
+ "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+ "R_2 = (Vbb-Vp)/Ip # R should be less than this value\n",
+ "C = 0.02*10**-6 # assumed\n",
+ "R_3 = T/(C*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 0.04*10**-6 # assumed\n",
+ "R_4 = T/(C2*math.log(1/(1-h)))\n",
+ "R = 500*10**3 # assumed\n",
+ "Rmax = R+R_1\n",
+ "R3_1 = (10**4)/(h*Vbb)\n",
+ "R3 = 1200 # assumed\n",
+ "R4_1 = v*(R3+Rbb)/(Vbb-v) # R4 value should be less than this value\n",
+ "R4 = 100 # assumed \n",
+ "tw = R4*C2\n",
+ "tow_min = R_1*C2*math.log(1/(1-h))\n",
+ "alfa_min = tow_min*(360/T)\n",
+ "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+ "alfa_max = tow_max*(360/T)\n",
+ "\n",
+ "#Result\n",
+ "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+ "print(\"Hence not suitable.\")\n",
+ "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+ "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+ "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+ "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+ "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+ "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+ "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+ "This value of R is more than maximum of 788 k-ohm.\n",
+ "Hence not suitable.\n",
+ "\n",
+ "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+ "As this is less than max value. It is suitable. \n",
+ "Lets assume R = 500 k-ohm\n",
+ "Rmax = 502.5 k-ohm\n",
+ "\n",
+ "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+ "\n",
+ "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+ "\n",
+ "Minimum firing angle = 1.79\u00b0\n",
+ "Maximum firing angle = 359.7\u00b0\n",
+ "\n",
+ "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+ "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 166
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.32, Page No.92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# conduction time of thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R =0.8 # load resistance\n",
+ "L = 10*10**-6 # inductance\n",
+ "C = 50*10**-6 # capacitance\n",
+ "\n",
+ "#calculations\n",
+ "R1 = math.sqrt(4*L/C) # R should be less than this value\n",
+ "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Value of sqrt(4L/C) is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+ "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of sqrt(4L/C) is 0.8944 and give R = 0.8\n",
+ "Therefore, the circuit is underdamped.\n",
+ "\n",
+ "t0 = 157.08*10**-6 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 169
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.33, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Values of L and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I = 8.0 # load current\n",
+ "V = 90.0 # Supply voltage\n",
+ "t = 40.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculation\n",
+ "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+ "C_by_L = (2*I/V)**2 # using eq 2.33\n",
+ "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+ "CL = (t*2/math.pi)**2\n",
+ "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+ "\n",
+ "L = math.sqrt(CL/C_by_L)\n",
+ "C =C_by_L*L\n",
+ "\n",
+ "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 143.24*10**-6 H\n",
+ "C = 4.527*10**-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 173
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.34, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Value of C for commutation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 10 # load resistace\n",
+ "V = 100 # supply voltage \n",
+ "t = 50 * 10**-6 # turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "C = t/(R*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 7.21*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 176
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.35, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# L and C of commutation circuit\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 100 # supply voltage\n",
+ "I = 40 # maximumm load current\n",
+ "T = 40*10**-6 # turn off time\n",
+ "t = 1.5 # extra 50% tolerance\n",
+ "\n",
+ "#Calculation\n",
+ "T = T*t\n",
+ "C = I*T/V\n",
+ "L = (V**2)*C/(I**2)\n",
+ "Ip = V*math.sqrt(C/L)\n",
+ "L2 = 2* 10**-4 # assume\n",
+ "Ip2 = V*math.sqrt(C/L2)\n",
+ "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+ "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+ "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+ "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 24*10^-6 F\n",
+ "L = 1.5*10^-4 H\n",
+ "Peak capacitor current = 40 A\n",
+ "\n",
+ "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+ "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+ "\n",
+ "Hence,\n",
+ "C = 24*10^-6 F\n",
+ "L = 2.0*10^-4 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 187
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.36, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating of the thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vdc = 100.0 # input voltage\n",
+ "L = 0.1 *10**-3 # Inductance\n",
+ "C = 10*10**-6 # capacitance\n",
+ "Vc = 100.0 # iinitial voltage on capacitor\n",
+ "t = 25.0*10**-6 # thyristor turn offf time\n",
+ "I = 10.0 # Thyristor load current\n",
+ "\n",
+ "#Calculations\n",
+ "t_off = Vc*C/I\n",
+ "Ic = Vdc*math.sqrt(C/L)\n",
+ "\n",
+ "# Result\n",
+ "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+ "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+ "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "t_off = 100 *10^-6 S\n",
+ "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+ "\n",
+ "Peak capacitor current = 31.62A \n",
+ "Maximum current rating of thyristor should be more than 31.62A\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.37, Page No. 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# value of R and C for snubber circuit\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "dv_by_dt = 25*10**6 # Thyristor's dv/dt rating\n",
+ "L = 0.2 *10**-3 # source inductance\n",
+ "V = 230 # Supply voltage\n",
+ "df = 0.65 # damping factor\n",
+ "\n",
+ "#Calculation\n",
+ "Vm = V*math.sqrt(2) \n",
+ "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+ "R = 2*df*math.sqrt(L/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 134.62*10^-9 F\n",
+ "\n",
+ "R = 50.1 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.38, Page No.97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snuubber circuit parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 300.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "f = 2000.0 # operating frequency otf the circuit\n",
+ "dv_by_dt = 100.0*10**6 # required dv/dt rating of the circuit\n",
+ "I = 100.0 # discharge current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "R = V/I\n",
+ "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+ "C = math.floor(C*10**9)/10**9\n",
+ "#(b)\n",
+ "P = (C*V**2*f)/2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+ "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+ "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "R = 3.000000 ohm\n",
+ "C = 0.112*10^-6 F\n",
+ "\n",
+ "(b)\n",
+ "Snubber power loss = 10.08 W\n",
+ "\n",
+ "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.39, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# maximum permissiible values of dv/dt and di/dt\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 4.0 # resistance\n",
+ "L = 6.0*10**-6 # inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "V = 300.0 # Supply voltage\n",
+ "\n",
+ "#calculations\n",
+ "di_dt = V/L\n",
+ "Isc = V/R\n",
+ "dv_dt =(R* di_dt)+(Isc/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum di/dt = 50*10^6 A/s\n",
+ "\n",
+ "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.40, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snubber circuit designe\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "\n",
+ "Rl = 8.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "I = 200.0 # repititive peak current \n",
+ "di_dt = 40.0*10**6 # max. di/di rating\n",
+ "dv_dt = 150.0*10**6 # max. dv/dv rating\n",
+ "sf = 2.0 # safety factor for thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = I/2.0\n",
+ "di_dt2 = di_dt/2.0\n",
+ "dv_dt2 = dv_dt/2\n",
+ "Vp = V*math.sqrt(2)\n",
+ "#Vp = math.floor((Vp*10)/10)\n",
+ "L2 = Vp/di_dt2\n",
+ "L2 = math.floor(L2*10**8)/10**8\n",
+ "R2 = L2*dv_dt2/Vp\n",
+ "Ip = Vp/Rl\n",
+ "Ic = (math.floor(Vp*10)/10)/R2\n",
+ "It = math.floor(Ip*100)/100+Ic\n",
+ "Ic_max = I1 - Ip\n",
+ "Ic_max = math.ceil(Ic_max*100)/100\n",
+ "R = Vp /Ic_max\n",
+ "R = math.ceil(R)\n",
+ "h = 0.65 #assumed \n",
+ "C = 4*(h**2)*L2/R**2\n",
+ "dv_dt3 = Vp/((R+Rl)*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+ "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+ "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+ "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+ "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+ "print(\"Total current through capacitor = %.2f\"%It)\n",
+ "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+ "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+ "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+ "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when safety factor is 2 ,maximum permisible ratings are:\n",
+ "max. di/dt = 20*10^6 A/s\n",
+ "max. dv/dt = 75*10^6 V/s\n",
+ "\n",
+ "Peak value of input voltage = 325.2 V\n",
+ "L = 16.26*10^-6 H \n",
+ "R = 3.75 ohm\n",
+ "Peak load current = 40.65A\n",
+ "Peak capacitor discharge current = 86.74 A\n",
+ "Total current through capacitor = 127.39\n",
+ "\n",
+ "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+ "R = 6 ohm\n",
+ "C = 0.7633*10^-6F\n",
+ "dv/dt = 30.43*10^6 V/s\n",
+ "Since this value is within specified limit the design is safe. \n",
+ "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.41, Page No. 100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fault clearing time(referring to fig.2.59)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I2t = 30 # I2t rating of thyristor\n",
+ "V = 230 # supply voltage\n",
+ "#For resistor values refer to fig 2.59\n",
+ "R1 = 2.0\n",
+ "R2 = 1.0\n",
+ "R3 = 5.0\n",
+ "R4 = 6.0\n",
+ "R5 = 5.0 \n",
+ "#calculation\n",
+ "Rnet = R1+(R3*R2)/R4\n",
+ "If = math.sqrt(2)*V/Rnet\n",
+ "tc = I2t/(If**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tc = 2.277*10^-3 seconds \n"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.42, Page No.103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# number of thyristors in series and parallel\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "\n",
+ "\n",
+ "# Calculation\n",
+ "np = I/((1-d)*I1)\n",
+ "ns = V/((1-d)*V1)\n",
+ "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+ "print(\"ns = %d\"%(math.ceil(ns)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "np = 5.71 or 6\n",
+ "ns = 5\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.43, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of R and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(referring to example 2.42)\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "Ib = 8*10**-3 # maximum forward leakage current\n",
+ "del_Q = 30*10**-6 # recovery charge difference\n",
+ "ns = 5 # number of series thyristors \n",
+ "\n",
+ "#Calculations\n",
+ "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+ "C = (ns-1)*del_Q/(ns*V1-V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 31.25*10^3 ohm\n",
+ "C = 0.12*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.44, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# series resistance\n",
+ "\n",
+ "import math\n",
+ "# variabe declaration\n",
+ "I1 = 200 # thyristor1 current rating\n",
+ "I2 = 300 # thyristor2 current rating\n",
+ "V1 = 1.5 # on state voltage drop of thyristor1 \n",
+ "V2 = 1.2 # on state voltage drop of thyristor2\n",
+ "\n",
+ "#Calculations\n",
+ "R = (V1-V2)/(I2-I1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.3f ohm\"%R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 0.003 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.45, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "ns = 12 # no of series thyristors\n",
+ "V = 16*10**3 # maximum DC voltage rating\n",
+ "Ib = 10*10**-3 # maximum leakage current of thyristor\n",
+ "del_Q = 150 *10**-6 # recovery charge differences of thyristors\n",
+ "R = 56*10**3 # resistance\n",
+ "C = 0.5 *10**-6 # Capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+ "ssvd = 1-(V/(ns*Vd1))\n",
+ "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+ "tsvd = 1-(V/(ns*Vd2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+ "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+ "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+ "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Maximum steady state voltage rating = 1846.67 V\n",
+ "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+ "(c) Maximum transient state voltage rating = 1608.33 V\n",
+ "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.46, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# No of Thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 500.0 # single thyristor voltage rating\n",
+ "I = 75.0 # single thyristor current rating\n",
+ "Vmax = 7.5*10**3 # overall voltage rating of the circuit\n",
+ "Imax = 1.0*10**3 # overall current rating of the circuit\n",
+ "df = 0.14 # derating factor\n",
+ "\n",
+ "#Calcaulations\n",
+ "ns = Vmax/((1-df)*V)\n",
+ "np = Imax/((1-df)*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+ "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No of thyristors in series, ns = 17.44 say 18\n",
+ "No of thyristors in parallel, np = 15.50 say 16\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.47, Page No. 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn off voltage and discharge current through SCR\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 8.0*10**3 # max voltage rating of the circuit\n",
+ "R = 20.0*10**3 # static equalising resistance \n",
+ "Rc = 25.0 # Resistace of dynamic equalising circuit\n",
+ "C = 0.1*10**-6 # Capacitance of dynamic equalising circuit\n",
+ "Ib1 = 22.0*10**-3 # leakage current of thyristor1\n",
+ "Ib2 = 20.0*10**-3 # leakage current of thyristor2\n",
+ "Ib3 = 18.0*10**-3 # leakage current of thyristor3\n",
+ "\n",
+ "\n",
+ "#Calculations \n",
+ "#(a)\n",
+ "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+ "V1 = (I-Ib1)*R\n",
+ "V2 = (I-Ib2)*R\n",
+ "V3 = (I-Ib3)*R\n",
+ "#(b)\n",
+ "I1 = V1/Rc\n",
+ "I2 = V2/Rc\n",
+ "I3 = V3/Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+ "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+ "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+ "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+ "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+ "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across SCR 1 = 2626.6V\n",
+ "Voltage across SCR 2 = 2666.6V\n",
+ "Voltage across SCR 3 = 2706.6V\n",
+ "Discharge current through SCR 1 = 105.06A\n",
+ "Discharge current through SCR 2 = 106.66A\n",
+ "Discharge current through SCR 3 = 108.26A\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_2_2.ipynb b/Power_Electronics/Power_electronics_ch_2_2.ipynb new file mode 100755 index 00000000..6e52e316 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_2_2.ipynb @@ -0,0 +1,2357 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.1, Page No.39 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Anode current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa_1 = 0.35 # Gain of PNP transistor of two transistor model\n",
+ "alfa_2 = 0.40 # Gain of NPN transistor of two transistor model\n",
+ "Ig = 40*10**-3 # Gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Anode current = 64 * 10^-3 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.2, Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Equivalent capacitor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "dv_by_dt = 190 # in Volt per micro-sec\n",
+ "Ic= 8 *10**-3 # Capacitive current\n",
+ "\n",
+ "#Calculation\n",
+ "C = Ic/(dv_by_dt*10**6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 42.1 * 10^12 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.3, Page No. 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vt = 0.75 # Thyristor trigger voltage\n",
+ "It = 7*10**-3 # Thyristor trigger current\n",
+ "Vcc = 20 # Suppy voltage, given data\n",
+ "Rg = 2000 # gate resistor, given data\n",
+ "R = 200 # input resistor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "V0 = 20 # when thyristor is not conducting, there is no current through it.\n",
+ "#(b)\n",
+ "Vs = Vt+It*Rg\n",
+ "#(c)\n",
+ "i= 5*10**-3 #to have holding curernt\n",
+ "v1= i*R\n",
+ "#(d)\n",
+ "drop =0.7 # voltage drop across thyristor\n",
+ "v2=v1+drop\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) V0 = 20\n",
+ "(b) Vs = 14.75\n",
+ "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+ "(d) Vcc should be reduced to less than 1.7 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.4, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# calculation of Vg,Ig and Rg\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 25 # gate signal amplitude\n",
+ "Pavg_loss = 0.6 # Avg power loss\n",
+ "\n",
+ "#Calculations\n",
+ "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Vg = 1+9*Ig #given data\n",
+ "Rg = (24-9*Ig)/Ig\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vg = 3.826 \n",
+ "Ig = 0.314\n",
+ "Rg = 67.43\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.5, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "L = 10 # Inductance\n",
+ "i = 80*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculations\n",
+ "t = L*i/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of pulse should be more than 8 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.6, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "R = 10 # Resistance\n",
+ "L = 5 # Inductance\n",
+ "i = 50*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e)) # i = (V/R)*(1-e^(-R*t/L))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum width of gate pulse is 2.5 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.7, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 90.0 # DC supply voltage\n",
+ "i = 40*10**-3 # latching current of thyristor\n",
+ "t = 40* 10**-6 # pulse width\n",
+ "R = 25.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "\n",
+ "#(b)\n",
+ "R = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+ "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+ "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "At the end of the gate pulse, i = 0.0072 A\n",
+ "Since the current is less than latching current, thyristor will not turn on.\n",
+ "\n",
+ "(b)\n",
+ "R should be less than 2744 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.8, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100.0 # DC supply voltage\n",
+ "i = 50*10**-3 # holding current of thyristor\n",
+ "t = 50* 10**-6 # pulse width\n",
+ "R = 20.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "\n",
+ "#Calculations\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "Rmax = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+ "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+ "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When firing pulse ends, i = 9.99 mA\n",
+ "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+ "Maximum value of R = 2499.375 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.9, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# triggering angle \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 240 # AC supply voltage\n",
+ "f = 50 # supply frequency\n",
+ "R = 5 # load resistance\n",
+ "L = 0.05 # inductance\n",
+ "\n",
+ "#Calculation\n",
+ "theta = math.atan(2*math.pi*f*L/R)\n",
+ "theta = theta*180/math.pi\n",
+ "fi = theta+90\n",
+ "print(\"theta = %.2f\u00b0\"%(theta))\n",
+ "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+ "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+ "print(\"fi = %.2f\u00b0\"%fi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 72.34\u00b0)\n",
+ "\n",
+ "Current transient is maximun(worst) if\n",
+ "sin(fi-theta) = 1\n",
+ "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+ "fi = 162.34\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.10, Page No.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.11, Page No.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.12, Page No. 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms current and form factor\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "I = 120 # Current in Ampere\n",
+ "gamma = 180.0 # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+ "\n",
+ "# calculations\n",
+ "#(a)-- formulas\n",
+ "#(b)\n",
+ "Irms = I*math.sqrt(gamma/360)\n",
+ "Iavg = I*(gamma/360)\n",
+ "ff = Irms/Iavg\n",
+ "\n",
+ "#result\n",
+ "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS curent = 84.85 A\n",
+ "Average Current = 60 A\n",
+ "Form factor = 1.414\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.13, Page No.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to the load and average load current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "R = 100.0 # load resistance\n",
+ "V = 230.0 # Supply Voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower=math.pi/3\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+ "Irms = math.sqrt(I)\n",
+ "P =(Irms**2)*R\n",
+ "\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower2=math.pi/4\n",
+ "wt_upper2 =math.pi\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "x = (math.sqrt(2)*V/R)\n",
+ "x = math.floor(x*100)/100\n",
+ "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+ "Irms2 = math.sqrt(I2)\n",
+ "P2 =(Irms2**2)*R\n",
+ "\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return (3.25/(2*math.pi))*math.sin(x)\n",
+ "wt_lower3=math.pi/3\n",
+ "wt_upper3 =math.pi\n",
+ "val3 = quad(f,wt_lower3,wt_upper3)\n",
+ "wt_lower4=math.pi/4\n",
+ "wt_upper4 =math.pi\n",
+ "val4 = quad(f,wt_lower4,wt_upper4)\n",
+ "\n",
+ "\n",
+ "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+ "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+ "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+ "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+ "# for (b) answer matches to the book if val2[0] = 1.4255"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "RMS current = 1.46 A\n",
+ "Power supplied to load = 213 W\n",
+ "\n",
+ "\n",
+ "(b)\n",
+ "RMS current = 1.549431 A\n",
+ "Power supplied to load = 240.073727 W\n",
+ "\n",
+ "(c)\n",
+ "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+ "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.14, Page No.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average power loss in thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Iavg = 200 # Average current\n",
+ "v1 = 1.8 # voltage drop across thyristor for 200A current\n",
+ "v2 = 1.9 # voltage drop across thyristor for 400A current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "A1 = Iavg # amplitude of rectangular current wave\n",
+ "P1 = A1*v1\n",
+ "#(b)\n",
+ "A2 = 2*Iavg\n",
+ "P2 = A2*v2*math.pi/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average power loss = %d W\"%P1)\n",
+ "print(\"(b) Average power loss = %d W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average power loss = 360 W\n",
+ "(b) Average power loss = 380 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.15, Page No.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average on state current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 40 # rms on state current\n",
+ "f = 50 # frequency\n",
+ "cp_a =170 # conduction period\n",
+ "cp_b =100 # conduction period\n",
+ "cp_c =40 # conduction period\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = 180-cp_a\n",
+ "alfa_b = 180-cp_b\n",
+ "alfa_c = 180-cp_c\n",
+ "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+ "Iv_a = 0.316*Im_a\n",
+ "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+ "Iv_b = 0.1868*Im_b\n",
+ "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+ "Iv_c = 0.0372*Im_c\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+ "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+ "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+ "#answer for(b) is not matching with the answer given in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Iavg = 25.295 A\n",
+ "(b) Iavg = 19.13 A\n",
+ "(c) Iavg = 11.62 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 105
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.16, page No. 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power dissiopation\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "It = 20 # constant current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vt = 0.9+ 0.02*It\n",
+ "P1 = Vt*It\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+ "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+ "theta_lower = 0\n",
+ "theta_upper = math.pi\n",
+ "val = quad(f,theta_lower,theta_upper)\n",
+ "P2 = val[0]\n",
+ "#(c)\n",
+ "P3 = P1/2\n",
+ "#(d)\n",
+ "P4 = P1/3\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Power dissipation = %d W\"%P1)\n",
+ "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+ "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+ "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power dissipation = 26 W\n",
+ "(b) Mean Power dissipation = 37.74 W\n",
+ "(c) Mean Power dissipation = 13 W\n",
+ "(d) Mean Power dissipation = 8.67 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 115
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.17, Page No. 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# I^2t rating \n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Is = 2000.0 # half cycle surge current rating for SCR\n",
+ "f = 50.0 # operating AC frequency\n",
+ "\n",
+ "#Calculation\n",
+ "T = 1/f\n",
+ "t_half = T/2\n",
+ "t = t_half/2\n",
+ "I = math.sqrt((Is**2)*t/t_half)\n",
+ "rating = (I**2)*t_half\n",
+ "\n",
+ "#Result\n",
+ "print(\"I^2t rating = %d A^2 secs\"%rating)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "I^2t rating = 20000 A^2 secs\n"
+ ]
+ }
+ ],
+ "prompt_number": 138
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.18, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistance and average power loss\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "P = 6 #peak power loss\n",
+ "d = 0.3 # duty cylce \n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "#solution of equation 9Ig^2+Ig-6 = 0\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Rg = (11/Ig)-9 #from KVL equation of gate circuit\n",
+ "#(b)\n",
+ "Pavg = P*d\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+ "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Ig = 0.763 A \n",
+ "Rg = 5.417 ohm\n",
+ "\n",
+ "(b) Average power loss = 1.8 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 144
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# trigger current and voltage for gate power dissipation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 12 # supply voltage\n",
+ "P = 0.3 # Power dissipation\n",
+ "Rs = 100 # load line slope i.e. source resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+ "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs) #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Vg = P/Ig\n",
+ "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ig = 35.5 mA\n",
+ "Vg = 8.45 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 150
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.20, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Finding values of resistors\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Es = 12.0 # Supply voltage\n",
+ "V = 800.0 # SCR voltage rating\n",
+ "I = 110.0 # SCR currert rating\n",
+ "imax = 250*10**-3 # Maximum permissible current through battery\n",
+ "isc = 600*10**-3 # short circuit current of the battery\n",
+ "Vg = 2.4 # required gate voltage\n",
+ "Ig = 50*10**-3 # required gate current\n",
+ "Vgmax = 3 # maximum gate voltage\n",
+ "Igmax = 100*10**-3 # maximum gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rs = Es/isc\n",
+ "#considering R2 is not connected\n",
+ "R1 =(Es/imax)-Rs\n",
+ "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+ "R1min = Es/Igmax-Rs\n",
+ "R1max = ((Es-Vg)/Ig)-Rs\n",
+ "R1 = 125 #selected \n",
+ "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+ "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rs = 20 ohm \n",
+ "\n",
+ "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+ "Therefore, select R1 = 125 \n",
+ "\n",
+ "R2 should be less than 48.333 ohm.\n",
+ "Therefore, select R2 = 48 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.21, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Surface temperature\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "l = 0.2 # length of aluminium rod\n",
+ "w = 0.01 # width of aluminium rod\n",
+ "d = 0.01 # depth of aluminium rod\n",
+ "tc = 220 # thermal conductivity\n",
+ "T1 = 30 # temperature at far end\n",
+ "P = 3 # injected heat\n",
+ "\n",
+ "#Calculation\n",
+ "theta = l/(tc*w*d)\n",
+ "T2 = P*theta+T1\n",
+ "\n",
+ "#Result\n",
+ "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.22, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Power losses\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "l = 2*10**-3 # lengthh of aluminium plate\n",
+ "a = 12*10**-4 # cross-section area\n",
+ "tc = 220 # thermal conductivity\n",
+ "td = 4 # desired thermal drop along length\n",
+ "\n",
+ "#Calculations\n",
+ "theta = l/(a*tc)\n",
+ "theta = math.floor(theta*10**6)/10**6\n",
+ "P_loss = td/theta\n",
+ "\n",
+ "#Result\n",
+ "print(\"power losses = %.2f W\"%P_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power losses = 528.05 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.23, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#thermal resistance of heat sink\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 30.0 # power dissipation\n",
+ "T1 =125.0 # max junction temperature\n",
+ "T2 = 50.0 # max ambient temperature\n",
+ "tr1 =1.0 # thermal resistance of thyristor\n",
+ "tr2 = 0.3 # therrmal resistance of insuulator\n",
+ "\n",
+ "#calculations\n",
+ "Tr = (T1-T2)/P\n",
+ "Tr_hs = Tr-tr1-tr2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.24, Page No.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Junction temperature\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "tr = 0.627 # thermal resistance of device\n",
+ "T = 93 # heat sink temperature\n",
+ "V = 3 # voltage at junction\n",
+ "I = 25 # current at junction\n",
+ "\n",
+ "#calculation\n",
+ "T_junction = tr*V*I+T\n",
+ "\n",
+ "#Result\n",
+ "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Junction Temperature = 140\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.25, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Thermal resistance\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 40.0 #steady power loss in an SCR\n",
+ "Tr_hs = 0.8 # heat sink resistance\n",
+ "T1 = 120.0 # Maximumm junction temperature\n",
+ "T2 = 35.0 # ambient temperature\n",
+ "\n",
+ "#calculation\n",
+ "Tr = (T1-T2)/P\n",
+ "Rsh = Tr - Tr_hs\n",
+ "\n",
+ "#Result\n",
+ "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of heat sink = 1.325\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.26, Page No. 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power loss and % increase in rating\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Tj = 125 # maximum junction temperature\n",
+ "Ts1 = 80 # max heat sink temperature\n",
+ "tr_jc = 0.7 # thermal resistance from junction to case \n",
+ "tr_cs = 0.4 # thermal resistance from case to sink\n",
+ "Ts2 = 50 # decreased heat sink temperature \n",
+ "#calculations\n",
+ "#(a)\n",
+ "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+ "#(b)\n",
+ "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+ "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+ "rating = math.floor(rating*100)/100\n",
+ "# result\n",
+ "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+ "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average power loss = 40.91W\n",
+ "\n",
+ "(b)\n",
+ "Average power loss = 68.18W\n",
+ "% increase in rating = 29.09%\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.27, Page No. 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Minnimum and maximum firing angle of triac\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # Supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "Vc = 25.0 # breakdown voltage\n",
+ "C = 0.6*10**-6 # capacitance\n",
+ "Rmin = 2000 # minimum resistance \n",
+ "Rmax = 20000 # maximum resistance\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "pi = math.ceil(math.pi*10**4)/10**4\n",
+ "Xc = 1/(2*pi*f*C)\n",
+ "Xc = math.floor(Xc*100)/100\n",
+ "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+ "Z1_angle=math.atan(Xc/Rmin)\n",
+ "I1_m = Vs/Z1_m\n",
+ "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+ "I1_angle = Z1_angle\n",
+ "Vc_m = I1_m*Xc\n",
+ "Vc_m = math.ceil(Vc_m*100)/100\n",
+ "Vc_angle = I1_angle*(180/math.pi)-90\n",
+ "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+ "\n",
+ "#(b)\n",
+ "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+ "Z2_m = math.floor(Z2_m*10)/10\n",
+ "Z2_angle=math.atan(Xc/Rmax)\n",
+ "I2_m = Vs/Z2_m\n",
+ "I2_m = math.floor(I2_m*10**6)/10**6\n",
+ "I2_angle = Z2_angle\n",
+ "V2c_m = I2_m*Xc\n",
+ "V2c_m = math.ceil(V2c_m*100)/100\n",
+ "V2c_angle = I2_angle*(180/math.pi)-90\n",
+ "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Xc = %.2f ohms\"%Xc)\n",
+ "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+ "\n",
+ "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+ "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Xc = 5305.15 ohms\n",
+ "\n",
+ "(a) When R = 2000 ohms\n",
+ " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+ " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+ "\n",
+ "Minimum firing angle = 25.37\u00b0\n",
+ "\n",
+ "(b) When R = 20000 ohms\n",
+ " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+ " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+ "\n",
+ "Maximum firing angle = 92.60\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.28, Page no. 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 32.0 #voltage\n",
+ "h = 0.63 # voltage gain\n",
+ "Ip = 10*10**-6 # current \n",
+ "Vv = 3.5 # voltage drop\n",
+ "Iv = 10*10**-3 # current through the circuit\n",
+ "Vf = 0.5 # forward voltage drop across p-n junction\n",
+ "f = 50.0 # frequency of ascillation \n",
+ "t = 50.0*10**-6 # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+ "C = 0.4*10**-6 # Capacitance(assumed)\n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Vp = V*h+Vf\n",
+ "Rmax = (V-Vp)/Ip # R should be less than the given value\n",
+ "Rmin = (V-Vv)/Iv # R should be more than the given value\n",
+ "R = T/(C*math.log(1/(1-h)))\n",
+ "R4 = t/C\n",
+ "R3 = 10**4/(h*V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+ "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+ "Hence the value is suitable.\n",
+ "\n",
+ "R4 = 125 ohm \n",
+ "R3 = 496 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.29, Page No. 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#values of various components of circuit(referring to fig.2.36(a))\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "f = 2.0*10**3 # ouutput frequency\n",
+ "Vdc = 10 # input voltage\n",
+ "h = 0.6 # voltage gain\n",
+ "I = 0.005 # peak discharge current\n",
+ "v = 0.5 # voltage drop across p-n junction(assumed)\n",
+ "\n",
+ "#Calculation\n",
+ "Vp = (Vdc*h)+v\n",
+ "R = (Vdc-Vp)/I # R should be less than this value\n",
+ "T = 1.0/f\n",
+ "C1 = 0.5*10**-6 # capacitance(assumed)\n",
+ "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 1.0*10**-6 # capacitance(assumed)\n",
+ "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+ "\n",
+ "#Result\n",
+ "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+ "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+ "This value of R is not suitable because R must be less than 700 ohm.\n",
+ "\n",
+ "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+ "This value is suitable because R is less than 700 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.30, Page No. 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Range of firing angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # supply voltage\n",
+ "Rmin= 1000.0 # minimum value of R1 resistor\n",
+ "Rmax = 22*10**3 # maximum value of R1 resistor\n",
+ "Vg = 2.0 # gate triggering voltage\n",
+ "C = 0.47*10**-6 # capacitor value\n",
+ "f = 50.0 # frequency\n",
+ "#Calculations\n",
+ "# For Rmin\n",
+ "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+ "theta = math.ceil(theta*10)/10\n",
+ "Vc = Vs*math.cos(theta*math.pi/180)\n",
+ "Vc = math.floor(Vc*100)/100\n",
+ "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+ "alfa = math.floor(alfa*10)/10\n",
+ "\n",
+ "# for Rmax\n",
+ "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+ "theta2 = math.ceil(theta2*10)/10\n",
+ "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+ "Vc2 = math.floor(Vc2*100)/100\n",
+ "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+ "alfa2 = math.ceil(alfa2*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum firing angle = 8.7\u00b0\n",
+ "Maximum firing angle = 74.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 137
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.31, Page No. 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "f = 50.0 # frequency of supply\n",
+ "Vbb = 12.0 # typical input vpltage\n",
+ "P = 300*10**3 # maximumm average power dissipation\n",
+ "Rbb = 5.6*10**3 # base resistor\n",
+ "Iv = 4*10**-3 # Valley point voltage\n",
+ "h = 0.63 # intrinsic stand off ratio\n",
+ "Vd = 0.5 # drop across p-n junction\n",
+ "Vv = 2.0 # Valley point voltage\n",
+ "Ip = 5*10**-6 # peak point current\n",
+ "v = 0.18 # minimum voltage for which SCR will not trigger\n",
+ "\n",
+ "#calculation\n",
+ "T = 1/f\n",
+ "#operating point should be on the left of valley point\n",
+ "R_1 = (Vbb-Vv)/Iv # R should be greater than this value\n",
+ "Vp = (h*Vbb)+Vd\n",
+ "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+ "R_2 = (Vbb-Vp)/Ip # R should be less than this value\n",
+ "C = 0.02*10**-6 # assumed\n",
+ "R_3 = T/(C*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 0.04*10**-6 # assumed\n",
+ "R_4 = T/(C2*math.log(1/(1-h)))\n",
+ "R = 500*10**3 # assumed\n",
+ "Rmax = R+R_1\n",
+ "R3_1 = (10**4)/(h*Vbb)\n",
+ "R3 = 1200 # assumed\n",
+ "R4_1 = v*(R3+Rbb)/(Vbb-v) # R4 value should be less than this value\n",
+ "R4 = 100 # assumed \n",
+ "tw = R4*C2\n",
+ "tow_min = R_1*C2*math.log(1/(1-h))\n",
+ "alfa_min = tow_min*(360/T)\n",
+ "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+ "alfa_max = tow_max*(360/T)\n",
+ "\n",
+ "#Result\n",
+ "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+ "print(\"Hence not suitable.\")\n",
+ "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+ "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+ "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+ "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+ "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+ "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+ "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+ "This value of R is more than maximum of 788 k-ohm.\n",
+ "Hence not suitable.\n",
+ "\n",
+ "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+ "As this is less than max value. It is suitable. \n",
+ "Lets assume R = 500 k-ohm\n",
+ "Rmax = 502.5 k-ohm\n",
+ "\n",
+ "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+ "\n",
+ "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+ "\n",
+ "Minimum firing angle = 1.79\u00b0\n",
+ "Maximum firing angle = 359.7\u00b0\n",
+ "\n",
+ "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+ "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 166
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.32, Page No.92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# conduction time of thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R =0.8 # load resistance\n",
+ "L = 10*10**-6 # inductance\n",
+ "C = 50*10**-6 # capacitance\n",
+ "\n",
+ "#calculations\n",
+ "R1 = math.sqrt(4*L/C) # R should be less than this value\n",
+ "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Value of sqrt(4L/C) is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+ "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of sqrt(4L/C) is 0.8944 and give R = 0.8\n",
+ "Therefore, the circuit is underdamped.\n",
+ "\n",
+ "t0 = 157.08*10**-6 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 169
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.33, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Values of L and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I = 8.0 # load current\n",
+ "V = 90.0 # Supply voltage\n",
+ "t = 40.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculation\n",
+ "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+ "C_by_L = (2*I/V)**2 # using eq 2.33\n",
+ "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+ "CL = (t*2/math.pi)**2\n",
+ "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+ "\n",
+ "L = math.sqrt(CL/C_by_L)\n",
+ "C =C_by_L*L\n",
+ "\n",
+ "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 143.24*10**-6 H\n",
+ "C = 4.527*10**-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 173
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.34, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Value of C for commutation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 10 # load resistace\n",
+ "V = 100 # supply voltage \n",
+ "t = 50 * 10**-6 # turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "C = t/(R*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 7.21*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 176
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.35, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# L and C of commutation circuit\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 100 # supply voltage\n",
+ "I = 40 # maximumm load current\n",
+ "T = 40*10**-6 # turn off time\n",
+ "t = 1.5 # extra 50% tolerance\n",
+ "\n",
+ "#Calculation\n",
+ "T = T*t\n",
+ "C = I*T/V\n",
+ "L = (V**2)*C/(I**2)\n",
+ "Ip = V*math.sqrt(C/L)\n",
+ "L2 = 2* 10**-4 # assume\n",
+ "Ip2 = V*math.sqrt(C/L2)\n",
+ "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+ "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+ "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+ "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 24*10^-6 F\n",
+ "L = 1.5*10^-4 H\n",
+ "Peak capacitor current = 40 A\n",
+ "\n",
+ "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+ "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+ "\n",
+ "Hence,\n",
+ "C = 24*10^-6 F\n",
+ "L = 2.0*10^-4 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 187
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.36, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating of the thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vdc = 100.0 # input voltage\n",
+ "L = 0.1 *10**-3 # Inductance\n",
+ "C = 10*10**-6 # capacitance\n",
+ "Vc = 100.0 # iinitial voltage on capacitor\n",
+ "t = 25.0*10**-6 # thyristor turn offf time\n",
+ "I = 10.0 # Thyristor load current\n",
+ "\n",
+ "#Calculations\n",
+ "t_off = Vc*C/I\n",
+ "Ic = Vdc*math.sqrt(C/L)\n",
+ "\n",
+ "# Result\n",
+ "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+ "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+ "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "t_off = 100 *10^-6 S\n",
+ "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+ "\n",
+ "Peak capacitor current = 31.62A \n",
+ "Maximum current rating of thyristor should be more than 31.62A\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.37, Page No. 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# value of R and C for snubber circuit\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "dv_by_dt = 25*10**6 # Thyristor's dv/dt rating\n",
+ "L = 0.2 *10**-3 # source inductance\n",
+ "V = 230 # Supply voltage\n",
+ "df = 0.65 # damping factor\n",
+ "\n",
+ "#Calculation\n",
+ "Vm = V*math.sqrt(2) \n",
+ "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+ "R = 2*df*math.sqrt(L/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 134.62*10^-9 F\n",
+ "\n",
+ "R = 50.1 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.38, Page No.97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snuubber circuit parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 300.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "f = 2000.0 # operating frequency otf the circuit\n",
+ "dv_by_dt = 100.0*10**6 # required dv/dt rating of the circuit\n",
+ "I = 100.0 # discharge current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "R = V/I\n",
+ "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+ "C = math.floor(C*10**9)/10**9\n",
+ "#(b)\n",
+ "P = (C*V**2*f)/2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+ "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+ "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "R = 3.000000 ohm\n",
+ "C = 0.112*10^-6 F\n",
+ "\n",
+ "(b)\n",
+ "Snubber power loss = 10.08 W\n",
+ "\n",
+ "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.39, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# maximum permissiible values of dv/dt and di/dt\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 4.0 # resistance\n",
+ "L = 6.0*10**-6 # inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "V = 300.0 # Supply voltage\n",
+ "\n",
+ "#calculations\n",
+ "di_dt = V/L\n",
+ "Isc = V/R\n",
+ "dv_dt =(R* di_dt)+(Isc/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum di/dt = 50*10^6 A/s\n",
+ "\n",
+ "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.40, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snubber circuit designe\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "\n",
+ "Rl = 8.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "I = 200.0 # repititive peak current \n",
+ "di_dt = 40.0*10**6 # max. di/di rating\n",
+ "dv_dt = 150.0*10**6 # max. dv/dv rating\n",
+ "sf = 2.0 # safety factor for thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = I/2.0\n",
+ "di_dt2 = di_dt/2.0\n",
+ "dv_dt2 = dv_dt/2\n",
+ "Vp = V*math.sqrt(2)\n",
+ "#Vp = math.floor((Vp*10)/10)\n",
+ "L2 = Vp/di_dt2\n",
+ "L2 = math.floor(L2*10**8)/10**8\n",
+ "R2 = L2*dv_dt2/Vp\n",
+ "Ip = Vp/Rl\n",
+ "Ic = (math.floor(Vp*10)/10)/R2\n",
+ "It = math.floor(Ip*100)/100+Ic\n",
+ "Ic_max = I1 - Ip\n",
+ "Ic_max = math.ceil(Ic_max*100)/100\n",
+ "R = Vp /Ic_max\n",
+ "R = math.ceil(R)\n",
+ "h = 0.65 #assumed \n",
+ "C = 4*(h**2)*L2/R**2\n",
+ "dv_dt3 = Vp/((R+Rl)*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+ "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+ "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+ "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+ "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+ "print(\"Total current through capacitor = %.2f\"%It)\n",
+ "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+ "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+ "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+ "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when safety factor is 2 ,maximum permisible ratings are:\n",
+ "max. di/dt = 20*10^6 A/s\n",
+ "max. dv/dt = 75*10^6 V/s\n",
+ "\n",
+ "Peak value of input voltage = 325.2 V\n",
+ "L = 16.26*10^-6 H \n",
+ "R = 3.75 ohm\n",
+ "Peak load current = 40.65A\n",
+ "Peak capacitor discharge current = 86.74 A\n",
+ "Total current through capacitor = 127.39\n",
+ "\n",
+ "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+ "R = 6 ohm\n",
+ "C = 0.7633*10^-6F\n",
+ "dv/dt = 30.43*10^6 V/s\n",
+ "Since this value is within specified limit the design is safe. \n",
+ "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.41, Page No. 100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fault clearing time(referring to fig.2.59)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I2t = 30 # I2t rating of thyristor\n",
+ "V = 230 # supply voltage\n",
+ "#For resistor values refer to fig 2.59\n",
+ "R1 = 2.0\n",
+ "R2 = 1.0\n",
+ "R3 = 5.0\n",
+ "R4 = 6.0\n",
+ "R5 = 5.0 \n",
+ "#calculation\n",
+ "Rnet = R1+(R3*R2)/R4\n",
+ "If = math.sqrt(2)*V/Rnet\n",
+ "tc = I2t/(If**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tc = 2.277*10^-3 seconds \n"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.42, Page No.103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# number of thyristors in series and parallel\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "\n",
+ "\n",
+ "# Calculation\n",
+ "np = I/((1-d)*I1)\n",
+ "ns = V/((1-d)*V1)\n",
+ "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+ "print(\"ns = %d\"%(math.ceil(ns)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "np = 5.71 or 6\n",
+ "ns = 5\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.43, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of R and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(referring to example 2.42)\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "Ib = 8*10**-3 # maximum forward leakage current\n",
+ "del_Q = 30*10**-6 # recovery charge difference\n",
+ "ns = 5 # number of series thyristors \n",
+ "\n",
+ "#Calculations\n",
+ "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+ "C = (ns-1)*del_Q/(ns*V1-V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 31.25*10^3 ohm\n",
+ "C = 0.12*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.44, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# series resistance\n",
+ "\n",
+ "import math\n",
+ "# variabe declaration\n",
+ "I1 = 200 # thyristor1 current rating\n",
+ "I2 = 300 # thyristor2 current rating\n",
+ "V1 = 1.5 # on state voltage drop of thyristor1 \n",
+ "V2 = 1.2 # on state voltage drop of thyristor2\n",
+ "\n",
+ "#Calculations\n",
+ "R = (V1-V2)/(I2-I1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.3f ohm\"%R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 0.003 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.45, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "ns = 12 # no of series thyristors\n",
+ "V = 16*10**3 # maximum DC voltage rating\n",
+ "Ib = 10*10**-3 # maximum leakage current of thyristor\n",
+ "del_Q = 150 *10**-6 # recovery charge differences of thyristors\n",
+ "R = 56*10**3 # resistance\n",
+ "C = 0.5 *10**-6 # Capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+ "ssvd = 1-(V/(ns*Vd1))\n",
+ "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+ "tsvd = 1-(V/(ns*Vd2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+ "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+ "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+ "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Maximum steady state voltage rating = 1846.67 V\n",
+ "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+ "(c) Maximum transient state voltage rating = 1608.33 V\n",
+ "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.46, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# No of Thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 500.0 # single thyristor voltage rating\n",
+ "I = 75.0 # single thyristor current rating\n",
+ "Vmax = 7.5*10**3 # overall voltage rating of the circuit\n",
+ "Imax = 1.0*10**3 # overall current rating of the circuit\n",
+ "df = 0.14 # derating factor\n",
+ "\n",
+ "#Calcaulations\n",
+ "ns = Vmax/((1-df)*V)\n",
+ "np = Imax/((1-df)*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+ "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No of thyristors in series, ns = 17.44 say 18\n",
+ "No of thyristors in parallel, np = 15.50 say 16\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.47, Page No. 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn off voltage and discharge current through SCR\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 8.0*10**3 # max voltage rating of the circuit\n",
+ "R = 20.0*10**3 # static equalising resistance \n",
+ "Rc = 25.0 # Resistace of dynamic equalising circuit\n",
+ "C = 0.1*10**-6 # Capacitance of dynamic equalising circuit\n",
+ "Ib1 = 22.0*10**-3 # leakage current of thyristor1\n",
+ "Ib2 = 20.0*10**-3 # leakage current of thyristor2\n",
+ "Ib3 = 18.0*10**-3 # leakage current of thyristor3\n",
+ "\n",
+ "\n",
+ "#Calculations \n",
+ "#(a)\n",
+ "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+ "V1 = (I-Ib1)*R\n",
+ "V2 = (I-Ib2)*R\n",
+ "V3 = (I-Ib3)*R\n",
+ "#(b)\n",
+ "I1 = V1/Rc\n",
+ "I2 = V2/Rc\n",
+ "I3 = V3/Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+ "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+ "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+ "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+ "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+ "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across SCR 1 = 2626.6V\n",
+ "Voltage across SCR 2 = 2666.6V\n",
+ "Voltage across SCR 3 = 2706.6V\n",
+ "Discharge current through SCR 1 = 105.06A\n",
+ "Discharge current through SCR 2 = 106.66A\n",
+ "Discharge current through SCR 3 = 108.26A\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_2_3.ipynb b/Power_Electronics/Power_electronics_ch_2_3.ipynb new file mode 100755 index 00000000..6e52e316 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_2_3.ipynb @@ -0,0 +1,2357 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.1, Page No.39 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Anode current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa_1 = 0.35 # Gain of PNP transistor of two transistor model\n",
+ "alfa_2 = 0.40 # Gain of NPN transistor of two transistor model\n",
+ "Ig = 40*10**-3 # Gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Anode current = 64 * 10^-3 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.2, Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Equivalent capacitor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "dv_by_dt = 190 # in Volt per micro-sec\n",
+ "Ic= 8 *10**-3 # Capacitive current\n",
+ "\n",
+ "#Calculation\n",
+ "C = Ic/(dv_by_dt*10**6)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 42.1 * 10^12 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.3, Page No. 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vt = 0.75 # Thyristor trigger voltage\n",
+ "It = 7*10**-3 # Thyristor trigger current\n",
+ "Vcc = 20 # Suppy voltage, given data\n",
+ "Rg = 2000 # gate resistor, given data\n",
+ "R = 200 # input resistor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "V0 = 20 # when thyristor is not conducting, there is no current through it.\n",
+ "#(b)\n",
+ "Vs = Vt+It*Rg\n",
+ "#(c)\n",
+ "i= 5*10**-3 #to have holding curernt\n",
+ "v1= i*R\n",
+ "#(d)\n",
+ "drop =0.7 # voltage drop across thyristor\n",
+ "v2=v1+drop\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) V0 = 20\n",
+ "(b) Vs = 14.75\n",
+ "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+ "(d) Vcc should be reduced to less than 1.7 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.4, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# calculation of Vg,Ig and Rg\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 25 # gate signal amplitude\n",
+ "Pavg_loss = 0.6 # Avg power loss\n",
+ "\n",
+ "#Calculations\n",
+ "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Vg = 1+9*Ig #given data\n",
+ "Rg = (24-9*Ig)/Ig\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vg = 3.826 \n",
+ "Ig = 0.314\n",
+ "Rg = 67.43\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.5, Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "L = 10 # Inductance\n",
+ "i = 80*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculations\n",
+ "t = L*i/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of pulse should be more than 8 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.6, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Minimum width of gate pulse\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100 # DC supply voltage\n",
+ "R = 10 # Resistance\n",
+ "L = 5 # Inductance\n",
+ "i = 50*10**-3 # latching current of thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e)) # i = (V/R)*(1-e^(-R*t/L))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum width of gate pulse is 2.5 milli-second.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.7, Page No. 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 90.0 # DC supply voltage\n",
+ "i = 40*10**-3 # latching current of thyristor\n",
+ "t = 40* 10**-6 # pulse width\n",
+ "R = 25.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "\n",
+ "#(b)\n",
+ "R = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+ "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+ "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "At the end of the gate pulse, i = 0.0072 A\n",
+ "Since the current is less than latching current, thyristor will not turn on.\n",
+ "\n",
+ "(b)\n",
+ "R should be less than 2744 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.8, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistor value\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 100.0 # DC supply voltage\n",
+ "i = 50*10**-3 # holding current of thyristor\n",
+ "t = 50* 10**-6 # pulse width\n",
+ "R = 20.0 # load Resistance\n",
+ "L = 0.5 # Inductance\n",
+ "\n",
+ "#Calculations\n",
+ "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+ "Rmax = V/(i-i2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+ "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+ "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When firing pulse ends, i = 9.99 mA\n",
+ "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+ "Maximum value of R = 2499.375 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.9, Page No.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# triggering angle \n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 240 # AC supply voltage\n",
+ "f = 50 # supply frequency\n",
+ "R = 5 # load resistance\n",
+ "L = 0.05 # inductance\n",
+ "\n",
+ "#Calculation\n",
+ "theta = math.atan(2*math.pi*f*L/R)\n",
+ "theta = theta*180/math.pi\n",
+ "fi = theta+90\n",
+ "print(\"theta = %.2f\u00b0\"%(theta))\n",
+ "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+ "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+ "print(\"fi = %.2f\u00b0\"%fi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 72.34\u00b0)\n",
+ "\n",
+ "Current transient is maximun(worst) if\n",
+ "sin(fi-theta) = 1\n",
+ "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+ "fi = 162.34\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.10, Page No.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.11, Page No.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example \n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.12, Page No. 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms current and form factor\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "I = 120 # Current in Ampere\n",
+ "gamma = 180.0 # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+ "\n",
+ "# calculations\n",
+ "#(a)-- formulas\n",
+ "#(b)\n",
+ "Irms = I*math.sqrt(gamma/360)\n",
+ "Iavg = I*(gamma/360)\n",
+ "ff = Irms/Iavg\n",
+ "\n",
+ "#result\n",
+ "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS curent = 84.85 A\n",
+ "Average Current = 60 A\n",
+ "Form factor = 1.414\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.13, Page No.53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to the load and average load current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "# variable declaration\n",
+ "R = 100.0 # load resistance\n",
+ "V = 230.0 # Supply Voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower=math.pi/3\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+ "Irms = math.sqrt(I)\n",
+ "P =(Irms**2)*R\n",
+ "\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower2=math.pi/4\n",
+ "wt_upper2 =math.pi\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "x = (math.sqrt(2)*V/R)\n",
+ "x = math.floor(x*100)/100\n",
+ "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+ "Irms2 = math.sqrt(I2)\n",
+ "P2 =(Irms2**2)*R\n",
+ "\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return (3.25/(2*math.pi))*math.sin(x)\n",
+ "wt_lower3=math.pi/3\n",
+ "wt_upper3 =math.pi\n",
+ "val3 = quad(f,wt_lower3,wt_upper3)\n",
+ "wt_lower4=math.pi/4\n",
+ "wt_upper4 =math.pi\n",
+ "val4 = quad(f,wt_lower4,wt_upper4)\n",
+ "\n",
+ "\n",
+ "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+ "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+ "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+ "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+ "# for (b) answer matches to the book if val2[0] = 1.4255"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "RMS current = 1.46 A\n",
+ "Power supplied to load = 213 W\n",
+ "\n",
+ "\n",
+ "(b)\n",
+ "RMS current = 1.549431 A\n",
+ "Power supplied to load = 240.073727 W\n",
+ "\n",
+ "(c)\n",
+ "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+ "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.14, Page No.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average power loss in thyristor\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Iavg = 200 # Average current\n",
+ "v1 = 1.8 # voltage drop across thyristor for 200A current\n",
+ "v2 = 1.9 # voltage drop across thyristor for 400A current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "A1 = Iavg # amplitude of rectangular current wave\n",
+ "P1 = A1*v1\n",
+ "#(b)\n",
+ "A2 = 2*Iavg\n",
+ "P2 = A2*v2*math.pi/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average power loss = %d W\"%P1)\n",
+ "print(\"(b) Average power loss = %d W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average power loss = 360 W\n",
+ "(b) Average power loss = 380 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.15, Page No.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# average on state current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 40 # rms on state current\n",
+ "f = 50 # frequency\n",
+ "cp_a =170 # conduction period\n",
+ "cp_b =100 # conduction period\n",
+ "cp_c =40 # conduction period\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = 180-cp_a\n",
+ "alfa_b = 180-cp_b\n",
+ "alfa_c = 180-cp_c\n",
+ "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+ "Iv_a = 0.316*Im_a\n",
+ "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+ "Iv_b = 0.1868*Im_b\n",
+ "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+ "Iv_c = 0.0372*Im_c\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+ "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+ "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+ "#answer for(b) is not matching with the answer given in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Iavg = 25.295 A\n",
+ "(b) Iavg = 19.13 A\n",
+ "(c) Iavg = 11.62 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 105
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.16, page No. 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power dissiopation\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "It = 20 # constant current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vt = 0.9+ 0.02*It\n",
+ "P1 = Vt*It\n",
+ "#(b)\n",
+ "def f(x):\n",
+ " return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+ "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+ "theta_lower = 0\n",
+ "theta_upper = math.pi\n",
+ "val = quad(f,theta_lower,theta_upper)\n",
+ "P2 = val[0]\n",
+ "#(c)\n",
+ "P3 = P1/2\n",
+ "#(d)\n",
+ "P4 = P1/3\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Power dissipation = %d W\"%P1)\n",
+ "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+ "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+ "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power dissipation = 26 W\n",
+ "(b) Mean Power dissipation = 37.74 W\n",
+ "(c) Mean Power dissipation = 13 W\n",
+ "(d) Mean Power dissipation = 8.67 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 115
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.17, Page No. 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# I^2t rating \n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Is = 2000.0 # half cycle surge current rating for SCR\n",
+ "f = 50.0 # operating AC frequency\n",
+ "\n",
+ "#Calculation\n",
+ "T = 1/f\n",
+ "t_half = T/2\n",
+ "t = t_half/2\n",
+ "I = math.sqrt((Is**2)*t/t_half)\n",
+ "rating = (I**2)*t_half\n",
+ "\n",
+ "#Result\n",
+ "print(\"I^2t rating = %d A^2 secs\"%rating)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "I^2t rating = 20000 A^2 secs\n"
+ ]
+ }
+ ],
+ "prompt_number": 138
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.18, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Resistance and average power loss\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "P = 6 #peak power loss\n",
+ "d = 0.3 # duty cylce \n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "#solution of equation 9Ig^2+Ig-6 = 0\n",
+ "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Ig = math.ceil(Ig*1000)/1000\n",
+ "Rg = (11/Ig)-9 #from KVL equation of gate circuit\n",
+ "#(b)\n",
+ "Pavg = P*d\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+ "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Ig = 0.763 A \n",
+ "Rg = 5.417 ohm\n",
+ "\n",
+ "(b) Average power loss = 1.8 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 144
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# trigger current and voltage for gate power dissipation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vs = 12 # supply voltage\n",
+ "P = 0.3 # Power dissipation\n",
+ "Rs = 100 # load line slope i.e. source resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+ "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs) #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+ "Vg = P/Ig\n",
+ "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ig = 35.5 mA\n",
+ "Vg = 8.45 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 150
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.20, Page No. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Finding values of resistors\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Es = 12.0 # Supply voltage\n",
+ "V = 800.0 # SCR voltage rating\n",
+ "I = 110.0 # SCR currert rating\n",
+ "imax = 250*10**-3 # Maximum permissible current through battery\n",
+ "isc = 600*10**-3 # short circuit current of the battery\n",
+ "Vg = 2.4 # required gate voltage\n",
+ "Ig = 50*10**-3 # required gate current\n",
+ "Vgmax = 3 # maximum gate voltage\n",
+ "Igmax = 100*10**-3 # maximum gate current\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rs = Es/isc\n",
+ "#considering R2 is not connected\n",
+ "R1 =(Es/imax)-Rs\n",
+ "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+ "R1min = Es/Igmax-Rs\n",
+ "R1max = ((Es-Vg)/Ig)-Rs\n",
+ "R1 = 125 #selected \n",
+ "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+ "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rs = 20 ohm \n",
+ "\n",
+ "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+ "Therefore, select R1 = 125 \n",
+ "\n",
+ "R2 should be less than 48.333 ohm.\n",
+ "Therefore, select R2 = 48 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.21, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Surface temperature\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "l = 0.2 # length of aluminium rod\n",
+ "w = 0.01 # width of aluminium rod\n",
+ "d = 0.01 # depth of aluminium rod\n",
+ "tc = 220 # thermal conductivity\n",
+ "T1 = 30 # temperature at far end\n",
+ "P = 3 # injected heat\n",
+ "\n",
+ "#Calculation\n",
+ "theta = l/(tc*w*d)\n",
+ "T2 = P*theta+T1\n",
+ "\n",
+ "#Result\n",
+ "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.22, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Power losses\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "l = 2*10**-3 # lengthh of aluminium plate\n",
+ "a = 12*10**-4 # cross-section area\n",
+ "tc = 220 # thermal conductivity\n",
+ "td = 4 # desired thermal drop along length\n",
+ "\n",
+ "#Calculations\n",
+ "theta = l/(a*tc)\n",
+ "theta = math.floor(theta*10**6)/10**6\n",
+ "P_loss = td/theta\n",
+ "\n",
+ "#Result\n",
+ "print(\"power losses = %.2f W\"%P_loss)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power losses = 528.05 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.23, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#thermal resistance of heat sink\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 30.0 # power dissipation\n",
+ "T1 =125.0 # max junction temperature\n",
+ "T2 = 50.0 # max ambient temperature\n",
+ "tr1 =1.0 # thermal resistance of thyristor\n",
+ "tr2 = 0.3 # therrmal resistance of insuulator\n",
+ "\n",
+ "#calculations\n",
+ "Tr = (T1-T2)/P\n",
+ "Tr_hs = Tr-tr1-tr2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.24, Page No.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Junction temperature\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "tr = 0.627 # thermal resistance of device\n",
+ "T = 93 # heat sink temperature\n",
+ "V = 3 # voltage at junction\n",
+ "I = 25 # current at junction\n",
+ "\n",
+ "#calculation\n",
+ "T_junction = tr*V*I+T\n",
+ "\n",
+ "#Result\n",
+ "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Junction Temperature = 140\u00b0C\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.25, Page No. 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Thermal resistance\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 40.0 #steady power loss in an SCR\n",
+ "Tr_hs = 0.8 # heat sink resistance\n",
+ "T1 = 120.0 # Maximumm junction temperature\n",
+ "T2 = 35.0 # ambient temperature\n",
+ "\n",
+ "#calculation\n",
+ "Tr = (T1-T2)/P\n",
+ "Rsh = Tr - Tr_hs\n",
+ "\n",
+ "#Result\n",
+ "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of heat sink = 1.325\u00b0C/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.26, Page No. 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power loss and % increase in rating\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Tj = 125 # maximum junction temperature\n",
+ "Ts1 = 80 # max heat sink temperature\n",
+ "tr_jc = 0.7 # thermal resistance from junction to case \n",
+ "tr_cs = 0.4 # thermal resistance from case to sink\n",
+ "Ts2 = 50 # decreased heat sink temperature \n",
+ "#calculations\n",
+ "#(a)\n",
+ "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+ "#(b)\n",
+ "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+ "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+ "rating = math.floor(rating*100)/100\n",
+ "# result\n",
+ "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+ "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average power loss = 40.91W\n",
+ "\n",
+ "(b)\n",
+ "Average power loss = 68.18W\n",
+ "% increase in rating = 29.09%\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.27, Page No. 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Minnimum and maximum firing angle of triac\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # Supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "Vc = 25.0 # breakdown voltage\n",
+ "C = 0.6*10**-6 # capacitance\n",
+ "Rmin = 2000 # minimum resistance \n",
+ "Rmax = 20000 # maximum resistance\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "pi = math.ceil(math.pi*10**4)/10**4\n",
+ "Xc = 1/(2*pi*f*C)\n",
+ "Xc = math.floor(Xc*100)/100\n",
+ "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+ "Z1_angle=math.atan(Xc/Rmin)\n",
+ "I1_m = Vs/Z1_m\n",
+ "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+ "I1_angle = Z1_angle\n",
+ "Vc_m = I1_m*Xc\n",
+ "Vc_m = math.ceil(Vc_m*100)/100\n",
+ "Vc_angle = I1_angle*(180/math.pi)-90\n",
+ "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+ "\n",
+ "#(b)\n",
+ "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+ "Z2_m = math.floor(Z2_m*10)/10\n",
+ "Z2_angle=math.atan(Xc/Rmax)\n",
+ "I2_m = Vs/Z2_m\n",
+ "I2_m = math.floor(I2_m*10**6)/10**6\n",
+ "I2_angle = Z2_angle\n",
+ "V2c_m = I2_m*Xc\n",
+ "V2c_m = math.ceil(V2c_m*100)/100\n",
+ "V2c_angle = I2_angle*(180/math.pi)-90\n",
+ "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Xc = %.2f ohms\"%Xc)\n",
+ "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+ "\n",
+ "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+ "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+ "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+ "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Xc = 5305.15 ohms\n",
+ "\n",
+ "(a) When R = 2000 ohms\n",
+ " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+ " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+ "\n",
+ "Minimum firing angle = 25.37\u00b0\n",
+ "\n",
+ "(b) When R = 20000 ohms\n",
+ " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+ " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+ "\n",
+ "Voltage across capacitor,\n",
+ "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+ "\n",
+ "Maximum firing angle = 92.60\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.28, Page no. 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 32.0 #voltage\n",
+ "h = 0.63 # voltage gain\n",
+ "Ip = 10*10**-6 # current \n",
+ "Vv = 3.5 # voltage drop\n",
+ "Iv = 10*10**-3 # current through the circuit\n",
+ "Vf = 0.5 # forward voltage drop across p-n junction\n",
+ "f = 50.0 # frequency of ascillation \n",
+ "t = 50.0*10**-6 # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+ "C = 0.4*10**-6 # Capacitance(assumed)\n",
+ "\n",
+ "#Calculations\n",
+ "T = 1/f\n",
+ "Vp = V*h+Vf\n",
+ "Rmax = (V-Vp)/Ip # R should be less than the given value\n",
+ "Rmin = (V-Vv)/Iv # R should be more than the given value\n",
+ "R = T/(C*math.log(1/(1-h)))\n",
+ "R4 = t/C\n",
+ "R3 = 10**4/(h*V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+ "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+ "Hence the value is suitable.\n",
+ "\n",
+ "R4 = 125 ohm \n",
+ "R3 = 496 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.29, Page No. 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#values of various components of circuit(referring to fig.2.36(a))\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "f = 2.0*10**3 # ouutput frequency\n",
+ "Vdc = 10 # input voltage\n",
+ "h = 0.6 # voltage gain\n",
+ "I = 0.005 # peak discharge current\n",
+ "v = 0.5 # voltage drop across p-n junction(assumed)\n",
+ "\n",
+ "#Calculation\n",
+ "Vp = (Vdc*h)+v\n",
+ "R = (Vdc-Vp)/I # R should be less than this value\n",
+ "T = 1.0/f\n",
+ "C1 = 0.5*10**-6 # capacitance(assumed)\n",
+ "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 1.0*10**-6 # capacitance(assumed)\n",
+ "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+ "\n",
+ "#Result\n",
+ "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+ "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+ "This value of R is not suitable because R must be less than 700 ohm.\n",
+ "\n",
+ "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+ "This value is suitable because R is less than 700 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 112
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.30, Page No. 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Range of firing angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vs = 230.0 # supply voltage\n",
+ "Rmin= 1000.0 # minimum value of R1 resistor\n",
+ "Rmax = 22*10**3 # maximum value of R1 resistor\n",
+ "Vg = 2.0 # gate triggering voltage\n",
+ "C = 0.47*10**-6 # capacitor value\n",
+ "f = 50.0 # frequency\n",
+ "#Calculations\n",
+ "# For Rmin\n",
+ "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+ "theta = math.ceil(theta*10)/10\n",
+ "Vc = Vs*math.cos(theta*math.pi/180)\n",
+ "Vc = math.floor(Vc*100)/100\n",
+ "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+ "alfa = math.floor(alfa*10)/10\n",
+ "\n",
+ "# for Rmax\n",
+ "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+ "theta2 = math.ceil(theta2*10)/10\n",
+ "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+ "Vc2 = math.floor(Vc2*100)/100\n",
+ "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+ "alfa2 = math.ceil(alfa2*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum firing angle = 8.7\u00b0\n",
+ "Maximum firing angle = 74.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 137
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.31, Page No. 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "f = 50.0 # frequency of supply\n",
+ "Vbb = 12.0 # typical input vpltage\n",
+ "P = 300*10**3 # maximumm average power dissipation\n",
+ "Rbb = 5.6*10**3 # base resistor\n",
+ "Iv = 4*10**-3 # Valley point voltage\n",
+ "h = 0.63 # intrinsic stand off ratio\n",
+ "Vd = 0.5 # drop across p-n junction\n",
+ "Vv = 2.0 # Valley point voltage\n",
+ "Ip = 5*10**-6 # peak point current\n",
+ "v = 0.18 # minimum voltage for which SCR will not trigger\n",
+ "\n",
+ "#calculation\n",
+ "T = 1/f\n",
+ "#operating point should be on the left of valley point\n",
+ "R_1 = (Vbb-Vv)/Iv # R should be greater than this value\n",
+ "Vp = (h*Vbb)+Vd\n",
+ "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+ "R_2 = (Vbb-Vp)/Ip # R should be less than this value\n",
+ "C = 0.02*10**-6 # assumed\n",
+ "R_3 = T/(C*math.log(1/(1-h)))\n",
+ "\n",
+ "C2 = 0.04*10**-6 # assumed\n",
+ "R_4 = T/(C2*math.log(1/(1-h)))\n",
+ "R = 500*10**3 # assumed\n",
+ "Rmax = R+R_1\n",
+ "R3_1 = (10**4)/(h*Vbb)\n",
+ "R3 = 1200 # assumed\n",
+ "R4_1 = v*(R3+Rbb)/(Vbb-v) # R4 value should be less than this value\n",
+ "R4 = 100 # assumed \n",
+ "tw = R4*C2\n",
+ "tow_min = R_1*C2*math.log(1/(1-h))\n",
+ "alfa_min = tow_min*(360/T)\n",
+ "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+ "alfa_max = tow_max*(360/T)\n",
+ "\n",
+ "#Result\n",
+ "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+ "print(\"Hence not suitable.\")\n",
+ "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+ "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+ "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+ "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+ "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+ "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+ "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+ "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+ "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+ "This value of R is more than maximum of 788 k-ohm.\n",
+ "Hence not suitable.\n",
+ "\n",
+ "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+ "As this is less than max value. It is suitable. \n",
+ "Lets assume R = 500 k-ohm\n",
+ "Rmax = 502.5 k-ohm\n",
+ "\n",
+ "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+ "\n",
+ "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+ "\n",
+ "Minimum firing angle = 1.79\u00b0\n",
+ "Maximum firing angle = 359.7\u00b0\n",
+ "\n",
+ "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+ "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 166
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.32, Page No.92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# conduction time of thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R =0.8 # load resistance\n",
+ "L = 10*10**-6 # inductance\n",
+ "C = 50*10**-6 # capacitance\n",
+ "\n",
+ "#calculations\n",
+ "R1 = math.sqrt(4*L/C) # R should be less than this value\n",
+ "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Value of sqrt(4L/C) is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+ "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of sqrt(4L/C) is 0.8944 and give R = 0.8\n",
+ "Therefore, the circuit is underdamped.\n",
+ "\n",
+ "t0 = 157.08*10**-6 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 169
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.33, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Values of L and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I = 8.0 # load current\n",
+ "V = 90.0 # Supply voltage\n",
+ "t = 40.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculation\n",
+ "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+ "C_by_L = (2*I/V)**2 # using eq 2.33\n",
+ "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+ "CL = (t*2/math.pi)**2\n",
+ "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+ "\n",
+ "L = math.sqrt(CL/C_by_L)\n",
+ "C =C_by_L*L\n",
+ "\n",
+ "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 143.24*10**-6 H\n",
+ "C = 4.527*10**-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 173
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.34, Page No. 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Value of C for commutation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 10 # load resistace\n",
+ "V = 100 # supply voltage \n",
+ "t = 50 * 10**-6 # turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "C = t/(R*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 7.21*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 176
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.35, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# L and C of commutation circuit\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 100 # supply voltage\n",
+ "I = 40 # maximumm load current\n",
+ "T = 40*10**-6 # turn off time\n",
+ "t = 1.5 # extra 50% tolerance\n",
+ "\n",
+ "#Calculation\n",
+ "T = T*t\n",
+ "C = I*T/V\n",
+ "L = (V**2)*C/(I**2)\n",
+ "Ip = V*math.sqrt(C/L)\n",
+ "L2 = 2* 10**-4 # assume\n",
+ "Ip2 = V*math.sqrt(C/L2)\n",
+ "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+ "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+ "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+ "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 24*10^-6 F\n",
+ "L = 1.5*10^-4 H\n",
+ "Peak capacitor current = 40 A\n",
+ "\n",
+ "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+ "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+ "\n",
+ "Hence,\n",
+ "C = 24*10^-6 F\n",
+ "L = 2.0*10^-4 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 187
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.36, Page No. 93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating of the thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vdc = 100.0 # input voltage\n",
+ "L = 0.1 *10**-3 # Inductance\n",
+ "C = 10*10**-6 # capacitance\n",
+ "Vc = 100.0 # iinitial voltage on capacitor\n",
+ "t = 25.0*10**-6 # thyristor turn offf time\n",
+ "I = 10.0 # Thyristor load current\n",
+ "\n",
+ "#Calculations\n",
+ "t_off = Vc*C/I\n",
+ "Ic = Vdc*math.sqrt(C/L)\n",
+ "\n",
+ "# Result\n",
+ "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+ "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+ "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "t_off = 100 *10^-6 S\n",
+ "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+ "\n",
+ "Peak capacitor current = 31.62A \n",
+ "Maximum current rating of thyristor should be more than 31.62A\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.37, Page No. 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# value of R and C for snubber circuit\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "dv_by_dt = 25*10**6 # Thyristor's dv/dt rating\n",
+ "L = 0.2 *10**-3 # source inductance\n",
+ "V = 230 # Supply voltage\n",
+ "df = 0.65 # damping factor\n",
+ "\n",
+ "#Calculation\n",
+ "Vm = V*math.sqrt(2) \n",
+ "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+ "R = 2*df*math.sqrt(L/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 134.62*10^-9 F\n",
+ "\n",
+ "R = 50.1 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.38, Page No.97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snuubber circuit parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 300.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "f = 2000.0 # operating frequency otf the circuit\n",
+ "dv_by_dt = 100.0*10**6 # required dv/dt rating of the circuit\n",
+ "I = 100.0 # discharge current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "R = V/I\n",
+ "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+ "C = math.floor(C*10**9)/10**9\n",
+ "#(b)\n",
+ "P = (C*V**2*f)/2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+ "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+ "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "R = 3.000000 ohm\n",
+ "C = 0.112*10^-6 F\n",
+ "\n",
+ "(b)\n",
+ "Snubber power loss = 10.08 W\n",
+ "\n",
+ "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.39, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# maximum permissiible values of dv/dt and di/dt\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 4.0 # resistance\n",
+ "L = 6.0*10**-6 # inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "V = 300.0 # Supply voltage\n",
+ "\n",
+ "#calculations\n",
+ "di_dt = V/L\n",
+ "Isc = V/R\n",
+ "dv_dt =(R* di_dt)+(Isc/C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum di/dt = 50*10^6 A/s\n",
+ "\n",
+ "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.40, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# snubber circuit designe\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "\n",
+ "Rl = 8.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "I = 200.0 # repititive peak current \n",
+ "di_dt = 40.0*10**6 # max. di/di rating\n",
+ "dv_dt = 150.0*10**6 # max. dv/dv rating\n",
+ "sf = 2.0 # safety factor for thyristor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = I/2.0\n",
+ "di_dt2 = di_dt/2.0\n",
+ "dv_dt2 = dv_dt/2\n",
+ "Vp = V*math.sqrt(2)\n",
+ "#Vp = math.floor((Vp*10)/10)\n",
+ "L2 = Vp/di_dt2\n",
+ "L2 = math.floor(L2*10**8)/10**8\n",
+ "R2 = L2*dv_dt2/Vp\n",
+ "Ip = Vp/Rl\n",
+ "Ic = (math.floor(Vp*10)/10)/R2\n",
+ "It = math.floor(Ip*100)/100+Ic\n",
+ "Ic_max = I1 - Ip\n",
+ "Ic_max = math.ceil(Ic_max*100)/100\n",
+ "R = Vp /Ic_max\n",
+ "R = math.ceil(R)\n",
+ "h = 0.65 #assumed \n",
+ "C = 4*(h**2)*L2/R**2\n",
+ "dv_dt3 = Vp/((R+Rl)*C)\n",
+ "\n",
+ "#Result\n",
+ "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+ "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+ "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+ "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+ "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+ "print(\"Total current through capacitor = %.2f\"%It)\n",
+ "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+ "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+ "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+ "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "when safety factor is 2 ,maximum permisible ratings are:\n",
+ "max. di/dt = 20*10^6 A/s\n",
+ "max. dv/dt = 75*10^6 V/s\n",
+ "\n",
+ "Peak value of input voltage = 325.2 V\n",
+ "L = 16.26*10^-6 H \n",
+ "R = 3.75 ohm\n",
+ "Peak load current = 40.65A\n",
+ "Peak capacitor discharge current = 86.74 A\n",
+ "Total current through capacitor = 127.39\n",
+ "\n",
+ "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+ "R = 6 ohm\n",
+ "C = 0.7633*10^-6F\n",
+ "dv/dt = 30.43*10^6 V/s\n",
+ "Since this value is within specified limit the design is safe. \n",
+ "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.41, Page No. 100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fault clearing time(referring to fig.2.59)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "I2t = 30 # I2t rating of thyristor\n",
+ "V = 230 # supply voltage\n",
+ "#For resistor values refer to fig 2.59\n",
+ "R1 = 2.0\n",
+ "R2 = 1.0\n",
+ "R3 = 5.0\n",
+ "R4 = 6.0\n",
+ "R5 = 5.0 \n",
+ "#calculation\n",
+ "Rnet = R1+(R3*R2)/R4\n",
+ "If = math.sqrt(2)*V/Rnet\n",
+ "tc = I2t/(If**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tc = 2.277*10^-3 seconds \n"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.42, Page No.103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# number of thyristors in series and parallel\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "\n",
+ "\n",
+ "# Calculation\n",
+ "np = I/((1-d)*I1)\n",
+ "ns = V/((1-d)*V1)\n",
+ "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+ "print(\"ns = %d\"%(math.ceil(ns)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "np = 5.71 or 6\n",
+ "ns = 5\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.43, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of R and C\n",
+ "\n",
+ "import math\n",
+ "#variable declaration(referring to example 2.42)\n",
+ "V = 3*10**3 # supply voltage\n",
+ "I = 750.0 # supply current\n",
+ "V1 = 800.0 # Thyristor voltage rating\n",
+ "I1 = 175.0 # Thyristor current rating\n",
+ "d = 0.25 # derating\n",
+ "Ib = 8*10**-3 # maximum forward leakage current\n",
+ "del_Q = 30*10**-6 # recovery charge difference\n",
+ "ns = 5 # number of series thyristors \n",
+ "\n",
+ "#Calculations\n",
+ "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+ "C = (ns-1)*del_Q/(ns*V1-V)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 31.25*10^3 ohm\n",
+ "C = 0.12*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.44, Page No. 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# series resistance\n",
+ "\n",
+ "import math\n",
+ "# variabe declaration\n",
+ "I1 = 200 # thyristor1 current rating\n",
+ "I2 = 300 # thyristor2 current rating\n",
+ "V1 = 1.5 # on state voltage drop of thyristor1 \n",
+ "V2 = 1.2 # on state voltage drop of thyristor2\n",
+ "\n",
+ "#Calculations\n",
+ "R = (V1-V2)/(I2-I1)\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.3f ohm\"%R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 0.003 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.45, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "ns = 12 # no of series thyristors\n",
+ "V = 16*10**3 # maximum DC voltage rating\n",
+ "Ib = 10*10**-3 # maximum leakage current of thyristor\n",
+ "del_Q = 150 *10**-6 # recovery charge differences of thyristors\n",
+ "R = 56*10**3 # resistance\n",
+ "C = 0.5 *10**-6 # Capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+ "ssvd = 1-(V/(ns*Vd1))\n",
+ "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+ "tsvd = 1-(V/(ns*Vd2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+ "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+ "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+ "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Maximum steady state voltage rating = 1846.67 V\n",
+ "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+ "(c) Maximum transient state voltage rating = 1608.33 V\n",
+ "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.46, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# No of Thyristor\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 500.0 # single thyristor voltage rating\n",
+ "I = 75.0 # single thyristor current rating\n",
+ "Vmax = 7.5*10**3 # overall voltage rating of the circuit\n",
+ "Imax = 1.0*10**3 # overall current rating of the circuit\n",
+ "df = 0.14 # derating factor\n",
+ "\n",
+ "#Calcaulations\n",
+ "ns = Vmax/((1-df)*V)\n",
+ "np = Imax/((1-df)*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+ "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No of thyristors in series, ns = 17.44 say 18\n",
+ "No of thyristors in parallel, np = 15.50 say 16\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.47, Page No. 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Turn off voltage and discharge current through SCR\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vmax = 8.0*10**3 # max voltage rating of the circuit\n",
+ "R = 20.0*10**3 # static equalising resistance \n",
+ "Rc = 25.0 # Resistace of dynamic equalising circuit\n",
+ "C = 0.1*10**-6 # Capacitance of dynamic equalising circuit\n",
+ "Ib1 = 22.0*10**-3 # leakage current of thyristor1\n",
+ "Ib2 = 20.0*10**-3 # leakage current of thyristor2\n",
+ "Ib3 = 18.0*10**-3 # leakage current of thyristor3\n",
+ "\n",
+ "\n",
+ "#Calculations \n",
+ "#(a)\n",
+ "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+ "V1 = (I-Ib1)*R\n",
+ "V2 = (I-Ib2)*R\n",
+ "V3 = (I-Ib3)*R\n",
+ "#(b)\n",
+ "I1 = V1/Rc\n",
+ "I2 = V2/Rc\n",
+ "I3 = V3/Rc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+ "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+ "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+ "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+ "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+ "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across SCR 1 = 2626.6V\n",
+ "Voltage across SCR 2 = 2666.6V\n",
+ "Voltage across SCR 3 = 2706.6V\n",
+ "Discharge current through SCR 1 = 105.06A\n",
+ "Discharge current through SCR 2 = 106.66A\n",
+ "Discharge current through SCR 3 = 108.26A\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_3_1.ipynb b/Power_Electronics/Power_electronics_ch_3_1.ipynb new file mode 100755 index 00000000..8f24e4d1 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_3_1.ipynb @@ -0,0 +1,2276 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.1, Page No. 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.2, Page No. 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.3, Page No. 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half wave diode rectifier\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 12.0 # Voltage of the battery to be charged\n",
+ "B = 150.0 # battery capacity in Wh\n",
+ "I = 4.0 # average current requirement\n",
+ "t = 4.0 # transformer primary to secondary ratio \n",
+ "Vi = 230.0 # voltage at transformer primary\n",
+ "\n",
+ "# Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vp = Vi*sqrt_2/t\n",
+ "#(a)\n",
+ "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+ "ang_c = (180-alfa)-alfa\n",
+ "ang_c = math.floor(ang_c*100)/100\n",
+ "#(b)\n",
+ "def f(wt):\n",
+ " return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+ "wt_lower=(alfa*math.pi/180)\n",
+ "wt_upper =math.pi-(alfa*math.pi/180)\n",
+ "val1 = quad(f,wt_lower,wt_upper)\n",
+ "R = val1[0]\n",
+ "R = math.floor(R*100)/100\n",
+ "#(c)\n",
+ "def g(wt):\n",
+ " return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+ "val2 = quad(g,wt_lower,wt_upper)\n",
+ "Irms = val2[0]\n",
+ "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+ "P = (Irms**2)*R\n",
+ "#(d)\n",
+ "T = B/(V*I)\n",
+ "#(e)\n",
+ "eff = (V*I)/((V*I)+P)\n",
+ "#(f)\n",
+ "PIV = Vp+V\n",
+ "\n",
+ "#Results\n",
+ "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+ "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Conduction angle = 163.02\u00b0\n",
+ "(b) R = 5.04 ohm\n",
+ "(c) Irms = 6.58 A\n",
+ " Resistor power rating = 218.2 W\n",
+ "(d) Time of charging = 3.125 hours\n",
+ "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+ "(f) PIV = 93.305 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.4, Page No. 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Full wave centre tapped rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 100.0 # transformer secondary voltage from mid point to each end\n",
+ "R = 5.0 # resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+ "PIV =2*Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "TUF = 57.32%\n",
+ "PIV = 200\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.5, Page No.133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.6, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase diode bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # Peak input voltage\n",
+ "R = 5.0 # load resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "PIV =Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "PIV = 100\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.7, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.8, Page No.138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier circuit\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 400 # amplitude of output sine wave\n",
+ "alfa = 30 # thyristor firing angle\n",
+ "R = 50 # Load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "I = Vdc/R\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "Irms = Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+ "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average DC voltage = 118.8 V\n",
+ "Average load current = 2.376 A\n",
+ "RMS voltage = 197.1 V\n",
+ "RMS current = 3.942 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.9, Page No. 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current in the circuit\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # peak input voltage\n",
+ "V = 50.0 # voltage of battery to be charged\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(V/Vm)\n",
+ "wt2= math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.2f A\"%i)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 1.09 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.10, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 110.0 # peak input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "Ra = 10.0 # motor armature resistance\n",
+ "E = 55.5 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+ "wt2 = math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.3f A\"%i)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 2.495 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.11, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R = 15.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "alfa = math.pi/2 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = Vdc/R\n",
+ "Idc = math.floor(Idc*100)/100\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "Irms =Vrms/R\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "#(b)\n",
+ "Pdc = Vdc*Idc\n",
+ "Pac = Vrms*Irms\n",
+ "eff = Pdc/Pac\n",
+ "#(c)\n",
+ "FF = Vrms/Vdc\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "#(d)\n",
+ "VA = V*Irms\n",
+ "TUF = Pdc/VA\n",
+ "#(e)\n",
+ "PIV = Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+ "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vdc = 51.76 V\n",
+ "Idc = 3.45A\n",
+ "Vrms = 114.98 V\n",
+ "Irms = 7.66 A\n",
+ "\n",
+ "(b)\n",
+ "Rectification Efficiency = 0.203\n",
+ "\n",
+ "(c)\n",
+ "Form Factor = 2.22\n",
+ "Ripple Factor = 1.984\n",
+ "\n",
+ "(d)\n",
+ "Transformer utilization factor =0.1014\n",
+ "\n",
+ "(e)PIV = 325.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.12, Page No.146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150.0 # input rms value\n",
+ "R = 30.0 # load resistance\n",
+ "alfa =(math.pi/180)*45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+ "I = Vdc/R\n",
+ "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+ "Irms =Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 115.25 V\n",
+ "Average load current = 3.84 A\n",
+ "Vrms = 143 V\n",
+ "RMS load current = 4.767 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.13, Page No. 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vm = math.floor(Vm*100)/100\n",
+ "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = math.sqrt((Idc**2)/2)\n",
+ "Irms = math.ceil(Irms*100)/100\n",
+ "Tr = 2*Vrms*Irms\n",
+ "\n",
+ "#(c)\n",
+ "PIV = 2*Vm\n",
+ "#(d)\n",
+ "It = Irms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 184.46 V\n",
+ "RMS voltage of each half cycle of secondary = 130.74 V\n",
+ "Turn ratio of transformer = 1.76\n",
+ "\n",
+ "(b)Transformer VA rating = 2774.3 VA\n",
+ "\n",
+ "(c)PIV = 368.92 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.14, Page No.148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor rated voltage\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 10.0*10**3 # rectifier powwer rating\n",
+ "I = 50.0 # thyristor current rating\n",
+ "sf = 2 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "Idc = I\n",
+ "#(a)\n",
+ "Vdc = P/Idc\n",
+ "Vm = Vdc*math.pi/2\n",
+ "PIV = 2*Vm\n",
+ "Vt = 2*PIV\n",
+ "#(a)\n",
+ "Vt2 = 2*Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Full wave centre tapped recifier:\\n Thyristor voltage rating = %.2f V\"%Vt)\n",
+ "print(\"\\n(b) Full wave bridge rectifier:\\n Thyristor voltage rating = %.2f V\"%Vt2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Full wave centre tapped recifier:\n",
+ " Thyristor voltage rating = 1256.64 V\n",
+ "\n",
+ "(b) Full wave bridge rectifier:\n",
+ " Thyristor voltage rating = 628.32 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.15, Page No. 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, firing angle, load current\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaaration\n",
+ "V = 230.0 # input voltage\n",
+ "P = 1000.0 # output power rating\n",
+ "Pl = 800.0 # Actual power delivered\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = math.sqrt((Pl*V**2)/P)\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "#(b)\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+ "x = P.r[(P.order+1)/2]*180/math.pi\n",
+ "alfa = math.ceil(x.real)\n",
+ "#(c)\n",
+ "I = Pl/Vrms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vrms = 205.72 V\n",
+ "(b) firing angle = 61\u00b0\n",
+ "(c) Load current(rms value) = 3.889 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.16, Page No.149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average power output\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 800.0 # thyristor peak voltage rating\n",
+ "I = 30.0 # average forward current\n",
+ "sf = 2.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vm = V/(2*sf)\n",
+ "Vdc = 2*Vm/math.pi\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = I/sf\n",
+ "P = Idc*Vdc\n",
+ "#(b)\n",
+ "Vm2 = V/sf\n",
+ "Vdc2 = 2*Vm2/math.pi\n",
+ "Vdc2 = math.ceil(Vdc2*100)/100\n",
+ "Idc2 = I/sf\n",
+ "P2 = Idc2*Vdc2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) In a mid point converter:\\n Average output power = %.2f W\"%P)\n",
+ "print(\"(b) In a Bridge converter:\\n Average output power = %.2f W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) In a mid point converter:\n",
+ " Average output power = 1222.32 W\n",
+ "(b) In a Bridge converter:\n",
+ " Average output power = 2444.64 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.17, Page No.150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Bridge converter parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(b)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "def f(wt):\n",
+ " return math.sin(wt)\n",
+ "wt_lower1 = alfa\n",
+ "wt_upper1 = math.pi\n",
+ "wt_lower2 = math.pi\n",
+ "wt_upper2 = 2*math.pi\n",
+ "val1 = quad(f,wt_lower1,wt_upper1)\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "#result\n",
+ "print(\"DC power output = %.3f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power output = 4004.001 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.18, Page No. 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage and power\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vo = 2*sqrt_2*V/math.pi\n",
+ "Vo = math.floor(Vo*100)/100\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "\n",
+ "#Result\n",
+ "print(\"DC power = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power = 4286.56 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.19, Page No.154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase bridge converter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "I = 15.0 # constant load current\n",
+ "R = 0.5 # load resistance\n",
+ "L = 0.3 # inductance\n",
+ "E1 = 100 # back emf for case 1\n",
+ "E2 = -100 # back emf for case 2 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(b)\n",
+ "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(c)\n",
+ "OP1 = (E1*I)+(R*I**2)\n",
+ "OP2 = (E2*I)+(R*I**2)\n",
+ "IP = V*I\n",
+ "pf1 = OP1/IP\n",
+ "pf2 = -OP2/IP\n",
+ "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+ "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+ "print(\"(c) when E = %d : input power factor= %.3f lagging\\n When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 58.73\u00b0\n",
+ "(b) Firing angle = 116.54\u00b0\n",
+ "(c) when E = 100 : input power factor= 0.467 lagging\n",
+ " When E = -100: input power factor= 0.402 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.20, Page No.155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "R = 5.0 # load resistance\n",
+ "L = 8*10**-3 # inductance\n",
+ "E = 50.0 # back emf\n",
+ "alfa = 40*(math.pi/180) # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average load current = %.2f A\"%I)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average load current = 21.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.21, Page No. 155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters for full bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vrms = Vm/sqrt_2\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = Idc\n",
+ "Tr = Vrms*Irms\n",
+ "#(c)\n",
+ "PIV = Vm\n",
+ "#(d)\n",
+ "Itrms = Idc/sqrt_2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 187.55 V\n",
+ "RMS voltage of secondary = 132.64 V\n",
+ "Turn ratio of transformer = 1.734\n",
+ "\n",
+ "(b)Transformer VA rating = 1989.6 VA\n",
+ "\n",
+ "(c) PIV = 187.55 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.22, Page No. 157"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "# Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+ "FF = Vrms/Vdc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 103.51 V\n",
+ "Vrms = 162.6 V\n",
+ "Form factor = 1.571 \n"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.23, Page No.160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter Bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+ "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+ "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa/2\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 162.65 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.7071\n",
+ "Input power factor = 0.6365 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.24, Page No.162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phasefull converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = math.pi/3 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Vrms = V\n",
+ "Is = 1\n",
+ "Is1 = 2*sqrt_2/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 230 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.5\n",
+ "Input power factor = 0.45 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 108
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.25, Page No.164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 4 # Constant load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "R = Vdc/I\n",
+ "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+ "APi = V*Il*math.cos(alfa)\n",
+ "RPi = V*Il*math.sin(alfa)\n",
+ "App_i = V*Il\n",
+ "#(b)\n",
+ "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+ "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+ "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+ "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+ "APi1 = V*Il_2*math.cos(alfa/2)\n",
+ "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+ "App_i1 = V*Il_2\n",
+ "#(c)\n",
+ "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+ "Idc = math.floor((Vdc3/R)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+ "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+ "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+ "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+ "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Vdc = 179.3 V\n",
+ " Load resistance = 44.825 ohm\n",
+ " Active power input = 717.07 W\n",
+ " Reactive power input = 413 vars\n",
+ " Appearent power input = 828 VA\n",
+ "\n",
+ "(b)\n",
+ " Vdc = 193.185 V\n",
+ " Load current = 3.75 A\n",
+ " Active power input = 833.1 W\n",
+ " Reactive power input = 223.23 vars\n",
+ " Appearent power input = 862.5 VA\n",
+ "\n",
+ "(c)\n",
+ " Vdc = 96.615 V\n",
+ " Average dc output current = 2.15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.26, Page No. 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # single phase fully controlled bridge converter with R-L load\n",
+ " \n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 10 # constant load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "#(b)\n",
+ "Irms = I\n",
+ "#(c)\n",
+ "Is = I\n",
+ "Is1 = 2*sqrt_2*I/math.pi\n",
+ "#(d)\n",
+ "DF = math.cos(-alfa)\n",
+ "#(e)\n",
+ "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+ "#(f)\n",
+ "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+ "#(g)\n",
+ "FF = V/Vdc\n",
+ "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+ "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+ "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) DC output voltage = 179.3 V\n",
+ "(b) RMS input current = 10 A\n",
+ "(c) RMS value of fundamental Is1 = 9 A\n",
+ "(d) Displacement factor = 0.866 \n",
+ "(e) Input power factor = 0.779 lagging\n",
+ "(f) Harmonic factor = 0.484\n",
+ "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+ ]
+ }
+ ],
+ "prompt_number": 165
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.27, Page No.166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "V = 240 # input voltage\n",
+ "R = 10 # Load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "#(b)\n",
+ "I = math.floor((Vdc/R)*1000)/1000\n",
+ "Is = I*(1-alfa/math.pi)**(0.5)\n",
+ "#(c)\n",
+ "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+ "fi = -alfa/2\n",
+ "DF =math.cos(fi)\n",
+ "pf = Is1*DF/Is\n",
+ "#(d)\n",
+ "P = I**2*R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+ "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 162.03\n",
+ "(b) Load current = 16.203 A\n",
+ "(c) Displacement factor = 0.866\n",
+ " Input power factor = 0.827\n",
+ "(d) Average power dissipated in load = 2625.37 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 170
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.28, Page No. 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fully controlled three-phase bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 200.0 # AC line current\n",
+ "Vac = 400.0 # AC line voltage\n",
+ "Vdc = 360.0 # DC voltage\n",
+ "var = 0.1 # 10% line volatge variation\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+ "#(b)\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "S = I*Vac*sqrt_3\n",
+ "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+ "Q = math.sqrt(S**2-P**2)\n",
+ "#(c)\n",
+ "Vac1 = (1+var)*Vac\n",
+ "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "Vac2 = (1-var)*Vac\n",
+ "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n Q = %.1f vars\"%(S,P,Q))\n",
+ "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 138560.0\u00b0\n",
+ "(b) P = 92350.2 W\n",
+ " Q = 103297.2 vars\n",
+ "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+ " When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 188
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.29, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase full converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # 3-phase input voltage\n",
+ "I = 150.0 # Average load current\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+ "#(a)\n",
+ "Pdc = Vdc*I\n",
+ "#(b)\n",
+ "Iavg = I/3\n",
+ "Irms = I*math.sqrt(2.0/6)\n",
+ "Vp = math.sqrt(2)*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+ "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Output power = 40384.5 W\n",
+ "(b)\n",
+ "Average thyristor current = 50 A\n",
+ "RMS value of thyristor current = 86.6 A\n",
+ "Peak current through thyristor = 150 A\n",
+ "(c) Peak inverse voltage = 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 258
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.30, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # line to line input voltage\n",
+ "R = 100.0 # load resistance\n",
+ "P = 400.0 # power supplied to load\n",
+ "\n",
+ "#Calculations\n",
+ "Vrms = math.sqrt(V*R)\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+ "alfa= (alfa/2)*(180/math.pi)\n",
+ "#(b)\n",
+ "I = math.sqrt(V/R)\n",
+ "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+ "#(c)\n",
+ "app_i=sqrt_3*V*Is\n",
+ "#(d)\n",
+ "pf = V/app_i\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+ "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 77.5\u00b0\n",
+ "(b) RMS value of input current = 1.15 A\n",
+ "(c) Input apparent power = 796.72 VA\n",
+ "(d) power factor = 0.5 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 276
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.31, Page No.171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# six pulse thyristor converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vac = 415.0 # input AC voltage\n",
+ "Vdc = 460.0 # DC output voltage\n",
+ "I = 200.0 # load current\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+ "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "#(b)\n",
+ "P = Vdc*I\n",
+ "#(c)\n",
+ "Iac = I*(120.0/180.0)**(0.5)\n",
+ "#(d)\n",
+ "Irms =I*(120.0/360.0)**(0.5)\n",
+ "#(e)\n",
+ "Iavg =math.floor(I*100/3)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 34.81\u00b0\n",
+ "(b) DC power = 92 kW\n",
+ "(c) AC line current = 163.3 A\n",
+ "(d) RMS thyristor current = 115.5 A\n",
+ "(e) Average thyristor current = 66.66 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 294
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.32, Page No. 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and input power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "E = 200.0 # battery emf\n",
+ "R = 0.5 # battery internal resistance\n",
+ "I = 20.0 # current\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+ "Vdc = E+I*R\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "alfa = math.ceil(alfa*100)/100\n",
+ "P = (E*I)+(I**2*R)\n",
+ "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+ "pf = P/(sqrt_3*V*Is)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle = 47.45\u00b0\n",
+ "Input power factor = 0.646 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 336
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.33, Page No.175"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase semi-converter bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+ "Vdc1 = math.floor(Vdc1*100)/100 \n",
+ "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+ "Vmax = math.floor(Vmax*100)/100\n",
+ "Vdc = Vmax/2\n",
+ "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+ "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = (Vdc*Idc)/(VA)\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 90\u00b0\n",
+ "(b) Vdc = 269.225V\n",
+ " Idc = 26.92 A\n",
+ "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+ "(e) rectification efficiency = 0.608 or 60.8%\n",
+ "(f) TUF = 0.37\n",
+ "(g) Input power factor = 0.61 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+ "Vdc = math.ceil(Vdc*100)/100 \n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+ "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 269.23V\n",
+ "(b) Idc = 26.92 A\n",
+ "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+ "(e) rectification efficiency = 0.777 or 77.7%\n",
+ "(f) TUF = 0.419\n",
+ "(g) Input power factor = 0.54 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.35, Page No.179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.37, Page No. 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "E = 300.0 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+ "alfa = alfa*(180/math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle, alfa = 50.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.38, Page No.183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Overlap angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "f = 50 # input frequency\n",
+ "I = 200.0 # load current\n",
+ "L = 0.2 *10**-3 # Source inductance\n",
+ "alfa1 = 20*math.pi/180 # firing angle for case 1\n",
+ "alfa2 = 30*math.pi/180 # firing angle for case 2\n",
+ "alfa3 = 60*math.pi/180 # firing angle for case 3\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "E = 3*2*math.pi*f*L*I/math.pi\n",
+ "Vo = 3*sqrt_3*Vm/math.pi\n",
+ "#(a)\n",
+ "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+ "mu1 = mu1*180/math.pi\n",
+ "mu1 = math.ceil(mu1*10)/10\n",
+ "#(b)\n",
+ "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+ "mu2 = mu2*180/math.pi\n",
+ "#(a)\n",
+ "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+ "mu3 = mu3*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for alfa = %.0f\u00b0:\\n\\t mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+ "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+ "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for alfa = 20\u00b0:\n",
+ "\t mu = 3.5\u00b0\n",
+ "\n",
+ "(b) for alfa = 30\u00b0:\n",
+ "\t mu = 2.46\u00b0\n",
+ "\n",
+ "(c) for alfa = 60\u00b0:\n",
+ "\t mu = 1.46\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.39, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# peak circulating current and peak current of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # Input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 15 # load resistance\n",
+ "a1 = 60*math.pi/180 # firing angle 1\n",
+ "a2 = 120*math.pi/180 # firing angle 2\n",
+ "L = 50*10**-3 # inductance\n",
+ "\n",
+ "#Variable declaration\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wl = w*L\n",
+ "wt = 2*math.pi\n",
+ "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+ "ir = math.floor(ir*10)/10\n",
+ "Ip = Vm/R\n",
+ "I = ir+Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak circulating current = %.1f A\\nPeak current of converter 1 = %.2f A\"%(ir,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak circulating current = 20.7 A\n",
+ "Peak current of converter 1 = 42.38 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.40, Page No. 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 30*math.pi/180 # firing angle 1\n",
+ "a2 = 150*math.pi/180 # firing angle 2 \n",
+ "R = 10 # Load resistance\n",
+ "I = 10.2 # Peak current\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+ "#(b)\n",
+ "Ip = Vm/R\n",
+ "I1 = math.floor((I+Ip)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0272 H\n",
+ "peak current of converter 1 = 42.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.41, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 45*math.pi/180 # firing angle 1\n",
+ "a2 = 135*math.pi/180 # firing angle 2 \n",
+ "I = 39.7 # Peak current of converter\n",
+ "Ic = 11.5 # peak circulating current \n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "x = math.floor(math.cos(a1)*1000)/1000\n",
+ "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+ "#(b)\n",
+ "Ip = I-Ic\n",
+ "R = Vm/Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+ "#answer for L is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0527 H\n",
+ "R = 11.532 Ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.42, Page No. 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input voltage \n",
+ "f = 50 # frequency\n",
+ "L = 60*10**-3 # inductance\n",
+ "wt1 = 0 # phase 1\n",
+ "wt2 = 30*math.pi/180 # phase 2\n",
+ "wt3 = 90*math.pi/180 # phase 3 \n",
+ "alfa = 0 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "wl = 2*math.pi*f*L\n",
+ "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+ "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+ "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+ "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+ "\n",
+ "#Result\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+ "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+ "For wt = 30 anf alfa = 0, ir = 0 A\n",
+ "For wt = 90 anf alfa = 0, ir = 45 A\n",
+ "Peak value of circulaing current, ir = 51.97 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.43, Page No.191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase circulating current dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 #input voltage\n",
+ "f = 50.0 # frequency\n",
+ "I = 42.0 # peak value of circulating current\n",
+ "alfa = 0 # firing angle\n",
+ "a1 = 30*math.pi/180 #\n",
+ "wt = 120*math.pi/180 # wt for max current\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "w = 2*math.pi*f\n",
+ "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.3f H\"%L)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.074 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_3_2.ipynb b/Power_Electronics/Power_electronics_ch_3_2.ipynb new file mode 100755 index 00000000..8f24e4d1 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_3_2.ipynb @@ -0,0 +1,2276 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.1, Page No. 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.2, Page No. 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.3, Page No. 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half wave diode rectifier\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 12.0 # Voltage of the battery to be charged\n",
+ "B = 150.0 # battery capacity in Wh\n",
+ "I = 4.0 # average current requirement\n",
+ "t = 4.0 # transformer primary to secondary ratio \n",
+ "Vi = 230.0 # voltage at transformer primary\n",
+ "\n",
+ "# Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vp = Vi*sqrt_2/t\n",
+ "#(a)\n",
+ "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+ "ang_c = (180-alfa)-alfa\n",
+ "ang_c = math.floor(ang_c*100)/100\n",
+ "#(b)\n",
+ "def f(wt):\n",
+ " return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+ "wt_lower=(alfa*math.pi/180)\n",
+ "wt_upper =math.pi-(alfa*math.pi/180)\n",
+ "val1 = quad(f,wt_lower,wt_upper)\n",
+ "R = val1[0]\n",
+ "R = math.floor(R*100)/100\n",
+ "#(c)\n",
+ "def g(wt):\n",
+ " return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+ "val2 = quad(g,wt_lower,wt_upper)\n",
+ "Irms = val2[0]\n",
+ "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+ "P = (Irms**2)*R\n",
+ "#(d)\n",
+ "T = B/(V*I)\n",
+ "#(e)\n",
+ "eff = (V*I)/((V*I)+P)\n",
+ "#(f)\n",
+ "PIV = Vp+V\n",
+ "\n",
+ "#Results\n",
+ "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+ "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Conduction angle = 163.02\u00b0\n",
+ "(b) R = 5.04 ohm\n",
+ "(c) Irms = 6.58 A\n",
+ " Resistor power rating = 218.2 W\n",
+ "(d) Time of charging = 3.125 hours\n",
+ "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+ "(f) PIV = 93.305 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.4, Page No. 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Full wave centre tapped rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 100.0 # transformer secondary voltage from mid point to each end\n",
+ "R = 5.0 # resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+ "PIV =2*Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "TUF = 57.32%\n",
+ "PIV = 200\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.5, Page No.133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.6, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase diode bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # Peak input voltage\n",
+ "R = 5.0 # load resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "PIV =Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "PIV = 100\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.7, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.8, Page No.138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier circuit\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 400 # amplitude of output sine wave\n",
+ "alfa = 30 # thyristor firing angle\n",
+ "R = 50 # Load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "I = Vdc/R\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "Irms = Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+ "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average DC voltage = 118.8 V\n",
+ "Average load current = 2.376 A\n",
+ "RMS voltage = 197.1 V\n",
+ "RMS current = 3.942 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.9, Page No. 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current in the circuit\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # peak input voltage\n",
+ "V = 50.0 # voltage of battery to be charged\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(V/Vm)\n",
+ "wt2= math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.2f A\"%i)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 1.09 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.10, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 110.0 # peak input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "Ra = 10.0 # motor armature resistance\n",
+ "E = 55.5 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+ "wt2 = math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.3f A\"%i)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 2.495 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.11, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R = 15.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "alfa = math.pi/2 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = Vdc/R\n",
+ "Idc = math.floor(Idc*100)/100\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "Irms =Vrms/R\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "#(b)\n",
+ "Pdc = Vdc*Idc\n",
+ "Pac = Vrms*Irms\n",
+ "eff = Pdc/Pac\n",
+ "#(c)\n",
+ "FF = Vrms/Vdc\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "#(d)\n",
+ "VA = V*Irms\n",
+ "TUF = Pdc/VA\n",
+ "#(e)\n",
+ "PIV = Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+ "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vdc = 51.76 V\n",
+ "Idc = 3.45A\n",
+ "Vrms = 114.98 V\n",
+ "Irms = 7.66 A\n",
+ "\n",
+ "(b)\n",
+ "Rectification Efficiency = 0.203\n",
+ "\n",
+ "(c)\n",
+ "Form Factor = 2.22\n",
+ "Ripple Factor = 1.984\n",
+ "\n",
+ "(d)\n",
+ "Transformer utilization factor =0.1014\n",
+ "\n",
+ "(e)PIV = 325.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.12, Page No.146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150.0 # input rms value\n",
+ "R = 30.0 # load resistance\n",
+ "alfa =(math.pi/180)*45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+ "I = Vdc/R\n",
+ "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+ "Irms =Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 115.25 V\n",
+ "Average load current = 3.84 A\n",
+ "Vrms = 143 V\n",
+ "RMS load current = 4.767 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.13, Page No. 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vm = math.floor(Vm*100)/100\n",
+ "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = math.sqrt((Idc**2)/2)\n",
+ "Irms = math.ceil(Irms*100)/100\n",
+ "Tr = 2*Vrms*Irms\n",
+ "\n",
+ "#(c)\n",
+ "PIV = 2*Vm\n",
+ "#(d)\n",
+ "It = Irms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 184.46 V\n",
+ "RMS voltage of each half cycle of secondary = 130.74 V\n",
+ "Turn ratio of transformer = 1.76\n",
+ "\n",
+ "(b)Transformer VA rating = 2774.3 VA\n",
+ "\n",
+ "(c)PIV = 368.92 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.14, Page No.148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor rated voltage\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 10.0*10**3 # rectifier powwer rating\n",
+ "I = 50.0 # thyristor current rating\n",
+ "sf = 2 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "Idc = I\n",
+ "#(a)\n",
+ "Vdc = P/Idc\n",
+ "Vm = Vdc*math.pi/2\n",
+ "PIV = 2*Vm\n",
+ "Vt = 2*PIV\n",
+ "#(a)\n",
+ "Vt2 = 2*Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Full wave centre tapped recifier:\\n Thyristor voltage rating = %.2f V\"%Vt)\n",
+ "print(\"\\n(b) Full wave bridge rectifier:\\n Thyristor voltage rating = %.2f V\"%Vt2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Full wave centre tapped recifier:\n",
+ " Thyristor voltage rating = 1256.64 V\n",
+ "\n",
+ "(b) Full wave bridge rectifier:\n",
+ " Thyristor voltage rating = 628.32 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.15, Page No. 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, firing angle, load current\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaaration\n",
+ "V = 230.0 # input voltage\n",
+ "P = 1000.0 # output power rating\n",
+ "Pl = 800.0 # Actual power delivered\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = math.sqrt((Pl*V**2)/P)\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "#(b)\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+ "x = P.r[(P.order+1)/2]*180/math.pi\n",
+ "alfa = math.ceil(x.real)\n",
+ "#(c)\n",
+ "I = Pl/Vrms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vrms = 205.72 V\n",
+ "(b) firing angle = 61\u00b0\n",
+ "(c) Load current(rms value) = 3.889 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.16, Page No.149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average power output\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 800.0 # thyristor peak voltage rating\n",
+ "I = 30.0 # average forward current\n",
+ "sf = 2.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vm = V/(2*sf)\n",
+ "Vdc = 2*Vm/math.pi\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = I/sf\n",
+ "P = Idc*Vdc\n",
+ "#(b)\n",
+ "Vm2 = V/sf\n",
+ "Vdc2 = 2*Vm2/math.pi\n",
+ "Vdc2 = math.ceil(Vdc2*100)/100\n",
+ "Idc2 = I/sf\n",
+ "P2 = Idc2*Vdc2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) In a mid point converter:\\n Average output power = %.2f W\"%P)\n",
+ "print(\"(b) In a Bridge converter:\\n Average output power = %.2f W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) In a mid point converter:\n",
+ " Average output power = 1222.32 W\n",
+ "(b) In a Bridge converter:\n",
+ " Average output power = 2444.64 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.17, Page No.150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Bridge converter parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(b)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "def f(wt):\n",
+ " return math.sin(wt)\n",
+ "wt_lower1 = alfa\n",
+ "wt_upper1 = math.pi\n",
+ "wt_lower2 = math.pi\n",
+ "wt_upper2 = 2*math.pi\n",
+ "val1 = quad(f,wt_lower1,wt_upper1)\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "#result\n",
+ "print(\"DC power output = %.3f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power output = 4004.001 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.18, Page No. 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage and power\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vo = 2*sqrt_2*V/math.pi\n",
+ "Vo = math.floor(Vo*100)/100\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "\n",
+ "#Result\n",
+ "print(\"DC power = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power = 4286.56 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.19, Page No.154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase bridge converter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "I = 15.0 # constant load current\n",
+ "R = 0.5 # load resistance\n",
+ "L = 0.3 # inductance\n",
+ "E1 = 100 # back emf for case 1\n",
+ "E2 = -100 # back emf for case 2 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(b)\n",
+ "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(c)\n",
+ "OP1 = (E1*I)+(R*I**2)\n",
+ "OP2 = (E2*I)+(R*I**2)\n",
+ "IP = V*I\n",
+ "pf1 = OP1/IP\n",
+ "pf2 = -OP2/IP\n",
+ "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+ "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+ "print(\"(c) when E = %d : input power factor= %.3f lagging\\n When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 58.73\u00b0\n",
+ "(b) Firing angle = 116.54\u00b0\n",
+ "(c) when E = 100 : input power factor= 0.467 lagging\n",
+ " When E = -100: input power factor= 0.402 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.20, Page No.155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "R = 5.0 # load resistance\n",
+ "L = 8*10**-3 # inductance\n",
+ "E = 50.0 # back emf\n",
+ "alfa = 40*(math.pi/180) # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average load current = %.2f A\"%I)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average load current = 21.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.21, Page No. 155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters for full bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vrms = Vm/sqrt_2\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = Idc\n",
+ "Tr = Vrms*Irms\n",
+ "#(c)\n",
+ "PIV = Vm\n",
+ "#(d)\n",
+ "Itrms = Idc/sqrt_2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 187.55 V\n",
+ "RMS voltage of secondary = 132.64 V\n",
+ "Turn ratio of transformer = 1.734\n",
+ "\n",
+ "(b)Transformer VA rating = 1989.6 VA\n",
+ "\n",
+ "(c) PIV = 187.55 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.22, Page No. 157"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "# Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+ "FF = Vrms/Vdc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 103.51 V\n",
+ "Vrms = 162.6 V\n",
+ "Form factor = 1.571 \n"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.23, Page No.160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter Bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+ "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+ "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa/2\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 162.65 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.7071\n",
+ "Input power factor = 0.6365 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.24, Page No.162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phasefull converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = math.pi/3 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Vrms = V\n",
+ "Is = 1\n",
+ "Is1 = 2*sqrt_2/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 230 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.5\n",
+ "Input power factor = 0.45 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 108
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.25, Page No.164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 4 # Constant load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "R = Vdc/I\n",
+ "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+ "APi = V*Il*math.cos(alfa)\n",
+ "RPi = V*Il*math.sin(alfa)\n",
+ "App_i = V*Il\n",
+ "#(b)\n",
+ "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+ "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+ "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+ "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+ "APi1 = V*Il_2*math.cos(alfa/2)\n",
+ "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+ "App_i1 = V*Il_2\n",
+ "#(c)\n",
+ "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+ "Idc = math.floor((Vdc3/R)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+ "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+ "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+ "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+ "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Vdc = 179.3 V\n",
+ " Load resistance = 44.825 ohm\n",
+ " Active power input = 717.07 W\n",
+ " Reactive power input = 413 vars\n",
+ " Appearent power input = 828 VA\n",
+ "\n",
+ "(b)\n",
+ " Vdc = 193.185 V\n",
+ " Load current = 3.75 A\n",
+ " Active power input = 833.1 W\n",
+ " Reactive power input = 223.23 vars\n",
+ " Appearent power input = 862.5 VA\n",
+ "\n",
+ "(c)\n",
+ " Vdc = 96.615 V\n",
+ " Average dc output current = 2.15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.26, Page No. 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # single phase fully controlled bridge converter with R-L load\n",
+ " \n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 10 # constant load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "#(b)\n",
+ "Irms = I\n",
+ "#(c)\n",
+ "Is = I\n",
+ "Is1 = 2*sqrt_2*I/math.pi\n",
+ "#(d)\n",
+ "DF = math.cos(-alfa)\n",
+ "#(e)\n",
+ "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+ "#(f)\n",
+ "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+ "#(g)\n",
+ "FF = V/Vdc\n",
+ "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+ "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+ "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) DC output voltage = 179.3 V\n",
+ "(b) RMS input current = 10 A\n",
+ "(c) RMS value of fundamental Is1 = 9 A\n",
+ "(d) Displacement factor = 0.866 \n",
+ "(e) Input power factor = 0.779 lagging\n",
+ "(f) Harmonic factor = 0.484\n",
+ "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+ ]
+ }
+ ],
+ "prompt_number": 165
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.27, Page No.166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "V = 240 # input voltage\n",
+ "R = 10 # Load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "#(b)\n",
+ "I = math.floor((Vdc/R)*1000)/1000\n",
+ "Is = I*(1-alfa/math.pi)**(0.5)\n",
+ "#(c)\n",
+ "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+ "fi = -alfa/2\n",
+ "DF =math.cos(fi)\n",
+ "pf = Is1*DF/Is\n",
+ "#(d)\n",
+ "P = I**2*R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+ "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 162.03\n",
+ "(b) Load current = 16.203 A\n",
+ "(c) Displacement factor = 0.866\n",
+ " Input power factor = 0.827\n",
+ "(d) Average power dissipated in load = 2625.37 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 170
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.28, Page No. 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fully controlled three-phase bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 200.0 # AC line current\n",
+ "Vac = 400.0 # AC line voltage\n",
+ "Vdc = 360.0 # DC voltage\n",
+ "var = 0.1 # 10% line volatge variation\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+ "#(b)\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "S = I*Vac*sqrt_3\n",
+ "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+ "Q = math.sqrt(S**2-P**2)\n",
+ "#(c)\n",
+ "Vac1 = (1+var)*Vac\n",
+ "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "Vac2 = (1-var)*Vac\n",
+ "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n Q = %.1f vars\"%(S,P,Q))\n",
+ "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 138560.0\u00b0\n",
+ "(b) P = 92350.2 W\n",
+ " Q = 103297.2 vars\n",
+ "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+ " When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 188
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.29, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase full converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # 3-phase input voltage\n",
+ "I = 150.0 # Average load current\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+ "#(a)\n",
+ "Pdc = Vdc*I\n",
+ "#(b)\n",
+ "Iavg = I/3\n",
+ "Irms = I*math.sqrt(2.0/6)\n",
+ "Vp = math.sqrt(2)*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+ "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Output power = 40384.5 W\n",
+ "(b)\n",
+ "Average thyristor current = 50 A\n",
+ "RMS value of thyristor current = 86.6 A\n",
+ "Peak current through thyristor = 150 A\n",
+ "(c) Peak inverse voltage = 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 258
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.30, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # line to line input voltage\n",
+ "R = 100.0 # load resistance\n",
+ "P = 400.0 # power supplied to load\n",
+ "\n",
+ "#Calculations\n",
+ "Vrms = math.sqrt(V*R)\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+ "alfa= (alfa/2)*(180/math.pi)\n",
+ "#(b)\n",
+ "I = math.sqrt(V/R)\n",
+ "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+ "#(c)\n",
+ "app_i=sqrt_3*V*Is\n",
+ "#(d)\n",
+ "pf = V/app_i\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+ "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 77.5\u00b0\n",
+ "(b) RMS value of input current = 1.15 A\n",
+ "(c) Input apparent power = 796.72 VA\n",
+ "(d) power factor = 0.5 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 276
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.31, Page No.171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# six pulse thyristor converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vac = 415.0 # input AC voltage\n",
+ "Vdc = 460.0 # DC output voltage\n",
+ "I = 200.0 # load current\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+ "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "#(b)\n",
+ "P = Vdc*I\n",
+ "#(c)\n",
+ "Iac = I*(120.0/180.0)**(0.5)\n",
+ "#(d)\n",
+ "Irms =I*(120.0/360.0)**(0.5)\n",
+ "#(e)\n",
+ "Iavg =math.floor(I*100/3)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 34.81\u00b0\n",
+ "(b) DC power = 92 kW\n",
+ "(c) AC line current = 163.3 A\n",
+ "(d) RMS thyristor current = 115.5 A\n",
+ "(e) Average thyristor current = 66.66 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 294
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.32, Page No. 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and input power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "E = 200.0 # battery emf\n",
+ "R = 0.5 # battery internal resistance\n",
+ "I = 20.0 # current\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+ "Vdc = E+I*R\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "alfa = math.ceil(alfa*100)/100\n",
+ "P = (E*I)+(I**2*R)\n",
+ "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+ "pf = P/(sqrt_3*V*Is)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle = 47.45\u00b0\n",
+ "Input power factor = 0.646 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 336
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.33, Page No.175"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase semi-converter bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+ "Vdc1 = math.floor(Vdc1*100)/100 \n",
+ "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+ "Vmax = math.floor(Vmax*100)/100\n",
+ "Vdc = Vmax/2\n",
+ "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+ "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = (Vdc*Idc)/(VA)\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 90\u00b0\n",
+ "(b) Vdc = 269.225V\n",
+ " Idc = 26.92 A\n",
+ "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+ "(e) rectification efficiency = 0.608 or 60.8%\n",
+ "(f) TUF = 0.37\n",
+ "(g) Input power factor = 0.61 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+ "Vdc = math.ceil(Vdc*100)/100 \n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+ "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 269.23V\n",
+ "(b) Idc = 26.92 A\n",
+ "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+ "(e) rectification efficiency = 0.777 or 77.7%\n",
+ "(f) TUF = 0.419\n",
+ "(g) Input power factor = 0.54 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.35, Page No.179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.37, Page No. 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "E = 300.0 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+ "alfa = alfa*(180/math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle, alfa = 50.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.38, Page No.183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Overlap angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "f = 50 # input frequency\n",
+ "I = 200.0 # load current\n",
+ "L = 0.2 *10**-3 # Source inductance\n",
+ "alfa1 = 20*math.pi/180 # firing angle for case 1\n",
+ "alfa2 = 30*math.pi/180 # firing angle for case 2\n",
+ "alfa3 = 60*math.pi/180 # firing angle for case 3\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "E = 3*2*math.pi*f*L*I/math.pi\n",
+ "Vo = 3*sqrt_3*Vm/math.pi\n",
+ "#(a)\n",
+ "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+ "mu1 = mu1*180/math.pi\n",
+ "mu1 = math.ceil(mu1*10)/10\n",
+ "#(b)\n",
+ "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+ "mu2 = mu2*180/math.pi\n",
+ "#(a)\n",
+ "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+ "mu3 = mu3*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for alfa = %.0f\u00b0:\\n\\t mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+ "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+ "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for alfa = 20\u00b0:\n",
+ "\t mu = 3.5\u00b0\n",
+ "\n",
+ "(b) for alfa = 30\u00b0:\n",
+ "\t mu = 2.46\u00b0\n",
+ "\n",
+ "(c) for alfa = 60\u00b0:\n",
+ "\t mu = 1.46\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.39, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# peak circulating current and peak current of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # Input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 15 # load resistance\n",
+ "a1 = 60*math.pi/180 # firing angle 1\n",
+ "a2 = 120*math.pi/180 # firing angle 2\n",
+ "L = 50*10**-3 # inductance\n",
+ "\n",
+ "#Variable declaration\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wl = w*L\n",
+ "wt = 2*math.pi\n",
+ "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+ "ir = math.floor(ir*10)/10\n",
+ "Ip = Vm/R\n",
+ "I = ir+Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak circulating current = %.1f A\\nPeak current of converter 1 = %.2f A\"%(ir,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak circulating current = 20.7 A\n",
+ "Peak current of converter 1 = 42.38 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.40, Page No. 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 30*math.pi/180 # firing angle 1\n",
+ "a2 = 150*math.pi/180 # firing angle 2 \n",
+ "R = 10 # Load resistance\n",
+ "I = 10.2 # Peak current\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+ "#(b)\n",
+ "Ip = Vm/R\n",
+ "I1 = math.floor((I+Ip)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0272 H\n",
+ "peak current of converter 1 = 42.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.41, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 45*math.pi/180 # firing angle 1\n",
+ "a2 = 135*math.pi/180 # firing angle 2 \n",
+ "I = 39.7 # Peak current of converter\n",
+ "Ic = 11.5 # peak circulating current \n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "x = math.floor(math.cos(a1)*1000)/1000\n",
+ "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+ "#(b)\n",
+ "Ip = I-Ic\n",
+ "R = Vm/Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+ "#answer for L is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0527 H\n",
+ "R = 11.532 Ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.42, Page No. 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input voltage \n",
+ "f = 50 # frequency\n",
+ "L = 60*10**-3 # inductance\n",
+ "wt1 = 0 # phase 1\n",
+ "wt2 = 30*math.pi/180 # phase 2\n",
+ "wt3 = 90*math.pi/180 # phase 3 \n",
+ "alfa = 0 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "wl = 2*math.pi*f*L\n",
+ "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+ "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+ "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+ "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+ "\n",
+ "#Result\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+ "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+ "For wt = 30 anf alfa = 0, ir = 0 A\n",
+ "For wt = 90 anf alfa = 0, ir = 45 A\n",
+ "Peak value of circulaing current, ir = 51.97 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.43, Page No.191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase circulating current dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 #input voltage\n",
+ "f = 50.0 # frequency\n",
+ "I = 42.0 # peak value of circulating current\n",
+ "alfa = 0 # firing angle\n",
+ "a1 = 30*math.pi/180 #\n",
+ "wt = 120*math.pi/180 # wt for max current\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "w = 2*math.pi*f\n",
+ "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.3f H\"%L)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.074 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_3_3.ipynb b/Power_Electronics/Power_electronics_ch_3_3.ipynb new file mode 100755 index 00000000..8f24e4d1 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_3_3.ipynb @@ -0,0 +1,2276 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.1, Page No. 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.2, Page No. 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.3, Page No. 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half wave diode rectifier\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 12.0 # Voltage of the battery to be charged\n",
+ "B = 150.0 # battery capacity in Wh\n",
+ "I = 4.0 # average current requirement\n",
+ "t = 4.0 # transformer primary to secondary ratio \n",
+ "Vi = 230.0 # voltage at transformer primary\n",
+ "\n",
+ "# Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vp = Vi*sqrt_2/t\n",
+ "#(a)\n",
+ "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+ "ang_c = (180-alfa)-alfa\n",
+ "ang_c = math.floor(ang_c*100)/100\n",
+ "#(b)\n",
+ "def f(wt):\n",
+ " return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+ "wt_lower=(alfa*math.pi/180)\n",
+ "wt_upper =math.pi-(alfa*math.pi/180)\n",
+ "val1 = quad(f,wt_lower,wt_upper)\n",
+ "R = val1[0]\n",
+ "R = math.floor(R*100)/100\n",
+ "#(c)\n",
+ "def g(wt):\n",
+ " return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+ "val2 = quad(g,wt_lower,wt_upper)\n",
+ "Irms = val2[0]\n",
+ "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+ "P = (Irms**2)*R\n",
+ "#(d)\n",
+ "T = B/(V*I)\n",
+ "#(e)\n",
+ "eff = (V*I)/((V*I)+P)\n",
+ "#(f)\n",
+ "PIV = Vp+V\n",
+ "\n",
+ "#Results\n",
+ "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+ "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Conduction angle = 163.02\u00b0\n",
+ "(b) R = 5.04 ohm\n",
+ "(c) Irms = 6.58 A\n",
+ " Resistor power rating = 218.2 W\n",
+ "(d) Time of charging = 3.125 hours\n",
+ "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+ "(f) PIV = 93.305 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.4, Page No. 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Full wave centre tapped rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 100.0 # transformer secondary voltage from mid point to each end\n",
+ "R = 5.0 # resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+ "PIV =2*Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "TUF = 57.32%\n",
+ "PIV = 200\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.5, Page No.133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.6, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase diode bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # Peak input voltage\n",
+ "R = 5.0 # load resistance\n",
+ "\n",
+ "#Calculation\n",
+ "#(b)\n",
+ "Idc = 2*Vm/(math.pi*R)\n",
+ "Idc = math.floor(Idc*1000)/1000\n",
+ "Vdc = Idc*R\n",
+ "Irms = 0.707*Vm/R\n",
+ "Pdc = R*Idc**2\n",
+ "Pdc = math.ceil(Pdc*100)/100\n",
+ "Pac = R*Irms**2\n",
+ "Pac = math.ceil(Pac*10)/10\n",
+ "eff = Pdc/Pac\n",
+ "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "PIV =Vm\n",
+ "\n",
+ "# Result\n",
+ "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+ "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Idc = 12.732 A\n",
+ "Vdc = 63.66 V\n",
+ "Irms = 14.14 A\n",
+ "Pdc = 810.52\n",
+ "Pac = 999.7\n",
+ "Efficiency = 0.811\n",
+ "FF = 1.11\n",
+ "RF = 0.482\n",
+ "PIV = 100\n",
+ "CF = 1.414214\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.7, Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical example\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.8, Page No.138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier circuit\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Vm = 400 # amplitude of output sine wave\n",
+ "alfa = 30 # thyristor firing angle\n",
+ "R = 50 # Load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "I = Vdc/R\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "Irms = Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+ "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average DC voltage = 118.8 V\n",
+ "Average load current = 2.376 A\n",
+ "RMS voltage = 197.1 V\n",
+ "RMS current = 3.942 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.9, Page No. 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current in the circuit\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 100.0 # peak input voltage\n",
+ "V = 50.0 # voltage of battery to be charged\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(V/Vm)\n",
+ "wt2= math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.2f A\"%i)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 1.09 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.10, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average current\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "Vm = 110.0 # peak input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "Ra = 10.0 # motor armature resistance\n",
+ "E = 55.5 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+ "wt2 = math.pi-wt\n",
+ "def f(wt):\n",
+ " return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+ "wt_lower=wt\n",
+ "wt_upper =wt2\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "i = val[0]\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average current in the circuit = %.3f A\"%i)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average current in the circuit = 2.495 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.11, Page No. 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase half wave rectifier\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "R = 15.0 # load resistance\n",
+ "V = 230.0 # supply voltage\n",
+ "alfa = math.pi/2 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = Vdc/R\n",
+ "Idc = math.floor(Idc*100)/100\n",
+ "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "Irms =Vrms/R\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "#(b)\n",
+ "Pdc = Vdc*Idc\n",
+ "Pac = Vrms*Irms\n",
+ "eff = Pdc/Pac\n",
+ "#(c)\n",
+ "FF = Vrms/Vdc\n",
+ "RF = math.sqrt((FF**2)-1)\n",
+ "#(d)\n",
+ "VA = V*Irms\n",
+ "TUF = Pdc/VA\n",
+ "#(e)\n",
+ "PIV = Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+ "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vdc = 51.76 V\n",
+ "Idc = 3.45A\n",
+ "Vrms = 114.98 V\n",
+ "Irms = 7.66 A\n",
+ "\n",
+ "(b)\n",
+ "Rectification Efficiency = 0.203\n",
+ "\n",
+ "(c)\n",
+ "Form Factor = 2.22\n",
+ "Ripple Factor = 1.984\n",
+ "\n",
+ "(d)\n",
+ "Transformer utilization factor =0.1014\n",
+ "\n",
+ "(e)PIV = 325.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.12, Page No.146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150.0 # input rms value\n",
+ "R = 30.0 # load resistance\n",
+ "alfa =(math.pi/180)*45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+ "I = Vdc/R\n",
+ "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+ "Irms =Vrms/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 115.25 V\n",
+ "Average load current = 3.84 A\n",
+ "Vrms = 143 V\n",
+ "RMS load current = 4.767 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.13, Page No. 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vm = math.floor(Vm*100)/100\n",
+ "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = math.sqrt((Idc**2)/2)\n",
+ "Irms = math.ceil(Irms*100)/100\n",
+ "Tr = 2*Vrms*Irms\n",
+ "\n",
+ "#(c)\n",
+ "PIV = 2*Vm\n",
+ "#(d)\n",
+ "It = Irms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 184.46 V\n",
+ "RMS voltage of each half cycle of secondary = 130.74 V\n",
+ "Turn ratio of transformer = 1.76\n",
+ "\n",
+ "(b)Transformer VA rating = 2774.3 VA\n",
+ "\n",
+ "(c)PIV = 368.92 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.14, Page No.148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor rated voltage\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "P = 10.0*10**3 # rectifier powwer rating\n",
+ "I = 50.0 # thyristor current rating\n",
+ "sf = 2 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "Idc = I\n",
+ "#(a)\n",
+ "Vdc = P/Idc\n",
+ "Vm = Vdc*math.pi/2\n",
+ "PIV = 2*Vm\n",
+ "Vt = 2*PIV\n",
+ "#(a)\n",
+ "Vt2 = 2*Vm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Full wave centre tapped recifier:\\n Thyristor voltage rating = %.2f V\"%Vt)\n",
+ "print(\"\\n(b) Full wave bridge rectifier:\\n Thyristor voltage rating = %.2f V\"%Vt2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Full wave centre tapped recifier:\n",
+ " Thyristor voltage rating = 1256.64 V\n",
+ "\n",
+ "(b) Full wave bridge rectifier:\n",
+ " Thyristor voltage rating = 628.32 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.15, Page No. 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage, firing angle, load current\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaaration\n",
+ "V = 230.0 # input voltage\n",
+ "P = 1000.0 # output power rating\n",
+ "Pl = 800.0 # Actual power delivered\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = math.sqrt((Pl*V**2)/P)\n",
+ "Vrms = math.ceil(Vrms*100)/100\n",
+ "#(b)\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+ "x = P.r[(P.order+1)/2]*180/math.pi\n",
+ "alfa = math.ceil(x.real)\n",
+ "#(c)\n",
+ "I = Pl/Vrms\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vrms = 205.72 V\n",
+ "(b) firing angle = 61\u00b0\n",
+ "(c) Load current(rms value) = 3.889 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.16, Page No.149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average power output\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 800.0 # thyristor peak voltage rating\n",
+ "I = 30.0 # average forward current\n",
+ "sf = 2.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vm = V/(2*sf)\n",
+ "Vdc = 2*Vm/math.pi\n",
+ "Vdc = math.ceil(Vdc*100)/100\n",
+ "Idc = I/sf\n",
+ "P = Idc*Vdc\n",
+ "#(b)\n",
+ "Vm2 = V/sf\n",
+ "Vdc2 = 2*Vm2/math.pi\n",
+ "Vdc2 = math.ceil(Vdc2*100)/100\n",
+ "Idc2 = I/sf\n",
+ "P2 = Idc2*Vdc2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) In a mid point converter:\\n Average output power = %.2f W\"%P)\n",
+ "print(\"(b) In a Bridge converter:\\n Average output power = %.2f W\"%P2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) In a mid point converter:\n",
+ " Average output power = 1222.32 W\n",
+ "(b) In a Bridge converter:\n",
+ " Average output power = 2444.64 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.17, Page No.150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Bridge converter parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(b)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "def f(wt):\n",
+ " return math.sin(wt)\n",
+ "wt_lower1 = alfa\n",
+ "wt_upper1 = math.pi\n",
+ "wt_lower2 = math.pi\n",
+ "wt_upper2 = 2*math.pi\n",
+ "val1 = quad(f,wt_lower1,wt_upper1)\n",
+ "val2 = quad(f,wt_lower2,wt_upper2)\n",
+ "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "#result\n",
+ "print(\"DC power output = %.3f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power output = 4004.001 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.18, Page No. 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output voltage and power\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vo = 2*sqrt_2*V/math.pi\n",
+ "Vo = math.floor(Vo*100)/100\n",
+ "I = Vo/R\n",
+ "P = Vo*I\n",
+ "\n",
+ "#Result\n",
+ "print(\"DC power = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC power = 4286.56 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.19, Page No.154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase bridge converter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # input frequency\n",
+ "I = 15.0 # constant load current\n",
+ "R = 0.5 # load resistance\n",
+ "L = 0.3 # inductance\n",
+ "E1 = 100 # back emf for case 1\n",
+ "E2 = -100 # back emf for case 2 \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(b)\n",
+ "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+ "#(c)\n",
+ "OP1 = (E1*I)+(R*I**2)\n",
+ "OP2 = (E2*I)+(R*I**2)\n",
+ "IP = V*I\n",
+ "pf1 = OP1/IP\n",
+ "pf2 = -OP2/IP\n",
+ "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+ "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+ "print(\"(c) when E = %d : input power factor= %.3f lagging\\n When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 58.73\u00b0\n",
+ "(b) Firing angle = 116.54\u00b0\n",
+ "(c) when E = 100 : input power factor= 0.467 lagging\n",
+ " When E = -100: input power factor= 0.402 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.20, Page No.155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average load current\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "R = 5.0 # load resistance\n",
+ "L = 8*10**-3 # inductance\n",
+ "E = 50.0 # back emf\n",
+ "alfa = 40*(math.pi/180) # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"Average load current = %.2f A\"%I)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average load current = 21.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.21, Page No. 155"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Transformer and thyristor parameters for full bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input to transformer primary\n",
+ "f = 50.0 # input frequency\n",
+ "Vdc = 100.0 # Average values of load voltage\n",
+ "Idc = 15.0 # Average value of load current\n",
+ "alfa = 30*(math.pi/180) # firing angle\n",
+ "d = 1.7 # drop across thyristor\n",
+ "\n",
+ "\n",
+ "#caculatios\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+ "Vrms = Vm/sqrt_2\n",
+ "N = V/Vrms\n",
+ "#(b)\n",
+ "Irms = Idc\n",
+ "Tr = Vrms*Irms\n",
+ "#(c)\n",
+ "PIV = Vm\n",
+ "#(d)\n",
+ "Itrms = Idc/sqrt_2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+ "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Vm = 187.55 V\n",
+ "RMS voltage of secondary = 132.64 V\n",
+ "Turn ratio of transformer = 1.734\n",
+ "\n",
+ "(b)Transformer VA rating = 1989.6 VA\n",
+ "\n",
+ "(c) PIV = 187.55 V\n",
+ "\n",
+ "(d)RMS value of thyristor current = 10.61 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.22, Page No. 157"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50.0 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "# Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+ "FF = Vrms/Vdc\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vdc = 103.51 V\n",
+ "Vrms = 162.6 V\n",
+ "Form factor = 1.571 \n"
+ ]
+ }
+ ],
+ "prompt_number": 89
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.23, Page No.160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase semi-converter Bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = 90*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+ "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+ "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa/2\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 162.65 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.7071\n",
+ "Input power factor = 0.6365 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.24, Page No.162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phasefull converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa = math.pi/3 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "print(\"(a) Theoretical Section\")\n",
+ "#(b)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Vrms = V\n",
+ "Is = 1\n",
+ "Is1 = 2*sqrt_2/math.pi\n",
+ "HF = math.sqrt((Is/Is1)**2-1)\n",
+ "theta = -alfa\n",
+ "DF = math.cos(theta)\n",
+ "Pf = Is1*math.cos(theta)/Is\n",
+ "\n",
+ "#Result\n",
+ "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+ "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Theoretical Section\n",
+ "(b)\n",
+ "Vdc = 103.52 V\n",
+ "Vrms = 230 V\n",
+ "Harmonic factor = 0.484\n",
+ "Displacement factor = 0.5\n",
+ "Input power factor = 0.45 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 108
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.25, Page No.164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 4 # Constant load current\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "R = Vdc/I\n",
+ "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+ "APi = V*Il*math.cos(alfa)\n",
+ "RPi = V*Il*math.sin(alfa)\n",
+ "App_i = V*Il\n",
+ "#(b)\n",
+ "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+ "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+ "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+ "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+ "APi1 = V*Il_2*math.cos(alfa/2)\n",
+ "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+ "App_i1 = V*Il_2\n",
+ "#(c)\n",
+ "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+ "Idc = math.floor((Vdc3/R)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+ "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+ "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+ "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+ "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Vdc = 179.3 V\n",
+ " Load resistance = 44.825 ohm\n",
+ " Active power input = 717.07 W\n",
+ " Reactive power input = 413 vars\n",
+ " Appearent power input = 828 VA\n",
+ "\n",
+ "(b)\n",
+ " Vdc = 193.185 V\n",
+ " Load current = 3.75 A\n",
+ " Active power input = 833.1 W\n",
+ " Reactive power input = 223.23 vars\n",
+ " Appearent power input = 862.5 VA\n",
+ "\n",
+ "(c)\n",
+ " Vdc = 96.615 V\n",
+ " Average dc output current = 2.15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.26, Page No. 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " # single phase fully controlled bridge converter with R-L load\n",
+ " \n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "alfa = 30*math.pi/180 # firing angle\n",
+ "I = 10 # constant load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+ "#(b)\n",
+ "Irms = I\n",
+ "#(c)\n",
+ "Is = I\n",
+ "Is1 = 2*sqrt_2*I/math.pi\n",
+ "#(d)\n",
+ "DF = math.cos(-alfa)\n",
+ "#(e)\n",
+ "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+ "#(f)\n",
+ "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+ "#(g)\n",
+ "FF = V/Vdc\n",
+ "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+ "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+ "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) DC output voltage = 179.3 V\n",
+ "(b) RMS input current = 10 A\n",
+ "(c) RMS value of fundamental Is1 = 9 A\n",
+ "(d) Displacement factor = 0.866 \n",
+ "(e) Input power factor = 0.779 lagging\n",
+ "(f) Harmonic factor = 0.484\n",
+ "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+ ]
+ }
+ ],
+ "prompt_number": 165
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.27, Page No.166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "V = 240 # input voltage\n",
+ "R = 10 # Load current\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+ "#(b)\n",
+ "I = math.floor((Vdc/R)*1000)/1000\n",
+ "Is = I*(1-alfa/math.pi)**(0.5)\n",
+ "#(c)\n",
+ "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+ "fi = -alfa/2\n",
+ "DF =math.cos(fi)\n",
+ "pf = Is1*DF/Is\n",
+ "#(d)\n",
+ "P = I**2*R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+ "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 162.03\n",
+ "(b) Load current = 16.203 A\n",
+ "(c) Displacement factor = 0.866\n",
+ " Input power factor = 0.827\n",
+ "(d) Average power dissipated in load = 2625.37 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 170
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.28, Page No. 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Fully controlled three-phase bridge rectifier\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "I = 200.0 # AC line current\n",
+ "Vac = 400.0 # AC line voltage\n",
+ "Vdc = 360.0 # DC voltage\n",
+ "var = 0.1 # 10% line volatge variation\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+ "#(b)\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "S = I*Vac*sqrt_3\n",
+ "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+ "Q = math.sqrt(S**2-P**2)\n",
+ "#(c)\n",
+ "Vac1 = (1+var)*Vac\n",
+ "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "Vac2 = (1-var)*Vac\n",
+ "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n Q = %.1f vars\"%(S,P,Q))\n",
+ "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 138560.0\u00b0\n",
+ "(b) P = 92350.2 W\n",
+ " Q = 103297.2 vars\n",
+ "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+ " When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 188
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.29, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase full converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # 3-phase input voltage\n",
+ "I = 150.0 # Average load current\n",
+ "alfa = 60*math.pi/180 # firing angle\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+ "#(a)\n",
+ "Pdc = Vdc*I\n",
+ "#(b)\n",
+ "Iavg = I/3\n",
+ "Irms = I*math.sqrt(2.0/6)\n",
+ "Vp = math.sqrt(2)*V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+ "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Output power = 40384.5 W\n",
+ "(b)\n",
+ "Average thyristor current = 50 A\n",
+ "RMS value of thyristor current = 86.6 A\n",
+ "Peak current through thyristor = 150 A\n",
+ "(c) Peak inverse voltage = 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 258
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.30, Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # line to line input voltage\n",
+ "R = 100.0 # load resistance\n",
+ "P = 400.0 # power supplied to load\n",
+ "\n",
+ "#Calculations\n",
+ "Vrms = math.sqrt(V*R)\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+ "alfa= (alfa/2)*(180/math.pi)\n",
+ "#(b)\n",
+ "I = math.sqrt(V/R)\n",
+ "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+ "#(c)\n",
+ "app_i=sqrt_3*V*Is\n",
+ "#(d)\n",
+ "pf = V/app_i\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+ "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 77.5\u00b0\n",
+ "(b) RMS value of input current = 1.15 A\n",
+ "(c) Input apparent power = 796.72 VA\n",
+ "(d) power factor = 0.5 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 276
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.31, Page No.171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# six pulse thyristor converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vac = 415.0 # input AC voltage\n",
+ "Vdc = 460.0 # DC output voltage\n",
+ "I = 200.0 # load current\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+ "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "#(b)\n",
+ "P = Vdc*I\n",
+ "#(c)\n",
+ "Iac = I*(120.0/180.0)**(0.5)\n",
+ "#(d)\n",
+ "Irms =I*(120.0/360.0)**(0.5)\n",
+ "#(e)\n",
+ "Iavg =math.floor(I*100/3)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa = 34.81\u00b0\n",
+ "(b) DC power = 92 kW\n",
+ "(c) AC line current = 163.3 A\n",
+ "(d) RMS thyristor current = 115.5 A\n",
+ "(e) Average thyristor current = 66.66 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 294
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.32, Page No. 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and input power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "E = 200.0 # battery emf\n",
+ "R = 0.5 # battery internal resistance\n",
+ "I = 20.0 # current\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "#(a)\n",
+ "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+ "Vdc = E+I*R\n",
+ "pi = math.floor(math.pi*1000)/1000\n",
+ "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+ "alfa = math.acos(alfa)*(180/math.pi)\n",
+ "alfa = math.ceil(alfa*100)/100\n",
+ "P = (E*I)+(I**2*R)\n",
+ "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+ "pf = P/(sqrt_3*V*Is)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle = 47.45\u00b0\n",
+ "Input power factor = 0.646 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 336
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.33, Page No.175"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase semi-converter bridge circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+ "Vdc1 = math.floor(Vdc1*100)/100 \n",
+ "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+ "Vmax = math.floor(Vmax*100)/100\n",
+ "Vdc = Vmax/2\n",
+ "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+ "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = (Vdc*Idc)/(VA)\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Firing angle = 90\u00b0\n",
+ "(b) Vdc = 269.225V\n",
+ " Idc = 26.92 A\n",
+ "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+ "(e) rectification efficiency = 0.608 or 60.8%\n",
+ "(f) TUF = 0.37\n",
+ "(g) Input power factor = 0.61 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase fully controlled bridge converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "R = 10.0 # load resistance\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "#(a)\n",
+ "alfa = (math.pi)/3 #as load current continuous\n",
+ "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+ "Vdc = math.ceil(Vdc*100)/100 \n",
+ "#(b)\n",
+ "Idc = Vdc/R\n",
+ "#(c)\n",
+ "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+ "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+ "Irms = Vrms/R\n",
+ "#(d)\n",
+ "It = Idc/3\n",
+ "Itrms = Irms/sqrt_3\n",
+ "#(e)\n",
+ "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+ "#(f)\n",
+ "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+ "VA = Ilrms*V*3/sqrt_3\n",
+ "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+ "#(g)\n",
+ "APO = Irms**2*R\n",
+ "pf = APO/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+ "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+ "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vdc = 269.23V\n",
+ "(b) Idc = 26.92 A\n",
+ "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+ "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+ "(e) rectification efficiency = 0.777 or 77.7%\n",
+ "(f) TUF = 0.419\n",
+ "(g) Input power factor = 0.54 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.34, Page No.177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.35, Page No.179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Theoretical Example\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Theoretical Example\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.37, Page No. 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "E = 300.0 # back emf of the motor\n",
+ "\n",
+ "#Calculations\n",
+ "Vm = math.sqrt(2)*V\n",
+ "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+ "alfa = alfa*(180/math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle, alfa = 50.1\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.38, Page No.183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Overlap angle\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # input voltage\n",
+ "f = 50 # input frequency\n",
+ "I = 200.0 # load current\n",
+ "L = 0.2 *10**-3 # Source inductance\n",
+ "alfa1 = 20*math.pi/180 # firing angle for case 1\n",
+ "alfa2 = 30*math.pi/180 # firing angle for case 2\n",
+ "alfa3 = 60*math.pi/180 # firing angle for case 3\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "E = 3*2*math.pi*f*L*I/math.pi\n",
+ "Vo = 3*sqrt_3*Vm/math.pi\n",
+ "#(a)\n",
+ "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+ "mu1 = mu1*180/math.pi\n",
+ "mu1 = math.ceil(mu1*10)/10\n",
+ "#(b)\n",
+ "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+ "mu2 = mu2*180/math.pi\n",
+ "#(a)\n",
+ "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+ "mu3 = mu3*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for alfa = %.0f\u00b0:\\n\\t mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+ "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+ "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for alfa = 20\u00b0:\n",
+ "\t mu = 3.5\u00b0\n",
+ "\n",
+ "(b) for alfa = 30\u00b0:\n",
+ "\t mu = 2.46\u00b0\n",
+ "\n",
+ "(c) for alfa = 60\u00b0:\n",
+ "\t mu = 1.46\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.39, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# peak circulating current and peak current of converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # Input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 15 # load resistance\n",
+ "a1 = 60*math.pi/180 # firing angle 1\n",
+ "a2 = 120*math.pi/180 # firing angle 2\n",
+ "L = 50*10**-3 # inductance\n",
+ "\n",
+ "#Variable declaration\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wl = w*L\n",
+ "wt = 2*math.pi\n",
+ "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+ "ir = math.floor(ir*10)/10\n",
+ "Ip = Vm/R\n",
+ "I = ir+Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak circulating current = %.1f A\\nPeak current of converter 1 = %.2f A\"%(ir,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak circulating current = 20.7 A\n",
+ "Peak current of converter 1 = 42.38 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.40, Page No. 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 30*math.pi/180 # firing angle 1\n",
+ "a2 = 150*math.pi/180 # firing angle 2 \n",
+ "R = 10 # Load resistance\n",
+ "I = 10.2 # Peak current\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+ "#(b)\n",
+ "Ip = Vm/R\n",
+ "I1 = math.floor((I+Ip)*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0272 H\n",
+ "peak current of converter 1 = 42.72 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.41, Page No.188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase circulating current dualconverter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "f = 50 # frequency\n",
+ "a1 = 45*math.pi/180 # firing angle 1\n",
+ "a2 = 135*math.pi/180 # firing angle 2 \n",
+ "I = 39.7 # Peak current of converter\n",
+ "Ic = 11.5 # peak circulating current \n",
+ "#Calculation\n",
+ "#(a)\n",
+ "Vm = math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "w = 2*math.pi*f\n",
+ "wt = 2*math.pi\n",
+ "x = math.floor(math.cos(a1)*1000)/1000\n",
+ "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+ "#(b)\n",
+ "Ip = I-Ic\n",
+ "R = Vm/Ip\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+ "#answer for L is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.0527 H\n",
+ "R = 11.532 Ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.42, Page No. 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input voltage \n",
+ "f = 50 # frequency\n",
+ "L = 60*10**-3 # inductance\n",
+ "wt1 = 0 # phase 1\n",
+ "wt2 = 30*math.pi/180 # phase 2\n",
+ "wt3 = 90*math.pi/180 # phase 3 \n",
+ "alfa = 0 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "wl = 2*math.pi*f*L\n",
+ "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+ "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+ "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+ "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+ "\n",
+ "#Result\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+ "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+ "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+ "For wt = 30 anf alfa = 0, ir = 0 A\n",
+ "For wt = 90 anf alfa = 0, ir = 45 A\n",
+ "Peak value of circulaing current, ir = 51.97 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 3.43, Page No.191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase circulating current dual converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 #input voltage\n",
+ "f = 50.0 # frequency\n",
+ "I = 42.0 # peak value of circulating current\n",
+ "alfa = 0 # firing angle\n",
+ "a1 = 30*math.pi/180 #\n",
+ "wt = 120*math.pi/180 # wt for max current\n",
+ "#Calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+ "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+ "w = 2*math.pi*f\n",
+ "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.3f H\"%L)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 0.074 H\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_4_1.ipynb b/Power_Electronics/Power_electronics_ch_4_1.ipynb new file mode 100755 index 00000000..c5ad12df --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_4_1.ipynb @@ -0,0 +1,983 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Inverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.1, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Maximum output frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "X =(4*L)/C\n",
+ "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "f = math.ceil(f)\n",
+ "#Result\n",
+ "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+ "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+ "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R^2 = 6400\n",
+ "4L/C = 26667\n",
+ "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+ "\n",
+ "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.2, Page No. 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output frequency(refering example 4.1)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "t = 14*10**-6 # turn off time of thyristor\n",
+ "Fmax = 1416.16 # frequency as calculated in ex 4.1\n",
+ "\n",
+ "#Calculation\n",
+ "T =1/Fmax\n",
+ "T = math.floor(T*10**6)/10**6\n",
+ "k = 1/0.000734\n",
+ "f =1/(T+2*t)\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency = 1362.4 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.3, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# circuit turn off time and max frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "L = 50.0*10**-6 # Inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "R = 4.0 # Resistance\n",
+ "V = 200.0 # input voltage\n",
+ "f = 6000.0 # output frequency\n",
+ "t = 6.0*10**-6 # SCR turn off time\n",
+ "\n",
+ "#calculations\n",
+ "x = 4*L/C\n",
+ "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "wr = math.floor(wr*10)/10\n",
+ "fr = wr/(2*math.pi)\n",
+ "#(a)\n",
+ "x1 = math.pi/wr\n",
+ "x1= math.floor(x1*10**7)/10**7\n",
+ "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+ "#(b)\n",
+ "fmax = 1/(2*((x1)+t))\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Available circuit turn off time = 7.93 micro-sec\n",
+ "(b) fmax = 6142.5 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.4, Page No. 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor ratings\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 40.0 # input DC voltage\n",
+ "Vo = 230.0 # output voltage\n",
+ "f = 50.0 # output frequency\n",
+ "Il = 2.0 # peak load current\n",
+ "t = 50.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculations\n",
+ "Il_r = Vo*2/V\n",
+ "#after solving (i),(ii)\n",
+ "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+ "C = math.sqrt(C)\n",
+ "C = math.ceil(C*10**8)/10**8\n",
+ "L = ((t*3/math.pi)**2)/C\n",
+ "# OR\n",
+ "#L= C/(((2*Vo)/(V**2))**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+ "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 166.04 *10^-6 H\n",
+ "C = 13.73 *10^-6 F\n",
+ "\n",
+ "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.5, Page No. 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Single phase half bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V/2\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = 2*Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 13.5 V\n",
+ "(b) Output power = 75 W\n",
+ "(c) Peak current in each thyristor = 5 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 2.5 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.6, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 27.0 V\n",
+ "(b) Output power = 300 W\n",
+ "(c) Peak current in each thyristor = 10 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 5.0 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.7, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 10.0 # resistance\n",
+ "L = 20.0*10**-3 # Inductance\n",
+ "C = 100.0*10**-6 # capacitance\n",
+ "f = 50.0 # inverter frequency\n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "Z9_r = R\n",
+ "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+ "Z9_i = math.floor(Z9_i*100)/100\n",
+ "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+ "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+ "Z9_angle = math.floor(Z9_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "#(b)\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+ "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+ "If = I1/math.sqrt(2)\n",
+ "If = math.floor(If*100)/100\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+ "#(d)\n",
+ "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+ "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+ "#(e)\n",
+ "Ilrms = Ip/math.sqrt(2)\n",
+ "P = R*Ilrms**2\n",
+ "Pf = R*If**2\n",
+ "#(f)\n",
+ "Iavg = P/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+ "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+ "\n",
+ "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+ "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+ "print(\"\\n(d) RMS harmonic current = %.3f A\\n Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+ "print(\"\\n(e) RMS value of load current = %.3f A\\n Total output power = %.1f W\\n Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+ "print(\"\\n(f) Average input current = %.4f A\\n Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+ "#Some values are accurate only upto 1 or 2 decimal places"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Z1 = 27.437 < -68.63\u00b0\n",
+ "Z3 = 12.95 < 39.45\u00b0\n",
+ "Z5 = 26.96 < 68.23\u00b0\n",
+ "Z7 = 40.68 < 75.76\u00b0\n",
+ "Z9 = 53.94 < 79.31\u00b0\n",
+ "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+ "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+ "\n",
+ "(b) RMS load current at fundamental frequency = 6.56 A\n",
+ "\n",
+ "(c) Peak value of load current = 11.56 A\n",
+ "\n",
+ "(d) RMS harmonic current = 4.876 A\n",
+ " Total harmonic distortion = 0.743 or 74.3%\n",
+ "\n",
+ "(e) RMS value of load current = 8.175 A\n",
+ " Total output power = 668.3 W\n",
+ " Fundamental component of power = 430.336 W\n",
+ "\n",
+ "(f) Average input current = 3.3417 A\n",
+ " Peak thyristor current = 11.56 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.8, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of C for proper load communication\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 2 # resistance\n",
+ "Xl = 10 # inductive reactance\n",
+ "f = 4*10**3 # operating frequency\n",
+ "T = 12*10**-6 # turn off time of thyristor\n",
+ "tol = 1.5 # 50% tolerance in circuit turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "T = T*tol\n",
+ "theta = 2*math.pi*f*T #radians\n",
+ "#theta = theta*180/math.pi\n",
+ "Xc = 2*math.tan(theta)+Xl\n",
+ "C = 1/(Xc*2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 3.63*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.9, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 10 # resistance\n",
+ "L = 50*10**-3 # inductance\n",
+ "f = 50 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "#(b)\n",
+ "I1 = math.ceil(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "\n",
+ "print(\"\\nPeak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 18.62 < 57.5\u00b0\n",
+ "Z3 = 48.17 < 78\u00b0\n",
+ "Z5 = 79.17 < 82.75\u00b0\n",
+ "Z7 = 110.41 < 84.80\u00b0\n",
+ "\n",
+ "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+ "\n",
+ "Peak load current = 6.91 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.10, Page No. 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 20 # resistance\n",
+ "L = 10*10**-3 # inductance\n",
+ "f = 50.0 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "#(a)\n",
+ "Vrms = V\n",
+ "#(b)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.floor(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.floor(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+ "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+ "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+ "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load voltage 100 V\n",
+ "\n",
+ "(b)\n",
+ "\n",
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 20.24 < 8.92\u00b0\n",
+ "Z3 = 22.1 < 25.22\u00b0\n",
+ "Z5 = 25.43 < 38.13\u00b0\n",
+ "Z7 = 29.72 < 47.71\u00b0\n",
+ "\n",
+ "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+ "\n",
+ "RMS value of fundamental component of load current = 4.448 A\n",
+ "\n",
+ "(c) Peak load current = 6.68 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.11, Page No.229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Ip = V/(2*R)\n",
+ "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+ "P = Irms**2*R*3\n",
+ "Iavg = 2*R/3\n",
+ "Itrms = math.sqrt((2*R)**2/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+ "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak value of load current = 20 A\n",
+ "RMS load current = 16.33 A\n",
+ "Power output = 8000 W\n",
+ "Average thyristor current = 6.67 A\n",
+ "RMS value of thyristor current = 11.55 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 156
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.12, Page No. 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "P =Irms**2*R*3\n",
+ "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+ "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+ "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS load current = 18.856 A\n",
+ "Power output = 10666.67 A\n",
+ "Peak thyristor current = 26.67 A\n",
+ "Average current of thyristor = 8.89 A\n",
+ "RMS current of thyristor = 13.33 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 164
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.13, Page No.230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# RMS value of load current and RMS value of thyristor current\n",
+ "\n",
+ "import math\n",
+ "#variaable declaration\n",
+ "V = 450.0 # supply voltage\n",
+ "R = 10.0 # per phase load resistance\n",
+ "mode = 180 # conduction mode\n",
+ "\n",
+ "#calculation\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "#(a)\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "Ip = i1\n",
+ "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load current = 21.21 A\n",
+ "(b) Peak current of thyristor = 30 A\n",
+ "(c) RMS current of thyristor = 15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 167
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.14, Page No. 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "w = 30.0 # width of each pulse\n",
+ "n = 5.0 # no of pulses each cycle\n",
+ "i =1.1 # factor by whic input is to be increased\n",
+ "w1= 33.0 # maximum width of pulse\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vl = V*math.sqrt(n*w/180.0)\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "Vl1 = 182.52 #value used in the book for calculations\n",
+ "#(b)\n",
+ "Vi = V*i\n",
+ "sig=(180*(Vl1/Vi)**2)/n\n",
+ "#(c)\n",
+ "V = Vl1/math.sqrt(n*w1/180.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vl = 182.57 V\n",
+ "(b) Pulse-width = 24.78\u00b0\n",
+ "(c) V = 190.64 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 186
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.15, Page No.234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 #input voltage\n",
+ "w = 120.0 # width of signal\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt(w/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 163.3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 190
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.16, Page No. 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Inverter controlled by sinusoidal pulse-width modulation\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 150.0 # input DC voltage\n",
+ "w1 = 20.0 # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+ "w2 = 60.0 # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+ "w3 = 20.0 # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 111.8 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 192
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_4_2.ipynb b/Power_Electronics/Power_electronics_ch_4_2.ipynb new file mode 100755 index 00000000..c5ad12df --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_4_2.ipynb @@ -0,0 +1,983 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Inverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.1, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Maximum output frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "X =(4*L)/C\n",
+ "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "f = math.ceil(f)\n",
+ "#Result\n",
+ "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+ "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+ "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R^2 = 6400\n",
+ "4L/C = 26667\n",
+ "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+ "\n",
+ "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.2, Page No. 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output frequency(refering example 4.1)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "t = 14*10**-6 # turn off time of thyristor\n",
+ "Fmax = 1416.16 # frequency as calculated in ex 4.1\n",
+ "\n",
+ "#Calculation\n",
+ "T =1/Fmax\n",
+ "T = math.floor(T*10**6)/10**6\n",
+ "k = 1/0.000734\n",
+ "f =1/(T+2*t)\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency = 1362.4 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.3, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# circuit turn off time and max frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "L = 50.0*10**-6 # Inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "R = 4.0 # Resistance\n",
+ "V = 200.0 # input voltage\n",
+ "f = 6000.0 # output frequency\n",
+ "t = 6.0*10**-6 # SCR turn off time\n",
+ "\n",
+ "#calculations\n",
+ "x = 4*L/C\n",
+ "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "wr = math.floor(wr*10)/10\n",
+ "fr = wr/(2*math.pi)\n",
+ "#(a)\n",
+ "x1 = math.pi/wr\n",
+ "x1= math.floor(x1*10**7)/10**7\n",
+ "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+ "#(b)\n",
+ "fmax = 1/(2*((x1)+t))\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Available circuit turn off time = 7.93 micro-sec\n",
+ "(b) fmax = 6142.5 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.4, Page No. 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor ratings\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 40.0 # input DC voltage\n",
+ "Vo = 230.0 # output voltage\n",
+ "f = 50.0 # output frequency\n",
+ "Il = 2.0 # peak load current\n",
+ "t = 50.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculations\n",
+ "Il_r = Vo*2/V\n",
+ "#after solving (i),(ii)\n",
+ "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+ "C = math.sqrt(C)\n",
+ "C = math.ceil(C*10**8)/10**8\n",
+ "L = ((t*3/math.pi)**2)/C\n",
+ "# OR\n",
+ "#L= C/(((2*Vo)/(V**2))**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+ "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 166.04 *10^-6 H\n",
+ "C = 13.73 *10^-6 F\n",
+ "\n",
+ "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.5, Page No. 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Single phase half bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V/2\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = 2*Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 13.5 V\n",
+ "(b) Output power = 75 W\n",
+ "(c) Peak current in each thyristor = 5 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 2.5 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.6, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 27.0 V\n",
+ "(b) Output power = 300 W\n",
+ "(c) Peak current in each thyristor = 10 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 5.0 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.7, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 10.0 # resistance\n",
+ "L = 20.0*10**-3 # Inductance\n",
+ "C = 100.0*10**-6 # capacitance\n",
+ "f = 50.0 # inverter frequency\n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "Z9_r = R\n",
+ "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+ "Z9_i = math.floor(Z9_i*100)/100\n",
+ "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+ "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+ "Z9_angle = math.floor(Z9_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "#(b)\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+ "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+ "If = I1/math.sqrt(2)\n",
+ "If = math.floor(If*100)/100\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+ "#(d)\n",
+ "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+ "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+ "#(e)\n",
+ "Ilrms = Ip/math.sqrt(2)\n",
+ "P = R*Ilrms**2\n",
+ "Pf = R*If**2\n",
+ "#(f)\n",
+ "Iavg = P/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+ "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+ "\n",
+ "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+ "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+ "print(\"\\n(d) RMS harmonic current = %.3f A\\n Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+ "print(\"\\n(e) RMS value of load current = %.3f A\\n Total output power = %.1f W\\n Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+ "print(\"\\n(f) Average input current = %.4f A\\n Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+ "#Some values are accurate only upto 1 or 2 decimal places"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Z1 = 27.437 < -68.63\u00b0\n",
+ "Z3 = 12.95 < 39.45\u00b0\n",
+ "Z5 = 26.96 < 68.23\u00b0\n",
+ "Z7 = 40.68 < 75.76\u00b0\n",
+ "Z9 = 53.94 < 79.31\u00b0\n",
+ "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+ "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+ "\n",
+ "(b) RMS load current at fundamental frequency = 6.56 A\n",
+ "\n",
+ "(c) Peak value of load current = 11.56 A\n",
+ "\n",
+ "(d) RMS harmonic current = 4.876 A\n",
+ " Total harmonic distortion = 0.743 or 74.3%\n",
+ "\n",
+ "(e) RMS value of load current = 8.175 A\n",
+ " Total output power = 668.3 W\n",
+ " Fundamental component of power = 430.336 W\n",
+ "\n",
+ "(f) Average input current = 3.3417 A\n",
+ " Peak thyristor current = 11.56 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.8, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of C for proper load communication\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 2 # resistance\n",
+ "Xl = 10 # inductive reactance\n",
+ "f = 4*10**3 # operating frequency\n",
+ "T = 12*10**-6 # turn off time of thyristor\n",
+ "tol = 1.5 # 50% tolerance in circuit turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "T = T*tol\n",
+ "theta = 2*math.pi*f*T #radians\n",
+ "#theta = theta*180/math.pi\n",
+ "Xc = 2*math.tan(theta)+Xl\n",
+ "C = 1/(Xc*2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 3.63*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.9, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 10 # resistance\n",
+ "L = 50*10**-3 # inductance\n",
+ "f = 50 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "#(b)\n",
+ "I1 = math.ceil(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "\n",
+ "print(\"\\nPeak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 18.62 < 57.5\u00b0\n",
+ "Z3 = 48.17 < 78\u00b0\n",
+ "Z5 = 79.17 < 82.75\u00b0\n",
+ "Z7 = 110.41 < 84.80\u00b0\n",
+ "\n",
+ "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+ "\n",
+ "Peak load current = 6.91 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.10, Page No. 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 20 # resistance\n",
+ "L = 10*10**-3 # inductance\n",
+ "f = 50.0 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "#(a)\n",
+ "Vrms = V\n",
+ "#(b)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.floor(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.floor(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+ "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+ "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+ "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load voltage 100 V\n",
+ "\n",
+ "(b)\n",
+ "\n",
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 20.24 < 8.92\u00b0\n",
+ "Z3 = 22.1 < 25.22\u00b0\n",
+ "Z5 = 25.43 < 38.13\u00b0\n",
+ "Z7 = 29.72 < 47.71\u00b0\n",
+ "\n",
+ "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+ "\n",
+ "RMS value of fundamental component of load current = 4.448 A\n",
+ "\n",
+ "(c) Peak load current = 6.68 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.11, Page No.229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Ip = V/(2*R)\n",
+ "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+ "P = Irms**2*R*3\n",
+ "Iavg = 2*R/3\n",
+ "Itrms = math.sqrt((2*R)**2/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+ "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak value of load current = 20 A\n",
+ "RMS load current = 16.33 A\n",
+ "Power output = 8000 W\n",
+ "Average thyristor current = 6.67 A\n",
+ "RMS value of thyristor current = 11.55 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 156
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.12, Page No. 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "P =Irms**2*R*3\n",
+ "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+ "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+ "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS load current = 18.856 A\n",
+ "Power output = 10666.67 A\n",
+ "Peak thyristor current = 26.67 A\n",
+ "Average current of thyristor = 8.89 A\n",
+ "RMS current of thyristor = 13.33 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 164
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.13, Page No.230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# RMS value of load current and RMS value of thyristor current\n",
+ "\n",
+ "import math\n",
+ "#variaable declaration\n",
+ "V = 450.0 # supply voltage\n",
+ "R = 10.0 # per phase load resistance\n",
+ "mode = 180 # conduction mode\n",
+ "\n",
+ "#calculation\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "#(a)\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "Ip = i1\n",
+ "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load current = 21.21 A\n",
+ "(b) Peak current of thyristor = 30 A\n",
+ "(c) RMS current of thyristor = 15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 167
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.14, Page No. 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "w = 30.0 # width of each pulse\n",
+ "n = 5.0 # no of pulses each cycle\n",
+ "i =1.1 # factor by whic input is to be increased\n",
+ "w1= 33.0 # maximum width of pulse\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vl = V*math.sqrt(n*w/180.0)\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "Vl1 = 182.52 #value used in the book for calculations\n",
+ "#(b)\n",
+ "Vi = V*i\n",
+ "sig=(180*(Vl1/Vi)**2)/n\n",
+ "#(c)\n",
+ "V = Vl1/math.sqrt(n*w1/180.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vl = 182.57 V\n",
+ "(b) Pulse-width = 24.78\u00b0\n",
+ "(c) V = 190.64 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 186
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.15, Page No.234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 #input voltage\n",
+ "w = 120.0 # width of signal\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt(w/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 163.3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 190
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.16, Page No. 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Inverter controlled by sinusoidal pulse-width modulation\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 150.0 # input DC voltage\n",
+ "w1 = 20.0 # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+ "w2 = 60.0 # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+ "w3 = 20.0 # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 111.8 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 192
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_4_3.ipynb b/Power_Electronics/Power_electronics_ch_4_3.ipynb new file mode 100755 index 00000000..c5ad12df --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_4_3.ipynb @@ -0,0 +1,983 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Inverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.1, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Maximum output frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "\n",
+ "#Calculations\n",
+ "X =(4*L)/C\n",
+ "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "f = math.ceil(f)\n",
+ "#Result\n",
+ "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+ "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+ "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R^2 = 6400\n",
+ "4L/C = 26667\n",
+ "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+ "\n",
+ "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.2, Page No. 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output frequency(refering example 4.1)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "R = 80.0 # serries inverter resistance\n",
+ "L = 8*10**-3 # serries inverter inductance\n",
+ "C = 1.2*10**-6 # serries inverter capacitance\n",
+ "t = 14*10**-6 # turn off time of thyristor\n",
+ "Fmax = 1416.16 # frequency as calculated in ex 4.1\n",
+ "\n",
+ "#Calculation\n",
+ "T =1/Fmax\n",
+ "T = math.floor(T*10**6)/10**6\n",
+ "k = 1/0.000734\n",
+ "f =1/(T+2*t)\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency = %.1f Hz\"%f)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency = 1362.4 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.3, Page No.205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# circuit turn off time and max frequency\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "L = 50.0*10**-6 # Inductance\n",
+ "C = 6.0*10**-6 # capacitance\n",
+ "R = 4.0 # Resistance\n",
+ "V = 200.0 # input voltage\n",
+ "f = 6000.0 # output frequency\n",
+ "t = 6.0*10**-6 # SCR turn off time\n",
+ "\n",
+ "#calculations\n",
+ "x = 4*L/C\n",
+ "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+ "wr = math.floor(wr*10)/10\n",
+ "fr = wr/(2*math.pi)\n",
+ "#(a)\n",
+ "x1 = math.pi/wr\n",
+ "x1= math.floor(x1*10**7)/10**7\n",
+ "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+ "#(b)\n",
+ "fmax = 1/(2*((x1)+t))\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Available circuit turn off time = 7.93 micro-sec\n",
+ "(b) fmax = 6142.5 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.4, Page No. 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# thyristor ratings\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 40.0 # input DC voltage\n",
+ "Vo = 230.0 # output voltage\n",
+ "f = 50.0 # output frequency\n",
+ "Il = 2.0 # peak load current\n",
+ "t = 50.0*10**-6 # turn off time\n",
+ "\n",
+ "#calculations\n",
+ "Il_r = Vo*2/V\n",
+ "#after solving (i),(ii)\n",
+ "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+ "C = math.sqrt(C)\n",
+ "C = math.ceil(C*10**8)/10**8\n",
+ "L = ((t*3/math.pi)**2)/C\n",
+ "# OR\n",
+ "#L= C/(((2*Vo)/(V**2))**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+ "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L = 166.04 *10^-6 H\n",
+ "C = 13.73 *10^-6 F\n",
+ "\n",
+ "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.5, Page No. 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Single phase half bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V/2\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = 2*Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 13.5 V\n",
+ "(b) Output power = 75 W\n",
+ "(c) Peak current in each thyristor = 5 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 2.5 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 91
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.6, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "R = 3.0 # load resistance\n",
+ "V = 30.0 # input DC voltage\n",
+ "\n",
+ "#Calculations\n",
+ "#(a) for n=1;\n",
+ "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+ "#(b)\n",
+ "Vl = V\n",
+ "P = (Vl**2)/R\n",
+ "#(c)\n",
+ "Ip = Vl/R\n",
+ "#(d)\n",
+ "Iavg = Ip/2\n",
+ "#(e)\n",
+ "Vr = Vl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+ "print(\"(d)Each thyristor conducts for 50%% of time,\\n Average current = %.1f A\"%(Iavg))\n",
+ "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value V1 = 27.0 V\n",
+ "(b) Output power = 300 W\n",
+ "(c) Peak current in each thyristor = 10 A\n",
+ "(d)Each thyristor conducts for 50% of time,\n",
+ " Average current = 5.0 A\n",
+ "(e) Peak reverse blocking voltage = 30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.7, Page No. 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter circuit\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "R = 10.0 # resistance\n",
+ "L = 20.0*10**-3 # Inductance\n",
+ "C = 100.0*10**-6 # capacitance\n",
+ "f = 50.0 # inverter frequency\n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "Z9_r = R\n",
+ "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+ "Z9_i = math.floor(Z9_i*100)/100\n",
+ "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+ "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+ "Z9_angle = math.floor(Z9_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "#(b)\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+ "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+ "If = I1/math.sqrt(2)\n",
+ "If = math.floor(If*100)/100\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+ "#(d)\n",
+ "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+ "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+ "#(e)\n",
+ "Ilrms = Ip/math.sqrt(2)\n",
+ "P = R*Ilrms**2\n",
+ "Pf = R*If**2\n",
+ "#(f)\n",
+ "Iavg = P/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+ "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+ "\n",
+ "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+ "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+ "print(\"\\n(d) RMS harmonic current = %.3f A\\n Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+ "print(\"\\n(e) RMS value of load current = %.3f A\\n Total output power = %.1f W\\n Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+ "print(\"\\n(f) Average input current = %.4f A\\n Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+ "#Some values are accurate only upto 1 or 2 decimal places"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Z1 = 27.437 < -68.63\u00b0\n",
+ "Z3 = 12.95 < 39.45\u00b0\n",
+ "Z5 = 26.96 < 68.23\u00b0\n",
+ "Z7 = 40.68 < 75.76\u00b0\n",
+ "Z9 = 53.94 < 79.31\u00b0\n",
+ "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+ "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+ "\n",
+ "(b) RMS load current at fundamental frequency = 6.56 A\n",
+ "\n",
+ "(c) Peak value of load current = 11.56 A\n",
+ "\n",
+ "(d) RMS harmonic current = 4.876 A\n",
+ " Total harmonic distortion = 0.743 or 74.3%\n",
+ "\n",
+ "(e) RMS value of load current = 8.175 A\n",
+ " Total output power = 668.3 W\n",
+ " Fundamental component of power = 430.336 W\n",
+ "\n",
+ "(f) Average input current = 3.3417 A\n",
+ " Peak thyristor current = 11.56 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.8, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Value of C for proper load communication\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "R = 2 # resistance\n",
+ "Xl = 10 # inductive reactance\n",
+ "f = 4*10**3 # operating frequency\n",
+ "T = 12*10**-6 # turn off time of thyristor\n",
+ "tol = 1.5 # 50% tolerance in circuit turn off time\n",
+ "\n",
+ "#Calculations\n",
+ "T = T*tol\n",
+ "theta = 2*math.pi*f*T #radians\n",
+ "#theta = theta*180/math.pi\n",
+ "Xc = 2*math.tan(theta)+Xl\n",
+ "C = 1/(Xc*2*math.pi*f)\n",
+ "\n",
+ "#Result\n",
+ "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C = 3.63*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.9, Page No. 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 10 # resistance\n",
+ "L = 50*10**-3 # inductance\n",
+ "f = 50 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "#(a)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "#(b)\n",
+ "I1 = math.ceil(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+ "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "\n",
+ "print(\"\\nPeak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 18.62 < 57.5\u00b0\n",
+ "Z3 = 48.17 < 78\u00b0\n",
+ "Z5 = 79.17 < 82.75\u00b0\n",
+ "Z7 = 110.41 < 84.80\u00b0\n",
+ "\n",
+ "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+ "\n",
+ "Peak load current = 6.91 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.10, Page No. 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase Full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaratrion\n",
+ "R = 20 # resistance\n",
+ "L = 10*10**-3 # inductance\n",
+ "f = 50.0 # frequency\n",
+ "V = 100 # input voltage\n",
+ "\n",
+ "#Calculation \n",
+ "#(a)\n",
+ "Vrms = V\n",
+ "#(b)\n",
+ "Z1_r = R\n",
+ "Z1_i = (2*math.pi*f*L)\n",
+ "Z1_i = math.floor(Z1_i*100)/100\n",
+ "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+ "Z1_mag = math.floor(Z1_mag*100)/100\n",
+ "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+ "Z1_angle = math.floor(Z1_angle*100)/100\n",
+ "\n",
+ "Z3_r = R\n",
+ "Z3_i = (3*2*math.pi*f*L)\n",
+ "Z3_i = math.floor(Z3_i*100)/100\n",
+ "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+ "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+ "Z3_angle = math.floor(Z3_angle*100)/100\n",
+ "\n",
+ "Z5_r = R\n",
+ "Z5_i = (5*2*math.pi*f*L)\n",
+ "Z5_i = math.floor(Z5_i*100)/100\n",
+ "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+ "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+ "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+ "Z5_angle = math.floor(Z5_angle*100)/100\n",
+ "\n",
+ "Z7_r = R\n",
+ "Z7_i = (7*2*math.pi*f*L)\n",
+ "Z7_i = math.floor(Z7_i*100)/100\n",
+ "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+ "Z7_mag = math.floor(Z7_mag*100)/100\n",
+ "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+ "Z7_angle = math.floor(Z7_angle*100)/100\n",
+ "\n",
+ "x = 4*V/(math.pi)\n",
+ "w = 2*math.pi*f\n",
+ "\n",
+ "I1 = math.floor(x*100/Z1_mag)/100\n",
+ "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+ "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+ "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+ "\n",
+ "#(c)\n",
+ "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+ "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+ "\n",
+ "print(\"\\nLoad impedances for various harmonics are:\")\n",
+ "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+ "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+ "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+ "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+ "\n",
+ "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+ "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+ "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load voltage 100 V\n",
+ "\n",
+ "(b)\n",
+ "\n",
+ "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+ "\n",
+ "Load impedances for various harmonics are:\n",
+ "Z1 = 20.24 < 8.92\u00b0\n",
+ "Z3 = 22.1 < 25.22\u00b0\n",
+ "Z5 = 25.43 < 38.13\u00b0\n",
+ "Z7 = 29.72 < 47.71\u00b0\n",
+ "\n",
+ "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+ "\n",
+ "RMS value of fundamental component of load current = 4.448 A\n",
+ "\n",
+ "(c) Peak load current = 6.68 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.11, Page No.229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Ip = V/(2*R)\n",
+ "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+ "P = Irms**2*R*3\n",
+ "Iavg = 2*R/3\n",
+ "Itrms = math.sqrt((2*R)**2/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+ "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak value of load current = 20 A\n",
+ "RMS load current = 16.33 A\n",
+ "Power output = 8000 W\n",
+ "Average thyristor current = 6.67 A\n",
+ "RMS value of thyristor current = 11.55 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 156
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.12, Page No. 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 400.0 # supply voltage\n",
+ "R = 10.0 # per phase resistor\n",
+ "\n",
+ "#Calculations\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "P =Irms**2*R*3\n",
+ "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+ "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+ "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS load current = 18.856 A\n",
+ "Power output = 10666.67 A\n",
+ "Peak thyristor current = 26.67 A\n",
+ "Average current of thyristor = 8.89 A\n",
+ "RMS current of thyristor = 13.33 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 164
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.13, Page No.230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# RMS value of load current and RMS value of thyristor current\n",
+ "\n",
+ "import math\n",
+ "#variaable declaration\n",
+ "V = 450.0 # supply voltage\n",
+ "R = 10.0 # per phase load resistance\n",
+ "mode = 180 # conduction mode\n",
+ "\n",
+ "#calculation\n",
+ "Rl = 1.5*R\n",
+ "i1 = V/Rl\n",
+ "#(a)\n",
+ "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+ "Ip = i1\n",
+ "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS load current = 21.21 A\n",
+ "(b) Peak current of thyristor = 30 A\n",
+ "(c) RMS current of thyristor = 15 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 167
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.14, Page No. 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 # input voltage\n",
+ "w = 30.0 # width of each pulse\n",
+ "n = 5.0 # no of pulses each cycle\n",
+ "i =1.1 # factor by whic input is to be increased\n",
+ "w1= 33.0 # maximum width of pulse\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vl = V*math.sqrt(n*w/180.0)\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "Vl1 = 182.52 #value used in the book for calculations\n",
+ "#(b)\n",
+ "Vi = V*i\n",
+ "sig=(180*(Vl1/Vi)**2)/n\n",
+ "#(c)\n",
+ "V = Vl1/math.sqrt(n*w1/180.0)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vl = 182.57 V\n",
+ "(b) Pulse-width = 24.78\u00b0\n",
+ "(c) V = 190.64 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 186
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.15, Page No.234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full bridge inverter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 200.0 #input voltage\n",
+ "w = 120.0 # width of signal\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt(w/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 163.3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 190
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 4.16, Page No. 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Inverter controlled by sinusoidal pulse-width modulation\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 150.0 # input DC voltage\n",
+ "w1 = 20.0 # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+ "w2 = 60.0 # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+ "w3 = 20.0 # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+ "\n",
+ "#Calculations\n",
+ "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vl = %.1f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vl = 111.8 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 192
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_5_1.ipynb b/Power_Electronics/Power_electronics_ch_5_1.ipynb new file mode 100755 index 00000000..eed0454a --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_5_1.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 diff --git a/Power_Electronics/Power_electronics_ch_5_2.ipynb b/Power_Electronics/Power_electronics_ch_5_2.ipynb new file mode 100755 index 00000000..eed0454a --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_5_2.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 diff --git a/Power_Electronics/Power_electronics_ch_5_3.ipynb b/Power_Electronics/Power_electronics_ch_5_3.ipynb new file mode 100755 index 00000000..eed0454a --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_5_3.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 diff --git a/Power_Electronics/Power_electronics_ch_6_1.ipynb b/Power_Electronics/Power_electronics_ch_6_1.ipynb new file mode 100755 index 00000000..9456765e --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_6_1.ipynb @@ -0,0 +1,852 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: AC Regulators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.1, Page No.286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output power, input power factor, average and rms vales of thyristor\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "nc = 36.0 # conduction cycles\n",
+ "no = 64.0 # off cycles\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "alfa = nc/(nc+no)\n",
+ "Vl = V*math.sqrt(alfa)\n",
+ "#(b)\n",
+ "P = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "Il = Vl/Rl\n",
+ "va_i = V*Il\n",
+ "pf_i = P/va_i\n",
+ "#(e)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Ip = sqrt_2*V/Rl\n",
+ "\n",
+ "def f(x):\n",
+ " return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+ "wt_lower=0\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "\n",
+ "val2 =Ip*math.sqrt(alfa)/2.0\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+ "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+ "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+ "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms output voltage, Vl = 90 V\n",
+ "(b) Power output = 1012.5 W\n",
+ "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+ "(d) input power factor = 0.6 lagging\n",
+ "(e)\tPeak thyristor current = 26.5125 A \n",
+ "\tAverage thyristor current = 3.038 A\n",
+ "\tRMS thyristor current = 7.95 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.2, Page No.288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase half wave regulator parameter\n",
+ "\n",
+ "import math\n",
+ "#vaariable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "# Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Po = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "I = Vl/Rl\n",
+ "va = V*I\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "Iavg = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+ "print(\" whereas the whole negative cycle appears at the output.\")\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = -16.9 V\n",
+ " This is negative because only a part of positive half cycle appears at the output\n",
+ " whereas the whole negative cycle appears at the output.\n",
+ "\n",
+ "(b) Vl = 142.46 V\n",
+ "\n",
+ "(c) Power output = 2536.86 W\n",
+ "\n",
+ "(d) Input pf = 0.95 lagging\n",
+ "\n",
+ "(e) Average input current = Average output current = -2.11 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.3, Page No.293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Io = Vl/Rl\n",
+ "Po = (Io**2)*Rl\n",
+ "#(d)\n",
+ "va = V*Io\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/3 \n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+ "\n",
+ "def g(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower1 = math.pi/3\n",
+ "wt_upper1 = math.pi\n",
+ "val1 = quad(g,wt_lower1,wt_upper1)\n",
+ "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average thyristor current= %.2f A\\n RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+ "\n",
+ "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+ "#(c) answer in the book is misprinted"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = 101.27 V\n",
+ " \n",
+ "\n",
+ "(b) Vl = 134.52 V\n",
+ "\n",
+ "(c) Power output = 2261.95 W\n",
+ "\n",
+ "(d) Input pf = 0.897 lagging\n",
+ "\n",
+ "(e) Average thyristor current= 6.33 A\n",
+ " RMS thyristor current = 11.89 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.4, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave ac voltage regulator\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 120.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "alfa = 90.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "#Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "#Vo = 60*math.sqrt(2) \n",
+ "#(b)\n",
+ "Il = Vo/Rl\n",
+ "Po = (Il**2)*Rl\n",
+ "VA = Il*V\n",
+ "pf = Po/VA\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/2\n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+ " \n",
+ "#(d)\n",
+ "Irms = Il/math.sqrt(2)\n",
+ "#(e)\n",
+ "Irmsl = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+ "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS output voltage = 84.852814 V\n",
+ "(b) Input p.f. = 0.707 lagging\n",
+ "(c) Average thyristor current = 2.7 A\n",
+ "(d) RMS thyristor current = 6.0 A\n",
+ "(e) RMS load current =8.485281 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.5, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms output voltage and average power\n",
+ "\n",
+ "import math\n",
+ "R = 400.0 # load resistance\n",
+ "V = 110.0 # input voltage\n",
+ "alfa = 60.0 # firing angle\n",
+ "\n",
+ "# calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "P = (Vo**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 155.54 V\n",
+ "Average power = 24.33 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.6, Page No.294 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "# variable declaration\n",
+ "a1 = 0.80 # % of maximum power value1\n",
+ "a2 = 0.30 # % of maximum power value2\n",
+ "\n",
+ "#Calculation\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "alfa2 = x2.real\n",
+ "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+ "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa1 = 60.5\u00b0\n",
+ "(b) alfa2 = 108.6\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 98
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.7, Page No.295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 230.0 # Single phase supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "R = 15.0 # load resistance\n",
+ "alfa = 30.0 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "alfa = alfa*math.pi/180 #degree to radians\n",
+ "#(a)\n",
+ "#-Theoretical\n",
+ "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+ "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "#(b)\n",
+ "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+ "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+ "Va = math.sqrt(a1**2 + b1**2)\n",
+ "Vrms = Va/sqrt_2\n",
+ "Vrms = math.floor(Vrms*1000)/1000\n",
+ "#(e)\n",
+ "P = (Vrms**2)/R\n",
+ "#(f)\n",
+ "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "Vl =math.floor(Vl*1000)/1000\n",
+ "#(g)\n",
+ "Pt = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+ "print(\"\\n(b) Amplitude of fundamental component of load voltage = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+ "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+ "print(\" Hence max.(di/dt) is infinite\")\n",
+ "print(\"\\n(d) Maximum forward or reverse voltage across thyristor = %.2f V \"%(Vm))#math.pi =1.414\n",
+ "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+ "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+ "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average thyristor current = 6.44 A\n",
+ " RMS thyristor current = 10.683 A\n",
+ "\n",
+ "(b) Amplitude of fundamental component of load voltage = 316.9 V\n",
+ " RMS value = 224.116 V\n",
+ "\n",
+ "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+ " Hence max.(di/dt) is infinite\n",
+ "\n",
+ "(d) Maximum forward or reverse voltage across thyristor = 325.22 V \n",
+ "\n",
+ "\n",
+ "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+ "\n",
+ "\n",
+ "(f) Load voltage = 226.625 V\n",
+ "\n",
+ "\n",
+ "(g) Total power output = 3423.93 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.8, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150 # input voltage\n",
+ "R = 4 # resistance of the circuit\n",
+ "L = 22*10**-3 # Inductance\n",
+ "f = 50 # frequency \n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(w*L/R)\n",
+ "beta = 180+alfa\n",
+ "#(b)\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = V*math.sqrt(2)\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+ "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "theta = 60\u00b0\n",
+ "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+ "therefore, Beta = 240\u00b0\n",
+ "\n",
+ "(b)\n",
+ " Vl = 150 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.9, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 5 # resistance of the circuit\n",
+ "L = 20*10**-3 # inductance\n",
+ "\n",
+ "#Calculations\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+ "theta = math.ceil(theta*100)/100\n",
+ "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P =R*Il**2\n",
+ "ipf = (P)/(V*Il)\n",
+ "\n",
+ "#Result\n",
+ "print(\"theta = %.2f\u00b0\"%theta)\n",
+ "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+ "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+ "print(\"\\n(c)\\n Load current = %.2f A\\n Power output = %.2f W\\n Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 38.52\u00b0\n",
+ "\n",
+ "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+ "\n",
+ "(b) Conduction period of each thyristor is 180\u00b0.\n",
+ "\n",
+ "(c)\n",
+ " Load current = 28.64 A\n",
+ " Power output = 4101.25 W\n",
+ " Input power factor = 0.623 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.10, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Singal phase full wave regulator circuit parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "R = 9 # resistance of the circuit\n",
+ "L = 0.03 # inductance\n",
+ "V = 240 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa1 = 0 # firing angle case a\n",
+ "alfa2 = 60 # firing angle case b\n",
+ "alfa3 = 90 # firing angle case c\n",
+ "\n",
+ "#calculations\n",
+ "RbyL = R/L\n",
+ "alfa1 = 0*math.pi/180\n",
+ "alfa2 = 60*math.pi/180\n",
+ "alfa3 = 90*math.pi/180 \n",
+ "alfa4 = 13.7*math.pi/180 \n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "w = 2*math.pi*f\n",
+ "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+ "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+ "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+ "\n",
+ "#(a)\n",
+ "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P = V*Il*x/sqrt_2\n",
+ "#b\n",
+ "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+ "def h(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00919\n",
+ "t1 = 0\n",
+ "val = quad(h,t1,t2)\n",
+ "P2 = val[0]/0.01\n",
+ "#c\n",
+ "k2 = math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+ "def g(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00733\n",
+ "t1 = 0\n",
+ "val2 = quad(g,t1,t2)\n",
+ "P3 = val2[0]/0.01\n",
+ "\n",
+ "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+ "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+ "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+ "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+ "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+ "#Power answer for (b) and (c) do not match with the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+ "Power delivered = 3053.6 W\n",
+ "(b)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+ "Power delivered = 3885.4 W\n",
+ "(c)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+ "Power delivered = 2138.7 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 200
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.11, Page No. 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Current and voltage ratings\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "f = 50 # frequency\n",
+ "P = 20*10**3 # output power\n",
+ "sf = 1.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Il = P/(math.sqrt(3)*V)\n",
+ "Irms = Il*sf\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "Vrms = V*sf\n",
+ "#(b)\n",
+ "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+ "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each triac = 41.73 A\n",
+ " rms voltage rating = 622.5 V\n",
+ "\n",
+ "(b)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each thyristor = 29.51 A\n",
+ " rms voltage rating = 622.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.12, Page No.305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 30 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+ "Vl = math.floor(Vl*10)/10\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %.1f V\\n Vl = %.1f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.6 V\n",
+ " Vl = 234.3 V\n",
+ "\n",
+ "(b) Output power = 10979.3 W or 10.9793 kW\n",
+ "\n",
+ "(c) Line Current = 15.62A\n",
+ "\n",
+ "(d) input p.f. = 0.978 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.13, Page No. 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "#Vrms = math.floor(Vrms*10)/10\n",
+ "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+ "#pi value = 3.141 to match the answer in the book\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %f V\\n Vl = %f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.600362 V\n",
+ " Vl = 201.390000 V\n",
+ "\n",
+ "(b) Output power = 8111.59 W or 8.11159 kW\n",
+ "\n",
+ "(c) Line Current = 13.426A\n",
+ "\n",
+ "(d) input p.f. = 0.84 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 109
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_6_2.ipynb b/Power_Electronics/Power_electronics_ch_6_2.ipynb new file mode 100755 index 00000000..9456765e --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_6_2.ipynb @@ -0,0 +1,852 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: AC Regulators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.1, Page No.286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output power, input power factor, average and rms vales of thyristor\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "nc = 36.0 # conduction cycles\n",
+ "no = 64.0 # off cycles\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "alfa = nc/(nc+no)\n",
+ "Vl = V*math.sqrt(alfa)\n",
+ "#(b)\n",
+ "P = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "Il = Vl/Rl\n",
+ "va_i = V*Il\n",
+ "pf_i = P/va_i\n",
+ "#(e)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Ip = sqrt_2*V/Rl\n",
+ "\n",
+ "def f(x):\n",
+ " return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+ "wt_lower=0\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "\n",
+ "val2 =Ip*math.sqrt(alfa)/2.0\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+ "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+ "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+ "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms output voltage, Vl = 90 V\n",
+ "(b) Power output = 1012.5 W\n",
+ "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+ "(d) input power factor = 0.6 lagging\n",
+ "(e)\tPeak thyristor current = 26.5125 A \n",
+ "\tAverage thyristor current = 3.038 A\n",
+ "\tRMS thyristor current = 7.95 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.2, Page No.288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase half wave regulator parameter\n",
+ "\n",
+ "import math\n",
+ "#vaariable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "# Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Po = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "I = Vl/Rl\n",
+ "va = V*I\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "Iavg = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+ "print(\" whereas the whole negative cycle appears at the output.\")\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = -16.9 V\n",
+ " This is negative because only a part of positive half cycle appears at the output\n",
+ " whereas the whole negative cycle appears at the output.\n",
+ "\n",
+ "(b) Vl = 142.46 V\n",
+ "\n",
+ "(c) Power output = 2536.86 W\n",
+ "\n",
+ "(d) Input pf = 0.95 lagging\n",
+ "\n",
+ "(e) Average input current = Average output current = -2.11 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.3, Page No.293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Io = Vl/Rl\n",
+ "Po = (Io**2)*Rl\n",
+ "#(d)\n",
+ "va = V*Io\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/3 \n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+ "\n",
+ "def g(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower1 = math.pi/3\n",
+ "wt_upper1 = math.pi\n",
+ "val1 = quad(g,wt_lower1,wt_upper1)\n",
+ "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average thyristor current= %.2f A\\n RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+ "\n",
+ "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+ "#(c) answer in the book is misprinted"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = 101.27 V\n",
+ " \n",
+ "\n",
+ "(b) Vl = 134.52 V\n",
+ "\n",
+ "(c) Power output = 2261.95 W\n",
+ "\n",
+ "(d) Input pf = 0.897 lagging\n",
+ "\n",
+ "(e) Average thyristor current= 6.33 A\n",
+ " RMS thyristor current = 11.89 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.4, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave ac voltage regulator\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 120.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "alfa = 90.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "#Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "#Vo = 60*math.sqrt(2) \n",
+ "#(b)\n",
+ "Il = Vo/Rl\n",
+ "Po = (Il**2)*Rl\n",
+ "VA = Il*V\n",
+ "pf = Po/VA\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/2\n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+ " \n",
+ "#(d)\n",
+ "Irms = Il/math.sqrt(2)\n",
+ "#(e)\n",
+ "Irmsl = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+ "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS output voltage = 84.852814 V\n",
+ "(b) Input p.f. = 0.707 lagging\n",
+ "(c) Average thyristor current = 2.7 A\n",
+ "(d) RMS thyristor current = 6.0 A\n",
+ "(e) RMS load current =8.485281 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.5, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms output voltage and average power\n",
+ "\n",
+ "import math\n",
+ "R = 400.0 # load resistance\n",
+ "V = 110.0 # input voltage\n",
+ "alfa = 60.0 # firing angle\n",
+ "\n",
+ "# calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "P = (Vo**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 155.54 V\n",
+ "Average power = 24.33 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.6, Page No.294 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "# variable declaration\n",
+ "a1 = 0.80 # % of maximum power value1\n",
+ "a2 = 0.30 # % of maximum power value2\n",
+ "\n",
+ "#Calculation\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "alfa2 = x2.real\n",
+ "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+ "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa1 = 60.5\u00b0\n",
+ "(b) alfa2 = 108.6\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 98
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.7, Page No.295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 230.0 # Single phase supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "R = 15.0 # load resistance\n",
+ "alfa = 30.0 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "alfa = alfa*math.pi/180 #degree to radians\n",
+ "#(a)\n",
+ "#-Theoretical\n",
+ "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+ "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "#(b)\n",
+ "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+ "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+ "Va = math.sqrt(a1**2 + b1**2)\n",
+ "Vrms = Va/sqrt_2\n",
+ "Vrms = math.floor(Vrms*1000)/1000\n",
+ "#(e)\n",
+ "P = (Vrms**2)/R\n",
+ "#(f)\n",
+ "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "Vl =math.floor(Vl*1000)/1000\n",
+ "#(g)\n",
+ "Pt = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+ "print(\"\\n(b) Amplitude of fundamental component of load voltage = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+ "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+ "print(\" Hence max.(di/dt) is infinite\")\n",
+ "print(\"\\n(d) Maximum forward or reverse voltage across thyristor = %.2f V \"%(Vm))#math.pi =1.414\n",
+ "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+ "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+ "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average thyristor current = 6.44 A\n",
+ " RMS thyristor current = 10.683 A\n",
+ "\n",
+ "(b) Amplitude of fundamental component of load voltage = 316.9 V\n",
+ " RMS value = 224.116 V\n",
+ "\n",
+ "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+ " Hence max.(di/dt) is infinite\n",
+ "\n",
+ "(d) Maximum forward or reverse voltage across thyristor = 325.22 V \n",
+ "\n",
+ "\n",
+ "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+ "\n",
+ "\n",
+ "(f) Load voltage = 226.625 V\n",
+ "\n",
+ "\n",
+ "(g) Total power output = 3423.93 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.8, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150 # input voltage\n",
+ "R = 4 # resistance of the circuit\n",
+ "L = 22*10**-3 # Inductance\n",
+ "f = 50 # frequency \n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(w*L/R)\n",
+ "beta = 180+alfa\n",
+ "#(b)\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = V*math.sqrt(2)\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+ "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "theta = 60\u00b0\n",
+ "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+ "therefore, Beta = 240\u00b0\n",
+ "\n",
+ "(b)\n",
+ " Vl = 150 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.9, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 5 # resistance of the circuit\n",
+ "L = 20*10**-3 # inductance\n",
+ "\n",
+ "#Calculations\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+ "theta = math.ceil(theta*100)/100\n",
+ "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P =R*Il**2\n",
+ "ipf = (P)/(V*Il)\n",
+ "\n",
+ "#Result\n",
+ "print(\"theta = %.2f\u00b0\"%theta)\n",
+ "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+ "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+ "print(\"\\n(c)\\n Load current = %.2f A\\n Power output = %.2f W\\n Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 38.52\u00b0\n",
+ "\n",
+ "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+ "\n",
+ "(b) Conduction period of each thyristor is 180\u00b0.\n",
+ "\n",
+ "(c)\n",
+ " Load current = 28.64 A\n",
+ " Power output = 4101.25 W\n",
+ " Input power factor = 0.623 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.10, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Singal phase full wave regulator circuit parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "R = 9 # resistance of the circuit\n",
+ "L = 0.03 # inductance\n",
+ "V = 240 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa1 = 0 # firing angle case a\n",
+ "alfa2 = 60 # firing angle case b\n",
+ "alfa3 = 90 # firing angle case c\n",
+ "\n",
+ "#calculations\n",
+ "RbyL = R/L\n",
+ "alfa1 = 0*math.pi/180\n",
+ "alfa2 = 60*math.pi/180\n",
+ "alfa3 = 90*math.pi/180 \n",
+ "alfa4 = 13.7*math.pi/180 \n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "w = 2*math.pi*f\n",
+ "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+ "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+ "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+ "\n",
+ "#(a)\n",
+ "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P = V*Il*x/sqrt_2\n",
+ "#b\n",
+ "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+ "def h(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00919\n",
+ "t1 = 0\n",
+ "val = quad(h,t1,t2)\n",
+ "P2 = val[0]/0.01\n",
+ "#c\n",
+ "k2 = math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+ "def g(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00733\n",
+ "t1 = 0\n",
+ "val2 = quad(g,t1,t2)\n",
+ "P3 = val2[0]/0.01\n",
+ "\n",
+ "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+ "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+ "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+ "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+ "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+ "#Power answer for (b) and (c) do not match with the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+ "Power delivered = 3053.6 W\n",
+ "(b)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+ "Power delivered = 3885.4 W\n",
+ "(c)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+ "Power delivered = 2138.7 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 200
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.11, Page No. 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Current and voltage ratings\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "f = 50 # frequency\n",
+ "P = 20*10**3 # output power\n",
+ "sf = 1.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Il = P/(math.sqrt(3)*V)\n",
+ "Irms = Il*sf\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "Vrms = V*sf\n",
+ "#(b)\n",
+ "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+ "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each triac = 41.73 A\n",
+ " rms voltage rating = 622.5 V\n",
+ "\n",
+ "(b)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each thyristor = 29.51 A\n",
+ " rms voltage rating = 622.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.12, Page No.305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 30 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+ "Vl = math.floor(Vl*10)/10\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %.1f V\\n Vl = %.1f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.6 V\n",
+ " Vl = 234.3 V\n",
+ "\n",
+ "(b) Output power = 10979.3 W or 10.9793 kW\n",
+ "\n",
+ "(c) Line Current = 15.62A\n",
+ "\n",
+ "(d) input p.f. = 0.978 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.13, Page No. 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "#Vrms = math.floor(Vrms*10)/10\n",
+ "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+ "#pi value = 3.141 to match the answer in the book\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %f V\\n Vl = %f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.600362 V\n",
+ " Vl = 201.390000 V\n",
+ "\n",
+ "(b) Output power = 8111.59 W or 8.11159 kW\n",
+ "\n",
+ "(c) Line Current = 13.426A\n",
+ "\n",
+ "(d) input p.f. = 0.84 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 109
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_6_3.ipynb b/Power_Electronics/Power_electronics_ch_6_3.ipynb new file mode 100755 index 00000000..9456765e --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_6_3.ipynb @@ -0,0 +1,852 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: AC Regulators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.1, Page No.286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input/output power, input power factor, average and rms vales of thyristor\n",
+ "\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "nc = 36.0 # conduction cycles\n",
+ "no = 64.0 # off cycles\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "alfa = nc/(nc+no)\n",
+ "Vl = V*math.sqrt(alfa)\n",
+ "#(b)\n",
+ "P = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "Il = Vl/Rl\n",
+ "va_i = V*Il\n",
+ "pf_i = P/va_i\n",
+ "#(e)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Ip = sqrt_2*V/Rl\n",
+ "\n",
+ "def f(x):\n",
+ " return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+ "wt_lower=0\n",
+ "wt_upper =math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "\n",
+ "val2 =Ip*math.sqrt(alfa)/2.0\n",
+ "\n",
+ "#result\n",
+ "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+ "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+ "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+ "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms output voltage, Vl = 90 V\n",
+ "(b) Power output = 1012.5 W\n",
+ "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+ "(d) input power factor = 0.6 lagging\n",
+ "(e)\tPeak thyristor current = 26.5125 A \n",
+ "\tAverage thyristor current = 3.038 A\n",
+ "\tRMS thyristor current = 7.95 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.2, Page No.288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase half wave regulator parameter\n",
+ "\n",
+ "import math\n",
+ "#vaariable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "# Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Po = (Vl**2)/Rl\n",
+ "#(d)\n",
+ "I = Vl/Rl\n",
+ "va = V*I\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "Iavg = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+ "print(\" whereas the whole negative cycle appears at the output.\")\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = -16.9 V\n",
+ " This is negative because only a part of positive half cycle appears at the output\n",
+ " whereas the whole negative cycle appears at the output.\n",
+ "\n",
+ "(b) Vl = 142.46 V\n",
+ "\n",
+ "(c) Power output = 2536.86 W\n",
+ "\n",
+ "(d) Input pf = 0.95 lagging\n",
+ "\n",
+ "(e) Average input current = Average output current = -2.11 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.3, Page No.293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 150.0 # input voltage\n",
+ "Rl = 8.0 # load resistance\n",
+ "theta = 60.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+ "#(b)\n",
+ "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+ "Vl = math.ceil(Vl*100)/100\n",
+ "#(c)\n",
+ "Io = Vl/Rl\n",
+ "Po = (Io**2)*Rl\n",
+ "#(d)\n",
+ "va = V*Io\n",
+ "pf = Po/va\n",
+ "#(e)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/3 \n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+ "\n",
+ "def g(x):\n",
+ " return math.sin(x)**2\n",
+ "wt_lower1 = math.pi/3\n",
+ "wt_upper1 = math.pi\n",
+ "val1 = quad(g,wt_lower1,wt_upper1)\n",
+ "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+ "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+ "print(\"\\n(e) Average thyristor current= %.2f A\\n RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+ "\n",
+ "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+ "#(c) answer in the book is misprinted"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average output voltage = 101.27 V\n",
+ " \n",
+ "\n",
+ "(b) Vl = 134.52 V\n",
+ "\n",
+ "(c) Power output = 2261.95 W\n",
+ "\n",
+ "(d) Input pf = 0.897 lagging\n",
+ "\n",
+ "(e) Average thyristor current= 6.33 A\n",
+ " RMS thyristor current = 11.89 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.4, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave ac voltage regulator\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#variable declaration\n",
+ "V = 120.0 # input voltage\n",
+ "Rl = 10.0 # load resistance\n",
+ "alfa = 90.0 # thyristor firing angle in degrees\n",
+ "\n",
+ "#Calculations\n",
+ "Vm =math.sqrt(2)*V\n",
+ "#Vm = math.floor(Vm*10)/10\n",
+ "#(a)\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "#Vo = 60*math.sqrt(2) \n",
+ "#(b)\n",
+ "Il = Vo/Rl\n",
+ "Po = (Il**2)*Rl\n",
+ "VA = Il*V\n",
+ "pf = Po/VA\n",
+ "#(c)\n",
+ "def f(x):\n",
+ " return math.sin(x)\n",
+ "wt_lower = math.pi/2\n",
+ "wt_upper = math.pi\n",
+ "val = quad(f,wt_lower,wt_upper)\n",
+ "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+ " \n",
+ "#(d)\n",
+ "Irms = Il/math.sqrt(2)\n",
+ "#(e)\n",
+ "Irmsl = Vo/Rl\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+ "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+ "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS output voltage = 84.852814 V\n",
+ "(b) Input p.f. = 0.707 lagging\n",
+ "(c) Average thyristor current = 2.7 A\n",
+ "(d) RMS thyristor current = 6.0 A\n",
+ "(e) RMS load current =8.485281 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.5, Page No. 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms output voltage and average power\n",
+ "\n",
+ "import math\n",
+ "R = 400.0 # load resistance\n",
+ "V = 110.0 # input voltage\n",
+ "alfa = 60.0 # firing angle\n",
+ "\n",
+ "# calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = sqrt_2*V\n",
+ "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+ "P = (Vo**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 155.54 V\n",
+ "Average power = 24.33 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.6, Page No.294 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "# variable declaration\n",
+ "a1 = 0.80 # % of maximum power value1\n",
+ "a2 = 0.30 # % of maximum power value2\n",
+ "\n",
+ "#Calculation\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "alfa2 = x2.real\n",
+ "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+ "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) alfa1 = 60.5\u00b0\n",
+ "(b) alfa2 = 108.6\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 98
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.7, Page No.295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# single phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 230.0 # Single phase supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "R = 15.0 # load resistance\n",
+ "alfa = 30.0 # firing angle\n",
+ "\n",
+ "#calculations\n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "alfa = alfa*math.pi/180 #degree to radians\n",
+ "#(a)\n",
+ "#-Theoretical\n",
+ "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+ "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+ "#(b)\n",
+ "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+ "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+ "Va = math.sqrt(a1**2 + b1**2)\n",
+ "Vrms = Va/sqrt_2\n",
+ "Vrms = math.floor(Vrms*1000)/1000\n",
+ "#(e)\n",
+ "P = (Vrms**2)/R\n",
+ "#(f)\n",
+ "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "Vl =math.floor(Vl*1000)/1000\n",
+ "#(g)\n",
+ "Pt = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+ "print(\"\\n(b) Amplitude of fundamental component of load voltage = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+ "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+ "print(\" Hence max.(di/dt) is infinite\")\n",
+ "print(\"\\n(d) Maximum forward or reverse voltage across thyristor = %.2f V \"%(Vm))#math.pi =1.414\n",
+ "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+ "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+ "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average thyristor current = 6.44 A\n",
+ " RMS thyristor current = 10.683 A\n",
+ "\n",
+ "(b) Amplitude of fundamental component of load voltage = 316.9 V\n",
+ " RMS value = 224.116 V\n",
+ "\n",
+ "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+ " Hence max.(di/dt) is infinite\n",
+ "\n",
+ "(d) Maximum forward or reverse voltage across thyristor = 325.22 V \n",
+ "\n",
+ "\n",
+ "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+ "\n",
+ "\n",
+ "(f) Load voltage = 226.625 V\n",
+ "\n",
+ "\n",
+ "(g) Total power output = 3423.93 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.8, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 150 # input voltage\n",
+ "R = 4 # resistance of the circuit\n",
+ "L = 22*10**-3 # Inductance\n",
+ "f = 50 # frequency \n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(w*L/R)\n",
+ "beta = 180+alfa\n",
+ "#(b)\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = V*math.sqrt(2)\n",
+ "Vm = math.floor(Vm*10)/10\n",
+ "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+ "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "theta = 60\u00b0\n",
+ "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+ "therefore, Beta = 240\u00b0\n",
+ "\n",
+ "(b)\n",
+ " Vl = 150 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.9, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Single phase full wave regulator parameters\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "f = 50 # frequency\n",
+ "R = 5 # resistance of the circuit\n",
+ "L = 20*10**-3 # inductance\n",
+ "\n",
+ "#Calculations\n",
+ "w = 2*math.pi*f\n",
+ "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+ "theta = math.ceil(theta*100)/100\n",
+ "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P =R*Il**2\n",
+ "ipf = (P)/(V*Il)\n",
+ "\n",
+ "#Result\n",
+ "print(\"theta = %.2f\u00b0\"%theta)\n",
+ "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+ "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+ "print(\"\\n(c)\\n Load current = %.2f A\\n Power output = %.2f W\\n Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 38.52\u00b0\n",
+ "\n",
+ "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+ "\n",
+ "(b) Conduction period of each thyristor is 180\u00b0.\n",
+ "\n",
+ "(c)\n",
+ " Load current = 28.64 A\n",
+ " Power output = 4101.25 W\n",
+ " Input power factor = 0.623 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.10, Page No. 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Singal phase full wave regulator circuit parameters\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "#Variable declaration\n",
+ "R = 9 # resistance of the circuit\n",
+ "L = 0.03 # inductance\n",
+ "V = 240 # input voltage\n",
+ "f = 50 # frequency\n",
+ "alfa1 = 0 # firing angle case a\n",
+ "alfa2 = 60 # firing angle case b\n",
+ "alfa3 = 90 # firing angle case c\n",
+ "\n",
+ "#calculations\n",
+ "RbyL = R/L\n",
+ "alfa1 = 0*math.pi/180\n",
+ "alfa2 = 60*math.pi/180\n",
+ "alfa3 = 90*math.pi/180 \n",
+ "alfa4 = 13.7*math.pi/180 \n",
+ "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+ "w = 2*math.pi*f\n",
+ "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+ "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+ "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+ "\n",
+ "#(a)\n",
+ "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+ "Il = math.floor(Il*100)/100\n",
+ "P = V*Il*x/sqrt_2\n",
+ "#b\n",
+ "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+ "def h(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00919\n",
+ "t1 = 0\n",
+ "val = quad(h,t1,t2)\n",
+ "P2 = val[0]/0.01\n",
+ "#c\n",
+ "k2 = math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+ "def g(t):\n",
+ " return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+ "t2 = 0.00733\n",
+ "t1 = 0\n",
+ "val2 = quad(g,t1,t2)\n",
+ "P3 = val2[0]/0.01\n",
+ "\n",
+ "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+ "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+ "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+ "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+ "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+ "#Power answer for (b) and (c) do not match with the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+ "Power delivered = 3053.6 W\n",
+ "(b)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+ "Power delivered = 3885.4 W\n",
+ "(c)\n",
+ "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+ "Power delivered = 2138.7 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 200
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.11, Page No. 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Current and voltage ratings\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "f = 50 # frequency\n",
+ "P = 20*10**3 # output power\n",
+ "sf = 1.5 # safety factor\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Il = P/(math.sqrt(3)*V)\n",
+ "Irms = Il*sf\n",
+ "Irms = math.floor(Irms*100)/100\n",
+ "Vrms = V*sf\n",
+ "#(b)\n",
+ "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+ "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each triac = 41.73 A\n",
+ " rms voltage rating = 622.5 V\n",
+ "\n",
+ "(b)\n",
+ " Line Current = 27.82 A\n",
+ " RMS rating of each thyristor = 29.51 A\n",
+ " rms voltage rating = 622.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.12, Page No.305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 30 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+ "Vl = math.floor(Vl*10)/10\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %.1f V\\n Vl = %.1f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.6 V\n",
+ " Vl = 234.3 V\n",
+ "\n",
+ "(b) Output power = 10979.3 W or 10.9793 kW\n",
+ "\n",
+ "(c) Line Current = 15.62A\n",
+ "\n",
+ "(d) input p.f. = 0.978 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.13, Page No. 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# output parameters of 3-phase AC regulator\n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "V = 415 # 3-phase input voltage\n",
+ "R = 15 # load resistance per phase\n",
+ "alfa = 60 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "Vrms = V/math.sqrt(3)\n",
+ "#Vrms = math.floor(Vrms*10)/10\n",
+ "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+ "#pi value = 3.141 to match the answer in the book\n",
+ "Vl = math.floor(Vl*100)/100\n",
+ "#(b)\n",
+ "P = (3*Vl**2)/R\n",
+ "#(c)\n",
+ "Il = Vl/R\n",
+ "#(d)\n",
+ "VA = 3*Vrms*Il\n",
+ "ipf = P/VA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) rms value of input phase voltage = %f V\\n Vl = %f V\"%(Vrms,Vl))\n",
+ "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) rms value of input phase voltage = 239.600362 V\n",
+ " Vl = 201.390000 V\n",
+ "\n",
+ "(b) Output power = 8111.59 W or 8.11159 kW\n",
+ "\n",
+ "(c) Line Current = 13.426A\n",
+ "\n",
+ "(d) input p.f. = 0.84 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 109
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_7_1.ipynb b/Power_Electronics/Power_electronics_ch_7_1.ipynb new file mode 100755 index 00000000..7288e1e0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_7_1.ipynb @@ -0,0 +1,204 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 : Cycloconverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.1, Page No.319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input voltage, SCR ratings and input power factors\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "I = 50 # supply current\n",
+ "pf = 0.8 # lagging power factor\n",
+ "alfa = 0 # ideal SCR\n",
+ "\n",
+ "#calculations\n",
+ "x = math.sqrt(2)\n",
+ "x = math.floor(x*1000)/1000\n",
+ "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+ "Vrms = Vm/math.sqrt(2)\n",
+ "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+ "y = math.sqrt(3)\n",
+ "y = math.floor(y*1000)/1000\n",
+ "piv = y*Vm\n",
+ "piv = math.floor(piv*100)/100\n",
+ "Ii = math.sqrt((I**2)/3)\n",
+ "pipp = V*I*pf/3.0\n",
+ "pf_i = pipp/(Vrms*Ii)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+ "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vm = 427.452050 V\n",
+ "rms current rating of thyristor = 41.0 A\n",
+ "PIV = 740.34V\n",
+ "RMS value of input current = 28.9 A\n",
+ "Power input per phase = 3333.33 W\n",
+ "Input power factor = 0.382 lagging.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.2, Page No. 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring ex 7.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "theta1 = 30 # firing angle 1\n",
+ "theta2 = 45 # firing angle 2\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "v1 = V*math.cos(theta1*math.pi/180)\n",
+ "#(b)\n",
+ "v2 = V*math.cos(theta2*math.pi/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+ "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value of output voltage = 216.5 V\n",
+ "(b) RMS value of output voltage = 176.78 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.3, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Output voltage for different firing angle\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vrms = 230 # input voltage\n",
+ "theta1 = 0 # firing angle 1\n",
+ "theta2 = 30 # firing angle 2\n",
+ "\n",
+ "#calculation\n",
+ "#(a)\n",
+ "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "#(b)\n",
+ "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vo = 219.63 V\n",
+ "(b) Vo = 190.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.4, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# supply voltage\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vo = 200 # output voltage\n",
+ "\n",
+ "#Calculation\n",
+ "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value of input voltage = 241.84 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_7_2.ipynb b/Power_Electronics/Power_electronics_ch_7_2.ipynb new file mode 100755 index 00000000..7288e1e0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_7_2.ipynb @@ -0,0 +1,204 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 : Cycloconverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.1, Page No.319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input voltage, SCR ratings and input power factors\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "I = 50 # supply current\n",
+ "pf = 0.8 # lagging power factor\n",
+ "alfa = 0 # ideal SCR\n",
+ "\n",
+ "#calculations\n",
+ "x = math.sqrt(2)\n",
+ "x = math.floor(x*1000)/1000\n",
+ "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+ "Vrms = Vm/math.sqrt(2)\n",
+ "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+ "y = math.sqrt(3)\n",
+ "y = math.floor(y*1000)/1000\n",
+ "piv = y*Vm\n",
+ "piv = math.floor(piv*100)/100\n",
+ "Ii = math.sqrt((I**2)/3)\n",
+ "pipp = V*I*pf/3.0\n",
+ "pf_i = pipp/(Vrms*Ii)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+ "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vm = 427.452050 V\n",
+ "rms current rating of thyristor = 41.0 A\n",
+ "PIV = 740.34V\n",
+ "RMS value of input current = 28.9 A\n",
+ "Power input per phase = 3333.33 W\n",
+ "Input power factor = 0.382 lagging.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.2, Page No. 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring ex 7.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "theta1 = 30 # firing angle 1\n",
+ "theta2 = 45 # firing angle 2\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "v1 = V*math.cos(theta1*math.pi/180)\n",
+ "#(b)\n",
+ "v2 = V*math.cos(theta2*math.pi/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+ "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value of output voltage = 216.5 V\n",
+ "(b) RMS value of output voltage = 176.78 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.3, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Output voltage for different firing angle\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vrms = 230 # input voltage\n",
+ "theta1 = 0 # firing angle 1\n",
+ "theta2 = 30 # firing angle 2\n",
+ "\n",
+ "#calculation\n",
+ "#(a)\n",
+ "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "#(b)\n",
+ "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vo = 219.63 V\n",
+ "(b) Vo = 190.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.4, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# supply voltage\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vo = 200 # output voltage\n",
+ "\n",
+ "#Calculation\n",
+ "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value of input voltage = 241.84 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_7_3.ipynb b/Power_Electronics/Power_electronics_ch_7_3.ipynb new file mode 100755 index 00000000..7288e1e0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_7_3.ipynb @@ -0,0 +1,204 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 : Cycloconverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.1, Page No.319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input voltage, SCR ratings and input power factors\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "I = 50 # supply current\n",
+ "pf = 0.8 # lagging power factor\n",
+ "alfa = 0 # ideal SCR\n",
+ "\n",
+ "#calculations\n",
+ "x = math.sqrt(2)\n",
+ "x = math.floor(x*1000)/1000\n",
+ "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+ "Vrms = Vm/math.sqrt(2)\n",
+ "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+ "y = math.sqrt(3)\n",
+ "y = math.floor(y*1000)/1000\n",
+ "piv = y*Vm\n",
+ "piv = math.floor(piv*100)/100\n",
+ "Ii = math.sqrt((I**2)/3)\n",
+ "pipp = V*I*pf/3.0\n",
+ "pf_i = pipp/(Vrms*Ii)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+ "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vm = 427.452050 V\n",
+ "rms current rating of thyristor = 41.0 A\n",
+ "PIV = 740.34V\n",
+ "RMS value of input current = 28.9 A\n",
+ "Power input per phase = 3333.33 W\n",
+ "Input power factor = 0.382 lagging.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.2, Page No. 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#output voltage(referring ex 7.1)\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 250 # single phase supply voltage \n",
+ "theta1 = 30 # firing angle 1\n",
+ "theta2 = 45 # firing angle 2\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "v1 = V*math.cos(theta1*math.pi/180)\n",
+ "#(b)\n",
+ "v2 = V*math.cos(theta2*math.pi/180)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+ "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) RMS value of output voltage = 216.5 V\n",
+ "(b) RMS value of output voltage = 176.78 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.3, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Output voltage for different firing angle\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vrms = 230 # input voltage\n",
+ "theta1 = 0 # firing angle 1\n",
+ "theta2 = 30 # firing angle 2\n",
+ "\n",
+ "#calculation\n",
+ "#(a)\n",
+ "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "#(b)\n",
+ "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Vo = 219.63 V\n",
+ "(b) Vo = 190.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 7.4, Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# supply voltage\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "Vo = 200 # output voltage\n",
+ "\n",
+ "#Calculation\n",
+ "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value of input voltage = 241.84 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_8_1.ipynb b/Power_Electronics/Power_electronics_ch_8_1.ipynb new file mode 100755 index 00000000..2f3270f0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_8_1.ipynb @@ -0,0 +1,576 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8: Applications of Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.1, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig8.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "\n",
+ "# Calculations \n",
+ "Vi = Vz+Vt\n",
+ "\n",
+ "#Result \n",
+ "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+ "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+ "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+ "Vi = 15.65 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.2, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig.8.2) \n",
+ "\n",
+ "import math\n",
+ "Rz = 15.0 # resistance of zener diode under breakdown condition\n",
+ "Ig = 20*10**-3 # gate triggering current of thyristor\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "R = 50.0 # resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Rt = (R*Rz)/(R+Rz)\n",
+ "V = Rt*Ig\n",
+ "Vi = Vz+Vt+V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vi = %.3f V\"%Vi)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vi = 15.881 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.3, Page No. 327"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Values of R and C (refering to fig.8.3)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200 # input voltage\n",
+ "Il = 10 # load current\n",
+ "Toff1 = 15*10**-6 # turn off time\n",
+ "Ih = 4*10**-3 # thyristor holding current\n",
+ "\n",
+ "#Calculations\n",
+ "R = V/Ih\n",
+ "Rl = V/Il\n",
+ "C = Toff1/(Rl*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 50 k-ohm\n",
+ "C = 1.082*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.4, Page No. 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# duty cycle and Ton/Toff ratio\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 60.0 # load resistance\n",
+ "P1 = 400.0 # output ppower in case 1\n",
+ "P2 = 700.0 # output ppower in case 2\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "alfa = P1/Pmax\n",
+ "Ton = alfa\n",
+ "Toff= 1-Ton\n",
+ "r = Ton/Toff\n",
+ "#(b)\n",
+ "alfa2 = P2/Pmax\n",
+ "Ton2 = alfa2\n",
+ "Toff2= 1-Ton2\n",
+ "r2= Ton2/Toff2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+ "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power output = 881.67 W\n",
+ "\n",
+ "(a)\n",
+ " Duty cycle = 0.4537\n",
+ " Ton/Toff = 0.8305\n",
+ "\n",
+ "(b)\n",
+ " Duty cycle = 0.794\n",
+ " Ton/Toff = 3.854\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.5, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Output RMS voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ton = 12.0 # circuit is on for 12 cycles\n",
+ "Toff = 19.0 # circuit is on for 19 cycles\n",
+ "V = 230.0 # input voltage\n",
+ "\n",
+ "#calcualtions\n",
+ "d = Ton/(Ton+Toff)\n",
+ "Vrms = V*math.sqrt(d)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.1f V\"%Vrms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 143.1 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.6, Page No. 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to heater\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "R = 50 # load resistance\n",
+ "alfa1 = 90 # firing angle for case 1\n",
+ "alfa2 = 120 # firing angle for case 2\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "\n",
+ "#(a)\n",
+ "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P = (Vl**2)/R\n",
+ "\n",
+ "#(b)\n",
+ "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P2 = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa1,Vl))\n",
+ "print(\"\\n(b) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa2,Vl2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) when alfa = 90\u00b0,\n",
+ " Power = 162.61W\n",
+ "\n",
+ "(b) when alfa = 120\u00b0,\n",
+ " Power = 101.68W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.7, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10 # load resistance\n",
+ "P1 = 2645 # power supplied to heater in case a\n",
+ "P2 = 1587 # power supplied to heater in case b\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "#(b)\n",
+ "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+ "alfa2 = x2.real\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+ "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 90\u00b0\n",
+ "(b) firing angle = 108.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.8, Page No. 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating and Peak Inverse Voltage of each thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # 3-phase input voltage\n",
+ "P = 20*10**3 # load \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+ "I = P/(math.sqrt(3)*V)\n",
+ "PIV = V*math.sqrt(2)\n",
+ "PIV = math.floor(PIV*10)/10\n",
+ "#(b)\n",
+ "Ir = I/math.sqrt(2)\n",
+ "Ir = math.ceil(Ir*100)/100\n",
+ "#Result\n",
+ "print(\"(a)\\n I = %.2f A\\n During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+ "print(\" peak inverse voltage = %.1f V\"%PIV)\n",
+ "print(\"\\n(b)\\n Each thyristor conducts for every half cycle.\\n current rating = %.2f A\\n Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " I = 28.87 A\n",
+ " During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+ " peak inverse voltage = 565.6 V\n",
+ "\n",
+ "(b)\n",
+ " Each thyristor conducts for every half cycle.\n",
+ " current rating = 20.42 A\n",
+ " Peak inverse voltage is the same i.e. 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.9, Page No.338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# applied voltage and current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 5*10**-2 # insulating slab thickness\n",
+ "A = 100*10**-4 # insulating slab area\n",
+ "P = 300 # power \n",
+ "f = 10*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 4.5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "pi =math.floor(math.pi*100)/100\n",
+ "w = 2*pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 3461.2 V\n",
+ "I = 1.73 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.10, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power input and current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "t = 1*10**-2 # insulating slab thickness\n",
+ "A = 50*10**-4 # insulating slab area\n",
+ "V = 400 # input voltage \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "P = (V**2)*(w*C*math.tan(sig))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "P = 22.27 W\n",
+ "I = 1.1135 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.11, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# voltage of the source and current input\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2 # insulating slab thickness\n",
+ "A = 75 # insulating slab area\n",
+ "T1 = 20 # lower temperature\n",
+ "T2 = 50 # Higher temperature\n",
+ "Time = 7*60 # time \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r =6.5 # relative permitivity\n",
+ "sh = 0.25 # specific heat\n",
+ "den = 0.55 # density\n",
+ "pf = 0.04 # power factor\n",
+ "\n",
+ "#Calculations\n",
+ "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "\n",
+ "m = A*t*den\n",
+ "H = m*sh*(T2-T1)\n",
+ "TH = H/0.9\n",
+ "Ei = TH*4.186\n",
+ "P = Ei/Time\n",
+ "P = math.floor(P*100)/100\n",
+ "V = math.sqrt(P/(w*C*pf))\n",
+ "V = math.ceil(V*100)/100\n",
+ "I = P/(V*pf)\n",
+ "I = math.floor(I*1000)/1000\n",
+ "#Result\n",
+ "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 251.35 V\n",
+ "I = 0.681 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 86
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_8_2.ipynb b/Power_Electronics/Power_electronics_ch_8_2.ipynb new file mode 100755 index 00000000..2f3270f0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_8_2.ipynb @@ -0,0 +1,576 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8: Applications of Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.1, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig8.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "\n",
+ "# Calculations \n",
+ "Vi = Vz+Vt\n",
+ "\n",
+ "#Result \n",
+ "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+ "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+ "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+ "Vi = 15.65 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.2, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig.8.2) \n",
+ "\n",
+ "import math\n",
+ "Rz = 15.0 # resistance of zener diode under breakdown condition\n",
+ "Ig = 20*10**-3 # gate triggering current of thyristor\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "R = 50.0 # resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Rt = (R*Rz)/(R+Rz)\n",
+ "V = Rt*Ig\n",
+ "Vi = Vz+Vt+V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vi = %.3f V\"%Vi)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vi = 15.881 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.3, Page No. 327"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Values of R and C (refering to fig.8.3)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200 # input voltage\n",
+ "Il = 10 # load current\n",
+ "Toff1 = 15*10**-6 # turn off time\n",
+ "Ih = 4*10**-3 # thyristor holding current\n",
+ "\n",
+ "#Calculations\n",
+ "R = V/Ih\n",
+ "Rl = V/Il\n",
+ "C = Toff1/(Rl*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 50 k-ohm\n",
+ "C = 1.082*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.4, Page No. 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# duty cycle and Ton/Toff ratio\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 60.0 # load resistance\n",
+ "P1 = 400.0 # output ppower in case 1\n",
+ "P2 = 700.0 # output ppower in case 2\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "alfa = P1/Pmax\n",
+ "Ton = alfa\n",
+ "Toff= 1-Ton\n",
+ "r = Ton/Toff\n",
+ "#(b)\n",
+ "alfa2 = P2/Pmax\n",
+ "Ton2 = alfa2\n",
+ "Toff2= 1-Ton2\n",
+ "r2= Ton2/Toff2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+ "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power output = 881.67 W\n",
+ "\n",
+ "(a)\n",
+ " Duty cycle = 0.4537\n",
+ " Ton/Toff = 0.8305\n",
+ "\n",
+ "(b)\n",
+ " Duty cycle = 0.794\n",
+ " Ton/Toff = 3.854\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.5, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Output RMS voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ton = 12.0 # circuit is on for 12 cycles\n",
+ "Toff = 19.0 # circuit is on for 19 cycles\n",
+ "V = 230.0 # input voltage\n",
+ "\n",
+ "#calcualtions\n",
+ "d = Ton/(Ton+Toff)\n",
+ "Vrms = V*math.sqrt(d)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.1f V\"%Vrms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 143.1 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.6, Page No. 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to heater\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "R = 50 # load resistance\n",
+ "alfa1 = 90 # firing angle for case 1\n",
+ "alfa2 = 120 # firing angle for case 2\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "\n",
+ "#(a)\n",
+ "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P = (Vl**2)/R\n",
+ "\n",
+ "#(b)\n",
+ "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P2 = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa1,Vl))\n",
+ "print(\"\\n(b) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa2,Vl2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) when alfa = 90\u00b0,\n",
+ " Power = 162.61W\n",
+ "\n",
+ "(b) when alfa = 120\u00b0,\n",
+ " Power = 101.68W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.7, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10 # load resistance\n",
+ "P1 = 2645 # power supplied to heater in case a\n",
+ "P2 = 1587 # power supplied to heater in case b\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "#(b)\n",
+ "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+ "alfa2 = x2.real\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+ "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 90\u00b0\n",
+ "(b) firing angle = 108.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.8, Page No. 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating and Peak Inverse Voltage of each thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # 3-phase input voltage\n",
+ "P = 20*10**3 # load \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+ "I = P/(math.sqrt(3)*V)\n",
+ "PIV = V*math.sqrt(2)\n",
+ "PIV = math.floor(PIV*10)/10\n",
+ "#(b)\n",
+ "Ir = I/math.sqrt(2)\n",
+ "Ir = math.ceil(Ir*100)/100\n",
+ "#Result\n",
+ "print(\"(a)\\n I = %.2f A\\n During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+ "print(\" peak inverse voltage = %.1f V\"%PIV)\n",
+ "print(\"\\n(b)\\n Each thyristor conducts for every half cycle.\\n current rating = %.2f A\\n Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " I = 28.87 A\n",
+ " During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+ " peak inverse voltage = 565.6 V\n",
+ "\n",
+ "(b)\n",
+ " Each thyristor conducts for every half cycle.\n",
+ " current rating = 20.42 A\n",
+ " Peak inverse voltage is the same i.e. 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.9, Page No.338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# applied voltage and current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 5*10**-2 # insulating slab thickness\n",
+ "A = 100*10**-4 # insulating slab area\n",
+ "P = 300 # power \n",
+ "f = 10*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 4.5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "pi =math.floor(math.pi*100)/100\n",
+ "w = 2*pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 3461.2 V\n",
+ "I = 1.73 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.10, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power input and current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "t = 1*10**-2 # insulating slab thickness\n",
+ "A = 50*10**-4 # insulating slab area\n",
+ "V = 400 # input voltage \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "P = (V**2)*(w*C*math.tan(sig))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "P = 22.27 W\n",
+ "I = 1.1135 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.11, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# voltage of the source and current input\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2 # insulating slab thickness\n",
+ "A = 75 # insulating slab area\n",
+ "T1 = 20 # lower temperature\n",
+ "T2 = 50 # Higher temperature\n",
+ "Time = 7*60 # time \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r =6.5 # relative permitivity\n",
+ "sh = 0.25 # specific heat\n",
+ "den = 0.55 # density\n",
+ "pf = 0.04 # power factor\n",
+ "\n",
+ "#Calculations\n",
+ "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "\n",
+ "m = A*t*den\n",
+ "H = m*sh*(T2-T1)\n",
+ "TH = H/0.9\n",
+ "Ei = TH*4.186\n",
+ "P = Ei/Time\n",
+ "P = math.floor(P*100)/100\n",
+ "V = math.sqrt(P/(w*C*pf))\n",
+ "V = math.ceil(V*100)/100\n",
+ "I = P/(V*pf)\n",
+ "I = math.floor(I*1000)/1000\n",
+ "#Result\n",
+ "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 251.35 V\n",
+ "I = 0.681 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 86
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_8_3.ipynb b/Power_Electronics/Power_electronics_ch_8_3.ipynb new file mode 100755 index 00000000..2f3270f0 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_8_3.ipynb @@ -0,0 +1,576 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8: Applications of Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.1, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig8.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "\n",
+ "# Calculations \n",
+ "Vi = Vz+Vt\n",
+ "\n",
+ "#Result \n",
+ "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+ "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+ "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+ "Vi = 15.65 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.2, Page No. 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Crowbar circuit(refering to fig.8.2) \n",
+ "\n",
+ "import math\n",
+ "Rz = 15.0 # resistance of zener diode under breakdown condition\n",
+ "Ig = 20*10**-3 # gate triggering current of thyristor\n",
+ "Vz = 14.8 # zener breakdown voltage\n",
+ "Vt = 0.85 # thyristor trigger voltage\n",
+ "R = 50.0 # resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Rt = (R*Rz)/(R+Rz)\n",
+ "V = Rt*Ig\n",
+ "Vi = Vz+Vt+V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vi = %.3f V\"%Vi)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vi = 15.881 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.3, Page No. 327"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Values of R and C (refering to fig.8.3)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 200 # input voltage\n",
+ "Il = 10 # load current\n",
+ "Toff1 = 15*10**-6 # turn off time\n",
+ "Ih = 4*10**-3 # thyristor holding current\n",
+ "\n",
+ "#Calculations\n",
+ "R = V/Ih\n",
+ "Rl = V/Il\n",
+ "C = Toff1/(Rl*math.log(2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R = 50 k-ohm\n",
+ "C = 1.082*10^-6 F\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.4, Page No. 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# duty cycle and Ton/Toff ratio\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 60.0 # load resistance\n",
+ "P1 = 400.0 # output ppower in case 1\n",
+ "P2 = 700.0 # output ppower in case 2\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "alfa = P1/Pmax\n",
+ "Ton = alfa\n",
+ "Toff= 1-Ton\n",
+ "r = Ton/Toff\n",
+ "#(b)\n",
+ "alfa2 = P2/Pmax\n",
+ "Ton2 = alfa2\n",
+ "Toff2= 1-Ton2\n",
+ "r2= Ton2/Toff2\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+ "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power output = 881.67 W\n",
+ "\n",
+ "(a)\n",
+ " Duty cycle = 0.4537\n",
+ " Ton/Toff = 0.8305\n",
+ "\n",
+ "(b)\n",
+ " Duty cycle = 0.794\n",
+ " Ton/Toff = 3.854\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.5, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Output RMS voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "Ton = 12.0 # circuit is on for 12 cycles\n",
+ "Toff = 19.0 # circuit is on for 19 cycles\n",
+ "V = 230.0 # input voltage\n",
+ "\n",
+ "#calcualtions\n",
+ "d = Ton/(Ton+Toff)\n",
+ "Vrms = V*math.sqrt(d)\n",
+ "\n",
+ "#Result\n",
+ "print(\"RMS output voltage = %.1f V\"%Vrms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS output voltage = 143.1 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.6, Page No. 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Power supplied to heater\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230 # input voltage\n",
+ "R = 50 # load resistance\n",
+ "alfa1 = 90 # firing angle for case 1\n",
+ "alfa2 = 120 # firing angle for case 2\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "\n",
+ "#(a)\n",
+ "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P = (Vl**2)/R\n",
+ "\n",
+ "#(b)\n",
+ "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+ "P2 = (Vl**2)/R\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa1,Vl))\n",
+ "print(\"\\n(b) when alfa = %.0f\u00b0,\\n Power = %.2fW\"%(alfa2,Vl2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) when alfa = 90\u00b0,\n",
+ " Power = 162.61W\n",
+ "\n",
+ "(b) when alfa = 120\u00b0,\n",
+ " Power = 101.68W\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.7, Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# finding firing angle\n",
+ "\n",
+ "import math\n",
+ "from numpy import poly1d\n",
+ "#variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "R = 10 # load resistance\n",
+ "P1 = 2645 # power supplied to heater in case a\n",
+ "P2 = 1587 # power supplied to heater in case b\n",
+ "\n",
+ "#Calculations\n",
+ "Pmax = (V**2)/R\n",
+ "#(a)\n",
+ "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+ "#After solving equation using taylor seris of X, we got following coefficient. \n",
+ "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+ "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+ "alfa1 = x1.real\n",
+ "#(b)\n",
+ "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+ "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+ "# hardcoded value used to match the answer to the book\n",
+ "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+ "alfa2 = x2.real\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+ "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) firing angle = 90\u00b0\n",
+ "(b) firing angle = 108.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.8, Page No. 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# current rating and Peak Inverse Voltage of each thyristor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # 3-phase input voltage\n",
+ "P = 20*10**3 # load \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+ "I = P/(math.sqrt(3)*V)\n",
+ "PIV = V*math.sqrt(2)\n",
+ "PIV = math.floor(PIV*10)/10\n",
+ "#(b)\n",
+ "Ir = I/math.sqrt(2)\n",
+ "Ir = math.ceil(Ir*100)/100\n",
+ "#Result\n",
+ "print(\"(a)\\n I = %.2f A\\n During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+ "print(\" peak inverse voltage = %.1f V\"%PIV)\n",
+ "print(\"\\n(b)\\n Each thyristor conducts for every half cycle.\\n current rating = %.2f A\\n Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " I = 28.87 A\n",
+ " During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+ " peak inverse voltage = 565.6 V\n",
+ "\n",
+ "(b)\n",
+ " Each thyristor conducts for every half cycle.\n",
+ " current rating = 20.42 A\n",
+ " Peak inverse voltage is the same i.e. 565.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.9, Page No.338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# applied voltage and current\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 5*10**-2 # insulating slab thickness\n",
+ "A = 100*10**-4 # insulating slab area\n",
+ "P = 300 # power \n",
+ "f = 10*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 4.5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "pi =math.floor(math.pi*100)/100\n",
+ "w = 2*pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 3461.2 V\n",
+ "I = 1.73 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.10, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# power input and current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "t = 1*10**-2 # insulating slab thickness\n",
+ "A = 50*10**-4 # insulating slab area\n",
+ "V = 400 # input voltage \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r = 5 # relative permitivity\n",
+ "pf = 0.05 # power factor\n",
+ "\n",
+ "#Calculation\n",
+ "C = eps*eps_r*A/t\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "P = (V**2)*(w*C*math.tan(sig))\n",
+ "I = P/(V*pf)\n",
+ "\n",
+ "#Result\n",
+ "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "P = 22.27 W\n",
+ "I = 1.1135 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 8.11, Page No. 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# voltage of the source and current input\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "t = 2 # insulating slab thickness\n",
+ "A = 75 # insulating slab area\n",
+ "T1 = 20 # lower temperature\n",
+ "T2 = 50 # Higher temperature\n",
+ "Time = 7*60 # time \n",
+ "f = 20*10**6 # frequency\n",
+ "eps = 8.85*10**-12 # permitivity of free space\n",
+ "eps_r =6.5 # relative permitivity\n",
+ "sh = 0.25 # specific heat\n",
+ "den = 0.55 # density\n",
+ "pf = 0.04 # power factor\n",
+ "\n",
+ "#Calculations\n",
+ "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+ "w = 2*math.pi*f\n",
+ "fi = (math.acos(pf))*(180/math.pi)\n",
+ "sig =90-fi\n",
+ "sig = math.ceil(sig*1000)/1000\n",
+ "sig = sig*math.pi/180\n",
+ "\n",
+ "m = A*t*den\n",
+ "H = m*sh*(T2-T1)\n",
+ "TH = H/0.9\n",
+ "Ei = TH*4.186\n",
+ "P = Ei/Time\n",
+ "P = math.floor(P*100)/100\n",
+ "V = math.sqrt(P/(w*C*pf))\n",
+ "V = math.ceil(V*100)/100\n",
+ "I = P/(V*pf)\n",
+ "I = math.floor(I*1000)/1000\n",
+ "#Result\n",
+ "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "V = 251.35 V\n",
+ "I = 0.681 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 86
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_9_1.ipynb b/Power_Electronics/Power_electronics_ch_9_1.ipynb new file mode 100755 index 00000000..3528b8b2 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_9_1.ipynb @@ -0,0 +1,1256 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9: DC and AC Motor Drives"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.1, Page No. 377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Field current, firing angle and power factor\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle for semi-converter for field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "T = 50.0 # torque\n",
+ "r = 900.0 # rpm\n",
+ "vc = 0.8 # voltage constant\n",
+ "tc = 0.8 # torque constant\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "#(b)\n",
+ "Ia = T/(tc*If)\n",
+ "Ia = math.ceil(Ia*1000)/1000\n",
+ "w = r*2*math.pi/60\n",
+ "w = math.ceil(w*1000)/1000\n",
+ "back_emf =vc*w*If\n",
+ "back_emf = math.floor(back_emf*100)/100\n",
+ "Va = back_emf+Ia*Ra\n",
+ "Va = math.floor(Va*1000)/1000\n",
+ "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+ "alfa_a = alfa*180/math.pi\n",
+ "alfa_a = math.floor(alfa_a*1000)/1000\n",
+ "#(c)\n",
+ "P = Va*Ia\n",
+ "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+ "Ii = math.floor(Ii*100)/100\n",
+ "VA = V*Ii\n",
+ "pf = P/VA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Field current = 1.0352 A\n",
+ "(b) Alfa_a = 94.076\u00b0\n",
+ "(c) Input power factor = 0.605 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.2, Page No.378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque developed and motor speed\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "T = tc*Ia*If\n",
+ "bemf = Va- Ia*Ra - 2\n",
+ "w = bemf/(vc*If)\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque = 56.936 N-m\n",
+ "\n",
+ "Motor Speed = 1106.1 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.3, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# firing angle of the converter in the armature circuit\n",
+ "\n",
+ "import math\n",
+ "V = 400 # input 3-phase supply\n",
+ "alfa_f = 0 # firing angle of field converter\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "Rf = 250 # field resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.3 # motor voltage constant\n",
+ "N = 1200 # speed in rpm\n",
+ "\n",
+ "#Calculations\n",
+ "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+ "If = Vf/Rf\n",
+ "w = N*2*math.pi/60\n",
+ "Eb = vc*If*w\n",
+ "Va = Eb+Ia*Ra\n",
+ "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+ "alfa_a = alfa_a*180/math.pi\n",
+ "alfa_a = math.ceil(alfa_a*100)/100\n",
+ "#Result\n",
+ "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Alfa_a = 47.07\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.4, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input power, speed and torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 500 # input supply voltage\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Ia = 200.0 # Armature current\n",
+ "vc = 1.4 # Volatage constant\n",
+ "tc = 1.4 # Torque constant\n",
+ "If = 2 # Field current\n",
+ "d = 0.5 # chopper duty cycle\n",
+ "\n",
+ "# Calculations\n",
+ "#(a)\n",
+ "Pi = d*V*Ia\n",
+ "#(b)\n",
+ "Va = V*d\n",
+ "Eb = Va - Ia*Ra\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.floor(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "#(c)\n",
+ "T = tc*Ia*If\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power input = 50 kW \n",
+ "(b) Speed = 784.38 rpm\n",
+ "(c) Torque = 560 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.5, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Braking DC motor using one quadrant chopper\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Rb = 7.5 # Breaking resistance\n",
+ "vc = 1.4 # voltage constant\n",
+ "Ia = 120 # armature current\n",
+ "If = 1.6 # field current\n",
+ "d = 0.35 # chopper duty cycle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Vavg = Rb*Ia*(1-d)\n",
+ "#(b)\n",
+ "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+ "#(c)\n",
+ "Eb = Vavg+Ra*Ia\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.ceil(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+ "#Answer for Pb and Speed is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average voltage across chopper = 585 V\n",
+ "(b) Pb = 45630 W\n",
+ "(c) Speed = 2545.0785 rpm \n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.6, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed -Torque characteristics\n",
+ "\n",
+ "import math\n",
+ "from pylab import *\n",
+ "#variable declaration\n",
+ "V = 220.0 # per phase input voltage\n",
+ "f = 50 # frequency\n",
+ "L = 0.012 # motor inductance\n",
+ "R = 0.72 # Resistance\n",
+ "a = 2 # Armature constant\n",
+ "alfa = 90 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+ "Va = math.floor(Va*100)/100\n",
+ "Ia1 = 5 # Armature current for case 1\n",
+ "T1 = Ia1*a\n",
+ "Eb1 =Va-Ia1*R\n",
+ "Speed1 = Eb1*60/(a*2*math.pi) \n",
+ "Speed1 = math.floor(Speed1*100)/100\n",
+ "\n",
+ "Ia2 = 10 # Armature current for case 2\n",
+ "T2 = Ia2*a\n",
+ "Eb2 =Va-Ia2*R\n",
+ "Speed2 = Eb2*60/(a*2*math.pi) \n",
+ "Speed2 = math.floor(Speed2*100)/100\n",
+ "\n",
+ "Ia3 = 20 # Armature current for case 3\n",
+ "T3 = Ia3*a\n",
+ "Eb3 =Va-Ia3*R\n",
+ "Speed3 = Eb3*60/(a*2*math.pi) \n",
+ "Speed3 = math.floor(Speed3*100)/100\n",
+ "\n",
+ "Ia4 = 30 # Armature current for case 4\n",
+ "T4 = Ia4*a\n",
+ "Eb4 =Va-Ia4*R\n",
+ "Speed4 = Eb4*60/(a*2*math.pi) \n",
+ "Speed4 = math.floor(Speed4*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature Voltage =%f V\"%Va)\n",
+ "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+ "#################-----PLOT-----#####################\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "t = [T1, T2, T3, T4]\n",
+ "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+ "plt.plot(t,S)\n",
+ "plt.plot(t,S,'ro')\n",
+ "plt.axis([0,70,0,1500])\n",
+ "plt.xlabel('Torque(N-m)')\n",
+ "plt.ylabel('Speed(RPM)')\n",
+ "plt.title('Speed torque characteristics')\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature Voltage =257.250000 V\n",
+ "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+ "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+ "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+ "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8209fd0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.7, Page No. 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and no load speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input 3-phase voltage\n",
+ "f = 50 # frequency\n",
+ "Ia = 50 # motor armature current\n",
+ "Ra = 0.1 # armature resistance\n",
+ "bec = 0.3 # back emf constant\n",
+ "alfa = 30.0 # firing angle\n",
+ "Inl = 5 # no load current\n",
+ "n = 1600 # speed in rpm \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+ "Bemf = Va-Inl*Ra\n",
+ "Speed = Bemf/bec\n",
+ "#(b)\n",
+ "Bemf2 = n*bec\n",
+ "Vi = Bemf2+(Ra*Ia)\n",
+ "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+ "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average output voltage of rectifier = 503.9 V\n",
+ "Back emf = 503.4 V\n",
+ "Speed = 1678 rpm\n",
+ "\n",
+ "(b)\n",
+ "Back emf = 480 V\n",
+ "Input voltage to motor = 485 V\n",
+ "firing angle = 37.26\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.8, Page No. 381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "bemf = Va1- Ia*Ra - 2\n",
+ "Eg = -bemf\n",
+ "Va = Eg + Ia*Ra +2\n",
+ "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+ "alfa = alfa*180/math.pi\n",
+ "P = -Va*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+ "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+ "\n",
+ "Eg = -131.900436\n",
+ "\n",
+ "Alfa = 124.54\u00b0\n",
+ "\n",
+ "Power fed back to source = 5870 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.9, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled single phase bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 240 # input DC voltage\n",
+ "alfa = 100 # firing angle \n",
+ "Ra = 6 # armature Resistance\n",
+ "Ia = 1.8 # armature current\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Bemf = Vdc-Ra*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"Back emf = %.2f V\"%Bemf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Back emf = 78.46 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.10, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed and Torue\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "N = 1500.0 # rpm \n",
+ "Ra = 1.0 # armature resistance\n",
+ "Ia = 10 # Armature current\n",
+ "T1 = 5 # Torque for case-1\n",
+ "alfa1 = 30 # Firing angle for case-1\n",
+ "N2 = 950.0 # rpm in case-2\n",
+ "alfa2 = 45 # Firing angle for case-2\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10)/10\n",
+ "#(a)\n",
+ "Ia1 = T1/k\n",
+ "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+ "V1 = math.floor(V1*10)/10\n",
+ "w1 = (V1-Ia1*Ra)/k\n",
+ "w1 = w1*60/(2*math.pi)\n",
+ "#(b)\n",
+ "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+ "V2 = math.ceil(V2*100)/100\n",
+ "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+ "#Ia2 = math.floor(Ia2*100)/100\n",
+ "T2 = k*Ia2\n",
+ "\n",
+ "#Result\n",
+ "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+ "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+ "#Answer for torque is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "k - Torque constant = 1.4 N-m/A\n",
+ "\n",
+ "(a) Speed = 1198.6 rpm\n",
+ "\n",
+ "(b) Torque = 10.013816 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 177
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.11, Page No.382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms source, rms and average thyristor current and power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 500.0 # Morot max. voltage rating\n",
+ "N = 1500.0 # motor max. speed in rpm\n",
+ "Ia = 100.0 # Motor max. current\n",
+ "Vi = 350.0 # 3-phase input supply voltage\n",
+ "Ra = 1.1 # armature resistance\n",
+ "alfa = 45 # firing angle\n",
+ "N1 = 1200.0 # actual speed \n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10**4)/10**4\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+ "Va = math.ceil(Va*100)/100\n",
+ "Ia = (Va -k*w1)/Ra\n",
+ "Ia = math.ceil(Ia*100)/100\n",
+ "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+ "Iavg = Ia/3\n",
+ "Irms = Ia/math.sqrt(3)\n",
+ "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+ "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+ "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque constant, k = 2.48 V-s/rad\n",
+ "\n",
+ "(a)\n",
+ "Converter output voltage = 403.34 V\n",
+ "Ia = 83.04 A \n",
+ "\n",
+ "(b)\n",
+ "RMS input current = 67.80 A\n",
+ "Average thyristor current = 27.68 A\n",
+ "RMS thyristor current = 47.94 A\n",
+ "Input power factor = 0.815 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.12, Page No.383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# time taken by motor to reach 1000rpm speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "T = 40 # Load torque\n",
+ "N = 500.0 # motor speed \n",
+ "i = 0.01 # inertia of the drive\n",
+ "T1 = 100.0 # increased value of torque\n",
+ "N1 = 1000.0 # speed value\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "A = -w/((T1-T)/i)\n",
+ "t = (w1/((T1-T)/i))+A\n",
+ "t = math.floor(t*10**6)/10**6\n",
+ "\n",
+ "#Result\n",
+ "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.13, Page No.384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# motor parameters:motor driven by DC chopper\n",
+ "\n",
+ "import math\n",
+ "#Variavble declaration\n",
+ "f = 400.0 # chopper operating frequency\n",
+ "V = 200.0 # input voltage\n",
+ "T = 30.0 # load torque\n",
+ "N = 1000.0 # speed in rpm\n",
+ "Ra = 0.2 # motor resistance\n",
+ "L = 2*10**-3 # motor inductance\n",
+ "emf = 1.5 # emf\n",
+ "k = 1.5 # torque constant\n",
+ "\n",
+ "#calculations\n",
+ "\n",
+ "w = N*math.pi*2/60\n",
+ "Ia = T/k\n",
+ "Be = emf*w\n",
+ "Be = math.ceil(Be*100)/100\n",
+ "alfa = (Be+Ia*Ra)/V\n",
+ "\n",
+ "t = 1/f\n",
+ "Ton = alfa*t\n",
+ "Toff = t-Ton\n",
+ "x = t*Ra/L\n",
+ "b1 = (1-(math.e**(-alfa*x)))\n",
+ "b1 = math.ceil(b1*10**4)/10**4\n",
+ "b2 = (1-(math.e**(-x)))\n",
+ "b2 = math.ceil(b2*10**4)/10**4\n",
+ "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+ "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+ "x1 = (V-Be)/Ra\n",
+ "x2 = Ra/L\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+ "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+ "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Imax = 39.193 A\n",
+ "Imin = 0 A\n",
+ "\n",
+ "(b) Excursion of armature current = 39.193 A\n",
+ "\n",
+ "(c)\n",
+ "Variation of cuurent during on period of chopper is \n",
+ "i = 214.6*(1-e^(-100*t'))\n",
+ "\n",
+ "Variation of cuurent during off period of chopper is \n",
+ "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.14, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average motor current and speed\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 50.0 # input frequency\n",
+ "V = 230 # input voltage\n",
+ "Ra = 1.5 # armature resistance\n",
+ "Rf = 1.5 # field resistance\n",
+ "K = 0.25 # torque constant\n",
+ "TL = 25 # load torque\n",
+ "emf = 0.25 # emf constant\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = 2*math.sqrt(2)*V/math.pi\n",
+ "Vo = math.floor(Vo)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia)\n",
+ "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+ "N =w*60/(2*math.pi)\n",
+ "N = math.floor(N*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ia = 10 A\n",
+ "N = 733.38 RPM\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.15, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Armature current and firing angle of semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vo = 675.0 # transformer secondary voltage\n",
+ "alfa1 = 90.5 # case 1 firing angle\n",
+ "N1 = 350.0 # case 1 motor speed in rpm\n",
+ "Ia1 = 30.0 # case 1 armature current\n",
+ "N2 = 500.0 # expected speed\n",
+ "Ra = 0.22 # armature resistance\n",
+ "Rf = 0.22 # field resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Ia2 = Ia1*N2/N1\n",
+ "Ia2 = math.ceil(Ia2*100)/100\n",
+ "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+ "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+ "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+ "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 42.86 A\n",
+ "\n",
+ "Firing Angle = 4.77\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.16, Page No. 392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque and armature current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "P = 15.0 # motor power rating\n",
+ "V = 220.0 # motor voltage rating\n",
+ "N = 1500.0 # motor max. speed\n",
+ "Vi = 230.0 # input voltage\n",
+ "emf = 0.03 # emf constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa =45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia*100)/100\n",
+ "#(b)\n",
+ "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+ "Ia2 = math.floor(Ia2*10)/10\n",
+ "T2 = K*Ia2**2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+ "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Torque = 28.96 N-m\n",
+ " Armature current = 31.06 A\n",
+ "\n",
+ "(b)\n",
+ " Armature current = 37.5 A\n",
+ " Torque = 42.1875 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.17, Page No.392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# motor current and Torque \n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Pr = 15.0 # motor power rating\n",
+ "Vr = 220.0 # motor voltage rating\n",
+ "N = 1000.0 # motor max. speed\n",
+ "R = 0.2 # total armature and series resistance\n",
+ "Vi = 230.0 # input voltage\n",
+ "Ks = 0.03 # speed constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa = 30 # Firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "N = math.ceil(N*100)/100\n",
+ "V = Vm*(1+math.cos(alfa))/math.pi\n",
+ "V = math.floor(V*100)/100\n",
+ "Ia = V/((Ks*N)+R)\n",
+ "Ia = math.floor(Ia*1000)/1000\n",
+ "T = K*(Ia*Ia)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 57.807 A\n",
+ "\n",
+ "Torque = 100.25 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.18, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# load torque, rotor current and stator voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "ns = 60*2*f/p\n",
+ "Tl = T*(N2/N1)**2\n",
+ "Tl = math.floor(Tl*10)/10\n",
+ "#(b)\n",
+ "s = (ns -N2)/ns\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "pi = math.floor(math.pi*100)/100\n",
+ "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+ "I2 = 2*I2_dash\n",
+ "#(c)\n",
+ "I1 = I2_dash\n",
+ "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+ "StV = V1*math.sqrt(3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+ "(b) Rotor current = 53.32 A\n",
+ "(c) Stator voltage = 158.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slip for max torque, speed and corresponding max torque\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+ "Tmax = math.floor(Tmax*10)/10\n",
+ "n = ns*(1-s)\n",
+ "N = n*60\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+ "s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+ "n2 = ns2*(1-s2)\n",
+ "N2 = n2*60\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+ "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for f = 50 Hz\n",
+ "\n",
+ "slip = 0.1877\n",
+ "\n",
+ "Tmax = 217.2 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 1218.45 rpm\n",
+ "\n",
+ "\n",
+ "(b) for f = 25 Hz\n",
+ "\n",
+ "slip = 0.3147\n",
+ "\n",
+ "Tmax = 153.72 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 513.975 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.20, Page No. 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Starting torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "#s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "#s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+ "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for 50 Hz,\n",
+ "T_starting = 95.37 N-m\n",
+ "\n",
+ "(b) for 25 Hz,\n",
+ "T_starting = 105.45 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_9_2.ipynb b/Power_Electronics/Power_electronics_ch_9_2.ipynb new file mode 100755 index 00000000..3528b8b2 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_9_2.ipynb @@ -0,0 +1,1256 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9: DC and AC Motor Drives"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.1, Page No. 377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Field current, firing angle and power factor\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle for semi-converter for field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "T = 50.0 # torque\n",
+ "r = 900.0 # rpm\n",
+ "vc = 0.8 # voltage constant\n",
+ "tc = 0.8 # torque constant\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "#(b)\n",
+ "Ia = T/(tc*If)\n",
+ "Ia = math.ceil(Ia*1000)/1000\n",
+ "w = r*2*math.pi/60\n",
+ "w = math.ceil(w*1000)/1000\n",
+ "back_emf =vc*w*If\n",
+ "back_emf = math.floor(back_emf*100)/100\n",
+ "Va = back_emf+Ia*Ra\n",
+ "Va = math.floor(Va*1000)/1000\n",
+ "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+ "alfa_a = alfa*180/math.pi\n",
+ "alfa_a = math.floor(alfa_a*1000)/1000\n",
+ "#(c)\n",
+ "P = Va*Ia\n",
+ "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+ "Ii = math.floor(Ii*100)/100\n",
+ "VA = V*Ii\n",
+ "pf = P/VA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Field current = 1.0352 A\n",
+ "(b) Alfa_a = 94.076\u00b0\n",
+ "(c) Input power factor = 0.605 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.2, Page No.378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque developed and motor speed\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "T = tc*Ia*If\n",
+ "bemf = Va- Ia*Ra - 2\n",
+ "w = bemf/(vc*If)\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque = 56.936 N-m\n",
+ "\n",
+ "Motor Speed = 1106.1 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.3, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# firing angle of the converter in the armature circuit\n",
+ "\n",
+ "import math\n",
+ "V = 400 # input 3-phase supply\n",
+ "alfa_f = 0 # firing angle of field converter\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "Rf = 250 # field resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.3 # motor voltage constant\n",
+ "N = 1200 # speed in rpm\n",
+ "\n",
+ "#Calculations\n",
+ "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+ "If = Vf/Rf\n",
+ "w = N*2*math.pi/60\n",
+ "Eb = vc*If*w\n",
+ "Va = Eb+Ia*Ra\n",
+ "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+ "alfa_a = alfa_a*180/math.pi\n",
+ "alfa_a = math.ceil(alfa_a*100)/100\n",
+ "#Result\n",
+ "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Alfa_a = 47.07\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.4, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input power, speed and torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 500 # input supply voltage\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Ia = 200.0 # Armature current\n",
+ "vc = 1.4 # Volatage constant\n",
+ "tc = 1.4 # Torque constant\n",
+ "If = 2 # Field current\n",
+ "d = 0.5 # chopper duty cycle\n",
+ "\n",
+ "# Calculations\n",
+ "#(a)\n",
+ "Pi = d*V*Ia\n",
+ "#(b)\n",
+ "Va = V*d\n",
+ "Eb = Va - Ia*Ra\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.floor(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "#(c)\n",
+ "T = tc*Ia*If\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power input = 50 kW \n",
+ "(b) Speed = 784.38 rpm\n",
+ "(c) Torque = 560 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.5, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Braking DC motor using one quadrant chopper\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Rb = 7.5 # Breaking resistance\n",
+ "vc = 1.4 # voltage constant\n",
+ "Ia = 120 # armature current\n",
+ "If = 1.6 # field current\n",
+ "d = 0.35 # chopper duty cycle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Vavg = Rb*Ia*(1-d)\n",
+ "#(b)\n",
+ "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+ "#(c)\n",
+ "Eb = Vavg+Ra*Ia\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.ceil(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+ "#Answer for Pb and Speed is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average voltage across chopper = 585 V\n",
+ "(b) Pb = 45630 W\n",
+ "(c) Speed = 2545.0785 rpm \n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.6, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed -Torque characteristics\n",
+ "\n",
+ "import math\n",
+ "from pylab import *\n",
+ "#variable declaration\n",
+ "V = 220.0 # per phase input voltage\n",
+ "f = 50 # frequency\n",
+ "L = 0.012 # motor inductance\n",
+ "R = 0.72 # Resistance\n",
+ "a = 2 # Armature constant\n",
+ "alfa = 90 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+ "Va = math.floor(Va*100)/100\n",
+ "Ia1 = 5 # Armature current for case 1\n",
+ "T1 = Ia1*a\n",
+ "Eb1 =Va-Ia1*R\n",
+ "Speed1 = Eb1*60/(a*2*math.pi) \n",
+ "Speed1 = math.floor(Speed1*100)/100\n",
+ "\n",
+ "Ia2 = 10 # Armature current for case 2\n",
+ "T2 = Ia2*a\n",
+ "Eb2 =Va-Ia2*R\n",
+ "Speed2 = Eb2*60/(a*2*math.pi) \n",
+ "Speed2 = math.floor(Speed2*100)/100\n",
+ "\n",
+ "Ia3 = 20 # Armature current for case 3\n",
+ "T3 = Ia3*a\n",
+ "Eb3 =Va-Ia3*R\n",
+ "Speed3 = Eb3*60/(a*2*math.pi) \n",
+ "Speed3 = math.floor(Speed3*100)/100\n",
+ "\n",
+ "Ia4 = 30 # Armature current for case 4\n",
+ "T4 = Ia4*a\n",
+ "Eb4 =Va-Ia4*R\n",
+ "Speed4 = Eb4*60/(a*2*math.pi) \n",
+ "Speed4 = math.floor(Speed4*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature Voltage =%f V\"%Va)\n",
+ "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+ "#################-----PLOT-----#####################\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "t = [T1, T2, T3, T4]\n",
+ "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+ "plt.plot(t,S)\n",
+ "plt.plot(t,S,'ro')\n",
+ "plt.axis([0,70,0,1500])\n",
+ "plt.xlabel('Torque(N-m)')\n",
+ "plt.ylabel('Speed(RPM)')\n",
+ "plt.title('Speed torque characteristics')\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature Voltage =257.250000 V\n",
+ "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+ "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+ "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+ "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8209fd0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.7, Page No. 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and no load speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input 3-phase voltage\n",
+ "f = 50 # frequency\n",
+ "Ia = 50 # motor armature current\n",
+ "Ra = 0.1 # armature resistance\n",
+ "bec = 0.3 # back emf constant\n",
+ "alfa = 30.0 # firing angle\n",
+ "Inl = 5 # no load current\n",
+ "n = 1600 # speed in rpm \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+ "Bemf = Va-Inl*Ra\n",
+ "Speed = Bemf/bec\n",
+ "#(b)\n",
+ "Bemf2 = n*bec\n",
+ "Vi = Bemf2+(Ra*Ia)\n",
+ "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+ "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average output voltage of rectifier = 503.9 V\n",
+ "Back emf = 503.4 V\n",
+ "Speed = 1678 rpm\n",
+ "\n",
+ "(b)\n",
+ "Back emf = 480 V\n",
+ "Input voltage to motor = 485 V\n",
+ "firing angle = 37.26\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.8, Page No. 381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "bemf = Va1- Ia*Ra - 2\n",
+ "Eg = -bemf\n",
+ "Va = Eg + Ia*Ra +2\n",
+ "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+ "alfa = alfa*180/math.pi\n",
+ "P = -Va*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+ "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+ "\n",
+ "Eg = -131.900436\n",
+ "\n",
+ "Alfa = 124.54\u00b0\n",
+ "\n",
+ "Power fed back to source = 5870 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.9, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled single phase bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 240 # input DC voltage\n",
+ "alfa = 100 # firing angle \n",
+ "Ra = 6 # armature Resistance\n",
+ "Ia = 1.8 # armature current\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Bemf = Vdc-Ra*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"Back emf = %.2f V\"%Bemf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Back emf = 78.46 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.10, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed and Torue\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "N = 1500.0 # rpm \n",
+ "Ra = 1.0 # armature resistance\n",
+ "Ia = 10 # Armature current\n",
+ "T1 = 5 # Torque for case-1\n",
+ "alfa1 = 30 # Firing angle for case-1\n",
+ "N2 = 950.0 # rpm in case-2\n",
+ "alfa2 = 45 # Firing angle for case-2\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10)/10\n",
+ "#(a)\n",
+ "Ia1 = T1/k\n",
+ "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+ "V1 = math.floor(V1*10)/10\n",
+ "w1 = (V1-Ia1*Ra)/k\n",
+ "w1 = w1*60/(2*math.pi)\n",
+ "#(b)\n",
+ "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+ "V2 = math.ceil(V2*100)/100\n",
+ "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+ "#Ia2 = math.floor(Ia2*100)/100\n",
+ "T2 = k*Ia2\n",
+ "\n",
+ "#Result\n",
+ "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+ "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+ "#Answer for torque is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "k - Torque constant = 1.4 N-m/A\n",
+ "\n",
+ "(a) Speed = 1198.6 rpm\n",
+ "\n",
+ "(b) Torque = 10.013816 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 177
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.11, Page No.382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms source, rms and average thyristor current and power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 500.0 # Morot max. voltage rating\n",
+ "N = 1500.0 # motor max. speed in rpm\n",
+ "Ia = 100.0 # Motor max. current\n",
+ "Vi = 350.0 # 3-phase input supply voltage\n",
+ "Ra = 1.1 # armature resistance\n",
+ "alfa = 45 # firing angle\n",
+ "N1 = 1200.0 # actual speed \n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10**4)/10**4\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+ "Va = math.ceil(Va*100)/100\n",
+ "Ia = (Va -k*w1)/Ra\n",
+ "Ia = math.ceil(Ia*100)/100\n",
+ "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+ "Iavg = Ia/3\n",
+ "Irms = Ia/math.sqrt(3)\n",
+ "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+ "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+ "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque constant, k = 2.48 V-s/rad\n",
+ "\n",
+ "(a)\n",
+ "Converter output voltage = 403.34 V\n",
+ "Ia = 83.04 A \n",
+ "\n",
+ "(b)\n",
+ "RMS input current = 67.80 A\n",
+ "Average thyristor current = 27.68 A\n",
+ "RMS thyristor current = 47.94 A\n",
+ "Input power factor = 0.815 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.12, Page No.383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# time taken by motor to reach 1000rpm speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "T = 40 # Load torque\n",
+ "N = 500.0 # motor speed \n",
+ "i = 0.01 # inertia of the drive\n",
+ "T1 = 100.0 # increased value of torque\n",
+ "N1 = 1000.0 # speed value\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "A = -w/((T1-T)/i)\n",
+ "t = (w1/((T1-T)/i))+A\n",
+ "t = math.floor(t*10**6)/10**6\n",
+ "\n",
+ "#Result\n",
+ "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.13, Page No.384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# motor parameters:motor driven by DC chopper\n",
+ "\n",
+ "import math\n",
+ "#Variavble declaration\n",
+ "f = 400.0 # chopper operating frequency\n",
+ "V = 200.0 # input voltage\n",
+ "T = 30.0 # load torque\n",
+ "N = 1000.0 # speed in rpm\n",
+ "Ra = 0.2 # motor resistance\n",
+ "L = 2*10**-3 # motor inductance\n",
+ "emf = 1.5 # emf\n",
+ "k = 1.5 # torque constant\n",
+ "\n",
+ "#calculations\n",
+ "\n",
+ "w = N*math.pi*2/60\n",
+ "Ia = T/k\n",
+ "Be = emf*w\n",
+ "Be = math.ceil(Be*100)/100\n",
+ "alfa = (Be+Ia*Ra)/V\n",
+ "\n",
+ "t = 1/f\n",
+ "Ton = alfa*t\n",
+ "Toff = t-Ton\n",
+ "x = t*Ra/L\n",
+ "b1 = (1-(math.e**(-alfa*x)))\n",
+ "b1 = math.ceil(b1*10**4)/10**4\n",
+ "b2 = (1-(math.e**(-x)))\n",
+ "b2 = math.ceil(b2*10**4)/10**4\n",
+ "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+ "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+ "x1 = (V-Be)/Ra\n",
+ "x2 = Ra/L\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+ "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+ "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Imax = 39.193 A\n",
+ "Imin = 0 A\n",
+ "\n",
+ "(b) Excursion of armature current = 39.193 A\n",
+ "\n",
+ "(c)\n",
+ "Variation of cuurent during on period of chopper is \n",
+ "i = 214.6*(1-e^(-100*t'))\n",
+ "\n",
+ "Variation of cuurent during off period of chopper is \n",
+ "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.14, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average motor current and speed\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 50.0 # input frequency\n",
+ "V = 230 # input voltage\n",
+ "Ra = 1.5 # armature resistance\n",
+ "Rf = 1.5 # field resistance\n",
+ "K = 0.25 # torque constant\n",
+ "TL = 25 # load torque\n",
+ "emf = 0.25 # emf constant\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = 2*math.sqrt(2)*V/math.pi\n",
+ "Vo = math.floor(Vo)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia)\n",
+ "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+ "N =w*60/(2*math.pi)\n",
+ "N = math.floor(N*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ia = 10 A\n",
+ "N = 733.38 RPM\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.15, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Armature current and firing angle of semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vo = 675.0 # transformer secondary voltage\n",
+ "alfa1 = 90.5 # case 1 firing angle\n",
+ "N1 = 350.0 # case 1 motor speed in rpm\n",
+ "Ia1 = 30.0 # case 1 armature current\n",
+ "N2 = 500.0 # expected speed\n",
+ "Ra = 0.22 # armature resistance\n",
+ "Rf = 0.22 # field resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Ia2 = Ia1*N2/N1\n",
+ "Ia2 = math.ceil(Ia2*100)/100\n",
+ "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+ "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+ "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+ "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 42.86 A\n",
+ "\n",
+ "Firing Angle = 4.77\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.16, Page No. 392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque and armature current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "P = 15.0 # motor power rating\n",
+ "V = 220.0 # motor voltage rating\n",
+ "N = 1500.0 # motor max. speed\n",
+ "Vi = 230.0 # input voltage\n",
+ "emf = 0.03 # emf constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa =45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia*100)/100\n",
+ "#(b)\n",
+ "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+ "Ia2 = math.floor(Ia2*10)/10\n",
+ "T2 = K*Ia2**2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+ "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Torque = 28.96 N-m\n",
+ " Armature current = 31.06 A\n",
+ "\n",
+ "(b)\n",
+ " Armature current = 37.5 A\n",
+ " Torque = 42.1875 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.17, Page No.392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# motor current and Torque \n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Pr = 15.0 # motor power rating\n",
+ "Vr = 220.0 # motor voltage rating\n",
+ "N = 1000.0 # motor max. speed\n",
+ "R = 0.2 # total armature and series resistance\n",
+ "Vi = 230.0 # input voltage\n",
+ "Ks = 0.03 # speed constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa = 30 # Firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "N = math.ceil(N*100)/100\n",
+ "V = Vm*(1+math.cos(alfa))/math.pi\n",
+ "V = math.floor(V*100)/100\n",
+ "Ia = V/((Ks*N)+R)\n",
+ "Ia = math.floor(Ia*1000)/1000\n",
+ "T = K*(Ia*Ia)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 57.807 A\n",
+ "\n",
+ "Torque = 100.25 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.18, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# load torque, rotor current and stator voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "ns = 60*2*f/p\n",
+ "Tl = T*(N2/N1)**2\n",
+ "Tl = math.floor(Tl*10)/10\n",
+ "#(b)\n",
+ "s = (ns -N2)/ns\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "pi = math.floor(math.pi*100)/100\n",
+ "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+ "I2 = 2*I2_dash\n",
+ "#(c)\n",
+ "I1 = I2_dash\n",
+ "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+ "StV = V1*math.sqrt(3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+ "(b) Rotor current = 53.32 A\n",
+ "(c) Stator voltage = 158.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slip for max torque, speed and corresponding max torque\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+ "Tmax = math.floor(Tmax*10)/10\n",
+ "n = ns*(1-s)\n",
+ "N = n*60\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+ "s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+ "n2 = ns2*(1-s2)\n",
+ "N2 = n2*60\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+ "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for f = 50 Hz\n",
+ "\n",
+ "slip = 0.1877\n",
+ "\n",
+ "Tmax = 217.2 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 1218.45 rpm\n",
+ "\n",
+ "\n",
+ "(b) for f = 25 Hz\n",
+ "\n",
+ "slip = 0.3147\n",
+ "\n",
+ "Tmax = 153.72 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 513.975 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.20, Page No. 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Starting torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "#s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "#s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+ "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for 50 Hz,\n",
+ "T_starting = 95.37 N-m\n",
+ "\n",
+ "(b) for 25 Hz,\n",
+ "T_starting = 105.45 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/Power_electronics_ch_9_3.ipynb b/Power_Electronics/Power_electronics_ch_9_3.ipynb new file mode 100755 index 00000000..9cc8b752 --- /dev/null +++ b/Power_Electronics/Power_electronics_ch_9_3.ipynb @@ -0,0 +1,1255 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9: DC and AC Motor Drives"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.1, Page No. 377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Field current, firing angle and power factor\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle for semi-converter for field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "T = 50.0 # torque\n",
+ "r = 900.0 # rpm\n",
+ "vc = 0.8 # voltage constant\n",
+ "tc = 0.8 # torque constant\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "#(b)\n",
+ "Ia = T/(tc*If)\n",
+ "Ia = math.ceil(Ia*1000)/1000\n",
+ "w = r*2*math.pi/60\n",
+ "w = math.ceil(w*1000)/1000\n",
+ "back_emf =vc*w*If\n",
+ "back_emf = math.floor(back_emf*100)/100\n",
+ "Va = back_emf+Ia*Ra\n",
+ "Va = math.floor(Va*1000)/1000\n",
+ "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+ "alfa_a = alfa*180/math.pi\n",
+ "alfa_a = math.floor(alfa_a*1000)/1000\n",
+ "#(c)\n",
+ "P = Va*Ia\n",
+ "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+ "Ii = math.floor(Ii*100)/100\n",
+ "VA = V*Ii\n",
+ "pf = P/VA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Field current = 1.0352 A\n",
+ "(b) Alfa_a = 94.076\u00b0\n",
+ "(c) Input power factor = 0.605 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.2, Page No.378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque developed and motor speed\n",
+ "\n",
+ "import math\n",
+ "# Variable delcaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "If = Vf/Rf\n",
+ "If = math.floor(If*10**4)/10**4\n",
+ "T = tc*Ia*If\n",
+ "bemf = Va- Ia*Ra - 2\n",
+ "w = bemf/(vc*If)\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque = 56.936 N-m\n",
+ "\n",
+ "Motor Speed = 1106.1 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.3, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# firing angle of the converter in the armature circuit\n",
+ "\n",
+ "import math\n",
+ "V = 400 # input 3-phase supply\n",
+ "alfa_f = 0 # firing angle of field converter\n",
+ "Ra = 0.3 # Armature resistance\n",
+ "Rf = 250 # field resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.3 # motor voltage constant\n",
+ "N = 1200 # speed in rpm\n",
+ "\n",
+ "#Calculations\n",
+ "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+ "If = Vf/Rf\n",
+ "w = N*2*math.pi/60\n",
+ "Eb = vc*If*w\n",
+ "Va = Eb+Ia*Ra\n",
+ "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+ "alfa_a = alfa_a*180/math.pi\n",
+ "alfa_a = math.ceil(alfa_a*100)/100\n",
+ "#Result\n",
+ "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Alfa_a = 47.07\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.4, Page No. 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# input power, speed and torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 500 # input supply voltage\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Ia = 200.0 # Armature current\n",
+ "vc = 1.4 # Volatage constant\n",
+ "tc = 1.4 # Torque constant\n",
+ "If = 2 # Field current\n",
+ "d = 0.5 # chopper duty cycle\n",
+ "\n",
+ "# Calculations\n",
+ "#(a)\n",
+ "Pi = d*V*Ia\n",
+ "#(b)\n",
+ "Va = V*d\n",
+ "Eb = Va - Ia*Ra\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.floor(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "#(c)\n",
+ "T = tc*Ia*If\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Power input = 50 kW \n",
+ "(b) Speed = 784.38 rpm\n",
+ "(c) Torque = 560 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.5, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Braking DC motor using one quadrant chopper\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Ra = 0.1 # Armature resistance\n",
+ "Rb = 7.5 # Breaking resistance\n",
+ "vc = 1.4 # voltage constant\n",
+ "Ia = 120 # armature current\n",
+ "If = 1.6 # field current\n",
+ "d = 0.35 # chopper duty cycle\n",
+ "\n",
+ "#calculations\n",
+ "#(a)\n",
+ "Vavg = Rb*Ia*(1-d)\n",
+ "#(b)\n",
+ "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+ "#(c)\n",
+ "Eb = Vavg+Ra*Ia\n",
+ "w = Eb/(vc*If)\n",
+ "w = math.ceil(w*100)/100\n",
+ "N = w*60/(2*math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+ "#Answer for Pb and Speed is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Average voltage across chopper = 585 V\n",
+ "(b) Pb = 45630 W\n",
+ "(c) Speed = 2545.0785 rpm \n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.6, Page No. 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed -Torque characteristics\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 220.0 # per phase input voltage\n",
+ "f = 50 # frequency\n",
+ "L = 0.012 # motor inductance\n",
+ "R = 0.72 # Resistance\n",
+ "a = 2 # Armature constant\n",
+ "alfa = 90 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+ "Va = math.floor(Va*100)/100\n",
+ "Ia1 = 5 # Armature current for case 1\n",
+ "T1 = Ia1*a\n",
+ "Eb1 =Va-Ia1*R\n",
+ "Speed1 = Eb1*60/(a*2*math.pi) \n",
+ "Speed1 = math.floor(Speed1*100)/100\n",
+ "\n",
+ "Ia2 = 10 # Armature current for case 2\n",
+ "T2 = Ia2*a\n",
+ "Eb2 =Va-Ia2*R\n",
+ "Speed2 = Eb2*60/(a*2*math.pi) \n",
+ "Speed2 = math.floor(Speed2*100)/100\n",
+ "\n",
+ "Ia3 = 20 # Armature current for case 3\n",
+ "T3 = Ia3*a\n",
+ "Eb3 =Va-Ia3*R\n",
+ "Speed3 = Eb3*60/(a*2*math.pi) \n",
+ "Speed3 = math.floor(Speed3*100)/100\n",
+ "\n",
+ "Ia4 = 30 # Armature current for case 4\n",
+ "T4 = Ia4*a\n",
+ "Eb4 =Va-Ia4*R\n",
+ "Speed4 = Eb4*60/(a*2*math.pi) \n",
+ "Speed4 = math.floor(Speed4*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature Voltage =%f V\"%Va)\n",
+ "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+ "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+ "#################-----PLOT-----#####################\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "t = [T1, T2, T3, T4]\n",
+ "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+ "plt.plot(t,S)\n",
+ "plt.plot(t,S,'ro')\n",
+ "plt.axis([0,70,0,1500])\n",
+ "plt.xlabel('Torque(N-m)')\n",
+ "plt.ylabel('Speed(RPM)')\n",
+ "plt.title('Speed torque characteristics')\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature Voltage =257.250000 V\n",
+ "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+ "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+ "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+ "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x8890e80>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.7, Page No. 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Firing angle and no load speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400 # input 3-phase voltage\n",
+ "f = 50 # frequency\n",
+ "Ia = 50 # motor armature current\n",
+ "Ra = 0.1 # armature resistance\n",
+ "bec = 0.3 # back emf constant\n",
+ "alfa = 30.0 # firing angle\n",
+ "Inl = 5 # no load current\n",
+ "n = 1600 # speed in rpm \n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+ "Bemf = Va-Inl*Ra\n",
+ "Speed = Bemf/bec\n",
+ "#(b)\n",
+ "Bemf2 = n*bec\n",
+ "Vi = Bemf2+(Ra*Ia)\n",
+ "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+ "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Average output voltage of rectifier = 503.9 V\n",
+ "Back emf = 503.4 V\n",
+ "Speed = 1678 rpm\n",
+ "\n",
+ "(b)\n",
+ "Back emf = 480 V\n",
+ "Input voltage to motor = 485 V\n",
+ "firing angle = 37.26\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 147
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.8, Page No. 381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V= 230.0 # input supply voltage\n",
+ "f = 50.0 # supply frequency\n",
+ "alfa_f = 0 # firing angle of converter in the field\n",
+ "Rf = 200.0 # field resistance\n",
+ "Ra = 0.25 # Armature resistance\n",
+ "Ia = 50 # Armature current\n",
+ "vc = 1.1 # voltage constant\n",
+ "tc = 1.1 # torque constant\n",
+ "alfa_a = 45 # firing angle of armature ciruit\n",
+ "\n",
+ "#Calculations\n",
+ "alfa_a = alfa_a*math.pi/180\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vm = V*sqrt_2\n",
+ "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+ "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+ "bemf = Va1- Ia*Ra - 2\n",
+ "Eg = -bemf\n",
+ "Va = Eg + Ia*Ra +2\n",
+ "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+ "alfa = alfa*180/math.pi\n",
+ "P = -Va*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+ "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+ "\n",
+ "Eg = -131.900436\n",
+ "\n",
+ "Alfa = 124.54\u00b0\n",
+ "\n",
+ "Power fed back to source = 5870 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 152
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.9, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Half controlled single phase bridge converter\n",
+ "\n",
+ "import math\n",
+ "#variable declaration\n",
+ "V = 240 # input DC voltage\n",
+ "alfa = 100 # firing angle \n",
+ "Ra = 6 # armature Resistance\n",
+ "Ia = 1.8 # armature current\n",
+ "\n",
+ "#Calculations\n",
+ "alfa = alfa*math.pi/180\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+ "Vdc = math.floor(Vdc*100)/100\n",
+ "Bemf = Vdc-Ra*Ia\n",
+ "\n",
+ "#Result\n",
+ "print(\"Back emf = %.2f V\"%Bemf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Back emf = 78.46 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.10, Page No.381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Speed and Torue\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 230.0 # input voltage\n",
+ "N = 1500.0 # rpm \n",
+ "Ra = 1.0 # armature resistance\n",
+ "Ia = 10 # Armature current\n",
+ "T1 = 5 # Torque for case-1\n",
+ "alfa1 = 30 # Firing angle for case-1\n",
+ "N2 = 950.0 # rpm in case-2\n",
+ "alfa2 = 45 # Firing angle for case-2\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10)/10\n",
+ "#(a)\n",
+ "Ia1 = T1/k\n",
+ "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+ "V1 = math.floor(V1*10)/10\n",
+ "w1 = (V1-Ia1*Ra)/k\n",
+ "w1 = w1*60/(2*math.pi)\n",
+ "#(b)\n",
+ "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+ "V2 = math.ceil(V2*100)/100\n",
+ "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+ "#Ia2 = math.floor(Ia2*100)/100\n",
+ "T2 = k*Ia2\n",
+ "\n",
+ "#Result\n",
+ "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+ "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+ "#Answer for torque is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "k - Torque constant = 1.4 N-m/A\n",
+ "\n",
+ "(a) Speed = 1198.6 rpm\n",
+ "\n",
+ "(b) Torque = 10.013816 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 177
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.11, Page No.382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# rms source, rms and average thyristor current and power factor\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 500.0 # Morot max. voltage rating\n",
+ "N = 1500.0 # motor max. speed in rpm\n",
+ "Ia = 100.0 # Motor max. current\n",
+ "Vi = 350.0 # 3-phase input supply voltage\n",
+ "Ra = 1.1 # armature resistance\n",
+ "alfa = 45 # firing angle\n",
+ "N1 = 1200.0 # actual speed \n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "k = (V-Ia*Ra)/w\n",
+ "k = math.floor(k*10**4)/10**4\n",
+ "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+ "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+ "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+ "Va = math.ceil(Va*100)/100\n",
+ "Ia = (Va -k*w1)/Ra\n",
+ "Ia = math.ceil(Ia*100)/100\n",
+ "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+ "Iavg = Ia/3\n",
+ "Irms = Ia/math.sqrt(3)\n",
+ "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+ "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+ "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque constant, k = 2.48 V-s/rad\n",
+ "\n",
+ "(a)\n",
+ "Converter output voltage = 403.34 V\n",
+ "Ia = 83.04 A \n",
+ "\n",
+ "(b)\n",
+ "RMS input current = 67.80 A\n",
+ "Average thyristor current = 27.68 A\n",
+ "RMS thyristor current = 47.94 A\n",
+ "Input power factor = 0.815 lagging\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.12, Page No.383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# time taken by motor to reach 1000rpm speed\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "T = 40 # Load torque\n",
+ "N = 500.0 # motor speed \n",
+ "i = 0.01 # inertia of the drive\n",
+ "T1 = 100.0 # increased value of torque\n",
+ "N1 = 1000.0 # speed value\n",
+ "\n",
+ "#Calculations\n",
+ "w = N*2*math.pi/60\n",
+ "w1 = N1*2*math.pi/60\n",
+ "A = -w/((T1-T)/i)\n",
+ "t = (w1/((T1-T)/i))+A\n",
+ "t = math.floor(t*10**6)/10**6\n",
+ "\n",
+ "#Result\n",
+ "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.13, Page No.384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# motor parameters:motor driven by DC chopper\n",
+ "\n",
+ "import math\n",
+ "#Variavble declaration\n",
+ "f = 400.0 # chopper operating frequency\n",
+ "V = 200.0 # input voltage\n",
+ "T = 30.0 # load torque\n",
+ "N = 1000.0 # speed in rpm\n",
+ "Ra = 0.2 # motor resistance\n",
+ "L = 2*10**-3 # motor inductance\n",
+ "emf = 1.5 # emf\n",
+ "k = 1.5 # torque constant\n",
+ "\n",
+ "#calculations\n",
+ "\n",
+ "w = N*math.pi*2/60\n",
+ "Ia = T/k\n",
+ "Be = emf*w\n",
+ "Be = math.ceil(Be*100)/100\n",
+ "alfa = (Be+Ia*Ra)/V\n",
+ "\n",
+ "t = 1/f\n",
+ "Ton = alfa*t\n",
+ "Toff = t-Ton\n",
+ "x = t*Ra/L\n",
+ "b1 = (1-(math.e**(-alfa*x)))\n",
+ "b1 = math.ceil(b1*10**4)/10**4\n",
+ "b2 = (1-(math.e**(-x)))\n",
+ "b2 = math.ceil(b2*10**4)/10**4\n",
+ "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+ "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+ "x1 = (V-Be)/Ra\n",
+ "x2 = Ra/L\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+ "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+ "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "Imax = 39.193 A\n",
+ "Imin = 0 A\n",
+ "\n",
+ "(b) Excursion of armature current = 39.193 A\n",
+ "\n",
+ "(c)\n",
+ "Variation of cuurent during on period of chopper is \n",
+ "i = 214.6*(1-e^(-100*t'))\n",
+ "\n",
+ "Variation of cuurent during off period of chopper is \n",
+ "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.14, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Average motor current and speed\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "f = 50.0 # input frequency\n",
+ "V = 230 # input voltage\n",
+ "Ra = 1.5 # armature resistance\n",
+ "Rf = 1.5 # field resistance\n",
+ "K = 0.25 # torque constant\n",
+ "TL = 25 # load torque\n",
+ "emf = 0.25 # emf constant\n",
+ "\n",
+ "#Calculations\n",
+ "Vo = 2*math.sqrt(2)*V/math.pi\n",
+ "Vo = math.floor(Vo)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia)\n",
+ "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+ "N =w*60/(2*math.pi)\n",
+ "N = math.floor(N*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ia = 10 A\n",
+ "N = 733.38 RPM\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.15, Page No.391"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Armature current and firing angle of semi-converter\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Vo = 675.0 # transformer secondary voltage\n",
+ "alfa1 = 90.5 # case 1 firing angle\n",
+ "N1 = 350.0 # case 1 motor speed in rpm\n",
+ "Ia1 = 30.0 # case 1 armature current\n",
+ "N2 = 500.0 # expected speed\n",
+ "Ra = 0.22 # armature resistance\n",
+ "Rf = 0.22 # field resistance\n",
+ "\n",
+ "#Calculations\n",
+ "Ia2 = Ia1*N2/N1\n",
+ "Ia2 = math.ceil(Ia2*100)/100\n",
+ "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+ "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+ "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+ "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+ "alfa2 = alfa2*180/math.pi\n",
+ "\n",
+ "#Result\n",
+ "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 42.86 A\n",
+ "\n",
+ "Firing Angle = 4.77\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.16, Page No. 392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Torque and armature current\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "P = 15.0 # motor power rating\n",
+ "V = 220.0 # motor voltage rating\n",
+ "N = 1500.0 # motor max. speed\n",
+ "Vi = 230.0 # input voltage\n",
+ "emf = 0.03 # emf constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa =45 # firing angle\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+ "Ia = math.sqrt(T/K)\n",
+ "Ia = math.floor(Ia*100)/100\n",
+ "#(b)\n",
+ "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+ "Ia2 = math.floor(Ia2*10)/10\n",
+ "T2 = K*Ia2**2\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+ "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Torque = 28.96 N-m\n",
+ " Armature current = 31.06 A\n",
+ "\n",
+ "(b)\n",
+ " Armature current = 37.5 A\n",
+ " Torque = 42.1875 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.17, Page No.392"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# motor current and Torque \n",
+ "\n",
+ "import math\n",
+ "# variable declaration\n",
+ "Pr = 15.0 # motor power rating\n",
+ "Vr = 220.0 # motor voltage rating\n",
+ "N = 1000.0 # motor max. speed\n",
+ "R = 0.2 # total armature and series resistance\n",
+ "Vi = 230.0 # input voltage\n",
+ "Ks = 0.03 # speed constant\n",
+ "K = 0.03 # Torque constant\n",
+ "alfa = 30 # Firing angle\n",
+ "\n",
+ "#Calculation\n",
+ "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+ "alfa = alfa*math.pi/180\n",
+ "Vm = Vi*sqrt_2\n",
+ "N = N*2*math.pi/60\n",
+ "N = math.ceil(N*100)/100\n",
+ "V = Vm*(1+math.cos(alfa))/math.pi\n",
+ "V = math.floor(V*100)/100\n",
+ "Ia = V/((Ks*N)+R)\n",
+ "Ia = math.floor(Ia*1000)/1000\n",
+ "T = K*(Ia*Ia)\n",
+ "\n",
+ "# Result\n",
+ "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Armature current = 57.807 A\n",
+ "\n",
+ "Torque = 100.25 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.18, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# load torque, rotor current and stator voltage\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "\n",
+ "#Calculations\n",
+ "#(a)\n",
+ "ns = 60*2*f/p\n",
+ "Tl = T*(N2/N1)**2\n",
+ "Tl = math.floor(Tl*10)/10\n",
+ "#(b)\n",
+ "s = (ns -N2)/ns\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "pi = math.floor(math.pi*100)/100\n",
+ "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+ "I2 = 2*I2_dash\n",
+ "#(c)\n",
+ "I1 = I2_dash\n",
+ "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+ "StV = V1*math.sqrt(3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+ "(b) Rotor current = 53.32 A\n",
+ "(c) Stator voltage = 158.2 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 2.19, Page No. 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# slip for max torque, speed and corresponding max torque\n",
+ "\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+ "Tmax = math.floor(Tmax*10)/10\n",
+ "n = ns*(1-s)\n",
+ "N = n*60\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+ "s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+ "n2 = ns2*(1-s2)\n",
+ "N2 = n2*60\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+ "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for f = 50 Hz\n",
+ "\n",
+ "slip = 0.1877\n",
+ "\n",
+ "Tmax = 217.2 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 1218.45 rpm\n",
+ "\n",
+ "\n",
+ "(b) for f = 25 Hz\n",
+ "\n",
+ "slip = 0.3147\n",
+ "\n",
+ "Tmax = 153.72 N-m\n",
+ "\n",
+ "Speed corresponds to max torque = 513.975 rpm\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 9.20, Page No. 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Starting torque\n",
+ "\n",
+ "import math\n",
+ "# Variable declaration\n",
+ "V = 400.0 # motor voltage rating\n",
+ "p = 4.0 # no of poles\n",
+ "f = 50.0 # frequency\n",
+ "r1 = 0.64 # Stator resistance \n",
+ "x1 = 1.1 # leakage resistance\n",
+ "r2 = 0.08 # rotor resistance\n",
+ "x2 = 0.12 # leakage resistance\n",
+ "T = 40.0 # Torque at given speed\n",
+ "N1 = 1440.0 # Speed value for given torque\n",
+ "N2 = 1300.0 # Speed value for which torque is asked to calculate\n",
+ "f1 = 50 # case 1 frequency\n",
+ "f2 = 25 # case 2 frequency\n",
+ "\n",
+ "#Calculation\n",
+ "#(a)\n",
+ "ns = 2*f1/p\n",
+ "r2_dash = r2*(2)**2\n",
+ "x2_dash = x2*(2)**2\n",
+ "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+ "#s = math.floor(s*10000)/10000\n",
+ "V1 = V/math.sqrt(3)\n",
+ "V1 = math.ceil(V1*100)/100\n",
+ "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+ "#(b)\n",
+ "x1_b = x1/2\n",
+ "x2_dash_b = x2_dash/2\n",
+ "#s2 = math.floor(s2*10000)/10000\n",
+ "ns2 = 2*f2/p\n",
+ "V1_b = V1*0.5\n",
+ "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+ "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) for 50 Hz,\n",
+ "T_starting = 95.37 N-m\n",
+ "\n",
+ "(b) for 25 Hz,\n",
+ "T_starting = 105.45 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Power_Electronics/README.txt b/Power_Electronics/README.txt new file mode 100755 index 00000000..95f5f179 --- /dev/null +++ b/Power_Electronics/README.txt @@ -0,0 +1,10 @@ +Contributed By: Anay Sonawane +Course: btech +College/Institute/Organization: Wavelet group +Department/Designation: E&tc +Book Title: Power Electronics +Author: Dr. B R Gupta, V Singhal +Publisher: S.K.Kataria and sons, New Delhi +Year of publication: 2010 +Isbn: 81-85749-53-1 +Edition: 6
\ No newline at end of file diff --git a/Power_Electronics/screenshots/Chapter2_4.png b/Power_Electronics/screenshots/Chapter2_4.png Binary files differnew file mode 100755 index 00000000..9380fbcb --- /dev/null +++ b/Power_Electronics/screenshots/Chapter2_4.png diff --git a/Power_Electronics/screenshots/Chapter3_4.png b/Power_Electronics/screenshots/Chapter3_4.png Binary files differnew file mode 100755 index 00000000..cef740d3 --- /dev/null +++ b/Power_Electronics/screenshots/Chapter3_4.png diff --git a/Power_Electronics/screenshots/Chapter4_4.png b/Power_Electronics/screenshots/Chapter4_4.png Binary files differnew file mode 100755 index 00000000..a1d64cf1 --- /dev/null +++ b/Power_Electronics/screenshots/Chapter4_4.png diff --git a/Power_Electronics/screenshots/ex1_2.PNG b/Power_Electronics/screenshots/ex1_2.PNG Binary files differnew file mode 100755 index 00000000..abb82616 --- /dev/null +++ b/Power_Electronics/screenshots/ex1_2.PNG diff --git a/Power_Electronics/screenshots/ex1_2_1.PNG b/Power_Electronics/screenshots/ex1_2_1.PNG Binary files differnew file mode 100755 index 00000000..abb82616 --- /dev/null +++ b/Power_Electronics/screenshots/ex1_2_1.PNG diff --git a/Power_Electronics/screenshots/ex1_9.PNG b/Power_Electronics/screenshots/ex1_9.PNG Binary files differnew file mode 100755 index 00000000..49309df8 --- /dev/null +++ b/Power_Electronics/screenshots/ex1_9.PNG diff --git a/Power_Electronics/screenshots/ex1_9_1.PNG b/Power_Electronics/screenshots/ex1_9_1.PNG Binary files differnew file mode 100755 index 00000000..49309df8 --- /dev/null +++ b/Power_Electronics/screenshots/ex1_9_1.PNG diff --git a/Power_Electronics/screenshots/ex9_6.PNG b/Power_Electronics/screenshots/ex9_6.PNG Binary files differnew file mode 100755 index 00000000..f5604a90 --- /dev/null +++ b/Power_Electronics/screenshots/ex9_6.PNG diff --git a/Power_Electronics/screenshots/ex9_6_1.PNG b/Power_Electronics/screenshots/ex9_6_1.PNG Binary files differnew file mode 100755 index 00000000..f5604a90 --- /dev/null +++ b/Power_Electronics/screenshots/ex9_6_1.PNG |