Hi friends.
I have a problem. I use MAX31865to measure temerature from PT1000.
And I have a problem. I can't measure.
I have got set a fault register..... You can see this in picture with the labels. Any idea, what is wrong? I tried everything, but nothing help.
And I init this device with write to 0x80 value 0xC3.
MAX31865
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_bill
- Posts: 88087
- Joined: Sat Feb 07, 2009 10:11 am
Re: MAX31865
What processor are you using? And what code are you using to test with?
- brekeke
- Posts: 3
- Joined: Thu Sep 20, 2018 2:16 am
Re: MAX31865
I use STM32F767 with my write/read function.
And this is only one chip, where is my code didn't work.
I communicate with
I see one problem....
After I send register to MAX the SDO pin go down. You can see it on my picture.
And this is only one chip, where is my code didn't work.
I communicate with
- AD7927
LTC2945
etc...
I see one problem....
After I send register to MAX the SDO pin go down. You can see it on my picture.
- Attachments
-
- sdo_problem.png (47.71 KiB) Viewed 349 times
- adafruit_support_bill
- Posts: 88087
- Joined: Sat Feb 07, 2009 10:11 am
Re: MAX31865
Please try with one of the known working libraries. We have working libraries in both C++ and Python to work with Just about any Arduino-compatible processor, or Raspberry Pi.
https://learn.adafruit.com/adafruit-max ... duino-code
https://learn.adafruit.com/adafruit-max ... cuitpython
https://learn.adafruit.com/adafruit-max ... duino-code
https://learn.adafruit.com/adafruit-max ... cuitpython
- brekeke
- Posts: 3
- Joined: Thu Sep 20, 2018 2:16 am
Re: MAX31865
Ok. I use arduino and your board. And temperature is here:
You can see communication is good. But result data is bad.
And program is here:
- RTD value: 0
Ratio = 0.00000000
Resistance = 0.00000000
Temperature = -242.02
You can see communication is good. But result data is bad.
And program is here:
Code: Select all
/***************************************************
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>
#define LED_pin 72
/* SPI pins */
#define CS_pin 10
#define SCL_pin 76
#define MOSI_pin 74
#define MISO_pin 75
// Use software SPI: CS, DI, DO, CLK
Adafruit_MAX31865 max = Adafruit_MAX31865(CS_pin, MOSI_pin, MISO_pin, SCL_pin);
#define RREF 4000.0
#define RNOMINAL 1000.0
void setup()
{
pinMode(LED_pin, OUTPUT);
Serial.begin(115200);
Serial.println("MAX31865 PT100 Sensor Test!");
max.begin(MAX31865_4WIRE); // 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(RNOMINAL, 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();
digitalWrite(LED_pin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(10);
digitalWrite(LED_pin, LOW); // turn the LED off by making the voltage LOW
delay(10);
}
- Attachments
-
- error_1.PNG (9.75 KiB) Viewed 338 times
-
- error.png (63.03 KiB) Viewed 338 times
- adafruit_support_bill
- Posts: 88087
- Joined: Sat Feb 07, 2009 10:11 am
Re: MAX31865
Please post some photos showing your soldering and connections to the board.
- MatteoCirceo
- Posts: 6
- Joined: Mon Sep 17, 2018 12:34 pm
Re: MAX31865
Hi guys, I have the same error and I use the raspberry pi zero ...adafruit_support_bill wrote:Please post some photos showing your soldering and connections to the board.
How to do the welding in the right way?
I use a 2-wire PT1000 sensor.
https://imgur.com/VzIJmQn
- adafruit_support_bill
- Posts: 88087
- Joined: Sat Feb 07, 2009 10:11 am
Re: MAX31865
@MatteoCirceo - Please start a new thread for your question.
Please be positive and constructive with your questions and comments.