[maple mini] Adafruit_MAX31865 library : The correct value is not displayed.
Posted: Wed Nov 20, 2024 8:38 am
[maple mini] Adafruit_MAX31865 library : The correct value is not displayed.
1. Adafruit_MAX31865 library : https://www.adafruit.com/product/3328
2. PT-100 : 2wire
3. CODE :
4. Serial monitor
Q1) Is it possible to use 'maple mini' and 'Adafruit_MAX31865'?
Q2) Or did I make a mistake?
1. Adafruit_MAX31865 library : https://www.adafruit.com/product/3328
2. PT-100 : 2wire
3. CODE :
Code: Select all
#include <Wire.h>
#include "Adafruit_MAX31865.h"
// Use software SPI: CS, DI, DO, CLK
Adafruit_MAX31865 thermo = Adafruit_MAX31865(PA4, PA7, PA6, PA5);
#define RREF 430.0
#define RNOMINAL 100.0
void setup(){
Serial.begin(115200); pinMode(PA4,OUTPUT);
Serial.println("Adafruit MAX31865 PT100 Sensor Test!");
thermo.begin(MAX31865_2WIRE); // 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);
}
Code: Select all
17:36:26.180 -> RTD value: 32767
17:36:26.180 -> Ratio = 0.99996948
17:36:26.180 -> Resistance = 429.98687744
17:36:26.180 -> Temperature = -242.02
17:36:26.272 ->
17:36:27.364 -> RTD value: 28640
17:36:27.364 -> Ratio = 0.87402344
17:36:27.364 -> Resistance = 375.83007813
17:36:27.364 -> Temperature = 988.79
17:36:27.409 -> Fault 0xFF
17:36:27.409 -> RTD High Threshold
17:36:27.409 -> RTD Low Threshold
17:36:27.409 -> REFIN- > 0.85 x Bias
17:36:27.409 -> REFIN- < 0.85 x Bias - FORCE- open
17:36:27.409 -> RTDIN- < 0.85 x Bias - FORCE- open
17:36:27.409 -> Under/Over voltage
17:36:27.409 ->
17:36:28.505 -> RTD value: 0
17:36:28.505 -> Ratio = 0.00000000
17:36:28.505 -> Resistance = 0.00000000
17:36:28.505 -> Temperature = -242.02
17:36:28.595 ->
17:36:29.645 -> RTD value: 32767
17:36:29.645 -> Ratio = 0.99996948
17:36:29.645 -> Resistance = 429.98687744
17:36:29.645 -> Temperature = -242.02
17:36:29.735 -> Fault 0xFF
17:36:29.735 -> RTD High Threshold
17:36:29.735 -> RTD Low Threshold
17:36:29.735 -> REFIN- > 0.85 x Bias
17:36:29.735 -> REFIN- < 0.85 x Bias - FORCE- open
17:36:29.735 -> RTDIN- < 0.85 x Bias - FORCE- open
17:36:29.735 -> Under/Over voltage
17:36:29.735 ->
17:36:30.828 -> RTD value: 0
17:36:30.828 -> Ratio = 0.00000000
17:36:30.828 -> Resistance = 0.00000000
17:36:30.828 -> Temperature = 988.79
17:36:30.874 -> Fault 0xFF
17:36:30.874 -> RTD High Threshold
17:36:30.874 -> RTD Low Threshold
17:36:30.874 -> REFIN- > 0.85 x Bias
17:36:30.874 -> REFIN- < 0.85 x Bias - FORCE- open
17:36:30.874 -> RTDIN- < 0.85 x Bias - FORCE- open
17:36:30.874 -> Under/Over voltage
Q2) Or did I make a mistake?