TransWikia.com

Complementary filter in MPU_6050 is giving me the wrong answer when the system is accelerating

Engineering Asked by Bananamaths on March 1, 2021

So I am using a complementary filter to find the attitude in my quadcopter, doing the following

$$text{angle} = 0.98cdot (text{angle}+text{dt}cdot text{angle_rate})+0.02cdot text{accelerometer_angle}$$

Now the problem is that the angle is wrong when my system(quadcopter) is accelerating, do you know how to solve the problem, or it is normal not to get accurate values when accelerating even if one is using the complementary filter?

One Answer

I have scrolled through the data sheet of this device, and first things first: never expect accurate values from a device that costs like 5 euro. looking at you equation, I think you are calculating the angle by effectively integrating the gyro value. Since integrating a sensor value is not an accurate estimation (because noise), the angle measured from the accelerometer could compensate for this deviation. This means that if the device is hovering statically, the angle saturates to the value of the accelerometer angle. The accelerometer calculates the angle using the gravitational acceleration (which it measures). However, the accelerometer also measures any other force acting on the system and that causes your accuracy problem.

The solution to an issue like that is hard, increasing the weight of the accelerometer improves estimation at constant velocities. decreasing it prevents measurement offsets when accelerating.

However, the sensor seems to have a couple tricks for you to use (DPM and noise filtering), so if you havent already, you might to check these.

Correct answer by Petrus1904 on March 1, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP