kriswiner / MPU9250

Arduino sketches for MPU9250 9DoF with AHRS sensor fusion
1.04k stars 470 forks source link

CJMCU MPU9250 periodically "falls off" #114

Open TediumRemedy opened 7 years ago

TediumRemedy commented 7 years ago

Hi Kris, I was wondering if you ever experienced problems with the board stopping responding to i2c messages after some time of operating?

Occasionally after some time has passed, the i2c functions start returning errors. This happens even more often if i touch the pins of the board with fingers (but even not touched over time it stops working). To resume operating I have to either reininialize the MPU (I do this by resetting the microcontroller), or even power down/power up the sensor board (in case simple reinitialization doesn't help).

Currently I am planning to "automate" these things when i2c errors happen (i.e., connect board's power to a GPIO pin so i can turn it off/on, and also call initialization routine). But this is a hack.

I suppose this is not normal, and the board should return data indefinitely without i2c functions ever returning any errors?

I have added 4k pullup resistors to sda-vcc and scl-vcc (the original board didn't have any). I also checked that the pin 1 of the mpu chip is connected to the vcc on the board.

Thanks

kriswiner commented 7 years ago

No, not really. This sounds like a connection integrity problem, or an MCU buffer or cycle count problem, or a pc side problem. I doubt it has anything to do with the MPU9250 itself.

In my experience the first two letters of CJMCU stand for crappy junk...

On Sun, Feb 5, 2017 at 3:33 AM, TediumRemedy notifications@github.com wrote:

Hi Kris, I was wondering if you ever experienced problems with the board stopping responding to i2c messages after some time has passed?

Occasionally after some time has passed, the i2c functions start returning errors. This happens even more often if i touch the pins of the board with fingers. To resume operating I have to either reininialize the MPU (I do this by resetting the microcontroller), or even power down/power up the sensor board (in case simple reinitialization doesn't help).

Currently I am planning to "automate" these things when i2c errors happen (i.e., connect board's power to a GPIO pin so i can turn it off/on, and also call initialization routine). But this is a hack.

I suppose this is not normal, and the board should return data indefinitely without i2c functions ever returning any errors?

I have added 4k pullup resistors to sda-vcc and scl-vcc (the original board didn't have any). I also checked that the pin 1 of the mpu chip is connected to the vcc on the board.

Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kriswiner/MPU-9250/issues/114, or mute the thread https://github.com/notifications/unsubscribe-auth/AGY1qtfzQfrVflWEiDSu-u5g8wwkcHx2ks5rZbOMgaJpZM4L3eK6 .

TediumRemedy commented 7 years ago

Thanks