Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4000

Troubleshooting • Reading BNO055 Accelerometer Data

$
0
0
I have a BNO055 fixed to a flat board where I want to detect and monitor small tilts being made (so am only interested in the pitch and roll).

Specifically, the BNO005 is

https://thepihut.com/products/adafruit- ... -qt-qwiic

I am getting very noisy data returns when trying to read from the unit and wondered if this is normal?

Data is read using c# and the dotnet.iot library from here;

https://github.com/dotnet/iot/blob/main ... /README.md

Debug information from the unit is
Id: 0, AccId: 251, GyroId: 15, MagId: 50
Firmware version: 3.17, Bootloader: 21.0
Temperature source: Gyroscope, Operation mode: AccelerometerMagnetometerGyroscopeRelativeOrientation, Units: AccelerationMeterPerSecond
Powermode: Normal
AccelerometerGyroscope operation mode set to AccelerometerGyroscopeRelativeOrientation
SelfTest result: AcceleratorSuccess, MagentometerSuccess, GyroscopeSuccess, McuSuccess
BNO055 initialized with I2C address 40 on bus 1.
The unit is flat and level on the underside of the surface at this point. The device is returning as being calibrated too.

Example of the returned results (when level and nothing is moving at all) are;

Code:

Pitch:1.311003329338388E-05, Roll:-0.0006801123577782064.Pitch:-0.00030876634011857765, Roll:-0.0009765858109662684.Pitch:-1.3017185860001584E-06, Roll:-0.0009416831901154499.Pitch:-1.5750324904237334E-06, Roll:-0.0009068064887187699.Pitch:1.4090054485275255E-05, Roll:-0.0009416831901154499.Pitch:-1.2068458998086562E-06, Roll:-0.0009416845990686262.Pitch:-1.2068458998086562E-06, Roll:-0.0009242464496492797.Pitch:-8.885399088493298E-06, Roll:-0.0009242464496492797.Pitch:1.3639286078392932E-05, Roll:-0.0009591227484881948.Pitch:-1.0284046798141044E-06, Roll:-0.0008370530859251879.Pitch:-6.450063751717305E-07, Roll:-0.0009591227484881948.Pitch:-1.3856476798815298E-06, Roll:-0.0009068101153597574.Pitch:1.3468531264482914E-05, Roll:-0.0009591239585746703.Pitch:-9.953581993227961E-07, Roll:-0.0009765629167344247.Pitch:-1.6326266453691243E-05, Roll:-0.000959124564827496.Pitch:-0.00032876034615711425, Roll:-0.0009242448394171099.Pitch:-0.00032051956036573126, Roll:-0.0009591227484881948.Pitch:-1.6628771001052367E-05, Roll:-0.0009416845990686262.Pitch:-1.2068458998086562E-06, Roll:-0.0009765608979075413.
Do these results look ok? I have looked implemented removing outliers and moving avergaes etc, but this then reduces the detection of small changes in the pitch and roll?

Does anyone have any ideas on how to improve this whilst being able to detect small tilts in the planes?

Statistics: Posted by mfit — Mon Feb 17, 2025 10:07 am



Viewing all articles
Browse latest Browse all 4000

Trending Articles