I recently bought some Max31865 breakout boards on Aliexpress (the black pcb ones) and tried to connect a 2 wires PT1000 to an Arduino Uno.
I soldered the 2 wires jumper close at the top right corner and connected PT1000 wires as shown in the image.
The thing is that it gives me random resistance values.
I triple checked pins and tried both software and hardware SPI, but it still won't work properly.
Got the same issue on a different max board.
Could you please tell me what could be the problem ?
My pin connexions are
Vin -> 3.3v
Gnd -> Gnd
3.3v ->nothing
CLK -> D13
SDO -> D12
SDI->D11
CS->D10
RDY-> nothing
Could the problem be the PT1000 i'm using ?
It doesn't have positive or negative wires.
The way i understand it, the chip should give me like 0°C even with a regular 1k ohm resistor, am i wrong ?
Here's the code i used to test it.
#include <Adafruit_MAX31865.h>
// Use software SPI: CS, DI, DO, CLK
//Adafruit_MAX31865 max = Adafruit_MAX31865(10, 11, 12, 13);
// use hardware SPI, just pass in the CS pin
Adafruit_MAX31865 max = Adafruit_MAX31865(10);
// The value of the Rref resistor. Use 430.0!
#define RREF 430.0
void setup() {
Serial.begin(115200);
Serial.println("Adafruit MAX31865 PT100 Sensor Test!");
max.begin(MAX31865_2WIRE); // set to 2WIRE or 4WIRE as necessary
}
void loop() {
uint16_t rtd = max.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(max.temperature(100, RREF));
// Check and print any faults
uint8_t fault = max.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");
}
max.clearFault();
}
Serial.println();
delay(1000);
}