100nF

Thermocouple calculator: voltage to temperature and back

Convert a thermocouple's millivolts to temperature with the cold junction compensated, or a temperature to the voltage a meter should read, for types K, J, T, E and N. The maths is NIST's ITS-90 reference function for each type, the one behind every published thermocouple table, and its inverse in two forms: the approximate polynomial NIST publishes, with its stated error, and the reference function solved exactly. Alongside: the Seebeck coefficient at the reading, what the common mistake of adding temperatures would have given, and the standard tolerance of real wire at that temperature.

54.90−6.5E mV−27001372t °CV_mt_hjt_cjt_hj 419.53 °CV_m 16.223 mVE(t_cj) 1.000 mV at 25.0 °CS 42.35 µV/°C at t_hj
Fig 1 — Type K reference function E(t), −270 °C to 1372 °C, against a 0 °C reference junction. With the cold junction at t_cj = 25 °C the thermocouple already sits at E(t_cj) = 1.0002 mV, so a meter reading V_m = 16.2229 mV is the step from there to E(t_hj) = 17.2231 mV, which the function places at t_hj = 419.53 °C. The dashed tangent is the Seebeck coefficient there, S = 42.349 µV/°C.
Hot-junction temperature t_hj, exact inverse of E(t)
419.53 °C
NIST approximate inverse (table A7.1, p. A11), stated error +0.04 to −0.05 °C
419.53 °C (+0.005 °C from the exact)
Cold-junction compensation: E(t_cj) at 25 °C, added
+1.0002 mV
Compensated voltage E(t_hj) = V_m + E(t_cj), against 0 °C
17.2231 mV
Seebeck coefficient S = dE/dt at t_hj · at t_cj
42.349 · 40.518 µV/°C
One microvolt of error at t_hj is
0.0236 °C
Adding t_cj as a temperature instead, t(V_m) + t_cj (wrong)
420.87 °C, +1.34 °C off
Standard tolerance at t_hj (ASTM E230-87, quoted in Monograph 175 §7.1, p. 154)
±3.1 °C

An error in the cold-junction temperature passes to the reading scaled by S(t_cj)/S(t_hj) = 0.957: a sensor 0.5 °C off moves t_hj by 0.48 °C. The cold-junction sensor has to sit at the point where the thermocouple wires meet copper.

The ±3.1 °C standard tolerance is how far the wire may depart from the NIST function, 63 times the inverse polynomial's worst error of 0.05 °C. The second decimal describes the reference function, not a particular probe.

How this is calculated

Standard: NIST Monograph 175 (Burns, Scroger, Strouse, Croarkin and Guthrie, 1993): reference functions tables 5.3.1, 6.3.1, 7.3.1, 8.3.1 and 9.3.1; approximate inverse functions Appendix A; ASTM E230-87 tolerances as quoted in §5.1–9.1

E=∑i=0nci (t90)i    (types E, J, N, T; type K below 0 °C),E=∑i=0nci (t90)i+α0 eα1(t90−126.9686)2    (type K, 0 °C to 1372 °C)E = \sum_{i=0}^{n} c_i\,(t_{90})^i \;\;\text{(types E, J, N, T; type K below 0 °C)}, \qquad E = \sum_{i=0}^{n} c_i\,(t_{90})^i + \alpha_0\, e^{\alpha_1 (t_{90} - 126.9686)^2} \;\;\text{(type K, 0 °C to 1372 °C)}
E in microvolts, t₉₀ in °C on the ITS-90, reference junction at 0 °C. The type K exponential term is printed in table 7.3.1 (p. 157) with α₀ = 1.185976 × 10² and α₁ = −1.183432 × 10⁻⁴. Each type has two ranges, split at 0 °C (type J at 760 °C), each with its own coefficient set; the calculator uses the lower one below the break and the upper one at and above it, as the tables do.
Type K,  −270 to 0 °C:    c1=3.9450128025×101,  c2=2.3622373598×10−2,  c3=−3.2858906784×10−4,  …,  c10=−1.6322697486×10−20\text{Type K},\; -270\text{ to }0\text{ °C:}\;\; c_1 = 3.9450128025 \times 10^{1},\; c_2 = 2.3622373598 \times 10^{-2},\; c_3 = -3.2858906784 \times 10^{-4},\;\ldots,\; c_{10} = -1.6322697486 \times 10^{-20}
Ten coefficients, c₀ = 0. The full sets for all five types are in the calculator's source, each read from the page image and checked against the monograph's own 1 °C tables and fixed-point tables.
Type K,  0 to 1372 °C:    c0=−1.7600413686×101,  c1=3.8921204975×101,  c2=1.8558770032×10−2,  …,  c9=−1.2104721275×10−23\text{Type K},\; 0\text{ to }1372\text{ °C:}\;\; c_0 = -1.7600413686 \times 10^{1},\; c_1 = 3.8921204975 \times 10^{1},\; c_2 = 1.8558770032 \times 10^{-2},\;\ldots,\; c_9 = -1.2104721275 \times 10^{-23}
The monograph warns that "further rounding or truncation of the coefficients could adversely affect computations which depend on this reference function" (§7.2.1, p. 155), so every digit printed is used.
t90=d0+d1E+d2E2+⋯+diEit_{90} = d_0 + d_1 E + d_2 E^2 + \cdots + d_i E^i
The approximate inverse functions of Appendix A, fourth to tenth degree, E in microvolts. "With a few exceptions, the approximate inverse functions match the reference data to within 0.05 °C" (p. A1); each fit's own error range is shown with the result. They "do not extend below −200 °C" for types E, K, N and T.
E(thj)=Vm+E(tcj),thj=E−1 ⁣(Vm+E(tcj))E(t_{hj}) = V_m + E(t_{cj}), \qquad t_{hj} = E^{-1}\!\left(V_m + E(t_{cj})\right)
Cold-junction compensation. "All of the reference functions and tables given in this monograph … are based on reference junctions at 0 °C" (p. 3), so the voltage with the cold junction at t_cj is E(t_hj) − E(t_cj), and compensation adds E(t_cj) back as a voltage before inverting. The subtraction follows from that definition; the monograph does not print it as an equation.
S(t)=dEdt,δthj=S(tcj)S(thj) δtcjS(t) = \frac{dE}{dt}, \qquad \delta t_{hj} = \frac{S(t_{cj})}{S(t_{hj})}\,\delta t_{cj}
The Seebeck coefficient, the reference function's "first derivative (Seebeck coefficient)", differentiated analytically and checked against the tabulated S. The second expression, derived here, is how an error in the cold-junction temperature reaches the reading.
thj=E−1(E)  solved by bisection and Newton steps on  E(t)−E=0t_{hj} = E^{-1}(E) \;\text{solved by bisection and Newton steps on}\; E(t) - E = 0
The exact inverse, derived here rather than taken from the monograph, which gives only the approximate polynomials: "While temperature values may be obtained from voltage values by iteration of such equations, it is much more convenient to use approximate inverse functions" (p. A1). It is what the stated error ranges are measured against.

Assumptions

What a thermocouple measures: two junctions, not one

A thermocouple is two wires of different alloys joined at the tip. The joint is called the hot or measuring junction, but it does not generate the voltage on its own. Each wire develops a voltage along its length wherever it runs through a temperature gradient, and the two alloys develop different amounts. What reaches the meter is the difference, and it depends on the temperature at both ends of the pair: the tip, and the point where the two thermocouple wires end on copper, usually the input connector or a terminal block. That second point is the cold or reference junction.

The standard tables handle this by fixing the second end. NIST Monograph 175, which gives the ITS-90 reference functions and tables for the letter-designated types, says so plainly on page 3: "All of the reference functions and tables given in this monograph, as well as all of the approximate inverse functions and supplementary reference tables included in the appendices, are based on reference junctions at 0 °C." Its advice on type T makes the same point from the other side, that "special care should be exercised when using the thermocouples to ensure that the measuring and reference junctions assume the desired temperatures." A thermocouple reading is a statement about two temperatures, and the instrument has to know one of them to report the other.

The slope of the voltage against temperature is the Seebeck coefficient, S = dE/dt, which the monograph tabulates beside every voltage as the "first derivative (Seebeck coefficient)". For type K it is 40.5 µV/°C at 25 °C and stays between 33.9 and 42.6 µV/°C from 0 °C to 1372 °C: a thermocouple is a sensor of tens of microvolts per degree, which is why the cold junction, the amplifier and the ADC all matter as much as the probe.

The NIST reference functions and their inverse

Each letter type is defined by a reference function, E(t), the voltage against a 0 °C reference junction as a polynomial in temperature, with a separate coefficient set for each range: split at 0 °C for types K, T, E and N, and at 760 °C for type J. Type K alone adds an exponential term above 0 °C, a0·exp(a1(t − 126.9686)²), which the monograph prints in its table 7.3.1; the reference note below typesets it with the coefficients. The letter names the curve, not the metal: "The letter type, e.g., type T, identifies a specific temperature-voltage relationship, not a particular chemical composition."

Going from voltage to temperature is the direction an instrument needs, and the monograph is candid that the reference functions are the wrong tool for it: "They are not well suited, however, for calculating values of temperature from values of thermoelectric voltage. While temperature values may be obtained from voltage values by iteration of such equations, it is much more convenient to use approximate inverse functions that give temperature as a function of voltage for this purpose." Those inverse polynomials are fitted, not derived, and each comes with an error range against the reference function. For type K:

Temperature, °CVoltage, mVDegreeStated error, °C
−200 to 0−5.891 to 0.0008+0.04 to −0.02
0 to 5000.000 to 20.6449+0.04 to −0.05
500 to 137220.644 to 54.8866+0.06 to −0.05

The calculator reports both: the NIST polynomial with its stated band, and the reference function inverted numerically, which is exact to the function and is what the band is measured against. Its tests sample every inverse fit of all five types at 0.05 °C steps and confirm each stays within its printed error range, and that the range is not loose: every fit comes within 0.015 °C of both of its printed limits. One gap is by design: "The approximate inverse functions given for types E, K, N, and T do not extend below −200 °C." Below that the calculator has only the exact inverse.

Type K thermocouple table: millivolts and Seebeck coefficient

The type K reference function at common temperatures, reference junction at 0 °C, computed from the coefficients in table 7.3.1. Every value agrees with the monograph's 1 °C table 7.3.3 to its printed resolution; that agreement, at these and at over a thousand other rows, is the calculator's test suite. The last column is the standard tolerance of commercial wire at that temperature, which the monograph quotes from ASTM E230-87 as "± 2.2 °C or ± 0.75% (whichever is greater) between 0 °C and 1250 °C, and ± 2.2 °C or ± 2% (whichever is greater) between −200 °C and 0 °C", taken here as a percentage of the Celsius temperature.

t, °CE, mVS, µV/°CStandard tolerance, °C
−200−5.89115.259±4.0
−100−3.55430.494±2.2
−50−1.88935.804±2.2
00.00039.450±2.2
251.00040.518±2.2
502.02341.246±2.2
1004.09641.369±2.2
2008.13839.965±2.2
30012.20941.446±2.3
40016.39742.241±3.0
50020.64442.628±3.8
60024.90542.505±4.5
70029.12941.898±5.3
80033.27541.000±6.0
90037.32640.005±6.8
100041.27638.981±7.5
110045.11937.852±8.3
120048.83836.494±9.0
130052.41034.932—
137254.88633.885—

Two things stand out. The voltage is far from linear below 0 °C, where the Seebeck coefficient falls toward zero at the bottom of the range: a type K reading at −200 °C moves only 15.3 µV per degree. And the tolerance column dwarfs everything else on the page: at 1000 °C a standard-grade type K may read 7.5 °C away from the table and still be in specification.

The five types the calculator covers, side by side. The last column is the error made by adding temperatures instead of voltages, explained below, for a hot junction at the temperature shown and a cold junction at 25 °C:

TypeRange, °CE(100 °C), mVS at 25 °C, µV/°CS at t_hj, µV/°Ct_hj, °CError from adding t_cj, °C
K−270 to 13724.09640.542.2400+1.28
J−210 to 12005.26951.855.2400+1.84
T−270 to 4004.27940.761.8400+8.90
E−270 to 10006.31961.080.1400+6.29
N−270 to 13002.77426.837.1400+7.20

Worked example: a type K thermocouple at the zinc point, cold junction at 25 °C

The freezing point of zinc, 419.527 °C, is a defining fixed point of the ITS-90, and the monograph's table 7.3.2 gives the type K voltage there: 17 223.1 µV. Put the thermocouple in a zinc cell with its wires ending on the copper terminals of a meter at 25 °C, an assumed room temperature, and the meter does not read 17.2231 mV. The thermocouple between 25 °C and 0 °C would contribute E(25 °C), which table 7.3.3 gives as 1 000.2 µV, and that part is missing because the cold junction is not at 0 °C. So the meter reads the difference, and compensation puts it back:

measured     V_m                          = 16.2229 mV   (17.2231 − 1.0002, NIST tables)
cold junc.   E(25 °C)                     = 1.0002 mV   NIST: 1.0002 mV
compensated  E = V_m + E(t_cj)            = 17.2231 mV   NIST: 17.2231 mV at 419.527 °C
inverse      t = Σ d_i·E^i (table A7.1)   = 419.534 °C   stated error +0.04 to −0.05 °C
exact        t = E⁻¹(E)                   = 419.529 °C
slope        S at t_hj                    = 42.349 µV/°C   NIST: 42.349 at 419.527 °C

The exact inverse lands on 419.529 °C, 0.0020 °C from the zinc point. That residue is the rounding of the two table values the reading was built from, each printed to 0.1 µV: together at most 0.1 µV, which is 0.0024 °C at 42.3 µV/°C. The NIST polynomial gives 419.534 °C, +0.005 °C from the exact value and inside its stated range. Both are far inside the ±3.1 °C that ASTM allows a standard type K at this temperature. These are the calculator's defaults: type K, 16.2229 mV, 25 °C.

Why cold-junction compensation adds voltages, not temperatures

The tempting shortcut is to convert the measured voltage to a temperature as if the cold junction were at 0 °C, then add the cold-junction temperature. In the example that means converting 16.2229 mV to 395.87 °C and adding 25 °C, for 420.87 °C: +1.34 °C wrong. It would only be right if the Seebeck coefficient were constant. The 25 degrees at the cold end are worth E(25 °C) = 1.0002 mV, at about 40.5 µV/°C; the shortcut adds them at the hot end's 42.3 µV/°C instead, where the same voltage is fewer degrees. The error is the difference in slope times the cold-junction temperature, and it grows with both.

Type K's slope is flat enough that the mistake stays near a degree around room temperature. Type E's is not: the same zinc-point measurement with a type E thermocouple, 30 511.9 µV at the zinc point from table 5.3.2 and 1 495.1 µV at 25 °C from table 5.3.3, adds temperatures to 425.88 °C against a true 419.53 °C, +6.36 °C out, because type E's Seebeck coefficient climbs from 61.0 µV/°C at 25 °C to 80.3 µV/°C at the zinc point. The error has no fixed sign either: with the hot junction at −100 °C and the cold junction at 25 °C the shortcut is −10.48 °C out for type K and −12.96 °C for type T, and a cold junction at 60 °C, inside a hot enclosure, pushes the type K zinc-point error to +2.24 °C.

The same mistake runs the other way when simulating or checking an input: the voltage for a hot junction at 419.527 °C and a cold one at 25 °C is not E(419.527 − 25), which is 16.1660 mV, but E(419.527) − E(25), 16.2229 mV. The shortcut is −56.9 µV off, −1.34 °C at the hot end. The calculator's voltage-from-temperature mode shows both.

The cold-junction temperature itself has to be measured, and its error reaches the result scaled by the ratio of the two slopes, a relation derived from the compensation equation: δthj = (S(tcj)/S(thj))·δtcj. In the type K example the ratio is 0.957, so a cold-junction sensor 0.5 °C off moves the reading 0.48 °C; for type E at the same point it is 0.759. The error passes almost one for one, and a thermistor or silicon sensor a few centimetres from the terminals, or on the other side of a warm regulator, measures the wrong point. The NTC thermistor calculator covers one common choice of cold-junction sensor and its self-heating.

What the microvolts cost at the ADC

At 40.5 µV/°C, resolving 0.1 °C with a type K near room temperature takes 4.05 µV per step. Across the whole type K span, 61.3 mV from −270 °C to 1372 °C, that is 15,140 steps, or 14 bits of resolution before any noise; a measurement that only covers 0 °C to 400 °C can trade span for gain. TheADC resolution calculator turns the bit count into a step size for a given reference and gain, and theADC noise floor calculator shows whether the noise, rather than the step, sets the limit, which at a few microvolts it usually does.

Where the reference function stops describing a real probe

Wire tolerance. The reference function is exact to itself and the inverse to a few hundredths of a degree, but a particular thermocouple only has to follow it within its tolerance class. The monograph quotes ASTM E230-87 for each type: type T "± 1 °C or ± 0.75% (whichever is greater) between 0 °C and 350 °C"; type E "± 1.7 °C or ± 0.5% (whichever is greater) between 0 °C and 900 °C"; types J and N "± 2.2 °C or ± 0.75%", J only between 0 °C and 750 °C, N between 0 °C and 1250 °C. For type J, "Tolerances are not specified for type J thermocouples below 0 °C or above 750 °C", and none are given for type N below 0 °C. For types J, N and T, and type K above 0 °C, special grades are "approximately one-half the standard tolerances"; type E's are given as "± 1 °C or ± 0.4% (whichever is greater) between 0 °C and 900 °C". The calculator shows the tolerance at the reading; where the standard gives none, it says so.

Below 0 °C. The tolerance above 0 °C says little about the same wire below it. For type K the monograph stresses that "materials that conform closely to the high temperature tabular values may not necessarily conform closely at low temperatures (below 0 °C) and vice versa. If type K thermocouples are to be used for accurate measurements both above and below 0 °C, then the material must be calibrated in the full temperature range, both above and below 0 °C." It says the same of type N.

Temperature limits of the wire. The reference functions run to 1372 °C for type K, but the ASTM suggested upper limit for a protected type K "applies to AWG 8 (3.25 mm) wire. It decreases to 1090 °C for AWG 14 (1.63 mm), 980 °C for AWG 20 (0.81 mm), 870 °C for AWG 24 or 28 (0.51 mm or 0.33 mm), and 760 °C for AWG 30 (0.25 mm)", from 1260 °C for the heaviest. "Both the KP and the KN thermoelements are subject to deterioration by oxidation when used in air above about 750 °C", which "normally leads to a gradual increase in the thermoelectric voltage with time"; and "green-rot" corrosion, in atmospheres low in oxygen, "can lead to a large decrease in the thermoelectric voltage of the thermocouple with time. The effect is most serious at temperatures between 800 °C and 1050 °C." Type J is limited by its iron leg: its magnetic and crystal transformations, with "the rapid oxidation rate of iron", are "the main reasons why iron versus constantan thermocouples are not recommended as a standardized type above 760 °C", and its table above 760 °C is printed with reduced precision, to whole microvolts.

Inhomogeneity. The voltage is generated along the wire wherever there is a gradient, so a length of wire whose composition has changed, by oxidation, contamination or cold work, contributes a different voltage where it passes through the gradient, and moving the probe moves the error. The monograph records how uneven the alloys can be: in one study of type J, the voltages of different iron thermoelements were "different by as much as 2%, the output curves were sometimes different in shape"; and of type K, "The thermoelectric homogeneity of type KN thermoelements, however, was found … to be not quite as good as that of type EN thermoelements." No reference function can correct for it; only calibration in place can.

The functions' own uncertainty. The ITS-90 functions are conversions of the older IPTS-68 ones, and the monograph states their departure from those as a bias: for type K, up to 0.939 µV from 0 °C to 600 °C and 1.981 µV from 600 °C to 660 °C, where the fit "does not account for the discontinuity at 630.615 °C". It adds that these biases "do not include the uncertainty associated with Δt or the uncertainty associated with the IPTS-68 reference function", which "are not known". At about 42 µV/°C, two microvolts is a twentieth of a degree: small beside any wire tolerance, but a reminder that the fourth decimal of the result is arithmetic, not physics. The monograph's type K construction text also points to "section 8.3" for the coefficients, which are in fact printed in table 7.3.1 of section 7.3; the values used here are those of table 7.3.1.

Common thermocouple mistakes

Further reading