AN-28: Thermocouple Measurement


In 1822, Thomas Seebeck, an Estonian physician, accidentally joined semicircular pieces of bismuth and copper (Figure 1) while studying thermal effects on galvanic arrangements. A nearby compass indicated a magnetic disturbance. Seebeck experimented repeatedly with different metal combinations at various temperatures, noting relative magnetic field strengths. Curiously, he did not believe that electric current was flowing, and preferred to describe the effect as “thermo-magnetism.” He published his results in a paper, “Magnetische Polarisation der Metalle und Erze durch Temperatur-Differenz” (see references).

Figure 1. The Arrangement for Dr. Seebeck’s Accidental Discovery of “Thermo-Magnetism”.

Subsequent investigation has shown the “Seebeck Effect” to be fundamentally electrical in nature, repeatable, and quite useful. Thermocouples, by far the most common transducer, are Seebeck’s descendants.

Thermocouples in Perspective

Temperature is easily the most commonly measured physical parameter. A number of transducers serve temperature measuring needs and each has advantages and considerations. Before discussing thermocouple-based measurement it is worthwhile putting these sensors in perspective. Figure 2’s chart shows some common contact temperature sensors and lists characteristics. Study reveals thermocouple strengths and weaknesses compared to other sensors. In general, thermocouples are inexpensive, wide range sensors. Their small size makes them fast and their low output impedance is a benefit. The inherent voltage output eliminates the need for excitation.

Figure 2. Characteristics of Some Contact Temperature Sensors (Chart Adapted from Reference 2).

Signal Conditioning Issues

Potential problems with thermocouples include low level outputs, poor sensitivity and nonlinearity (see Figures 3 and 4). The low level output requires stable signal conditioning components and makes system accuracy difficult to achieve. Connections (see Appendix A) in thermocouple systems must be made with great care to get good accuracy. Unintended thermocouple effects (e.g., solder and copper create a 3μV/°C thermocouple) in system connections make “end-to-end” system accuracies better than 0.5°C difficult to achieve.

Figure 3. Temperature vs Output for Some Thermocouple Types.

Figure 4. Thermocouple Nonlinearity for Types J, K, E and T Over 0°C to 400°C. Error Increases Over Wider Temperature Ranges.

Cold Junction Compensation

The unintended, unwanted and unavoidable parasitic thermocouples require some form of temperature reference for absolute accuracy. (See Appendix A for a discussion on minimizing these effects). In a typical system, a “cold junction” is used to provide a temperature reference (Figure 5). The term “cold junction” derives from the historical practice of maintaining the reference junction at 0°C in an ice bath. Ice baths, while inherently accurate, are impractical in most applications. Another approach servo controls a Peltier cooler, usually at 0°C, to electronically simulate the ice bath (Figure 6). This approach* eliminates ice bath maintenance, but is too complex and bulky for most applications.

Figure 5. Ice Bath Based Cold Junction Compensator.

Figure 6. A 0°C Reference Based on Feedback Control of a Peltier Cooler (Sensor is Typically a Platinum RTD).

Note: *A practical example of this technique appears in LTC Application Note AN-25, “Switching Regulators for Poets.”

Figure 7 conveniently deals with the cold junction requirement. Here, the cold junction compensator circuitry does not maintain a stable temperature but tracks the cold junction. This temperature tracking, subtractive term has the same effect as maintaining the cold junction at constant temperature, but is simpler to implement. It is designed to produce 0V output at 0°C and have a slope equal to the thermocouple output (Seebeck coefficient) over the expected range of cold junction temperatures. For proper operation, the compensator must be at the same temperature as the cold junction.

Figure 7. Typical Cold Junction Compensation Arrangement. Cold Junction and Compensation Circuitry Must be Isothermal.

Figure 8 shows a monolithic cold junction compensator IC, the LT1025. This device measures ambient (e.g., cold junction) temperature and puts out a voltage scaled for use with the desired thermocouple. The low supply current minimizes self-heating, ensuring isothermal operation with the cold junction. It also permits battery or low power operation. The 0.5°C accuracy is compatible with overall achievable thermocouple system performance. Various compensated outputs allow one part to be used with many thermocouple types. Figure 9 uses an LT1025 and an amplifier to provide a scaled, cold junction compensated output. The amplifier provides gain for the difference between the LT1025 output and the type J thermocouple. C1 and C2 provide filtering, and R5 trims gain. R6 is a typical value, and may require selection to accommodate R5’s trim range. Alternately, R6 may be re-scaled, and R5 enlarged, at some penalty in trim resolution. Figure 10 is similar, except that the type K thermocouple subtracts from the LT1025 in series-opposed fashion, with the residue fed to the amplifier. The optional pull-down resistor allows readings below 0°C.

Figure 8. LT1025 Thermocouple Cold Junction Compensator.

Figure 9. LT1025 Cold Junction Compensates a Type J Thermocouple. The Op Amp Provides the Amplified Difference Between the Thermocouple and the LT1025 Cold Junction Output.

Figure 10. LT1025 Compensates a Type K Thermocouple. The Amplifier Provides Gain for the LT1025-Thermocouple Difference.

Amplifier Selection

The operation of these circuits is fairly straightforward, although amplifier selection requires care.

Thermocouple amplifiers need very low offset voltage and drift, and fairly low bias current if an input filter is used. The best precision bipolar amplifiers should be used for type J, K, E and T thermocouples which have Seebeck coefficients to 40μV/°C to 60μV/°C. In particularly critical applications, or for R and S thermocouples (6μV/°C to 15μV/°C), a chopper-stabilized amplifier is required. Linear Technology offers two amplifiers specifically tailored for thermocouple applications. The LTKA0x is a bipolar design with extremely low offset (30μV), low drift (1.5μV/°C), very low bias current (1nA), and almost negligible warm-up drift (supply current is 400μA).

For the most demanding applications, the LTC1052 CMOS chopper-stabilized amplifier offers 5μV offset and 0.05μV/°C drift. Input bias current is 30pA, and gain is typically 30 million. This amplifier should be used for R and S thermocouples, especially if no offset adjustments can be tolerated, or where a large ambient temperature swing is expected. Alternatively, the LTC1050, which has similar drift and slightly higher noise can be used. If board space is at a premium, the LTC1050 has the capacitors internally.

Regardless of amplifier type, for best possible performance dual-in-line (DIP) packages should be used to avoid thermocouple effects in the kovar leads of TO-5 metal can packages. This is particularly true if amplifier supply current exceeds 500μA. These leads can generate both DC and AC offset terms in the presence of thermal gradients in the package and/or external air motion.

In many situations, thermocouples are used in high noise environments, and some sort of input filter is required. To reject 60Hz pick-up with reasonable capacitor values, input resistors in the 10k to 100k range are needed. Under these conditions, bias current for the amplifier needs to be less than 1nA to avoid offset and drift effects.

To avoid gain error, high open-loop gain is necessary for single-stage thermocouple amplifiers with 10mV/°C or higher outputs. A type K amplifier, for instance, with 100mV/°C output, needs a closed-loop gain of 2,500. An ordinary op amp with a minimum loop of 50,000 would have an initial gain error of (2,500)/(50,000) = 5%! Although closed-loop gain is commonly trimmed, temperature drift of open-loop gain will have a deleterious effect on output accuracy. Minimum suggested loop gain for type E, J, K and T thermocouples is 250,000. This gain is adequate for type R and S if output scaling is 10mV/°C or less.

Additional Circuit Considerations

Other circuit considerations involve protection and common mode voltage and noise. Thermocouple lines are often exposed to static and accidental high voltages, necessitating circuit protection. Figure 11 shows two suggested approaches. These examples are designed to prevent excessive overloads from damaging circuitry. The added series resistance can serve as part of a filter. Effects of the added components on overall accuracy should be evaluated. Diode clamping to supply lines is effective, but leakage should be noted, particularly when large current limiting resistors are used. Similarly, IC bias currents combined with high value protection resistors can generate apparent measurement errors. Usually, a favorable compromise is possible, but sometimes the circuit configuration will be dictated by protection or noise rejection requirements.

Figure 11. Input Protection Schemes.

Differential Thermocouple Amplifiers

Figure 12a shows a way to combine filtering and full differential sensing. This circuit features 120dB DC common mode rejection if all signals remain within the LTC1043 supply voltage range. The LTC1043, a switched-capacitor building block, transfers charge between the input “flying” capacitor and the output capacitor. The LTC1043’s commutating frequency, which is settable, controls rate of charge transfer, and hence overall bandwidth. The differential inputs reject noise and common mode voltages inside the LTC1043’s supply rails. Excursions outside these limits require protection networks, as previously discussed. As in Figure 9, an optional resistor pull-down permits negative readings. The 1M resistor provides a bias path for the LTC1043’s floating inputs. Figure 12b, for use with grounded thermocouples, subtracts sensor output from the LT1025.

Figure 12a. Full Differential Input Thermocouple Amplifiers.

Figure 12b. Full Differential Input Thermocouple Amplifiers.

Isolated Thermocouple Amplifiers

In many cases, protection networks and differential operation are inadequate. Some applications require continuous operation at high common mode voltages with severe noise problems. This is particularly true in industrial environments, where ground potential differences of 100V are common. Under these conditions the thermocouple and signal conditioning circuitry must be completely galvanically isolated from ground. This requires a fully isolated power source and an isolated signal transmission path to the ground referred output. Thermocouple work allows bandwidth to be traded for DC accuracy. With careful design, a single path can transfer floating power and isolated signals. The output may be either analog or digital, depending on requirements.

Figure 13 shows an isolated thermocouple signal conditioner which provides 0.25% accuracy at 175V common mode. A single transformer transmits isolated power and data. 74C14 inverter I1 forms a clock (Trace A, Figure 14). I2, I3 and associated components deliver a stretched pulse to the 2.2k resistor (Trace B). The amplitude of this pulse is stabilized because A1’s fixed output supplies 74C14 power. The resultant current through the 2.2k resistor drives L1’s primary (Trace E). A pulse appears at L1’s secondary (Trace F, Q2’s emitter). A2 compares this amplitude with A5’s signal conditioned thermocouple voltage. To close its loop, A2’s output (Trace G) drives Q2’s base to force L1’s secondary (Pins 3 to 6) to clamp at A5’s output value. Q2 operates in inverted mode, permitting clamping action even for very low A5 outputs. When L1’s secondary (Trace F) clamps, its primary (Trace E) also clamps. After A2 settles, the clamp value is stable. This stable clamp value represents A5’s thermocouple related information. Inverter I4 generates a clock delayed pulse (Trace C) which is fed to A3, a sample-hold amplifier. A3 samples L1’s primary winding clamp value. A4 provides gain scaling and the LT1004 and associated components adjust offset. When the clock pulse (Trace A) goes low, sampling ceases. When Trace B’s stretched clock pulse goes low, the I5-I6 inverter chain output (Trace D) is forced low by the 470k-75pF differentiator’s action. This turns on Q1, forcing substantial energy into L1’s primary (Trace E). L1’s secondary (Trace F) sees large magnetic flux. A2’s output (Trace G) moves as it attempts to maintain its loop. The energy is far too great, however, and A2 rails. The excess energy is dumped into the Pin 1-Pin 4 winding, placing a large current pulse (Trace H) into the 22μF capacitor. This current pulse occurs with each clock pulse, and the capacitor charges to a DC voltage, furnishing the circuit’s isolated supply. When the 470k-75pF differentiator times out, the I5-I6 output goes high, shutting off Q1. At the next clock pulse the entire cycle repeats.

Figure 13. 0.25% Thermocouple Isolation Amplifier.

Figure 14. Waveforms for Figure 13’s Thermocouple Isolation Amplifier.

Proper operation of this circuit relies on several considerations. Achievable accuracy is primarily limited by transformer characteristics. Current during the clamp interval is kept extremely low relative to transformer core capacity. Additionally, the clamp period must also be short relative to core capacity. The clamping scheme relies on avoiding core saturation. This is why the power refresh pulse occurs immediately after data transfer, and not before. The transformer must completely reset before the next data transfer. A low clock frequency (350Hz) ensures adequate transformer reset time. This low clock frequency limits bandwidth, but the thermocouple data does not require any speed.

Gain slope is trimmed at A5, and will vary depending upon the desired maximum temperature and thermocouple type. The “50mV” trim should be adjusted with A5’s output at 50mV. The circuit cannot read A5 outputs below 20mV (0.5% of scale) due to Q2’s saturation limitations.

Drift is primarily due to the temperature dependence of L1’s primary winding copper. This effect is swamped by the 2.2k series value with the 60ppm/°C residue partially compensated by I3’s saturation resistance tempco. Overall tempco, including the LT1004, is about 100ppm/°C. Increased isolation voltages are possible with higher transformer breakdown ratings.

Figure 15’s thermocouple isolation amplifier is somewhat more complex, but offers 0.01% accuracy and typical drift of 10ppm/°C. This level of performance is useful in servo systems or high resolution applications. As in Figure 13, a single transformer provides isolated data and power transfer. In this case the thermocouple information is width modulated across the transformer and then demodulated back to DC. I1 generates a clock pulse (Trace A, Figure 16). This pulse sets the 74C74 flip-flop (Trace B) after a small delay generated by I2, I3 and associated components. Simultaneously, I4, I5 and Q1 drive L1’s primary (Trace C). This energy, received by L1’s secondary (Trace H), is stored in the 47μF capacitor and serves as the circuit’s isolated supply. L1’s secondary pulse also clocks a closed-loop pulse width modulator composed of C1, C2, A3 and A4. A4’s positive input receives A5’s LT1025-based thermocouple signal. A4 servo-biases C2 to produce a pulse width each time C1 allows the 0.003μF capacitor (Trace E) to receive charge via the 430k resistor. C2’s output width is inverted by I6 (Trace F), integrated to DC by the 47k-0.68μF filter and fed back to A4’s negative input. The 0.68μF capacitor compensates A4’s feedback loop. A4 servo controls C2 to produce a pulse width that is a function of A5’s thermocouple related output. I6’s low loss MOS switching characteristics combined with A3’s supply stabilization ensure precise control of pulse width by A4. Operating frequency, set by the I1 oscillator on L1’s primary side, is normally a stability concern, but ratios out because it is common to the demodulation scheme, as will be shown.

Figure 15. 0.01% Thermocouple Isolation Amplifier.

Figure 16. Pulse-Width-Modulation Based Thermocouple Isolation Amplifier Waveforms.

I6’s output width’s (Trace F) negative-going edge is differentiated and fed to I7. I7’s output (Trace G) drives Q3. Q3 puts a fast spike into L1’s secondary (Trace H). “Sing around” behavior by C1 is gated out by the diode at C2’s positive input. Q3’s spike is received at L1’s primary, Pins 7 and 3. Q2 serves as a clocked synchronous demodulator, pulling its collector low (Trace D) only when its base is high and its emitter is low (e.g., when L1 is transferring data, not power). Q2’s collector spike resets the 74C74 flip-flop. The MOS flip-flop is driven from a stable source (A1) and it is also clocked at the same frequency as the pulse-width modulator. Because of this, the DC average of its Q output depends on A5’s output. Variations with supply, temperature and I1 oscillator frequency have no effect. A2 and its associated components extract the DC average by simple filtering. The 100k potentiometer permits desired gain scaling. Because this scheme depends on edge timing at the flip-flop, the delay in resetting the 0.003μF capacitor causes a small offset error. This term is eliminated by matching this delay in the 74C74 “set” line with the previously mentioned I2-I3 delay network. This delay is set so that the rising edge of the flip-flop output (Trace B) corresponds to I6’s rising edge. No such compensation is required for falling edge data because circuit elements in this path (I7, Q3, L1 and Q2) are wideband. With drift matched LT1034s and the specified resistors, overall drift is typically 10ppm/°C with 0.01% linearity.

Digital Output Thermocouple Isolator

Figure 17 shows another isolated thermocouple signal conditioner. This circuit has 0.25% accuracy and features a digital (pulse width) output. I1 produces a clock pulse (Trace A, Figure 18). I2-I5 buffers this pulse and biases Q1 to drive L1. Concurrently, the 680pF-10k values provide a differentiated spike (Trace B), setting the 74C74 flip-flop (Trace C). L1’s primary drive is received at the secondary.

Figure 17. Digital Output Thermocouple Isolator.

Figure 18. Waveforms for Digital-Output Thermocouple Isolator.

The 10μF capacitor charges to DC, supplying isolated power. The pulse received at L1’s secondary also resets the 0.05μF capacitor (Trace D) via the inverters (I6, I7, I8) and the 74C906 open-drain buffer. When the received pulse ends, the 0.05μF capacitor charges from the Q2-Q3 current source. When the resultant ramp crosses C1’s threshold (A1’s thermocouple related output voltage) C1 switches high, tripping the I9-I11 inverter chain. I11 (Trace E) drives L1’s secondary via the 0.01μF capacitor (Trace F). The 33k-100pF filter prevents regenerative “sing around”. The resultant negative-going spike at L1’s primary biases Q4, causing its collector (Trace G) to go low. Q4 and Q5 form a clocked synchronous demodulator which can pull the 74C74 reset pin low only when the clock is low. This condition occurs during data transfer, but not during power transfer. The demodulated output (Trace H) contains a single negative spike synchronous with C1’s (e.g., I11’s) output transition. This spike resets the flip-flop, providing the circuit output. The 74C74’s width output thus varies with thermocouple temperature.

Linearization Techniques

It is often desirable to linearize a thermocouple-based signal. Thermocouples’ significant nonlinear response requires design effort to get good accuracy. Four techniques are useful. They include offset addition, breakpoints, analog computation, and digital correction. Offset addition schemes rely on biasing the nonlinear “bow” with a constant term. This results in the output being high at low scale and low at high scale with decreased errors between these extremes (Figure 19). This compromise reduces overall error. Typically, this approach is limited to slightly nonlinear behavior over wide ranges or larger nonlinearity over narrow ranges.

Figure 19. Offset Curve Fitting.

Figure 20 shows a circuit utilizing offset linearization for a type S thermocouple. The LT1025 provides cold junction compensation and the LTC1052 chopper-stabilized amplifier is used for low drift. The type S thermocouple output slope varies greatly with temperature. At 25°C it is 6μV/°C, with an 11μV/°C slope at 1000°C. This circuit gives 3°C accuracy over the indicated output range. The circuit, similar to Figure 10, is not particularly unusual except for the offset term derived from the LT1009 and applied through R4. To calibrate, trim R5 for VOUT = 1.669 at VIN = 0.000mV. Then, trim R2 for VOUT = 9.998V at T = 1000°C or for VIN (+ input) = 9.585mV.

Figure 20. Offset-Based Linearization.

Figure 21, an adaption of a configuration shown by Sheingold (reference 3), uses breakpoints to change circuit gain as input varies. This method relies on scaling of the input and feedback resistors associated with A2-A6 and A7’s reference output. Current summation at A8 is linear with the thermocouple’s temperature. A3-A6 are the breakpoints, with the diodes providing switching when the respective summing point requires positive bias. As shown, typical accuracy of 1°C is possible over a 0°C to 650°C sensed range.

Figure 21. Breakpoint-Based Linearization (See Reference 3).

Figure 22, derived from Villanucci (reference 8), yields similar performance but uses continuous function analog computing to replace breakpoints, minimizing amplifiers and resistors. The AD538 combines with appropriate scaling to linearize response. The causality of this circuit is similar to Figure 22; the curve fit mechanism (breakpoint vs continuous function) is the primary difference.

Figure 22. Continuous Function Linearization (See Reference 8).

Digital techniques for thermocouple linearization have become quite popular. Figure 23, developed by Guy M. Hoover and William C. Rempfer, uses a microprocessor fed from a digitized thermocouple output to achieve linearization. The great advantage of digital techniques is elimination of trimming. In this scheme a large number of breakpoints are implemented in software.

Figure 23. Processor-Based Linearization.

The 10-bit LTC1091A A/D gives 0.5°C resolution over a 0°C to 500°C range. The LTC1052 amplifies and filters the thermocouple signal, the LT1025A provides cold junction compensation and the LT1019A provides an accurate reference. The J type thermocouple characteristic is linearized digitally inside the processor. Linear interpolation between known temperature points spaced 30°C apart introduces less than 0.1°C error. The 1024 steps provided by the LTC1091 (24 more that the required 1000) ensure 0.5°C resolution even with the thermocouple curvature.

Offset error is dominated by the LT1025 cold junction compensator which introduces 0.5°C maximum. Gain error is 0.75°C max because of the 0.1% gain resistors and, to a lesser extent, the output voltage tolerance of the LT1019A and the gain error of the LTC1091A. It may be reduced by trimming the LT1019A or gain resistors. The LTC1091A keeps linearity better than 0.15°C. The LTC1052’s 5μV offset contributes negligible error (0.1°C or less). Combined errors are typically inside 0.5°C. These errors don’t include the thermocouple itself. In practice, connection and wire errors of 0.5°C to 1°C are not uncommon. With care, these errors can be kept below 0.5°C.

The 20k-10k divider on CH1 of the LTC1091 provides low supply voltage detection (the LT1019A reference requires a minimum supply of 6.5V to maintain accuracy). Remote location is possible with data transferred from the MCU to the LTC1091 via the 3-wire serial port.

Figure 24 is a complete software listing* of the code required for the 68HC05 processor. Preparing the circuit involves loading the software and applying power. No trimming is required.

                   *          REV 1 10/4/87
                   *          TEMPERATURE (°C)=M•X+B
                   *          X IS A/D OUTPUT—SEGMENT END POINT
                   *          B IS SEGMENT START POINT IN DEGREES (°C • 2)
          ORG      $1000
          FDB      $00,$39,$74,$B0,$EE,$12B,$193,$262,$330,$397                    TABLE FOR X
          ORG      $1020
          FDB      $85DD,$823A,$7FB4,$7DD4,$7CAF,$7BC3,$7B8A,$7C24,$7C1F,$7B3A     TABLE FOR M
          ORG      $1040
          FDB      $00,$3C,$78,$B4,$F0,$12C,$190,$258,$320,$384                    TABLE FOR B
          ORG      $10FF
          FCB      $13                                                             N • 2
          ORG      $0100
          OPT      ]
          STA      $0A        LOAD CONFIGURATION DATA INTO $0A
          LDA      #$00       CONFIGURATION DATA FOR PORT A DDR
          JSR      CHECK
          LDA      #$6F       DIN WORD FOR LTC1091 CH0, W/RESPECT TO GND, MSB FIRST
          STA      $50        STORE IN DIN BUFFER
          JSR      READ91     READ LTC1091
          STA      $55        STORE LSBs IN $55
          DECX                DECREMENT X
          LDA      $1000,X    LOAD MSBs OF SEGMENT N
          STA      $54        STORE MSBs IN $54
          JSR      SUBTRCT
          BPL      SEGMENT
          JSR      ADDB
          DECX                DECREMENT X
          JMP      DOAGAIN
          STA      $54        STORE MSBs IN $54
          INCX                INCREMENT X
          LDA      $1020,X    LOAD LSBs OF SLOPE
          STA      $55        STORE LSBs IN $55
          JSR      TBMULT     RETURNS RESULT IN $61 AND $62
          LDA      $1040,X    LOAD LSBs OF BASE TEMP
          STA      $55        STORE LSBs IN $55
          DECX                DECREMENT X
          LDA      $1040,X    LOAD MSBs OF BASE TEMP
          STA      $54
          JSR      ADDB
CHECK     LDA      #S7F       DIN WORD FOR CH1
          STA      $50        LOAD DIN WORD INTO $50
          JSR      READ91     READ BATTERY VOLTAGE
          LDA      #$02       LOAD MSB OF MIN BATT VOLTAGE
          STA      $54        PUT IN MSB OF SUBTRACT BUFFER
          LDA      #$CC       LOAD LSB OF MIN BATT VOLTAGE
          STA      $55        PUT IN LSB OF SUBTRACT BUFFER
          JSR      ADDB
          LDA      #$01
          STA      $56        SET BATTERY LOW FLAG
          CLR      $56        CLEAR LOW BATTERY FLAG
          STA      $0A        LOAD CONFIGURATION DATA
          LDA      $50
          BCLR     2,$02      BIT 0 PORT C GOES LOW (CS GOES LOW)
BACK91    TST      $0B        TEST STATUS OF SPIF
          STA      $0C        START NEXT CYCLE
          AND      #$03       CLEAR 6 MSBs OF FIRST DOUT
          STA      $61        STORE MSBs IN $61
BACK92    TST      $0B        TEST STATUS OF SPIF
          BSET     2,$02      SET BIT 0 PORT C (CS GOES HIGH)
          LDA      $0C        LOAD CONTENTS OF SPI DATA INTO ACC
          STA      $62        STORE LSBs IN $62
SUBTRCT   LDA      $62        LOAD LSBs
          SUB      $55        SUBTRACT LSBs
          STA      $62        STORE REMAINDER
          LDA      $61        LOAD MSBs
          SBC      $54        SUBTRACT W/CARRY MSBs
          STA      $61        STORE REMAINDER
ADDB      LDA      $62        LOAD LSBs
          ADD      $55        ADD LSBs
          STA      $62        STORE SUM
          LDA      $61        LOAD MSBs
          ADC      $54        ADD W/CARRY MSBs
          STA      $61        STORE SUM
TBMULT    CLR      $68
          CLR      $69
          CLR      $6A
          CLR      $6B
          STX      $58        STORE CONTENTS OF X IN $58
          LSL      $62        MULTIPLY LSBs BY 2
          ROL      $61        MULTIPLY MSBs BY 2
          LDA      $62        LOAD LSBs OF LTC1091 INTO ACC
          LDX      $55        LOAD LSBs OF M INTO X
          MUL                 MULTIPLY LSBs
          STA      $6B        STORE LSBs IN $6B
          STX      $6A        STORE IN $6A
          LDA      $62        LOAD LSBs OF LTC1091 INTO ACC
          LDX      $54        LOAD MSBs OF M INTO X
          ADD      $6A        ADD NEXT BYTE
          STA      $6A        STORE BYTE
          TXA                 TRANSFER X TO ACC
          ADC      $69        ADD NEXT BYTE
          STA      $69        STORE BYTE
          LDA      $61        LOAD MSBs OF LTC1091 INTO ACC
          LDX      $55        LOAD LSBs OF M INTO X
          ADD      $6A        ADD NEXT BYTE
          STA      $6A        STORE BYTE
          TXA                 TRANSFER X TO ACC
          ADC      $69        ADD NEXT BYTE
          STA      $69        STORE BYTE
          LDA      $61        LOAD MSBs OF LTC1091 INTO ACC
          LDX      $54        LOAD MSBs OF M INTO X
          ADD      $69        ADD NEXT BYTE
          STA      $69        STORE BYTE
          TXA                 TRANSFER X TO ACC
          ADC      $68        ADD NEXT BYTE
          STA      $68        STORE BYTE
          LDA      $6A        LOAD CONTENTS OF $6A INTO ACC
          BPL      NNN
          LDA      $69        LOAD CONTENTS OF $69 INTO ACC
          ADD      #$01       ADD 1 TO ACC
          STA      $69        STORE IN $69
          LDA      $68        LOAD CONTENTS OF $68 INTO ACC
          ADC      #$00       FLOW THROUGH CARRY
          STA      $68        STORE IN $68
NNN       LDA      $68        LOAD CONTENTS OF $68 INTO ACC
          STA      $61        STORE MSBs IN $61
          LDA      $69        LOAD CONTENTS OF $69 INTO ACC
          STA      $62        STORE IN $62
          LDX      $58        RESTORE X REGISTER
          RTS                 RETURN
HOUSEKP   BSET     0,$02      SET B0 PORT C
          BSET     2,$02      SET B2 PORT C

Figure 24. Code for Processor-Based Linearization.

Note: *Including of a software-based circuit was not without attendant conscience searching and pain on the author’s part. Hopefully, the Analog Faithful will tolerate this transgression ...I’m sorry everybody, it just works too well!

Appendix A

Error Sources in Thermocouple Systems

Obtain good accuracy in thermocouple systems mandates care. The small thermocouple signal voltages require careful consideration to avoid error terms when signal processing. In general, thermocouple system accuracy better than 0.5°C is difficult to achieve. Major error sources include connection wires, cold junction uncertainties, amplifier error and sensor placement.

Connecting wires between the thermocouple and conditioning circuitry introduce undesired junctions. These junctions form unintended thermocouples. The number of junctions and their effects should be minimized, and kept isothermal. A variety of connecting wires and accessories are available from manufacturers and their literature should be consulted (reference 4).

Thermocouple voltages are generated whenever dissimilar materials are joined. This includes the leads of IC packages, which may be kovar in TO-5 cans, alloy 42 or copper in dual-in-line packages, and a variety of other materials in plating finishes and solders. The net effect of these thermocouples is “zero” if all are at exactly the same temperature, but temperature gradients exist within IC packages and across PC boards whenever power is dissipated. For this reason, extreme care must be used to ensure that no temperature gradients exist in the vicinity of the thermocouple terminations, the cold junction compensator (e.g., LT1025) or the thermocouple amplifier. If a gradient cannot be eliminated, leads should be positioned isothermally, especially the LT1025 R and appropriate output pins, the amplifier input pins, and the gain setting resistor leads. An effect to watch for is amplifier offset voltage warm-up drift caused by mismatched thermocouple materials in the wire-bond/lead system of the IC package. This effect can be as high as tens of microvolts in TO-5 cans with kovar leads. It has nothing to do with the actual offset drift specification of the amplifier and can occur in amplifiers with measured “zero” drift. Warm-up drift is directly proportional to amplifier power dissipation. It can be minimized by avoiding TO-5 cans, using low supply current amplifiers, and by using the lowest possible supply voltages. Finally, it can be accommodated by calibrating and specifying the system after a five minute warm-up period.

A significant error source is the cold junction. The error takes two forms. The subtractive voltage produced by the cold junction must be correct. In a true cold junction (e.g., ice point reference) this voltage will vary with inability to maintain the desired temperature, introducing error. In a cold junction compensator like the LT1025, error occurs with inability to sense and track ambient temperature. Minimizing sensing error is the manufacturer’s responsibility (we do our best!), but tracking requires user care. Every effort should be made to keep the LT1025 isothermal with the cold junction. Thermal shrouds, high thermal capacity blocks and other methods are commonly employed to ensure that the cold junction and the compensation are at the same temperature.

Amplifier offset uncertainties and, to a lesser degree, bias currents and open-loop gain should be considered. Amplifier selection criteria is discussed in the text under “Amplifier Selection.”

A final source of error is thermocouple placement. Remember that the thermocouple measures its own temperature. In flowing or fluid systems, remarkably large errors can be generated due to effects of laminar flow or eddy currents around the thermocouple. Even a “simple” surface measurement can be wildly inaccurate due to thermal conductivity problems. Silicone thermal grease can reduce this, but attention to sensor mounting is usually required. As much of the sensor surface as possible should be mated to the measured surface. Ideally, the sensor should be tightly mounted in a drilled recess in the surface. Keep in mind that the thermocouple leads act as heat pipes, providing a direct thermal path to the sensor. With high thermal capacity surfaces this may not be a problem, but other situations may require some thought. Often, thermally mating the lead wire to the surface or coiling the wire in the environment of interest will minimize heat piping effects.

As a general rule, skepticism is warranted, even in the most “obviously simple” situations. Experiment with sereral sensor positions and mounting options. If measured results agree, you’re probably on the right track. If not, rethink and try again.


  1. Seebeck, Thomas Dr., “Magnetische Polarisation der Metalle und Erze durch Temperatur-Differenz”, Abhaandlungen der Preussischen Akademic der Wissenschaften (1822-1823), pg. 265-373.
  2. Williams, J., “Designer’s Guide to Temperature Sensors”, EDN, May 5, 1977.
  3. Sheingold, D.H., “Nonlinear Circuits Handbook”, Analog Devices, Inc., pg. 92-97.
  4. “Omega Temperature Measurement Handbook”, Omega Engineering, Stamford Connecticut.
  5. “Practical Temperature Measurements”, Hewlett-Packard Applications Note #290, Hewlett-Packard.
  6. Thermocouple Reference Tables, NBS Monograph 125, National Bureau of Standards.
  7. Manual on the Use of Thermocouples in Temperature Measurement, ASTM Special Publication 470A.
  8. Villanucci, Robert S., “Calculator and IC Simplify Linearization”, EDN, January 21, 1991.



Jim Williams

James M. Williams (April 14, 1948 – June 12, 2011) was an analog circuit designer and technical author who worked for the Massachusetts Institute of Technology (1968–1979), Philbrick, National Semiconductor (1979–1982) and Linear Technology Corporation (LTC) (1982–2011).[1] He wrote over 350 publications[2] relating to analog circuit design, including 5 books, 21 application notes for National Semiconductor, 62 application notes for Linear Technology, and over 125 articles for EDN Magazine. Williams suffered a stroke on June 10 and died on June 12, 2011.