EEVblog #419 – Thermocouple TutorialPosted on February 3rd, 2013 20 comments
Everything you need to know about how Thermocouples work.
K type thermocouples, the Seebeck effect, the Seebeck coefficient, and cold junction compensation.
Along with some practical measurements with a multimeter to demonstrate the effect.
Seebeck effect on a single conductor
Forum Topic HERE
The MAX31855 part from Maxim is a nice Cold-Junction Compensated Thermocouple-to-Digital Converter. This chip came out not too long ago to replace Maxim’s MAX6675 chip.
The MAX31855 has 14-Bit/0.25 deg. C resolution. There are different version chips for K, J, N, T, S, R, & E-type junctions. The interface is half duplex SPI. The MAX31855 comes in a friendly 8-SOIC package. Mouser lists them for $7.75 USD each in unit quantity. There’s a Maxim eval board for $110 bucks.
Adafruit has a relatively cheap ($17.50) breakout board for the MAX31855 but the schematic is not readily available (I asked – they ignored). Adafruit also sells a K-type glass braid insulated (good to 500 deg. C) thermocouple for ten bucks. But at one meter long, it’s a bit short for my liking.
You have to be very careful about input filtering with the MAX31855. Use the recommended layout and parts (ferrites and caps) as per Maxim’s reference eval board for this part and you’ll be fine. (This is why I would be leery about using Adafruit’s breakout board without seeing the schematic and detailed layout first.)
No I don’t work for Maxim.
I enjoyed the vid Dave… Thanks, David in Jakarta
I’m just designing a temperature measurement system using thermocouples.
At first glance, the MAX31855 seems to be a nice, compact one-chip solution, but I finally decided against it because of its poor accuracy. It is using the linear approximation of about 41µV/°C, and not the exact NIST curves! This gives an error of some °C over the wohle temperature range.
My actual solution is the AD7795, a six-channel ADC with internal preamp. It gives a resolution of about 0.5µV (which equals 0.01°C). For the cold junction measurement, I’m using the MCP9808, a digital temperature Sensor with 0.25°C typ. accuracy. The compensation is done in Software (running on an AVR), using a lookup-table based on the NIST tables.
So I have six channels with much more resolution and accuracy, at the price of about two MAX31855.
Your solution is of a more traditional nature using embedded controllers and calibration data. Dave mentions this in his video, and it is likely the best approach for highest accuracy and resolution.
Long ago I did an absolute accuracy budget for a conceptual design similar to yours. After I took into account a proper A/D front end, front end noise/gain cascade, A/D reference noise and stability, power supply noise, accuracy and resolution of the cold junction reference, software accuracy and resolution, and finally (and perhaps most importantly) the absolute accuracy of the thermocouple themselves. (There’s more below on thermocouple probe accuracy.)
I came to the conclusion that achieving accuracy better than the likes of off the shelf thermocouple chips is possible, but it is also lot of work compared with just dropping in a specialized part.
And I didn’t even touch on the issue of dissimilar metals and how that would affect things – and how much it would cost to mitigate using matching materials (special connectors).
Regarding the look up tables you mentioned: I came to the conclusion that using the regression-fit polynomials to likely be significantly better than interpolating from look up tables provided the speed trade-off was acceptable and one was willing to program with multiple precision math.
Allow me to quote Wikipedia (with reference):
“The main limitation with thermocouples is accuracy; system errors of less than one degree Celsius (°C) can be difficult to achieve.”
The Wikipedia entry cites:
The cited page includes tables showing the maximum permitted error in thermocouples (in deg. C) which comply with IEC 584-2 (1982) and in PRTDs (platinum resistance temperature devices) which comply with BS 1904 (1984) Class A. For example, the table indicates 1.5 deg. C maximum permitted error for the type-K junction at 0 and 200 deg. C.
Then there was the question of my (in)ability to even calibrate (verify) the design – my lab just isn’t equipped with the proper references. I could send it away to a cal lab (ka-ching), but this wasn’t a production product design.
The strength of Thermocouples is their relative accuracy over broad temperature ranges, not absolute accuracy. If I need sub one degree C accuracy for something (like Sous Vide cooking which typically between room temperature and 100 deg. C), I would use something like the MCP9808 you mentioned all by itself.
If I needed less than 1 deg. C absolute accuracy over a comparatively large temperature, I would use high quality thermocouple probes with professional instruments or use high quality probes with something like you are working on.
Bring your design to the EEVBlog forum then post a notice here with a link. Maybe we can discuss this further…
“Then there was the question of my (in)ability to even calibrate (verify) the design – my lab just isn’t equipped with the proper references. ”
For very good temperature references, just use water at 0°C and 100°C for calibration. (for more precision, correct it for your altitude and use deionized water)
>Adafruit has a relatively cheap ($17.50)
>breakout board for the MAX31855 but the
>schematic is not readily available (I asked
>– they ignored).
Maybe you should learn how to use Google. This took me a few seconds:
Hey Jope, maybe you should learn the definition of “Easily Accessible”.
I know how to find the resources, and I don’t even need Google. What’s provided are proprietary Eagle .brd and .sch files. What’s worse is that they don’t specify what version of Eagle they’re made in (Eagle files are often not often not version compatible).
I’m not going to keep a rolling release of Eagle installed and maintained every time I just happen to need to open an Eagle .brd or .sch file from a “supposedly” open hardware source like Adafruit. I asked Adafruit to post a simple graphic or postscript files instead of the proprietary Eagle files, nope.
IMHO, an Eagle schematic freely downloadable deserves to be called “readily available”. Is installing the current version of Eagle really such a difficult task? Took me a few seconds…
That some people waste their energy on complaining about such non-problems baffles me.
How about making a quick follow-up about using a signal diode as a thermistor?
There is an excellent 1988 Jim Williams app note on thermocouples (Linear Technology AN28):
Recommended reading for everyone designing a system that is using thermocouples.
You have to be careful about this. All the tables and such are made with an assumption of 0 C for the cold junction. At room temperature, this assumption is violated and you have to do a bit of trickery to be able to convert to an actual temperature.
You bring up an important point here. The video you linked fo explains the compensation and zero degree cold end issue nicely.
By the way, the NIST Thermocouple Tables are found here:
Great stuff – your tutorials and project walkthroughs are the highlight of the site eg DC to DC converter which was excellent . Looking forward to the walkthrough of the usb power supply schematic ?. Please consider one tutorial per month in between all the teardowns.
thanks for the share nice tutorial to learn about the thermocouples and if you need more about the thermocouples please feel free to visit our website.
In the mid-1980′s I was working in applications engineering at a VHF/UHF power transistor manufacturer. One thing I had to do sometimes was to use an infrared microscope to find the hottest part of a die while the transistor was putting out the normal power but with a worst-case supposedly tolerable load, and measure the temperature at that hottest spot. The test was always done with the case at a known temperature, measured with a thermocouple, and then we would control the cooling water running through the heat sink to keep the case temperature where we wanted it, frequently 100 deg C. We were always trying to weld our own thermocouples, but were never very good at it. Without studying it, I got the idea that each metal has a characteristic voltage at any given temperature, so if you soldered it instead of welding, it might go up so many extra microvolts as the current goes out of one metal and into the solder, and then back down the same number of microvolts as it exits and goes into the other metal, so the net effect of the solder would be zero. The boss said there was no way that would work, but he was open to trying it. So we got two thermocouples that were identical (type K IIRC) except that one was welded and the other was soldered. We put them in a beaker together in ice water, and heated it up slowly until it was boiling. The two tracked perfectly. We did not go to a thousand degrees at one end or stick in in liquid nitrogen at the other, but for the range we were interested in, there was no difference.
Thanks for sharing the idea there would be some apprehensions from segment but i am up for it.
it is not difficult to generate 0 C for calibration. An ice-cube in a glass of water. You don’t even have to compensate for altitude much.
Is it not possible/practical to offer a single chip that supports multiple types (say, both/either J and/or K, perhaps others), and “simply” command the chip as to which type its connected to?
Your vidoes are so oozing with knowledge you should charge for them. WAIT, FORGET I SAID THAT!
1 Trackbacks / Pingbacks
[...] EEVblog #419 – Thermocouple Tutorial @ EEVblog. [...]
Leave a reply