Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMM150 auto calibration

    BMM150 auto calibration

    Ashwath
    New Poster

    Hi

      We are using BMM150 in our stepper motor application. We want to find the find the true  North from BMM150 and rotate the stepper motor. We found that BMM150 Values get affected due to stepper motor permanent magnets. Also we kept the i-phone / android phone and checked the compass results. 

    1. We did not found any effect of permanent in case of i-phone / android phone compass. Phones are periodically doing auto calibration. How to do that with BMM150.  
    2. Is BMM150 giving the true north or magnetic north?. How to get the true north using GPS data.

    Please give us some light to move forward 

    Thanks and best regards 

    Ashwath

    7 REPLIES 7

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Thanks for your inquiry.

    BMM150 is a 3-axis magnetometer. With a few full figure-8 like rotations in 3D space BMM150 data will be sitting on the surface of a sphere or a ellipsoid. Then you can develop or search for an algorithm to do auto-calibration and determine the three offsets of BMM150 x/y/z respectively. Then you can apply these offsets to future BMM150 data which means that this will bring the shifted sphere or ellipsoid to the origin. Then you can obtain the heading angle with respect to earth magnetic north by using atan(y/x) formula. This assumes that BMM150 only rotates on a flat or leveled platform. If BMM150 is tilting during operation, then you need a 3-axis accelerometer to work with BMM150 to get accurate heading.

    Bosch BNO055 is a 9-axis sensor with sensor fusion algorithm running inside. It has BMM150 inside and it can do auto calibration for BMM150. When you choose eCompass mode or NDOF mode, BNO055 will directly output heading angle at 100Hz sampling rate. More details can be found online at https://www.youtube.com/watch?v=Bw0WuAyGsnY. If you need lower current consumption then you can consider BHI260AP + BMM150 two-chip solution.

    There is a declination angle between magnetic north and geographic north (or true north). This angle is different at each location on earth. With the help of GPS you should be able to find out this angle at your current location. Then you can add or subtract this angle from the heading angle output of BMM150 with respect to magnetic north to get the heading with respect to true north.

    Thanks.

    Hi Team 

    We are able to get BMM150 Data properly when we have a open evniroment. Our device will be installed near power line. In this case we are seeeing that direction/ Heading not accurate and difference is huge (like 90 deg to 180 deg). Please let us know how to solve this issue 

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Power line has high current flow that will generate changing magnetic field. If BMM150 is near power line, then it may experience soft-iron magnetic interference. Now you are able to get BMM150 x/y/z data correctly. You can rotate your device slowly in 3D space randomly like Figure-8 motion. You can collect BMM150 data at 25Hz for 30 seconds. Then you can plot BMM150 x/y/z data in 3D space to see if you get a tilted ellipsoid or not. If yes, then it confirms that there exists soft-iron distortion. This means that you need to BMM150 soft-iron calibration to get correct heading angle.

    Please refer to https://www.youtube.com/watch?v=cGI8mrIanpk for more information about how to calibrate a magnetometer.

    Thanks.

    We have done calibration still its not working. As home electricity load increases, heading value come different at the same possition. for example initially heading was 140, as we increase the electricity load we have seen heading 120, 109 etc. . But sensor not moved. 

    Please let us know what else we can do reduce the magnetic effect from power line.  

    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