Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BMP180 datasheet

    Community Moderator

    Re: BMP180 datasheet

    I may not have completely understood your request. The source code of the function bmp180_get_pressure() shows an example of how to calculated the true barometric pressure, in C code. If your project uses Simulink as programming languange, then you could translate the C code provided as reference into Simulink code.

    New Poster

    Re: BMP180 datasheet

    Hi Carlo,

    I don't have a BMP180 to hand, but I've used the device in an embedded system. I was programming in C and used this open source project as a reference. I can't help you fix your method, but I can suggest another. Smiley Happy

    https://github.com/sparkfun/BMP180_Breakout_Arduino_Library/

    Which uses the floating point calcs found in this doc. 

    http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf

     

    Good luck and have fun.

    Cheers,

     

    Highlighted
    Community Moderator
    Community Moderator

    Re: BMP180 datasheet

    Hi Carlo, let me explain.

     

    In our pressure sensors, each device is calibrated at the factory and the trimming coefficients are stored in the register map. They are read in the bmp180_get_calib_param function, called automatically within bmp180_init.

    For each data point, you must trigger both temperature and pressure measurements, then call the API in this order:

    1. bmp180_get_uncomp_temperature
    2. bmp180_get_uncomp_pressure
    3. bmp180_get_temperature
    4. bmp180_get_pressure

     

    Point #3 is especially important, since the temperature is stored in an internal value that is used in the pressure calculation. This is also why you must read both temperature and pressure at the same time. (temperature can be sampled on its own, but pressure measurements require temperature compensation).

     

    The mathematical formulas are on page 15 of the datasheet, but the actual meaning of it is proprietary.

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist