Hi, so I'm trying to build a drone with an Arduino as Speedcontroller. On the drone I have an Arduino uno, 2 mpu6050's and a hc-12 wich is read out by a Arduino nano wich then send the data to the Uno over an I2C bus.
When I connect the Uno to the computer and not turn on the motors everything seems to work fine. Even if I let the motors spin at 20% (the drone lifts up at about 26%) and move the drone myself everything works fine, the drone tries to stabilize and the data from the mpu6050's is perfectly fine. But when I spin the motors at 27%+ the angles calculated are totally wrong. The data from the gyroscopes from both the mpu6050's seems fine but the data from the accelerometers is bad, they all give -32769.
This seems like an overflow of an 16bit number. But they are doubles which are supposed to have a 64bit precision. The values are not supposed to be that high anyway...
When I change TWBR to 12 I get +32769 ...
If someone know how to fix this I would love to hear it
(btw I soldered the sensors on, I don't use those crappy jumperwires)