Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMM150 sensor calibration, interrupt

    Jagath
    Member

    BMM150 sensor calibration, interrupt

    Hello,

    We are using BMM150 Magetic sensor for our project

    1. For BMM150 magnetic sensor is calibration is required before getting the data from sensor.
    2. How to do BMM150 sensor calibration ? please provide the source.
    3. We are able to get HIGH and LOW threshold interrupt for positive micro tesla value. How to get interrupt for negative values ?

    Thank you
    Jagath

    Tags (1)
    5 REPLIES 5
    BSTRobin
    Community Moderator

    Re: BMM150 sensor calibration, interrupt

    Hello Jagath,

    As you designed a project, you could contract with you distributor to sign license and apply for magnetic calibration algorithm.

    Jagath
    Member

    Re: BMM150 sensor calibration, interrupt

    Thanks for the reply.

    1. How to configure interrupt for negative x,y,z values because the threshold variable in the BOSH BMM150 driver file is "uint8_t low_threshold".
    2. We placed the sensor in ground but at different place and position we are getting different values. will the magnetic field will vary based on place and position or any calibration is required for sensor ?

     

    Thank you
    Jagath

    Tags (1)
    BSTRobin
    Community Moderator

    Re: BMM150 sensor calibration, interrupt

    Hello Jagath,


    There was BMM150 example code in github, you could refer and run it.
    https://github.com/BoschSensortec/BMM150-Sensor-API/blob/master/examples/generic/low_threshold/low_t...

    The magnetic field environment at different locations is different and needs to be calibrated. As you designed a project, it is better to contract with you distributor to apply for magnetic calibration algorithm. Magnetic calibration algorithm was provided as SW library.

    jorgazam
    Established Member

    Re: BMM150 sensor calibration, interrupt

    The low threshold example uses a 0x0A value, which corresponds to 10 in decimal, so 10*6 = 60 uT is the low threshold limit the example have set, but it doesn't specify whether it's a positive or a negative limit, or for which axis the limit is.

    /*! low threshold limit */
    uint8_t low_threshold;

    /*! high threshold limit */
    uint8_t high_threshold;

    Both low and high threshold limit are uint8_t, so I have the same problem. Have you figured out how to use a negative limit in order to get a interrupt?

    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