I have a recurring problem with the MPU6050 chips.
The problem is: when I try to calibrate the MPU6050, certain axes (mostly by 80% of the parts either AccZ and/or GyroZ) deliver an uncalibrated values at either extremes of the range of [-32768/+32767]. And the calibration will not be able to budge the axis from this state, it stucks there.
I use a modified version of the MPU calibration routine by Luis Rodenas (based on the I2C lib of Jeff Rowberg). I modified it to see the single step results, and it is clearly visible that axes which have such a saturated "reset value" will fail to converge.
Interestingly I had devices, which - when I applied a starting offset bringing it close to 0, like +32000 if the start vaue was -32768 - started to work somehow, at least the values went back to a lower negative and I could see some change of values when I moved the board. But it was not easily reproducible. But it led me to the conclusion that with some luck it's not the devices which are bad.
I have now the third run of an Arduino Compatible board featuring an MPU6050 accelero- and gyro sensor. The first 2 runs had bad yield due to the MPU, at that time I had a serious discussion with my production hub about PCB assembly steps which might run the MPU. Now, after looking at each and every facet of the assembly process and having gone through the manual several times, I'm quite confident, that it is not the mounting which ruins the sensor. Manufacturing is according to the spec of the device in every imaginable sense.
As I buy my components mostly from DigiKey and some from other, smaller sources, but all sources produce the same problem, I conclude that either the chips are fine or Invensense has a major spill going on for months now (which I again do not believe, otherwise they would be out of buseiness by now).
What could be the explanation of this problem?
I appreciate every help!