I need help using my pt100 Temp Sensor with max31865 amplifier

Hello, I connected my pt100 temperature sensor (2Wire) to my max31865 amplifier, and to my arduino uno Rev3, but my only output value is -242.02.
This is the code I am using:

#include <Adafruit_MAX31865.h>

Adafruit_MAX31865 thermo = Adafruit_MAX31865(10);

#define RREF      430.0 // The value of the Rref resistor.

#define RNOMINAL  100.0 // The 'nominal' 0-degrees-C resistance of the sensor

void setup() {
  Serial.begin(9600);
  Serial.println("Sensor Test");

  thermo.begin(MAX31865_2WIRE);  
}


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);
}

This is how I connected it:


CS --> 10
SDI --> 11
SDO --> 12
CLK --> 13

Did you solder pinheaders to the board, not just poke the Dupond wires in there.
Because that could kill the board.

With a 5volt-logic processor (Uno R3) I would rather use V-in and 5volt power.
Leo..

I believe it is working correctly. The amplifier is a 4 wire sensing device. You have a + and a + sense, connect them together then do the same on the negative side.

Good point, but I think OP already tried to do that with the solder blobs.
I think the one near the star shouldn't have been soldered, because it is already configured for 2/4 wire sensors (the tiny trace in between).

Might have shorted it to the 3-wire field though, so remove that blob with solder wick.
Leo..

Yes, theoretically this should already work like that, but i can try connecting it like gilshultz suggested.
Yeah I have soldered the 2/4 together, but there is no connection to the 3, on the photo it looks like that because of the angle.

Also i should mention, that the strange output also happens when wires like the cs or clk are not connected. So I assume there is a problem with the amplifier.

Hi,
Looking at the example and how you say you have connected the sensor shouldn't you have this statement;

// Use software SPI: CS, DI, DO, CLK
Adafruit_MAX31865 thermo = Adafruit_MAX31865(10, 11, 12, 13);

Instead of this;

Adafruit_MAX31865 thermo = Adafruit_MAX31865(10);

Tom... :grinning: :+1: :coffee: :australia:

Oh, I thought that doesnt matter, because the pins for SDI, SDO and CLK are defined at the arduino anyway. But I will try this.

According to Adafuit, 3V3 is the output of the onboard regulator and not the power input.
You should supply 5V to Vin
Is there a header soldered to Vin, GND 3V3,CLK,SDO,SDI,CS,RDY?

Ok I will try this.
No I just put it in without soldering to be able to remove it.

You will need to solder it, you need a good continuous joint on all the pins of the board.

Tom.. :grinning: :+1: :coffee: :australia:

Just to repeat what @TomGeorge said, it needs to be soldered
That's probably the root cause of all your problems.

You should consider how you intend to connect the board to your final circuit. You probably received something like this from Adafruit:


The male headers shown at the bottom can be soldered into the PCB and used with M/F Dupont style jumper wires to connect to your Arduino female headers. They also provide a way to connect to a solderless breadboard. For the final circuit, they might not be the best way to connect. If that is the case, you need to think about how skilled you are at removing them or what might be a better way to make a reliable connection to the PCB for both prototyping and finished product.

Thanks to you all for helping me. The solution was to solder it, I guess some wire wasn't really connected to the pt100.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.