05-11-2021 02:56 PM - edited 05-11-2021 02:57 PM
I am using the BNO055 for reading angular positions, velocities and accelerations.
While streaming data, I notice that I occassionally get the value -0.06 (for angular positions, velocities or accelerations, completely random and independent), which very clearly are outliers to the rest of the data. Of late, I have been receiving this datapoint more frequently.
Need help in understanding why the BNO055 outputs -0.06, and how it could be prevented/corrected.
Solved! Go to Solution.
05-13-2021 05:43 PM
Hi,
My data plot is sampled at 100Hz, while yours 10Hz. I think there may be some issues in your Arduino I2C reading. Please use a logic analyzer to monitor the I2C bus between your Arduino and BNO055 to see if there are some clock stretching issues. You should get smooth data from BNO055, not with many +/-0.06 spikes.
Thanks.
05-27-2021 03:08 PM
Hi,
Thanks for your support. I believe that the data is affected because of the length of the cable I am using. I noticed that I get good values with shorter cables, but with longer cables (>1 m), the data gets corrupted. I would re-confirm this experimentally and update this post with my findings.
06-03-2021 02:47 PM
Hi.
After testing, I confirm that the error was due to data distortion over long cables while using the i2c protocol.
I resolved the error by using an i2c bus extender circuit.
Thanks for the support and analysis.