{
 "metadata": {
  "name": "Chapter_3"
 }, 
 "nbformat": 2, 
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown", 
     "source": [
      "<h1>Chapter 3: Special-purpose Diodes<h1>"
     ]
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.1, Page Number:88<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "%matplotlib inline"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "", 
        "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", 
        "For more information, type 'help(pylab)'."
       ]
      }
     ], 
     "prompt_number": 1
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "delVZ=50*10**-3;    #voltage in volts, from graph", 
      "delIZ=5*10**-3;    #current in amperes, from rgraph", 
      "", 
      "#calculation", 
      "ZZ=delVZ/delIZ;   #zener impedence", 
      "", 
      "# result", 
      "print \"zener impedance = %d ohm \" %ZZ"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "zener impedance = 10 ohm "
       ]
      }
     ], 
     "prompt_number": 2
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.2, Page Number:89<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "I_ZT=37*10**-3;    #IN AMPERES", 
      "V_ZT=6.80;         #IN VOLTS", 
      "Z_ZT=3.50;         #IN OHMS", 
      "I_Z=50*10**-3;     #IN AMPERES", 
      "", 
      "#calculation", 
      "DEL_I_Z=I_Z-I_ZT;      #change current", 
      "DEL_V_Z=DEL_I_Z*Z_ZT;  #change voltage", 
      "V_Z=V_ZT+DEL_V_Z;      #voltage across zener terminals", 
      "print \"voltage across zener terminals when current is 50 mA = %.3f volts\" %V_Z", 
      "I_Z=25*10**-3;         #IN AMPERES", 
      "DEL_I_Z=I_Z-I_ZT;      #change current", 
      "DEL_V_Z=DEL_I_Z*Z_ZT;  #change voltage", 
      "V_Z=V_ZT+DEL_V_Z;      #voltage across zener terminals", 
      "", 
      "#result", 
      "print \"voltage across zener terminals when current is 25 mA = %.3f volts\" %V_Z"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "voltage across zener terminals when current is 50 mA = 6.845 volts", 
        "voltage across zener terminals when current is 25 mA = 6.758 volts"
       ]
      }
     ], 
     "prompt_number": 3
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.3, Page Number:90<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "V_Z=8.2;     #8.2 volt zener diode", 
      "TC=0.0005;   #Temperature coefficient (per degree celsius)", 
      "T1=60;       #Temperature 1 in celsius", 
      "T2=25;       #Temperature 2 in celsius", 
      "", 
      "#calculation", 
      "DEL_T=T1-T2;           #change in temp", 
      "del_V_Z=V_Z*TC*DEL_T;  #change in voltage", 
      "voltage=V_Z+del_V_Z;   #zener voltage", 
      "", 
      "#result", 
      "print \"zener voltage at 60 degree celsius = %.3f volt\" %voltage"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "zener voltage at 60 degree celsius = 8.343 volt"
       ]
      }
     ], 
     "prompt_number": 4
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.4, Page Number:90<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "P_D_max=400*10**-3;    #power in watts", 
      "df=3.2*10**-3          #derating factor in watts per celsius", 
      "del_T=(90-50);         #in celsius, temperature difference", 
      "", 
      "#calculation", 
      "P_D_deru=P_D_max-df*del_T;  #power dissipated", 
      "P_D_der=P_D_deru*1000;", 
      "", 
      "#result", 
      "print \"maximum power dissipated at 90 degree celsius = %d mW\" %P_D_der"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "maximum power dissipated at 90 degree celsius = 272 mW"
       ]
      }
     ], 
     "prompt_number": 5
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.5, Page Number: 92<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "V_Z=5.1;", 
      "I_ZT=49*10**-3;", 
      "I_ZK=1*10**-3;", 
      "Z_Z=7;", 
      "R=100;", 
      "P_D_max=1;", 
      "", 
      "#calculation", 
      "V_out=V_Z-(I_ZT-I_ZK)*Z_Z;   #output voltage at I_ZK", 
      "V_IN_min=I_ZK*R+V_out;       #input voltage", 
      "I_ZM=P_D_max/V_Z;            #current", 
      "V_out=V_Z+(I_ZM-I_ZT)*Z_Z;   #output voltage at I_ZM", 
      "V_IN_max=I_ZM*R+V_out;       #max input voltage", 
      "", 
      "#result", 
      "print \"maximum input voltage regulated by zener diode = %.3f volts\" %V_IN_max", 
      "print \"minimum input voltage regulated by zener diode = %.3f volts\" %V_IN_min"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "maximum input voltage regulated by zener diode = 25.737 volts", 
        "minimum input voltage regulated by zener diode = 4.864 volts"
       ]
      }
     ], 
     "prompt_number": 6
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.6, Page Number: 93<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "V_Z=12.0;      #voltage in volt", 
      "V_IN=24.0;     #ip voltage in volt", 
      "I_ZK=0.001;    #current in ampere", 
      "I_ZM=0.050;    #current in ampere ", 
      "Z_Z=0;         #impedence", 
      "R=470;         #resistance in ohm", 
      "", 
      "#calculation", 
      "#when I_L=0, I_Z is max and is equal to the total circuit current I_T", 
      "I_T=(V_IN-V_Z)/R;    #current", 
      "I_Z_max=I_T;         #max current", 
      "if I_Z_max<I_ZM :    # condition for min currert ", 
      " I_L_min=0;", 
      "", 
      "I_L_max=I_T-I_ZK;    #max current", 
      "R_L_min=V_Z/I_L_max; #min resistance", 
      "", 
      "#result", 
      "print \"minimum value of load resistance = %.2f ohm\" %R_L_min", 
      "print \"minimum curent = %.3f ampere\" %I_L_min", 
      "print \"maximum curent = %.3f ampere\" %I_L_max"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "minimum value of load resistance = 489.16 ohm", 
        "minimum curent = 0.000 ampere", 
        "maximum curent = 0.025 ampere"
       ]
      }
     ], 
     "prompt_number": 7
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.7, Page Number: 94<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "# variable declaration", 
      "V_IN=24.0;          #voltage in volt", 
      "V_Z=15.0;           #voltage in volt", 
      "I_ZK=0.25*10**-3;   #current in ampere", 
      "I_ZT=17*10**-3;     #current in ampere", 
      "Z_ZT=14.0;          #impedence", 
      "P_D_max=1.0;        #max power dissipation", 
      "", 
      "#calculation", 
      "V_out_1=V_Z-(I_ZT-I_ZK)*Z_ZT;     #output voltage at I_ZK", 
      "print \"output voltage at I_ZK = %.2f volt\" %V_out_1", 
      "I_ZM=P_D_max/V_Z;", 
      "", 
      "V_out_2=V_Z+(I_ZM-I_ZT)*Z_ZT;     #output voltage at I_ZM", 
      "print \"output voltage a I_ZM = %.2f volt\" %V_out_2", 
      "R=(V_IN-V_out_2)/I_ZM;            #resistance", 
      "print \"value of R for maximum zener current, no load = %.2f ohm\" %R", 
      "print \"closest practical value is 130 ohms\"", 
      "R=130.0;", 
      "#for minimum load resistance(max load current) zener current is minimum (I_ZK)", 
      "I_T=(V_IN-V_out_1)/R;     #current", 
      "I_L=I_T-I_ZK;             #current", 
      "R_L_min=V_out_1/I_L;      #minimum load resistance", 
      "", 
      "#result", 
      "print \"minimum load resistance = %.2f ohm\" %R_L_min"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "output voltage at I_ZK = 14.77 volt", 
        "output voltage a I_ZM = 15.70 volt", 
        "value of R for maximum zener current, no load = 124.57 ohm", 
        "closest practical value is 130 ohms", 
        "minimum load resistance = 208.60 ohm"
       ]
      }
     ], 
     "prompt_number": 8
    }, 
    {
     "cell_type": "markdown", 
     "source": [
      "<h3>Example 3.8, Page Number: 96<h3>"
     ]
    }, 
    {
     "cell_type": "code", 
     "collapsed": false, 
     "input": [
      "", 
      "#variable declaration", 
      "V_p_in=10.0;   #Peak input voltage", 
      "V_th=0.7;      #forward biased zener", 
      "V_Z1=5.1;", 
      "V_Z2=3.3;", 
      "", 
      "V_p_in=20.0;", 
      "V_Z1=6.2;", 
      "V_Z2=15.0;", 
      "", 
      "#result", 
      "print('max voltage = %.1f V'%(V_Z1+V_th))", 
      "print('min voltage = %.1f V'%(-(V_Z2+V_th)))"
     ], 
     "language": "python", 
     "outputs": [
      {
       "output_type": "stream", 
       "stream": "stdout", 
       "text": [
        "max voltage = 6.9 V", 
        "min voltage = -15.7 V"
       ]
      }
     ], 
     "prompt_number": 9
    }
   ]
  }
 ]
}