Altitude drift - barometer issue - DPS3100 - Control Zero OEM - AC 4.1.4 and 4.1.5

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 probably have a parameter issue?

Have you used Barometer Temperature Compensation — Copter documentation and did some of the steps incorrectly?

Can you follow that and see if it corrects the issue?

1 Like

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.

Does the temperature calibration require a gps fix?

No, it does not require a GPS fix. But it does require no air movement. No open or closing of doors. And a stable weather. If the weather changes too much it will probably bork the calibration.

1 Like

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.

1 Like

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.

Could the EKF3 cause this issue?

I found these topics, I think these might be similar issues:

Please post .bin file. And start considering the possibility that your hardware is defective.

1 Like

Thank you for the answer and commitment!

I will post the log files (I have tlogs and bin logs from flights with different units) in 3 hours (I currently can not access them) and I will provide more details on the issue.

I consider a hardware defect, but that would concern at least 3 units. They are all showing the behavior, some more, some less.

I have now an external BM280 connected an this barometer is quite stable. Also while the temperature of the internal barometer is rising constantly, the BM280s temperature stays quite stable.

image

image

image

After a reboot:
image

Log files:
https://drive.google.com/drive/folders/1s91_WA2OPoNgKz_6_jt5vmmbq?usp=sharing

I think now you are right the barometer is defective.

I have a new idea, could it be that I accidentally deleted the calibration data within the bootloader because I did hit flash bootloader at some point during the configuration?

I’m seeing some similar weird behavior with the mRoControlZeroOEMH7. Did you just determine that the barometer on this autopilot is unreliable? Any other findings?

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.