Author Topic: MAX31865 RTD-to-Digital Converter  (Read 383 times)

0 Members and 1 Guest are viewing this topic.

Offline harrysmith

  • Contributor
  • Posts: 38
  • Country: dz
MAX31865 RTD-to-Digital Converter
« on: May 31, 2021, 08:06:44 pm »
Hi everyone, I have a small project to realize. and I want to do it with the MAX31865 and linked it with a temperature sensor. and I want to know if any one already realize it to have more of his experience THANKS

Offline DylanZH

  • Newbie
  • Posts: 1
  • Country: au
Re: MAX31865 RTD-to-Digital Converter
« Reply #1 on: June 01, 2021, 04:57:15 am »

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 1196
  • Country: us
Re: MAX31865 RTD-to-Digital Converter
« Reply #2 on: June 01, 2021, 06:09:04 am »
I use the MAX31856 (not 31865).  The MAX31856 is for thermocouples.  A quick look at the MAX31865 datasheet shows it to be similar, and apparently breakout boards are available for it.  If you are just starting, I would suggest getting such a board for a fast start.  It will require a microcontroller and some programming.   

Do you have any specific questions?

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 2823
  • Country: fi
    • My home page and email address
Re: MAX31865 RTD-to-Digital Converter
« Reply #3 on: June 02, 2021, 05:02:17 pm »
MAX31865 is for resistance thermometers (RTDs), most commonly of either Pt100 or Pt1000 type.  I prefer the three-wire configuration, as they seem to be easier to find and cheaper than four-wire ones.

The break-out boards you can find are either clones of the Adafruit one, or just reimplementations of the suggested application circuit in MAX31865 datasheet (PDF).  It is a very simple break-out board, requiring only passives to interface to a 3-wire or 4-wire sensor and a microcontroller using 3.3V voltage; the Adafruit one has a 3.3V regulator so it can be used with 5V microcontrollers (like original Arduinos).

Essentially, MAX31865 is a resistance-to-digital converter, which yields a 15-bit digital value V via SPI (mode 1 or 3); the resistance measured being R=Rref×V/32768, where Rref is the reference resistor being compared against.  Adafruit uses a 430 Ohm 0.1% reference resistor, but I've seen other values on the BOBs I bought off eBay.  For optimum results, the reference resistor should have about four times the resistance of the sensor at 0°C (which is 100 Ohm for Pt100, and 1000 Ohm for Pt1000 sensors).

That resistance is then converted to temperature based on the sensor type.  From -100°C to +100°C, Pt100 sensors have a pretty linear response, so if you don't mind an absolute error of less than 2°C, the temperature is just the resistance multiplied by a constant plus/minus another constant.  For better accuracy, the Callendar-Van Dusen equation is used, either directly, or via a look-up table.  The datasheet describes how, and includes example tables as well.

Adafruit provides an Arduino library for their break-out board, which is very easy to use.  You obviously also need a microcontroller.  I recommend getting several break-out boards and sensors (they aren't expensive), so you can rule out device/sensor issues when developing your gadget: comparing the results between different sensors and MAX31865 boards is very informative.  Even replacing the reference resistors with some of your own (they're well marked on the BOBs I have, but a bit close to the MAX31865 chip, for hand-soldering) with precisely measured resistance or known 0.1% from a reputable vendor, can be very useful.

I haven't done any calibration testing on mine, because I don't have access to calibrated thermometers.  I guess I could test at 0°C and 100°C with distilled water (I live close enough to sea level so atmosperic pressure doesn't affect the boiling point much) with water-ice slush and boiling water, respectively, but haven't found a reason to do so yet.

Realistically, you should be able to achieve 0.5°C accuracy and 0.05°C precision with these, but that of course depends on the break-out board, sensor, and the resistance-to-temperature model you use.

Offline Axel_sr

  • Regular Contributor
  • *
  • Posts: 85
  • Country: ee
Re: MAX31865 RTD-to-Digital Converter
« Reply #4 on: June 03, 2021, 06:45:22 pm »
Since the Adafruit library was mentioned I recommend to make sure you use the one which has bias control is fixed (=switched off after measurement). There are different versions out there.

The following users thanked this post: Nominal Animal

Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo