After some crashes, the X-Y gyro started to give wrong values, I've made this video:
https://www.youtube.com/watch?v=kVbhHbRXSS4 (the blue line represents the X gyro).
Apparently I can't see any physic damage. I've noticed that if I put my finger over the gyro chip it reacts giving high values. Maybe I broke it with the electrostatic charge of my hands...
Another problem I have is the analog readings of the battery, they are not accurate (~0.3V of error). I found the source of the problem: I measured the voltage the ArduPilotMega transmits to the IMU and it's only 4.65V so all analog readings are referenced from 0 to 4.65V instead of 0 to 5V (I power the board with an external battery, not usb cable). Without the IMU shield the ArduPilotMega gives the same voltage. The voltage of the external battery is 5.01V.
Firmware tested: latest ArduPilot and ArduCopter versions downloaded from mission planner.
Sorry for my bad English :(
Today I've received a new APM, the gyro is ok but I have the same problem with the analog readings... :( I'm using another arduino as an OSD, I think I'll use it to measure the analog values, but I prefer to measure them on the APM and send them through serial port to the OSD.
Can anyone measure the VCC of the board? (for example: the VCC in the telemetry port) Thanks!
To get proper readings I had to add the following to APM_Config.h:
#define INPUT_VOLTAGE 4.69
And also I had to adjust VOLT_DIV_RATIO for each analog input (this is caused by the tolerance of the resistors).
This is the response I got from diydrones store support:
I've re-flowed the gyro and now the IMU shield works well! I hope this may help more users.
Diydrones store support is great, they answered extremely fast. Thanks!