Arduino and thermocouples

I'm trying to use an Arduino Diecimila with a type K thermocouple to create a temperature sensor (using a SAA1064 to drive LED segment displays)

Unfortunately the resolution of the analogue inputs are only 4.9 mV and thermocouple readings tend to be in the 100s of microvolts scale.

Does anyone have experience with using thermocouples with Arduinos? How did you get around this problem?

Thanks,

Ian

Not only are the voltages low, you also need a reference temp to derive an absolute temperature.

I'd go with one of the devices from Maxim: Mixed-signal and digital signal processing ICs | Analog Devices

-j

A simple LM35 on analogic pin.

Depends on your temperature needs......

Thanks for the advice guys, I'm aware of the reference temp. problem - the LM35 looks like a good option. Unfortunately the maxim products are surface mount and I'm working with breadboards at the moment - am looking at some other products made by Linear Technology though, fairly pricey unfortunately!

LM35 comes in to92 package......transistor like

You need the 'cold junction' you mentioned. You'd want an opamp to scale the thermocouple output up to the thresholds of the atmega.

http://icb.olin.edu/fall_02/ec/labs/Thermocouple%20Amplifier%20Circuit.pdf
http://www.circuitcellar.com/library/print/0503/moyer154/3.htm

There is a formula to approximate the temp output instead of using a lookup table but I can't find it just now.

If you can source one within your price range, the AD595 is exactly the sort of device you need. It seamlessly converts thermocouple output to a readable analog input.

Ah thanks, found the AD595 myself when looking online - a bit pricey at £15 but does exactly what I need it to and believe it does the reference temperature compensation as well.

There are adapter boards (Sparkfun and others have 'em) for mounting SMT parts and giving them a DIP form factor.

-j

Not sure what your measurement requirements are, but the analog devices will only give you 10 bit resolution (since that's what the Arrduino's ADC is capable of).

Besides thermocouples, there are many other temperature sensors: thermistors (a resistor that varies with temp), the LM35 mentioned earlier, and a large variety of digital devices. Maxim/Dallas has the DS1820 series (1-Wire interface), the DS1621/1631 (I2C interface), the DS1722 (SPI interface), as well as others. There is code available for the three I mentioned if I'm not mistaken.

-j

I know this is a bump of an old topic, but I'm trying to probe and display the temperature of a motor scooter's motor oil in real time. There are some guys building an oil cooler to drop the temperature, and it would be nice to get a (more or less) real-time view of the oil temp without having to stop and look at a dipstick thermometer or have to pull the dipstick and use a candy thermometer.

So here I'm sitting trying to decide what I could use as a probe, and for some reason a T-type thermocouple is what was being recommended to me. I'm familiar with the LM34 (since I'm in backwards Fahrenheit land) - if there were a thermistor with a similar interface that could safely read in excess of 350 degrees fahrenheit, that would obviously be the best choice. Since I'll probably have to build, beg, or borrow an appropriate probe that can withstand hot motor oil - I guess submersibility isn't of high priority! :slight_smile:

Any suggestions?

Most folks use K types, and I think you'll find more options available to you if you do, too.

There's a couple of Maxim devices, MAX6674 and 6675 IIRC, that are direct interfaces (contain all the needed reference junctions, amplifiers, and ADC) via the SPI interface. Someone posted code for one of the devices on the forum. I've interfaced one (don't remember which) and it works fine. One of these days I'll clean up the design a bit, including finding a K type PCB socket.

One of the Maxim devices is 0-128C with 0.125C precision; the other is 0-1024C with 0.5C precision.

There's also the Analog device mentioned in this thread, and I'm sure there are others.

As far as the thermocouple itself goes, Omega has lots and lots of options. They're not the cheapest around, but they have a very wide (almost bewildering) range of thermocouples. I'd bet you could find one to screw into the drain plug hole or something along those lines, or maybe one to clamp to a line if a line is available already.

-j

An easy option for finding a thermocouple that can withstand the chemical and temperature properties of motor oil is to scrounge at the junk-yard for equipment with an oil temperature gauge. A lot of the older-stuff is all mechanical, but some newer stuff (particularly industrial equipment) uses K or T type thermocouples.

(I took one off a big generator, it's original purpose was measuring the transmission oil temperature ... turned out to be K type.)

Well allow me to show my ignorance - anyone have a picture of a common K-type thermocouple like what I might find in an automotive application? I need to hit up a junk yard anyway looking for an oil cooler. :slight_smile:

The standard connectors are color coded - K is yellow.

A thermocouple is two dissimilar metal wires. The different types are simply different pairs of metals. I personally have no idea how to tell them apart if they aren't labeled or color coded. :slight_smile:

-j

you can experimentally determine what kind of thermocouple you have by heating the thermocouple to a known temperature and measure the voltage. Compare that with the voltage on the tables for the thermocouple types then you are set.

now that the first post is out of the way, here's that link

Here is good starting reference for thermocouples: Omega Engineering | Sensing, Monitoring and Control Solutions

All in all thermocouples are not a very good choice unless you need the extreme temperature range they can handle. They require a lot of preconditioning (amplifying, cold junction compensation, etc) and they really aren't very accurate relative to several other temp sensors. So your highest temperature should be your search parameter to which sensor would best meet a given application.

Lefty