2017-11-28 05:27 AM
Hi all! I am trying to read temperature and pressure values (then, convert pressure to altitude) from MS5611 barometer using I2C interface with STM32F4. So far, I managed to read both temperature and pressure values. I can read the sensor calibration values, do the digital conversion (long enough delay for conversion to be completed) and second order temperature compensation. Hence, I get very good, responsive temperature readings.
The problem is pressure value is not as stable as temperature value. When I try to calculate the relative altitude using barometric formula, I get weird results. Such that, relative altitude value changes from 0 to 5-6 meters even if barometer is still. Moreover, when I move barometer up, pressure value increases (hence, relative altitude decreases), which is not possible .
So, what could be the reason for this problem? Should I apply some sort of digital filter?
My pseudo-code to is as follows:
pressure = readPressure()
start_altitude = measureAltitudeFromSeaLevel(
pressure
)while (1) {
pressure = readPressure()
current_altitude = measureAltitudeFromSeaLevel(
pressure
)relative_altitude = current_altitude - start_altitude
}
#i2c #stm32f4 #ms56112024-04-04 09:56 AM
I am having same problems. Did you find any solution?