Hi,
I have a Adafruit Thermocouple Amplifier MAX31855 breakout board.
As we only use J-Type thermocouples, I have replaced the MAX31855K with the MAX31855J.
Using the sketch provided, my temperature readings are approx +10 C higher that actual temperature being read.
I see from the MAX31855 datasheet that the Sensitivity of the K-Type is 41.276 (μV/°C) and the J-Type is 57.953 (μV/°C).
Where would I be able to change this in the sketch examples / library?
Is it possible to read the faults, if any, from the MAX31855?
Example Sketch:
/***************************************************
This is an example for the Adafruit Thermocouple Sensor w/MAX31855K
Designed specifically to work with the Adafruit Thermocouple Sensor
----> https://www.adafruit.com/products/269
These displays use SPI to communicate, 3 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/
#include <SPI.h>
#include "Adafruit_MAX31855.h"
// Default connection is using software SPI, but comment and uncomment one of
// the two examples below to switch between software SPI and hardware SPI:
// Example creating a thermocouple instance with software SPI on any three
// digital IO pins.
#define DO 3
#define CS 4
#define CLK 5
Adafruit_MAX31855 thermocouple(CLK, CS, DO);
// Example creating a thermocouple instance with hardware SPI (Uno/Mega only)
// on a given CS pin.
//#define CS 10
//Adafruit_MAX31855 thermocouple(CS);
void setup() {
Serial.begin(9600);
Serial.println("MAX31855 test");
// wait for MAX chip to stabilize
delay(500);
}
void loop() {
// basic readout test, just print the current temp
Serial.print("Internal Temp = ");
Serial.println(thermocouple.readInternal());
double c = thermocouple.readCelsius();
if (isnan(c)) {
Serial.println("Something wrong with thermocouple!");
} else {
Serial.print("C = ");
Serial.println(c);
}
//Serial.print("F = ");
//Serial.println(thermocouple.readFarenheit());
delay(1000);
}
Readings from Serial Monitor:
Reading ambient temperature of 22.7C
Internal Temp = 35.56
C = 32.00
Internal Temp = 35.56
C = 32.00
Internal Temp = 35.56
C = 31.75
Internal Temp = 35.56
C = 32.25
Internal Temp = 35.63
C = 32.00
Internal Temp = 35.56
C = 32.25
Internal Temp = 35.56
C = 32.00
Internal Temp = 35.63
C = 32.25
Any assistance with this is greatly appreciated.