Max 31855 Reading High Temperatures

Breakout boards, sensors, Drawdio, Game of Life, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
ashurbr
 
Posts: 28
Joined: Fri Jun 29, 2012 3:14 pm

Re: Max 31855 Reading High Temperatures

Post by ashurbr »

Greetings there Flakito,

Is the furnace electric? I ran into (I think) exactly the same issue you describe with an electric kiln. In the end, I had to give up on the MAX31855's entirely, as their noise rejection is relatively poor. I never got them to work above about 1050 C. I tried adding capacitance across the thermocouple wires and passive RC filtering with no success.

Good luck,

User avatar
jippe
 
Posts: 12
Joined: Wed Jan 06, 2010 5:58 pm

Re: Max 31855 Reading High Temperatures

Post by jippe »

I have four thermocouples and also four max31855 thermocouple amplifiers.
Do I need to change all variables for each sensor and put whole code four times or is there some shortcut to do that?

User avatar
adafruit_support_bill
 
Posts: 84640
Joined: Sat Feb 07, 2009 10:11 am

Re: Max 31855 Reading High Temperatures

Post by adafruit_support_bill »

You will need to declare 4 instances of the Adafruit_MAX31855 class. They can share the same CLK and DO pins. But you will need a separate CS pin for each one.

User avatar
jippe
 
Posts: 12
Joined: Wed Jan 06, 2010 5:58 pm

Re: Max 31855 Reading High Temperatures

Post by jippe »

Sorry, that was insufficient post.

heypete's max31855 linearization code I'm trying to get this working for all sensors

User avatar
adafruit_support_bill
 
Posts: 84640
Joined: Sat Feb 07, 2009 10:11 am

Re: Max 31855 Reading High Temperatures

Post by adafruit_support_bill »

Then you probably want to move all that calculation into a function, so you can call it once for each of your 4 thermocouples.

User avatar
jippe
 
Posts: 12
Joined: Wed Jan 06, 2010 5:58 pm

Re: Max 31855 Reading High Temperatures

Post by jippe »

Thanks, I'll study that.

User avatar
jippe
 
Posts: 12
Joined: Wed Jan 06, 2010 5:58 pm

Re: Max 31855 Reading High Temperatures

Post by jippe »

I found this https://github.com/millerlp/MAX31855K_NIST but it didn't work. (util/delay.h missing errors)
So, I ended up combining it with adafruit 31855 library and now it seems to work.
Attachments
Adafruit_MAX31855_NIST.h
(1.25 KiB) Downloaded 55 times
Adafruit_MAX31855_NIST.cpp
(9.22 KiB) Downloaded 58 times

User avatar
adafruit_support_bill
 
Posts: 84640
Joined: Sat Feb 07, 2009 10:11 am

Re: Max 31855 Reading High Temperatures

Post by adafruit_support_bill »

Good to hear that works for you. Thanks for the follow-up.

blameless_fool
 
Posts: 1
Joined: Thu Jul 11, 2013 4:45 am

Re: Max 31855 Reading High Temperatures

Post by blameless_fool »

zike wrote:I thought it may be helpful to point out that the first part of the code, inverting and linearizing the cold junction comp, is not strictly necessary. The fixed Seebeck coefficient used in the 31855 for CJC (40.73 uV/C) is chosen to afford less than 0.1C integral linearity error _over the service temperature range of the chip_ . By comparison, the ADC resolution corresponds to 0.25C, and the internal thermometer's absolute error can be ±2C to start with.Mike
A very clever insight!

I have an Arduino doing the sampling, with presentation by an Android app. I do all conversion in Java on the Android side, so CPU cycles are not critical.

I did all the analysis about August 2013 (before this thread started) and came up with pretty much the same solution.

But I never clicked that correction for the reference junction temperature is mathematically negligible, given the chip's operating range.

Bravo!

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”