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