I built an Arduino Due based quadcopter, with MPU-6050 for auto levelling and BMP-085 for Altitude.
I am using Kalman filter code from here for the MPU-6050 to take the Roll and Pitch angels from the sensor.
The Roll and Pitch angels are correctly read while the quadcopter motors are off, but when the motor speed increased the angels start to be more inaccurate.
As shown in the following photos (where I took different speed motors to show the effects of the motor vibration on the MPU readings). These tests were taken while the quadcopter on the ground.
Motor speeds vary from 0 to 180 so I choose (50,100, and 150).
My sensors are fixed on a breadboard over a plastic surface with anti-vibrator rubber balls as shown in my quadcopter pictures.
My problem is that the controller I designed is very sensitive to these vibrations, is there any way to reduce these vibrations as minimum as possible.