Bosch Sensortec Community

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

    Nicla Sense - BHI260 - Is calibration affected by the dynamic range?

    Nicla Sense - BHI260 - Is calibration affected by the dynamic range?

    sebp
    New Poster

    Hello,

    I want to know, if the calibration is affected by the settings of the dynamic range of a sensor.

    If I calibrate the Accel/Gyro/Magnetometer with the default settings/range, and after that I change the range, are the sensors still calibrated and is the accuracy still valid?

    If I set the dynamic range to the lowest value and at calibration sometimes overflows/saturation occurs, will that prevent/affect the calibration?

    What is the preferred way to calibrate the sensors with a low dynamic range (high sensitivity)?

    Are there other settings that affect calibration?

    5 REPLIES 5

    BSTRobin
    Community Moderator
    Community Moderator

    Hi sebp,

    Generally, the range of the sensor is pre-configured without change. I would like to know what your application scenario is, and you need to set the range dynamically?

    I want to monitor an experiment. The experiment is placed inside a box which floats in a round pool of water. The box rotates slowly with about 360° per minute. I need to know the absolute orientation and rotation speed of the box. So I thought the best settings are: 2 g range for the accelerometer und 125 °/s range for the gyroscope. I am not planning to change the dynamic range of the magnetometer.

    I don't want so set the range dynamically. It it set once at startup.

    BSTRobin
    Community Moderator
    Community Moderator

    Hi sebp,

    You could refer the following code to modify sensor range.
    In bhi2.c file, bhy2_set_virt_sensor_range() function support to set sensor range.
    int8_t bhy2_set_virt_sensor_range(uint8_t sensor_id, uint16_t range, struct bhy2_dev *dev)

    To set sensor range, you could call bhy2_set_virt_sensor_range() in begin().
    BoschSensortec.cpp
    bool BoschSensortec::begin()
    {
    ...
    bhy2_set_virt_sensor_range();
    ...
    }

    BSTRobin,

    yes, I already did that. And it seems to work.

    But that doesn't answer my questions...

    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