Skip to main content
Visitor II
October 12, 2021
Solved

Has anyone seen fluctuations in the pressure reported by LPS22HB sensor?

  • October 12, 2021
  • 2 replies
  • 1699 views

In our application, the LPS22HB has ODR=1Hz. Every 10 seconds the pressure is read from the device and converted to millibars. The pressure is generally around 990 mbar, and data collection is done over hours of time. At random times, the pressure value will fluctuate +/- 15mbars around the mean value, with the fluctuations occuring over a span of 1000 seconds. Why would the sensor report data like this? The delta of 15mbar is much greater than the 0.1mbar accuracy shown in the datasheet.

    This topic has been closed for replies.
    Best answer by cjwilde
    Yes, the BDU bit is enabled. The values that we’re seeing are
    · 1007: 0x3EF000
    · 992: 0x3E0000
    · 991: 0x3DF000
    · 976: 0x3D0000
    I think your theory is promising. If our code reads the data before all three bytes have changed, then we would see the exact data values that are being recorded.
    Chuck Wilde
    408.914.8223
    NEOTech
    105 E Galena Suite 500
    Aurora, IL USA 60505

    2 replies

    Visitor II
    October 14, 2021

    Hi, is the temperature constant over time? You should check if there aren't components that periodically overheat during time, or if varying the acquisition time (e.g. synchronizing the ODR with the acquisition, every 1s) also the pressure fluctuation pattern varies.

    And is the pressure sensor and the board in a constant place?

    cjwildeAuthor
    Visitor II
    October 14, 2021

    JWu,

    The temperature is usually controlled in the environment, but it can range from -40C to +85C. I don't know the relationship between the temperature and the fluctuations. The pressure sensor is on a board that remains in a fixed location. The pressure fluctuation is always +/-15 mbars, although it can happen randomly. I attached a picture showing the data.

    This looks like some sort of auto calibration from the sensor. Since equal numbers of values above and below the actual value are reported, the fluctuations cancel out.

    Visitor II
    October 15, 2021

    Uhm... did you enable the BDU bit in CTRL_REG1 (10h) register? In this way the output registers not updated until MSB and LSB have been read. Maybe that jump comes from a misinterpretation of the pressure LSB data.

    cjwildeAuthorAnswer
    Visitor II
    October 15, 2021
    Yes, the BDU bit is enabled. The values that we’re seeing are
    · 1007: 0x3EF000
    · 992: 0x3E0000
    · 991: 0x3DF000
    · 976: 0x3D0000
    I think your theory is promising. If our code reads the data before all three bytes have changed, then we would see the exact data values that are being recorded.
    Chuck Wilde
    408.914.8223
    NEOTech
    105 E Galena Suite 500
    Aurora, IL USA 60505