summaryrefslogtreecommitdiff
path: root/Power_Electronics/Power_electronics_ch_8_2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Power_Electronics/Power_electronics_ch_8_2.ipynb')
-rwxr-xr-xPower_Electronics/Power_electronics_ch_8_2.ipynb576
1 files changed, 576 insertions, 0 deletions
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