MPU 6050 isn't suitable but what is...

I need to track the movement of an arm on the Z axis over a 180 degree arc. If I run the stepper motors slowly the MPU-6050 is pretty accurate. If I run the arm at full speed (about 200 rpm) the Z errors make the MPU-6050 unusable. I understand that MPU-9250 has a built in magnetometer that will help with Z axis tracking but will it work at the rate of change required or is there a better choice?

I could always put an encoder on the stepper motor but for cost and other reasons, I would prefer to get a reliable gyroscope on the arm. Thanks.

Have you tried to change the scale of the accelerometers? By going from 2g to 200g you'll get range but lose sensitivity.

Thanks for the tip Idahoalker.

The example code I am using to experiment doesn't set the sensitivity so it must be on default. I will consult the docs and see what I can find. Thanks again....

The latency on IMUs is possibly an issue here, 200rpm is rather beyond the spin rates of most RC
planes/rotorcraft. What angular error is acceptable? What update rate are you using?

Thanks MarkT

The issue I am having is not latency because the errors never correct themselves. If I slowly move the sensor through 90 degrees and back it returns to zero (or whichever angle it started at) but if I move it quickly the error can be a jump of +- 15 degrees. It doesn't correct itself if left to settle, it just remains wrong. Even if I do a slow movement it just returns to the new zero.

I have ordered an MPU-9250 to try and see if the magnetometer makes a difference at higher rates of change. Perhaps this MPU-6050 is faulty/fake, I have never experimented with them before so I am learning as I go. Cheers.

Which "it" is having the issue?

Post your code in code tags.

I buy 3 to 5 MPU9250's to get one that works good. I buy one LSMDS9DS1 to get one that works good; knock wood that still holds true.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.