Weather Station Instruments
Weather Station Instruments
                        Peter D. Hiscocks
        Department of Electrical and Computer Engineering
                       Ryerson University
                        Toronto, Canada
        Email:   phiscock@ee.ryerson.ca
        URL:     http://www.ee.ryerson.ca/˜phiscock
                 http://www.syscompdesign.com
Contents
Preface xi
1 Temperature Measurement                                                                                                                              1
  1.1 General Requirements . . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    1
  1.2 The Thermistor . . . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    3
      1.2.1 Thermistor Electrical Specifications . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
      1.2.2 Thermistor Measuring Circuit . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    5
      1.2.3 Lookup Table . . . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6
      1.2.4 Thermistor Equation . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6
      1.2.5 Steinhart-Hart Equation . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    8
      1.2.6 Thermistor Circuit Design . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
      1.2.7 Resolution of the Thermistor Thermometer . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
  1.3 Engineering Tool: BASIC Program . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
      1.3.1 Estimating the Production Accuracy . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
      1.3.2 Thermistor Self-Heating and Thermal Runaway . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
      1.3.3 Plotting the Thermistor VI Characteristic . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
      1.3.4 Engineering Tool: Generating Graphs with GNUPLOT              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
  1.4 The Diode Temperature Sensor . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22
      1.4.1 Diode Temperature Characteristics . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22
      1.4.2 Transistor Base-Emitter Voltage Function . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
      1.4.3 Base-Emitter Voltage Function of Temperature . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   26
      1.4.4 Base-Emitter Voltage Temperature Coefficient . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
      1.4.5 Interface Circuit for a Transistor Temperature Sensor .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   30
      1.4.6 The Operational Amplifier . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
      1.4.7 The effect of Power Supply Ripple and Drift . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      1.4.8 The Effect of Bias Currents . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
      1.4.9 The Effect of Offset Current . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
      1.4.10 The Effect of Offset Voltage . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
      1.4.11 Drift in Resistor Values . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
      1.4.12 Estimate of Accuracy . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
  1.5 Appendix: Operational Amplifier, Static Errors . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
      1.5.1 Input Offset Voltage . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
      1.5.2 Input Bias Current . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   47
      1.5.3 Input Offset Current . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   48
                                                      i
                                                                                                                                                                 ii
     2 Humidity                                                                                                                                                  79
       2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    79
       2.2 Vapour Pressure . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    80
       2.3 Relative Humidity . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    80
       2.4 Saturation Vapour Pressure . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    81
            2.4.1 Vapour Pressure Applied: Humidex . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    82
       2.5 The Wet-Bulb, Dry-Bulb Hygrometer . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    83
            2.5.1 Computerizing Wet-Bulb, Dry-Bulb Measurements             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    85
            2.5.2 Wet-Dry Bulb Calculation: An Example . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    85
       2.6 Dew Point . . . . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    86
            2.6.1 Dew Point Calculation: An Example . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    87
            2.6.2 Dew Point Calculation by Computer . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    87
       2.7 Electronic Measurement of Humidity . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    89
       2.8 A Capacitance-Humidity Sensor Circuit . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    89
            2.8.1 Sensor Specifications . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    89
            2.8.2 Oscillator Measuring Circuits . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    91
            2.8.3 555 Timer Design Example . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    93
            2.8.4 Engineering Proverb: Do it the easy way . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    96
            2.8.5 CMOS Oscillator and Divider . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    96
            2.8.6 Humidity Oscillator Circuit . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    98
       2.9 Calibrating the Hygrometer . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    98
       2.10 Humidity Measurement Software . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   100
            2.10.1 Humidity Task State Machine . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   100
            2.10.2 Humidity Task Pseudo-Code . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   101
            2.10.3 Humidity Display Routine . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   103
www.syscompdesign.com
CONTENTS                                                                                                                                                   CONTENTS
www.syscompdesign.com
                                                                                                                                                                                             iv
www.syscompdesign.com
CONTENTS                                                                                                  CONTENTS
www.syscompdesign.com
                        vi
www.syscompdesign.com
List of Figures
                                                       vii
                                                                                                                                                                  viii
www.syscompdesign.com
LIST OF FIGURES                                                                                                                                              LIST OF FIGURES
www.syscompdesign.com
                                                                                                                                                                                                 x
www.syscompdesign.com
Preface                                                                                                         xi
Preface
This is a book about electronic instrumentation, the design and construction of machines for the measurement of
physical quantities. It is also about Engineering: the art and science of desiging electronic machinery to perform
a particular task.
    As an extended example, we shall study the measurement of the physical properties associated with meteo-
rology, the science of weather. In particular, we will design instruments for the measurement of air temperature,
humidity, pressure, direction and speed of movement. The circuit designs are not an end in themselves, though
they may be useful. Beyond these, which will change with the technology, are engineering skills which outlast
changes in the hardware and software: organizing an engineering approach to the design, weighing alternatives,
analysing and understanding the behaviour of components and systems, ensuring that performance objectives are
met.
Course Description
The material in this text was originally used in a one-semester laboratory course in microprocessor-based instru-
mentation, directed to the following objectives:
   • to design an electronic system using analogue and microprocessor components.
   • to design circuits requiring care in selection of components and grounding, shielding and decoupling.
   • to gain experience in calibrating and verifying the performance of an analogue system.
   • to design and build software for an embedded microprocessor system.
   Further detail on the lab curriculum is contained in chapter 7.
                                                                                                                    xii
http://www.syscompdesign.com
     Feedback
     Comments, requests for clarification and cash prizes are all encouraged and should be directed to
phiscock@ee.ryerson.ca.
     Acknowledgements
     Special thanks to Jim Koch for designing the MPP circuit board, testing the various circuits, and his endless
     patience in helping students in the lab.
         Thanks to David Smith, maintainer of xfig and transfig for his help in resolving bugs.
     Production Notes
     This document was prepared on a Linux system using the RedHat 7.0 release and the FVWM desktop. Text editing
     was done using the joe text editor. Diagrams were prepared with the excellent xfig drawing program and
     incorporated as latex, epic, pictex or eps formatted files. Images were processed through the xv image
     processing program and incorporated in eps format. Graphs were generated with gnuplot and then further
     massaged in xfig.
         Text processing was done with the LATEX typesetting program, together with the packages graphicx, epsfig,
     subfigure, epic, piclatex, latexsym, afterpage and headings. (The functions of these packages
     is described in The Latex Companion.)
         Document previewing was done with the xdvi previewer. When the document was completed, it was for-
     matted to postscript using dvips and then further converted to pdf format using ps2pdf.
         Special thanks to the individuals who have provided this excellent software for the use of the technical writing
     community.
     Copyright
     This document is 
Peter
                        c        Hiscocks, 1994. Members of educational institutions - students, faculty and staff -
     are welcome to copy this material for teaching purposes, providing this copyright notice accompanies the mate-
     rial. Others are welcome to copy the material in this document for their own personal use, again providing this
     copyright notice accompanies the material.
          When this material is being sold to the end user, distribution rights must be obtained from the author, who
     may be contacted at the email address given above.
www.syscompdesign.com
Chapter 1
Temperature Measurement
Range of Measurement According to the Canadian Encyclopedia (reference [1], the air temperature extremes
    to be expected in Canada and the world are:
      Ideally, our temperature measuring circuit should be able to cope with the maximum possible range of ambi-
      ent temperature on the face of the planet earth. However, as we shall see, this may have to be compromised
      in the face of practical sensor limitations.
      On the other hand, to simplify things for the circuit designer, we assume that all the circuits except the
      temperature sensor are kept at room temperature, which we define as +15 o C and +25 o C 1 .
Resolution The resolution of the circuit is the minimum detectable change in temperature. For a domestic ther-
     mometer, a resolution of 1o C may be sufficient. For professional weather-monitoring applications, a reso-
     lution of 0.1o is more likely to be required.
      Initially, we shall specify the resolution of the temperature measuring system as 1 degree centigrade. We
      shall also examine a technique for increasing this resolution to one tenth of a degree.
  1 Those   with unsympathetic landlords or heritage in the British Isles may wish to choose a lower minimum temperature.
                                                                     1
                                                                                                                     2
     Accuracy The accuracy of the instrument specifies the allowable error in measurement. For example, in a case
          where the temperature trend is of interest, accuracy may not be all that important. On the other hand, where
          temperature readings must be compared with other instruments, the accuracy requirements are much more
          stringent. The resolution of the instrument should reflect its accuracy: it does not make sense to have a
          readout to six decimal places when the instrument is only accurate to two decimal places.
           It is reasonable to make the accuracy of the temperature measurement circuit equal to or better than the
           resolution. That is, for a temperature resolution of 1 degree, the accuracy should be +/ − 1 o C over the
           entire range of operation.
     Speed of Response In the measuring of climate data, air temperature changes slowly with respect to the speed of
          most electronic instruments. However, in the case of a clinical thermometer, a fast response is desireable to
          minimize the time required for the sensor to change from room to body temperature.
     Calibration From the standpoint of manufacturing cost, it is highly desireable that the instrument can be relied
          upon to meet its accuracy requirement without calibration. Calibration activities are time consuming and
          therefore expensive, so more expensive components can be justified if they minimize or eliminate calibra-
          tion requirements.
           On the other hand, for a hobbyist, the cost of labour is not a major consideration and the incentive may be
           to minimize parts cost instead.
     Cost The cost should be minimized while meeting the performance specifications.
www.syscompdesign.com
Temperature Measurement                                                                                1.2 The Thermistor
The thermistor (thermal resistor), is so named because it has a strong positive or negative coefficient of resistance
with temperature. Thermistors of interest in to us are NTC devices: they have a negative coefficient of resistance.
The resistance of the sensor decreases with increasing temperature.
    Thermistors are attractive for temperature measuring devices because they are relatively inexpensive and read-
ily available in different physical packages and with different resistance values [10]. Their sensitivity greatly
simplifies the electronic display circuitry.
1000
100
Resistance, KΩ
10
                      1
                       -40     -30     -20      -10     0    10     20          30       40      50
                                                      Temperature, C
   The data for this thermistor, derived and simplified from the data sheet in reference [10] is given in section1.2.1.
We shall refer to this information throughout the design.
www.syscompdesign.com
                                                                                                                      4
         The resistance of the thermistor varies with temperature, and so the resistance of a thermistor is specified at
     25o C, and known as R25 . In this case, the value of R25 is 10KΩ and the thermistor is a 10KΩ device.
         On the other hand, the non-linearity of the temperature-resistance characteristic is a nuisance, though it is
     possible to fabricate a thermistor sensor with linear resistance-temperature characteristic at somewhat greater
     cost. It is also relatively difficult to make thermistors accurate at low temperatures.
www.syscompdesign.com
Temperature Measurement                                                                                                           1.2 The Thermistor
                                                                                               s               d    Vrh
                                                                                              ..
                                     ...                                               .........
                               .........                                                         ......
                                        ...
                                        .....
                                                 R1                                     ..........
                                                                                                  ..
                                                                                                          R1              A-D
                                                                                            s                  d
                               .........
                                   . .                                                           .....
                                                                                                    ..
                                  s                      d
                                         ....                                                   ....
                                       ...
                                          ..
                                                               Vb                                                         Converter
     Vb                                                                                                             In
                                                                                                              6
                                                                                             ...
                                                                                       .........
                                 
                                      ..
                                ........
                                                                                       
                                                                                                ...
                                                                                                .....
                                                                                       ........
                             
                                        ......                                             . .
                               .........
                                     .   ...
                                                 Rt     Vt
                                                                                                .....
                                                                                                  ..      Rt   Vt
                                                                                                s              d?
                                        .....                                                  ...
                                           ..
                                       s                 d
                                       ....
                                                                                                                    Vrl
     m100                                                      m100
     therm-divider-a.latex                                     therm-divider-b.latex
        (a) Temperature Measuring Cir-                                        (b) Temperature Measurement, Ratiometric A-D
        cuit
   As the temperature increases, the resistance Rt of the thermistor decreases, reducing Vt . In this arrangement,
                                                             
                                                       Rt
                                            Vt =                × Vb
                                                    Rt + R 1
    The magnitude of the supply voltage Vb directly affects the thermistor voltage Vt , so for accurate measure-
ments, the supply voltage Vb must be stable.
    If the measurement is by means of a ratiometric analog-digital converter as shown in figure 1.2(b), we can
remove the effect of power supply voltage. Recall that a ratiometric A-D converter generates a result which is
proportional to the ratio of the input voltage to the two A-D reference voltages, V rh and Vrl . If Vrl is connected
to the power supply reference terminal2 (the usual case), then the A-D reading NAD is given by
                                                                            Vin
                                                                 NAD =          × Nmax .
                                                                            Vrh
   In the case of an 8 bit A-D converter, the maximum output value is N max is 28 − 1 or 255.
   For thermistor circuit figure 1.2(b), we may substitute 256 for Nmax , Vt for Vin and Vb for Vrh :
                                                                              Vt
                                                                   NAD =         × 256.
                                                                              Vb
  2 Usually   somewhat loosely referred to as ground
www.syscompdesign.com
                                                                                                                       6
         Solving for Vt and then substituting in the thermistor voltage-divider equation, we find that V b cancels out of
     the equation, and we have
                                                                    R1
                                                 Rt = NAD ×                                                         (1.1)
                                                                256 − NAD
        In other words,
• If R1 and the A-D reading are known, the value of the thermistor resistance may be calculated.
        • Within certain limits (ie, assuming the circuits continue to operate) the value of the supply voltage V b has
          no effect on the accuracy of the measurement. This is highly desireable for stability and accuracy of the
          temperature measurement.
A useful form of equation 1.1 gives the value of the A-D converter reading N AD in terms of the resistances:
                                                             Rt
                                                  NAD =            × 256                                            (1.2)
                                                           R1 + Rt
         Now that we have a method of determining the thermistor resistance from the A-D reading, we need a way to
     relate the thermistor resistance to its temperature.
         There are three possible approaches to this: a lookup table, an approximate formula, and the more accurate
     Steinhart-Hart approximation.
www.syscompdesign.com
Temperature Measurement                                                                                   1.2 The Thermistor
Y 255 227
Output Variable
173 208
208
                                                                                          2         15
                                                                                          1         12
                                                                                          0         10
                                            173                            X
                                                               Input Variable
                                        The Function                                          The Lookup Table
   The resistance at 25o C and the value of β are often given on data sheets.
   For example, suppose the resistance of a certain thermistor is 10KΩ at 25 o C and the value of β25 is given as
3977. Calculate the resistance of the thermistor at 85o C.
                                                                
                                                         1    1
                                                       β    −
                                       RT    = R25 e     T    To
                                                                    
                                                            1      1
                                                    3977       −
                                             = 10 e        358 298
                                             = 1.068KΩ
   The tabulated value for the thermistor is 1.070KΩ, so the formula is quite close in this case. However, if the
same values are used to calculate the resistance of the thermistor at −25 o C, the thermistor equation yeilds 147KΩ
and the tabulated value is 128KΩ, an error of some 15%. Obviously the thermistor formula must be used with
some caution.
www.syscompdesign.com
                                                                                                                               8
        The graph of figure 1.4 (plotted on a linear scale to emphasize the discrepancy) shows how the thermistor
     equation becomes progressively less accurate at low temperatures. The squares show the actual thermistor values,
     from a table in the data sheet, and the dotted line shows the values generated by the thermistor equation.
                                                       450
                                                                                           Thermistor Characteristic
                                                       400                                     Thermistor Equation
                                                       350
                                   Resistance, Kohms
300
250
200
150
100
50
                                                        0
                                                         -40   -30   -20   -10    0     10      20     30      40      50
                                                                                 Temperature, C
www.syscompdesign.com
Temperature Measurement                                                                                                   1.2 The Thermistor
                                              1
                                                     = a + b ln 173.9 + c (ln 173.9)3
                                             243
                                              1
                                                     = a + b ln 19.86 + c (ln 19.86)3
                                             283
                                              1
                                                     = a + b ln 3.606 + c (ln 3.606)3
                                             323
   Using an engineering calculator3 to solve these equations for a, b and c, we obtain
a = 2.772 × 10−3
                                                            b = 2.524 × 10−4
                                                            c = 3.042 × 10−7
   Now, for example, we can calculate the temperature for a thermistor resistance of 95.89KΩ:
            1
                  = a + b ln RT + c (ln RT )3
            T
                  = 2.772 × 10−3 + 2.524 × 10−4 × ln(95.89Ω) + 3.042 × 10−7 × (ln(95.89Ω))3
                  = 3.952 × 10−3
   Then
                                                                      1
                                                        T     =
                                                                3.952 × 10−3
                                                              = 252.9oK
                                                              = −20.1oC
    From the tabulated values for the thermistor, a resistance of 95.89KΩ should correspond to -20 o Centigrade,
so the Steinhart-Hart equation generates an accurate value in this case. It turns out that this is typical and the
equation may be relied upon over the entire range of thermistor resistance.
www.syscompdesign.com
                                                                                                                        10
                                                      1
                                                        = a + bx + cx3                                               (1.5)
                                                      T
        where x has been substituted for ln(RT ).
        Use the calculator to solve for x and then find RT = ex .
                                                        Vt     Rt
                                                           =                                                         (1.6)
                                                        Vb   R1 + R t
         where Rt is given by equation 1.3. (Equation 1.3 is only approximate, as we saw in section 1.2.4, but is
     adequate for this purpose. It is much easier to use than the Steinhart-Hart formula (equation 1.4) because it yeilds
     the termistor resistance directly.) Plotting Vt /Vb versus temperature for various values of R1 yeilds the graph of
     figure 1.5.
         In an ideal world, the graph would be linear, indicating that the output voltage is a linear function of tem-
     perature. It’s not possible to obtain a linear transfer characteristic for any value of R 1 , but the linear region of
     the graph can be moved to different temperatures. For example, the graph is more linear at low temperatures if
     R1=8×R25 . The graph is more linear at high temperatures if R1=0.5×R25. For our purposes, where operation is
     between temperatures of -40 and +50o C, a good compromise is R1=2×R25 .
         As the graph shows, making R1 equal to Rt in the centre of the temperature region of operation is a satisfactory
     ’rule of thumb’ in designing simple thermistor voltage-divider circuits.
www.syscompdesign.com
Temperature Measurement                                                                             1.2 The Thermistor
                      1
                    0.9                                                      R1/R25=0.5
                                                                             R1/R25=2.0
                    0.8                                                      R1/R25=8.0
                    0.7
                  0.6
         Transfer
         Function 0.5
          Vt /Vb
                  0.4
                    0.3
                    0.2
                    0.1
                      0
                       -40    -30     -20     -10      0    10     20         30      40      50
                                                     Temperature, C
    Repeating this at the centre of the operating range, +10o C and at the extreme hot temperature, +50o C, we have
the following results:
   Throughout the entire temperature range, the A-D reading changes by at least one count per degree. Thus the
microprocessor can resolve changes of 1o C throughout the full range of temperature.
    In the centre of the operating range, the A-D output changes by more than 2 steps per degree, so it is possible
to resolve at least 0.5o C in this region.
     This analysis is aprproximate, and to be certain the resolution is sufficient, it should be checked throughout
its range. Fortunately, this is easily done with a spreadsheet, plotting routine such as Matlab or GNUPlot, or
interactive computer program such as some dialect of BASIC.
www.syscompdesign.com
                                                                                                                      12
www.syscompdesign.com
Temperature Measurement                                                         1.3 Engineering Tool: BASIC Program
   For the lookup table to have sufficient resolution, each entry between the temperatures of −40 to +50 o C
should change by no more than 1o C. This is in fact the case, so the thermometer meets its requirement.
   Outside this range, the temperature readings jump by more than 1 o C, reflecting the fact that the transfer
characteristic, figure 1.5, is less steep at high and low temperatures.
   To determine the worst case variation in temperature reading in a production batch, we should choose the
worst case for each of these variations and add them together. However, this may be unnecessarily stringent.
www.syscompdesign.com
                                                                                                                       14
     If the tolerances are independent and uncorrelated, then a good estimate of the worst case variation is found by
     taking the RMS sum of the individual variations.
     Total Accuracy
     Summing up the errors at different temperatures, we have the results shown in the following table:
         We previously determined that the sensitivity of the measuring circuit varies with temperature (figure 1.6),
     so it is reasonable to express the variation in A-D reading as an equivalent temperature. For example, if the
     accuracy is ±4.74 counts at +10oC, and the resolution is 2.4 counts per degree, then the accuracy is approximately
     2.8/2.4 = ±2.8oC. This is shown in the last two columns for equivalent Worst Case error and equivalent RMS
     error.
         This is not good news: a thermistor-based temperature measuring circuit using these components will have a
     variation in accuracy by nearly ±3o C.
www.syscompdesign.com
Temperature Measurement                                                        1.3 Engineering Tool: BASIC Program
       Temperature, o C     Worst Case Error,     RMS Error,      Worst Case Error,        RMS Error,
                              A-D Counts          A-D Counts     Equivalent Degrees     Equivalent Degrees
              –30                 3.8                 2.6                2.3                   1.6
              +10                 6.75               4.74               2.8                    1.9
              +50                 4.1                2.75               2.9                    1.9
    How could we improve the accuracy of the circuit? Most of the error is due to the variation in R 25 and β,
so these must be more tightly controlled to improve the accuracy. More tightly specified thermistors (±0.1% is
available) are available (albeit for a significantly higher cost) and might be suitable.
    Alternatively, we can introduce a calibration procedure that measures R 25 and β, and compensates for their
variation. This has attractions for the amateur, but is time consuming and requires additional microprocessor
software. Before getting involved in that, it would be wise to investigate other types of temperature transducers,
as we do in the next section.
www.syscompdesign.com
                                                                                          16
30
25
                        20                                                        25o C
                                                                                  50o C
           Voltage, V 15
10
                        0
                             0   0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018
                                                   Current, mA
www.syscompdesign.com
Temperature Measurement                                                                                                           1.3 Engineering Tool: BASIC Program
Voltage
                                                                                    a
                                                                                         q
                                                      m50                               I1                          Current
                                                      thermistor-loadline-ci.epic
Voltage Voltage
E1
                                  a   q                                    q
                                                                           b
                                                                                                               r
                   E2
                                                                                                  Eoc
                                                                                                              a
(b) Constant Voltage Thermistor Source (c) Voltage Source, Internal Resistance
www.syscompdesign.com
                                                                                                                            18
         The characteristic of a constant current source (figure 1.10(a) intersects the thermistor characteristic at one
     and only one point so the circuit will be stable.
         On the other hand, the voltage source E1 in figure 1.10(b) exceeds the maximum possible voltage of the
     thermistor and so will certainly cause thermal runaway. The voltage source E2 in figure 1.10(b) is conditionally
     stable. It intersects the positive resistance portion of the curve at point a, so it is a stable operating point. A second
     possible stable operating point is at b.
         The characteristic of a voltage source with an internal resistance is shown in figure 1.10(c). In this case, the
     stability of the circuit is dependent on the magnitude of the voltage source and slope of the loadline. Since the
     loadline intersects the thermistor characteristic at only one point, the values shown would result in a stable circuit.
         The situation for our application circuit, with a 5 volt source and 20KΩ resistance, is shown in figure 1.11.
10
                            6                                        -30o C
                                                                    +25o C
             Voltage, V                                             +50o C
                            4                                    Load Line
                            0
                                0           5e-05           0.0001      0.00015               0.0002
                                                              Current, mA
         The load line intersects the thermistor characteristic at one point only for the thermistor at three different
     temperatures so the circuit will be stable. Further, we can deduce that the self-heating effect is minimal because
     the thermistor characteristics are essentially straight lines at these voltages and currents.
www.syscompdesign.com
Temperature Measurement                                                       1.3 Engineering Tool: BASIC Program
pt = i2t RT (1.8)
    The internal temperature of the thermistor is equal to the ambient temperature T A plus the heat generated
across the thermal resistance θ of the thermistor by the thermistor power P t , according to equation 1.9.
                                                Tj = TA + θPd                                               (1.9)
   where Pd is Pt in this case.
   Finally, from section 1.2.4 we have equation 1.3 for the thermistor resistance:
                                                                   
                                                            1    1
                                                       β       −
                                          RT = R25 e        T    To                                        (1.10)
    Unfortunately, combining equations 1.7 through 1.10 does not lead to a simple algebraic solution. The voltage
corresponding to a given current can be found iteratively, however, using the iterative approach of figure 1.12.
www.syscompdesign.com
                                                                                       20
                                                      v t = i t Rt
                                                                                   2
                                                     pt = i2t Rt
                                                                                   3
                                                  Tj = TA + θpt
                                                                                   4
                                                                              
                                                                    1     1
                                                            β          −
                                          Rtnew = R25 e             Tj   To
                                                                                   5
                                              Rt := 0.1(Rtnew − Rt )
                                                                                   6
                        m70
                        therm-vi-flowchart.epic
www.syscompdesign.com
Temperature Measurement                                                          1.3 Engineering Tool: BASIC Program
    We start with a value of current and an approximate value of thermistor resistance. We then determine the
heating effect and calculate a new value of resistance. This new value of thermistor resistance is used to improve
the original estimate. We repeat the iterative loop until the values of thermistor resistance converge to a solu-
tion. Once the thermistor resistance is known the thermistor voltage is simply the current times the thermistor
resistance.
    In order to ensure that the iteration converges, it may be necessary to adjust the factor by which the estimate of
thermistor resistance is improved with each iteration: a factor of 0.1 in the example shown. If the result oscillates
with each iteration, reduce this factor.
        1.0/(1.0+(20.0/(10.0*(2.71818**(3977.0*(1.0/(273.0+x)-1.0/298.0))))
      title ’R1/R25=2.0’ with lines, \
        1.0/(1.0+(80.0/(10.0*(2.71818**(3977.0*(1.0/(273.0+x)-1.0/298.0))))
      title ’R1/R25=8.0’ with lines \
      set terminal x11 # show output on terminal
      replot # redo the plot
    This command file contains instructions to plot the function with output first to a disk file ”thermistor-
divider.latex” (for incorporation in another document) and then to the X windows screen. The # character pre-
ceeds comments, which are ignored.
www.syscompdesign.com
                                                                                                                           22
                                                                                  s
                                                                
                                                                
                                         Vd ∝ T                                         Vce ∝ T
                     m100
                     diode-sensor.epic
         However, there are some design issues that must be dealt with to make a practical temperature measuring
     circuit.
         In the first place, the 8-bit A-D converter of the microprocessor requires 5/255 = 19 mV per step when
     operated from reference voltages of +5 volts and ground. The diode 2.2 mV/ o C rate of change of voltage with
     temperature is much less than this, and must be amplified. Second, the forward biased diode has a standing voltage
     of some 600 millivolts which must be subtracted out from the measurement. Together, these requirements may be
     met with a simple operational amplifier circuit.
         Before launching into a design of suitable circuitry, it is appropriate to have a careful look at the characteristics
     of the diode-connected transistor to determine whether it will make an accurate temperature sensor.
           The forward current across any p-n junction consists of three major components: diffusion current
           or drift current, generation recombination current, and surface leakage current. Each of them is
           determined by a different mechanism and temperature dependence results in complex compound
           behaviour. Verster [20] has shown that any semiconductor material operated as a transistor simplifies
           these relationships since only the diffusion component of the emitter is under consideration, while
           the generation recombination and surface leakage currents are drained away as base current.
        This implies that the diode-connected transistor will have a more predictable temperature characteristic. In-
     deed, Motorola used to manufacture a series of transistors, the MTS102-MTS105 [21] which were specifically
www.syscompdesign.com
Temperature Measurement                                                           1.4 The Diode Temperature Sensor
intended for temperature measurement. (Cover of the MTS102 Data Sheet is shown in figure 1.14) 4. Although
the MTS102 is no longer available, the other small signal transistors will have similar specifications.
www.syscompdesign.com
                                                                                                                      24
     where
             T is the absolute temperature in o Kelvin
             Ic is the collector current
             Is is the reverse saturation current
             q is the electron charge, 1.6 × 10−19 coulomb
             Vbe is the base-emitter voltage
             n is a process constant which depends on the construction technique, typically ≈1
             K is Boltzmann’s constant, 1.38×10−23 joule/o K
        If we have access to values of the base-emitter voltage vs collector-emitter current for a particular transistor,
     we can solve for the values of n and Is for that transistor. In this example, we shall use the graph of figure 1.15,
     adapted from the Motorola data sheet for the MTS102.
www.syscompdesign.com
Temperature Measurement                                                                      1.4 The Diode Temperature Sensor
                                                                    qVbe1
                                               ln Ic1     = ln Is +
                                                                    nkT
                                                                    qVbe2
                                               ln Ic2     = ln Is +
                                                                    nkT
     Subtracting the two equations,
                                                                     q
                                      ln Ic2 − ln Ic1       =           (Vbe2 − Vbe1 )
                                                                    nkT
or
                                               Ic2           q
                                          ln            =       (Vbe2 − Vbe1 )
                                               Ic1          nkT
   Two suitable data points from the graph of figure 1.15 are 0.1 mA and 1.0 mA, a decade appart in current.
Then we have
                                            Ic1 , 0.1 mA            Vbe1 , 600 mV
                                            Ic2 , 1.0 mA            Vbe2 , 660 mv
     Substituting these values in equation 1.12, we have:
                                                 1.6 × 10−19
                                ln 10 =                           (0.660 − 0.600)
                                           n × 1.38 × 10−23 × 298
     Solving for n,
                                                        n = 1.014
                                                               
                                                  qVbe
                                 Ic (T ) = Is e   nkT
                                                      1.6 × 10−19 × 0.6
                                                                                        
                                                                   −23 × 298
                                          = Is e 1.014 × 1.38 × 10
     Solving for Is , we have
www.syscompdesign.com
                                                                                                                      26
                                                              nKT    Ic (T )
                                                 Vbe (T ) =       ln                                              (1.12)
                                                               q     Is (T )
        where the collector current and saturation current have both been shown as functions of temperature T to
     emphasize that they change when the temperature changes. In other words, we cannot treat I c and Is as constants
     and differentiate this equation with respect to temperature T to determine the temperature coefficient.
        However, if the base-emitter voltage is known at some reference temperature T o , the base-emitter voltage at
     some other temperature T may be calculated by the following [22, 23, 24]:
                                                                           
                                           T            T    nkT     To   kT     Ic
                        Vbe (T ) = VG0 1 −      + Vbeo     +     ln     +    ln                                   (1.13)
                                           To           To    q      T     q     Io
        where the additional terms are
         For example, consider that a diode-connected transistor has a base-emitter voltage of 0.600 volts at a collector
     current of 0.1 mA and temperature of 20o C. What is the base-emitter voltage at 100o C?
         The values of the parameters are:
www.syscompdesign.com
Temperature Measurement                                                             1.4 The Diode Temperature Sensor
                                                                              
                                         T             T       nkT      To   kT     Ic
                   Vbe   =   VG0 1 −         + Vbeo         +       ln     +    ln
                                        To             To       q       T     q     Io
                                                           
                                         373              373
                         =   1.22 1 −          + 0.600
                                         293              293
                                                  −23
                                                                     
                               1.014 × 1.38 × 10      × 373       293
                             +                               ln
                                        1.6 × 10−19               373
                               1.38 × 10−23 × 373        0.1 × 10−3
                                                                    
                             +                      ln
                                   1.6 × 10−19           0.1 × 10−3
                         =   −0.333 + 0.763 + 0.0078 + 0.0
                         =   0.437 volts
This agrees with the base-emitter vs temperature value shown on the data sheet for the MTS102 transistor.
   Notice that the third term contributes only a very small amount to the final value. The fourth term has no effect
because the collector current is equal to the reference current.
www.syscompdesign.com
                                                                                                                    28
     to obtain
                                                 
                              d nkT          To            nkT    d    To      To    d nkT
                                    ln                =        ×    ln    + ln    ×                             (1.15)
                             dT q            T              q    dT    T       T    dT q
        Using the identity
                                                        d        1 du
                                                          ln u =
                                                       dx        u dx
     we have that
                                               d                  1      d To
                                                 ln To T      =       ×
                                              dT                To /T   dT T
                                                                T      To
                                                              =     ×− 2
                                                                To     T
                                                                  1
                                                              = −
                                                                  T
        We also have that
                                                           d nkT        nk
                                                                   =
                                                          dT q           q
        Finally, substituting in equation 1.15, the differential of the third term is given by
                                                                                         
                                      nkT      1        To    nk          nk        To
                                    −       × + ln         ×         =           ln    −1
                                        q      T        T      q           q        T
        Putting this result together with the linear coefficient terms, we have the complete expression for the rate of
     change of Vbe with temperature:
                                                                                  
                                        dVbe        VG0     Vbeo     nk      To
                                              =−        +         +       ln    −1                               (1.16)
                                         dT          To      To       q      T
        For example, the data sheet for the MTS102 temperature sensor transistor gives V beo as 0.595 volts at 25o C.
     Determine the temperature coefficient of Vbe .
        Substituting VGO =1.22V, Vbeo =0.595, To =298o and T =298o Kelvin in equation 1.16, we have
                                         1.22 0.595 1.014 × 1.38 × 10−23
                                                                                               
                           dVbe                                                         298
                                  = −          +        +                            ln     − 1
                            dT            298      298            1.6 × 10−19           298
                                  = −4.094 × 10−3 + 1.997 × 10−3 − 0.087 × 10−3
                                  = −2.184 mV/o C
         The value from the data sheet is -2.265 mV/o C, which is within 3% of the calculated value.
         Plugging temperature values of -40o C and +50o C into equation 1.16, we can calculate the transistor tempera-
     ture coefficients at the extremes of operation:
                              Temperature         Coefficient of Temperature    Error related to
                                                                               coefficient at 25o C
                                  –40                   -2.163 mV/o C                 -0.1%
                                  +25                   -2.184 mV/o C                +0.0%
                                  +50                   -2.191 mV/o C                +0.3%
www.syscompdesign.com
Temperature Measurement                                                                   1.4 The Diode Temperature Sensor
Evidently the temperature coefficient of base-emitter voltage may be relied upon to be essentially constant over
the temperature range we intend to use it.
Rd
                                                                               s
                                            s
                                                                                   Temperature
                                                                                     Sensor
                        m100
                        simple-diode-source.epic
    If the voltage across the transistor sensor is more or less constant at 0.6 volts, then if the supply voltage is +5
volts, the voltage across the resistor will be more or less constant at 4.4 volts and the current through the sensor
will be more or less constant as well. Now, as we know, the voltage across the sensor does vary, so we have to
determine whether the variation is enough to affect the accuracy of the sensor voltage.
    First of all, we should calculate the value of the series resistor Rd :
                                                       Vcc − Vbe
                                                     Rd =                                                       (1.17)
                                                           Ic
   For the purpose of calculating the resistance, assume Ic is 100µA and Vbe is 0.6 volts. Then
                                                          5V − 0.6V
                                                Rd   =
                                                       100 × 10−6 amps
                                                     = 44KΩ
    Now we need to determine the worst case variation in current due to changes in the value of V be . From
figure 1.17, the worst case change in Vbe is to 0.742 volts, which occurs at a temperature of –40oC. Repeating the
calculation of equation 1.17 for Vbe = 0.742 volts, we find that Ic ≈ 96µamps. This value is only approximate
because its change further affects the assumed value of Vbe . However, as we shall show, the effect is slight enough
to be neglected.
    Now, how much of an effect does a change of transistor current from 100 µamps to 96 µamps have on the
value of Vbe ? From equation 1.13, the current affects the base-emitter voltage according to the expression
www.syscompdesign.com
                                                                                                                       30
                                                                             
                                                             kT          Ic
                                                    ∆Vbe =      ln
                                                              q          Io
         where Ic is the collector current and Io is the original reference collector current. Thus the change in Vbe due
     to change in collector current is
                                                        
                                                kT      Ic
                                      ∆Vbe    =     ln
                                                 q      Io
                                                1.38 × 10−23 × 233     96 × 10−6
                                              =              −19
                                                                   ln
                                                    1.6 × 10          100 × 10−6
                                              = −0.803 mV
         This is not enough to materially effect our original assumption of 0.742 volts for V be , so our assumption of
     Ic =96µamps is unchanged.
         The temperature coefficient of the transistor sensor is in the order of -2.2 mV/ o C, so this change of -0.8 mV
     in Vbe is equivalent to approximately a third of a degree C. For greater accuracy, a different current source would
     be required.
www.syscompdesign.com
Temperature Measurement                                                                                         1.4 The Diode Temperature Sensor
   From the data sheet for the MTS102, the temperature coefficient is -2.265 mV/ o C and the value of Vbe is
595mV at 25oC.
   Using these specs, at −40o C, the sensor voltage is
The corresponding voltages at the input to the A-D converter are: At step 27 ( −40 o C):
                                                            27/255 × 5
                                                          = 0.529 volts
                                                                227/255 × 5
                                                                4.451 volts
                                                                                ..                ..
                                                                     4.451V   .. ..             .. ..    227
                                           m70                                        4
                                           diode-swings.latex
                                                                      3.93                              200
                                                                      volts                             Steps
                                                                                      2
                                                                                      1
                                  –40o C       0.742V
                                                   ......
                                                   ...... 0.227V              .. ..             .. ..
                                                                     0.517V     ..                ..     27
                                  +60o C       0.515V
                                                                                          0
To design a suitable amplifier circuit, consider the operational amplifier circuit of figure 1.18(a).
www.syscompdesign.com
                                                                                                                                      32
                                                                                                                               
                                                                                                                                     6
                                                                                                                           
                                                                                                                           
                                                                                                                     
                                                                                                                     
                                                                    6       H
                                                                            H                                 
                                                                                                              
                                                                                    H
                                                                                    H
                                                                                            H Ag
                                                                                                       
                                                                                                       
                                                                                            H   
                                                               vi       0                                                          0 vo
                                                                                             H
                                                                                               H
                               r               r    e
                   Ri                 Rf                                                              H
                                                                                                       H
                                                                                    
                                                                    ?       
                                                                                                             H
                                                                                                              H
                                      HH                                                                             H
                                                                                                                     H
             m                          HH
                                      –                                                                                    H
                                                                                                                           H
       vi
                                                 vo                                                                          H
                                                                                                                               H      ?
                                      
                                      +
                                                                                              -                              -
                               r                    e
                                                                                      Ri                      Rf
            m70
            inverting-seesaw-a.epic                                         m90
                                                                            inverting-seesaw-b.latex
www.syscompdesign.com
Temperature Measurement                                                                                                                                                                                                                                                                             1.4 The Diode Temperature Sensor
                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                     6
                                                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                 H
                                                                                                                                 6                               H                                                                                                                                          
                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                               H
                                                                                                                                                                                               H
                                                                                                                                                                                                                              H Ag
                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                              H   
                                                                                                                      vi                                                                                                                                                                                                             vo
                                                                                                                                                                                                                               6
                                                                                                                                                                                                                                 H
                                                                                                                                                                                                                                  H
                         r                              r               e
            Ri                  Rf                                                                                                                                                             
                                                                                                                                                                                                                                                                                         H
                                                                                                                                                                                                                                                                                          H
                                                                                                                                 ?                               
                                                                                                                                                                                                                                                                                                           H
                                                                                                                                                                                                                                                                                                            H
                               HH                                                                                                                                                                                                      vb                                                                            H
                                                                                                                                                                                                                                                                                                                     H
      m                           HH
                               –                                                                                                                                                                                                                                                                                         H
                                                                                                                                                                                                                                                                                                                         H
                                                                                                                                                                                                                                                                                                                                    ?
 vi                                                             vo                                                                                                                                                                                                                                                           H
                                                                                                                                                                                                                                                                                                                             H
                               +
                                                                                                                                                                                                                                                     ?
                                                                                                                                                      0                                                                                                                                                                          0
                         r                                              e
            Vb
                                                                                                                                                                                                      Ri                                 -                                                                Rf               -
      m70
      offset-inverter-a.epic                                                                                                                                     m90
                                                                                                                                                                 offset-inverter-b.latex
                                                                             Bias Voltage Vb
                                                                             0.673V
www.syscompdesign.com
                                                                                                                             34
                                         Ri                                        Rf
                                                                           s                                    s        h
                                                                      Vb
                                                  ... ....                                  ... ....
                                         .... .... ... .... ...                    .... .... ... .... ...
                                                                  -                                         -
                                             .... ...                                  .... ...
                                        ii                                       i
                                                                               HH o                                      6
                                                                               – HH
                                                                                                       H
                                                                                                       H
                                                                                                      
                        vi                                                                                          vo
                                                                                    
                                                                               +
                                                                               
                                                                               
                                                          Vb
                                                                           s                                             h
                                                                                                                         ?
                                        m100
                                        offset-inverter-large.latex
www.syscompdesign.com
Temperature Measurement                                                                                 1.4 The Diode Temperature Sensor
                                                                        Rf
                                              Avinverting      = −
                                                                        Ri
                                                                        ∆Vo
                                                               =      −
                                                                        ∆V
                                                                         i
                                                                           volow − vohigh
                                                                                          
                                                               =      −
                                                                           vihigh − vilow
                                                                                         
                                                                           0.517 − 4.451
                                                               =      −
                                                                           0.742 − 0.515
                                                               =      17.3
Now we can substitute 17.3 for Rf /Ri along with a pair of vi vo values in equation 1.21, and solve for Vb .
                                                   vo    = Vb (1 + 17.3) − 17.3vi
    5 The same result could be obtained using the superposition theorem. Determine first the output due to v with V replaced by its internal
                                                                                                            i        b
resistance (a short circuit). Then determine the output due to Vb with vi shorted. Then add these two outputs together to get the output due to
both Vb and vi .
www.syscompdesign.com
                                                                                                                      36
         Substitute vi = 0.742 and vo = 0.517, in equation 1.22 and solve for Vb to find that Vb = 0.673 volts. This
     coincides with the value shown for Vb on figure 1.20.
         We now know the ratio of Rf /Ri , and we still have to calculate their actual values. Their actual values depend
     on the operational amplifier bias current and is calculation is deferred to section 1.4.8.
A-D Converter
       +5 volts    f             r                  r                                    f V
                                                                                             rh
Rd
                                 r                                r                 r    f V
                                                          Ri            Rf
                                                                                             AD            NAD
                                                                      HH
                                 r                                      HH
                                                    r
               Temperature                                            –
                                               R1                         H
                                                                         
               Sensor
                                                                      + 
                                                                      
                                               R2         Vb
           Gnd     f             r                  r                                    f V
                                                                                             rl
                       m80
                       diode-sensor-circuit.epic
         The bias voltage Vb is created by a voltage divider from the +5 volt supply. However, there is a potential
     problem with this. According to the geometry of the seesaw diagram figure 1.20, any change in the bias voltage
     Vb will have a dramatic effect on the A-D input voltage. More precisely, equation 1.21 indicates that changes in
     Vb will appear at the output of the amplifier magnified by a factor of 18.48.
         However, we found in section 1.2.2 that deriving the reference voltage V RH for the A-D converter from the
     same source as the bias voltage caused the A-D reading to be immune to drift or ripple of the supply voltage. Let
     us see if the same effect applies here.
         The A-D reading R is given by
                                                             VAD
                                                    NAD =          × 255                                        (1.22)
                                                             VRH
     where
www.syscompdesign.com
Temperature Measurement                                                              1.4 The Diode Temperature Sensor
   The output of the op amp is the input to the A-D converter, so we can write V AD for vo in equation 1.21.
                                                                     
                                                       Rf           Rf
                                      VAD = Vb 1 +           − vi                                         (1.23)
                                                       Ri            Ri
    Now, if the bias voltage Vb is derived from a voltage divider connected to the voltage source V RH , then it will
be some fraction K of that voltage. For example, in our case Vb has been calculated to be 0.741 volts, and VRH is
+5 volts, K would be 0.741/5 = 0.148. Then we can write
                                                  Vb = K × VRH                                                 (1.24)
   Substituting K × VRH for Vb and equation 1.23 for VAD in equation 1.22, we have
                                                                      
                                           255           Rf           Rf
                                NAD     =      K VRH 1 +       − vi                                            (1.25)
                                          VRH            Ri           Ri
                                                                
                                                    Rf          Rf
                                        = 255 K 1 +      − vi                                                  (1.26)
                                                    Ri          Ri
    Since VRH and Vb disappear, the A-D reading is independent of the A-D reference voltage and op-amp bias
voltage. However, the A-D reading is still dependent on the stability of the coefficient K. A stable value of K
should not be difficult to achieve since K depends on the ratio of two resistors.
    The actual values of R1 and R2 depends on the operational amplifier parameters and is deferred to section
1.4.8.
www.syscompdesign.com
                                                                                                                           38
        In addition to its ability to operate from a single supply, the LM324 is also attractive for this application
     because it is low cost (under $1 in single quantities), includes 4 op-amps per package, and is readily available
     from a variety of suppliers.
                                                                         ∆Vps
                                                  PSRR(db) = 20 log                                                    (1.27)
                                                                         ∆Vips
where
           ∆Vps is the variation in power supply voltage ∆Vips is the equivalent variation in input voltage due
           to variations in supply voltage
         The question immediately at hand is whether the LM324 op-amp has sufficient power supply rejection to
     ignore ripple on the power supply line. If it does, we can use the +9 volt unregulated power supply voltage as a
     supply for the op-amp. To determine this, we must develop a suitable circuit for analysis of the effect of variations
     in the power supply voltage.
         In this case, the first step, shown in Step 1 of figure 1.23, is to replace all the voltage sources by their internal
     impedances (short circuits).
         In step 2, the circuit is rearranged.
         In step 3, resistors R1 and R2 have no current flowing through them, so they may be removed. R d is bypassed
     by a short circuit, so it may be removed. The power supply circuit is shown explicitly, with its steady component
     Vs and its varying component ∆Vps .
         Step 4 shows the equivalent input voltage vips , due to the variation in supply voltage ∆Vps . The vips voltage
     source could be shown in series with either input: the result is the same. Putting it in series with the inverting
     input is a little easier to analyse.
         This final equivalent circuit is a non-inverting amplifier configuration, so the output voltage due to power
     supply variations is:
                                                                             
                                                                         Rf
                                                     vops = vips 1 +                                                    (1.28)
                                                                          Ri
         Combining equations 1.27 and 1.28 we have
                                                                                 
                                                            ∆Vp s            Rf
                                                  vops =                1+                                             (1.29)
                                                           P SRR             Ri
         Now for an example: If the power supply ripple is 1 volt peak-peak and the power supply rejection ratio is 65
     db (the worst case value given on the LM385 data sheet), calculate the ripple in the op-amp output signal.
         In section 1.4.5 we found that Rf /Ri = 17.3 volts/volt. As well, using equation 1.27 a PSRR of 65 db is
     equivalent to a PSRR ratio of:
www.syscompdesign.com
Temperature Measurement                                                                                                                    1.4 The Diode Temperature Sensor
d q q d
Rd
                                    q                              q             q       d                     q                                  q                q   d
                                                           Ri           Rf                                                                 Ri         Rf
                                    d                                                                          d
          +5 volt
                                                                        H                                                                             H
                                                     q                                                                                 q
          Supply
                                                                        – H                                                                           – H
                                                                           H                                                                             H
                                    d                                                                          d
                                                R1
                    Temperature
                                                                                                                                                        
                                                                                                                                                    
                        Sensor                                          +                            Rd                                               +
                         d          q                q                                   d            d q q                    q q                                     d
                                                R2         Vb                                                             R2               R1
                                                            q                        q       d                                     q                       q   d
                                                  Ri              Rf                                                   Ri                    Rf
             ∆Vsupply
                                                                         H
                                                                         – H
                                                                                                                                                H
                                                                                                                                                – H
                                                                             H                                                                     H
                                                                                                                                                  
             Vsupply                                                                                                                                           Vos
                                                                                                                                              
                                                                         +                                                                      +
                                            q               q               q                d                                     q                           d
                                                                                                                                       Vis
                                        m50                                                                    m50
                                        psrr-equivalent-c.epic                                                 psrr-equivalent-d.epic
                                                                                                
                                                                                   65
                                                                       P SRR = 10 20
                                                                             = 1778 volts/volt
                                                                                             
                                                                            ∆Vp s          Rf
                                                                 vops    =           1+
                                                                           P SRR           Ri
                                                                            1.0
                                                                         =      (1 + 17.3)
                                                                           1778
                                                                         = 10.3 millivolts peak-peak
    Each 19.6 millivolt change in the output is equivalent to 0.5oC, so 10.4 millivolts is equivalent to a ripple in
the reading of about 0.25oC.
    A range of line voltage stability is +/-10%, so we should expect an unregulated 9 volt power supply to vary by
www.syscompdesign.com
                                                                                                                        40
     +/-0.9 volts for a total variation of 1.8 volts. Obviously, this will induce too large a change in the output voltage
     of the op-amp, so the op-amp power supply must be regulated.
         Incidentally, the typical value of PSRR for the LM324 is 100db, a PSRR factor of 10 5 . With this PSRR, the
     output voltage swing due to a power supply variation of 1 volt would be 0.18 mV, which is acceptable. A designer
     who lashed up the circuit and tested it in the lab might well happen to use an LM324 with a typical value of PSRR,
     thereby finding an acceptable output variation due to power supply fluctuations. One has to expect in a production
     run, however, that some LM324’s will be found with a minimum value of PSRR and they will not work correctly.
         There are two important lessons from this:
1. Always use the worst case specification in design. Never, never design with a typical value.
        2. A working model of the circuit is a necessary but not sufficient condition for the circuit to work in quantity.
           A lab prototype is an exercise to test the design theory. If the prototype doesn’t work, the theory is obviously
           faulty. If it does work, the circuit will work in production only if production units can function with a full
           range of component tolerances.
        Finally, we note that the power supply rejection ratio of the 741 op-amp, a conventional design, has a power
     supply rejection ratio of 86 db(minimum). This is an order of magnitude better than the minimum PSRR of the
     LM324. Perhaps a lower PSRR is something one has to accept with single-supply op-amps.
                                                                             e
                                                                             r     r
                                                                                 Vcc
                                                                     m             m
                                                                     r             r
                                       Inverting    e                                  r   eOutput
                                                    e                              r
                                       Input
                                                             r           r
                                 Non-inverting
                                                                 r
                                       Input
                                                                         r   r     r
                                       m100
                                       opamp-internal.epic
                                                                             e
         As a result, a small amount of base current, the bias current will flow out of the input terminals of the op-amp.
     For operational amplifiers with FET inputs, the bias current is in the order of 100 picoamps, which is small enough
     to be neglected in most cases. In the case of the LM324, the bias current is 250nA (maximum), which is large
     enough to have an effect on the operation of the circuit. Fortunately, the effect of bias current can be minimized by
     reducing the size of the resistances through which the bias current flows. However, reducing resistances increases
     the power consumption of the circuit and adds to the heat dissapation, so resistors should be as large as possible.
www.syscompdesign.com
Temperature Measurement                                                                   1.4 The Diode Temperature Sensor
                                                            r                       r   e
                                            Ri                               Rf
                                                                      r
                                                                      m H
                                                                      r
                                                                        – H
                                                                i−
                                                                 b         HH
                                                                      m + 
                                                                                       vob
                                                                      r
                                                                i+
                                                                 b      
                            e r                             r            r              e
                                              R1 k R2
                          Gnd   m70
                                opamp-bias-current.epic
    A op-amp circuit model that incorporates the effect of bias current is shown in figure 1.25. As in figure 1.18,
we have simplified and combined the external circuit to determine the effect of the bias currents on the output
voltage.
    The voltage at the non-inverting input terminal of the op-amp is
                                                          v + = i+
                                                                 b (R1 k R2 )                                  (1.30)
The op amp drives the inverting input terminal to the same voltage. Then the current i i through Ri is
                                                              v−
                                                      ii    =                                                  (1.31)
                                                              Ri
                                                              v+
                                                            =                                                  (1.32)
                                                              Ri
                                                            = i+
                                                               b (R1 k R2 )                                    (1.33)
   If i+                                         +
       b is equal to ii , then if = 0 and vob = v . The practical implications are that
• The value of R1 k R2 should be kept to a minimum to minimize the voltage generated by the bias current.
   Putting numbers to this, let us choose the acceptable output due to the op-amp bias currents at equivalent to
one quarter of a degree centigrate, or about 0.5 mV. For the LM324, the bias current is 250 nA maximum. Then
R1 k R2 should be
                                                                       0.5 × 10−3
                                                  R1 k R 2           =                                         (1.34)
                                                                       250 × 10−9
                                                                     = 2KΩ                                     (1.35)
www.syscompdesign.com
                                                                                                                       42
In section 1.4.5, we determined that the divider ratio should be 0.148. Then
                                                       R2
                                                                = 0.148                                            (1.36)
                                                     R1 + R 2
Solving equations 1.35 and 1.36 for the resistor values, we obtain
                                                       R1   = 13.5KΩ
                                                       R2   = 2.35KΩ
         Since these exact values are not available and since the bias voltage should be adjustable, we use a poten-
     tiometer in the center to adjust the voltage exactly to 0.741 volts, as shown in the figure 1.26.
13KΩ
13.5KΩ 0.849V
        5V                                                                   5V                         500Ω
                                       0.741V
                                  2.35KΩ                                                                    0.691V
                                       0V                                                               2K2Ω
                  m100
                                                                                                            0V
                  final-divider.epic
                                                         v + = i+
                                                                b Req                                              (1.37)
www.syscompdesign.com
Temperature Measurement                                                                            1.4 The Diode Temperature Sensor
ii if
                                                             r                                r   e
                                               Ri                                 Rf
                                                                         r
                                                                         m H
                                                      v−
                                                                         r
                                                                           – H
                                                                 i−
                                                                  b           HH
                                                                         m 
                                                                                                 vo
                                                                         r
                                                                           +
                                                                 i+
                                                                  b        
                                                     v+
                            e r                              r               r                    e
                                                Req
                          Gnd   m70
                                opamp-offset-current.epic
The op-amp forces the inverting and non-inverting inputs to be at the same potential, so
v+ = v− (1.38)
                                                                 if = i i − i −
                                                                              b                                         (1.40)
vo = v + + i f Rf (1.41)
Combining equations 1.37 through 1.41, to solve for v o in terms of the resistances and bias currents, we have
                                                                             Req Rf
                                               vo = i +        +
                                                      b Req + ib                    − i−
                                                                                       b Rf                             (1.42)
                                                                              Ri
   If we make Req equal to Ri as suggested in section 1.4.8, then we can simplify equation 1.42 to
                                                    vo = i +         +    −
                                                           b Req + (ib − ib )Rf                                         (1.43)
   Substituting the offset current ios for i+    −
                                            b − ib , we have
                                                       vo = i +
                                                              b Req + ios Rf                                            (1.44)
www.syscompdesign.com
                                                                                                                       44
         This value for output voltage is the same result we obtained in section 1.4.8 for bias current, augmented by
     the term ios Rf .
         In our application, the bias current is 250 nanoamps maximum and the bias current 50 nanoamps maximum.
     Req and R1 are each is 2KΩ and Rf is 34.96KΩ. Then the worst-case output voltage due to bias and offset
     currents will be
                                 vo     = i+
                                           b Req + ios Rf
                                        = 250 × 10−9 × 2000 + 50 × 10−9 × 34.96 × 103
                                        = 2.25 × 10−3
         This is at the output of the op-amp and input of the A-D converter, where each degree of temperature is a
     change of 38mV. Thus the voltage created by the bias and offset currents is a small percentage of one degree.
         In applications where the operational amplifier must be extremely stable, the drift of offset current with tem-
     perature may be of concern. For the LM324, the offset current drift specification is 10 picoamps/ o C. In our case,
     an operating temperature range for the op-amp of 25oC +/-10oC would result in a change of 0.200 nanoamps. In
     our design, this is small enough to be ignored.
ii if
                                                                  r                 r    e
                                                    Ri                       Rf
                                                           v−
                                                                            H
                                                                            – H
                                                                               HH
                                                                               
                                                                                        vo
                                                                            
                                                                            +
                                                                      vos
                                  e r                             r                      e
                                                     Req
                                Gnd   m70
                                      opamp-offset-voltage.epic
www.syscompdesign.com
Temperature Measurement                                                              1.4 The Diode Temperature Sensor
    Since there is no current into the non-inverting terminal of the op-amp, the voltage at the non-inverting input
v + is equal to the offset voltage vos .
                                                      v + = vos                                                (1.45)
    The op-amp negative feedback action drives the inverting input terminal to the same voltage as the non-
inverting terminal.
v+ = v− (1.46)
   Since, in this analysis, there is no current into the inverting input terminal of the op-amp, the current through
Rf is equal to Rf .
                                                       if = i i                                                (1.48)
    Finally, the output voltage vo is equal to the voltage at the inverting input terminal plus the voltage across the
feedback resistor.
                                                  vo = v − + i f Rf                                            (1.49)
    In words, the output voltage is equal to the offset voltage times the non-inverting gain of the op-amp circuit.
In our case, the non-inverting gain is 18.48 and the offset voltage of the LM324 is +/-9mV, so the output due to
the offset will be
                                                                
                                                             Rf
                                        vo = vos 1 +
                                                             Ri
                                              = +/ − 9 × 10−3 × 18.48
                                              = +/ − 166mV
    At first glance, this is somewhat alarming, since it represents a temperature change of +/-9 o C. However, since
Vbe appears in series with the adjustable bias voltage source Vb , it is possible to compensate for the offset voltage
by adjusting the bias in the opposite direction.
    However, the drift in op-amp offset voltage with temperature is not so easily disposed of. The LM324 offset
voltage drift is specified as 20µvolts per o C. Over a 20o C operating temperature range for the op-amp, the offset
voltage will then change by 400µvolts. Using equation 1.49, we determine that the total drift in voltage at the
input to the A-D converter, will be 7.4mV, equivalent to about half a degree centigrade.
    Sneaking a longing glance at the typical figure for offset voltage drift for the op-amp (7µvolts per o C, a third
of the worst-case value), we decide that this is marginally acceptable.
www.syscompdesign.com
                                                                                                                                                                            46
                                                    ... ...
                                                      . .. ....
                                                                                      . ..
                                                      ...                                 ...
                                                                                                .....
                                                        ..                                              .....
                                                         .                                                      .....
                                                         ...                                                             ...
                                                                                    Vos                     ....... .. .....
                                                                                                                   .......
                                                           ...                                                            ........ ..... ..
                                                                                -                                                .......            .
                                                             ...                                                  -                     ....... .. .....
                                                                                                                                              .......
                                                                                                                                                    ....... ..... ..
                                                               ...                                                                                        ...... ........
                                                                                                                                                    .......
                                                                 ..                                                                           ....... ....
                                                                  .                                               + ................ . ..... .
                                                                  ... +                                             ........
                                                                                                                           . ...
                                                                                                                                       ....
                                                                                                                                              ....
                                                                    ...                                     ....... ..... .
                                                                                                                      .....
                                                                                                            .....
                                                                      ....                          .....
                                                                                             ....
                                                                         ...            .. .
                                                                           . .. ...
                                                                           ...... ...
     Notes
        • Some operational amplifiers include nulling terminals which can be connected to an external pot to reduce
          the offset voltage to zero.
        • Offset voltage appears at the output multiplied by the voltage gain of the amplifier, so it is especially
          significant for high-gain voltage amplifiers.
www.syscompdesign.com
Temperature Measurement                                                                                                                                                1.5 Appendix: Operational Amplifier, Static Errors
                                                                                           r
                                                       Ri                                                                                                        Rf
                                                               . ..                                                                                                        . .
                                          .......      ....................                                                                                        .....................
                                                          .. .                                                                                                        . .
                                            .....                                .......
                                         .. ..
                                                                                                ... ...
                                                                                                  . .. ....
                                                                                                  ...                          . ..
                                                                                                                                    ...
                                                                                                                                          .....
                                                                                                    ...                                         .....
                                                                                                                                                        .....
                                                                                                      ..                                                         ...
                                                                                                       . Vos                                        ....... .. .....
                                                                                                                                                                                                                   r
                                                                                                                                                           .......
                                                                                                       ...                                                        ....... ..... ..
                                                                                                                                                                        .......
                                                                                                         ... -                                            -                   ....... ... .....
                                                                                                                                                                                    .......
                                     Vi                                                                                                                                                    ....... ..... ..
                                                                                                           ...                                                                                    ......     ...          .......
                                                                                                                                                                                            .......      .....
                                                                                                                                                                                     ....... ....
                                                                                                             ....                                         + ............... . ..... .                                       ....
                                                                                                                ...+                                              ......             ....                                 .....
                                                                                                                                                           .......             ...
                                                                                                                  .
                                                                                                                  ...                               ....... ..... ..
                                                                                                                    .                                        .....
                                                                                                                                                    .....
                                                                                                                    ...                       ...
                                                                                                                                                ..                                                                     Vo
                                                                                                                                       ....
                                                                                                                      ...         .. .
                                                                                                                        . ..... ...
                                          ... .                                                                         .....                                                                                             .....
                                             ....                                                                                                                                                                            ....
                                           .......                                                                                                                                                                         ........
                                      . . .                                      . . .                                                                                                                                . . .
                                   .... .... ....                             .... .... ....                                                                                                                       .... .... ....
www.syscompdesign.com
                                                                                                                       48
                                                                            r
                                                                            m H
                                                                   -
                                                                            r
                                                                              – H
                                                                       i−
                                                                        b        HH
                                                                            m 
                                                                                  
                                                                            r
                                                                              +
                                                                       i+
                                                                        b     
                                                                  +
                                         m70
                                         opamp-ibias-equivalent.epic
         The second term in the equation is the bias-current induced error term, proportional to bias current, magnitude
     of the input resistances, and the voltage gain.
         As in the case of bias current, the second term in the equation is the offset-current induced error term, propor-
     tional to offset current, magnitude of the input resistances, and the voltage gain.
www.syscompdesign.com
Temperature Measurement                                                        1.5 Appendix: Operational Amplifier, Static Errors
                                 b                              r                        r    b
                                             Ri                               Rf
                                                                         r
                                                                         m H
                                                                         r
                                                                           – H
                                Vi
                                                                    i−
                                                                     b        HH
                                                                         m + 
                                                                                            Vo
                                                                         r
                                                                    i+
                                                                     b     
                                 b                              r         r                   b
                                 m70
                                 opamp-ibias-application.epic
where PSR is the rejection ratio in volts/volt, PSRR is the ratio in decibels.
                                                         Vs
                                           Vps       =                                                               (1.55)
                                                       P SR              
                                                          Rf           Rf
                                             Vo      = Vi    + Vps 1 +                                               (1.56)
                                                          Ri           Ri
    The second term in the equation is the power supply induced error term, proportional power supply ripple,
inversely proportional to the power supply rejection, and proportional to the voltage gain.
www.syscompdesign.com
                                                                                           50
                                                           r
                                                           m H
                                               -
                                                             – H
                                                   ios
                                                                HH
                                                                
                                                             
                                                             +
                                             m70
                                             opamp-ios-equivalent.epic
                              b                            r                      r    b
                                          Ri                                 Rf
                                                                     r
                                                                     m H
                                                                       – H
                            Vi
                                                               ios
                                                                          HH
                                                                          
                                                                                      Vo
                                                                       
                                                                       +
                              b                            r             r             b
                              m70
                              opamp-ios-application.epic
www.syscompdesign.com
Temperature Measurement                                       1.5 Appendix: Operational Amplifier, Static Errors
                                                                     mVs
                                   Vps
                                             HH
                               -             - HH                      Vcc
                                               
                                             
                                             +
                               +
                     b                   r
                          Ri                            Rf
                                                                             mVs
                                                 Vps
                                                       HH
                                                         HH   r b
                                             -         -
                   Vi
                                                         
                                                                              Vcc
                                                       
                                                       +
                                             +
Vo
                     b                                           b
                                                                 r
www.syscompdesign.com
                                                                                                                           52
A-D Reading
         If we are only constructing one unit, we could generate a lookup table in which the index into the table is the
     A-D reading and the display value is the table entry. A-D readings can have 256 different values, so this fixes the
     length of the table. To save work, the table may be generated using a BASIC program on a P/C, and then edited
     into the assembly language source code.
         If we are constructing a small number of these units, the analogue section would be adjusted, using poten-
     tiometers, so that each analogue interface has the same voltage gain and offset. Then the same lookup table could
     be used for each unit.
        • Thermometer units are delivered by conveyer line to the calibration station. At the station, a calibration
          computer plugs into the 68HC11 microprocessor. The computer touches the diode temperature sensor with
          a hot probe of known temperature and notes the HC11 A-D reading. It then repeats the process with a cold
          probe of known temperature.
        • The calibration computer now knows two points on the function relating A-D reading and sensor tempera-
          ture. The calibration function is linear, so the calibration computer can calculate the slope M and offset B
          constants of the calibration function, figure 1.37.
www.syscompdesign.com
Temperature Measurement                                          1.5 Appendix: Operational Amplifier, Static Errors
   • Finally, the calibration computer writes the M and B constants into the EEPROM of the 68HC11 micro-
     processor. The thermometer unit is calibrated.
                                              Td = M × NAD + B                                              (1.57)
    where Td is the displayed temperature reading, M and B are the calibration constants, and N AD is the A-D
reading.
    This could be accomplished using integer arithmetic: the equation is not particularly complex and the range
of numbers is limited so overflow and underflow are not likely to be a problem. However, in subsequent sections,
we will make use of the temperature value to calculate dew point and humidex readings, and floating point
calculations are much easier to use. To be consistent, then, it probably makes sense to use floating point routines
to solve this equation.
www.syscompdesign.com
                                                                                                                        54
Component Values
                                        Sensor                                Displayed
                                        Temperature                           Temperature
                                        Ts                                    Td
          In the case of this particular circuit, the software calibration process will take care of minor component vari-
     ations. A more serious concern is that the amplifier may saturate or cutoff (the output may approach too closely
     either Vcc or ground), in which case it will cease to function correctly. If possible, we’d prefer to use 5% resistors
     because of their lower cost, compared to 1% resistors, so an important question is whether the circuit will function
     correctly with 5% resistors.
          There are 4 resistors in the circuit. The amplifier may saturate or cutoff at either high or low temperature.
     Thus, even in the case of this simple circuit, ignoring possible variations in the sensor temperature coefficient and
     offsets in the operational amplifier, there are 8 possible situations to examine. Fortunately, the spreadsheet makes
     it simple.
www.syscompdesign.com
Temperature Measurement                                                                   1.5 Appendix: Operational Amplifier, Static Errors
                                                                  Sensor Temperature
                                                                                 Ts
                                                                                               .... ....
                                                                                                   .
                           Reference Sensor Voltage       ....
                                                              .
                                                          ....
                                     Vbe25 = 0.600                                                                                     Temperature
                                                                     Vbe = Vbe25 + Vbe T C · (Ts − 25)
                                                                                                                                       Sensor
                           Sensor Temperature Coeff       ....
                                                           ....
                             Vbe T C = −2.2 mv/o C
                                          ....
                                              .
                                    R1    ....
                          Bias                             R2
                                                                                                                     Sensor Voltage
                                                  Vb =   R1 +R2        · Vcc                                         Vi = Vbe
                       Voltage            ....
                                    R2    ....
                                                      Bias Voltage
                                                                Vb
                                                                        .... ...                              .... ...
                                                                            .                                     .
                                                             ....
                                                                 .
                                                   Rf        ....                                                                     Amplifier
                                                                                               Rf                        Rf
                                                             ....
                                                                     VAD = Vb (1 +             Ri          ) − Vi        Ri
                                                                 .
                                                   Ri        ....
                                                                                   .... ....
                                                                                       .
                                                             ....
                                                                 .                  VAD                                               A/D
                                         VRU = Vcc           ....      NAD =                       · 256
                                                                                    VRU                                               Converter
                                                                                   .... ....
                                                                                       .
                                                             ....
                                                                .
                                                   M         ...                                                                      Software
                                                             ....
                                                                      TD = M · NAD + B
                                                                 .
                                                    B        ....
    The first step in using the spreadsheet is to enter explanatory headings (the left column in table 1.1). Next,
give the cells descriptive names, if possible. (Unfortunately, as in the case of the Microsoft Excel spreadsheet,
the exact name may have to be some variant of what we have been using. For example, the name R1 is illegal for
some reason, and we have to use something like R_1 instead. However, this is better than the generic name for a
cell, like B13.)
    Next, the enter the model formulae into the spreadsheet as shown in right column of table 1.1.
    It may be useful to set the format specification for individual cells on the spreadsheet. For example, if the
temperature shown on the LCD with one decimal point, the corresponding cell (last row, second column, table
1.1) should be set to the same number format.
    Once the formulae are in place, the first tests should be used to determine that the model is producing credible
results. (Our first attempt uncovered an arithmetic error in the original design. Whoops.)
www.syscompdesign.com
                                                                                                                      56
                 Temperature Sensor
                 Sensor Temperature Ts , Degrees C                60
                 Sensor Reference Temperature Tref , Degree       25
                 Vbe at 25 Degrees, Vbe25 , volts                 0.595
                 Sensor Temperature Coef, VbeT C , mv/Deg C       -2.265
                 Sensor Voltage Vs , Volts                        +Vbe25 + (Ts − Tref ) × (VbeT C /1000)
                 Bias Supply
                 R1, Ohms                                         13000
                 R2, Ohms                                         2200
                 Bias Voltage Vb                                  +Vcc × (R2/(R1 + R2 ))
                 Amplifier
                 Input Resistor Ri, Ohms                          6800
                 Feedback Resistor Rf, Ohms                       120000
                 Amplifier Output Voltage Vo , Volts              +Vb × (1 + (Rf /Ri)) − Vs × (Rf /Ri)
                 A/D Conversion
                 Output Count, NAD                                IN T ((Vo /Vcc ) × 256)
                 Software
                 Function slope constant M                        0.5
                 Function offset constant B                       -52
                 Displayed Temperature Td                         M × NAD + B
         When the spreadsheet is finally debugged, the model can be used to generate some useful results. A typical
     calculation run is shown in table 1.2.
         This table has been modified so that the resistors R1,R2,Ri and Rf are at their extreme tolerance values (±1%)
     and the temperature is at its maximum specification, 60o C. The software constants M and B have been adjusted
     so that the system is calibrated: the Displayed Temperature tracks the Sensor Temperature. Most importantly,
     the model shows that the amplifier output voltage is 4.705 volts under these conditions, within its allowable limit.
Results
     Out of this simulation, we found that 1% resistors and an LMC660 op amp will work in the circuit. On the other
     hand, 5% resistors would not work: the amplifier saturated and cut off under high and low temperature extremes.
     We also learned that the LM358 bipolar single supply amplifier will not work correctly in the circuit: its output
www.syscompdesign.com
Temperature Measurement                                          1.5 Appendix: Operational Amplifier, Static Errors
                      Temperature Sensor
                      Sensor Temperature Ts , Degrees C               60
                      Sensor Reference Temperature Tref , Degree      25
                      Vbe at 25 Degrees, Vbe25 , volts                0.595
                      Sensor Temperature Coef, VbeT C , mv/Deg C      -2.265
                      Sensor Voltage Vs , Volts                       0.516
                      Bias Supply
                      R1, Ohms (-1% tolerance)                        12870
                      R2, Ohms (+1% tolerance)                        2222
                      Bias Voltage Vb                                 0.736
                      Amplifier
                      Input Resistor Ri, Ohms (-1%)                   6732
                      Feedback Resistor Rf, Ohms (+1%)                121200
                      Amplifier Output Voltage Vo , Volts             4.705
                      A/D Conversion
                      Output Count, NAD                               240
                      Software
                      Function slope constant M                       0.48
                      Function offset constant B                      -55
                      Displayed Temperature Td                        60
www.syscompdesign.com
                                                                                                                         58
         The result is a temperature sensor which is less likely to require calibration, requires less or simpler external
     circuitry, and is more accurate over its operating range. The cost of the integrated circuit temperature sensor is
     in the order of $3.50 vs a transistor temperature sensor at $0.35, approximately an order of magnitude. Thus,
     for all but the most cost-sensitive applications, the integrated circuit temperature sensor is an attractive choice for
     measuring ambient temperature.
        From the graph of Calibrated Error vs Temperature, it would appear that the error increases in a linear fashion
     over the temperature range. Thus, it would appear that an adjustment of scaling factor in the external circuit
     would improve the accuracy to that of the sensor non-linearity. As well, the accuracy of the sensor improves
     around normal ambient temperatures.
        The basic application circuit for this device is shown in figure 1.40(a). A potentiometer may be added as
     shown in figure 1.40(b) to calibrate the device at 25o C.
        At 25o C, the sensor will sustain a voltage of
          To bias the device the recommended current of 1mA from a power supply of +5 volts, the series resistor should
     be
www.syscompdesign.com
Temperature Measurement                                                           1.6 Integrated Circuit Temperature Sensors
                                                                                        R1
                                                                                    s         s                     h
                       R1
                  s                    h
                                                                                                  R2
                                                                                                                    Output
                                                                 LM335AZ                          10KΩ              10mV/o K
                                       Output
                       LM335AZ                                                      s         s                     h
                  s                    h
                                       10mV/o K
     m100                                                   m100
     icts-basic.epic                                        icts-calibrate.epic           Calibrate for 2.982mV at 25o C
(a) Basic Temperature Sensor (b) Sensor With 25o C Calibration Pot
                                                         Vcc − Vsensor
                                                  R1   =
                                                             Isensor
                                                          5 − 2.98
                                                       =
                                                         1 × 10−3
                                                       = 2.02KΩ
www.syscompdesign.com
                                                                                                                   60
                                                   r
                                                                   
                                          Ic
                                                  
            Ic
                                                                     
                                                                      r            r
                                                  r                   r            r         r
                                                       ∆Vbe
                                                                                                         0
                                                                                                       Vbe
                                                  Q1                     Q2        Q3        Q4
                                                  r                      r         r
                                m100
                                icts-diode.epic
                                                                             Ic0       Ic0       Ic0
The voltage difference ∆Vbe between the two base-emitter voltages is then
                                                                                       
                                                           kT        Ic     kT         Ic
                                            ∆Vbe       =        ln        −      ln                            (1.61)
                                                            q        Is       q       3Is
                                                                              
                                                           kT        Ic    Ic
                                                       =        ln      −                                      (1.62)
                                                            q        Is   3Is
                                                                              
                                                           kT        Ic   3Is
                                                       =        ln      ×                                      (1.63)
                                                            q        Is    Ic
                                                           kT
                                                       =        ln 3                                           (1.64)
                                                            q
        We have the happy event that the collector current Ic and the saturation current Is cancel out of the equation
     and the value of ∆Vb e is solely dependent on the absolute temperature.
        In practice, ten transistors might be paralleled, in which case at 25 o C
                                                         kT
                                               ∆Vbe    =     ln 10                                             (1.65)
                                                          q
                                                         1.38 × 10−23 × 298
                                                       =                    × ln 10                            (1.66)
                                                             1.6 × 10−19
                                                       = 58.2 mV                                               (1.67)
        Expressed as a coefficient, this is
                                                                  58.2 × 10−3 V
                                                       ∆Vbe     =                                              (1.68)
                                                                      293oK
                                                                ' 0.2 mV/o C                                   (1.69)
www.syscompdesign.com
Temperature Measurement                                                                 1.6 Integrated Circuit Temperature Sensors
Ic
                                               Ic
                                                3
                                                                                    0
                                                                                  Vbe          Vbe
                                               m80
                                               vbe-curves.epic
+ r r
                          r
                                                       HH
                                                                 r                         f
                                                         HH
                                               r
                                                       -
                                                           H
                                                          
                                                       + 
                    Ic                   Ic0           
                                                                 r
                                                             26R
                                               r r r                       ∆Vbe           Vo = 50∆Vbe
                                                                       r
                                                                   R
                                               r r r
                                                           ···
                          r         r          r                       r                   f
                                                                 23R
                   m80
                   icts-amplifier.epic
www.syscompdesign.com
                                                                                                                      62
         The voltage ∆Vbe is developed between the base of a single transistor on one side and a collection of 10
     parallel transistors on the other side.
         The collector resistors Rc translate the two collector currents into voltages, which are then compared in the
     operational amplifier. If they are not equal, the output of the op-amp increases or decreases the voltage across the
     R-49R resistor string. This change in base-emitter voltage of the transistors changes the collector currents in such
     a direction as to minimize the original difference in current.
         When the system settles down, the voltage difference at the input terminals to the op amp must be close to
     zero, and the value of ∆Vbe must be such as to make the two collector currents equal. Because of the divider
     action of the resistor string, the output voltage must be 50 × ∆Vbe .
                                                                                               Ratiometric
                                                                                               A-D Converter
     +5 volts        f               r                   r                                  f V
                                                                                                rh
                                                    R1
                                                   30K
                  Rsensor
                     2K2                                        Ri          Rf
                                     r                                 r               r    f V
                                                                30K6        120K
                                                                                                AD             NAD
                                                                           HH +5V
                                                                           – HH
                                         LM335AZ                               H
            Rcal                                   R3                      + 
           10KΩ                                    5K                       LM358
R2
                     fr              r                   r                     r            f V
                                                   36K
         Gnd                                                                                    rl
www.syscompdesign.com
Temperature Measurement                                                                        1.7 Temperature-Current Transducer
    The calculation of the components values of this circuit follows the development of section 1.4.5 and is left as
an exercise.
                                         s
                                                                  
                                                                  
                                  Ic                        Ic
s s
                                         s
                                                                          Q2              Q3       Q4
                                         s
                                         Q1                           s               s
                                                                R              ∆Vbe
                                         s
                         m100
                         current-temperature-concept.epic
    Transistor Q1 and transistor group Q2, Q3 and Q4 are operated at the same collector currents and so have
different base-emitter voltages. The difference between these two voltages now appears across resistor R. Since
this voltage difference is proportional to temperature, the current in R must also be proportional to temperature.
Voila, temperature to current transducer.
    A simple method of ensuring that the two collector currents are equal is shown in figure 1.46. The current
mirror Q5, Q6 ensures that I1 is equal to I2 .
    To develop an equation for the output current, consider the voltage loop comprised of Q1, Q2 and R. From
equation 1.64, the voltage VR across the resistor R will be
                                                                    kT
                                                  ∆Vbe      =          ln N                                           (1.70)
                                                                     q
   where N is the number of parallel connected transistors, 3 in this case.
www.syscompdesign.com
                                                                                                                     64
                                              f
                                              r
                                                  r
                                                        r
                        Q5                                  Q6
                                                                                                    f
                   I1                                            I2
                                                        r               r
                                                                                                    
                             r                                                                      
                                                            Q2              Q3       Q4
                             r                                                                      f
                                                                                                         Io ∝ T
                                                        r               r
                             Q1
                                              r
                                                  R              ∆Vbe
                                              f
                                                  Io ∝ T
            m80
            current-temperature-sensor.epic
+vR = I2 R (1.71)
                                                                            Io   = 2 × I2                         (1.73)
                                                                                    2 kT
                                                                                 =        ln N                    (1.74)
                                                                                   R q
         From equation 1.74, we can see that the output current Io is proportional to absolute temperature T and that
     the current scale factor may be adjusted by adjusting resistor R.
www.syscompdesign.com
Temperature Measurement                                                             1.7 Temperature-Current Transducer
                                                                    Io ∝ T
                                                                f
                                                            
                                                                       f
                                                LM 134
                                                            
                                                                f
                                                                             Rset
                                                                s
                                      m80
                                      lm134-circuit.epic
                                                           (227µV /o K)(T )
                                                Iset =                                                     (1.75)
                                                                Rset
    where T is the temperature in o K.
    A practical range of Iset is between 100 µA and 1mA. If Rset has a suitably low temperature coefficient (less
than 20 ppm), the data sheet indicates that the temperature will be within 1% of its correct value.
    The temperature dependent current may be converted to a voltage with a series resistance, as shown in figure
1.48.
                                                                f
                                                            
                                                                       f
                                                LM 134
                                                            
                                                                f            Rset
R1 Vo ∝ T
                                      m80
                                      lm134-voltage.epic
www.syscompdesign.com
                                                                                                                                66
V+
                                                                            r           r
                                                                                                 $R {pu}$
                                                                                                 22K
                                                                                8
                                            r            r         1                         r        f   fout ∝ T emperature
                                                                   6                3
                                                                                                          10Hz/o K
                                                Cf                     LM331                Rt
                                                100nF              7                        6.81K ± %
                                                         r                              r
                    
                                                                   2
                                                                                    5
            LM234
                    
           Rset
                                                                        4
                                 2.32K
                                                         r
                                 ±1%                         12K
                      r
                                                                                            Ct
                                                    Rs                                      10nF
                                                               5K
                                            r            r                  r           r             f
                      m80
                      hrts-schematic.epic
www.syscompdesign.com
Temperature Measurement                                                                     1.8 A High Resolution Temperature Sensor
The output of the circuit is 10Hz/o K, so the output at various temperatures would be as shown in figure 1.50.
                                           r2 e             m
                                                                +
                                                                        Iref       LM131
                                                    e       e
                                                        e           e
                    Rs                        7
                              r
          Set Reference           12K
  Vref          Current
5K +
                              r
                                                                                                          e           r
                                                                                                                          22K
                                                    e
                                                            Comparator
                                              1             HH
                                                                H
                                           r6 e
                                                                                                              3
                                                              A1 H
                                                            +
                 Ii                                         –
                                                                            1.1Rt Ct
                                                            
                          m                                                                           e
           LM234                                                               Monostable                             +             f ∝ Ii
Cf Rt
                                                                                                                  r
         2.32K                    100nF                                                           5                       6K8   Set
         ±1%                                                                                                                    Pulse
                          r
                                                                                                                          Ct    Width
                                                                                                                          10n
                                    m70
                                    tf-block.epic
   The reference current is summed directly in capacitor Cf , the filter capacitor. The temperature sensor dis-
charges current out of the filter capacitor at a rate proportional to the absolute temperature, causing V f to ramp
downward.
   The comparator compares the voltage on Cf with the reference voltage, 1.9 volts. When the voltage on C f
drops below Vref , the comparator changes state, triggering the monostable. The monostable pulse appears at the
www.syscompdesign.com
                                                                                                                     68
     output on pin 3 and causes the current switch to divert current into the filter capacitor. This causes the voltage
     on Cf to ramp upwards. Feedback action ensures that the charge removed by the temperature sensor is exactly
     balanced by the charge added during the monostable pulse interval.
         The transfer function of the current-frequency converter may be shown to be:
                                               fo    Rs     1
                                                  =               Hz/amp                                         (1.76)
                                               ii   Vref 1.1Rt Ct
        The output current of the LM134 temperature sensor is
                                                               Kt Tk
                                                        it =                                                     (1.77)
                                                               Rset
        where
           Kt = 227 µvolts
           Tk is the temperature in Kelvin
           Rset is as shown in figure 1.51.
         Substituting equation it from equation 1.77 for ii in equation 1.76, we have the transfer function of the high
     resolution temperature sensor, in Hz/Kelvin.
                                                                     
                                         fo       Kt R s         1
                                             =                           Hz/Kelvin                               (1.78)
                                         Tk       Rset Vref 1.1Rt Ct
         As a check on the operation of the temperature-frequency converter, we will plug the known quantities, includ-
     ing a temperature of 25oC and the corresponding output frequency (10 × (273 + 25) = 2980 Hz), into equation
     1.78. Solving for the value of the adjustable resistor Rs should yield a value between 12 and 17KΩ if the circuit
     can be adjusted properly.
                                              227 × 10−6 Rs
                                                                                    
                                                                        1
                                  2980 =                                               293                       (1.79)
                                                 2320     1.9 1.1 × 6810 × 101 0−9
        Solving for Rs , we obtain
                                                      Rs = 14.6KΩ
         which is within the range of adjustment of Rs .
         For this value of Rs , then, the transfer function of the temperature-frequency converter will be 10 Hz/Kelvin,
     as promised in the original application note.
     Design Concept
     Deriving the transfer function for this application circuit is a lot of work. Why bother when the value is given on
     the application note?
         Two important reasons:
         First, it sometimes happens that the application circuit simply won’t work as advertized, or was designed for a
     particular set of circumstances that don’t apply to your situation. By working through the analysis, you can check
     that the original assumptions of the designer were correct and will transfer to your design problem.
         An excellent way to get burned is to use someone else’s circuit without careful checking that it will work.
         Second, the transfer function specifies the interdependencies of the various components in the circuit. In this
     particular example, the value of the capacitor Cf is not important to the value of the transfer function. On the
www.syscompdesign.com
Temperature Measurement                                                                     1.8 A High Resolution Temperature Sensor
other hand, the value of the timing capacitor Ct does show up in the transfer function, so it is critical that it be a
stable capacitor near the value specified. A good circuit designer understands which components are important,
and which can be taken for granted or substituted.
    In the next section we’ll have a look at how these frequencies would be measured by a microprocessor.
    • The temperature sensor and voltage-frequency converter of figure 1.49 are used to generate a pulse wave-
      form of frequency 10 times the temperature in degrees Kelvin.
    • In the processor, a 1 second real-time-interrupt (RTI) is used to establish the frequency counter timebase.
      At the beginning of a measurement cycle, the RTI service routine clears the 8 bit pulse accumulator and the
      byte used to count accumulator overflows.
    • The pulse accumulator counts the incoming pulses. Every 256 pulses, the pulse accumulator generates an
      accumulator overflow interrupt. The service routine for this interrupt simply increments the overflow count
      byte.
    • At the next 1 second real-time interrupt, the RTI service concatenates the current pulse accumulator count
      and the overflow count into a 16 bit count of pulses during the 1 second RTI interval.
    • A display routine subtracts a count of 2730 and displays the result as the temperature in tenths of a degree
      centigrade.
6 In practice, the real time interrupt would more likely be in the range of 1/60 second. A one-second interrupt would then be derived from
the fast interrupt service routine. Every 60 interrupts, the RTI would determine the number of accumulated pulses. The real-time interrupt on
the ubiquitous P/C has is at the bizarre value of 1/18.206 seconds, which complicates accurate timekeeping.
www.syscompdesign.com
                                                                                                                        70
                                                                            1
                                                                    to ∝   Tk
                                                                                      1MHz
                                                                                      
                                                                                      Clock
                                                                                      
                                       i ∝ Tk                                                         16 Bit Counter
                                                          N1                    N1
              f                                                                       s
                         Temperature            Voltage-Frequency
                         Sensor                 Converter                                 Load
       Tk                                                                                             16 Bit Register
                         LM134                  LM131
                                                                                          f
       m80
       hrts-block.epic
                                                                                     Interrupt
                                                                                     Flag        Microprocessor
         The temperature transducer produces a current proportional to absolute temperature. The voltage-frequency
     converter generates a pulse train at frequency proportional to temperature or, what is saying the same thing, at
     a period inversely proportional to temperature. Each time a positive edge occurs in the pulse train, the micro-
     processor transfers the 16 bit count value to a 16 bit register and generates a processor interrupt. The processor
     determines the elapsed time between the two edges (the period of the pulse train) by subtracting two successive
     count values N1 and N2.
         Our task is to determine a suitable value for the V-F components by relating the temperature to the micropro-
www.syscompdesign.com
Temperature Measurement                                                         1.8 A High Resolution Temperature Sensor
cessor count value. We previously determined that the transfer function of temperature-frequency was given by
equation 1.79. Then the equation for period is simply the inverse of this,
                                                              
                                           Rset Vref              1
                                    to =              1.1Rt Ct        seconds                           (1.80)
                                             Kt R s               Tk
    The value of the count Nc accumulated in this interval to is equal to the product of the counter master clock
frequency fc times the interval.
                                                    Nc = f c t o                                             (1.81)
   Substituting for to in equation 1.80 and solving for the count value, we have
                                                                     
                                                  Rset Vref              1
                                       Nc = f c              1.1Rt Ct                                        (1.82)
                                                   Kt R s               Tk
   This equation effectively consists of a constant term times the reciprocal of absolute temperature:
                                                                   1
                                             Nc = ( a constant )                                             (1.83)
                                                                  Tk
    This tells us that the relationship between absolute temperature and measured interval will be in the form of a
hyperbola, figure 1.53.
    As a result, the number of counts per degree of temperature change is variable and depends on the temperature.
This is not welcome news, for it means that the microprocessor will need to do a calculation (specifically, a
division operation) to relate the measured count back to the value of the temperature.
    The graph also indicates that we must ensure that the resolution is sufficient, that is, that the slope of the
count-temperature curve is never less than 10 counts per degree. To do this, we must determine an expression for
the slope of the count-temperature curve and relate that to the component values of the v-f converter.
    The slope of the count-temperature curve is found by differentiating equation 1.80. (To minimize writing, all
the constant terms have been bundled into one constant Kvf ).
                                                                           
                                           dNc           d             1
                                                  =              Kvf                                         (1.84)
                                           dT           dT             Tk
                                                             −1
                                                  = Kvf                                                      (1.85)
                                                             Tk2
    From figure 1.53, the minimum value of the slope occurs at the maximum temperature, 50 o C, or 323o K. The
minus sign can be thrown away, since it is the absolute value of the slope we are interested in. (Whether the count
increases or decreases with increasing temperature is not important, since the microprocessor software can deal
equally well with either case.) Putting Tk equal to 323, and dN/dT equal to 10, we can solve for the value of
Kvf :
                                                              −1
                                                 10 = Kvf
                                                             3232
   from which
                                               Kvf = 1.043 × 106
   Now we can expand Kvf back into the full equation and solve for the unknown quantities:
www.syscompdesign.com
                                                                                                                      72
                            Measured
                             Interval
                                   0
                                        0                                             Temperature
                                            m70
                                            count-temperature.epic
                                                        Rset Vref
                                                   fc             1.1Rt Ct = 1.043 × 106                          (1.86)
                                                        KT R s
         The values of the voltage-frequency converter reference voltage V ref and the current sensor constant KT are
     fixed and cannot be changed. A review of the data sheet and applications information for the v-f converter reveals
     that the reference current is never changed significantly from its value of 135 µamps, so the resistor R s that sets
     the reference current should probably be left at 14.1KΩ. For similar reasons, the temperature sensor resistor R set
     should not be changed significantly.
         The microprocessor count frequency fc can be set to 1MHz, 250KHz, 125KHz or 62.5KHz. The best resolu-
     tion for a given pulse period will occur at the higher count frequency, or in other words, a higher count frequency
     will allow a shorter measurement period for the same resolution. A shorter period is desireable because a larger
     period requires larger timing resistor and capacitor, and components tend to become less accurate and stable at
     larger values. The best choice, then, is the 1MHz count frequency.
        We are left with Rt and Ct , which determine the period of the voltage-frequency converter charge pulse T p .
        In summary, the known quantities are:
www.syscompdesign.com
Temperature Measurement                                                    1.8 A High Resolution Temperature Sensor
                                               fc         1 × 106 V
                                               Rset       2320 Ω
                                               KT         227 µvolts/o K
                                               Vref       1.9 volts
                                               Rs         14.1KΩ
     Plugging these quantities into equation 1.86, we have
                                             2320    1.9
                                1 × 106           −6
                                                         1.1Rt Ct = 1.043 × 106                             (1.87)
                                          227 × 10 14100
     from which
                                                        757 × 106
                                               Rt     =                                                     (1.89)
                                                        10 × 10− 9
                                                      = 7.57KΩ                                              (1.90)
www.syscompdesign.com
                                                                                         74
                     4800
                                                             Count vs Temperature
                     4600
4400
                     4200
             Count
                     4000
3800
3600
                     3400
                         -30   -20     -10      0      10      20        30   40    50
                                             Temperature, Centigrade
www.syscompdesign.com
Temperature Measurement                                                              1.9 Temperature Measurement Summary
1.9.1 Thermistor
It is hard to imagine a simpler measurement circuit than that of the thermistor temperature sensor circuit shown
for a 10KΩ thermistor in figure 1.55. The sensitivity of the thermistor to temperature makes it possible to connect
the thermistor directly to the A-D converter without further amplification.
                                                   s             d      Vrh
                                                                                  Ratiometric
                                                       R1                         A-D
                                                 s               d
                                                       20KΩ                       Converter
                        Vb                                              In
                                                  
                      +5V                        Rt     Vt
                                                   s 10KΩ d             Vrl
                           m100
                           therm-final.epic
    The non-linearity of the thermistor makes it necessary to use a lookup table or floating-point mathematical
calculation to relate the A-D converter output back to the temperature of the thermistor.
    A useful equation for the behaviour of the thermistor is equation 1.3.
                                                                             
                                                                     1   1
                                                             β         −
                                                RT = R25 e           T   To                                   (1.92)
This equation is easier to use but not accurate as accurate as the Steinhart-Hart equation, 1.4:
                                              1
                                                = a + b ln RT + c (ln RT )3                                   (1.93)
                                              T
    The Steinhart-Hart equation is significantly more accurate than the standard thermistor equation at tempera-
tures below zero o C.
    For an inexpensive thermistor, the ultimate accuracy of the measuring circuit was only ±3 o C, not all that
accurate.
www.syscompdesign.com
                                                                                                                         76
         In general, thermistors become progressively more inaccurate at low temperatures and are best used at tem-
     peratures above 0o C. More accurate and linearized thermistors are available but at greater cost than other sensors
     of comparable accuracy.
                                                                                        Ratiometric
                                                                                        A-D Converter
       +5 volts   f             r                r                                    f V
                                                                                          rh
                                            R1
                                           13K
                       Rd
                      44K                              Ri            Rf
                                r                              r                 r    f V
                                                       6K85          120K
                                                                                          AD                  NAD
                                                                   HH +5V
                                                                   –  HH
                                                                         H
                                                                         
                                           R3                          
                                                                       LM358
                                r
                                                                   +
              Temperature                  500                      
              Sensor
              MTS102
                                            R2
                  f             r                r                      r             f V
                                           2K2
           Gnd                                                                            rl
                      m80
                      diode-sensor-final.epic
         Although any transistor can be used as a sensor, a transistor characterized specifically for temperature sensing
     (the MTS102) is available at low cost from Motorola Semiconductor.
         Because of the large gain required of this circuit, the behaviour of the op-amp is a particular concern. In
     particular, the offset voltage, offset current, bias current and (if operated from an unregulated supply) the power
     supply rejection ratio must all be checked to ensure the amplifier drift is within acceptable limits.
         For this circuit, the accuracy should be within 1 degree of the correct temperature over a range of -30 to +50 o C.
     The resolution, limited by the 8 bit A-D converter, is approximately 0.5 o C.
         In general, the base-emitter voltage at some temperature may be predicted using equation 1.13 and a knowl-
     edge of the base-emitter voltage at a reference temperature. The slight non-linearity of the base-emitter voltage
     characteristic with temperature may be compensated by a squaring circuit, in which case it is possible to obtain
     an accuracy of ±0.1oC.
www.syscompdesign.com
Temperature Measurement                                                                                                                                                                                    1.9 Temperature Measurement Summary
  +5 volts
                    .......
                ..... ....
                    ........
                                                              r                             r                                                                                                                ......
                                                                                                                                                                                                        ..... ....
                                                                                                                                                                                                            ........   Vrh
                                                                                             ..
                                                                                     ...........
                                                                                R1              .....
                                                                                     ............
                                                                                                .....
                                                             ..
                                                      ..........
                                                                               30K            ....
               Rsensor                                            .....
                                                       ............                                                                                                                                                                    ..... ...
                                                                  ....                                                                                                                                                                         .
                   2K2                                          .....                                        Ri                                  Rf                                                                                            ...
                                                              r                                                                      r                                                              r
                                                                                                                                                                                                                                                 ...
                                                                                                             30K6                                120K                                                                                              .
                                                                                                                                                                                                                                                   ...
                                                                                                                    .. ..                               .. ..                                               .......                                  .             ....
                                                                                                            ......................              ......................                                  ..... .....                                                   ....
                                                                                                                .. ..                               .. ..                                                   ......     VAD                           ...
                                                                                                                                                                                                                                                       .
                                                                                                                                                                                                                                                       ...
                                                                                                                                                                                                                                                                         ....
                                                                                                                                                                                                                                                                         .
                                                                                                                                                                                                                                                                      ....      NAD
                                                                                                                                                                                                                                                         .         ....
                                                                                                                                         .......                                                                                                         ...
                                                                                                                                               .......
                                                                                                                                                      .......
                                                                                                                                                            .......
                                                                                                                                                                    +5V                                                                                    .
                                                                                                                                                                                                                                                           ...
                                                                                                                                                                  ........                                                                                   .
                                                                                                                                               –                         .......                                                                             ...
                                                                                                                                                                               .......
                                                                                                                                                                                      .......                                                                  .
                                                                     LM335AZ                                                                                                                 ...
                                                                                                                                                                                           ......                                      . .....
                                                                                             .
                                                                                     .......... ....                                                                               ........
                                   ..                                                                                                                                        . ....
                                                                                                                                                                              ..
         Rcal              ...........                                         R3               .........                                      + ................
                                       .....       .....                             ............ ....                                                 .......
                                                                                                                                                              .
                           ............ ....           .. ... ....                               .....                                         ........                        LM358
        10KΩ                          ........            .. ... ...           5K             ....                                       .......
                           ............ ..... .         ... ..
                                      ..... .
                                    .... ..
                                               .
                                               .
                                               .
                                               .
                                               .                                             .
                                               .
                                               .                                R2   ...........
                                               .                                                .....
                               r                              r                             r                                                                   r
                                               .                                     ............
                                               .
                                               .                               36K              ....
                                                                                              .....
                                               .
                      ...                      .                                                                                                                                                            .......
                ...... .....                   .                                                                                                                                                        ..... .....
      Gnd          .........                   .
                                               .
                                               .
                                                                                                                                                                                                            ......     Vrl
                                               .
                                               .
                                               .
                                               .
                                               .
                                               .
                                                   Calibrate for 2.982mV at 25o C
      m80
      icts-voltage-final.epic
    As a result, the amplifier contributes less error than it did in the diode-connected transistor sensor amplifier.
The worst-case temperature error circuit is primarily dependent on the temperature sensor, which is specified to
be about ±0.5o C over the range -40 to +50o C.
www.syscompdesign.com
                                                                                                                             78
V+
                                                                         r           r
                                                                                              $R {pu}$
                                                                                              22K
                                                                             8
                                         r            r         1                         r        f   fout ∝ T emperature
                                                                6                3
                                                                                                       10Hz/o K
                                             Cf                     LM331                Rt
                                             100nF              7                        6.81K ± %
                                                      r                              r
                   
                                                                2
                                                                                 5
           LM234
                   
         Rset
                                                                     4
                              2.32K
                                                      r
                              ±1%                         12K
                   r
                                                                                         Ct
                                                 Rs                                      10nF
                                                            5K
                                         r            r                  r           r             f
                   m80
                   hrts-schematic.epic
www.syscompdesign.com
Chapter 2
Humidity
2.1 Introduction
Water evaporates into the atmosphere, making it more or less humid. The degree of humidity is important for
human comfort: if the air is too dry, typical of winter in Canada, the body becomes susceptible to infections,
and sore throats and colds take up residence in the respiratory tract. As well, conditions of low humidity support
the buildup of electrostatic charge, visible in the familiar winter zapping of electrostatic charge that occurs after
dragging our feet across a synthetic carpet.
   In the summer, if the air becomes too wet the human body has difficulty using evaporation to cool itself.
Elevated temperatures and humidity are an unpleasant combination for any kind of human activity.
    The amount of moisture that can exist in the atmosphere increases with temperature, and so an absolute
measurement of water in the atmosphere is not very useful. A more helpful measure is the Relative Humidity, H r ,
a measure of the amount that the air is saturated with moisture. For example, an H r of 100% indicates that the air
is saturated and no further evaporation can occur. If the temperature then increases, the air will be able to contain
more water and it will no longer be saturated. If the temperature is lowered to the dew point, condensation or fog
will occur as the evaporated water forms into droplets.
    The Hair-hygrometer is commonly used to measure humidity. This device depends on the fact that human
hair or hair from the tail of a horse is hydroscopic (absorbs moisture) and expands and contracts with changes in
humidity. This small movement is then mechanically amplified with a lever mechanism to drive a dial mechanism
or recording pen. The hair hygrometer is not particularly accurate. However, it does have a fast response time and
is convenient to read. Most hygrometers seen in peoples homes are of this type.
    Readers may recall another charming domestic hygrometer: A model house is equipped with two figures,
one with and one without an umbrella. Both figures were mounted on a bar that rotated horizontally, moving the
figures in and out of doors in the house. As the humidity changed, one or the other figure would emerge from the
model house.
                                                         79
                                                                                                                                                                                              80
                                                           ........                                                                   ........
                                                               .........
                                                                           Vacuum                                                         .........
                                                                                                                                                      Water Vapour
                                                                             .                                                                              .
                                                                            .....                                  Water                                 ......   Saturated Vapour Pressure
                                                                                                                    .
                                                                                                                    .......................             .....
                                                                                                                                                           ...      of water
                                                                                                                                                        ......
                                                                                                                                                                  0.74” Mercury at 21.1o C
                                Mercury
                                                                           30 inches                                                                  29.26 inches
                                Column         .........                   (1016 mB)
                                                                            .....                                                                       .....
                                                                              ..                                                                          ..
                                                                                    vapour-pressure-a.pictex
            Mercury Reservoir      .........                                        60%                                                                           vapour-pressure-b.pictex
                                                                                                                                                                  60%
         Further introduction of water has no effect on column height. However, if the temperature of the water
     is raised, the water molecules will have more energy and the saturation vapour will increase, more water will
     evaporate, and the column will fall again. Thus eSAT is dependent on temperature.
         As implied by the experiment, vapour pressure may be measured using the same units as atmospheric pressure:
     inches of mercury, or milliBars (mB).
         It is important to note that the presence of air is not required and has no effect on the evaporation of liquid
     water into water vapour. The notion of water vapour dissolving into the air is attractive but inaccurate.
www.syscompdesign.com
Humidity                                                                             2.4 Saturation Vapour Pressure
                                                             eA
                                              Hr = 100 ×                                                    (2.1)
                                                            eSAT
where
    Notice that the saturation vapour pressure increases with temperature. For a constant relative humidity, with
increasing temperature a larger quantity of water can be evaporated in the air.
    Fitting a curve to the table of figure 2.2 yeilds equation 2.2, which can be used to interpolate between the
temperatures of figure 2.2.
eSAT = A4 · T 4 + A3 · T 3 + A2 · T 2 + A1 · T + A0 (2.2)
where
www.syscompdesign.com
                                                                                                                   82
140
120
100 A 4 x4 + A 3 x3 + A 2 x2 + A 1 x + A 0
           Saturation 80
         Vapour Pressure
             eSAT ,
            millibars 60
40
20
                          0
                           -10           0           10         20         30              40         50
                                                          Temperature, o C
www.syscompdesign.com
Humidity                                                                                    2.5 The Wet-Bulb, Dry-Bulb Hygrometer
     (This formula and many others relating to humidity are listed in the Humidity FAQ, reference [51].)
     The Humidex is a quantity that a microprocessor can calculate from temperature and relative humidity.
Example
The current temperature is given as 22o C and the relative humidity 85%. What is the Humidex reading?
Solution
First, substitute the current temperature T into equation 2.2 to determine the saturation water vapour pressure
eSAT in millibars.
      eSAT      = A4 · T 4 + A3 · T 3 + A2 · T 2 + A1 · T + A0
                = (5.33 × 10−6 × 224 ) + (1.92 × 10−4 × 223 ) + (0.0149 × 222 ) + (0.446 × 22) + 6.088
                = 26.39 millibars
Then use the relative humidity formula, 2.1, to determine the ambient vapour pressure e A .
                                                                             eA
                                                      Hr     = 100 ×
                                                                            eSAT
so
                                                               Hr
                                                      eA     =      × eSAT
                                                               100
                                                                83
                                                             =     26.39
                                                               100
                                                             = 21.9 millibars
Finally, substitute for Tc and eA in the humidex equation 2.3 to determine the humidex reading.
                                                  H     = Tc + (eA − 10)5/9
                                                        = 22 + (21.9 − 10)5/9
                                                        = 28.6
www.syscompdesign.com
                                                                                                                                                                                                                                                                 84
                                                              ....                                                                               ....
                                                            ... ...                                                                            ... ...
                                                            ppp
                                                              ppp
                                                                ppp
                                                                  ppp
                                                                    ppp
                                                                      ppp                                                                           ppp
                                                                        ppp                                                                           ppp
                                                                          ppp                                                                           ppp
                                                                            pp                                                                            ppp
                                                        ppppp                                                                                               ppp
                                                                                                                                                                                     Wet Thermometer
                                                                             ppp                                                                              ppp
                               Dry thermometer
                                                                               ppp                                                               pppp
                                                                                 ppp
                                    (Dry Bulb)                                                                                                                                       (Wet Bulb)
                                                                                   ppp                                                                          ppp
                                                                                     ppp                                                                          ppp
                                                                                       ppp                                                                          ppp
                                                                                         ppp                                                                          ppp
                                                                                           ppp                                                ...p....
                                                                                                                                       ........ pp ......
                                                                                             p                                           .. p ..
                                                                                                                                        . p .
                                                    ... p ......                                                                      ...... .... ...
                                                                                                                                                                       .. ..                  ......
                                                  ...
                                                  ....                .                                                                                              ..........                  ..
                                                     ..................                                                                                                   ......................
                                                                                                                                                                              ..                .                                              ..
                                                                                                                                                                                               ..                                   ............ Wick
                                                                                                                                                                                ..            .
                                                                                                                                                                                              .                          ............
                                                                                                                                                                               ..           ... ..........................
                                                                                                                                                                             ...          ...
                                                                                                                                                                            .             .
                                                                                                                                                                           ..           ...
                                                                                                                                                                          ..              ..
                                                            .
                                                            .............                                                                                    ..
                                                                                                                                                               ............ ....................
                                                                                                                                                               .            .    .
                                                                                                                                                                                 ...
                                                                                                                                                                                   ...
                                                                                                                                                                                     ...        . ...
                                                                                                                                                                                                                                          Water.......Resevoir
                                                     .........                            .....                                                           ...                                                                                    .......... .
                                                                              ............................................................................................................................. ...............................
                                                   .... .......................                                                                                                                  ..                 .
                                                      ...                 ..                                                                                                                    ..                .
                                                                                                                                                                                                                  ...
                                                        ...                ...                                                                                                                ..                 .
                                                             ............ ...................................................................................
         The psychrometer consists of two thermometers. One measures the air temperature directly. The other is
     cooled by a porus muslin wick. The wick is moistened and evaporates water at a rate dependent on the relative
     humidity, cooling the wet-bulb thermometer. The rate of cooling, and hence the difference between the two
     thermometer readings, is a measure of the relative humidity.
         The rate of cooling of the wet bulb is very dependent on the movement of air past the wet bulb, and some
     psychrometers are equipped with fans, or handles so they can be swung through the air (the so-called sling
     psychrometer). Even so, the psychrometer is only about 5% accurate.
         The speed of response of the psychrometer depends on the speed of response of the thermometers, some tens
     of seconds at least. For accurate readings of humidity, both thermometers must have the same time constant [38].
         For a manual determination of humidity, the observer uses a chart or special slide rule to relate the ambient
     temperature and wet-dry temperature difference to relative humidity. For automatic calculation by microprocessor,
     the system is shown in figure 2.5.
         When one temperature sensor is already in place to to measure ambient temperature, it is a simple matter
     to add a second temperature sensor, wick, water reservoir and fan. For a long-term installation, however, this
     arrangement has some disadvantages: the fan is subject to clogging with debris or mechanical breakdown, the
     reservoir must be refilled regularly, and mineral deposits will build up in the reservoir and wick unless distilled
     water is used.
         On the other hand, the operation of a psychrometer can be analysed from basic physical princibles, which is
     reassuring where accuracy is required.
www.syscompdesign.com
Humidity                                                                                                                                 2.5 The Wet-Bulb, Dry-Bulb Hygrometer
                                                                             Dry
                                                                             Temperature
                                                                             Sensor
                                                                                           ..........
                                                                                           .            A/D Input 1
                                                            .... ....
                                                               .........                                                    ..........
                                                                                                                            .               Humidity Readout
                       Fan.                                                  Wet
                                      .
                                  ......                                     Temperature
                               ... ..
                                  ......                                     Sensor
                                   ......
                                  .
                               ... ...                                                     ..........
                                 ... ...
                                    ...
                                             .... ..
                                          .....................
                                                                                           .            A/D Input 2
                                        ..........................
                                              ..................
                                               . ...
                Water............... .....................................
                                    .
                                    ...
                                      .
Resevoir
Microprocessor
                                                                                       eA = eW − A · PA · (TA − TW )                                                (2.4)
   where
                                        eA                           is the vapour pressure of the water in the air, millibars
                                        eW                           is the saturated vapour pressure of water at the temperature of
                                                                     the wet bulb, TW .
                                        A                            is a constant, 6.66 × 10−4 (or 5.94 × 10−4 if the wet bulb is
                                                                     covered with ice)
                                        PA                           is the air pressure, in millibars, typically 1016 mB.
                                        TA                           is the dry bulb (air) temperature, o C
                                        TW                           is the wet bulb temperature, o C
   In order for this formula to apply, the wet bulb must be in an air flow of at least 3.6 meters/sec, so the wet bulb
must be fan cooled.
1. To find the saturated vapour pressure eW , substitute the wet bulb temperature TW , 12.8oC, in equation 2.2:
                                                                                           eW             = eSAT
                                                                                                          = 5.333 × 10−6 × 12.84
www.syscompdesign.com
                                                                                                                      86
2. Now apply Wet-Dry Bulb formula 2.4 to determine the actual vapour pressure e A of the water in the air:
                                     eA   = eW − A · PA · (TA − TW )
                                          = 14.77 − 6.66 × 10−4 × 1016 × (15.5 − 12.8)
                                          = 12.94 millibars
        3. Next, use equation 2.2 again, this time substituting the dry bulb temperature, 15.5 o C, to determine the
           saturation vapour pressure eSAT at the dry bulb temperature.
           Checking against a psychrometric table, we find that the table shows 73% relative humidity for these same
           wet-bulb/dry bulb temperatures.
        The data flow diagram for this calculation is shown in figure 2.6.
www.syscompdesign.com
Humidity                                                                                                                                                          2.6 Dew Point
                                                                                     .........
Dry Bulb Temperature                                                                ..........
                       ..........                                                    .........    eA = eW − A · PA · (TA − TW )
                TA
                                                                  PA   ..........   ..........
                                                                                                                                  ..........
                                                                                                                                                            eA      ..........
                                        ..........                 eSAT                                                           ..........   Hr = 100 e                        Hr
                                                      fe (TA )                                                                                              SAT
Solution
Step 1 Use the current value of temperature to determine the saturation vapour pressure e SAT from figure 2.2,
      figure 2.3 or equation 2.2.
       From equation 2.2, the value of saturation vapour pressure at 24 o C is 31.78 millibars.
Step 2 Use the current value of relative humidity Hr and saturation vapour pressure eSAT to determine the
      current value of water vapour pressure eA from equation 2.1.
       Substituting the value of eSAT determined in step 1, and 74% for Hr in equation 2.1, we have:
                                                                                                              eA
                                                                                                 74% = 100
                                                                                                             31.78
       Solving for eA , we have
                                                                                            eA = 23.5 millibars
Step 3 Use this value of eA and figure 2.2 or figure 2.3 to determine the temperature at which this vapour pressure
      is the saturation vapour pressure. This temperature is the dew point.
       Referring to figure 2.3 again, the air will be saturated with moisture at this vapour pressure when the
       temperature cools to about 20o C.
www.syscompdesign.com
                                                                                                                      88
           Unfortunately, fitting a polynomial to the data is not very successful. Even a fourth order polynomial is in
     error by 10% or so. However, recognizing that eSAT is approximately an exponential function of temperature,
     then a plot of temperature vs the natural log of eSAT will yeild a graph with much less curvature and be easier to
     fit2 . Trying this out, we find that a second order polynomial can predict temperature to within one or two percent,
     which is what is needed.
           The result:
                                           T = A2 · [ln(eSAT ]2 + A1 · [ln(eSAT ] + A0                              (2.5)
        where
                               T          = temperature in o C
                               eSAT       = saturation vapour pressure, millibars
                               A2         = 1.073
                               A1         = 9.642
                               A0         = -21.06
        For example, to find the temperature corresponding to a vapour pressure of 23.5 millibars:
        First, find
                                                              ln(eSAT ) = ln(23.5)
                                                                             = 3.157
                                             T     = A2 · [ln(eSAT ]2 + A1 · [ln(eSAT ] + A0
                                                   = 1.073 × 3.1572 + 9.642 × 3.157 − 21.06
                                                   = 20.07oC
2 Notice the similarity of this approach to the Steinhart-Hart relationship, equation 1.4 on page 8
www.syscompdesign.com
Humidity                                                                      2.7 Electronic Measurement of Humidity
                          Electrical Specifications
                          Operating Humidity Range                       10 to 90% R.H.
                          Operating Temperature Range                    0 to 85o C
                          Capacitance at 25o C, 43% R.H., 100KHz         122pF ±15%
                          Frequency Range                                1 KHz to 1MHz
                          Temperature Dependence                         0.1% R.H./o C
                          Response Time (to 90% of indicated R.H.
                          in circulating air):
                               Between 10 and 43% R.H.                   3 minutes max
                               Between 43 and 90% R.H.                   5 minutes max
                          Typical Hysterysis (10% R.H to 90% R.H
                          and 90% R.H. to 10% R.H.                       3%
                          Maximum voltage                                15V
                          Storage Temperature Range                      -25 to +85o C
                          Current price                                  $10.10
                          Part number                                    691-90001
www.syscompdesign.com
                                                                                                                   90
150
145
140
                          135
             Capacitance,
                       130
                 pF
                          125
120
115
                          110
                                0             20          40           60                  80           100
                                                        Relative Humidity, %
where
             Cs is the capacitance of the sensor C12 is the capacitance at a relative humidity of 12%
             Hrel is the relative humidity in %
A number of important points may be determined from the data sheet information:
     Operating Humidity Range The operation of the sensor is not specified below 10% or above 90%, so we’re on
          our own in those regions. The curve probably continues in a smooth fashion into those areas, but we cannot
          complain to the vendor about accuracy.
     Operating Temperature Range The sensor won’t work below the freezing temperature of water (which is rea-
          sonable) but is not damaged until the temperature drops below –25 oC. Probably best to reserve it for indoor
          use.
     Capacitance at 25o C and 43% R.H. This value of capacitance is rather small, as capacitors go. Moreover, look-
         ing at figure 2.8, it doesn’t change by much either: 110pF to 150pF. The measuring circuit will have to be
         adapted to these small values. Furthermore, the tolerance given for the base value is a rather large ±15%.
         Calibration will be required.
www.syscompdesign.com
Humidity                                                                                 2.8 A Capacitance-Humidity Sensor Circuit
Frequency Range A capacitive sensor measurement may be converted to frequency or period by using the ca-
     pacitive sensor as the timing element in an oscillator. This specification indicates the allowable range of
     oscillator frequency.
Temperature Dependence Assuming that the sensor will be in an environment when the temperature change is
    20oC, the temperature coefficient of 0.1%/o C represents a total total reading change of 2%. If possible, this
    change should be compensated for.
Response Time If you breath gently into a hair hygrometer, the meter will indicate an increase of humidity, with
     a time constant in the order of a few seconds. The capacitive sensor is much slower, with a time constant in
     the order of minutes.
Hysterisis When the sensor is subjected to a series of low humidity, high humidity and low humidity, the final
     reading may be expected to be in error by 3%. This is a rather large error, but it would be most important
     in applications such as the humidity sensor for a clothes dryer. In that case, the humidity would suddenly
     go from a low value to a high value when wet clothes were stuffed into the dryer. The humidity would then
     drop gradually as the clothes are dried.
       For our application, such drastic changes in humidity should be rare 3 , and hopefully the hysterisis effect
       will not be a major problem.
   The overall impression, then, is of a sensor with a small change in capacitance and relatively long time
constant. It should be compensated for temperature and must be calibrated for humidity, and the expected accuracy
should be in the region of ±2%.
www.syscompdesign.com
                                                                                                                       92
          Now we have to choose a suitable RC oscillator. Again, because there are many possible RC oscillator designs,
     let us attempt to narrow down the field with some general observations.
          First off, we must decide between measuring the frequency or the period of the oscillator waveform. The
     frequency is proportional to 1/C and period is proportional to C: the choice of period simplifies the calculations.
     Furthermore, referring to the resources of our microprocessor, we have three input capture ports suited to period
     measurement, and only one pulse accumulator, suited to frequency measurement. It would make better sense to
     use the input capture port if we can. Period measurement would seem to be the correct choice.
          Next, we need to get an estimate of a suitable period for the oscillator waveform. The reasoning goes some-
     thing like this:
        • The transducer capacitance varies from 150pF to 110pF, for a total variation of 40pF and a minimum
          capacitance of 110pF. Put another way, the capacitance ranges from its minimum value C to 1.36C as the
          humidity varies from 0% to 100%.
        • The period of the oscillator waveform is proportional RC, so it will vary the same way as the capacitance,
          from a minimum value of T to a maximum of 1.36T.
        • The part that we are interested in is the varying part of T. For a resolution of 1% R.H., the varying part
          of T must be long enough to contain 100 discrete values. Now the microprocessor timing circuits have a
          resolution of 1µsecond (at best), so 0.36T must correspond to 100µseconds. Then the non-varying part of
          the period, 1.0T, must be 277µseconds in duration. All of this is shown in figure 2.10.
0% R.H.
100% R.H.
1.36T
        • The period of an RC oscillator is given by something like T = KRC, where K depends on the circuit, but
          might be 1.4 or 2.2. For simplicity, we’ll assume that K is 1: this will get us into the computational ballpark.
          Then if RC=277µseconds and C=110pF, the resistance is 2MΩ.
www.syscompdesign.com
Humidity                                                                   2.8 A Capacitance-Humidity Sensor Circuit
   • Now the final step: with the timing resistance in the order of 2MΩ and an operating voltage of 5 volts, we can
     expect the timing current to be in the order of 2.5µamps. This is a very small value of timing current. It is not
     all that different from the leakage current of timing devices or the bias current of conventional operational
     amplifiers. The bias and leakage currents are liable to interfere with the timing current sufficiently to affect
     timing accuracy.
   The timer design example given in section 2.8.3 confirms this effect.
www.syscompdesign.com
                                                                                                                 94
                                                               e
                                                               Vcc
                                       e
                                                                            r    r                 eOutput
                                                   HH
                                              r    CU H
                         Threshold
                                                      
                                  2/3Vcc           
                                                               Flip
                                                                                                   eDischarge
                                                               Flop
                                       e        HH
                                              r C
                           Trigger                H
                                                 L
                                  1/3Vcc        
                                                               r                 r
                                 m70
                                                               eGnd
                                 555-timer-circuit.epic
                                                                        r
                                                                        e
                                                                                +5Volts
                                       r
                          Rcharge
                                       r          e
                                                                                     r         r             e
                                                            HH
                                                          r C
                                                              H
                                                             U
                                                            
                        Rdischarge                                     Flip
                                                                                                             e
                                                                       Flop
                                       r          e         HH
                                                          r C
                                                              H
                                                             L
                                                            
                                                                        r                      r
                        Ctiming
                                                                        e
                                                                        r                m70
                                                                                         555-astable.epic
www.syscompdesign.com
Humidity                                                                                  2.8 A Capacitance-Humidity Sensor Circuit
    There are two outputs from the timer: a class B totem pole output and an open collector discharge output.
    Now consider the astable oscillator circuit of figure 2.11(b). The timing capacitor C T first charges towards Vcc
through resistors Rcharge and Rdischarge . When the capacitor voltage reaches the upper comparator threshold,
the comparator causes the flip-flop to change state, activating the discharge transistor. The timing capacitor then
discharges toward ground through resistor Rdischarge . When the capacitor voltage reaches the lower comparator
threshold, this comparator causes the flip-flop to change back into the original state, deactivating the discharge
transistor. The cycle then repeats.
    The voltage across the timing capacitor assumes a sawtooth-like shape 4 , oscillating between 1/3Vcc and
2/3Vcc.
    With a little work, one can show that the period of the cycle is given by
   The exact proportions of Rc affect the duty cycle of the output square wave, which is not important. We’re
only interested in the period, so we might simply make 2Rd = RC . Then
T = 1.38Rc CT (2.8)
   Now let us calculate a suitable value for Rc , using equation 2.8 and the known values of 110pF for C T and
277µsec for T.
                                                                     T
                                                          Rc =                                                              (2.9)
                                                                 1.38CT
                                                                = 1.8M Ω                                                   (2.10)
                                                          Vc              Ic
                                                        1/3Vcc        1.22µamps
                                                        2/3Vcc       0.615µamps
The input current for the ordinary (BJT version) 555 timer trigger input, is given as 0.9µamp maximum. This
exceeds the charging current of the capacitor as it approaches its highest voltage, so the astable might not function.
    On the other hand, there is a CMOS version of the 555 for which the trigger current is given as 10pA (10 ×
10−12 amps). However, though significantly superior in a number of respects to the BJT version, the CMOS
version is less commonly available. Murphy’s law being what it is, it is a dead certainty that someone will attempt
to substitute a BJT 555 timer in the circuit. Insidiously, some BJT 555’s will probably work, leading to a lot of
head scratching over the ones that don’t function.
  4 The   sides of the sawtooth are actually somewhat curved because the charge and discharge functions are exponential.
www.syscompdesign.com
                                                                                                                              96
www.syscompdesign.com
Humidity                                                                     2.8 A Capacitance-Humidity Sensor Circuit
25 . To be on the safe side, we might choose to use the Q7 divider output, which gives a period multiplication of
27 = 128. Then as the humidity varies from 0 to 100%, the period of the divider output waveform will vary from
2470µsec to 1818µsec, for a difference of 652µsec. The resolution will be 1 part in 652, or about 0.15%, much
more than required.
     Notice that we have to take care that the waveform period does not exceed 2 16 − 1 µseconds, since this is the
maximum measuring period of the 16 bit microprocessor input capture registers.
Oscillator Tolerance
Now we come to an interesting conundrum. According to [46] (page 522),
      ’Our experience is that the internal oscillator. . . (of the 4060). . . has poor frequency tolerance and (in
      some HC versions) may malfunction.’
Prompted by this warning, we examine the data sheet for the RCA version of the 4060 (the CD4060B) and find a
minimum and maximum specification for oscillator frequency stability under certain test conditions. Good.
    The data sheets for the Motorola version of the 4060 (the MC1460B) show the oscillator stability under
’Typical RC Oscillator Characteristics’. Oscillator performance is not guaranteed. As Bob Pease says in [47],
’Typical could mean that they once saw a device with those characteristics’. Not so good.
    The data sheet for the National version, the CD4060BCN, does not show any specifications for oscillator
performance. Uh-oh.
    Obviously, there is a certain amount of risk associate with CMOS oscillators. This is also fueled by the
knowledge that the logic threshold in CMOS, which we tend to visualize as around 1/2V cc may and does vary
from 1/3Vcc to 2/3Vcc between devices.
    However, reference [48] indicates that the period of oscillation of a CMOS oscillator will vary as tabulated
below:
    This variation is in the order of 5%, much less than the humidity sensor tolerance. The system must be
calibrated to allow for the 15% tolerance on the humidity sensor, so this tolerance on the oscillator frequency is
quite acceptable.
www.syscompdesign.com
                                                                                                                           98
                                                                                                e6
                                                                                                          Microprocessor
                 MC14060B                                                                                 Input Capture
                         HH e r HH e r r HH e                                                   r
                                                                                                    Q7
r r r VDD Pin 16
RT
                                        r
                                56K
                                                    @
                          RS                         @
                                                  CT
                         120K                110pF–150pF
                   m70                      Philips Humidity Sensor, 961-90001
                   humidity-oscillator-final.epic
www.syscompdesign.com
Humidity                                                                                                                                                                                                                       2.9 Calibrating the Hygrometer
                                                                                    To
                                                                                     .
                                                                                       readout.
                                                                                        ..                 ..
                                                                                      ......             ......
                                                                  p ppp                                                                                  ppp
                                                                                                                                                            pp pp
                                                          p p p p                                                                                                 ppp pp p p p p pp p ppp p
                                    ppp p p p p p p pp pp
                              pp pp                                                                                                                                                         p p pp
                          ppp                                                                                                                                                                     pp
                                                                                                                                  Test
                                                                                    ................
                                                                                 ...               ..             .........
                                                                             ....                   ..                    ......... Circuit
                                                                                ...                ..                             .........
                                                                                                                                          .........
                                                                                   .................                                              ...
                                                                                                                                                                                                 ......... Jar
                                                                                                                                                                                                         .........
                                                                                                                                                                                                                 .......
                                                                                                                                                                                                             Salt
                                                                                                                                                                                                             Solution
                          pppp                                                                                                                                                                    pp
                                                                                                                                                                                               ................
                                                                                                                                                        ........................................
                               p pp p p                                                                                                                                                   p p p p
                                        pp p p pp                                                                                                                            p p p p pppp
                        m80
                        humidity-calibration.pictex
www.syscompdesign.com
                                                                                                                    100
        • As described in section 2.8.2 previously, the humidity sensor generates pulses at periods between 1818 and
          2470 µsec, corresponding to relative humidity between 0% and 100%.
        • The pulses are connected to Input Capture #1 of the 68HC11 microprocessor. This input is configured to
          generate an interrupt on each positive edge. With each interrupt, the 68HC11 16 bit free running timer,
          which is counting at a rate of 1 musec per count, is transferred to the input capture #1 latch. This may be
          regarded as timestamping the occurence of the edge.
        • The interrupt service routine notes the time T1 of the first edge and the time T2 of the second edge and then
          finds T 2 − T 1 to determine the pulse period in µseconds.
• The display manager routine converts the pulse period into a humidity value and writes it to the display.
0: Dormant
1: Second Edge
2: Complete
hum-state.epic, m70
www.syscompdesign.com
Humidity                                                                        2.10 Humidity Measurement Software
Dormant The humidity task has completed the last measurement cycle and handed over results to the display
    manager. If the Request Flag is cleared, there is no request to take a measurement, then the task simply
    exits.
      However, if the Request Flag is set, the task has received a request for a new measurement. It therefore
      notes time T 1, clears the request flag (since it is now honouring the request), changes to the Second Edge
      state and exits.
Second Edge When the processor enters the humidity task and the state is Second Edge, it records the time as
     T 2. Then it calculates the pulse period T = T 2 − T 1, raises the Ready Flag to signal the display manager
     that a new humidity period measurement is ready and changes to the Complete state.
Complete When the display manager reads the value of the time interval T = T 2 − T 1, it clears the Ready Flag
    to indicate that it has accepted the reading. The next time an interrupt occurs, the humidity task is called
    into state 3, Complete. It then detects that the Ready Flag is cleared and so changes the state back to the
    Dormant state.
    The humidity task and the main routine are essentially cooperating tasks that communicate with each other by
the setting and clearing of software flags.
    It’s not immediately obvious that a state machine is necessary for organizing the interrupt service routine.
However, imagine that the system is to be expanded to measure three pulse width input signals. Each interrupt
service routine must then have some way of keeping track of the state of the measurement. A state machine is the
right way to accomplish this.
    The flow chart of the humidity pulse measurement task (interrupt service routine) is shown in figure 2.16.
    Begin
    Case H_STATE Of {Dispatch to the appropriate state handler routine}
          0: H_DORMANT     {Waiting for measurement request}
          1: H_SECOND_EDGE {Waiting for second edge}
          2: H_COMPLETE    {Completed measurement, waiting for display manager
                           to acknowledge}
www.syscompdesign.com
                                                                                                                 102
                                          IRQ
                                                                          Set Request Flag
               HHH
              Measurement                               
                                                            HH
                                                                     H
        No   
             HH Request? H                             Measurement H
                                                        HH Accepted? 
                                                                          No
               HH                                       HH
                        Yes                                       Yes
                                                                                              HHH
              Clear Request Flag       Record T2                                              Measurement H     No
                                                                                             HH Ready? 
                                                                                               HH
                  Record T1           Find T=T2-T1                                                    Yes
                                                                                               Read Humidity
                                      Set Ready flag
RTI
                                 Then
                                   H_REQUEST := 0          {Acknowledge request}
                                     H_TIME1   := TIMESTAMP1 {Save timestamp}
                                     H_STATE := 1     {Move to next state}
                                     Exit
                              Else
                                     Exit
www.syscompdesign.com
Humidity                                                                     2.10 Humidity Measurement Software
Begin
   H_REQUEST := SET            {Request a new humidity reading}
   If H_READY = SET
      Then
          H_BUFFER := H_COUNT               {Get the     new reading}
  H_READY := CLEAR    {Signal               that the     reading has been received}
          CALL H_CONVERT                    {Convert     frequency to humidity}
          CALL DISPLAY                      {Display     the new reading}
End
www.syscompdesign.com
                                                                                                                     104
         The measured period at the input to the microprocessor, which we will call T m , is increased by the digital
     divider chain to 7 octaves above the oscillator period T . Then T m = 27 T . Substituting Tm /27 for T, 56 × 103 for
     RT and 113 × 10−12 for C12 , we have the final relationship between relative humidity and period:
                                                                                0.714
                                                                 T
                                          Hr = 100                      − 2.89                                    (2.16)
                                                             633 × 10−6
www.syscompdesign.com
Humidity                                                        2.11 Project Exploration: Resistance Humidity Sensor
The Project
Redesign the circuit for operational amplifiers in the oscillator, difference amplifier, rectifier and low-pass filter
sections. Some suggestions on the redesign:
Oscillator A Phase Shift, Wien Bridge or Twin Tee oscillator circuit would work satisfactorily in this circuit. Pu-
      rity of the output waveform is not terribly important, but amplitude stability could be an issue. If the power
      supply is regulated, the amplitude of the oscillator can be limited simply by clipping in the operational
      amplifier.
Difference Amplifier A single, four resistor difference amplifier is probably sufficient for this function. The
      input to the difference amplifier may be AC coupled, since the bridge error signal will be an AC voltage.
      The resistances should be chosen so that the diff amp does not significantly load the bridge circuit.
Rectifier A half-wave or full-wave precision op-amp rectifier, or a synchronous rectifier, could be used. A full
      wave rectifier simplifies the design of the low pass filter.
Low Pass Filter A simple RC low pass filter on an operational amplifier active filter (such as a single-pole Sallen-
     Key low pass) could be used here. Better filtering is obtained with the op-amp filter, and since op-amps are
     probably available, this would be a better choice. You should ensure that the 400Hz ripple is less than one
     step on the A-D converter.
Power Supply Ideally, the unit will operate from a single 5 volt regulated supply, stolen from them microproces-
     sor logic. A negative voltage at currents in the order of one or two milliamps is available, or the existing 5
     volt power supply could be split to provide a ±2.5 volt supply.
    Several useful building blocks are shown in the circuit diagram for a syncho based wind direction interface,
figure 4.15 on page 159.
www.syscompdesign.com
                                                                                                                         106
                           Humidity           3k9
                            Sensor
                                             1k
                              100n           Maximum Adj
                                                                                                         Low
                                                                   Difference                            Pass
                            250k                                                         Rectifier                   A/D Converter
        400Hz        Minimum Adj                                   Amplifier                             Filter
      Oscillator
2k5 200
2.1"
0.75"
                    Clamping
                        Bolt                                                           Brass contact pad, 4 req’d
                                                                                       Salt-impregnated Fiberglass
                       Wiring
                         Lug                                                           Printed Circuit Board
                                                                                       Material
www.syscompdesign.com
Humidity                                                                    2.12 Project Exploration: Monostable Interface
                                 Co                          Co + ∆C
                                          .                             .
                                       ...                           ...
                                    ....                          ....
                                       ...                           ...
                                         .                             .
                                                  r
                                                                                              ........
                                                      ....                          ......... ......      ....
                                Astable                  .
                                                      ....
                                                             Monostable                 .
                                                                                    .......... ......
                                                                                                             .
                                                                                                          ....
                                                                                               ........
                                                                                             .... ....
    The astable oscillator is designed so that the period of the output waveform is proportional to a fixed capaci-
tance Co , chosen to be equal to the base capacitance of the humidity sensor. The monostable is synchronized to
the astable so that it produces pulses at the same time. The pulse width of the monostable output is proportional
to the capacitance of the humidity sensor, Co + ∆C.
    The two pulses are subtracted so that the final output pulse width is proportional to the difference between
the fixed pulse width and the variable pulse width. The width of this final difference pulse is then proportional to
∆C, which is in turn proportional to the relative humidity.
    The pulse width could be measured directly by the timer circuitry of a microprocessor. Alternatively, since
the pulse is of fixed and known amplitude, it may be averaged in a low pass filter to obtain a voltage proportional
to the width, and hence the humidity. This voltage could then be measured in the microprocessor A-D converter.
www.syscompdesign.com
                                                                                                                                                                                                              108
U1 U2
                                                                                              r
                                            .......                                                                     .......
                                                  .......                                                                     .......
                                                        ....... ......                                                              ....... .......
                                                               ....... ..                                                                  ....... ..
                                                                ..... .                                                                    ..... .
                                                         ....... .......                                                             ....... .......
                                                  .......                                                                     .......
                                            .......                                                                     .......
                                   r
                                                        R. .
                                                  .....................
                                                      . .
                                                                                           C.
                                                                                                 ...
                                                                                             .....
                                                                                                 ...
                                                                                                   .
U1 U2
                                                                                                        r
                                                    ........                                                                      ........
                                                           .......
                                                                  ....... .......
                                                                                                   0V                                    .......
                                                                                                                                                ....... .......
                                                                         ....... ..                                                                    ....... ..
                                                                     ................                                                              ................
                                                        ....
                                                           ..........                                                                 ....
                                                                                                                                         ..........
                                        r
                                                    ....                                                                          ....
                                                                     R
                                                                             .
                                                            .....................
                                                               .. .
                                  +5V                                                                  C.                                                                           +5V
                                                                                                             .
                                                                                                           ...
                                                                                                       .....
                                                                                                           ...
                                                                                                             .
U1 U2
                                                                                                            r
                                                        ........                                                                     ........
                                                                .......
                                                                      ....... .......
                                                                                                       +5V                                   .......
                                                                                                                                                   ....... .......
                                                                            .... .                                                                       .... .
                                                                            ....... ..                                                                   ....... ..
                                                                      ....... .......                                                              ....... .......
                                                               .......
                                                                .                                                                           .......
                                                                                                                                             .
                                                        .......                                                                      .......
                                            r
                                                                        R
                                                                           . ..
                                                                    .............. ...
                                                                       .. ..
                                  0V                                                                     C.                                                                         0V
                                                                                                                ...
                                                                                                           .....
                                                                                                               ...
                                                                                                                  .
                                        .             ...                                                                                                                    ...
                              5                         ...
                                                          ...
                                                                                                                                                                               ...
                                                                                                                                                                                 ...
                                                            ...                                                                                                                    ....
                                                              ....                                                                                                                    ....
                              4                                  ....
                                                                    .....                                                                                                                ....
                                                                                                                                                                                            .....
                                                                        ......                                                                                                                  ......
                                                                             .......                                                                                                                 ......
                                                                                   ........
                              3                                                           ...........
                                                                                                    ..............
                                                                                                                                                         ..
                                                                                                                                                          ...
                                                                                                                                                            ...
                                                                                                                                                              ................
                                                                                                                                                                .
                                                                                                                                                        .
                                                                                                                                                 ........
                              2                                                                                                            .......
                                                                                                                                      ......
                                                                                                                                  .....
                                                                                                                              .
                                                                                                                              .....
                                                                                                                               .
                              1                                                                                             ..
                                                                                                                          ...
                                                                                                                        ...
                                                                                                                      ...
                              0
                                                      ...........                   T1                     .                  .
                                                                                                           ....................                T2                      .
                                                                                                                                                                       ..........
                                                      ...
                                                     ....
                         Circuit Turn On
www.syscompdesign.com
Humidity                                                               2.12 Project Exploration: Monostable Interface
After Turn On
To understand the operation of the astable, consider that it has just been turned on, and that the supply voltage is
+5 volts. The output from U2 could be 0 or +5 volts: let’s assume it’s +5 volts. The capacitor C is uncharged, as
yet, so the voltage across it is zero. Voltage cannot change instantaneously across a capacitor, so when the right
end of the capacitor is lifted up to +5 volts, the left end must go to +5 volts as well. The complete situation, just
after the power is applied, is as shown in figure 2.19(b).
During T1
These are CMOS gates, so no significant current flows into their inputs. However, the resistor R has a voltage
across it, so current flows through it, gradually discharging the capacitor. The left end of the capacitor now moves
in an exponential discharge toward ground.
Transition to T2
Eventually, at the end of a time which we’ll call T1, the voltage at the input to U1 reaches the threshold voltage of
the gate, about +2.5 volts or so. At that point, the state of U1 changes: its input is seen as below threshold (logic
0), so its output goes up to logic 1, +5 volts. This forces the output of U2 immediately down to zero volts. The
astable has changed state, and the voltages are as shown in figure 2.19(c).
During T2
Now the whole process runs in reverse. Current flows from the output of U1, through the resistor, changing the
capacitor. The input to gate U1 moves in an exponentially charging curve back up to the voltage threshold. When
it reaches the threshold, the whole cycle begins anew.
     Assuming that the threshold voltage is at half the supply voltage, it may be shown that the intervals T1 and T2
are equal, and the total period T of the waveform is approximately
                                                  T = 0.693RC                                                 (2.19)
   where R and C are the values of the timing resistance (ohms) and capacitance (farads).
www.syscompdesign.com
                                                                                                                                                                                                                                                                                                        110
                                                                             r
                                                                            .
                                                                      ..........                                                                          ..   Ch
                                                         R1                                                                                             ...
                                                                                 ..                                                                  ...
                                                                      ............                                                             ..........      Humidity Sensor                                                                            ..............................
                                                                                                                                      .......... .....
                   r                                                                                                                                                                                                                            r
                                                       470k                  ....
                                                                                 ..
                                                                                                                                      .
                                                                                                                                                                                                                                                                ...
                                                                                                                                                                                                                                                                   ...
                                                                                                                                                                                                                                                                                       ......
                                                                                                                                                                                                                                                                                             .....
                                                                                                                                                               110 - 150 pF                                                                                                                      ...
                                                                             r
                                                                                                                                                                                                                                                                     ...                           ..
                       ...............................
                                                                                                                                                                                                                                                                     .... U2B .....
                                                                                                                                                 r
                               ...                   ......
                                                          .....                        ..............................                                                                                                                                               .                           .
                                 ...
                                   ..                         ...                             ...                   ......                                                                                                                                     .....
                                                                                                                                                                                                                                                                                      ..
                                                                                                                                                                                                                                                                                       .........
                                                                .                                                        .....                                                                                                                            ...........................
                                   ..                           ...                             ...
                                  .. U1A .......
                                                                                                                                                                                                                                                r
                                                                                                   ..                        ...
                                 .                                                                  .                          ..
                                                          .                                                                     .
                              ...                    .....                                       .... U1B .....
                       ..............................                                           .
                                                                                                .                        .
                                                                                                                         ...                                                                                                                              ..............................
                                                                                                                                                                                                                                                r
                                                                                           . ..                  ....
                                                                                                                    .....                                                                                                                                       ...                     ......
                                                                                         .
                                                                                       .....................    .                                                .............................                                                                      ...                      .....
                                                                                                                                                                                                                                                                                                 ...
                                                                             r
                                                                                                                                                                       ...                   ......                                                                   ..
                                                                                                                                                                         ...                       .....               Output PW ∝ RH                                  ..                          ..
                                                                                                                                                                                                                                                                                                    .
                                                                                                                                                                           ..                           ...
                                                                                                                                                                                                          ..   ....
                                                                                                                                                                                                                  ..                                                  .. U2C .....
                                                                                                                                                                                                                                                                      .
                                                                                                                                                                           .... U2A .....                      ....                                               ...
                                                                                                                                                                                                                                                                                        .......
                                                                                                                                                                                                                                                                                             .
                                                                                                                                                                          ..
                                                                                                                                                                                                 .....
                                                                                                                                                                                                      ...                                                 ...............................
                                                                                                                                                                        ..
                                                                                                                                                                                                                                                r
                                                                                                                                                                      ..                     .
                                                                                                                                                                                             ....
                                                                                                                                                                 ...........................
                                                                             r r                                                                 r
                       ...............................                                 ...............................                                                                                                                                    .............................
                   r                                                                                                                                                                                                                            r
                              ...                    ......                                   ...                    ......                                                                                                                                    ...                    ......
                                 ...                      ....                                   ...                      ....                                                                                                                                    ...                      .....
                                    ..                       ...                                    ..                       ...                                                                                                                                     ...                       ...
                                                               ..                                                              ..                                                                                                                                                                ..
                                  .... U1C ......                                                 .... U1D ......                                                                                                                                                   .... U2D ......
                                .                           .                                   .                           .                                                                                                                                      .                          .
                           . ....
                                                  ....
                                                     ......
                                                          .
                                                                                           . ....
                                                                                                                  ....
                                                                                                                     ......
                                                                                                                          .
                                                                                                                                                                                                                                                              .....
                                                                                                                                                                                                                                                                                    ...
                                                                                                                                                                                                                                                                                      ........
                       ..........................                                      ..........................                                                                ..                                                                       ..........................
                                                                                                                C1                                                             ...        C2
                                                                                                                                                                             ...
                                                                            .                                                             ........                     ........
                                                         R2           ..........                                                      ..... .....                .......... .....
                                                                                  ..
                                                                      .............
                                                                                                             110pF                                                ...
                                                                                                                                                                     .                    3-40 pF                                           . . ..
                                                                                                                                                                                                                                        ..... .... ....
                                                       470k
                                                                             r                                                                   r
                                                                                  ..
                                                                             ....
                                                                                                                                                               C3
                                                                                                                                           ......
                                                                                                                                      ...... ......            68 pF
               U1, U2: CD4001 Quad NOR gate
                                                                                                                                       .         .
                                                                                                                                    .... .... ....
www.syscompdesign.com
Chapter 3
Wind Speed
3.1 Introduction
It is helpful to relate wind velocity to its effects using the Beaufort Scale [2] shown in figure 3.1.
     Based on this scale, the wind speed measuring device, or anemometer, should have a range of zero to
120Km/hr or so in normal use. If the anemometer is to be capable of measuring record wind speeds, then the
rather more demanding maximum speed requirements are as shown in figure 3.2, from reference [3].
     The highest wind speeds on the face of the earth occur in tornadoes, which contain wind velocities in excess of
480Km/hr. Tornado wind velocities are measured by doppler radar or estimated from the extent of the destruction.
Since tornadoes destroy buildings, it is probably unrealistic to expect our anemometer design to operate under
tornado conditions .
     Over the years, a great many devices have been used to sense wind velocity. We shall look at two measuring
instruments, the cup-anemometer and cooling effect sensor.
                                                        111
                                                                                                                112
An example design, constructed from found parts by Jim Koch, is shown in figure 3.3.
www.syscompdesign.com
Wind Speed                                                                           3.2 Cup Anemometer
Plastic Disk
Motor Shaft
                                                                      2.0 in      7.0 in
                                                                     (5.1 cm)   (17.8 cm)
                                                                     2.0 in
                                                                    (5.1 cm)
                                              DC Generator
                                              (Edmund Scientific #37590)
www.syscompdesign.com
                                                                                                                                           114
         Although almost any design of cup anemometer will work after a fashion, wind tunnel tests on cup anemome-
     ters have shown that an optimum design will include the following features[55, 54]:
         • The rotating part of the anemometer should be as light as possible to start at low wind velocities and respond
           quickly to wind gusts. (In contrast to this, the British Casella anemometer type W/1254/2 the rotating part
           weighs in at over 1Kg, somewhat excessive in these days of lightweight plastics. On the other hand, in the
           tradition of British Robustness, it could probably survive a major hurricane.)
         • The anemometer should have three cups. Two cups won’t start rotation reliably and more than three simply
           add to the mass of the rotating part.
         • The cups should ideally have a conical shape but spherical is also acceptable. The edges of the cups should
           preferably be beaded (rounded) to reduce turbulence.
         • For the most linear response of rotation speed with wind velocity, the cup diameter should be approximately
           half the total wheel radius. In other words, the entire spoke should be cup, and the stalk length should be
           close to zero. In the design shown in figure 3.3, the ratio of cup diameter to wheel diameter is 2/7 = 0.285,
           below optimum, so we would expect a non-linear function of rotational speed versus wind velocity.
        A lightweight anemometer with these design features may be expected to have a threshold wind speed of
     0.8Km/hr (0.5mph) and respond to a step in wind speed with a first order time constant of 0.4 seconds.
     counter read with binoculars. This arrangement might be rather inconvenient during a force 10 gale, the very situation in which one is most
     interested in wind velocity.
www.syscompdesign.com
Wind Speed                                                                                         3.2 Cup Anemometer
The circumference is
                                                 S    = πD
                                                      = π × 14 cm
                                                      = 43.9 cm
                                                      = 0.439 metres
The velocity constant for the anemometer is 13RPM per Km/hr. Then, in one minute, a point on the circumference
will move
                                                 S0    = 0.439 × 13
                                                       = 5.7 metres
                                         S 00   = 1000 metres/60minutes
                                                = 16.67 metres
                                                Fd    = f rac16.675.7
                                                      ≈ 3 metres/metre
Thus the wind moves three metres for every metre of movement of the anemometer perifery.
Tachogenerator Output
A DC generator (or DC motor driven as a generator) generates a terminal voltage proportional to its rotational
speed, so it is useful in generating an electrical voltage proportional to wind speed. The electrical circuit is
simplicity in itself: the tachogenerator (tachometer-generator) output is connected to a voltmeter and the dial
reading of the voltmeter redrawn to read wind speed.
    This works best with a moving-coil movement meter rather than a digital voltmeter: the inertia of the meter
movement averages out the ripple and commutator noise of the generator.
    When the generator voltage is to be read by an A-D converter as part of a digital voltmeter or microprocessor,
an RC low pass filter will be required between the generator and A-D converter. The cutoff frequency must
be chosen so that the is effective at the lowest ripple frequency whithout materially affecting the average A-D
reading. A low frequency cutoff corresponds to a large time constant in the step response, and so an effective low
pass filter may slow the transient response unacceptably.
    For example, if the step response of the anemometer to a wind gust is to have a time constant of 0.4 seconds,
then the lowpass filter should have a time constant a small fraction of this, or less than 40 milliseconds. This may
time constant not be effective in blocking noise from the generator.
www.syscompdesign.com
                                                                                                                   116
Photo-interrupter
                                                          Axis of rotation
                                                                             Photodiode (light emitter)
         The output pulse frequency is directly proportional to the rotational speed of the anemometer and the number
     of stripes on the disk.
         From this point, the usual methods of pulse frequency measurement by microprocessor may be applied to
     determine the pulse frequency. For example, the anemometer pulses may be used to generate a processor interrupt.
     The interrupt service routine increments an anemometer count variable and, once per second, the main routine
www.syscompdesign.com
Wind Speed                                                                   3.3 Anemometer using the Cooling Effect
reads the number of accumulated pulses to determine the current anemometer frequency and wind speed.
    Accumulating the total count of anemometer pulses over a longer period of time may be used to determine the
distance of movement of the air mass.
    There is nothing particularly special about the value of the number of stripes on the encoder wheel, and the
number may be reduced for simpler construction. It is not a good idea to base the measurement of wind speed
on the period of the anemometer pulse train, since the anemometer will completely stop in calm air and the pulse
period will go to infinity.
P = k∆T
where
www.syscompdesign.com
                                                                                                                     118
     Example
     A certain power transistor is disappating 15 watts and has a thermal resistance to ambient of 3.2 oC/watt. Calculate
     the temperature rise above ambient of the junction.
     Solution
     The equivalent circuit is shown in figure 3.5.
Tj
                                                                                       H
                                                                                       H
                                                                                        TA
For example, if the ambient temperature is 40o C, then the transistor junction is at 40 + 48 = 88o C.
www.syscompdesign.com
Wind Speed                                                                              3.6 A Constant Power Anemometer
   where
              √
     A and B u are dissapation constants, watts/◦ C
     U is the air velocity (we use U rather than V to avoid confusion with Voltage
     ∆T is the temperature above ambient
    This suggests that the thermal equivalent circuit consists of two parallel thermal resistances as shown in figure
3.6, where θS = 1/A and θD = 1/B.
                                                                         Tj   H
                                                                              H
                                                                         r
                                        P      m                   θS             θD
                                                                                  √     ∆T
                                                                                    U
                                                                         r
                                        m80
                                        king-equivalent.epic
    One of these resistances is the previously identified thermal resistance θ that has been renamed θ S , to indicate
that this is the static thermal resistance, independent of wind velocity. The other thermal
                                                                                         √ resistance is a constant
θD (for dynamic), divided by the square root of wind velocity U . (The quantity θ D / U has the units degrees-C
per watt, so θS has different units than θD ).
    If the wind velocity U is zero, the dynamic branch resistance goes to infinity and the current through that
branch is zero. As the wind velocity increases, the dynamic branch resistance decreases and provides more of a
path for the thermal power, decreasing the temperature differential.
    Notice that the wind factor is the square root of the wind velocity. The effect is to make a small wind velocity
very noticeable, with decreasing effectiveness at higher velocities.
    At very small wind velocity, the dynamic effect predominates, and the thermal resistance may be approximated
by
                                                                        θ
                                                         θT    ≈        √D                                      (3.3)
                                                                          U
                                                                                                                (3.4)
www.syscompdesign.com
                                                                                                                                                                                                                                                                 120
                                                           Vcc                              r                                      r
                                                                                      .........                              .........
                                                                                                ...                                    ...
                                                                               R1    ............                           ............      R2
                                                                                            r
                                                                                                 ..                                     ...                            .......
                                                                                             ....                                   ...                                      .......
                                                                                                                                                                                    .......
                                                                                                                                                                                          ........
                                                                                                                                   r
                                                                                                                                                                             -                   .......
                                                                                                                                                                                                        .......
                                                                                                                                                                                                              .......
                                                                                                                                                                                                                    .
                                                                                                                                                                                     U1 ...................
                                                                                                                                                                                                    . ..
                                                                                                                                                                             + ............
                                                                                                                                                                                     .....
                                                                                                                                                                             ........
                                                                                                                                                                                                                                 r
                                                                                                                                                                       .......
                                                                               Q1                                                        Q2
                                                                                      ..                                         .......
                                                                            .......                                                     ..
                                                                                                               r
                                                                            ..........                                               ....
                                                    ..
                                                     .  ..   . ..    .
                                                                     ...
                                                                       ...
                                                                         ..          ..                                          .......                                                                                      .......
                                                   .. ... .. .... ....
                                                                ... .......
                                                           ...... ...... .                                                                                                                             Output Voltage eo
                                                                ......
                                                         W                                                       ...                                                               (negative with increasing wind)
                                                                                                           ...... .......
                                                                                                      ..... ... ... ...                                                                                                        .......
                                                                                                         ... .... ...
                                                                                                            .............                                                                                                  . . .
                                                                                                                                                                                                                        .... .... ....
Vee r
     In calm air, the thermal resistances of the two transistors are equal, forcing their junction temperatures to be equal
     as well.
         Now suppose that Q1 is cooled by moving air. Then its base-emitter voltage will tend to increase, causing it
     to conduct less base current, causing it to conduct less collector current. A lower collector current I c1 results in
     a higher voltage at the inverting input to the op-amp. The op-amp responds by lowering the base voltage of Q2,
     lowering the collector current of Q2 until it is again equal to the collector current in Q1.
         Putting it another way: the negative feedback action of an op amp forces the inverting and non-inverting
     terminals to equal voltages. In this case, the negative feedback action forces the two collector resistors R1 and
     R2 to have the same voltage across them and consequently the same current through them. This ensures that the
     collector currents and voltages of the two transistors are forced to be equal, and therefore that they dissapate equal
     power. The feedback signal eo is a measure of the cooling effect on Q1, and therefore the wind velocity.
         A very simple circuit that demonstrates this concept is shown in figure 3.8.
                                      Vcc                                 q                     q                                                                 q
                                      +9V
                                                                  .                             .
                                                            .........                     .........
                                                                          q
                                                         R1 .............                            .
                                                                                          ............ R2
                                                                                                                                                                                                         q
                                                                        .                             .                                             .......4
                                                                  ....                          ....                                                      .......
                                                                                                q
                                                    56Ω                                                   56Ω                                      2 - ..........741
                                                                                                                                                                  .......
                                                                                                                                                                        ....... 6
                                                                                                                                                                              ......
                                                                                                                                                                U1 ...............                                                              ......
                                                                                                                                                                        .......                                                              Output Voltage eo
                                                                                                                                                          +       .......
                                                                                                                                                   3 ...............                                ..........
                                                                                                                                                                                                               .                             (+1.5 to -7.5V)
                                                                                                                                                     .
                                                                                                                                                                                                    ............ R4
                                                                                                                                                                                                         q
                                             Q1                                                           Q2                                                7                                                  .
                                                                                                                                                                                                           .... 24KΩ
                                         2N4401                                                           2N4401
                                                                           .                   .......
                                                                  .......                             .
                                                                                 q
                                                                                                        .
                                                                  ..........                        ..
                                 ..... ..... ..... ................                            ........
                                                   ... .....                                                                                                                                              .
                                                                                                                                                                                                    .......... R5
                                             ....... .... .                                                                                                                                                    .
                                                   .....                                                                                                                                            ........... 100Ω
                                      W                                                                                                                                                                    .....
                                                                               .......... R3                                                                                                                                                      .......
                                                                                          .
                                                                               ............ 110Ω, 1/2W
                                                                                                                                                                                              ..... ..... .....                          ..... ..... .....
                                                                                 q                                                                                q
                                                                                      .....
                                               Vee
                                               -9V
www.syscompdesign.com
Wind Speed                                                                           3.6 A Constant Power Anemometer
     In the original circuit, the output voltage of the op-amp is tied directly to the base of a transistor, and so the
output voltage will change only a few millivolts as transistor Q1 is cooled by moving air. In the practical circuit
of figure 3.8, a voltage attenuator between the output of the op-amp and the base of Q2 to forces the output signal
eo to change by larger amount to generate the same feedback signal. If the gain of the attenuator is 1/K, then the
change in output is multiplied by the factor K. For figure 3.8,
                                                              R5
                                                  K    =
                                                            R4 + R5
                                                             100
                                                       ≈
                                                            24000
                                                  so
                                                1/K    = 240
The change in the base-emitter voltage, which is proportional to the cooling effect, is multiplied by a factor of
240 as the output voltage.
   As shown, the circuit of figure 3.8 has several limitations:
   • The power dissapated in R3 is rather wasteful. A transistor constant current sink would be more efficient
     and provide better common mode rejection in the bargain.
   • The circuit requires two power supplies. A single supply would be more convenient.
   • The output voltage runs from 0 volts to -7 volts. For input to a microprocessor A-D converter, a range
     between 0 and +5 volts is preferred.
    The circuit of figure 3.9 incorporates these refinements. The availability of a low cost, quad operational
amplifier, the LM324 makes the design much easier. The cost of an op-amp, which used to be in the tens of
dollars, is now below $0.20 each, which means they can be used with wild abandon in the circuit design.
Design Review
Now that we have a design for the circuit, it is important to check that static (DC) requirements are met. For
example, we must ensure that the transistors are not cutoff or saturated, and that the DC conditions into the
op-amps allow them to work correctly.
www.syscompdesign.com
                                                                                                                                                                                                                                                                                                                                                         122
                                           q                q                                                                                                    q                   q                             q
                                                                                                                                                R1 ....                                        R2                                                        U1: LM324N
                                                                                                                                                   .......                        ...........
                                                                                                                                                                 q
                                                                                                                                                      .....                                  .
                                                                                                                                                                                  ............ 56Ω                                                       Q1, Q2, Q3: 2N4401
                                                                                                                                               56Ω ............
                                                                                                                                                                                                                                               q                                     q
                                                                                                                                                                                             .         .......4
                                                                                                                                                                .                        ....                .......
                                                                                                                                                                                     q
                                                                                                                                                                                                     6 - ................                                                                                                   .
                                                                                                                                                                                                                           ....... 7                     R9 10k                                R10                      ....
                                                                                                                                                                                                                                 .......                          . .                                   . .
                                R6 .... R8 ...........                                                                                                                                                             U1B ...............                   .....................                  .....................   .....
                                   ......               .....                                                                                                                                                                                                        .                                       .           ....
                               11k .............. 1k ...........                                                                       W                                                                    + ..............
                                                                                                                                                                                                                    .                                 R4                                          10k                   .
                                                         .                                                                                .....                                                                    ..                         .
                                          ....                                                                                    ......... ....... .                                                5 ......... ..
                                                                                                                                                                                                                  .                        . .
                                                                                                                                                                                                                                         ........
                                           q
                                                                                                                                                                                                       .                                            .
                                                                                                                                          ..... .....
                                                                                                                                              ... .                                                                                      ........... 12KΩ
                                                                                                                qq                                                                                                                             q
                                                                             ......                                                           .........
                                                                                                                                                                                                           11                                      .
        12V                                                                .......
                                                                                 .                                                                                                                                                             ....
                                                                        12 + ................                             R13                     Q1                                      Q2
                                                                                            ....... 14                                                            .                 .......
                                                                                                                                                          .......
                                                                                                                                                                             q
                                                                                                  .......                                                                                  .
                                                                        13       U1D ...............                 .......................
                                                                                                                                                          .........                     ..
                                                                                            .
                                                                                 - .............                                                                  .                 ........
                                                                                        ..                              100Ω
                                                                                  .......                                                                                                                                                   ........... R5
                                                                            .......
                                                            q
                                                                                                                                                                                                                                                        .
                                                                                                                                                                                                                                             ...........
                            R7 ....                                         .......                                                                                                                                                                    .. 100Ω
                               ......                                             .......                                                                                                                                                          ....
                          5600 ..............                             3 + ................
                                                                                                ....... 1                 R14                               Q3 .......
                                          .....                                                       .......                                                  .
                                                                                                                     .......................
                                                                                                                                                                                                                                                                                                                                q
                                                                          2             U1A ...............                                                           .........
                                                                                                                                                                                                                                                                                              ......
                                                                                                                                                                                                                                                                                            .......
                                                                                                                                                                                                                                                                                                  .
                                                                                 - .............                                                                              .                                                                                                          10 + ................
                                                                                                                                                                             q
                                                                                    .....
                                                                                        ...                             100Ω                                                                                                                                                                                 ....... 8
                                                                                  ..                                                                                                                                                                                                                               .......
                                                                            .......                                                                                                                                                                                                               U1C ...............                 .....
                                                                                                                                                                                                                                                                                                 - ..............
                                                                                                                                                                                  R3                                                                                                       9 ...............                         Output Voltage eo
                                                                                                                                                                                                                                                                                             .
                                                                       .
                                                                    .... VR1
                                                       ..............                                                                                                    .......... 33Ω                                                                                                                                                  (0 to +4V)
                                                                                                                                                                                                                                               q                                     q
                                                           .                                                                                                                        .
                                                                         1N5221                                                                                          ............
                                                                                                                                                                                    .
                                                                                                                                                                                ....
                      q                    q                q                                                                                                                q                                     q                                                                                                                    q
                                                                   2V                                                                                                                                                                                         R11                                 R12
                                                                                                                                                                                                                                                                      . .                               . .
                                                                                                                                                                                                                                                             .....................              .....................                 ......
                                                                                                                                                                                                                                                                         .                                   .
                                                                                                                                                                                                                                                               10k                                10k
                 . . .                                                                                                                                                                                                                                                                                                             . . .
              .... .... ....                                                                                                                                                                                                                                                                                                    .... .... ....
         Starting with the information provided in the text, you should be able to determine the voltages and currents
     in the circuit of figure 3.9. As it says on the memo paper of a colleague: ”I’ve got a good idea: you do this instead
     of me.” Work through the following list of questions about the circuit.
        1. Assuming that the current out of the R6-R7 voltage divider tap is negligible compared to the divider current
           (an assumption that we’ll confirm in a moment) what is the voltage at the base of transistor Q1?
2. What is the voltage across R3? What is the tail current of the differential amplifier Q1-Q2?
3. The voltage across transistor Q3 must be sufficient to ensure that it is not saturated. Calculate V ce3 .
        4. A reasonable minimum value of β for the 2N4401 is 50. Estimate the base current of Q1. Does this confirm
           our original assumption about the voltage divider?
5. Assuming that there is no cooling effect in Q1, calculate the collector voltage for Q1 and Q2.
        7. The thermal resistance of the 2N4401 is given on the data sheet as 357 o C/watt. Calculate the junction
           temperature, degrees centigrade above ambient, of Q1 and Q2. The data sheet maximum is 135 o C. Is this
           likely to be exceeded in warm ambient conditions?
        8. The output differential amplifier should not load the source that is driving it. By eyeballing the circuit,
           without calculations, make an argument that this is in fact the case.
        9. Resistors R9, R10, R11 and R12 are not critical in absolute value, but should match each other as closely
           as possible. Why? What would be the effect if they are not matched?
www.syscompdesign.com
Wind Speed                                                                     3.7 Constant Temperature Anemometer
 10. If the op amp common mode input voltage (the average voltage at the two inputs) exceeds its allowable
     range, the op amp will cease to work correctly. The common mode input voltage range of the LM324 op
     amp is given on its data sheet as 0 to Vcc − 1.5 volts. Does this circuit meet that requirement? What does
     this requirement tell you about the range of values for resistors R1,R2?
 11. The output voltage range of the LM324 is 0 to Vcc − 2.0. Is this a problem for any of the op amps in this
     circuit?
 12. Estimate the total power consumption of the circuit, in milliwatts.
 13. The LM324 op amp was chosen for this circuit because its output voltage can go to zero volts. The output
     of the 741 op-amp, in contrast, is limited to moving with 1.5 volts of either supply rail. In which of the
     three op-amp positions of figure 3.9 would a 741 not operate correctly?
 14. An interesting way to view this circuit: Transistors Q1 and Q2 form the differential input to an operational
     amplifier, configured as an inverting amplifier, in which R4 is the feedback resistor and R5 the input resistor.
     The offset voltage of this new op-amp is enhanced by differentially heating the input transistors (actually,
     heating them both and cooling one of them). The offset voltage is amplified, as always, by the gain of
     the op-amp circuit.Redraw the circuit, including as many components as possible in this new operational
     amplifier.
www.syscompdesign.com
                                                                                                                                                                                                                                                                                                                                                                                   124
Output Voltage eo
                                                                                                                                                                                                        r                   r
                                                                                                                                                                                          +
                                                                                                                                                                                         .....
                                                                                                                                                                                                    -
                                                                                                                                                                                                  .....
                                                                                                                                                                                                   ....                  ....
                                                                                                                                                W..................
                                                                                                                                                                  ..... .......
                                                                                                                                                                      ..... ...
                                                                                                                                                                          .. .                                                                                                                               Vce2
                                                                                                                                                                         ..........
                                                                                                                                                                                                                                                         r
                                                                                                                                                                                  Q1                                       .
                                                                                                                                                                                                                             Q2
                                                                                                                                                                                                    ..                     .......
                                                                                                                                                                                           .......                                ..
                                                                                                                                                                                           ..........                          . ..
                                                                                                                                                                         .          .                ..                    .......                      .
                                                                                                                                                                      .... ..... ....                                                          ..... .... .....
                                                                                                                                                                                                        r
                                                                                                                                                     ..
                                                                                                                                              .......
                                                                                                                                       .......
                                                                                                                               .......
                                                                                                                                                                                                                            r
                                                                                                                  .. ..
                                                                                                                      . .......
                                                                                                                        .                       -
                                                                                                               ...
                                                                                                        .......
                                                                                             ............                    U1
                                                                                                        ........
                                                                                                                .......
                                                                                                                       .......
                                                                                                                              ....... +                                                                                                                                                                      Vee
                                                                                                                                     .......
                                                                                                                                            ........
                                                                                                                                                    ...                                          ..........               ..........
                                                                                                                                                                                             .... ....                .... ....
                                                                                                                                                                                          .... ... ... ...         .... ... ... ...
                                                                                                                                                                            IE                                                                 IE
                                                                                                                                                                                                                            r
                                                                                                                                                                                             ... ... ...              ... ... ....
                                                                                                                                                                                               .............             ............
                                                                                                                                                                                                                                                                                 r
                                                              R1 Q3                                                                 Output to Diff Amp                                                                                                                                       LM317
                                                             510Ω
                                                              . .
                                                                         ....
                                                                   .......                                                                                                                                             +7V
                                                                  .. ...
                                                                                                     r                                                                                                                           r
                                                          ..... ....... ... ....                                                                          .........                         .........
                                                              ... ...                   ...........                                                                    +              -
                                                                                                  ...                                                                                                                                                                             .. Out                       In
                                                                                                                                                                                                                                                   R4                     ...........
                                                                                                     r
                                                           C2                                                                                                                                                                                                                         .....
                                                                                                                                                                                                                                                                                 r
                                                                                                                                                                                                                                                                          ............
                                                         220p             ....
                                                                              ..
                                                                                                                                                                                                                                                 240Ω                                ....
                                                                                                                                                                                                                                                                                   .....
                                                                                                                                                                                                                                                                                                                                                                             Vcc
                                                                                                                                                                            r
                      C1                                                       ..                                            R2                                                               R3                                                                                                                                                                             20V
                                                                             ...
               r
                     100n                                    ..   ..   .
                                                          .... .... ....
                                                                        . ...                      .......
                                                                                                          ....
                                                                                                                            100Ω
                                                                                                                              . .
                                                                                                                                                                                             100Ω
                                                                                                                                                                                              . .
                                                                                                                                                                                                                            ....
                                                                                                                                                                                                                      .......               R5                                                Adj
                                                                                                                                      .. ..                                                       .. ..                                                                         ..
                        .       ..                                                                                            ......................                                      ......................                                                          ..........
                              ..
                          .....
                                                                                       Q1               ......
                                                                                                   ........
                                                                                                                                  .. ..                                                       .. ..                   ...........
                                                                                                                                                                                                                               ...
                                                                                                                                                                                                                                        Q2 1k1                                       .....
                                                                                                                                                                                                                                                                          ............
                                                                                                                                                                                                                                                                                                                                  ..
                                                                                                                                                                                                                                                                                                                            ..........
                                                                                                                                                               .. .. ..
                              ...                                                                                                   .                       .... .... ....                                                                                                           ....                                               .....
                                                                                                                     ................
                                                                                   r                 r                                                                                                                                                                                                                                                                   r
                                ..                                                                                                                                                                                                                                                .....                                     .............       2k
                                                          4.....................                                   .... .....
                                                                                                                 ........... ........
                                                                                                                                                                                                                                                                                                                                        ...
                                                                                                                                                                                                                                                                                                                                    .....
                                                            ..
                                                    ........
                                                                         - 2
                                                                                                                               .... .....
                                             .......
                                                                                                                                                                                                                                 r
                                           ..
                                            .                                                                                        ......
                       1           ........                                                                                                                                                                                                                        .. .. ..
                                                                                                                                                                                                                                                                .... .... ....
                                ....
                                                                                                                                              W
                                                                                                                                                                                                                                                                                                                                    r
                              ..
                      ...........                                                                                                                                                                                                                                                                           .....                                        .. .. ..
                                      ....... U1A
                                .......                                                                                                                                                                                                                                                              .......                                         ..... ..... .....
                                                                                                                                                                                                                                                                                              .......
                                            .......                                                                                                                                                                                                                                    .......
                                                          ....... +                                                                                                                                                                                                             .......                             5
                                                   .......                                                                                                                                                                                                                   . .
                                                                                                                                                                                                                                                                          ..
                                                                                                                                                                                                                                                                           ..
                                       11
                                                                ........
                                                                       ....... 3
                                                                             ...
                                                                                                   .......
                                                                                                          ....
                                                                                                                                                                                                                                .......
                                                                                                                                                                                                                                        ....        7.....................                              +
                                                                                                                                                                                                                                                       ........
                                                                                                        ......                                                                                                                        .....                    ....... U1B                                                                                                   Vee
                                                                                                   ........                                                                                                                     .........                            .......
                                                                                                                                                                                                                                                                            .......                                         ... ..
                                                                                                                                                                                                                                                                                    .......             -                     ......            D1
                                                                                                     r
                                                                                    Q4                                                                                                                         Q5                                                                         ........
                                                                                                                                                                                                                                                                                                  .......           6           ..
                                                                                                                                                                                                                                                                                                                                                1N4148                       5V
                                                                                                                                                                                                                                                                                                         .......
                                                                                                                                                                                                                                                                                                                .
                                                                                                                                                                                                                                                                                                                            ... ...
                                                                                                                                                                                                                                                                                                                              ......
                                                                                                                                                                                                                                                                                                                                ..
                                                                                                                                                                                                                                                                                                                                                D2
                                                                                    R6                                                                                                                       R7                                                                                                                                 1N4148
                                                                                                   ..                                                                                                                           ..
                                                                                             ..........                                                                                                                   ..........
                                                                                                         .....                                                                                                                       .....                                                                                  ... ..
                                                                                   56Ω       ............                                                                                                   56Ω           ............                                                                                        .....             D3
                                               r                                                     r                                                                                                                           r                                                                                                  r
                                                                                                        .....                                                                                                                        .....                                                                                      ..
                                                                                                     ....                                                                                                                         ....                                                                                                          1N4148
         In the practical circuit, the output current of the op-amp U1A is not sufficient to heat transistor Q1 so its output
     current is augmented by the emitter follower Q3.
         All feedback loops have the potential to oscillate, and this one is especially enthusiastic: a high frequency
     waveform persisted at the output of U1A until C1, C2, R1, R2 and R3 were added to the circuit. Emitter followers
www.syscompdesign.com
Wind Speed                                                    3.8 Comparing Thermal Anemometers: A Morality Tale
have a strong tendency to radio frequency oscillation, and a common fix is a small resistor in the base lead, which
is the function of R1, R2 and R3 in the circuit.
     The constant voltage for the collector of Q2 is supplied by a three-terminal regulator IC, U2. An op amp
voltage regulator could have been used, but the LM317 has much better regulation than a simple op-amp circuit,
and can dissapate more power to boot.
     Op-amp U1B and transistors Q5 and Q5 form the constant current sinks for Q1 and Q2 respectively. For their
currents to be equal, Q4 and Q5 must be similar and at the same temperature.
     Preliminary tests indicated that the differential output voltage could go as high as 7 volts, With a fixed voltage
across Q2 of 7 volts and a 2 volt margin at the output of op-amp U1A, this requires that Vcc be at least 18 volts,
so 20 volts is specified here.
                                                                Vbe
                                                   Ic   = I s e VT                                                (3.5)
where
www.syscompdesign.com
                                                                                                                                                                                               126
                                     Vcc                                q             q                                       q
                                     +9V
                                                                 .                       .
                                                           .........               .........
                                                                        q
                                                        R1 .............                      .
                                                                                   ............ R2
                                                                                                                                                         q
                                                                       .                       .               .......4
                                                                 ....                    ....                        .......
                                                                                      q
                                                  56Ω                                      56Ω                2 - ..........741
                                                                                                                             .......
                                                                                                                                   ....... 6
                                                                                                                                         ......
                                                                                                                           U1 ...............                                 ......
                                                                                                                                    .......                                Output Voltage eo
                                                                                                                      +       .......
                                                                                                              3 ................                    ..........
                                                                                                                                                               .           (+1.5 to -7.5V)
                                                                                                                .
                                                                                                                                                    ............ R4
                                                                                                                                                         q
                                           Q1                                              Q2                          7                                       .
                                                                                                                                                           .... 24KΩ
                                       2N4401                                              2N4401
                                                                         .           .......
                                                                 .......                   .
                                                                               q
                                                                                             .
                                                                 .........               ..
                                ..... ..... ..... ................                   .......
                                                  ... ......                                                                                              .
                                                                                                                                                    .......... R5
                                            ....... ....                                                                                                       .
                                                  .....                                                                                             ........... 100Ω
                                     W                                                                                                                     .....
                                                                             ........... R3                                                                                     .......
                                                                                        .
                                                                             ........... 110Ω, 1/2W
                                                                                                                                               ..... ..... .....       ..... ..... .....
                                                                               q                                              q
                                                                                    .....
                                              Vee
                                              -9V
                                                                                                                                                  Vbe1
                                                                                                        Ic1       = Is1 e VT 1
                                                                                                                                                  Vbe2
                                                                                                        Ic2       = Is2 e VT 2
Feedback action in this circuit keeps the two collector currents equal so
                                                                                                          Vbe1                                               Vbe2
                                                                                                     Is1 e VT 1              = Is2 e VT 2
        For matched transistors, the saturation currents are equal and cancel. Taking the natural log of both sides, we
     have
                                                                                                          Vbe1                                VT 1
                                                                                                                              =
                                                                                                          Vbe2                                VT 2
Now,
                                                                                                                                              kT
                                                                                                           VT               =
                                                                                                                                              qe
www.syscompdesign.com
Wind Speed                                                     3.8 Comparing Thermal Anemometers: A Morality Tale
where
 k is Boltzmann’s constant
 T is the absolute temperature
 qe is the charge on the electron
   Substituting for VT in 3.6, we have
                                                               ηkT 1
                                                  Vbe1          qe
                                                          =
                                                  Vbe2         ηkT 2
                                                                qe
                                                               T1
                                                          =
                                                               T2
    In words, the ratio of base-emitter voltages is the same as the ratio of the junction temperatures of the two
transistors.
    By KVL around the base-emitter loop of Q1 and Q2:
                                                               eo
                                            −Vbe1 + Vbe2 −              = 0
                                                               Kg
                                                   Vbe1            T1
                                                           =                                                     (3.6)
                                                   Vbe2            T2
www.syscompdesign.com
                                                                                                                                                                                                128
Output Voltage eo
                                                                                                                                    r                  r
                                                                                                                             +
                                                                                                                            .....
                                                                                                                                       -
                                                                                                                                     .....
                                                                                                                                 ....                ....
                                                                                           W..................
                                                                                                     ..... .......
                                                                                                         ..... ...
                                                                                                             .. .                                                                      Vce2
                                                                                                            ..........
                                                                                                                                                                             r
                                                                                                                     Q1                               .
                                                                                                                                                        Q2
                                                                                                                                   ..                 .......
                                                                                                                          .......                            ..
                                                                                                                          ..........                      . ..
                                                                                                         .          .               ..                .......                .
                                                                                                      .... ..... ....                                               ..... .... .....
                                                                                                                                    r
                                                                                                ..
                                                                                         .......
                                                                                  .......
                                                                          .......
                                                                                                                                                       r
                                                             .. ..
                                                                 . .......
                                                                   .                       -
                                                          ...
                                                   .......
                                        ............                    U1
                                                   ........
                                                           .......
                                                                  .......
                                                                         ....... +                                                                                                     Vee
                                                                                .......
                                                                                       ........
                                                                                               ...                               ..........           ..........
                                                                                                                             .... ....            .... ....
                                                                                                                          .... ... ... ...     .... ... ... ...
                                                                                                              IE                                                    IE
                                                                                                                                                       r
                                                                                                                             ... ... ...          ... ... ....
                                                                                                                               .............         ............
        In this circuit, feedback action forces the base-emitter voltage of the two transistors to be equal. Since the
     base-emitter voltage is a known function of temperature, the two transistors must be at the same temperature.
        In both cases, the thermal dissapation equations hold:
                                                                                                     T1                  = TA + θ1 PD1                                                         (3.7)
                                                                                                     T2                  = TA + θ2 PD2                                                         (3.8)
     where
        T1 ,T2      are the junction temperatures of the two transistors
          TA        is the ambient temperature
        θ1 , θ 2    are the thermal resistances of the two transistors to ambient
      PD1 , PD2 are the power dissapations of the two transistors
        The temperatures can be in degrees Celcius or in Kelvins, as long as they are all in the same units. We’ll
     choose Kelvins, since it is temperature in Kelvins that is used in the junction temperature equation for the BJT,
     and this is consistent with equation 3.5.
        Since these two temperatures are equal,
         Ambient temperature TA cancels out, which is a hopeful sign. We are interested in the thermal resistance θ 1
     of the cooled transistor, which we can relate to wind speed using King’s equation, so solve for θ 1 :
                                                                                                                                               PD2
                                                                                                            θ1               =                     θ2                                         (3.10)
                                                                                                                                               PD1
The power in each transistor is equal to its collector-emitter voltage times its collector current, so
www.syscompdesign.com
Wind Speed                                                          3.8 Comparing Thermal Anemometers: A Morality Tale
                                                                 Vce1 Ic1
                                               θ1       =                 θ2                                (3.13)
                                                                 Vce2 Ic2
The collector currents cancel because they are equal, and we have that
                                                                  Vce1
                                                   θ1        =         θ2                                   (3.14)
                                                                  Vce2
    Referring now to the thermal model of the cooling effect, figure 3.6 on page 119, the thermal resistance of the
reference transistor is simply θs , the static thermal resistance. For our circuit,
θ2 = θs (3.15)
                                                                θD
                                                  θ1     = θs k √                                           (3.16)
                                                                  U
   where U is the wind speed and the other terms are constants.
   Applying the equation for parallel resistances:
                                                                      √
                                               1                 1      U
                                                        =           +                                       (3.17)
                                               θ1                θs   θD
Substitute for θ1 from 3.17 into 3.14 and solve for the wind velocity:
                                                                 2
                                                       = θD Veo
                                                        
                                              U                                                             (3.18)
                                                          θS ce2
    This is very nice. The wind velocity depends on some constants and the square of the output voltage. No
temperature stabilization, beyond that inherently provided by the circuit, is required. It’s very clear the supply
voltage Vce2 must be stabilized, but that the output is independent of other circuit parameters.
    Clearly, of the constant power and constant temperature designs, constant temperature is the one to pursue.
www.syscompdesign.com
                                                                                                                                                                                                                                                                       130
Current, mA
                                                                                                             r
                                                                                                                                             ....
                                                                                      ..........                                           .....
                                                                . ..              .... . ....
                                                       ....................   .... ......... ....                       .......                     ......
                                                            . ..                 ...              .
                                                                                     ..............
                                                                                                                                      70                 .......
                                                                                                                                                               ........
                                                                                                                                                                      ...........
                                      ..........
                                 .... ......
                                                       50Ω                                                                            60
                                                                                                                                                                                ...................
                              ....                ..
                                 ...
                Function            ...............
                                                                                                                                      50
                                                                                                             .
               Generator                                                                              ..........
                                                                                                                   ..                                                                                                               ...................
                                                                                                       ............     10Ω           40                                                                                  ...........
                                                                                                                  ...
                                                                                                              .....                                                                                                ........
                                                                                                                                                                                                            .......
                                                                                                                                                                                                       ......
                                       .........                                                                                      30
                                    .....
                                 ....
                                                                                                             r
                             .....
                              .
                            .
                           ..                                                                                                         20
                                                                                                                        .......
                                                                                                                                      10
                                                                                                                                                                                                                                                          .
                                                                                                                                                                                                                                                          ..........
Time, 50msec/div
         A suitable circuit for the operation of the Hot Wire anemometer is shown in figure 3.15.
         Transistor Q1 provides power to the resistor bridge, one branch of which is the hot wire. The operational
     amplifier senses any voltage between its input terminals and drives transistor Q1 appropriately until the voltage
     difference disappears, and the bridge is balanced. For equal values of R 1 and R2 , the bridge will balance when
     Rw = R 3 .
         Step by step:
     If wind cools the resistive sensor, its resistance will decrease. This causes the voltage at the non-inverting terminal
     of the op-amp to decrease and the output of the op-amp to increase. The increasing voltage at the output of the
     op amp increases the output voltage at the emitter of Q1 , increasing the current flow through the elements of the
     bridge, which increases the heat in the resistance wire Rw , causing its resistance to increase again. The net effect
     is that Rw = R3 , even when wind is cooling the resistance wire. However, the voltage across the bridge will
     increase when the resistance wire is cooled, and this may be used as a signal to measure the cooling effect.
         Because the circuit maintains the resistance wire at a constant resistance, it also maintains it at a constant
     temperature, so this is a type of constant temperature anemometer.
www.syscompdesign.com
Wind Speed                                                                                                                                                               3.9 The Hot Wire Anemometer
+Vcc
                                                              .......
                                                                     ..
                                                      Q1
                                                               r
                                                                   . ..
                                                              ........
........
                                                               r
                                                                                                                                                                ...
                                                                                                                                                             ......
                                                 ..                                    ..
                                           ........                              ........
                               R1 ..................               R3 ..................
                                                r
                                                                                                                 .......
                                               ....                                  ....                              ........
                                                                                                                              .......
                                                                                                                                    ...
                                                                                       r
                                                                                                                      + ....................
                                                                                                                                           .....
                                                                                                                        U1 .....................   Output Signal
                                                                                                                       - ................
                                                                                                                              ....
                                                                                                                       .......
                                                                                                                 .......
                                                 .                                    . ..
                                           ........                             ........ ........
                               R2 ..................               Rw........................     .............
                                                                              .
                                               ....                       ..... .... ........ ........
                                                               r
                                                                                                 . .... .....                                                  .....
                                                                                                          .... .....                                             ...
                                                                                                               ...
                                                                                                                  W                                            .......
                                                          .. . ..                                                                                         . .. .
                                                       .... .... ....                                                                                  .... .... ....
Detailed Analysis
The temperature Tw of the wire is typically maintained just below incandescence, about 1000 oC, much greater
than the ambient temperature. Then the power dissapation Pw is given by
                                                                                                                               Tw − T A
                                                                                        Pw                       =                                                                       (3.19)
                                                                                                                                  θ
                                                                                                                               Tw
                                                                                                                 ≈                                                                       (3.20)
                                                                                                                                θ
   where
where
www.syscompdesign.com
                                                                                                                      132
                                                                     Tw √
                                                      Pw    =             U                                        (3.22)
                                                                     θD
         Now that we have the wire power dissapation related to wind speed, we need to relate the wire power dis-
     sapation in the output voltage. In a normal resistor, the current is directly proportional to voltage. The power
     dissapated in the resistor is then given by the familiar
                                                                      V2
                                                        P       =                                                  (3.23)
                                                                      R
        In an incandescent lamp, the resistance of the filament increases as the applied voltage increases, so the current
     does not increase directly with the voltage. However, we’ll ignore this effect for the moment and deal with it later.
        Assuming that equation 3.23 is correct, then, the voltage Vw across Rw is
                                                                r
                                                      Vw    =        Pw                                            (3.24)
                                                                     RW
        If R3 is chosen to have the same resistance as Rw , the output voltage eo is simply twice Vw . Substitute for Pw
     from 3.22 and we have
                                                            r
                                                                Pw
                                               eo   = 2                                                            (3.25)
                                                                Rw
                                                            s√
                                                          Tw U
                                                    = 2                                                            (3.26)
                                                          θD Rw
                                                               1/2
                                                           Tw
                                                    = 2              U 1/4                                         (3.27)
                                                          θD Rw
         The bad news here is that the output voltage eo is proportional to the fourth root of the wind speed, which
     makes it a highly non-linear function, as shown in figure 3.16.
         In figure 3.16, the values of k1 and k2 were chosen that the wind speed and output voltage each vary from 0
     to 100 units, so that it is easy to compare the shape of the fourth root and square root functions. The fourth-root
     function changes value dramatically at low wind speeds and then only very slightly at high wind speed. When
     the output signal eo is applied to the input of an A-D converter, each resolveable increment in wind speed should
     cause at least one increment in the A-D converter reading. For an 8 bit converter, because the fourth-root function
     changes so slowly at high wind speed, the ability to detect small changes in wind speed becomes very poor.
         The square root function changes quickly at low wind speeds, but there is still sufficient slope to the function
     at higher wind speeds that the resolution is satisfactory.
         To deal with the fourth root function, the designer could increase the resolution of the A-D converter or place
     a squarer circuit between the wind sensor and A-D converter. Such non-linear function circuits are useful in many
     applications, so we shall spend the next section describing this one.
www.syscompdesign.com
Wind Speed                                                                                                                                                                                                                        3.10 Analog Squaring Circuit
                   100
                                                                                                                                                                                                                eo = k1 U 1/4
                                                                                                                                                                                                                eo = k2 U 1/2
                    80
                    60
    OutputVoltage eo
                    40
20
                     0
                         0                                     20                                                         40           60                                                                                    80         100
                                                                                                                           Wind Velocity
Output Current
                                                                                                                                                                           . . .
                                                                                                                                                                        .... .... ....
                                                                                                                                                                                                   I3
                                                                         r                                                                                                                                 r
                                                                                                                                                                                                    . . .
                                                                                                                                                                                                 .... .... ....
                                                                     VA
                                                           .......
                                                                                                                                                 Q1                                                      .......
                                                                                                                                                                                                                        Q4
                                                                                                                                                         ..
                                                                                                                                                   .......                               .....
                                                                                                                                                                                           ...                 ..
                                                                                                                                                   .. ..                                                     ...
                                                                                                                                       . . . ........                                                    .......
                               I1                                                                                                   .... .... ....
                                                                                                                                                              r
                                            ....
                                      ...... .......                                                                                             Q2                              Q3
                                                                                                                                                                                                           r
                                 ..... ......... ...
                                     ...              ..
                                        ...............                                                                                                       ..             .......
                                                                                                                                                    .......                         ..
                                                                                                                                                                    r
                                                                                                                                                    ..........                    ...
                                                                                  ........                                                                   ...             ........
                                                                                          .......
                                                                                                 .......
                                                                                                       .......
                                                                                         -                   .......
                                                                                                                   ........                                                                                 ...
                                                                                                                          .......
                                                                                                                                .                                                                     ...... .......
                                                                                                     U1 ..................                                                                       ..... ... .. ....
                                                                                                                                                                                                    ... ..... ...
                                                                                                                                                                                                                        I4
                                                                                       + .................                                                         VB
                                                                                                                                                                                                       ..............
                                                                                                .
                                                                                                . .
                                                                                                  ..
                                                                                         ......
                                                                                  .......
                                   . . .                            . . .                                                                                                                       . . .
                                .... .... ....                   .... .... ....                                                                                                              .... .... ....
www.syscompdesign.com
                                                                                                                         134
        The operational amplifier establishes that voltage VA is a virtual earth, and stays at zero volts. It also makes
     VB sufficiently negative that all the input current I1 flows through transistors Q1 and Q2.
        The squarer circuit relies on the exponential relationship between base-emitter voltage and collector current:
                                                                          Vbe
                                                         Ic       = I s e VT
         This relationship holds over a very wide range of collector currents: at least 1000:1, so the dynamic range of
     a non-linear function circuit using this princible will be similar.
         Taking the logarithm of both sides and re-arranging:
         Adding logarithms is equivalent to multiplication. Because the collector current of a transistor is exponentially
     related to its base-emitter voltage, the sum of base emitter voltages creates a product of collector currents, an effect
     that Gilbert [64] calls the translinear princible.
         Summing base-emitter voltages around the loop of transistors, starting with Q1, we have
                                             I1         I2         I3         I3
                                    −VT ln      − VT ln    + VT ln    + VT ln           = 0
                                             Is         Is         Is         Is
         All the transistors are assumed to be matched and so all the saturation currents I s are equal. If the transistors
     are all at the same temperature, then the VT terms are also equal. Transistors Q1 and Q2 are in series, so I1 = I2 .
     Applying these simplifications, we have
                                                       I1      I3      I3
                                               −2 ln      + ln    + ln          = 0
                                                       Is      Is      Is
         Taking the antilog of both sides,
                                                             I3 I4
                                                                       = 1
                                                              I12
         or
                                                                       I2
                                                             I3      = I1
                                                                        4
        In this circuit, I4 is fixed, so it simply acts as a scaling factor, and the output current I 3 is proportional to the
     square of the input current I1 .
www.syscompdesign.com
Wind Speed                                                                                                                                                                                                                                                                                           3.11 A Hot Wire Anemometer Circuit
                       Vcc                                                                                                                                                                                                                                                                                                                               C4
                                        .....
                      +15V
                                         q
                                                             C2                                                                                                                                                                                                                                                                                          1µ
                                                             500p                                                                                                                                                                                                                                                                                                      ..
                                                              .        .                                                                                                                                                                                                                                                                                          .....
                                                                  .....
                                                                                                                                                                                                                                                                                                                                                q                                     q
                                                                                                                                                                                                                                                                                                                                                                      ...
                                                                                  q
                                                                      ...
                                                                                                                                                                                                                                                                                                                                                            R13
                    R6 ...........      .......                                                                                                                                                                                                                                                                                                            ....................
                                                                                                                                                                                                                                                                                                                                                q
                               .
                    2k .............    .........
                                                                                                                                                                                 R7                                                                                                                                                                         500k
                                  q                                                                                                                                                                       q                                                                                                                                                                           q
                                                     Q5                                                                                                                                                                                                                                             I3                                              .......
                                                                                                                                                                                                                                                                                                                                                          .......
                                                                                                                                                                                                                                                                                                                                                q
                                                                                                                                                                                 150K, 1%                                                                                                                                                                        .....
                                                                                                                                                                                                                                                                                                                                                          - ................
                                q q
                                                     2N6533                                                                                                                            . .                                                                                                                                                                                 ...
                                                                                                                                                                                                                                                                                                                               q
                                                                                                                                                                                ..................      ...                                                                                                                                                       U3 ..............
                                                                                                                                                                                   .                  ...
                                                                                                                                                                                                    ...                                                                                                                                                 + ................
                                                                                                    C1                                                                                            ...                                                                                                                                                       ... .
                                                                                                                                                                                                                                                                                                                                                                .
                                                                                                                                                                                               ....
                                                                                                                                                                                                .                                                                  Q1 .......                            ......
                                                                                                                                                                                                                                                                                                                                                          .
                                                                                                                                                                                                                                                                                                                                                    .......
                                                                                                                                                                                                                                                                                                                                                            .
       R1                                                                                           100n                                                                                      .
                                                                                                                                                                                            ...                                                                                                            .                                                           LT1002
                                                                                                                      ...
                                                                                                                  .....                                                                                                                                           . . . .........
                                                                                                                                                                                                                                                                                               q
                  ..                                      .
                                                    .........                                                                                                                                                                                                  .... .... ....
 500k, 1% ...............
                                                         q                                      q
                                                                                                                      ...                                                                                                 C3                                                                                                  .......      Q4                                             ......
                                        R3          ..........               R4                                                                                              R8 ......
                                                                                                                                          q                           q                                                                                                                                                        q .... I4
                     .....
                      ...                                 .....                                      .......
                                                                                                           .......                                 R5                               ......                                1n.                                                                                         Q3      ........
                       q
                                       27Ω                                   2k. ..                               .....                                                     33k .............                                    .                                                                                                                                                Output Signal
                                        1W                                  .................
                                                                               .
                                                                                                          - .................                      2k                                                                        .....
                                                                                                                                                                                                                                ...
                                                                                                                                                                                                                                                                    Q2                   .......
                                                                                                                                                                                                                                                                                                                  .......
                                                                                                                                                                                                              q                                                                                      q
                                                                                                                              ..                   .. ..
                                                                                                                                               ..................
                                                                                                                 U1 ...................                                                                                                                                                  ........
                                                                                                                                                                                                                                                                                                                  ........
                                                                                                                                                                                                                                                                                                                                                                                          ......
                                                                                                                                                                                                                                              q                                 q
                                                                                                         + ............                                                                                           .......                               R9                                      .                                  .....
                                                                                                                                                                                                                        .......
                                                                                                            ......                                                                                                            .....
                                                                                                     .......                                                                                                           - .................              2k
                                                                                                                   LT1002                                                                                                                ..             .. ..
                                                                                                                                                                                                                                                    .................                                                        .......... R10
       R2 .....                                                                                                                                                                                                                U2 ..............        .
                                                                                                                                                                                                                                                                                                                             ...........
                                              ............. Rw                                                                                                                                                        + ................
             .                              .. .... ...                                                                                           D1                 ....                                                                                                                                                          ....
 100k, 1% ...............           .............. ......... #328                     Lamp                                                                          .. ..                                               .......                                                                                                      12k
                                                         q                                                                                                            q q                                 q                           q                                         q                                                               q
                                                                                                                                                                                                                  .......                              D2 ... ...
                      ... W......... ........ ......                                                                                          1N4148                                                                                LT1002                  ..
                           ....... ......
                                 ....                                                                                                                                                                                                              1N4148 .
                                                                                                                                                                                  .                                           . . .
                                                                                                                                                                             ......                                        .... .... ....
                                                                                                                                                     R11 ...................                                                                     VR1
                                                                                                                                                                                                                                                                                q
                                                                                                                                                                                                                                                                                    ...
                                                                                                                                                                 ..
                                                                                                                                                      1k ..............                                                                                                 .............
                                                                                                                                                                                                                                            LT1004-1.2                      . .
                                                                                                                                               Zero Flow
       • The resistance wire is a #328 lamp, rated at 6 volts and 200mA. The glass envellope is removed and the
         lamp is operated below incandesence.
       • The outputs of op-amps U1 and U2 are both limited by 2kΩ resistors and clamped with diodes. The
         clamping circuit ensures that an op-amp cannot produce the wrong polarity of voltage and damage the
         circuitry it is connected to.
• Feedback capacitances around the op-amps helps to prevent spurious oscillation in the circuit.
       • In the circuit analysis, the resistors in each arm of the bridge were assumed to be equal. In this circuit, they
         are in the ratio of 5:1, which has the effect of increasing the voltage across the bridge and, more importantly,
         any change in the voltage across the bridge.
• Resistor R6 supplies ’start-up’ current to drive the feedback loop into action.
www.syscompdesign.com
                                                                                                                     136
        • The output voltage from the anemometer sensor, at the emitter of Q6, is converted to a current by resistor
          R7. The squarer circuit generates a current I3 proportional to the square of this current. Finally, op-amp U3
          acts as a current-voltage converter to create an output voltage proportional to I 3 .
        • Voltage regulator VR1 creates a very stable -1.2 volt supply which is used for the Zero Flow pot and, via
          resistor R10, to generate the reference current I4 .
        • Resistor R13 sets the overall circuit gain, output voltage per unit air speed, so it may need adjustment to set
          a suitable range for the microprocessor A-D converter.
        • Transistors Q1 through Q4 are a matched transistor array such as the Harris CA3046 or equivalent. Notice
          that the substrate of the array must be connected to -15V to properly bias these transistors.
                       0.06
                                                                                              1    0.436
                                                                                        I=   23.6 V 3      3
                       0.05                                                                  3
                                                                                    3
                                                                                3
                                                                        3
                       0.04                                       3
                                                             3
               Lamp                                  3
              Current, 0.03                    3
                mA                   33
                                   33
                                  3
                       0.02      3
                                3
                       0.01
                           03
                            0                  0.5             1                         1.5                   2
                                                         Lamp Voltage, V
www.syscompdesign.com
Wind Speed                                                                      3.12 Heated Thermistor Anemometer
                                            P   = V ×I
                                                           1
                                                = V ×          V 0.436
                                                          23.6
                                                      1
                                                =         V 1.436
                                                     23.6
    Comparing this with P = V 2 /R, it’s clear that the lamp power does not increase as rapidly with voltage as
the power in a fixed resistor. In the hot wire anemometer, this is an advantage because it tends to straighten out
the transfer function, output voltage/wind speed, of the device.
                                                          1                1
    The output function is now proportional to U 3.46 rather than U 4 . After squaring, the output function is
                    1
proportional to U 1.46 : not quite linear, but easily linearized in software.
eo = ku1/8.3
   which is approximately an 8th root function. Obviously, this will present even more severe problems in
dynamic range than the hot wire anemometer. One can admire the persistence of Okamoto and his co-workers in
making this work, but other approaches may be simpler.
An Engineering Proverb
Just because someone else made it work doesn’t mean you can. Check other peoples designs very carefully.
www.syscompdesign.com
                                                                                                                                                                                                         138
                                                                          r                                                                              r                  Vcc
                                                                                                                                                                            +12V
                                                                                                                      R3
                                                        Q1               .......                                      100
                                                                                 ..                                      . ..
                                                                                                                  ....................
                                                                          r
                                                                              . ..                                    . .
                                           TIP112                        .........
.......
                                                                          r
                                                                                                                                                                                               .....
                                                                                                                                                                                             ....
                                                                                                                                     C1
                                                                                                                                     1n
                                                                                                                                               ...
                                                                                                                                          .....
                                                                            R2 .............                                                 ...
                                                                                                                                               ..
                                                                                      ...
                                                                                                               r
                                                     ..
                                              ..........
                                                                           5k9 ...............                              .......
                                                                                                                                                                            r
                                                                                                                                  ........
                                         R1              ...
                                              ............ ....
                                                                                                                                          .......
                                                                                                                                                .......
                                                                                                 r
                                                         ....                                                                     -                   .......
                                                                                                                                                            .......
                                       100k   ............ ....                                                                                                   .......
                                                      ....
                                                          ..
                                                                                                                                            U1 .....................               Output Signal
                                                           ≈ 0.8V                                                                 + ..............       ..                           +4.5V
                                                                                                                                         ....
                                                                                                                                  .......                           LM324
                                                                                                                            .......
                                                                                                    .. .
                                                                                              ...................
                                                                   RT H                                ....
                                                                                              ..........             ...
                                                                                          ..... ..... ........
                                                                                      ..... .... ........ .........
                                                                          r
                                                                                                                . .... .....                                                                  ......
                                                                                                                     .... .....                                                                  ...
                                                                                                                        ...
                                                                                                                             W                                                                ........
                                                                     .. . ..                                                                     . .. .                                  . .. .
                                                                  .... .... ....                                                              .... .... ....                          .... .... ....
         The Okamoto heated thermistor design is a good example. An analysis warns us that the circuit will be very
     difficult to make work, and that it might be better to choose a different approach.
         Another example of a difficult-to-replicate approach is shown in reference [67]. In this design, wind speed is
     measured by measuring the stress in a beam that is deformed by wind drag. Unfortunately, most materials exhibit
     a certain amount of hysterisis, so that the material tends to stay in a deformed state once it has been stressed. This
     is not noticeable when the stress is always in the same direction, but is quite evident when the direction of the
     stress is reversed.
     3.13 Conclusions
        • The traditional method of measuring wind speed is the rotating cup anemometer. Anemometers of this type
          are not particularly accurate, especially at low wind speed. With relatively large mechanical inertia, they do
          not follow wind gusts accurately.
        • An alternative technique is the cooling effect anemometer, in which the thermal resistance of a heated sensor
          changes with the square root of wind speed.
        • A number of possible configurations are possible. The constant power anemometer using a BJT sensor
          requires compensation for changes in ambient temperature, which is not particularly convenient.
www.syscompdesign.com
Wind Speed                                                                   3.14 Appendix: Simplifying King’s Law
                    8.5
                     8                                                           3
                                                                   3     3
                    7.5                                    3
                                                     3
                     7                    3                              +       +
                                     3                             +
                    6.5                              +     +
         Output                  3
                                          +
         Voltage,    6               +
          volts
                    5.5          +
                     5                        5.5u0.12
                                              4.7u0.13
                    4.5 3
                     4+
                    3.5
                          0           5            10          15                20             25
                                                Wind Speed, metres/sec
   • The constant temperature anemometer using a BJT automatically compensates for ambient temperature. Its
     output is proportional to the square root of wind speed. Transient response is relatively slow, similar to a
     rotating cup anemometer.
   • The hot wire anemometer has very fast transient response and ignores changes in ambient temperature. With
     a squaring circuit, its response to wind speed lies somewhere between linear and square root functions.
   • The heated thermistor anemometer is dependent on ambient temperature and highly nonlinear, proportional
     to the eighth root of the wind speed. Some sort of complex linearization circuit would be required with this
     approach.
                                                   p
                                      H    = κT + 2 (πκsσa)U 1/2 T
where
www.syscompdesign.com
                                                                                                                                                    140
                                                         2 (πκsσa)U 1/2 T
                                                          p
                                                                                      ≥ 10κT
                                                                  √
                                                       3.96 × 10−4 U            ≥ 5.66 × 10−4
and
                                                                 U     ≥ 2 cm/sec
                                                                       ≥ 0.072 km/hr
        The dynamic thermal resistance, due to the movement of air, will predominate if the air velocity exceeds 0.072
     km/hr, so for all practical purposes this will always be true.
     manufacturer relies on a high-speed flow of air across the motor to cool it. When cooled with a blast of air, the wire used to wind the motor
     can be of a thinner guage, thereby reducing the manufacturing cost of the motor. However, driven at low speeds, the motor overheats. If you
     build a wind tunnel like this, you’ll need a fan such a variable speed squirrel cage impeller that is designed to run at low as well as high speeds.
     In this application, squirrel cage fan is probably superior to an axial fan because it can develop more back-pressure. Of course, if you have a
     budget, you can buy a small wind-tunnel.
www.syscompdesign.com
www.syscompdesign.com
                                                                                                                                                                                                                                                 Wind Speed
                                                                                                                                                     Manometer scale
                                                                                                                                                     (mm)
                                                                                                                        Manometer tubing
                                                                                                                        5/15" OD,
                                                                                                                        3/16" ID
Water-soap solution
                                                                                                                                    Vacuum Cleaner
                                                                                                                                    (3 HP Shop Vac, 11 Amp)
Inlet
     then block the opening where wind enters the tunnel. After some oscillations, the manometer should show zero
     height difference between the two columns. The pressure in the tunnel is well below ambient under this condition,
     but it should be equal at the dynamic and static ports, and the manometer should reflect that.
         Under normal operating conditions, the height difference h in the manometer is proportional to air speed, as
     follows [6], page 124:
P = ρw gh (3.29)
        where
              P    is the pressure in dynes
             ρw    is the density of water, 1 gm/cm3
              g    is the gravitational constant, 981 cm/sec2
              h    is the height difference between the two manometer water columns, cm
        This is balanced by the pressure of the air velocity impinging on the dynamic tube opening:
                                                                1
                                                     P    =       ρa V 2                                       (3.30)
                                                                2
        where
             ρa    is the density of air, 1.225 × 10−3 gm/cm3
             V     is the velocity of the air in cm/sec.
        Equating these two equations and solving for the air velocity, we have
                                                 s
                                                    2rhow gh
                                        V =                                                                    (3.31)
                                                        ρa
                                                 r
                                                    2 × 1 × 980 × h
                                             =                                                                 (3.32)
                                                      1.225 × 10−3
                                                       √
                                             = 1264 h V in cm/sec, h in cm                                     (3.33)
                                                       √
                                             = 12.64 h V in m/sec, h in cm                                     (3.34)
        In case you don’t have your conversion tables handy, 1 metre/sec is equal to 3.6 kilometers per hour or 2.237
     miles per hour.
        As an example, we found a manometer height difference of 9.4 cm at the maximum speed of the wind tunnel.
     This corresponds to:
                                                         √
                                             V    = 12.64 h                                                    (3.35)
                                                         √
                                                  = 12.64 9.4                                                  (3.36)
                                                  = 38.8metres/sec                                             (3.37)
                                                  = 140kilometers/hour                                         (3.38)
                                                  = 86.7miles/hour                                             (3.39)
www.syscompdesign.com
Chapter 4
Wind Direction
4.1 Introduction
In the latitudes between 30o and 60o , warm air from the tropics meets cold air from the artic. The intermingling
of these air currents causes very changeable weather, in contrast to the stable weather of tropical regions.
    Changing weather manifests itself as a depression, a low pressure air system. As a result of the rotation of
the earth, the Coriolis effect causes winds in the Northern hemisphere to circulate around the depression in an
anticlockwise direction. Thus the rule,
    if you stand with your back to the wind, your left arm points in the direction of the depression.
    The direction of the wind is of interest not only to meteorologists in forecasting the weather, but to aircraft
and boats.
                                                       143
                                                                                                                         144
                                                              North
                                                      NNW                NNE
NW NE
WNW ENE
West East
                                                                                     ESE
                                         WSW
SW SE
                                                       SSW               SSE
                                                              South
         The wind direction system must include a windvane, some sort of paddle that is free to rotate with the wind
     direction. In nautical environments, the main requirement of the windvane is that it not be carried off during a
     gale nor seize up from corrosion.
         The position of the windvane is converted into an electrical signal by a rotary transducer of some description.
     The electrical signal is then processed and displayed on the computer.
2. Reflect this about a horizontal line, so that the next entries in the first column are 1 and 0.
3. Put zeros in front of the first half of this group, and 1’s in front of the second half.
4. Reflect the table so far, and again put 0’s in front of the first half and 1’s in front of the second half.
www.syscompdesign.com
Wind Direction                                                                                   4.4 Synchro Resolver
To Wind Vane
Code Wheel
Code Track
www.syscompdesign.com
                                                                                                                                                           146
                                                                                       0000
                                                                                       0001
                                                                                       0011
                                                                                       0010
                                                                                       0110
                                                                                       0111
                                                                                       0101
                                                                                       0100
                                                                                       1100
                                                                                       1101
                                                                                       1111
                                                                                       1110
                                                                                       1010
                                                                                       1011
                                                                                       1001
                                                                                       1000
                                                                                                                                             r
                                                                                                       ... ........... .......
                                                                                       r
                                                                                ..
                                                      .........................                 .............. ....... ....
                                                               r
                                                                               .           ..... .......... ...... ....
                                                                           . . ..              ...                                       ......
                                                              .......                         ...                                             ...
                                                                                       ....
                                                 Rotor                               ....
                                                                                                                                              Stator #1
                                                                                         ...
                                                                                            ....
                                                                                                ....
                                                                                                    ....
                                                                                                        ...
                                                                                           θ ..................
                                                                                                 ...
                                                                                                   ......     .
                                                                                     ............
www.syscompdesign.com
Wind Direction                                                                                         4.4 Synchro Resolver
0.8
0.6
0.4
0.2
                                Stator Voltage
                                                   0
-0.2
-0.4
-0.6
-0.8
                                                  -1
                                                        0           90          180        270   360
                                                                             Shaft Angle
    For any given voltage on this waveform (except for those at a maximum or minimum point) there are two
possible angles. To unambiguously determine the shaft angle, we need the cosine output of the resolver as well,
figure 4.6.
                                                   1
0.8
0.6
0.4
                                                 0.2
                                Stator Voltage
-0.2
-0.4
-0.6
-0.8
                                                  -1
                                                        0           90          180        270   360
                                                                             Shaft Angle
In this system, the microprocessor reads both the Sine and Cosine voltages. The shaft angle is then
                                                                             er Kr sin θ
                                                                   tan θ =
                                                                             er Kr cos θ
   so
                                                             sin θ
                                                                     θ = tan−1                                 (4.3)
                                                             cos θ
    (Some care must be taken in calculating θ at the angles 90o and 270o , where the value of the cosine approaches
zero and the tangent function approaches infinity.)
www.syscompdesign.com
                                                                                                                                              148
         Figure 4.7 shows what the stator voltage waveform would look like if the rotor were to be rotated so that one
     rotation corresponded to 20 cycles of the AC excitation voltage. 1
         A careful examination of that figure shows that the stator voltages in the 0-180 o segment and 180-360o seg-
     ment equal in magnitude but out of phase. A suitable electronic circuit can decode the magnitude and phase to
     determine the angle of the rotor.
0.8
0.6
0.4
                                     0.2
                    Stator Voltage
-0.2
-0.4
-0.6
-0.8
                                      -1
                                            0                90                180                     270                     360
                                                                            Shaft Angle
         The resolver is an attractive device to use for shaft angle measurement. Little torque is required to rotate the
     shaft and the output function is an accurate measurement of the shaft angle.
         For a low-cost consumer grade weather station, the resolver is a rather expensive device to use for wind
     direction measurement. As an avionics component, the unit cost is in the order of $50 (and up) each. However,
     resolvers and their near-relatives, the synchro-transmitter are commonly available on the surplus market for a very
     modest price. For one or two custom-built units, it may be a practical approach.
        Now we need a method of converting the resolver signals into something that can be digested by the micro-
     processor. A suitable interface circuit is described in the next section.
1 To obtain the waveform shown in figure 4.7, the resolver shaft would have to be rotated at exactly the correct frequency, which is all but
impossible to do in practice.
www.syscompdesign.com
Wind Direction                                                                                                       4.5 Resolver Interface
Ec sin(ωc t) · sin(Θ)
                                      m
                                Shaft Angle Θ
                                                            Demodulator
                                                            (Phase Sensitive Rectifier)
         m             r c t)
              ec = Ec sin(ω                                                                            Ec2
                                                                                                             sin Θ
                                                                                                        2
       400Hz
  Carrier Oscillator             Modulator                                       Low Pass Filter
                                 (Resolver)
                                                                     Ec2             Ec2
                                                                      2
                                                                           sin Θ −    2
                                                                                           cos 2ωc t
                       Reference Signal
   The amplitude modulated waveform, output from the resolver, is shown in figure 4.7. It is given by the
equation
                                        Ec sin(ωc t) · sin(Θ)                                       (4.4)
where
www.syscompdesign.com
                                                                                                                                                   150
2 In practice, of course, the resolver shaft is connected to a wind vane and does not normally rotate at this rate. As a result, the modulation
www.syscompdesign.com
Wind Direction                                                                                           4.5 Resolver Interface
Amplitude
                                   0                                400 Hz            Frequency
                                    resolver-carrier.epic
                                    70%
Amplitude
Amplitude
0 10 Hz 810 Hz Frequency
                               resolver-modulated.epic
                               70%
www.syscompdesign.com
        To extract the angle information from this waveform, it is multiplied in the demodulator by the carrier fre-
     quency,
ec = Ec sin(ωc t)
          The result is a signal containing two frequencies. The first frequency is at twice the carrier and a second,
     consisting only of the modulating signal
                                                        Ec2
                                                            sin(Θ)
                                                         2
     is at or near zero frequency. The corresponding spectrum is shown in figure 4.9(c).
                                                    Ec2         E2
                                                        sin Θ − c cos 2ωc t                                        (4.5)
                                                     2           2
         The signal of interest is the modulation signal, which may be separated from the twice-carrier-frequency signal
     by a low pass filter.
         The output signal is then the modulation signal
                                                           Ec2
                                                               sin Θ                                                  (4.6)
                                                            2
         The corner frequency of the low pass filter must be set low enough that the twice-carrier signal is sufficiently
     attenuated. On the other hand, the modulation signal becomes a low frequency sine wave (moves away from zero
     frequency) when the shaft is rotated, and this should not be attenuated by the low pass filter.
     Carrier Oscillator
     A source of 400Hz sine wave alternating voltage is required to excite the resolver rotor winding. A common sine
     wave oscillator, the Wein Bridge oscillator, is shown in figure 4.10, reference [74].
        The resistor/capacitor bridge network R1 C1 R2 C2 determines the frequency of oscillation ω o . If R1=R2=R
     and C1=C2=C, then it may be shown that
                                                         ωo = 1/RC                                             (4.7)
         For oscillation to occur, the loop gain around the amplifier and its feedback network must have a magnitude
     of unity and a phase shift of zero degrees, the so-called Barkenhousen criterion. At frequency ω o , it turns out that
     the phase shift through the bridge network is 0o and the gain 1/3 volts/volt, so the amplifier must have a gain of
     3 volts/volt to generate unity loop gain overall. If the amplifier gain is slightly larger than 3, the amplitude of the
     oscillation will grow until the amplifier clips the waveform. In effect, this lowers the gain until it is exactly 3,
     and the amplitude of the waveform stabilizes. The clipping action of the amplifier results in a slightly distorted
     sine wave. This would not be acceptable in an audio application, and some more elaborate feedback stabilization
     system would be required. In this application, some distortion is acceptable and a reasonable tradeoff for the
     simplicity of the circuit.
         Resistors R3 and R4 define the closed loop forward gain of the op-amp circuit and are proportioned to provide
     a gain of slightly more than 3 to ensure that the oscillator will start reliably.
www.syscompdesign.com
Wind Direction                                                                                       4.5 Resolver Interface
R1
                                       C1
                                                          -
                                                          +
                                                                      R3
                                  C2              R2
R4
Demodulator
An analogue multiplier could be used as the demodulator for the resolver output. However, an analogue multiplier
is a relatively complex device and it is worthwhile to look for a simplification. A useful approach is to convert the
reference waveform to a square wave of value ±1, at the same frequency as the reference. Multiplication is then
equivalent to switching the polarity of a signal, and the phase sensitive rectifier of figure 4.11 may be used.
     In the frequency domain, the square wave reference signal may be regarded as a Fourier series containing
frequencies at the fundamental, and with decreasing amplitudes, at odd harmonics of the fundamental. Multi-
plication in the demodulator by harmonics of the fundamental will generate product frequencies at the sum and
difference of the input signal and the various harmonics of the reference. However, these product frequencies do
not occur at zero frequency so the low pass filter will remove them and the low pass filter correctly extracts the
zero-frequency resolver angle signal. In other words, a square wave reference signal and a polarity switcher will
correctly demodulate the resolver signal.
     Referring to figure 4.11, the operation of the phase sensitive rectifier is follows: Consider initially the part of
the cycle for which the reference signal causes the switch S to be open.
    • Because no current iref flows into the non-inverting terminal of the op-amp, the voltage at that terminal is
      equal to the input voltage.
    • By negative feedback action, the voltage at the inverting terminal must be equal to the voltage at the non-
      inverting terminal.
    • Then the input current ii must be zero, the feedback current if must be zero, there are no voltage drops in
      any of the resistors, and the output voltage is equal to the input voltage.
    • In other words, the voltage gain through this interval is +1.
    Now consider second half of the cycle, for which the reference signal causes the switch S to be closed.
    • The non-inverting terminal is connected to ground, so its voltage is zero.
    • By negative feedback action, the voltage at the inverting terminal must be equal to the voltage at the non-
      inverting terminal, so it also is zero.
www.syscompdesign.com
                                                                                                                      154
iin if
                                                                        r                   r    b
                                                                 R              R
                                                                            HH
                                                                                                 b
                                                                                                Product Voltage Out
                                                                            - HH
                                                 b r                    r     
                                                                 R
                                                                            
                                                                            +
                                                 b
                             Signal Voltage In
                                                                        e
                                                         iref
                                                 b
                                                                        e   S
                                                 b
                          Reference Voltage In
Signal 0 Signal 0
Reference 0 Reference 0
Output 0 Output 0
        • With the inverting terminal at zero volts and equal input and feedback resistors, the amplifier is configured
          as a inverting amplifier of gain −1.
         In other words, the phase sensitive rectifier has a gain of plus or minus 1, depending on whether the reference
     switch is open or closed. The waveforms of figure 4.11 show the output signal when the input waveform is in
     phase with the reference. If the input and reference are out of phase, then the output voltage will be inverted.
         The effect of phase sensitive rectification on the signal from the resolver may be seen by comparing figure 4.7
     on page 148 with the waveform at the output of the phase-sensitive rectifier, figure 4.12 on page 155.
         Passing this waveform through a low-pass filter removes the high frequency components, leaving the envellope
     of the waveform, a signal proportional to the sine of the resolver shaft angle. In the frequency domain, for a fixed
     shaft angle, the PSR output, a full wave rectified signal, is given by the Fourier series (ref [5]):
                                                                                           
                                               2     4 cos 2ωt cos 4ωt cos 6ωt
                                e(ω) = Ec         −               +           +          ···                        (4.8)
                                               π     π     1·3         3·3        5·7
        The average (DC) term in the series, the voltage passed by the low pass filter, is
                                                                            2
                                                                 edc = Ec
                                                                            π
www.syscompdesign.com
Wind Direction                                                                                    4.5 Resolver Interface
0.8
0.6
0.4
                             0.2
            Stator Voltage
-0.2
-0.4
-0.6
-0.8
                              -1
                                    0         90                 180               270             360
                                                              Shaft Angle
    The remaining AC terms contribute to the ripple at the output of the low pass filter.
    The switch in figure 4.11 must conduct current in both directions, so a single junction transistor or FET will
not work properly. The 4066 Quad Bilateral Switch is a better choice. It conducts in both directions and may be
controlled by a single 5 volt signal. The on resistance of the switch is given as 1050Ω maximum, so the other
resistors in the phase sensitive rectifier should be much larger than this.
www.syscompdesign.com
                                                                                                                        156
Cf
                                            c                 r                  r     c
                                                     Ri
                                                                         Rf
                                           ei                          HH             eo
                                            c                                          c
                                                                  13 -
                                                                          HH14
                                                                       +
                                                                         
                                                                  12   
        • the positional information is found by averaging the modulated output waveform, and the average of a
          full-wave rectified waveform is 2/π of the peak value, equation 4.8.
        Putting these two together, the peak output swing is
                                                                       2
                                                 ∆Vo = Kr ×              × E c × Kf                                  (4.11)
                                                                       π
     where
                                                                  2, 0
                                                   Kf     =
                                                            0.3 × π2 × 2.5
                                                          = 4.19 volts/volt
Arbitrarily choosing Ri as 100kΩ, the feedback resistor must then be at least 4.19 × 100kΩ = 419kΩ.
www.syscompdesign.com
Wind Direction                                                                                    4.5 Resolver Interface
-5
-10
-15
                  -20
      Amplitude, db
                  -25
-30
-35
-40
                    -45
                      0.01                0.1               1                   10                100
                                                     Frequency, ω/ωo
    This describes a signal at a frequency of twice the carrier, 800Hz, and amplitude E p volts peak. In this case,
using the same reasoning used to develop equation 4.11, we can determine that E p = 2.5 × 0.3 = 0.75 volts peak.
Substituting in equation 4.12 for Ep and the equation of the AC component is
   The low pass filter should reduce the peak-peak amplitude of this sine wave to well below the amplitude of
one A-D converter step, which is
     We might choose an acceptable peak-peak ripple amplitude of one half this, about 9.7 millivolts. To determine
the corresponding value of ωo , we can begin by manipulating equation 4.9. For frequencies much higher than ω o
(ie, on the -20 db/decade section of the amplitude function in figure 4.14), equation 4.9 becomes
www.syscompdesign.com
                                                                                                                        158
                                                                              
                                                  eo (jω)    Rf          1
                                                          ≈−                                                         (4.13)
                                                  ei (jω)    Ri        jω/ωo
                                             eo    = 9.7 millivolts
                                             ei    = 0.424 volts
                                             ω     =800 Hz (5 × 103 radians/sec)
                                             Rf    =430kΩ
                                             Ri    =100kΩ
Now substitute for ωo and Rf in equation 4.10 and solve for Cf , from which we find that
Cf = 205 nanofarads
         Using a value of 220nF in the circuit, the ripple into the A-D converter measured approximately 8mV p-p.
         Notice that the angle signal sin Θ will be attenuated by the low pass filter if the shaft rotation speed is faster
     than 1.8 Hz. If this is a problem, one would choose a 2nd order filter which has a sharper rolloff and can therefore
     accomodate a higher cutoff frequency.
     In previous circuits, we have taken care to fit the design to the available power supply, 0 and +5 volts. In this case,
     we take a different approach, and generate a bipolar supply, ±2.5 volts.
         This may be accomplished by splitting the power supply at its halfway point, using a voltage divider. The
     centre point then becomes a pseudo-ground: effectively a local ground for the devices in this circuit.
         If the current from the positive supply is equal to the current to the negative supply, the current in the pseudo-
     ground will be zero. However, that is unlikely to be the case, and a buffer amplifier is required to supply the
     difference current to ensure that the pseudo-ground stays halfway between the positive and negative supply rails.
         An operational amplifier could be used to buffer the voltage divider. However, the maximum output current
     for an op-amp is in the order of some tens of milliamps, which may not be sufficient. In this circuit, an audio
     power amplifier, the National LM386, has been used.
         The LM386 will work from power supplies as low as 4 volts, automatically biases its output at (approximately)
     half the supply voltage, and can source or sink in the order of 250 milliamps, all for a cost of under a dollar. It
     must, however, be decoupled with the capacitors shown in figure 4.15 to prevent spurious oscillations.
www.syscompdesign.com
Wind Direction                                                                                                                                                         4.5 Resolver Interface
The complete circuit diagram of the resolver-based wind direction interface is shown in figure 4.15. The Cosine
channel is simply a copy of the Sine channel.
     One minor detail that is not discussed elsewhere: the output of each amplifier-lowpass filter stage is connected
to its A-D converter input via resistor R10, 3kΩ. The input of the A-D converter is very high resistance, so there is
effectively no voltage drop across R10. However, the LMC660 is easily destabilized by load capacitance, and the
A-D converter presents a capacitive load to the op-amp. Resistor R10 separates the output of the op-amp from the
A-D input capacitance and prevents the op-amp from oscillating. Of course, the op-amps should all be decoupled
near their power supply pins, using a capacitor in the range of 10nF or so.
                                                   R4
                                                   1k1                              Stator
                                                                                    S2                                                                                C4 100n
                                                                                                     R5                     R7                         R8                                  R10
                                     V-                                                              13k                    13k                        82k                                 3k0
            400 Hz Oscillator
                                                                                                                                                                            R9                   To A-D Input
                                                            R11       Resolver                                         9    -                                              430k
                                              C3                                                     R6                                8                                                         COSINE Channel Output
                                                            100k                                                                U1C
                                                                                                     13k                    +
                                              2n2                                                                     10                                         13
                                                                      5                                                                                                -
                                                                          -
                                                                                       7                                                                                              14
                                                                              U1B                                1                                                         U1D
                                                            R12           +                            13
                                                                                                                                                                       +
      U1 National Semiconductor LMC660                                6                                                 U2B                                      12
                                                            100k
      U2 Motorola MC14066                                                                                               4066
      U3 National Semiconductor LM386                                                      5 Vpp                 2
                                                                              400Hz Reference
                                                                                                                     +5VDC Supply
                                                                                                                                                                      V+
                                                                                                                                                   6
                                                                                                                                           2
                                                                                                                                               -
                                                                                                                                                                                     To A-D Input
                                                                                                                                                             5
                                                                                                                             C5            3       U3
                                                                                                                                               +
                                                                                                                            10n                                   C6
                                                                                                                                                   4                              Pseudo-common
                                                                                                                                                                  10n
                                                                                                                                                                      V-
                                                                                                                     5 VDC Common
www.syscompdesign.com
                                                                                                                        160
     Software
     The microprocessor reads the two A-D channels and then subtracts the pseudo-ground voltage to determine the
     values of the sine and cosine functions. It then applies equation 4.3 to determine the resolver shaft angle θ. Notice
     that the arctan function will report an error if the angle is sufficiently close to 90 or 270 degrees that the floating
     point values overflow.
     Calibration Procedure
     Providing the angle function is symmetrical about the zero point, it is possible to calibrate the system at the angles
     90o and 270o, points where the angle function is maximum. The calibration device, a human or robot, rotates
     the wind vane until the A-D voltage is at its positive maximum. This is the 90 o angle. The human or robot then
     rotates the wind vane to obtain a minimum input voltage. This is the 270 o angle. The computer can now determine
     intermediate voltages and their corresponding angles.
         With most wind vane devices, the unit must be carefully aligned so that North on the case of the transducer is
     actually pointing to geographic north. With a microprocessor controller, it is possible to have the software add a
     correction angle β to the reading from the wind vane. The wind vane is caused to point to some known heading
     and the correction angle incremented or decremented until the true heading is obtained. This would be particularly
     convenient where the wind vane is inaccessible for adjustment, at the top of a mast, for example.
www.syscompdesign.com
Chapter 5
Air Pressure
           There is a sumptuous variety about the New England weather that compels the stranger’s
              admiration - and regret. The weather is always doing something there; always attend-
              ing strictly to business; always getting up new designs and trying them on the people
              to see how they will go. But it gets through more business in spring than in any other
              season. In the spring I have counted one hundred and thirty-six different kinds of
              weather inside of twenty-four hours.                                Mark Twain, 1876
5.1 Introduction
As the air surrounding the earth is heated by the engine of the sun and cooled by radiation into space, air density
differences from place to place result in the air movements we sense as winds. These winds bring us different
types of weather, so measuring the air pressure is a very important technique in the prediction of weather.
    For example, a sudden drop in air pressure often signals the onset of stormy weather; high pressure signals
continuing fine weather.
                                                       161
                                                                                                                                          162
                                                                                        ..
                                                                                      ... ...
                                                                                         .........
                                                                                                     Vacuum
                                                                                                        ..
                                                                                                      .....
                                                           Mercury
                                                                                                     30 inches
                                                           Column         .........                  (1016 mB)
                                                                                                      .....
                                                                                                        ..
                                                                                                              vapour-pressure-a.pictex
                                       Mercury Reservoir      .........                                       60%
     where
                                      fm     is the force exerted by the column
                                      am     is the cross-sectional area of the column
        The column force is
                                                             fm = m m · g                                                                (5.3)
     where
                              mm    is the mass of the mercury column
                               g    is the gravitational constant, 980 cm/sec2 in the cgs sys-
                                    tem
        The mass of the column is
                                                           m m = d m a m hm                                                              (5.4)
     where
                              dm    is the density of the mercury, 13.6 g/cm3 in the cgs system
                              am    is the cross-sectional area of the mercury column
                              hm    is the height of the column
        Collapsing these equations, we obtain a useful expression for air pressure in terms of the column height and
     density.
                                                                  d m a m hm g
                                                     PA         =                                                                        (5.5)
                                                                       am
                                                                = d m hm g                                                               (5.6)
        For example, the so-called standard pressure of physics and chemistry causes a mercury column height of 76
     cm. This is an atmospheric pressure of
                                              PA      = 13.6 × 76 × 980
                                                      = 1013 × 106 dynes/cm2
www.syscompdesign.com
Air Pressure                                                                                                                                                                                        5.2 Measuring Air Pressure
Pressure Units
A variety of units of pressure have evolved over time. The bar is defined as 10 6 dynes/cm2 so standard pressure is
1.013 bars. Weather forcasts commonly quote air pressure in millibars, so standard air pressure is 1013 millibars.
    In the metric system of measurement, the standard unit of pressure is the pascal, one newton/metre 2. Air
pressure is conveniently described in kilopascals, or kPa. Standard pressure becomes 101.3 kPa.
    In the English system, the corresponding units are inches of mercury for atmospheric pressure and pounds per
square inch for pressure guages.
    The values of standard pressure in some common units of pressure are summarized in figure 5.2.
                                                                                                               .                                       Scale
                                                                                             .                .........................................................
                                                                            ... .................................                              .                      .
                                                                              ......                                           ..                                .. .................
                                                                                                                            ........                                          .
                                                                                                                           .
                                                                          .
                                                                  .......
                                                                          ....
                                                                                 ..
                                                                         . ....                                      ...........
                                                                  ......
                                                                          ....
                                                                                                                                                                                   Moving Pointer
                                     Sealed                                .. ....
                                                                  .......
                                   Chamber                                ....                           ............
                                                                                   ..
                                                                      ............                       ............ Linkage                                                  and Pivot
                                        ......                    ..........
                                             ......                       ....
                                                  ......                          ..
                                                       ........
                                                          ....... .......
                                                                              .  .            Flexible
                                                                      ....
                                                                              ... Membrane           ...
                                                                      . . . ..........................
                                                                  .....
                                                                          ....
                                                                                    .
                                                                                    .
                                                                           ....
                                                               .. ...
                                                           .....................
    As shown schematically in figure 5.3, the sensing element of the barometer is a sealed chamber is equipped
with a flexible membrane. As the atmospheric pressure changes, the gas in the chamber increases or decreases in
volume. The resultant slight movement of the membrane is mechanically amplified and causes a pointer needle
to move.
    A typical aneroid barometer scale (unrolled) is shown in figure 5.4.
www.syscompdesign.com
                                                                                                                              164
                                                                     Inches
                                28.0          28.5       29.0          29.5         30.0       30.5         31.0
Kilopascals
          We will use this in section 5.4.3 to determine the requirements for an electronic barometer.
          It is also interesting to consider the absolute extremes of measured air pressure, to see if our instrument can
     cope with them. According to the Canadian Encyclopedia [1], the air pressure extremes for Canada and the world
     are:
        Notice that the record high pressures tend to occur in artic regions, where the air mass is cold and therefore
     dense. The record low occurred in the eye of a hurricane.
        Domestic barometers cannot normally cope with these extremes of air pressures, but we should design for
     them if the cost penalty is not severe.
www.syscompdesign.com
Air Pressure                                                                              5.4 Electronic Measurement of Air Pressure
Example
Find the change in air pressure over a change in height of 30 metres if the air temperature is 20 oC and the pressure
1013 kPa.
Solution
From 5.7 above,
                                                                 1013 × 1000
                                                ρ =
                                                           2.87 × 106 × (273 + 20)
                                                     = 1.2 × 10−3 gms/cm3
will see in the design notes, using a sensor rated for higher pressure would halve the sensor electrical output signal and require double the
voltage gain from the sensor amplifier. Even the 5% overload is well below the maximum rating of the MPX100AP (2000 millibars), so we
are in no danger of damaging the sensor. Hopefully, its output remains linear in the 5% overload region.
www.syscompdesign.com
                                                                                                                                                                                                                                                                 166
Top View
     When a resistor is stretched, its length increases and cross-sectional area decreases, both increasing the resistance.
     In most conductors, this effect is very slight. In the pressure sensors, the resistors are constructed of semiconductor
     material that shows large changes with small deformations.
         When configured as a strain guage bridge, the resistors are located so that diagonally opposite resistors in the
     bridge change resistance in the same direction, either R(1 + ∆) or R(1 − ∆).
         The differential output voltage is then simply V24 = Vcc × ∆.
Example
V24 = Vcc · ∆
www.syscompdesign.com
Air Pressure                                                                                                                                      5.4 Electronic Measurement of Air Pressure
                                                                                          3                        Vcc
                                                                                                         r
                                                                                                          .
                                                                                                   .............
                                                                ..
                                                          ..........
                                                                                               V24                               ..
                                                                                                                           ........
                                       R(1 + ∆)                      -.....                                        + ........................ R(1 − ∆)
                                                                   r 4                                             2 ......... ..r.
                                                          ............
                                                                     .....
                                                                   ....                                                               .
                                                                               ..
                                                                           ............                               ......
                                                                  ..                                                               ..
                                                          ...........                                                      ...........
                                       R(1 − ∆)                       .....                                                            .....
                                                                                                                                               R(1 + ∆)
                                                          ............                                                     ............
                                                                     .....                                                            .....
                                                                   ....                                                             ....
                                                                                                 r
                                        resistor-bridge.pictex
                                                                                          1 .. .. ..
                                                                                              ............
                                        80%
so
                                                                                            V24
                                                        ∆                                 =
                                                                                            Vcc
                                                                                            0.06
                                                                                          =
                                                                                              3
                                                                                          = 0.02
Then
                                        R(1 + ∆) = 500 · (1 + 0.02)
                                                                           = 510Ω
and
                                        R(1 − ∆) = 500 · (1 − 0.02)
                                                                           = 490Ω
Notes:
Pressure Range We will exceed the maximum pressure slightly to 105kPa. This is still well below the burst
     pressure.
Supply Voltage If the three volt supply is obtained by dropping 2 volts across resistors in series with the sensor,
     it turns out that the temperature drift of the sensor is substantially reduced (reference [80]).
www.syscompdesign.com
                                                                                                                  168
     Full Scale Span From these figures, we can determine that the sensor gain varies from 0.45 to 0.9mv/kPa.
     Offset This voltage is caused by mismatch of the bridge resistors and appears as a fixed voltage at the output of
           the sensor.
     Supply Current This figure enables us to determine that the bridge resistors are nominally 500Ω.
     Sensitivity KT This is a somewhat redundant statement of the transducer gain, which we determined from the
           full scale span specification
     Power Supply The available power supply is +5 volts. Either the interface circuit operational amplifier must
          operate from this or a converter must be available to generate the usual positive and negative voltages for
          the op amp.
           The latter approach requires a DC-DC converter and some method of ensuring that the output of the op amp
           does not exceed the 0-5 volt range of the HC11 A/D converter input.
           Ever mindful of cost, we’ve chosen the single supply approach. For the DC-DC converter approach, see
           [87].
     Amplifier Output Swing The output voltage of a single supply bipolar op amp such as the National LM324 or
         Motorola MC34074 is very limited: 0.5 to 3.5 volts when operated from a +5 volt power supply. Some
         CMOS op amps, such as the National LMC660CN, will produce a larger output swing. The data sheet for
         the LMC660CN shows 0.2V to 4.7V for a +5 volt supply and load greater than 2KΩ, so this is a suitable
         amplifier for the pressure sensor interface.
     Temperature Drift A back-of-the-envellope calculation shows that the sensor amplifier will require a voltage
         gain in the order of 300V/V or so. Any drift in offset voltage, bias, power supply or resistance values has
         the potential for being amplified by this large gain to appear as drift in the output voltage. As well, the
         sensor itself is sensitive to temperature.
           All of these temperature effects must be checked to ensure that the circuit functions as a barometer rather
           than a thermometer. References [78] and [79] mention the problem of temperature drift, a warning that it
           must be taken seriously.
www.syscompdesign.com
Air Pressure                                                               5.4 Electronic Measurement of Air Pressure
      As well as designing for low temperature drift, we should choose the minimum voltage gain that meets the
      requirements, thereby reducing the effect of resistor and voltage drifts.
Calibration The Pressure Sensor Specifications shown in Table 5.2 on page 168 show that the sensor gain can
     vary over a 2:1 range, so some sort of calibration procedure will be required. The usual approach is to
     provide two potentiometers: one for gain and the other for offset. Potentiometers are inherently undesireable
     in a production design. The part cost is higher than a fixed resistor and a pot requires human intervention
     for adjustment. It is preferable, if at all possible, that adjustments be done in software.
Subtraction of Bias and Offsets Referring to the Barometer Scale shown in figure 5.4 on page 164, the inter-
     esting part of the air pressure signal is a 10kPa variation sitting on top of a 100kPa constant pressure. The
     constant pressure must be subtracted at some point. As well, the output of the pressure sensor bridge is a
     differential signal sitting on a half-supply common mode signal. The common mode signal must be ignored,
     so the sensor amplifier must be differential and have a satisfactory common mode rejection ratio.
www.syscompdesign.com
                                                                                                                                             170
                       A/D
              Input Voltage
                     VAD
                      Volts   4
                                                                                                                b
                                                                                                 hhh
                                                              Barometer Interface Transfer Function
                                                                                                               
                                                                                                             
              ∆VAD            3
                                                                                                            
                                                                                                         b
                  Vref                                                                                   
                                                                                                       
              ∆VAD            2                                                                      
                                                                                                  b
                                                                                                    
                                                                                                 
                              1
                              0
                                  0   10      20   30    40       50    60     70    80     90         100           110   Input Pressure,
                                                                                                                           PA ,
                                                                                                 ∆P         ∆P             Kilopascals
Pref
www.syscompdesign.com
Air Pressure                                                                        5.4 Electronic Measurement of Air Pressure
    Substituting two point coordinates in the straight line equation y = mx + b, we can solve for m and b,
determining that the transfer function is
                                             VAD = 0.2PA − 17.5                                     (5.10)
   where
                                   VAD       is the input voltage to the A-D converter
                                    PA       is the air pressure in kilopascals
   Translating the interface transfer function into a block diagram, we have figure 5.8.
                                                                            +m
                                                                                         to A-D input
                                                        0.2 V/KPa      +                 1.5 to 2.5 volts
                                      PA
                            95 to 105 kPa                               −
                                                                                 17.5V
                                                  teb1.epic
                                                  70%
  The typical sensor gain KT (table 5.2 on page 168) is 0.6 × 10−3 , so the amplifier gain must be 0.2/0.6 ×
  −3
10 = 333 volts/volt as shown in figure 5.9.
                                                                                             +m
                                             KT                     KA              +                  A-D
                            PA
                                         0.6 × 10−3             333 Volts/volt                         Input
                                                                                         −
www.syscompdesign.com
                                                                                                  172
                                                                                     +m
                           KT                KA1                       KA2       +        A-D
                  PA
                        0.6 × 10−3       18.9 Volts/volt              17.6 V/V            Input
                                                                                 −
333 Volts/volt
                                                                       KA2
                         teb3.epic          VOS                       17.6 V/V
                         70%
                                            1.0V
www.syscompdesign.com
Air Pressure                                                                                             5.4 Electronic Measurement of Air Pressure
                                                      
                                                                                                                                +5V
                                                            U2
                                                                 e
                                                                                                                           R3
                                                                                                                          3K3
                                                      
                                                                                                                                                   r b
                                                                                                                                      Offset Adj       Test Point
                                              Notch                                                                        R4
                                                                                                                           1K
                    +5V                                1             4
                                                                                                                          10T
                             R1              HH                                     R2C                R2D
                                                H 1 r                    r                    r13
                                         3                                                                                 R5           VOS
                                                                                    12K14
                                              U1A H
                             160             +                                  3                      12K   4            820
                                                 1
      U2
                     r
                                                                                                                                              10
                                         2
                                              R2A
                                             −
MPX100AP                 3
                                                                             100n                                                                      R2G
                                                                 r
                                                      12K                                                                                              12K
                                                                                                                                                   r
                                                                                                   HH
                                                            16                                                                                 7
                r             r
      500                          500
            4                      2
                                                       Rg
                                                                                       10          +  H
                                                                                                    U1C H8
                                                                                                      
                                                                 r
                                                      1K3                                                                       +5V
                                                                                          9        −
                                                                                                                                                      R4
                     r
      500                          500
                                                                                                   
                                                                                                                            HH4                        200K
                                                                                                                                                   r          c
                                                            15
                                             HH R2B                                                                            H 14
                                                H12K 2 r                 r                    r                  r           U1D H
                                                                                                                            −
                         1               6                                   100n                                    13
                                              U1B H                                                                            
                                             −
                                                7
                                         5
                                                                                                                            11
                                                                                                                            +
                                                                                5       12        11         6
                                                                                                                      12                                    To
                                             +
                                                                                  R2D                R2F
                                                                                                                                                           A-D
                                                                                    12K                12K
                             R3
                             160
                                         ×18.9 V/V                                                                        ×17.6 V/V
www.syscompdesign.com
                                                                                                                     174
         From the data sheet for the sensor, the resistors in the sensor are 500Ω each and 3 volts should appear across
     the pressure sensor. Then resistors R1 and R2 are 160Ω each.
         The instrumentation amplifier, U1A, U1B and U1C provides a high impedance input for the pressure sensor
     signal. The voltage gain is given by
                                                                    2R2
                                                       KA1 = 1 +                                                 (5.11)
                                                                     Rg
     and is set to 18.9 volts/volt. Somewhat arbitrarily, we have chosen R2 as 12KΩ, which makes R g
                                                             2R2
                                                    Rg   =
                                                           KA1 − 1
                                                           2 × 12000
                                                         =
                                                            18.9 − 1
                                                         = 1341Ω
                                                                                        r               r      e
                                               +m
                                                                                Ri             Rf
                            KA2           +           A-D
                          17.6 V/V
                                           −
                                                      Input                                 HH
                                                                 V1                         −  HH
                                                                                                          Vo
                                                                                        r
                                                                                            +
                            KA2
                                                                                            
                                                                                                               e
                          17.6 V/V
                 1.0V                                            V2             Ri             Rf
                                                                                  Rf /Ri = 17.6 V/V
          However, if we’re willing to tweak the voltage at the non-inverting input, we can simplify the circuit as shown
     in figure 5.13.
          By superposition, the output voltage is
                                                         Rf        Rf
                                               kvo = −      v1 + (    + 1)v2                                       (5.12)
                                                         Ri        Ri
         where Rf = 200K and Ri = 12K to obtain a non-inverting gain of 17.6V/V and an inverting gain of 16.6V/V
     for this circuit. Then V1 , the offset voltage, should be set to 18/16.6 = 1.084 volts.
         The final block diagram is shown in figure 5.14.
         For good common mode rejection, the resistors of the differential stage U1C are from a resistor array. All
     other resistors must be low temperature film, ±50ppm temperature coefficient. The offset pot should be cermet
     for low drift.
www.syscompdesign.com
Air Pressure                                                                              5.4 Electronic Measurement of Air Pressure
                                                                                                 r                r     e
                                                 +m
                                                                                           Ri             Rf
                          KA2               +            A-D
                         17.6 V/V
                                             −
                                                         Input                                           HH
                                                                        V1                               − HH
                                                                                                                     Vo
                                                                                                         
                                                                                                         +
                          KA2
                                                                                                                        e
                         16.6 V/V
            1.05V                                                                    V2
                                                                                                         +m
                                     KT                   KA1                       KA2              +         A-D
                    PA
                                0.6 × 10−3            18.9 Volts/volt              17.6 V/V                    Input
                                                                                                     −
333 Volts/volt
                                                                                    KA2
                                                                                   16.6 V/V
                                                                        1.05V
   The transfer function gain KT F is the product of two components: the sensor (transducer) gain K T , and the
amplifier gain KA . Then substituting KT KA for KT F in equation 5.13,
www.syscompdesign.com
                                                                                                                       176
         We have one final constant to consider. Ultimately, we would like to relate the A-D reading, N AD , to air
     pressure. We do this with the relationship
                                                   VAD = NAD KS                                             (5.16)
     where KS is the step size of the A/D, in volts. For an 8 bit A-D converter operated from a 5 volt supply, the value
     of KS is 5/256 = 19.5 × 10−3 volts.
        Substituting NAD KS for VAD in equation 5.17 we have
         Solving for atmospheric pressure PA we obtain the equation that the software must use to find atmospheric
     pressure:
                                                   NAD Ks + VOS KOS
                                             PA =                                                           (5.18)
                                                          KT KA
        where
               PA      is the air pressure, in kilopascals, to be calculated by the computer
              NAD      is the A-D reading
              KS       is the step size of the A-D converter, in volts. In this system, it is 19.5 × 10 −3 volts
              VOS      is the offset voltage, in volts This value will depend on the offset value that is adjusted
                       into the hardware to set the 100 kPa output to 2.5 volts, and is set at calibration.
              KOS      is the offset gain, set at 16.6 volts/volt.
              KT       is the gain of the pressure transducer, nominally 0.6 × 10− 3 volts/kilopascal, set pre-
                       cisely at calibration.
                KA     is the gain of the amplifiers in the interface, about 333 volts/volt for this system.
         The transducer gain KT and the offset voltage VOS must be determined in order that equation 5.18 contain
     sufficient information that the computer program can relate A-D reading N AD to air pressure PA .
www.syscompdesign.com
Air Pressure                                                                              5.5 Barometer Calibration
                                                                     Move hose to
                                                                     vary pressure
∆H
                                                                 Water
                                Pressure Sensor                  Column
    The right side of the manometer is raised or lowered to create a height differential of ∆H. The resulting
pressure may be determined from figure 5.2 on page 163. For example, a pressure differential of 2 kilopascals
may be created by a height differential of
                                                       5
                                           ∆H =            × 160.2
                                                     101.3
                                                 = 7.9 cm
www.syscompdesign.com
                                                                                                                       178
         Once the transducer-amplifier gain KT KA is determined, the current air pressure PA and corresponding A-D
     reading NAD may be used in equation 5.18 to solve for the offset term VOS KOS . Finally, the offset voltage VOS
     may be set as in the approximate procedure.
         Once the values of the various terms in equation 5.18 are known, they may be entered into the computer
     equation that displays the current air pressure.
                                                                              r        b
                                                                         2R
                                                                MSB
                                                                                  R
                                                                              r
                                                                         2R
                                                                 NSB
                                                                                  R    Vout
                                                                              r
                                                                         2R
                                                                 LSB
                                                                                       b
                                            p-dtoa.epic                           2R
                                            70%
Digital Register
         If the MSB and NSB are both at 0 volts and the LSB is at +5 volts, we may determine the effect on V out by
     repeatedly applying Thevenin’s theorem to the divider circuit. Then V out = 0.625 volts. Similarily, the NSB
     contributes 1.24 volts and the MSB 2.5 volts. If all the digital bits are set to logic 1 (+5 volts), then according to
     the Superposition Theorem, Vout = 0.625 + 1.25 + 2.5 = 4.375 volts. In other words, this D-A has a resolution
     of 0.625 volts and a range of 0 to 4.375 volts.
www.syscompdesign.com
Air Pressure                                                                               5.5 Barometer Calibration
   In general,                                                              
                                               Vlogic              N1   N0
                                      Vout =                N2 +      +                                   (5.20)
                                                 2                 2    4
   where
          Vout         is the output voltage of the D-A converter
         Vlogic        is the logic level into the D-A converter, 5 volts in this case
    N2 , N1 and N0     are the MSB, NSB and LSB respectively of the binary number input to the D-A con-
                       verter
   Now we need to determine how many bits are required in the D-A converter for the pressure amplifier circuit.
   • The D-A will generate a signal VOS that replaces the offset pot, which had a range of 0.75 volts to 1.65
     volts.This is amplified by the offset gain KOS (16.6 volts/volt) to shift the amplifier output signal VAD up
     or down. The total range of shift is then (1.65 − 0.75) × 16.6 = 18.3 volts. The step size of the D-A must
     be a small fraction of this 18.3 volts.
   • The output swing of the amplifier worst case occurs for a maximum sensor gain K T of 0.9mv/kPa. This is
     amplified by the forward gain of the amplifier KA , 333. The output voltage swing for a full-scale change in
     air pressure ∆PA of 10KPa is then
                                        ∆VAD      = ∆PA × KT × KA
                                                  = 10 × 0.9 × 10−3 × 333
                                                  = 2.97volts
                                                  ≈ ±1.5volts
   • We would like to locate the output of the amplifier so that the signal never swings below 0.2 volts or above
     4.7 volts. This allows a guard band of 0.75 volts above and below the output swing. We might somewhat
     arbitrarily choose to be able to place the offset signal with a resolution of half this, 0.375 volts.
   • The required resolution of the D-A is in then the order of one part in 18.3/0.375 = 48.8. The next larger
     binary number is 26 = 64, so we require a 6 bit D-A converter.
   This resolution is low enough that discrete 1% resistors (20KΩ and 10KΩ for example) may be used for the
R-2R resistor ladder.
www.syscompdesign.com
                                                                                                                                                                                                                                                                                                                                                                                      180
     logic swing to within 1 millivolt of the supply levels. For the worst case, the output swing is still to within 10
     millivolts of the supply levels. This suggests that the CMOS latch will drive the R-2R ladder with sufficient
     accuracy.
         Furthermore, the output resistance of the logic, worst case, is given in the data book as 50Ω. If we use 10kΩ
     and 20kΩ as resistors in the R-2R ladder network, then the driving resistance of the logic device will be much
     lower than the resistance of the ladder network, so resistive loading will not be a problem.
         Based on these specs, a CMOS latch such as the 74HC273 can drive the 6 bit ladder network directly.
     D-A Amplifier
     Analysing the output of a 6 bit D-A converter as we did in section 5.5.3 , using equation 5.20 on page 179
     (modified for 6 bit input) we can determine that the output of the 6 bit D-A converter ranges from 0 to 4.92 volts
     in steps of 0.078 volts. The barometer interface circuit requires that the offset voltage V OS vary between 0.75 volts
     to 1.65 volts, so amplification (actually, attenuation) and level shifting are required. The amplifier that provides
     this level shifting and attenuation also serves to buffer the internal resistance of the D-A from its load.
         A non-inverting amplifier won’t work, since the required gain is less than unity. The gain of an inverting
     amplifier may be set to anything from zero up2 , and the sign inversion introduced by the inverting amplifier may
     be taken care of in the software.
         The transfer function of the amplifier circuit is shown in figure 5.17, from which the slope m and offset b may
     be determined.
                                                       2
                                  1.65      ..... ..... ............................. .....
                                                                                   .................
                                                                                                                                                                               Transfer Function:
                                                                                                   .................
                                                                                                                   .................
                                                                                                                                   .................
                                                                                                                                                   .................
                                                                                                                                                                               V    os = −0.18VDA + 1.65
                                                                                                                                                                   .................
                                                                                                                                                                                   .................
                       Offset Voltage                                                                                                                                                              .................
                                                                                                                                                                                                                   .................
                                                                                                                                                                                                                                   .................
                                                                                                                                                                                                                                                   .................
                                VOS                                                                                                                                                                                                                                .................
                                                                                                                                                                                                                                                                                   .................
                                                    1                                                                                                                                                                                                                                              .................
                                                                                                                                                                                                                                                                                                                   .................
                                                                                                                                                                                                                                                                                                                                   .................         ..
                                                                                                                                                                                                                                                                                                                                                   .........  ..
                                           . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .............................. .....
                                  0.75                                                                                                                                                                                                                                                                                                                         ....
                                                                                                                                                                                                                                                                                                                                                                  ...
                                                                                                                                                                                                                                                                                                                                                                    .
                                                                                                                                                                                                                                                                                                                                                                    ...
                                                                                                                                                                                                                                                                                                                                                                      .
                                                                                                                                                                                                                                                                                                                                                                      ...
                                                                                                                                                                                                                                                                                                                                                                        .
                                                                                                                                                                                                                                                                                                                                                                        ...
                                                                                                                                                                                                                                                                                                                                                                          .
                                                    0                                                                                                                                                                                                                                                                                                                     ....
                                                                                                                                                                                                                                                                                                                                                                             ...
                                                        0                                                                   1                                                            2                                                           3                                                            4                                                            .5
                                                                                                                                                                                                                                                                                                                                                                               ....
                                                                                                                                           Rf
                                                                                                                                                                       = 0.18
                                                                                                                                           Ri
www.syscompdesign.com
Air Pressure                                                                              5.5 Barometer Calibration
                                                       r                        r     e
                                                 Ri            Rf
                                                            HH
                               VDA                          − HH
                                                                                  VOS
                                                            
                                                            +
Vb e
                                                      Rf               Rf
                                         VOS = −VDA   Ri
                                                           + Vb (1 +   Ri
                                                                            )
and
                                                               
                                                             Rf
                                         Vb     = 1.65/ 1 +
                                                             Ri
                                                = 1.39 volts
    Looking back into the D-A converter output, the load sees an internal D-A resistance R DA of R ohms. This
internal resistance could be used as Ri , (figure 5.19A).
www.syscompdesign.com
                                                                                                      182
eTest point A
                                                          r         r               r         e
                                         RDA                                 Rf
                                                                            HH
                                                                            −  HH
                                  
                         VDA                                               +
                                                                                         VOS
                                                                           
                                                          Vb                                  e
D-A Converter
eTest point B
                                                      r                 r               r         e
                                      RDA                 Ri                  Rf
                                                                             HH
                                                                             − HH
                                 
                        VDA                                                               VOS
                                                                             
                                                                             +
                               
                                                               Vb                                 e
D-A Converter
www.syscompdesign.com
Air Pressure                                                                                   5.5 Barometer Calibration
    However, in this arrangement there is no voltage signal representing the D-A output voltage by itself: the test
point A is a virtual earth. For troubleshooting purposes, it is better to provide an extra resistance and test point B
(figure 5.19B) where the output of the D-A can be measured. The voltage at B will be half the open circuit D-A
voltage VDA , but can be used to indicate that the D-A is operating correctly.
www.syscompdesign.com
                                                                                                                                                            184
e Test point B
                                                                                      r r                            r                r
                                                                           20k                            10k             3k6
                                                             D7
                                                                                                                         HH
                                                                                      r
                                                                                          10k
                                                                           20k                                              H
                                                                                                                         U2A H
                                                                                                                         −
                                                                                                                            
                                                             D6                                 72k
                                                                                                           r             
                                                                                                                         +
                                                                                      r
                                                                                          10k
                                                          MPP              20k                                  1.39V
                                                             D5
                                                          U6                                    27k
                                                                                      r
                            Parallel Output Port                                          10k
                           From Microprocessor                             20k
                                                             D4
                                                                                          10k
                                                                                      r
                                                                           20k
                                                             D3
                    70%                                                                                                                                   Offset Adj
                                                                                      r                                                               r     b
                                                                                          10k
                    p-schematic-autocal.epic                               20k                                                                            Test Point
                                                             D2
                                                                                                                                                            b
                                                                                          20k                                                             VOS
                           +5V
                                     R1               HH                              R2C                      R2D
                                                  3
                                                         H 1 r             r
                                                                                      12K14
                                                                                                      r13
                                                       U1A H
                                     160              +                           3                            12K   4
                                                          1
          U2
                             r
                                                                                                                                                 10
                                                  2
                                                       R2A
                                                      −
    MPX100AP                     3
                                                                               100n                                                                       R2G
                                                                       r
                                                            12K                                                                                           12K
                                                                                                                                                      r
                                                                                                           HH
                                                                  16                                                                             7
                       r              r
          500                              500
                4                          2
                                                             Rg
                                                                                            10             +  H
                                                                                                            U1C H8
                                                                                                              
                                                                       r
                                                            1K3                                                                           +5V
                                                                                                9          −
                                                                                                                                                         R4
                             r
          500                              500
                                                                                                           
                                                                                                                                      HH4                 200K
                                                                                                                                                      r           c
                                                                  15
                                                      HH R2B                                                                             H 14
                                                         H12K 2 r          r                          r                   r            U1D H
                                                                                                                                      −
                                 1                6                            100n                                             13
                                                       U1B H                                                                             
                                                      −
                                                         7
                                                  5                               5             12        11         6
                                                                                                                                 12
                                                                                                                                      +
                                                                                                                                        
                                                                                                                                       11
                                                                                                                                                                 To
                                                      +
                                                                                        R2D                  R2F
                                                                                                                                                                A-D
                                                                                          12K                  12K
                                     R3
                                     160
                                                   ×18.9 V/V                                                                         ×17.6 V/V
www.syscompdesign.com
Air Pressure                                                                                5.6 Reliability of the Design
   1. When the microprocessor first reads the A-D input voltage VAD , it will probably be near +5 volts or 0
      volts. The processor then monitors that voltage while increasing the count into the D-A converter, which
      causes the offset voltage to ramp between its maximum and minimum values. At some point, the A-D input
      voltage should move to a value near the centre of the A-D input range. At this point, the micro freezes the
      value in the D-A register. Because it knows the constants relating D-A count and offset voltage, the micro
      now knows the value of the offset voltage VOS that moves the interface into its linear region.
   2. The micro uses the current value of air pressure PA with the known values of amplifier gain KA , offset gain
      KOS and the offset voltage VOS that it set in the previous step, in equation 5.18 (page 176) to calculate the
      sensor gain KT .
   3. The micro now adjusts the D-A output so that the offset voltage V OS is at such a value that an air pressure
      PA of 100kPa would cause an A-D input voltage VAD of 2.5 volts.
   4. The micro stores the current values of the interface constants K A , KOS , VOS and KT in semi-permanent
      EEPROM memory. The interface is now calibrated and A-D readings can be used to calculate and display
      the current air pressure.
    An assembly line production would use this process. An external control computer would download a cali-
bration program and the current air pressure into the microprocessor. The calibration would take place without
human intervention.
    The calibration program should also have the capability for detecting that calibration did not occur properly.
Then a failed production unit can be shunted into a reject bin for rework.
www.syscompdesign.com
                                                                                                                                                186
     calculations and simulation accurately predict the behaviour of the prototype, then we can have some confidence
     in the predictions.
• Will the circuit function, or will some voltage or current run into saturation or cutoff?
        • Can the circuit calibration procedure compensate for circuit tolerances, or do we lose measurement accuracy
          under some conditions?
        This is potentially an unweildy problem, because of the combinatorial explosion of tolerance variables. The
     parameters and equations of a spreadsheet model for the manual offset adjustment version of the interface are
     shown in figure 5.21. A typical spreadsheet printout is shown in figure 5.22.
                                                                                                                    +5V
                                                                                                               R3
                                                                                                                          Offset Adj
                                                                                                               R4                          V8
                                                HH
                                Vs
                   V1 = Vcm +        + Vso
                                                   H V3 = rV1 + I1 R2                r
                                 2
                                                                                V5 = V3 /2                     R5
                                                 U1A H
                                                +
                                     Rs            
                                                 R2A
                                                −
                      Vso                                                  R2C           R2D                                               R2G
                                                            r
                                                                                                                                       r V9 = V 7
                                                                V1                       HH
                                                                                            H
                                Vs
                            r
                                                                                         +
                                                                                          U1C H
                                 2
                                                                                            
                                                                       V1 −V2
                                                            r
                                          Vs           Rg       I1 =     Rg
                                                                                         
                                                                                         −
                                                                                                                                           R4
                                Vs                              V2
            Vcm                                                                                                 HH
                                                                                                                                       r              c
                                 2
                                                HH R2B                                                             H
                                                       r                             r               r           U1D H
            2.5V                                                                                                −
                                                   H                       R2D           R2F
                                                 U1B H                                                             
                                                −
                                     Rs
                                                     
                                                                                                                
                                                                                                                +
                                                   
                                                 V4 = V2 − I1 R2
                                                +
                        V2 = Vcm −        Vs                                     V6 = V 5      V7 = 2V5 − V4
                                           2
        • The sensor offset Vso does not cause the amplifier to saturate but does have a dramatic effect on the output
          voltage VAD . (Notice that sensor offset Vso is a property of the sensor: do not confuse it with the offset
          voltage VOS of the interface.)
www.syscompdesign.com
Air Pressure                                                                                 5.6 Reliability of the Design
   • The offset voltage VOS may be adjusted to compensate for the effect of sensor offset voltage, but a larger
     range of offset is required than that originally anticipated. The output voltage V AD is very sensitive to the
     setting of VOS , so the pot R4 should be a multi-turn unit.
   • A combination of large offset and high sensor gain KT cause V3 , the output of U1A, to exceed 3.5 volts.
     This is the maximum output of the LM324 operational amplifier, and so an LMC660 is required.
   • For low sensor gain, the change in A-D reading over the full range of air pressures (95 to 105 kPa) is over
     60 counts, so the resolution is satisfactory even for low sensor gain.
    These results could have been predicted from an analysis of the circuit, but the spreadsheet model makes it
easy to explore the effect of a variety of options and combinations of parameters.
    A circuit simulation program such as SPICE could also be used to analyse the circuit, and is a better choice
where an accurate op-amp model is required. The spreadsheet model assumes ideal op amps. On the other hand,
spreadsheet programs are readily available and easy to use.
www.syscompdesign.com
                                                                                                                    188
           The effect on the output is a change of A-D reading of about 1.6 counts/ oC. Over a ±10o C temperature
           range, this is an error of 16 counts out of a total of 100, or a 16% error: not very acceptable. Fortunately,
           since it is a predictable effect, it may be compensated for by measuring the ambient temperature and modi-
           fying the sensor constant.
     Offset voltage drift For the LMC660, the typical figure for offset voltage drift is given as 1.3µvolts per degree
           C. The spreadsheet model (or an algebraic analysis) turn up the result that this causes a drift of about 0.5
           mv/o C, much less than one count of the A-D converter. This can therefore be neglected.
     Resistor temperature coefficients Most of the resistors (R2A through R2H) are on the same package and so can
           be expected to track in temperature. As well, the two amplifier gains are the result of ratios of resistance
           (equations 5.11 and 5.12), so the temperature coefficients may be expected to cancel. Simulation of resistor
           drift with the spreadsheet confirms this: the effects of resistor drift are small enough to be neglected.
www.syscompdesign.com
Chapter 6
Software Design
The design and construction of reliable control software must be approached with the same respect and care as the
design of hardware systems. It is usual to underestimate the difficulty of building a computer program. Programs
often contain defects and bugs that are poorly understood and difficult to eliminate.
    In this part of the book, we provide some general approaches and specific techniques that help organize the
design of software and make the process of development more predictable and systematic.
    The ideas of this section are applicable to any microprocessor, but the assembly language examples are specific
to the Motorola 68HC11 microprocessor. For information on programming the 68HC11, consult [98].
the C progamming language. The results were unsatisfactory. Students had no understanding of the underlying hardware, and there was too
much ’magic’ in the program development process. We then reverted back to assembly language.
                                                                 189
                                                                                                                          190
                m80
                module-complexity.epic
     possible control paths will completely overwhelm the ability of human intelligence to understand it.
         The Complexity Monster is particularly insidious because it is not evident for small programs. Whatever their
     structure, small programs can eventually be debugged. However, as unstructured programs become larger, they
     suddenly overwhelm the designer and become impossible to troubleshoot and make reliable.
         How do we manage this complexity? In overview, the solution is to clump the program into groups of instruc-
     tions, which are then known as software modules. Then:
         • Each module has a clearly defined function, rather like a giant machine instruction, and this makes it easier
           for the human mind to understand the larger structure.
         • Control transfer takes place between modules rather than between individual instructions, thereby minimiz-
           ing the number of possible transfer paths.
         • The modules themselves are arranged in a heirarchy, in which a master routine calls the subsidiary modules.
         • Each module may be individually tested as a small program, which makes its complexity manageable.
           Inside modules, the transfer of control is structured into a few carefully chosen patterns.
         With this approach, bugs are minimized at the outset and a systematic procedure can applied to pinpoint errors
     and eradicate them entirely. Furthermore, extending the program becomes more routine and less of an exercise in
     brinkmanship. (Will this last feature break the program?)
         However, structure does not arrive by accident and it cannot be applied after the fact: it has to be designed in
     from the beginning. In the next sections, we discuss how this process of software design may be accomplished.
www.syscompdesign.com
Software Design                                                                                                                                                                                                       Software Design
ISR 1
Initialize
ISR 2
                                                                              .   .   .   .        .   .   .   .      .      .   .   .   .   .   .   .    .       .   .   .   .   .   .   .   .   .   .   .   .   .
                                                                              .                                                                                                                                   .
                                                                      f
                                        ....           .   ....           .
                                            .... ......        .... ......    .                                                                                                                                   .
                                                .....              .....
                                                                              .                                    ....                                                                                           .
                                                                              .                                        ...                                                                                        .
                                                                                                                   ....
                                                                              .                                                                                                                                   .
                                            Read Inputs                       .                                                                                                                                   .
                                                                      f
              Main                                                            .
                                                                              .
                                                                                                                                                                                                                  .
                                                                                                                                                                                                                  .
                                                                                                                                                         ....
              Loop                                                            .
                                                                                                                                                         ...
                                                                                                                                                            ...                                                   .
                                                                              .                                                                                                                                   .
                                                                              .                                                                                                                                   .
                                                                      f
                                                                              .                                                                                                                                   .
                                    Actuate Outputs                           .                                                                                                                                   .
                                                                              .               ....                                                                                                                .
                                                                                                 ...
                                                                              .               ...                                                                                                                 .
                                                                              .                                                                                                                                   .
                                                                              .                                                          Subroutines                                                              .
                                                                              .                                                                                                                                   .
                                                                              .   .   .   .        .   .   .   .      .      .   .   .   .   .   .   .    .       .   .   .   .   .   .   .   .   .   .   .   .   .
                m80
                control-program.latex
    The program begins with an initialization section, in which the hardware is configured and variables initialized.
Then it enters the main loop. The main loop gathers input information and then actuates outputs. In its simplest
form, the main loop is a sequence of calls to subroutines. Usually there are conditional branches that determine
which of the subroutines is actually called.
    The main routine is the focus of control for the system, and it determines what processing takes place. It
should be kept as simple and short as possible.
    The actual processing is delegated to a number of subroutines, which may in turn call lower level routines.
    The main routine may be executed frequently enough that external events can be detected reliably by routines
called from the main loop. If an external event is not reliably detected from the main loop, it will be necessary to
use an interrupt service routine, ISR to do this. The function of interrupt service routines is maintain a record of
the occurrence of external events, not to do serious processing functions. The ISR simply communicates messages
about events to the other routines in the program.
    This simple model of a control program brings us to a number of useful design concepts.
Loop Timing It’s quite easy to monitor the speed of this system. Simply cause an output signal to be generated
     with each trip around the loop (flip the polarity of an output line, for example) and monitor this signal
     with an oscilloscope. This is a useful indicator of the average speed of execution and, what is often more
     important, of deviations caused by increases in computing load. On a more fundamental level, the lack of a
     pulse indicates that the patient has expired: the software has crashed.
Decoupling Inputs and Outputs The naive way of organizing a control program is to read one input, actuate the
     corresponding output, read the next input, actuate the next output, and so on.
      However, it is much better to separate the operations of gathering information and actuating outputs . This
www.syscompdesign.com
                                                                                                                                              192
            requires that the information gathering routines write input information into memory registers as flags or
            data values. The output routines then read these flags and values when actuating outputs. The input routines
            may be regarded as accumulating and saving messages, which are then acted upon by the output routines.
            This decoupling of input and output processing into two distinct phases has several advantages.
                • Output actions may become conditional on different combinations of input signals simply by various
                  boolean operations on flag variables, something that is difficult or impossible to do if the input and
                  output routines are intertwined.
                • Debugging is simplified. By breakpointing the main loop at the end of the information gathering
                  phase, it’s possible to examine the complete set of system input signals. By modifying the input vari-
                  ables and running the output routines, its possible to check that the output routines are acting correctly.
                  Various routines can be disabled and enabled by patching the subroutine call in the main loop. (To
                  disable a subroutine call, use the monitor program to change the JSR WHATEVER instruction to three
                  NOP instructions.)
                • The input flags are available as operator display status indicators. These have considerable debugging
                  value and ultimately, may be useful in impressing and entertaining clients.
     Waiting Loops It is undesireable to have the processor tied up in a waiting loop, whether waiting for some input
          signal to become available or in time sequencing output variables. A corollary of this is that delay loops
          should be avoided. If a particular routine cannot proceed, then its state (the values of its important variables)
          should be stored, the main loop resumed, and the routine checked again on the next pass around the loop.
     Prelude to Multitasking In a sense, the main loop is a kind of task dispatcher and the subroutines are system
          tasks2 . The main loop schedules the system, calling system tasks as they are needed. No task has the right to
          tie up the system while waiting for an input signal to arrive or delay loop to complete. Tasks communicate
          by sending messages to each other, in this case via shared variables. A message is nothing more than a flag
          bit that is set by one task routine and read by another task routine.
It is important to keep this model of organization in mind as you develop your own system programs.
2 We shall use the term task extensively. In this context, you may interpret the term to mean one or more subroutines that work together to
www.syscompdesign.com
Software Design                                                                                                                                                    Software Design
                                                                                                             &
                                                                                                 Calibration Detectors
                                                                                                                                            ......
                   ...               ...                                                                                        ............. ........
                .... ..          ... ......                                                                                 ..... ... .... ...
            .... ..
          ... ...
                                   ... ....
                                     .      ....
                                                                   RS232 Link      68HC11                                        .......          .......
        ...                                    ..                                                                                           ......
       ..                                                                                                                        ............ .......
                                                                                                                            ..... .... ..... ....
                                                                                 Microprocessor                                  .......          .......
                                                                                                                                            ......
                                                                                                                                 ........... ......
                                                                                                                            ..... .... ..... ....
                                                                                                                                 ....... . .......
                                                                                                                                            .
                                                                                                                                            .
                                                                        Guider                                                              .
                                                                                                                                            .
                                                                                                                                            .
                                                                                                                                            . ..
                                                                                                                                              ..
                                                                                                                                  ... .. . ... .
                                                                                                                                          ...
                                                                                                                                            .
                                                                                                                            ...... ...... ...... ......
                                                                                                                                ......... .........
                                                                                                                   .
                                                                                                        ............
                                                                                                   ..... .... ....
                                                                                                       ..............
                                                                                                        ........
                                                                                                       .... ....
                                                                                                                        Cloud and
                              system-diagram.pictex                                                .... .... ....
                              m80
                                                                                                       ..............
                                                                                                        .. ..
                                                                                                                        Temperature
                                                                                                       .............
                                                                                                   ..... .... ....
                                                                                                       ..............
                                                                                                                        Sensors
                                                                                                        .
                                                                                             RA
                                                                                                                                .................
                                                                                                                              ...
                                                                                             Motor                         .... ... ...
                                                                                                                              ... ... ...
                                                                                                                                                 .
                                                                                                                                ................
                                                                                             Driver                                            ...
                                                                                             Dec                                  .................
                                                                                                                               ...
                                                                                             Motor                         ..... ... ....
                                                                                                                               ... ... ...
                                                                                                                                                   .
                                                                                                                                 ................
                                                                                             Driver                                              ...
                                                                                             Shutter                             .................
                                                                                                                               ...
                                                                                             Motor                         ..... ... ....
                                                                                                                               ... ... ...
                                                                                                                                                  .
                                                                                                                                 ................
                                                                                             Driver                                             ...
www.syscompdesign.com
                                                                                                                                           194
          The solar telescope consists of a moveable primary mirror on the roof of the McLaughlin Planetarium. The
     primary mirror is moved by two stepping motors to reflect the sun onto one of several fixed mirrors, which then
     deliver an image of the sun to a viewing screen in the planetarium gallery.
          The two telescope stepping motors (Right Ascension and Declination) are operated by the micro via stepping
     motor translator drives located in the capsule electronics package. Each motor drive accepts step and direction
     logic signals to actuate the motors.
          The control system is operated by a System Controller, a 486-33 IBM compatible P/C, and a Capsule Con-
     troller, a 68HC11 microprocessor. The P/C is located in the building, adjacent to the exhibit display. The micro
     is located in the telescope capsule, on the roof of the building. These two computers communicate with each other
     via an RS232 bidirectional serial link.
          The P/C controller has sufficient computing power to perform the astronomical calculations of sun position
     while the telescope is tracking3. The only cables going into the capsule are 117VAC power and RS232 serial
     communications, which minimizes the number of control wires connecting the system controller to the capsule.
          Under normal operation, the controller P/C issues commands to the capsule processor and displays the re-
     sulting status messages. However, for debugging purposes, the capsule may be tested independently of the P/C
     controller by plugging it into a source of 117VAC and sending it serial commands from a P/C terminal emulator.
          The 68HC11 capsule controller responds to a repertoire of 35 commands in the following categories:
     Capsule Motion Requests for single steps, move to limits, move to the calibration points, reset position counters,
          inquiries of capsule position, start slew at controlled rate.
     Capsule Heat Requests for temperature readings and commands to enable and disable capsule heat.
     Cloud and Shutter Requests to open or close the shutter and to send the current cloud reading.
     Switch Status Request for the status of all capsule switches and calibration sensors.
     Housekeeping Verify capsule internal program, check processor memory, terminate to processor monitor, report
          supply voltage.
3 As an interesting sidelight on the development of computing technology, the original telescope system used an 8080 based processor and
required 30 minutes to calculate a table of sun positions for the day. This new system calculates the sun position 30 times per second.
www.syscompdesign.com
Software Design                                                                                           Software Design
      The precise function of this group of instructions is not important, but it does serve to illustrate the concept
      of ANDing two flags together to determine if a task should be executed.
      Now consider the sequence
      The various request flags (REQ_IN_TEMP and so on) are set or cleared by communication commands,
      which are an input to the system, and are established in the first part of the Main Loop.
      The logic of these instructions ensures that the A-D converter is read if there is a request for internal
      temperature OR a request for external temperature OR a request for cloud level OR a request for motor
www.syscompdesign.com
                                                                                                              196
          voltage reading. This kind of logic is simple when the various flags are available and there is a single
          command for calling a particular task.
          The last instruction in the Main Loop is JMP MAIN, which closes the loop.
     **********************************************************************
     *                     Capcon Initialize
     *
     *          This is where the capcon program starts up
     *
     CAPCON_INIT     EQU *            Capcon entry point
                     LDS #STACK       Initialize the stack pointer, compatable
                                         with Buffalo
     *
                     LDAA #$93        Set up the ’option’ register per Buffalo
                     STAA OPTION      adpu, dly, irqe, cop
     *
                     LDAA TMSK2       Set the timer prescaler to x4 rate
                     ORAA #%00000001   for the ’stepping’ signal
                     STAA TMSK2       Must happen in first 64 cycles after reset
     *
                     JSR INIT_FLAGS   Initialize control switch flags
                     JSR INIT_SPI     Initialize the SPI parallel ports
                     JSR INIT_SCI     Initialize SCI system
                     JSR INIT_BAD_OP Initialize illegal opcode interrupt vector
                     JSR INIT_SLEW    Initialize slew interrupt vectors
                     CLI              Enable maskable interrupts
     *       *********** Main Loop ************
     MAIN_LOOP       JSR UPDATE_INPUTS   Read the input data
                     JSR RA_TASK         Update right ascension position
                     JSR DEC_TASK        Update declination position
                     JSR DOOR_TASK       Update (shutter) door position
                     JSR UPDATE_SPI_OUT Update SPI port output data
                     JSR ACTUATE_SPI     Send SPI data and get SPI input data
     *
                     LDAA MSG_COMPLETE   Check whether there is an incoming
                                          message
                     BEQ NO_IN_MESSAGES
                     JSR DISPATCHER      If so, handle the message
     *
     NO_IN_MESSAGES LDAA REQ_STATUS_MSG Check for request for status message
                     BEQ NO_STATUS_REQ
                     JSR SEND_STATUS      If so, output a status message
     *
     NO_STATUS_REQ   LDAA AUTO_MESSAGE    If auto status messages is enabled
                     ANDA NEW_SWITCH_STAT and switch status has changed
                     BEQ NO_OUT_MESSAGES
                     JSR SEND_STATUS      Then send the status message
                     LDAA #0               and clear the ’changed switch’ flag
                     STAA NEW_SWITCH_STAT
     *
     NO_OUT_MESSAGES LDAA REQ_EW_TRANS   Check for position count request, e/w
                     BEQ NO_EW_POS
                     JSR SEND_EW_POS
     *
     NO_EW_POS       LDAA REQ_NS_TRANS   Check for position count request, n/s
www.syscompdesign.com
Software Design                                                                                 6.1 Module Design
                       BEQ NO_NS_POS
                       JSR SEND_NS_POS
*
NO_NS_POS              LDAA REQ_IN_TEMP     If any of the temperature
                       ORAA REQ_OUT_TEMP
                       ORAA REQ_CLOUD_LEVEL    or cloud data requests
                       ORAA REQ_VOLTAGE        or 28 volt reading
                       BEQ NO_AD_REQ
                       JSR READ_AD           then read the A/D converter
*
NO_AD_REQ              LDAA REQ_IN_TEMP             Check for request for inside temperature
                       BEQ NO_IN_TEMP
                       JSR SEND_I_TEMP              If so, send it.
*
NO_IN_TEMP             LDAA REQ_OUT_TEMP            Check for request for outside
                                                     temperature
                       BEQ NO_OUT_TEMP
                       JSR SEND_O_TEMP              If so, send it.
*
NO_OUT_TEMP            LDAA REQ_CLOUD_LEVEL            Check for request for cloud level
                       BEQ NO_CLOUD_REQ
                       JSR SEND_CLOUD                  If so, send it.
*
NO_CLOUD_REQ           LDAA BREAK_FLAG              Check for break to monitor
                       BEQ NO_BREAK
                       JMP BUFFALO
*
NO_BREAK               LDAA REQ_EPROM_CHECK            Check for request to send checksum
                       BEQ NO_EPROM_CHECK
                       JSR CHECK_EPROM
*
NO_EPROM_CHECK         LDAA REQ_RAM_CHECK              Check for request to check RAM
                       BEQ NO_RAM_CHECK
                       JSR CHECK_RAM
*
NO_RAM_CHECK           LDAA REQ_VOLTAGE                Check for request to send voltage
                       BEQ NO_VOLTAGE_CHK
                       JSR SEND_VOLTAGE
NO_VOLTAGE_CHK         JMP MAIN_LOOP                 and do it all again
Functionality The function of a module should be describable in a few words. If it takes several sentences to
     describe the function of the module, it’s probably too complex and should be further decomposed.
Communication The module should act on the machine state in a clearly defined way. That is, we should be
    quite clear what does and does not get changed by a particular module. Most modules change the contents
www.syscompdesign.com
                                                                                                                     198
           of the machine registers: the accumulator, index registers, stack pointer and so on. If you want to maintain
           the machine state, then you must push it onto the stack before calling the subroutine and then pop it back
           off the stack at the end of the subroutine. If the module uses a buffer area of RAM for some calculations,
           the information in the buffer area is destroyed by the module, and this is relevant.
           The more things the module changes, the more difficult it will be to understand what the function of the
           module if (when) it misbehaves. To minimize complexity, minimize what each module changes.
     Entry and Exit Points Each module should have one entry point and one exit point. It may call other subrou-
          tines, but the exit from this module should occur at the same point, the physical end of the module, regardless
          of the processing that takes place in the module. A practical consequence of this is that a subroutine should
          have one and only one RTS instruction.
     Re-useability If a software module is properly designed, it should be re-useable from project to project. For this
          to work, the interfaces to the module (what data goes in, what data comes out) must be carefully defined.
          This is especially true for high level languages, which can be recompiled on a new target machine to
          generate new assembly language code. However, even assembly language modules may be ported (adapted)
          to a new machine if they are well structured and documented. For example, much of the reference material
          for the 6502 microprocessor, a predecessor to the 68HC11, can be easily adapted to the 68HC11 if it is
          correctly structured.
• DO_MESSAGE: Send message out the serial port, followed by carriage return and line feed.
www.syscompdesign.com
Software Design                                                                                        6.1 Module Design
What does this module do? This the one sentence description of the module. Additional material may explain
    the function in the context of the larger program.
How do I use it? This section provides enough information to re-use the routine for some other application. In
    order to do this, it precisely defines the parameters that are used and produced by the module. In technical
    terms, this section defines the module interface. With a knowledge of the interface, it should be possible to
    use the routine as a black box, without understanding of the internal workings of the module.
How does it work? This information is the key guide to debugging and modifying the internal operation of the
    module. It may give an algorithm or reference for the method, or may set out the logic of the module in
    pseudo-code. Comments in the body of the code are helpful but are no replacement for an overview of the
    design in the header.
   Once the heading is written, then it is a matter of translating the interface and internal description into working
code. Writing the header is part of the module design process, not something that is done after the code is written.
www.syscompdesign.com
                                                                                                                 200
     ******************************************************************
     *          Initialize Bad Op Code Vector
     * This routine sets up the vector to point at the ’bad op code’
     * interrupt handler routine.
     *
     INIT_BAD_OP LDAA #$7E             Revector the bad opcode interrupt
                 STAA BAD_OP_VECTOR    using the pseudo-vector location
                 LDD #BAD_OP_ISR
                 STD BAD_OP_VECTOR+1
                 RTS
     *
     ******************************************************************
     *          Bad Op Code Handler
     * This routine handles an interrupt caused by the attempted
     * execution of an illegal op code.
     * It generates an error message indicating the error location
     * and then terminates to the monitor.
     * Determining the location of the bad opcode:
     * When the interrupt occurs, the processor puts the machine
     *   state on the stack as follows (starting at the higher
     *   address and working down):
     *    8     PCL
     *    7     PCH
     *    6     IYL
     *    5     IYH
     *    4     IXL
     *    3     IXH
     *    2     ACCA
     *    1     ACCB
     *    0     CCR    <- .X points here after TSX instruction
     *                 <- Stack Pointer
     * To display the location of the illegal op code, we must transfer
     * the stack to the X register using the TSX instruction. This
     * puts the stack pointer value plus one in the X index register.
     * Now load the accumulator with an offset indexed load, where
     * the offset corresponds to the offset of the PCH on the stack.
     * Then use OUTLHLF, OUTRHLF to print it.
     * Repeat for PCL, and we’re done.
     *
     BAD_OP_ISR   LDX #EM_BAD_OPCODE   Print error message
                  JSR OUTSTRG           without crlf
                  TSX                  Find bottom of stack frame
                  LDAA 7,X             Get PCH from stack
                  JSR OUTLHLF          Output MSD
                  LDAA 7,X             Get PCH again
                  JSR OUTRHLF          and output LSD
                  LDAA 8,X             Get PCL from stack
                  JSR OUTLHLF          Output MSD
www.syscompdesign.com
Software Design                                                                                                      6.1 Module Design
   Notice there are more lines of comment in the header than there are of code. This is as it should be: the most
important comments give the big picture. For different commenting styles, it is illustrative to look through the
source code for the Buffalo monitor and MATH11 floating point package 4 As you read these listings, ask yourself
what additional information would have been helpful in the module documentation.
    with these:
                     LDA FUBAR                 If the ZURTBLOT flag
                     CMP NURT                  is not equal to NURT then
                     BNE ZING                  do the ZING stuff
NON_ZING               etc                     else do the NON-ZING stuff
    The two sets of code are identical, but the second set of comments, while somewhat surreal, convey a much
better idea of the intent of the module. Notice as well that the second set mimic the IF-THEN-ELSE decision
structure of Pascal or C. Again, this increases readability.
    Other useful decision structures are REPEAT-UNTIL, DO-WHILE, and CASE.
www.syscompdesign.com
                                                                                                                           202
         Comparisons are always between a machine register, such as accumulator A, and some memory location. In
     this table, r represents the machine register and m a memory location.
         For example, in the seqence
                                   LDA FUBAR
                                   CMP NURT
                                   BNE ZING
                NON_ZING             etc
         the comparison is between the value in the accumulator and the value in the memory register ZING.
         Four different types of conditional branches are shown in this table: unconditional, simple, unsigned and
     signed.
     Unconditional Branches The BRA instruction causes an unconditional branch to the offset operand, +/-127 bytes
          away. It is useful as a two byte, relocatable replacement for the JMP instruction. The reference manual
          attempts to make a case for the BRN instruction, but it’s difficult to imagine where it would actually be
          used.
     Simple Branches These branches are determined directly by the various bits of the condition code register:
          Carry, Zero, oVerflow and Negative. Each machine instruction in the reference manual contains
          information on how it affects these bits in the condition code register.
     Unsigned Branches These branches are based on byte comparisons where the bytes are considered to be un-
          signed numbers. Thus, for example, if r contains 1111 1111 and m contains 0000 0000, then r is consid-
          ered larger than m.
     Signed Branches These branches consider the bytes to be 2’s complement numbers. In this case, a number is
          negative if its most significant bit is set, and this will be reflected in the condition code N bit. In this case, if
www.syscompdesign.com
Software Design                                                                                    6.1 Module Design
       r contains 1000 0000 and m contains 1111 1111, then r is considered smaller than m because 1111 1111
       is interpreted as −1 in decimal.
                                                         Q
                                                             Q
                                                              Q
                                                α > β Compare QQα ≤ β
                                                     Q    α : β 
                                                      Q
                                                       Q       
                                                        Q     
                                                         Q
                            if-then-else.epic
                            m80
     Solution: We should use the first line of the chart, because we are comparing signed numbers. Then the code
is
    If we goofed and wanted to reverse the sense of the decision, we would replace BGT with its complement from
the table, BLE. If ALPHA and BETA were both unsigned variables, then the appropriate branch instruction would
be BHI.
www.syscompdesign.com
                                                                                                                          204
                         Simply stare at the code until little drops of blood appear on your forehead,
                                                   then it will come to you.
www.syscompdesign.com
Software Design                                                                                   6.2 Module Debugging
www.syscompdesign.com
                                                                                                                     206
         Before we commit to one or other method, we should think ahead a bit. Suppose this device is going to be
     shipped to a country where temperature measurement is still practiced in Fahrenheit. To which of these schemes
     would it be easier to add a Fahrenheit readout? Using table lookup would require a second table, doubling the
     table storage space. Or, the table output value could be converted using fixed point numerical calculations. Using
     floating point would require an additional formula calculation. Now suppose the thermistor is changed, requiring
     recalibration of the system. Could we somehow use an existing lookup table, or would it be easier to modify a
     floating point formula constant?
         Notice the space-time tradeoff here: lookup table methods are require lots of space and little time. Floating
     point calculations require little space and lots of time. The tradeoff of space and time occurs again and again
     in software design. There’s no one approach that gives the ’right’ answer every time: it depends entirely on
     the application. However, it is important for the designer to be aware of the different possible methods and the
     strengths and weaknesses of each.
www.syscompdesign.com
Software Design                                                                                                    6.3 The Real-Time Interrupt
   3. Include a small timer service routine as part of the real time interrupt. The routine checks the timer enable
      flag and, if the timer is enabled, increments it by one count.
For example, a two byte counter and 60 Hz real time interrupt would be able to time up to 2 16 ×16.6×10−3 = 1087
seconds.
    To clear the timer, the foreground task should first disable the timer and then clear all the timer count bytes to
zero.
    The foreground task can now use this timer as a resource. It can enable and disable the count, and can
periodically read the timer to determine elapsed time. These background timers do not add much load to the real
time interrupt, so they can be added as needed.
    There is, however, the possibility of a Very Nasty Bug that you should be aware of.
    Suppose the timing count is contained in two bytes, which we will call TIMERLOW and TIMERHI. Further,
suppose the two bytes contain the count $FFFF. The foreground routine now decides to do a read of the timing
count. It begins by reading the low byte, which is $FF.
    However, and this is the nasty bit, before the foreground task can read the high byte, a real time interrupt
occurs. The real time interrupt increments the counter, which rolls over to $0000. The real time interrupt service
routine then completes and returns control to the foreground task.
    The foreground task now reads the high byte, now $00. Putting the low and high byte readings together, the
foreground task determines a timer delay count of $00FF, which is completely erroneous.
    This problem is particularly nasty because it only occurs when the real time interrupt happens to occur exactly
between foreground task reads of the two bytes. As a result, the bug appears to occur at random intervals and is
not reproducible.
    The solution is simply to disable the real time interrupt while reading a multiple byte counter 6. This will cause
a brief jitter in the timing interval, but no counts will be lost. Of course, the real time interrupt should be disabled
for the shortest possible time.
    Other forms of this bug can afflict the servicing of peripheral devices. It is best to have either the background
task or the foreground task service some peripheral, but not both. For example, the background task should read
various switches and the foreground task should read data provided by the background task. The foreground task
should not read the switches directly.
www.syscompdesign.com
                                                                                                                        208
        • Certain clock rates require adjusting the 68HC11 timer prescaler. The HC11 hardware requires that any
          changes to the prescaler must be done within 64 cycles of reset. Thus, for example, you cannot reset to the
          monitor, and then start this program, and expect the prescaler value to be changed by the instructions in this
          program. If you must change the prescaler, you have two choices: (a) incorporate the prescaler instructions
          is part of the monitor startup routine (you’ll have to re-assemble and re-burn the monitor program) or (b)
          do without the monitor and have this program start directly out of reset. Obviously, if you can live with the
          prescaler default value, this simplifies life greatly.
        • Notice the CLI instruction at the end of the initialization section. The interrupt mask bit in the status register
          is automatically set during reset, in order to disable all maskable interrupts. The CLI instruction clears the
          interrupt mask bit in the status register to enable all maskable interrupts. Each interrupt source must also be
          individually enabled to activate it.
        • As shown in this example, the main loop is simply one NOP instruction. In practice, a variety of tasks would
          be installed here.
www.syscompdesign.com
Software Design                                                   6.3 The Real-Time Interrupt
*******************************************************************
*                 Real Time Interrupt Demonstration Program
*
* Flips bit PA6 as a background task, driven by real-time interrupt.
*
* On the use of CLI and SEI:
* The machine comes out of reset with the I bit in the CCR set, so CLI
*   must be executed during initialization to enable interrupts.
* An interrupt sequence automatically disables interrupts and RTI
*   automatically re-enables them. Thus SEI is not normally required.
* Interrupts and Buffalo Monitor:
* The RTI will run behind the Buffalo monitor.
* However, startup must be via a monitor ’CALL’ instruction. A ’GO’
*   followed by an SWI causes the interrupts to be disabled.
* A reset disables the interrupts, of course.
* Definitions used in this example:
STACK                EQU   $0047   Stack, to be compatable with BUFFALO monitor
RTI_JMP_VECTOR       EQU   $00EB   RTI vector in interrupt jump table
TMSK2                EQU   $1024   TOI,RTII,-,-,0,0,PR1,PR2    Timer Mask Register2
TFLG1                EQU   $1023   OC1F,OC2F,OC3F,OC4F,OC5F,IC1F,IC2F,IC3F
TFLG2                EQU   $1025   TOF,RTIF,PAOVF,PA1F,0,0,0,0 Timer Flag Register2
PACTL                EQU   $1026   DDRA7,-,-,-,0,0,RTR1,RTR2   Pulse Accumulator Reg
PORTA                EQU   $1000   Data register for port A
OPTION               EQU   $1039   Option register (see page 3-9)
******************************************************************
INITIALIZE EQU *             Program starts here
            LDS #STACK       Initialize the stack pointer, compatable with
*                                Buffalo
*
            LDAA #$93        Set up the ’option’ register per Buffalo
            STAA OPTION      adpu, dly, irqe, cop
*
            LDAA #%00000011 Set free running timer prescaler to divide by 16
            STAA TMSK2       (must be done within 64 cycles of reset)
*
            NOP              More initialization here, if required
*
            CLI              Enable maskable interrupts
            JSR ENABLE_RTI   Enable the real time interrupt
*
MAIN_LOOP         NOP               Foreground task goes here
                  JMP MAIN_LOOP     Breakpoint here to return to monitor.
******************************************************************
*              Real Time Interrupt Routines
* Enable_RTI:
* 1. Set RTI rate to generate 16.38 msec real time interrupt.
*     (See page 10-12 of HC11 manual)
*     With 4MHz crystal, must set RTR0 and clear RTR1
* 2. Install JMP IRQ_SERVICE instruction in interrupt vector table
* 3. Enable RTI interrupt bit.
*
www.syscompdesign.com
                                                                                                                         210
         • The design process becomes much more systematic and less ad-hoc, thereby an aid the comprehension of
           a limited human intellect. This results in a more reliable design and one that is easier to troubleshoot if it
           misbehaves.
         • It is possible to consider all possible combinations of input conditions and current state, thereby avoiding
           the unpleasant surprizes that occur when unexpected input and state combinations occur.
www.syscompdesign.com
Software Design                                                                                              6.4 State Machine Techniques
    • For large state machines, it is possible to incorporate the current state, next state and input conditions into a
      table that is then read by the procedural code in the module. This makes the behavior easy to maintain and
      modify. It also turns out that such a data-driven state machine is very fast in execution [73].
                                                                                                    
                                                                                                        0              Pulse Disabled
                                                                                                     Pulse Enabled
                                                                                                    
                                                                                                    
                                                                     Pulse                              1               Delay Td in progress
                                                                     Complete
                                                                                                    
             Td                  Tp                                                                  Delay Complete, Initialize Tp
                                                                                                    
                                                                                                        2               Pulse Tp in progress
  m100                                                           m100
  pulse-waveform.epic                                            pulse-state-diagram.epic
    The naive approach to this is to write two software loops, one for the delay time T d and a second for the pulse
time Tp . The processor would lower the output line, delay Td in a software loop, raise the output line, delay Tp in
a software loop, and continue.
    There are a number of problems with this approach. First, software delay loops are dependent on processor
clock speed and the number of cycles in each machine instruction. As a result, they change with each new
generation of processor7 and should be avoided.
    Second, each delay loop ties up the processor in unproductive looping, when it could be doing something
useful, such as servicing the rest of the main loop.
    A better approach is to use hardware timers or the real-time interrupt to generate the delays. Then they
are a predictable function of clock speed. (If you change the processor crystal, all the delay times will change
proportionally, and it will be necessary to adjust the hardware timer prescaler factor.)
    Consider first the real-time clock method of generating the delay.
    7 DOS software that was written with suitable software delay loops for the 286 processor is completely unuseable on a 486 machine because
www.syscompdesign.com
                                                                                                                    212
         As shown in Chapter 6.3, the real-time-interrupt may be used to service any routines that depend on service at
     regular intervals. If this interval is 60 Hz, then the service occurs every 16.6 milliseconds.
         We wish to generate a time delay of 0.5 seconds followed by a pulse of 0.1 seconds, so the pulse routine will
     be called by the real-time interrupt service routine and will have two timing counters. The delay counter T d will
     be preset to 0.5/16.6−3 ≈ 30. The pulse counter Tp will be preset to 0.1/16.6−3 ≈ 6. Pulse generation is a two
     stage process. First, lower the output line and count down the delay timer. When it is zero, raise the output line
     and count down the pulse timer. When it is zero, repeat the delay time. And so on.
         A systematic way of sequencing the pulse counts is with the state machine shown in figure 6.6(b). The state
     machinery is implemented with a variable PSTATE which contains the current state of the pulse generator state
     machine. Each time the pulse generator routine is called from the real-time interrupt, the processor uses the value
     of the current state (0, 1 or 2) to determine what it should do.
www.syscompdesign.com
Software Design                                                                         6.4 State Machine Techniques
   • The delay and pulse counts are both byte sized, so the maximum delay and pulse intervals would be
     255 × 16.6−3 = 4.23 seconds. The resolution of the intervals is the real time clock pulse interval, 16.6
     milliseconds.
   • The STATE_DISPATCHER routine will be called by the real-time interrupt, 60 times per second. The
     dispatcher routes control to the appropriate state service routine, based on the current state, PSTATE. It is
     possible to design the state machine without the state dispatcher and current state variable, but having a
     variable to reflect the current state makes this approach easy to debug. For example, the state of the pulse
     generator task can be determined at any time by examining PSTATE. Read it out to a display, and you have
     a winking indication of the operation of the pulse generator.
   • Notice what happens if the pulse generator is disabled by changing OUTPUT_ENABLED to zero. As the
     pulse generator is designed, it completes its current pulse and then discovers that output has been disabled
     when it returns to state 0. This holds it in state 0 until the output is enabled again. When the output is
     re-enabled, the task starts off in a known state, with the time delay part of the pulse.
www.syscompdesign.com
                                                                                                                                                    214
         • Because the pulse generator routine is in handled in software, it is capable of very long delays by increas-
           ing the size of DELAY_COUNT and PULSE_COUNT to multiple bytes. However, generation of a pulse
           waveform in software is not well suited for delays of less than some 10’s of milliseconds. In that case, the
           68HC11 hardware timers should be used.
                                                                        
                                           Lamps                        
                                                                                      JJ
                          BLOB
                                                                                      
                                                  BB                             BB
                                             BB                             BB
                                                                                                                                 A Obscured
          Photo-Detectors                              s                                  s
                                                                +                             +
                                                                                                                                            B Obscured
                                                                                                                      t0         t1            t2         t3   t4
       m80                                             A                              B                  m80
       motion-detector-hardware.epic                                                                     motion-detector-waveform.epic
         When a photo-transistor is illuminated, the light causes collector current to flow. Assuming a correct value of
     collector resistor and illumination, the transistor is saturated, and the output voltage is approximately zero.
         As an object goes past the photo-transistors, it blocks them from the light sources. When the light is removed
     from a photo-transistor, the collector current drops to zero and the collector voltage rises up to the supply voltage,
     +5 volts in this case.
         As the blob object9 travels from left to right, the output voltages of photo-transistor A and B follow the
     sequence shown in figure 6.7(b).
         Treating zero volts as logic 0 and +5 volts as logic 1, we can show figure 6.7 as a table:
         8 A common use for this circuit is to monitor the number and direction of rotation of a motor or control shaft. Two photo-interrupters detect
www.syscompdesign.com
Software Design                                                                           6.4 State Machine Techniques
    Now the trick: treat each of these A:B combinations as a state number to obtain the state diagram shown in
figure 6.8. (Notice the order of the states: they are not sequential. They order of the states is a Gray Code, in
which one and only one bit changes with each number.)
                                   Backward                     Forward
                                     
                                     
                                      2               3           1             0
                              m100
                              direction-states.epic
    The next task is to have the microprocessor monitor signals A and B and detect the passage of an object, either
forward or backward. The simplest scheme is to attach the A and B signals to two input port lines. If the speed
of the program sufficiently fast that all changes in the levels can be reliably detected, the port may simply be read
by the processor with each trip around the main loop. The current state of the two lines is then compared with the
previous state to determine which way the object is moving.
    Alternatively, changes in either of the A and B signals too rapid to be detected by checking from the main
loop, may be detected by interrupt. In addition to the port input lines, the signals would be connected to the
68HC11 input capture lines IC0 and IC1. The timer edge interrupt is then set up to generate an interrupt on any
edge. Every time A or B changes, this generates a processor interrupt, which causes the processor to go to the
www.syscompdesign.com
                                                                                                                       216
     motion detector interrupt service routine. The interrupt service routine then reads the current levels of A and B
     and determines the new count and direction.
         Each time the photo-interrupter lines change, the direction of the object movement that caused this change may
     be determined by comparing the current state of the A and B lines with their previous state. This is summarized
     in the following table: (– means no change).
         This table is known as a state transition table because it summarizes all possible transitions that can occur, and
     their possible significance. It considers all possible inputs, it should prevent the situation where a combination of
     input signals, unanticipated by the programmer, crashes the program.
         With the state transition table in hand, we can now write the pseudocode. This is similar in concept to the
     previous example. A variable maintains the current state and a state dispatcher routes control to different sections
     of the program based on the current state.
         We have one more concern to take care of, and that is knowing when to increment the blob counter. We might
     decide that an increment should occur when the blob moves out of the sensing area to the right, and a decrement
     should occur when the blob moves out of the sensing area to the left.
         Then the increment and decrement actions occur for the following state transitions:
www.syscompdesign.com
Software Design                                                                           6.4 State Machine Techniques
    With both the state transition tables in hand, we can now write the pseudocode. This is similar in concept to
the example of section 6.3. A variable maintains the current state and a state dispatcher routes control to different
sections of the program based on the current state.
www.syscompdesign.com
                                                                                                                       218
                                        ERROR
                                        RETURN
                                    IF NEW_STATE=2 THEN
                                        NO CHANGE
                                        RETURN
                                    IF NEW_STATE=3 THEN
                                        DIRECTION := RIGHT
                                        CURRENT_STATE :=NEW_STATE
                                        RETURN
     STATE_3                        IF NEW_STATE=0 THEN
                                        ERROR
                                        RETURN
                                    IF NEW_STATE=1 THEN
                                        DIRECTION := RIGHT
                                        CURRENT_STATE := NEW_STATE
                                        RETURN
                                    IF NEW_STATE=2 THEN
                                        DIRECTION := LEFT
                                        CURRENT_STATE := NEW_STATE
                                        RETURN
                                    IF NEW_STATE=3 THEN
                                        NO CHANGE
                                        RETURN
         On the basis that there are only two situations where increment and decrement occur, you might expect that
     there is a simpler routine that will have the same effect. The state machine approach, however, instantly detects
     any change of direction and can deal with such pathological situations as the blob moving into the sensing area
     and then backing out again. If this happens, the blob should not be counted, and is not, using this routine. This
     routine is also quite robust at detecting illegal transitions in the input signals. This could be handy detecting
     hardware problems with the detectors.
         Although there is a significant amount of code here it is a direct translation of the state transition tables into
     code: there is nothing tricky or unusual. In fact, it is possible to eliminate nearly all of the conditional branch
     instructions and have the program read the state transition tables directly, as discussed in reference [73].
         As in the previous example, the CURRENT_STATE and NEW_STATE variables are handy in debugging: they
     indicate the current and new status of the machine.
         Incidentally, you will notice that this pseudo-code has a zillion RETURN statements in it. To adhere to our
     one entrance, one exit rule for procedures, all of these RETURN statements should be translated into JMP EXIT,
     where EXIT is the address of a final RTS instruction.
www.syscompdesign.com
Software Design                                                                               6.5 The Button Interface
One Event per Push The display should change once and only once per button push. Now, the software will
     likely be fast enough to detect a pushed button many times during the interval it is depressed by the human
     operator. A routine that simply changes the display each time it detects a depressed pushbutton will then
     change the display several times with ach button push, not what is wanted.
      The button routine must therefore check for the release of the button as well as its actuation. A suitable
      state diagram for the button is shown below:
                                                 '$
                                                   0         Button Released
                                                 &%
                                                                 
                                                 '$                Set button flag
                                                   1         Button Depressed
                                                 &%
                             button-state.epic
                             m100
Scan Rate The button must be checked sufficiently frequently to detect the most rapid button jab by a human
     operator, or pressing the button must cause an interrupt. We choose to scan the button by polling software
     since we will be adding switches and have a limited number of available interrupts.
      The main loop cannot be used to scan the button. The execution of the main loop varies as the tasks change,
      and so a minimum scan time for the pushbutton cannot be guaranteed.
      On the other hand, if the switch scan routine is added to the real time interrupt service routine, the switch
      may be checked at a constant rate, 60 times per second. It turns out that this is frequent enough to detect
      the briefest possible actuation by a human.
www.syscompdesign.com
                                                                                                                    220
     Button Bounce When a mechanical switch closes, the contacts bounce open and closed for a few milliseconds
          after the initial contact. As a result, the switch circuit generates a train of pulses as shown in figure 6.10
          below.
                                                                     $v o$
                                                +5 volts
                                                                       +5v
                                            r
                                            e
                                                          vo
                                                                        0v
                                            e
                                                    To
                        Pushbutton                  Microprocessor
                                                    Input                                           Time
                                                                              2 millisec (approx)
                           contact-bounce.epic=
                           m70
         The train of pulses caused by contact bounce may erroneously be seen by the software as multiple button
     pushes. A simple fix is to delay and reconfirm that the switch signal has not changed. The delay is typically 3
     milliseconds or so, short enough that it may be implemented with a software loop.
www.syscompdesign.com
Software Design                                                 6.5 The Button Interface
Initialization: B_STATE := 0
                B_FLAG := Cleared
www.syscompdesign.com
                                                                                                                   222
www.syscompdesign.com
Chapter 7
• Ambient temperature
• Humidity
    Readings are displayed on a liquid crystal display. The software includes a facility to store and display a
history of past readings.
    A minimum level project will consist of a device to measure and display three quantities, as specified by your
instructor, from the above list. Advanced students will add other sensors to the system or may investigate new
approaches to sensor design. For example, an advanced student may wish to build a wind velocity sensor that
combines the measurement of wind direction and speed.
• design circuits requiring care in selection of components and grounding, shielding and decoupling.
                                                       223
                                                                                                                     224
     7.1.3 Microprocessor
     Emphasis in the project is on analogue circuit design, construction and verification, and on microprocessor soft-
     ware design and debugging. To this end, a microprocessor kit the MPP Board will be available to purchase for
     the microprocessor section of the project. After assembling the kit, the student will have a functional 68HC11
     microprocessor system. An undedicated area of the board may be used for analogue signal conditioning circuitry.
     Detailed specifications for the microprocessor board are given in a separate manual, [100].
         The microprocessor module may be considered as a ’single chip micro’ development system. It is provided
     with RS232 terminal port and monitor software so that the application program may be debugged. Eventually, a
     single chip version of the micro could be used in the final product, in which the weather station software is burned
     into an EPROM.
     Ambient Temperature Measurement The student is required to design and build temperature measuring cir-
         cuitry. The student will consider the various engineering tradeoffs in using solid state temperature sensors
         vs thermistors or other devices. The final circuit will be tested against lab calibration standards. The drift
         performance of the measuring circuit must be predicted.
           Lessons: Temperature measurement, nonlinear correction (thermistor), amplification and offset signal con-
           ditioning (solid state sensor). Use of lookup tables or floating point calculations.
     Humidity Measurement The measuring circuit must determine the relative humidity of the air. This may be
         accomplished using a sensor which changes dielectric constant with humidity or using an electronic hy-
         grometer. Lessons: measuring frequency and converting to measured quantity.
     Air Speed Measurement The air speed measurement circuit may be devised by the standard ’whirling cups’
          mechanical anemometer or by means of a thermal feedback circuit (preferred because it has no moving
          parts).
           Lessons: Differential amplifier measurements, thermal time constants, thermal transfer effects.
     Wind Direction Measurement A conventional wind vane with rotational sensor may be used to sense wind
          direction.
www.syscompdesign.com
Instrumentation Laboratory Outline                                                                  7.1 Lab Description
Lessons: Interfacing to a rotating sensor (gray scale sensing or other analogue rotational sensor).
Air Pressure A solid state absolute air pressure transducer may be used to generate a (small) signal proportional
     to barometric pressure. Conditioning this signal (a total variation of 1.67 mV over a typical change of air
     pressure for the Motorola MPX100A) is a challenging exercise in analogue circuit design.
      Lessons: small signal amplification, control of noise, chopper stablized amplifier techniques, autocalibra-
      tion technique, use of lookup tables or floating point package.
Sensor Readouts The instrument must have selectable readout displays, which should read out to 1 % precision,
     with (hopefully) corresponding accuracy. Calibration factors are stored in the microprocessor EEPROM.
• Accuracy of measurement
www.syscompdesign.com
                                                                                                                  226
        • Construction and operation manual ’mpp_manual.ps’ for the Microprocessor Project Platform (MPP),
          the 68HC11 microprocessor board.
www.syscompdesign.com
Instrumentation Laboratory Outline                                                                  7.1 Lab Description
   • All checkpoint demonstrations must be completed by the ending time of the students lab on the due date.
   • A Checkpoint Demonstration includes a demonstration of operational hardware, properly documented soft-
     ware and a calibration report. Calibration constants must be stored in EEPROM, not as part of the applica-
     tion software. Incomplete demonstrations will receive part marks. Students may be quizzed on aspects of
     the project, such as the software.
   • A penalty of 5% per week is applied to late projects to a minimum of half the mark for that project.
   • The completed unit must be demonstrated by 5 PM on the day of the lab in week 13. No work will be
     accepted after that date.
   • The report must be submitted to the office by 4:30 PM on the due date. Late reports will not be accepted.
   • Students are encouraged to help each other solve problems, including hunting for software bugs. However,
     plagarism (copying) of software is strictly forbidden and will be treated extremely seriously.
www.syscompdesign.com
                                                                                                                    228
         The lab report should observe the following guidelines. (These pointers are based on the reports from previous
     iterations of this course.)
• Show all wiring diagrams, including connections between the analog sections and the microprocessor.
        • Show a parts layout drawing with parts designations for each hardware section you constructed (not the
          MPP Board).
        • Include a parts list, with quantity, designation, description, supplier and price of all items. (The micropro-
          cessor board may be treated as one item.)
        • Schematics should be complete with designations and parts values. Any potentiometers should be labelled
          with their function.
• Software should be organized as a heirachy of main routine and subroutine tasks (modules).
        • Each software module should have a header and include a pseudocode description of its operation. A header
          should never go in the center of a software module.
        • Software modules should be structured as ’black boxes’ with well defined inputs and outputs. Input and
          output parameters must be specified in the header of each module.
        • The emphasis on software documentation should be in the header. Try to specify the intent of the module,
          as opposed to a blow-by-blow description of its operation.
        • If a lookup table is used, the method of generating the table should be shown as part of the header docu-
          mentation.
        • It is bad practice to disable interrupts. Try to use mechanisms, such as state machines, that do not require
          disabling interrupts.
        • One and only one software module, the display manager, should write to the display. Other modules
          communicate with the display manager subroutine to write to the display.
www.syscompdesign.com
Instrumentation Laboratory Outline                                                            7.2 Laboratory Exercises
   • Avoid unnecessary ORG statements in code. As much as possible, allow the assembler to determine the
     memory address of code.
   • Do not make statements you can’t prove. For example the statement, ”The circuit worked perfectly” is
     meaningless. A better statement is ”The circuit met specifications”, where the specifications have been
     defined and the actual performance measured and documented.
   • Do not use more than two font types, and stick to plain fonts such as Helvetica or Times. Medieval script is
     not appropriate for a technical report, even the title.
   • Do not use justification unless your word processing program has full, intelligent justification. Most pro-
     grams don’t, so it is better to leave the right edge of text ragged.
   • The report must be in full electronic format. It is not acceptable to paste pieces of paper in the report or
     hand-draw graphs.
• The report must be printed on a laser or inkjet printer. Dot matrix is not acceptable quality.
   • The preferred publishing tools are LATEX, using xfig for drawings and Matlab or gnuplot for graphs. These
     tools have require some learning to use, but will also be extremely useful in generating your thesis project
     report. Documentation for LATEXand xfig is available on the computer network.
   • Reports are expected to be the original work of the person submitting the report. Any material, such as
     figures, graphs or software, which has been generated by some other party must be given credit in the
     report. Failure to do this constitutes plagiarism. Material from another party that is contains mistakes,
     whether attributed or not, will result in a substantial lowering of marks.
www.syscompdesign.com
                                                                                                                        230
     Wet-Dry Bulb (Hygrometer) Two thermistor temperature sensors are interfaced to microprocessor A-D chan-
          nels. Software reads the two A-D channels and calculates the temperature of each thermistor.
           One thermistor, the dry bulb, measures air temperature. The other thermistor, the wet bulb, is cooled by a
           muslin wick, dampened from a water resevoir, in a fan cooled air stream. A formula is used to calculate the
           relative humidity from the two temperatures.
           This approach requires some mechanical construction but the software is quite straightforward, especially
           if one thermistor is already used to measure ambient temperature.
     Humidity-Capacitance Sensor: Oscillator A humidity sensor is available as Philips part number 691-90001
         from Electrosonic Supply for about $10. The capacitance of the sensor, which varies with relative humidity
         is used to control a variable frequency oscillator. The resultant frequency or period is measured by the
         microprocessor and a formula used to calculate relative humidity.
           This approach requires the use of the timer input and interrupts on the 68HC11 microprocessor. The hard-
           ware is very simple, but the software will require careful design and coding.
           Because of the variability of the sensor, the sensor must be calibrated using atmospheres of known humidity.
           At least three jars containing known humidity atmospheres will be provided. Students should measure the
           oscillator frequency at these three humidity points and then fit a curve to the measured data. The sensor
           response time is in the order of 5 minutes, so each measurement should allow sufficient time for the reading
           to stabilize.
           The sensor itself generally cannot be extended on wires because the added wiring capacitance affects the
           calibration constant of the sensor. It is preferable to extend the entire oscillator circuit on wiring, and allow
           that to hang in the calibration atmosphere.
     Humidity-Capacitance Sensor: Charge Amplifier This approach will appeal to students who are comfortable
         with hardware construction and wish to avoid interrupt programming. The variable capacitance of the
         Philips humidity sensor is converted into a variable analog voltage which may be read by the microprocessor
         A-D converter.
           Suitable circuits are shown in the Linear Technology Linear Applications Handbook, application note 3.
           (One of these circuits is shown in Operational Amplifier Circuits, Theory and Applications, by E.J.Kennedy,
           Holt Rinehard and Winston.) A copy of the circuit diagrams should be available from your lab instructor.
           The Linear Technology Switched Capacitor LT1043 part used in this circuit is available from Electrosonic
           Supply. The operational amplifier may be the Linear Technology LT1056 or some suitable substitute such
           as the National LMC660CN.
     Humidity-Resistance Sensor A home-made humidity sensor, which relies on the change of resistivity of table
         salt with humidity, is described in the October 1972 issue of Popular Electronics: ‘Electro-Chemical Hy-
         grometer: Low Cost Unit measures Relative Humidity, by Joseph Giannelli’. This is a very simple circuit -
         it uses only two transistors - but it would have to be adapted to supply a signal to the 68HC11 A-D input.
     Dew Point Sensor The Peltier Cell is a semiconductor device that may be used to cool objects. (Peltier cells may
          be available from Active Surplus on Queen Street). A mirror mounted on and cooled by a Peltier cell will
          collect a surface of moisture (dew) from the atmosphere.
           In a dew point sensor, a lamp reflects a light beam off the surface of the mirror into a phototransistor. A
           simple feedback amplifier with input from the phototransistor drives the Peltier cell, such that dew is just
www.syscompdesign.com
Instrumentation Laboratory Outline                                                            7.2 Laboratory Exercises
      beginning to form on the mirror surface. The temperature of the mirror is then at the current dew point
      temperature.
      Relative humidity may be calculated from the ambient temperature and the dew point temperature (See the
      Instrumentation System Design manual).
Deliverables
On the due date, the student should show
   • A working humidity measurement circuit. The instructor will breathe heavily onto the sensor and a change
     in reading should be apparent.
• For devices using the Philips humidity sensor, a three point calibration curve and equation.
Bonus Marks
A bonus mark of 10% will be awarded to students who use the Wet-Dry Bulb, Humidity-Capacitance Sensor:
Charge Amplifier, Humidity-Resistance Sensor or Dew Point Sensor techniques. For a bonus mark to be awarded,
the circuit must be substantially functional.
Deliverables
On the due date, the student should show
www.syscompdesign.com
                                                                                                                   232
        • A working air pressure measurement circuit. The student will blow positive and negative pressure into the
          sensor and a change in pressure reading should be apparent.
        • A minimum of three points on a calibration plot, and the fitted equation relating air pressure and A-D sensor
          reading.
     Bonus Marks
     The lab theory manual describes how the circuit may be modified for automatic calibration of air pressure. A
     bonus mark of 10% will be awarded to circuits using this technique. You may wish to use the 6 bit discrete
     component D-A converter shown in the notes or you may prefer to purchase an integrated circuit 8 bit D-A
     converter such as the DAC0800. The DAC0800 and many other IC D-A converters require an op-amp current-
     voltage converter and a negative power supply, which may be stolen from the LT1081 RS232 driver circuit.
         We strongly recommend that you first get the basic sensor circuit, using potentiometer calibration, working
     properly. Then add the auto-calibration circuit, carefully checking the operation of the D-A converter indepen-
     dently of the sensor circuit. Finally, jumper the D-A into the offset adjust point to test for auto-calibration.
         For a bonus mark to be awarded, the entire circuit must be substantially functional.
     Cup Anemometer For students who enjoy constructing mechanical devices, the Rotating Cup Anemometer may
          be attractive. A high quality DC motor, such as the Edmund Scientific #37590 could be used as a tachogen-
          erator. Alternatively, a pulse frequency may be generated using a segmented disk and photo-interrupter.
           In either case, the Rotating Cup Anemometer must be carefully calibrated. It may be possible to use one
           of the wind tunnels in the Department of Mechanical Engineering, or it may be necessary to attach the
           anemometer to a vehicle. In the latter case, the anemometer must be mounted well away from the vehicle
           body to avoid slipstream effects. It is also necessary to compensated for ambient wind velocity by measuring
           output vs vehicle velocity in both directions on a stretch of road. (Please choose a quiet location: not the
           Don Valley Parkway.)
           It is to be expected that the output of a tachogenerator may require some low pass filtering to remove noise
           and some type of amplitude adjustment (voltage amplifier or voltage divider attenuator) to fit the dynamic
           range of the tachogenerator to the 5 volt range of the microprocessor A-D converter.
           A careful graph of output vs wind speed should be measured. The distance constant should be calculated
           and the time constant estimated. The method of calibration must be carefully and completely documented.
     Constant Temperature: Transistor A constant temperature anemometer, using junction transistors to sense
          temperature, is shown in the notes. The output from this circuit must be conditioned by a difference ampli-
          fier before it is connected to the microprocessor A-D converter.
www.syscompdesign.com
Instrumentation Laboratory Outline                                                             7.2 Laboratory Exercises
      This design will require a separate +20 volt, -5 volt power supply, since the voltages are not the same as the
      MPP board and current requirements are considerable. (Lab power supplies are acceptable for demonstrat-
      ing circuit operation.)
      It is expected that a miniature wind tunnel will be available to calibrate the circuit. A graph of output vs
      wind speed should be measured. The time constant should also be measured and documented.
Constant Temperature: Hot Wire A Hot Wire Anemometer circuit is also shown in the notes. A #328 lamp
     has its glass envellope removed to expose the filament. This is then used to measure wind speed.
      This design requires a separate +15, -15 volt power supply, since the voltages are not the same as the MPP
      board and current requirements are considerable. (Lab power supplies are acceptable for demonstrating
      circuit operation.)
      It is expected that a miniature wind tunnel will be available to calibrate the circuit. A graph of output vs
      wind speed should be measured. The time constant should also be measured and documented.
Deliverables
On the due date, the student should show
   • A working air speed measurement circuit. Air will be caused to move past the sensor and a change in wind
     speed reading should be apparent.
   • A detailed calibration plot with description of the calibration method, and the fitted equation relating wind
     speed and A-D sensor reading.
Deliverables
On the due date, the student should show
• Properly planned and documented software listing for the entire system.
www.syscompdesign.com
                                                                                                                 234
     Bonus Marks
     A bonus mark of 10% will be awarded for additional readouts provided in the final working system. These could
     be readouts for ambient temperature or wind direction, for example.
         In the case of bonus marks for ambient temperature readout, an additional bonus of 5% will be awarded if the
     final system shows displays of dew point temperature, and humidex reading.
www.syscompdesign.com
Bibliography
                                                   235
                                                                                              236
          Temperature: Thermistors
     [10] Philips Components
          1990-91 Data Book
          Philips Passive Components Group
          2001 W. Blue Heron Blvd.
          P.O.Box 10330
          Riviera Beach, Fl. 33404, USA
     [12] Thermistors
          E.D.Macklen
          Electrochemical Publications, 1979
www.syscompdesign.com
BIBLIOGRAPHY                                                                               BIBLIOGRAPHY
IC Temperature Sensors
www.syscompdesign.com
                                                                          238
          Voltage-Frequency Conversion
     [33] 1Hz to 30MHz Voltage to Frequency Converter
          Keith Williams
          Electronics and Wireless World
          September, 1985, page 58
     [34] LM131/LM231/LM331 Precision Voltage-to-Frequency Converters
          Application Circuit, ’Temperature to Freqency Converter’
          Data Sheet, Linear Data Book 2, 1988 Edition
          National Semiconductor Corporation
     [35] Voltage-Frequency Converters
          Eugene L. Zuch
          Electronics, May 15, 1975, pp 91-95
     [36] Versatile Monolithic V-F’s Can Compute
          Robert A. Pease
          Electronic Design 25, Dec 6, 1978, pp 70-76
     [37] Designing V-F Converters to Handle Bipolar Signals
          Robert A. Pease
          Electronics, June 7, 1979, pp 139-145
Humidity
www.syscompdesign.com
BIBLIOGRAPHY                                              BIBLIOGRAPHY
www.syscompdesign.com
                                                                       240
          Wind Speed
     [54] Meterological Instruments
          W.E. Knowles Middleton and Athelstan F. Spilhaus
          University of Toronto Press, 1953
          The Cup Anemometer, pp 143-146
www.syscompdesign.com
BIBLIOGRAPHY                                                                                BIBLIOGRAPHY
[58] On the Convection of Heat from Small Cylinders in a Stream of Fluid: Determination of the Convection
     Constants of Small Platinum Wires, with Applications to Hot Wire Anemometry
     Lois Vessot King
     Proceedings of the Royal Society of London
     Vol XC, September 1914, pp563-570
www.syscompdesign.com
                                                                        242
          Wind Direction
     [70] The Weather for a Hobby
          Raymond F. Yates
          Dodd, Mead and Company, 1947
          Selsyn weather vane, p 85
          Air Pressure
     [75] Meterological Instruments
          W.E. Knowles Middleton and Athelstan F. Spilhaus
          University of Toronto Press, 1953
          Chapter 2, The Measurement of Atmospheric Pressure
www.syscompdesign.com
BIBLIOGRAPHY                                                  BIBLIOGRAPHY
www.syscompdesign.com
                                                                                     244
          Rain Guage
     [88] The Weather for a Hobby
          Raymond F. Yates
          Dodd, Mead and Company, 1947
          Rain guage, p 134
          Passive Components
     [89] A knowledge of capacitor subtleties helps solve capacitor-based troubles
          Robert A. Pease
          EDN, February 16, 1989, pp 127-134
     [91] Capacitors
          Ray Marston
          Electronics Now, March 1993, pp 57-64
www.syscompdesign.com
BIBLIOGRAPHY                                                          BIBLIOGRAPHY
     68HC11 Microprocessor
[98] Motorola 68HC11 Reference Manual
     Motorola Publication M68HC11RM/AD,Rev 3
     General applications information on the 68HC11
     family of microprocessors. A ’must have’.
[99] Motorola 68HC11 E Series
     Motorola Publication M68HC11E/D, Rev2.0
     Contains data on the E series
     of devices, including electrical characteristics.
[100] 68HC11 Microcomputer
     Technical Manual
     Peter D. Hiscocks
     Syscomp Electronic Design Limited, 2001
     www.syscompdesign.com
www.syscompdesign.com