The issues encountered when reading and using BMI160

Jeff Liu_20693
Jeff Liu_20693 Altair Community Member
edited October 2023 in Community Q&A

Hi,

Continuing from the previous question, once again, thanks to Peter Darnell:

https://community.altair.com/community?id=community_question&sys_id=a4282346db322d50cfd5f6a4e2961916

I have two IMU on my board, MTi630 and BMI160, I use the MTi630 as a reference to compare the signals from the BMI160 to ensure their accuracy. It can be confirmed at present that the gyro and accelerometer values captured through the BMI160 are correct. The program that utilizes the accelerometer in some parts is as shown in the following diagram.

image

imageimage

imageimage

Before I started using the data from the BMI160, all the data from the BMI160 was normal. But when I use the data from the BMI160, as in the red-boxed area in the diagram below

image

Upon re-comparing the data between the MTi630 and the BMI160, I found significant anomalies in the BMI160 data.

imageimage

imageimage

I have tested it under the following conditions, and the above issue consistently arises.

  • The BMI160 data passes through a state chart
  • The BMI160 data passes through a lookup table
  • The BMI160 data undergoes multiplication operations, such as when coordinate transformations require multiplication by -1

There are no leads regarding the current issue, is it a programming problem, an I2C procedure problem, or a signal processing problem?

Thanks!

Jeff

Answers

  • Peter Darnell
    Peter Darnell
    Altair Employee
    edited October 2023

    Hi Jeff,

    How are you connected to the MTI630? ADC? SPI, I2C? If I2C, is it on the same unit or a different one?

    Without seeing your diagram, it is impossible to guess what the issue might be. I can give you a private email to send it to if you don't want to post it here.

    Interesting that your last plot of BMi160_Ay_double vs MTI630_freeAy matched pretty well. I wonder what is different about the Y axis?

    Cheers,

    Pete

  • Jeff Liu_20693
    Jeff Liu_20693 Altair Community Member
    edited October 2023

    Hi Jeff,

    How are you connected to the MTI630? ADC? SPI, I2C? If I2C, is it on the same unit or a different one?

    Without seeing your diagram, it is impossible to guess what the issue might be. I can give you a private email to send it to if you don't want to post it here.

    Interesting that your last plot of BMi160_Ay_double vs MTI630_freeAy matched pretty well. I wonder what is different about the Y axis?

    Cheers,

    Pete

    Dear Peter,

    MTi630 is connected by CAN, and I don't know why the acceleration of y axis hasn't been affected.

    Can you give me your private email? I'll send you my model.

    Thanks,

    Jeff