Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    How to detect crash using BMI 323?

    How to detect crash using BMI 323?

    gunbu99
    New Poster

    hello

    I'm trying to detect crash using bmi 323.

    I used anymotion feature but it doesn't work as I thought

    I think when crash occurs, imu's accelerometer may be 4g.  

    therefore I set registers below

     

    // use feature engine

    FEATURE_IO2 = 0x012C

    FEATURE_IO_STATUS = 0x0001

    FEATURE_CONTROL = 0x0001

    // normal mode on

    ACCL_CONF = 0x42a8 //acc_mode = normal mode, bw : odr/4, acc_range : 8g, acc_odr :100Hz

    GYRO_CONF = 0x0000

    // any motion setting

    EXT_ANYMO_1 = 0x1800 // acc_thres : 4g

    FEATURE_IO0 = 0x0038 // any motion x,y,z int enable

    FEATURE_IO_STATUS = 0x0001

    // interrupt

    INT_MAP1 = 0x0004 // interrupt mapping, any motion out: INT1

    IO_INT_CTRL = 0x0005 // INT1 active high, push-pull, enable

    GEN_SET_1 = 0x0011 // event report mode enable, interrupt hold time duration : 40ms

     

    it doesn't work. there's no interrupt while I swing board with imu

    if acc_thres is under 10/512g, interrupt happen

    I don't understand why this works like that

    plz help me. I want to detect crash using  bmi 323

     

    6 REPLIES 6

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Thanks for your inquiry.

    In your code you did not configure BMI323 accel slope (any-motion) interrupt threshold. Please refer to Github example at https://github.com/boschsensortec/BMI323_SensorAPI/blob/main/examples/any_motion/any_motion.c for more information.

    Thanks.

    sorry but I don't get it

    in EXT.ANYMO_1 register, I set slope_thres as 4g and in INT_MAP1 register, I set anymotion out

    plz refer me what register you said. 

    thanks

    FAE_CA1
    Community Moderator
    Community Moderator

    Hi,

    Yes, you did set the threshold to 4g, I did not see it. Sorry.

    Let me try your settings on BMI323 shuttle board to see if any-motion interrupt works or not. I will get back to you later.

    Thanks.

    As I said, interrupt happens when I set slope_thres as 10/512g in EXT.ANYMO_1.

    I just don't understand why bmi323 is working like that.

    I think that if slope_thres is 10/512g, interrupt happens even though it shake a very little. but in actual situation, interrupt happens when I swing it very hardly.

    plz answer and explain how anymotion works.

    that's the point I don't understand.  

    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