I was using MPU6050 as an inclinometer but it is having very high noise and after using it is switched to MPU9250 but that doesn't worked as expected even if I use these with kalman and complementary filters
I am attaching the diagram to illustrate that what I actually need to measure (ELEVATION)
But with MPU6050 even 1 degree error is leading to an error of 14mm and I need max error of 0.14mm(0.01 deg), Kindly suggest what IMU to use for it to measure angle with this much accuracy dynamically as I will be measuring angle while the device is moving forward with 1m/s approx
#include "MPU6050_light.h" // Retrieve accelero and gyro data from MPU6050. Compute X and Y tilt angles of the device.
float i =mpu.getAngleY();
float elev = 900 * sin(i * M_PI / 180); // using basic trigonometry to calculate Elevation
so much confused between BMI323, BNO086, BNO055 or I should some kind of inclinometers but then I am getting confused by their dynamic performance reviews
Kindly suggest me the best IMU, Inclinometer or anything that could help me to measure in such a way
Carefully calibrate the accelerometer, following the six point approach or much better, this advanced approach, then average several hundred readings before calculating the tilt angle.
The accelerometer must be held still for measurements. Any movement violates the assumption that the measured acceleration value points directly towards the Earth's center, and the resulting systematic error cannot be corrected by any filter.
IMUs capable of measuring 3D orientation to +/- 0.01 degree accuracy in a dynamic environment start at around $50,000 US, and are typically used in commercial and military flight controllers.