Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMM150 Z value not correct

    BMM150 Z value not correct

    Myzhar
    Established Member

    Hi,
    I'm using a BMM150 as auxiliary sensor of a BMI270.
    The communication works correctly, but I get weird data for the Z axis.

    Debugging the sensor API I noticed that the `compensate_z` function always returns `BMM150_OVERFLOW_OUTPUT` because `dev->trim_data.dig_z2` is always ZERO.

    How is this possible?

    Thank you
    Walter

    12 REPLIES 12

    Myzhar
    Established Member

    I just noticed, debugging the Bosh API, that the function `compensate_z` always returns `BMM150_OVERFLOW_OUTPUT` because `trim_data.dig_z2` is zero...

    How can this be possible? Does this mean that the initial trimming has failed?

    Furthermore performing a self test after initialization I get the following errors:
    Normal test: `BMM150_W_NORMAL_SELF_TEST_XZ_FAIL`
    Advanced test: `BMM150_W_ADV_SELF_TEST_FAIL`

    Thank you
    Walter

    The normal self-test is a continuity check. If indeed the normal self-test has failed, the most likely cause is damage to the sensor. The sensing elements are very close to the edge of the package, and using metal tweezers can chip the silicon and cut the sensing coil.

    o_o

    Myzhar
    Established Member

    This is scaring since the PCB I'm using comes from production manufacturer, but it could explain a lot of things.

    Does a chip damage explain also the zero value for Z2 trim data?

    Hello Myzhar,

    the Z2 parameter is a signed integer. Zero is a possible value, that would not indicate a failure. What is the failure rate? Do you have multiple failing parts?

    o_o

    sebmadgwick
    Established Member

    We have been using the BMM150 in production for a few years now.  We had to make a special effort to overcome initial poor yields.  Even minor superficial damage to the package may cause it to fail.  A device will typically fail completely but we have observed other failure modes such as single axis failure, failure after a period of time (minutes), or otherwise unreliable measurements.

    Physical damage can result in a whole range of unexpected behaviour. It seems reasonable to expect this to include apparent corrupted register values.

    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