Pages: [1] 2   Go Down
Author Topic: new thermocouple interface: MAX31855  (Read 9942 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just saw this:

http://www.maxim-ic.com/datasheet/index.mvp/id/7273/t/al

Looks like Maxim has a new thermocouple interface, with support for different types of t-couples (not just K) available.  At a glance it looks like the hardware interface is the same (drop-in replacement for the MAX667[45]) and you get a couple of extra bits of resolution, plus a larger measurement range.

I mention them because there seems to have been a fair amount of thermocouple discussion lately.

-j
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8473
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I too just discovered that chip. Is it a drop-in replacement for the 6675.

I gather the handling of different TC types is a factory trim though and you buy different models of the chip, so you can't just stock one for all types. Not that I reckon that's a problem, you can still have one PCB just load a different chip if needed.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Ohio USA
Offline Offline
Newbie
*
Karma: 2
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Not exact replacement: MAX31855 does not work @ 5V, only use with 3.3V  smiley-sad
Logged

Ohio USA
Offline Offline
Newbie
*
Karma: 2
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I posted MAX 31855 libraries:
http://github.com/ControlConnection/MAX31855
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8473
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
only use with 3.3V
Yep, I didn't spot that.

Thanks for the source code, I've grabbed it for when I start using the chip. Is it the same as the 6675 software wise?

______
Rob
« Last Edit: August 08, 2011, 02:01:58 am by Graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

Ohio USA
Offline Offline
Newbie
*
Karma: 2
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

MAX31855 can use MAX6675 routines without any changes to read TC temperature.
BTW MAX6675 routines I found can't display negative temperatures correctly, so I corrected this.
 
In addition MA31855 can read:
- CJC temperature (internal to the chip)
- Open Wire Fault
- Short to GND Fault
- Short to VCC Fault

I also like that they made multiple versions for different TC types - one I was using is for type J TC wire.
I will add some examples later on.
« Last Edit: August 08, 2011, 10:30:42 am by Andy123 » Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've ordered a couple of samples each of J and K versions. Thanks very much, Andy, for the library contribution. That will make playing with the devices much easier.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Andy,  Thanks for the library.  Worked like a charm.  I has one in the works, but it was buggy and had issues with the spi timing, yours works great.  I send you a pull request on github with a example I added to the lib.
Logged

Ohio USA
Offline Offline
Newbie
*
Karma: 2
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks guys!

I will try to add my examples also.
Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got around to breadboarding a K type MAX31855 circuit today. With the probe stuck under my tongue, I measured 93.65 degrees F. The data sheet says they do a linear fit to the actual curve so I don't know if that is an acceptable error or not.

Edit:

I tried it in boiling water and got around 205 degrees F. That's about a 3.3% error.
« Last Edit: September 03, 2011, 05:44:18 pm by EmilyJane » Logged

Left Coast, CA (USA)
Online Online
Brattain Member
*****
Karma: 361
Posts: 17263
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got around to breadboarding a K type MAX31855 circuit today. With the probe stuck under my tongue, I measured 93.65 degrees F. The data sheet says they do a linear fit to the actual curve so I don't know if that is an acceptable error or not.

Edit:

I tried it in boiling water and got around 205 degrees F. That's about a 3.3% error.

Typical one doesn't select thermocouples for their accuracy, but rather for the high temperature range and relative lower cost compaired other temperature sensors types. Process control industry typically use RTD PT100 sensors where accuracy is important and TCs where high temp service is required like furnaces and other high temp process equipment.

Quote
The error for a standard grade K-type thermocouple is ±2.2 °C or ±0.75% of the measurement temperature.‡ Because ±0.75% of 200 °C (±1.5 °C) is less than ±2.2 °C, the error of a standard grade K-type thermocouple is ±2.2 °C.


Quote

Type J probes

recommended range: 32 to 1336
max range              -310 to 1832
accuracy                 1.8 to 7.9oF or 0.4% of reading above 32oF, whichever is greater
« Last Edit: September 03, 2011, 06:04:04 pm by retrolefty » Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This is probably close enough then. Most of my experience is with RTDs when we were looking for accuracy, as well. This is a pretty simple - 1 chip, 1 cap - solution to high temperature measurement. It should be close enough for my meat thermometer anyway. smiley


Edit: May as well post the code I did to test the accuracy. Couldn't figure out how to use it though.  smiley

Code:
/*
Function to calculate the mV out of a standard K type thermocouple given the temperature in degrees C
Range 0 - 300 degrees C
*/

double calc_mV(double T90) {

// Coeficients from NIST
const double c0 =  -0.176004136860E-01;
const double c1 =   0.389212049750E-01;
const double c2 =   0.185587700320E-04;
const double c3 =  -0.994575928740E-07;
const double c4 =   0.318409457190E-09;
const double c5 =  -0.560728448890E-12;
const double c6 =   0.560750590590E-15;
const double c7 =  -0.320207200030E-18;
const double c8 =   0.971511471520E-22;
const double c9 =  -0.121047212750E-25;

const double a0 =   0.1185976E+00;
const double a1 =  -0.1183432E-03;
const double a2 =   0.1269686E+03;

const double e =    2.71828182845904; // e as in natural logs

const double K = a0 * pow(e,(a1*(T90-a2)*(T90-a2))); //constant term for summation

// summation over n coefficients
  double  E =  c0 * pow(T90,0) + K;
          E += c1 * pow(T90,1) + K;
          E += c2 * pow(T90,2) + K;
          E += c3 * pow(T90,3) + K;
          E += c4 * pow(T90,4) + K;
          E += c5 * pow(T90,5) + K;
          E += c6 * pow(T90,6) + K;
          E += c7 * pow(T90,7) + K;
          E += c8 * pow(T90,8) + K;
          E += c9 * pow(T90,9) + K;

return E;

}

void setup() {

  Serial.begin(57600);
  Serial.println(calc_mV(37.0), 3);

};

void loop() {
};

« Last Edit: September 03, 2011, 06:30:25 pm by EmilyJane » Logged

Boston, MA
Offline Offline
Edison Member
*
Karma: 0
Posts: 1024
wiblocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The uncalibrated accuracy on the MAX31855 should around +-2degC. The repeatability should be
a bit better. When I did a quick test nn my new board I was getting +-2degC and a repeatability
of around +-0.25degC. I will doing some tests over the next few weeks.

I added two channels to the board and some terminal blocks for ADC channels, I2C and SPI
ports. I also added a 5V boost converter.



I will have the schematic and documentation done in the next few weeks.
Preliminary information is at http://tinyurl.com/3vuatby
(* jcl *)
« Last Edit: September 05, 2011, 08:52:48 pm by jluciani » Logged


Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not sure how much my breadboard affects the reading. "Theoretically" since the multiple metal junction transitions are at the same temperature, they should cancel out.

I'm happy with the results so far since all I was going to use mine for is a grilling thermometer.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

 I'm using MAX31855 tipe K for measuring temperature. I can get
 right value if the TC wire is short only, for example 30 cm in my
 case. I start getting wrong measurement if I use long wire, for
 example 4 meters. What do I do wrong?

 Thank you.
Logged

Pages: [1] 2   Go Up
Jump to: