09-22-2020 05:41 PM
Hello,
i am using some BMI085 on i2c with the following configurations:
ACCEL_RANGE = 4G
ODR=50Hz
BW=12Hz
I recognized in our application, that the accelerometer values x,y,z get stuck for 2 or 3 readout (read every 20ms) and sometimes even several 100ms. This happens in every second and it does not matter if i read out interrupt driven (NEW_DATA_INT) or with not configured interrupt.
I did not configured any FIFO.
I can not figure out why this happens, but it happens with all 4 BMI085 chips i have available in 2 different HW devices.
I tried also the BMI08x-Sensor_API-master from 30.06.2020, to take out possible bugs from my application software, but there it is even worse. The 3 axis show constant values for ~1.1seconds. This means i get only every ~1.1second new data, but need to have it at least with 50Hz.
So i extended the read of the x,y,z axis by reading the 3 next bytes holding the sensortime. The sensortime is changing by every read, so this should not be a i2c problem.
In the attached screenshot you see in the columns from left to right:
1 time
2 accel_x_raw
3 accel_y_raw
4 accel_z_raw
5 sensortime_byte_1
6 sensortime_byte_2
7 sensortime_byte_3
Do you have any ideas how this behavior is possible and how to solve it.
Best regards,
Jens
09-22-2020 05:55 PM
Hi,
Thanks for your inquiry.
Could you please let us know how you configure the accel of BMI085? Did you see new data interrupt signal on the INT pin with 50Hz pulses? We will use your configurations to test BMI085 on our eval. board to see if we see the same accel data getting stuck issue or not.
Thanks.
09-23-2020 08:42 AM
Hi,
thank you very much for your quick response.
In my main application i get the interrupt triggered continously every 20ms. The interrupt works fine.
As written above the config for the accelerometer is this:
ACCEL_RANGE = 4G
ODR=50Hz
BW=12Hz
Would it be helpful, if i send you my test project that i created from your BMI08x-Sensor_API-master sources (this is not interrupt driven)?
How can i send this to you?
Best regards,
Jens
09-23-2020 05:27 PM
Hi,
You can upload or attach your project into the community. We will take a look at it.
Thanks.
09-23-2020 05:32 PM
Hi,
attached you find the zipped project.
The user functions for init, read and write i2c are in the subfolder "common". At the moment the device is set to "/dev/i2c-1".
The "main()" is located in the "read_sensor_data.c" which is also from the API bundle.
Thank you very much for your help!
Best regards,
Jens