Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMA456 tilt compensation

    BMA456 tilt compensation

    jhhead
    New Poster

    Ask: BMA456 can measure the accurate static tilt angle when the z-axis is horizontal, but the z-axis is tilted, that is, the x-axis rotates, and the value of xy also has errors. Is there a way to eliminate the interference of the z-axis?

    7 REPLIES 7

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Thanks for your inquiry.

    BMA456 is a 16-bit high performance 3-axis accelerometer. It outputs x/y/z acceleration signed integers as raw data. You can convert the raw data to the values in the unit of g by multiplying the sensitivity parameter to the signed integers.

    In order to get accurate static tilt angle measurements, there are two steps. The first step is one time calibration at 6 stationary positions such as x-up, x-down, y-up, y-down, z-up and z-down. Then you can determine the calibration parameters and save these parameters in your MCU's flash memory for future use. The second step is calculating the tilt angle by applying the calibration parameters to every BMA456 raw data to get calibrated values in the unit of g and using the formula. Please refer to the article at https://www.nxp.com/files-static/sensors/doc/app_note/AN3461.pdf for more information about the calibration and formula.

    Thanks.

    Thank you, I am sure the calibration has been completed, but I found that when the z-axis is tilted, the output change ratio of the x and y axes is inconsistent, making it still impossible for me to perform high-precision measurements.

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    The calibration parameters include cross-axis sensitivity for xy, xz, yx, yz, zx and zy. This means that when z axis is tilted, the final calibrated acceleration values of X, Y and Z axes should be still accurate for you to get the precise tilt angle values, where X/Y/Z axes are device body axes, not the BMA456 x/y/z axes.

    If possible, please provide detailed examples and data for this issue including calibration parameters, BMA456 raw data and final calibrated values.

    Thanks.

    I did a 6-point calibration of the device according to the an-1057.pdf, but it's not clear if the cross-axis sensitivity is included.

    maybe i did something wrong

    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