Getting Crazy Temperatures From PT100

Hello,

I bought these two items
https://www.amazon.com/gp/product/B07DP3LYPX
https://www.amazon.com/Adafruit-PT100-Temperature-Sensor-Amplifier/dp/B01N4LEVZN/

and I am using the stock ada fruit code. I did solder the "2/3 wire" jumper, break the "24 3" trace and also soldered the 3 jumper.

This is the result I am getting back

00:56:46.155 -> Adafruit MAX31865 PT100 Sensor Test!
00:56:46.247 -> RTD value: 832
00:56:46.247 -> Ratio = 0.02539062
00:56:46.247 -> Resistance = 10.91796875
00:56:46.247 -> Temperature = -217.48
00:56:46.340 ->
00:56:47.384 -> RTD value: 831
00:56:47.384 -> Ratio = 0.02536011
00:56:47.384 -> Resistance = 10.90484619
00:56:47.384 -> Temperature = -217.48

code (from adafruit)

/*************************************************** 
  This is a library for the Adafruit PT100/P1000 RTD Sensor w/MAX31865

  Designed specifically to work with the Adafruit RTD Sensor
  ----> https://www.adafruit.com/products/3328

  This sensor uses SPI to communicate, 4 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 <Adafruit_MAX31865.h>

// Use software SPI: CS, DI, DO, CLK
Adafruit_MAX31865 thermo = Adafruit_MAX31865(10, 11, 12, 13);
// use hardware SPI, just pass in the CS pin
//Adafruit_MAX31865 thermo = Adafruit_MAX31865(10);

// The value of the Rref resistor. Use 430.0 for PT100 and 4300.0 for PT1000
#define RREF      430.0
// The 'nominal' 0-degrees-C resistance of the sensor
// 100.0 for PT100, 1000.0 for PT1000
#define RNOMINAL  100.0

void setup() {
  Serial.begin(115200);
  Serial.println("Adafruit MAX31865 PT100 Sensor Test!");

  thermo.begin(MAX31865_3WIRE);  // set to 2WIRE or 4WIRE as necessary
}


void loop() {
  uint16_t rtd = thermo.readRTD();

  Serial.print("RTD value: "); Serial.println(rtd);
  float ratio = rtd;
  ratio /= 32768;
  Serial.print("Ratio = "); Serial.println(ratio,8);
  Serial.print("Resistance = "); Serial.println(RREF*ratio,8);
  Serial.print("Temperature = "); Serial.println(thermo.temperature(RNOMINAL, RREF));

  // Check and print any faults
  uint8_t fault = thermo.readFault();
  if (fault) {
    Serial.print("Fault 0x"); Serial.println(fault, HEX);
    if (fault & MAX31865_FAULT_HIGHTHRESH) {
      Serial.println("RTD High Threshold"); 
    }
    if (fault & MAX31865_FAULT_LOWTHRESH) {
      Serial.println("RTD Low Threshold"); 
    }
    if (fault & MAX31865_FAULT_REFINLOW) {
      Serial.println("REFIN- > 0.85 x Bias"); 
    }
    if (fault & MAX31865_FAULT_REFINHIGH) {
      Serial.println("REFIN- < 0.85 x Bias - FORCE- open"); 
    }
    if (fault & MAX31865_FAULT_RTDINLOW) {
      Serial.println("RTDIN- < 0.85 x Bias - FORCE- open"); 
    }
    if (fault & MAX31865_FAULT_OVUV) {
      Serial.println("Under/Over voltage"); 
    }
    thermo.clearFault();
  }
  Serial.println();
  delay(1000);
}

The only thing that is weird on this is that my sensor has 2 negatives and 1 positive (while adafruits example has 2positives and 1negative) This shouldnt matter as I understand the PT100 is only a resistor.

Also in the ada fruit example, it appears that they have a cap around (row 11)

Thanks for any help you can give

The cap is extra decoupling of the 5volt supply.

Does the board have a 4300 or a 4301 Rref resistor.
I think I can see a blurry '1' there.
Leo..

Thank you for the reply. It has 4301

Hmm. 4301 resistor is for PT-1000. Try to connect a 1K resistor instead of sensor . You should get reading around 0C (32F)

Amazon supplied you with the wrong board.
4301 (4300 ohm) Rref is indeed for a PT1000.
Must be 4300 (430 ohm) for a PT100.
Leo..

Wow you guys are exactly right.

The sealed package from adafruit actually says PT100 RTD. Crazy.

Thanks for the help!