Hello, I have been working with the BMP388 pressure sensor recently. I have the need to calculate height using the measured pressure and temperature. I have two units (DUT1 and DUT2), they are both configured to have the following BMP388 settings:
I have also read and applied the trimming coefficients in the BMP388's NVM. With that I calculated the conpensation values for both temperature and pressure. However, my two DUT's do not seem to be yielding similar results.
The compensated temperatures look close enough, but the pressure is showing a distinct difference. My next guess is prehaps the read trimming coefficiencts are incorrect. I see some small differences that can be the result of factory calibration, but pressure parameter 1 seems to be off quite abit from DUT1 to DUT2. I was wondering if the read values for the trimming coefficients look reasonable in comparison to factory calibration.
Thanks for any assistance,
Have you compare the two uint pressure value calculated by API? What's the result?
I use my formular with two units nvm_par, input same uncompensated pressure and temperature, pressure difference <100Pa.
So please check your formular.
Hi Yanchao, thanks for the help.
I did review the API here https://github.com/BoschSensortec/BMP3-Sensor-API/blob/master/bmp3.c,
I worked with this source to develop similar functions for my hardware. I also used the following post's attached exel sheet to check my calculations.
I think I can use this sheet to calculate the expected compensated pressure and temperature. I did calculation checks for each unit, below are the results.
After review it looks like the units match up with their expected values. Is it okay to use this sheet as verification for the compensation values?
Yes, I also use this sheet to convert sensor's raw data to pressure/temperature.
And when pressure finished soldering and assembling, stress will lead to pressure offset. You need check with reference pressure sensor to calculate this offset.