08-09-2019 02:17 AM
We appear to be getting a small number of BNO055 parts (with firmware 0x0311) come through that will ultimately see the heading drift over an extended period of time. The application requires a stationary sensor to not exceed 20 degrees in any of heading, roll or pitch over 12 hours. No issues with roll or pitch. Only heading. We have been ensuring that sensors are calibrated prior to running our tests on these few problem sensors and that they have passed self-tests. The sensors are configured for NDOF operation mode (0x0C).
Is there more we need to be doing? Should we be monitoring the calibration status of each of system, mag, gyr and acc? Are there other register entries we should be monitoring? Is it possible to determine whether sensors are faulty at all? - this would be most useful prior to deploying them out into the field, something that does not require testing over an extended period of time (more than 10 minutes).
Thank you in advance.
08-13-2019 11:17 AM
Hi joshld,
Is there a way to log the data that you receive from the sensor? Would it be possible to share the log of one of the BNO055 that drifts in NDoF mode.
My hunch is that the magnetic field in the environment changes during this 12 hour period. The likelyhood that the heading drifts for a stationary sensor is otherwise very unlikely.
Regards,
kgoveas
08-15-2019 04:01 PM
08-16-2019 09:16 AM - edited 08-16-2019 09:19 AM
Hi kgoveas,
Here are two sample logs taken over the past 1+ hour - one of a good sensor and one of a bad.
In the logs I am printing out the following:
- current time and uptime of the device
- the current xyz data for each of accelerometer, magnetometer and gyroscope e.g. Ax=-5 Ay=973 Az=-53 Mx=-300 My=1574 Mz=-561 Gx=2 Gy=0 Gz=-3
- fw version, selftest result (register 0x36), main clock status (register 0x38), system status (register 0x39), system error (register 0x3A) e.g. v785 st=0F c=0 s=05 e=00
- current calibration status of each of the system (sc), gyroscope (gc), accelerometer (ac) and magnetometer (mc)
- absolute heading (in degrees) value calculated from the quaternion values e.g. QH=90.650
- heading, roll and pitch values (in degrees) which are calculated relative to an initial reading which occurred at 130 seconds into the test on the good sensor and 72 seconds on the bad sensor
As you can see from these logs, the releative heading angle is seen to drift by 10 degrees in just over an hour on the bad sensor whilst the good sensor has remained stable within 1 degree.
Thanks in advance.
08-16-2019 09:23 AM
Hi o_o,
That could explain why I have seen these calibration values to change at times when their operating environment has not changed at all.
Having said that, larger current draw from other modules (i.e. when powering up) on the board seem to correlate at times with some of these jumps. Possibly something to look into further?
Regards.
08-19-2019 07:53 AM
HI joshld,
Sorry for not being more specific earlier, would it possible to share the logs in a csv similar format?
Time, Ax, Ay,Az,Mx...
1234, 56, 67,78,...