PT100 and PT1000 Breakout Board with MAX31865
Charles last edited by Charles
Today I would like to introduce a new breakout board to read temperature values from the most used sensors in the industry such as PT100 and PT1000 (well at least in France). Why this board ? It’s not the first… Continue Reading
Click here to see the full blog post
it's been a while, but still, thanks for sharing this project!
I tried to modify this for a compact arduino embedded system with multiple breakout boards for the Adafruit Feather (as the Feather runs on 3.3V), but failed so far in getting any output.
Any recommendation for debugging, like simple SPI inputs which must generate a simple output? Something like "byte0 = SPI.transfer(0xFF); readValue = SPI.transfer(0xFF);" ? I guess there's a problem with the hardware, so I attached my setup:
rtd.configure( true, false, false, USE_3WIRES, MAX31865_FAULT_DETECTION_NONE,
true, true, FAULT_LOW_THRESHOLD, FAULT_HIGH_THRESHOLD );
status = rtd.read_all();
I get "No communication, is breakout board plugged ?"
I thought it could be the soldering, but I measured all lines and pins, and remade the breakout board with the same result.
Also, I wonder if it's rather the Feather. 3.3 voltage regulator max is 400mA, pin max is 10mA, which should be sufficient as there's only an additional OLED board taking 20mA.
But DVDD/VDD I'd only measure 2.8V with the multimeter when running, so it might be that the voltage regulator is not strong enough. Or would I really need a ferrite bead between them?
Thanks again for sharing this project! It has been inspiring already.
Thank for your comment.
To be honest I didn't tried the boards with a ESP8266, it's a good idea, I need to do this but I can't from my office I don't have any dupont cable to connect.
May be it can be SPI related? I had some problem with RFM69 chip on ESP and needed to change some SPI init ? Could you try changing SPI Speed like this
Worth trying your board with real 3V3 Arduino to check your MAX31865 hardware ?
Hm, ESP? Ah, no, the picture on the right is the realization of the schematic on the left. The SSOP packaging of the MAX31865 is less common than the TQFN which you're used to, so this might look like an ESP. But I'm more confident when it comes to soldering SSOP, so I chose this one.
Even though I use an 3.3V arduino, your comment might be right that I should reduce the clock frequency as the MAX31865 only accepts 5MHz. Will check this out later on.
Oh sorry I wasn't aware that Adafruit Feather could be other than ESP8266 ;-)
you're using a one with atmel32u4 ?
No, M0 Adalogger, so it's the atsamd21, should run on 48MHz.
But even with a clock divider of 16 it wouldn't work.
I think there must be a hardware issue somewhere in the sketch.
Well I've not tried the sketch on another target than ATMega 328, what would be best to test your hardware interface, would be to test with a cheap 3V3 nano/arduino to connect your hardware with and launch example sketch. This will for sure indicate if your hardware is working well.
Alright, I ordered one of your boards. That way it's easier to see if it's a problem of the "simpler" arduino boards, or an assembly problem / change of sketch.
Did you check if VDD/DVDD shows 2.8V or 3.3V when connected with a "proper" Arduino?
I just found this project on tindie and I think I should order some ...
from the arduino library I can see that it is maybe only supporting temperatures grater than 0°C (?) in an exact way ?
(cause the RTD_C constant is not used ?)
It would be great to fix this (or maybe I can extend the library myself) for temperatures below 0°C
The formulas are quite simple, I found them here --> https://24max.de/elektronik/Pt100-Formulas.pdf
What to you mean by greater from 0°C, it works fine on my tests
But may be you meant lower than 0°C ? To be honest I didn't tested that one, I need to check, but I think it should works
I tried your breakout board with the same setup I used for mine, and it works. So it's not the software, and not the Arduino Feather board. Must be the difference in setup of the breakout board.
I solved an issue with the ground pin, so DVDD and VDD now both show 3.3V.
Further, I connected Force2 with Force+ instead of Ground (different to the diagram above), to adapt it to yours. Which doesn't change anything. It shouldn't be the difference in packaging, as SSOP takes less power than your TQFN. So the only difference I see are the two ferrite beads, which I don't use.
Which ones do you use? Or would you see a mistake I made with the assembly shown above?
- FB1 Filtering AVDD
- FB2 Filtering AGND
But you can bypass them, ie put a wire instead, should also work
Can you give me information (specs) about the SMD FB1 and FB2 ?
There is a Mouser or Digikey part number for this item?
the Mouser link was in my previous response but it's a 470 Ohm classic Ferrite Board
have a question about your nice project, can I use it also for a Raspberry PI 3B?
thanks Erik van Os
Hi Charles, would it be possible to connect more than one of these boards to a single arduino uno somehow? I just bought 3, and would just like to know if it would be possible to read temperatures from 3 x RTD's
Yes it's possible, each RTD board just need to have it own chip select pin (and led pin if you use it) all SPI pins can be shared (MOSI, MISO, SCLK), that the goal of SPI ;-)
Take care your Arduino MUST be only 3V3 because RTD boards are 3V3 only, if your arduino is 5V you need level shifter and with 3 RTD boards it will be a real pain....
@Charles - Thx for that...im using a arduino uno, and looks like its got 3V3, so I should be able to do it correctly using a breadboard, else ill just get logic level converters.
Take care, even if your Arduino Uno has a 3.3V pin available (fine to power RTD), all I/O need also to be full 3.3V (MOSI/MISO/CS/CLK) which may not the case. IT's better to have a full 3V3 Arduino (even at 8MHz)
I'm using this one that have a switch to pass full board to 5V or 3V3 https://www.seeedstudio.com/Seeeduino-V4.2-p-2517.html or just find on ebay Arduino Pro Mini 3.3V USB ;-)