Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BHI260AP & BMM150 Measurement Performance

    BHI260AP & BMM150 Measurement Performance

    hfozturk
    Member

    Hello,

    What I Did

    I am using BHI260AP & BMM150 together with nRF52840. I upload Bosch_APP30_SHUTTLE_BHI_aux_BMM150.fw.h and the am using the API on GitHub (SHA 5b26dc4802f500f75e1086c2a156e3ecf800560c → Last Commit Before v1.4.1).

    1) After I upload the firmware I register the fifo callbacks:

    hfozturk_0-1676872187450.png

    2) Then set the virtual sensor configuration:

    hfozturk_2-1676872427236.png

    For the values:

    •  sample_rate              = 20 Hz

    •  report_latency_ms = 0

    3) To get the measurements and activate callbacks, I call the bhy2_get_and_process_fifo function with a uint8_t array of size 2048 as argument. This call occurs with a frequency of 20Hz.

    My Problem

    I do not experience a problem on obtaining the correct data at lower rotational speeds or sending it over BLE, but I have 2 problems on the performance of these measurements:

    1-When I rotate the sensor around its yaw axis, I observed that ~3 degrees of drift occurs with every full rotation. Measurements do not drift when the module is stationary.

    2-I take the measurement at a specific position, then take the module and rotate it arbitrarily. When I place the module again at the same specific position, illogically distant measurements are coming from it.

    Therefore, my question is that how can I improve the consistency of my measurements. I tried using higher frequencies for both reading the fifo and sensor sample rate. I also tried using "Geo-magnetic rotation vector wake up" sensor, since geo-referenced rotation data would be better for me. However, these do not seem to be working and I could not manage to obtain consistent measurements.

    Thank you for your time.

    7 REPLIES 7

    Hi BSTRobin,

    Turns out problem was due to axis mismatch between sensors. I fixed it by implementing the necessary rotations to measurements as you have shared in your answer, benefiting BHI260AP Datasheet, sections 13.3.2.6 - 13.3.2.7 - 20.3.

    Thank you for your support during the process.

    BSTRobin
    Community Moderator
    Community Moderator

    Welcome, hfozturk.

    gher
    New Poster

    Hello hfozturk,

    I am working with the same sensors but with nRF52832. I was wondering what libraries you used to create your code and was also wondering if you used the BSXLite Integration guide for it?

    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