I’m facing the next issue with my mRo Control Zero OEM. There are no stable and reliable barometer readings. The barometer is extreamly influenced by the temperature and even on the desk it will rise to 3 or even 100 m altitude while the press_temp rises and the press_abs is sinking (all values from #ground-control-software:mission-planner )
I do not use it. I have tested it (in order to mitigate the issue) but the calibration it not change the correction value. I will try again.
I also updated my mRo x2.1-777 autopilot from 4.0.7 to 4.1.5 and now there is also a barometer drift. With 4.0.7 the barometer was very stable on the desk, jumping around 0 with ±0.2 m. Now there is a clear drift to positive values.
The calibration does not work. It counts the temperature exponential up to 2 and then stops. The next boot the altitude goes below zero.
Could it be that the drift happens because of a temperature change during the startup calibration? I can clearly see that not the absolute pressure changes but only the temperature and that this effects the altitude readings.
During the calibration the real ambient pressure must not change, and the temperature should increase.
That way the changes in the measured ambient pressure can be attributed to the temperature change, and later this temperature dependency can be “calculated-out” producing a barometric reading that is temperature independent.
This only works if during the calibration there are no real barometric changes!
And yes, the temperature must increase. One way of making sure that happens is to put the board in the refrigerator before performing the calibration.
I think the issue is, that the temperature of the barometer is rising and then the altitude readings are rising without any pressure change.
If I touch the barometer casing and there by cool down the unit (I can see this from the temperature values displayed in Mission Planer, the temperature reaches more than 70°C and touching it cooles it significantly) the altitude readings are changing (towards a lower altitude) without a pressure change (the pressure reading stays constant).
I could not fix this by using the TCAL_BARO_EXP parameter. I think that I need it the other way round, I need a altitude which is not compensated for temperature. Or the unit is defective. But I have several units which are affected by this problem.
The TCAL_BARO_EXP parameter is a single value which defines the exponential function which corrects the altitude from pressure calculation.
I need to set it to 1.95 and after a while to correct the value to 1.91 and then correct it again to get values near 0 m. I guess the initial pressure measured is already wrong and therefore this correction does not work.
I think my barometer is faulty but with all the other boards and 4.1.5 the altitude (during low altitude flying) is less stable than before. I do not know whether that is an issue of the barometer or a feature of the new firmware.