03-12-2024 11:27 AM - edited 03-12-2024 02:43 PM
I am attemting to use the BMP581 to measure height change but it seems that changes in temperature of the sensor is having a massive effect on the pressure readings.
I am using the sensor in the form of the sparkfun bmp581 breakout board and interfacing via I2C.
startup procedure:
reading device id at register 0x01 gives a value of 0x50
reading register 0x28 gives a value of 0x02
reading int status register 0x29 gives a value of 0x10
write register 0x36 with value of 0x60 to set press_en=1, osr_p=16x, osr_t=1x
write register 0x37 with value of 0x5d to set power_mode=normal, odr=10hz
read procedure:
burst read six bytes starting at register 0x1d
temperature =bytes[0-2]/65536
pressure=bytes[3-5]/64
here is a graph of temperature(bottom) vs pressure(top) over time when i placed my finger on the back of the breakout board to apply heat and then released to allow it to cool.
the bmp581 is supposed to have an absolute pressure accuracy of +-30pa
is my sensor faulty or am I doing something wrong?
any help would be greatly appreciated
03-14-2024 02:01 PM - edited 03-14-2024 02:37 PM
Hello Lucas,
It is likely that, in pressing your finger on the back of the board, you are inducing mechanical stress / deformation on the board which can corrupt the pressure measurement.
Sections 7.1.2 to 7.1.10 of BMP5xy HSMI (bosch-sensortec.com) show some guidelines on avoiding mechanical stress on the sensors. We'd recommend using (gentle) warm air to heat the BMP581 to see if this reduces the pressure variations you are seeing.
03-14-2024 05:16 PM
Hello MrjT,
Thank you for bringing this to my attention. I will definitly take this into consideration for my design, but I have confirmed that my sensor was faulty.
I just tested a new bmp581 sensor with the same code and the performance was impressive.
The sensor could reliably detect height changes of around 10cm and seemed to be compensating well for temperature changes.
04-07-2024 09:54 AM
Hi lucas_allen,
As mentioned by MrjT, the BMP5xy HSMI document states the need to avoid mechanical stress and heat sources.
Additionally, if you still feel that your sensor is faulty, you can confirm it with your supplier. If you purchased the sensor from an official distributors or sales representatives , they will inspect it based on your stock.