🐍 CircuitPython is the easiest way to program microcontrollers now celebrating over 200 boards!🐍
0

BNO055 quaternion data missing
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

BNO055 quaternion data missing

by nur92 on Tue Apr 06, 2021 2:22 am

Hello, currently I've been using BNO055 IMU sensor to measure the quaternion data of moving excavator. I put three sensor at bucket, arm and boom of the excavator. After getting the data, I found that there some data is missing. Does anyone know why the data is missing and how can I solve the problem? Thank you
missing data.PNG
missing data.PNG (16.69 KiB) Viewed 99 times

nur92
 
Posts: 4
Joined: Wed Jan 06, 2021 2:44 am

Re: BNO055 quaternion data missing

by adafruit_support_mike on Wed Apr 07, 2021 11:10 pm

Connection errors are always possible. There might be some noise on the data lines, or the request might come at a moment when the sensor isn't ready to answer.

It could also be a timing issue.. the BNO055 uses a method called 'clock stretching' to let the bus controller know it needs time to think. When the bus controller sends a signal with the BNO055's address, the BNO055 holds the SCL line low until it's ready to answer.

There's always a chance that a device stretching the clock will hang for an unreasonable amount of time, so the bus controller will give up after a certain amount of time. That timeout might be less time than the device needs to process an answer, so there's a chance that the microcontroller will give up before it gets a valid answer.

It's best to write code around the assumption that sensor readings will occasionally fail, and to have a fallback option when they do. That can be as simple as ignoring the attempt, or taking another reading, or can get complex with default values based on the recent data.

adafruit_support_mike
 
Posts: 62212
Joined: Thu Feb 11, 2010 2:51 pm

Re: BNO055 quaternion data missing

by nur92 on Thu Apr 08, 2021 2:47 am

Thank you for the reply. Is there any way I can solve the problem or is it possible to solve it?

nur92
 
Posts: 4
Joined: Wed Jan 06, 2021 2:44 am

Re: BNO055 quaternion data missing

by gammaburst on Thu Apr 08, 2021 4:34 pm

Difficult to help you with so little info.

Do you mean a real excavator, like many tons?

How often does the missing data occur? Does it happen to all three sensors? Does it occur only when the excavator is running/moving?

What type of microcontroller are you using? How have you connected *three* BNOs to it? Or are you using three controllers? What software/firmware are you using?

Have you assembled a similar system on your workbench, and does the same problem occur there?

Are you running long I2C wires out to the bucket? I2C isn't intended for long wire runs.
Also, you probably need very good wiring and soldering to withstand all that vibration.

gammaburst
 
Posts: 550
Joined: Thu Dec 31, 2015 12:06 pm

Re: BNO055 quaternion data missing

by nur92 on Thu Apr 08, 2021 7:20 pm

Hi. Thank you for the reply. Yes I put all three sensors in real excavator. The missing data not often happened. There is certain time the data is zero and does not occur at all three sensors. The missing data from the attached picture is from sensor that is attached at the arm of excavator. I think it occur during the excavator is moving. For the microcontroller, I've been using M5 stack atom which have ESP32. Each BNO connected with three M5 stack atom (as in the attached pictures). I program it with Arduino IDE. I also tried to run it from my workbench and the missing data sometimes occur sometimes not. I'm not running it with long wires.
Attachments
bno.PNG
bno.PNG (731.97 KiB) Viewed 68 times

nur92
 
Posts: 4
Joined: Wed Jan 06, 2021 2:44 am

Please be positive and constructive with your questions and comments.