{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 20 : Thyristors "
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.1, Page No 902"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#initialisation of variables\n",
      "Vs=25.0\n",
      "Vtm=1.7\n",
      "Rl=25.0\n",
      "Ih=5*10**-3\n",
      "\n",
      "#Calculations\n",
      "Vspk=1.414*Vs\n",
      "Ilpk=(Vs-Vtm)/Rl\n",
      "print(\" for half wave rectifier sinusodial waveform\")\n",
      "Ilrms=.5*Ilpk\n",
      "es=Vtm+(Ih*Rl)\n",
      "\n",
      "#Results\n",
      "print(\" switch-off voltage =%.2f v\" %es)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " for half wave rectifier sinusodial waveform\n",
        " switch-off voltage =1.82 v\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.2, Page No 905"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Vs=30.0\n",
      "Vd1=.7\n",
      "Vg=.8\n",
      "Ig=200*10**-6\n",
      "\n",
      "#Calculations\n",
      "Vspk=1.414*Vs\n",
      "print(\" at 5 degree\")\n",
      "es=Vspk*.087           #  sin5=.087\n",
      "print(\" at 90 degree\")\n",
      "es=Vspk\n",
      "Vt=Vd1+Vg\n",
      "print(\" to trigger at es=3.7V the R2 moving contact is at the top\")\n",
      "es=3.7\n",
      "Vr1=es-Vt\n",
      "I1=1*10**-3\n",
      "R1=Vr1/I1\n",
      "R=Vt/I1         #R=R2+R3\n",
      "es=42.4\n",
      "Vr3=Vt\n",
      "I1=es/(R+R1)\n",
      "R3=Vt/I1\n",
      "R2=R-R3\n",
      "\n",
      "#Results\n",
      "print(\" To trigger at es =42.4 the R2 moving contact at the bottom =%.2f\" %R2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " at 5 degree\n",
        " at 90 degree\n",
        " to trigger at es=3.7V the R2 moving contact is at the top\n",
        " To trigger at es =42.4 the R2 moving contact at the bottom =1369.10\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.3 Page No 906"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "R1=2.2*10**3\n",
      "R2=1.5*10**3\n",
      "R3=120.0\n",
      "Vt=1.5\n",
      "\n",
      "#Calculations\n",
      "Vak1=Vt*((R1+R2+R3)/(R3+.5*R2))\n",
      "Vak2=Vt*((R1+R2+R3)/R3)\n",
      "\n",
      "\n",
      "#Results\n",
      "print(\" with R2 contact at center = %.2f\" %Vak1)\n",
      "print(\" with R2 contact at zero = %.2f\" %Vak2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " with R2 contact at center = 6.59\n",
        " with R2 contact at zero = 47.75\n"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.4, Page No 911"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#initialisation of variables\n",
      "Vs=5.0\n",
      "Ilmax=300*10**-3\n",
      "Vl=7.0\n",
      "Vg=0.8\n",
      "\n",
      "\n",
      "#Calculations\n",
      "Vz=Vl-Vg\n",
      "print(\" for D1, select a 1N753 with Vz=6.2\")\n",
      "Izmin=1*10**-3\n",
      "R1=Vg/Izmin\n",
      "\n",
      "\n",
      "#Results\n",
      "print(\"The value of R1 is %d kohm \" %R1)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " for D1, select a 1N753 with Vz=6.2\n",
        "The value of R1 is 800 kohm \n"
       ]
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.5 Page No 911"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#initialisation of variables\n",
      "R1=25*10**3\n",
      "R2=2.7*10**3\n",
      "C1=3*10**-6\n",
      "Vg=0.8\n",
      "Vd1=8.0\n",
      "Vs=115.0\n",
      "f=60.0\n",
      "\n",
      "#Calculations\n",
      "Vc1=Vd1+Vg\n",
      "#assume the average charging voltage is\n",
      "Vac=1.414*Vs\n",
      "E=.636*Vac\n",
      "#average charging\n",
      "Ic=E/(R1+R2)\n",
      "#charging time\n",
      "t=(C1*Vc1)/Ic\n",
      "T=1/f\n",
      "q=(t*360)/T\n",
      "a=180-q\n",
      "\n",
      "#Results\n",
      "print(\"Conduction angle =%.2f degrees\" %a)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Conduction angle =27.27 degrees\n"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.6 Page No 925"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Vs=10.0\n",
      "Vf=1.7\n",
      "Is=500*10**-6\n",
      "Ih=1.5*10**-3\n",
      "E=30.0\n",
      "\n",
      "#Calculations\n",
      "R=27*10**3\n",
      "C=0.5*10**-6\n",
      "R1max=(E-Vs)/Is\n",
      "R1min=(E-Vf)/Ih\n",
      "t=C*R*math.log((E-Vf)/(E-Vs))\n",
      "\n",
      "\n",
      "#Results\n",
      "print(\"Capacitor charging time is %3.4f s\" %t)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Capacitor charging time is 0.0047 s\n"
       ]
      }
     ],
     "prompt_number": 20
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.7, Page No 931"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#initialisation of variables\n",
      "Rbb=4.0*10**3\n",
      "Pd25=360.0*10**-3\n",
      "D=2.4*10**-3\n",
      "T2=100.0\n",
      "\n",
      "#Calculations\n",
      "Pd=Pd25-D*(T2-25)\n",
      "Vb1b1=math.sqrt(Rbb*Pd)\n",
      "\n",
      "#Results\n",
      "print(\"Maximum Vb1b1 that should be used at a temp 100 is %3.1fV \" %Vb1b1)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum Vb1b1 that should be used at a temp 100 is 26.8V \n"
       ]
      }
     ],
     "prompt_number": 21
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.8 Page No 931"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "Vb1b1=25\n",
      "nmax=0.86\n",
      "nmin=0.74\n",
      "Vd=0.7\n",
      "\n",
      "#Calculations\n",
      "Vpmax=Vd+(nmax*Vb1b1)\n",
      "Vpmin=Vd+(nmin*Vb1b1)\n",
      "\n",
      "#Results\n",
      "print(\"Maximum Vpmax that should be is %3.1fV \" %Vpmax)\n",
      "print(\"Minimum Vpmin that should be is %3.1fV \" %Vpmin)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum Vpmax that should be is 22.2V \n",
        "Minimum Vpmin that should be is 19.2V \n"
       ]
      }
     ],
     "prompt_number": 22
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 20.9 Page No 933"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#initialisation of variables\n",
      "Ip=.6*10**-6\n",
      "Iv=2*10**-3\n",
      "Veb1=2.5\n",
      "Vpmin=19.2\n",
      "Vpmax=22.2\n",
      "Vbb=25.0\n",
      "C=1*10**-6\n",
      "R=18*10**3\n",
      "Vp=20.0\n",
      "\n",
      "\n",
      "#Calculations\n",
      "Vpmin=(Vbb-Vpmax)/Ip\n",
      "Remax=(Vbb-Veb1)/Iv\n",
      "t=C*R*math.log((Vbb-Veb1)/(Vbb-Vp))\n",
      "f=1.0/t\n",
      "\n",
      "#Results\n",
      "print(\"The value of f is %.2f  \" %f)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The value of f is 36.94  \n"
       ]
      }
     ],
     "prompt_number": 23
    }
   ],
   "metadata": {}
  }
 ]
}