Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Adafruit MAX31865 RTD PT100 Low Threshold
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 04, 2020 11:27 am

Hey all,

I've recently purchased an Adafruit MAX31865 RTD PT100 breakout board for use with a Prosense PT100 3-wire RTD sensor (https://cdn.automationdirect.com/static ... bebors.pdf). I followed the guide: https://learn.adafruit.com/adafruit-max ... ing-config, specfically cutting the trace between 4 and 2 pads on the left of the board, as well as soldering together the 2/3 pad on the right but I get a Low Threshold Fault when running the example sketch with the MAX31865 library. Not sure how to diagnose problems or what this even means. Any help is appreciated.

Code: Select all | TOGGLE FULL SIZE
RTD value: 0
Ratio = 0.00000000
Resistance = 0.00000000
Temperature = -242.02
Fault 0x40
RTD Low Threshold
Last edited by AarronY on Thu Jun 04, 2020 11:40 am, edited 1 time in total.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 04, 2020 11:39 am

I should also mention that I've tried two separate sensors, both the same model.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by mikeysklar on Thu Jun 04, 2020 12:47 pm

Hi AarronY,

It sounds like you have the cut trace and solder points correct. Can you post a picture of your wiring and code modification.

mikeysklar
 
Posts: 1730
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 04, 2020 1:39 pm

Thanks for the quick response....
This is the code that I'm using from the max31865 library. I've made no changes to it.

Code: Select all | TOGGLE FULL SIZE
/***************************************************
  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);
}



These are some pictures of the circuit (cropped)
20200604_130616.jpg
20200604_130616.jpg (559.18 KiB) Viewed 103 times

20200604_13064512.jpg
20200604_13064512.jpg (757.23 KiB) Viewed 103 times


Are there any troubleshooting steps that I can attempt?

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by mikeysklar on Thu Jun 04, 2020 2:41 pm

Hey Aaron,

You wiring looks good between the max31865 and the your Arduino board. Also the code does not need modification for the PT100 RTD you are using so the stock example is correct with the pin number and RREF value of 430. The code page suggests that the low threshold you are seeing is due to our own code not having thresholds built in at this time. I suspect it could be that the PT100 is not fully connected to the max31865. I can't confirm the terminal block connections between the max and your PT100 from the photos could you provide those as well?

mikeysklar
 
Posts: 1730
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 04, 2020 3:14 pm

No problem. Here are the pictures:

20200604_150354_resized.jpg
20200604_150354_resized.jpg (621.75 KiB) Viewed 102 times

20200604_150422_resized.jpg
20200604_150422_resized.jpg (874.99 KiB) Viewed 102 times

20200604_150401_resized.jpg
20200604_150401_resized.jpg (749.22 KiB) Viewed 102 times


Are there any other libraries that I should be looking into?

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by mikeysklar on Mon Jun 08, 2020 10:52 pm

Since the hardware hookup all look good. I would try the latest release of the max31865 library from github.

https://github.com/adafruit/Adafruit_MAX31865

mikeysklar
 
Posts: 1730
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Tue Jun 09, 2020 10:39 am

Hello,

I've just tried with the newest library and I'm still running into the same issue. Is there any possible way to set the threshold through the library or a series of SPI commands? Please advise.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Wed Jun 10, 2020 11:10 am

So I dug around the code a bit and I've managed to set the threshold register to zero and still no luck. I've noticed that the reading is 0 ohms when set to 3-wire mode. I think that I may have been shipped a bad board.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by mikeysklar on Thu Jun 11, 2020 12:15 pm

AArronY,

You had mentioned you were recently shipped this MAX board. What was the date of purchase?

mikeysklar
 
Posts: 1730
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 11, 2020 12:18 pm

Early last week.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by mikeysklar on Thu Jun 11, 2020 4:51 pm

AarronY,

Go ahead and write to support@adafruit.com point them at this forum thread and give them your order# so they can send you a replacement.

mikeysklar
 
Posts: 1730
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit MAX31865 RTD PT100 Low Threshold

by AarronY on Thu Jun 11, 2020 4:55 pm

Sounds good. Thank you for your help. I'll let you know what happens.

AarronY
 
Posts: 8
Joined: Thu Jun 04, 2020 11:21 am

Please be positive and constructive with your questions and comments.