Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 calibration data not reading correctly

    BNO055 calibration data not reading correctly

    Digisolve
    Established Member

    I'm working thru a calibration issue I have where the SYS CABIB status is always 0 even when the ACC, GYRO & MAG are all 3

    Looking closer at the offset data. After a POR everything is 0x00 except MAG radius (regs 0x69 & 0x6A which are 0xE0 & 0x01 resectively) which agrees with the datasheet

    I then put the BNO055 into DNOF mode (OPR_MODE = 0xC0).

    However, I found if I read the office regs for saving (after putting the BNO055 into CONFIG mode & waiting 30mS)  the MAG_RADIUS regs are 0x00 0x00

    So I wrote the following values into the offset & radius reg & read them back to ensure they wrote ok

    3 x ACC_OFFSET 0x0001

    3 x MAG_OFFSET 0x0002

    3 x GYR_OFFSET 0x0003

    1 x ACC_RADIUS 0x0004

    1 x MAG_RADIUS 0x0500

    then put the BNO055 into NDOF mode(OPR_MODE = 0xC0), await  10mS & switch back to CONFIG mode (OPR_MODE = 0x00), await 30mS then read the offset & redius regs back

    3 x ACC_OFFSET 0x0001

    3 x MAG_OFFSET 0x0002

    3 x GYR_OFFSET 0x0003

    1 x ACC_RADIUS 0x03E8

    1 x MAG_RADIUS 0x0000

    the ACC_RADIUS & MAG_RADIUS changed ? I would expect the MAG_RADIUS to be between 144 & 1280 (as stated in the data sheet)

    12 REPLIES 12

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Digisolve,

    Thank for your feedback.
    I thinkd you could use software tool to generate SIC matrix by yourself first.

    Digisolve
    Established Member

    I've now used the MagMaster to collect the data from the 16bit signed MAG_DATA X Y & Z (0x0E thru 0x13). How to I convert the calc vault to place in the SIC & where does each value go?

    CompassCall.png

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Digisolve,

    You could refer chapter 3.11.4:

    BNO055 soft iron calibration(SIC).png

     

    Multiply your floating-point matrix by the 14th power of 2 to get the matrix to be written into BNO055. Call this function to write SIC matrix.

    struct bno055_sic_matrix_t
    {
    s16 sic_0; /**< soft iron calibration matrix 0 data */
    s16 sic_1; /**< soft iron calibration matrix 1 data */
    s16 sic_2; /**< soft iron calibration matrix 2 data */
    s16 sic_3; /**< soft iron calibration matrix 3 data */
    s16 sic_4; /**< soft iron calibration matrix 4 data */
    s16 sic_5; /**< soft iron calibration matrix 5 data */
    s16 sic_6; /**< soft iron calibration matrix 6 data */
    s16 sic_7; /**< soft iron calibration matrix 7 data */
    s16 sic_8; /**< soft iron calibration matrix 8 data */
    };

    BNO055_RETURN_FUNCTION_TYPE bno055_write_sic_matrix(struct bno055_sic_matrix_t *sic_matrix);

    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