Go Down

Topic: Is there a better 3-axis sensor than the MPU-6050 (Read 182 times) previous topic - next topic

OldFrank

Apr 20, 2019, 04:25 pm Last Edit: Apr 21, 2019, 01:27 am by OldFrank Reason: Edited to answer questions about the code I used
Hi,

I want to use Arduino with 3-axis sensor to build a device that detects a wheelchair tipping over and reacts accordingly. The event I need to detect is "passing 70° backwards inclination".
This event would then trigger a spring-activated cushion that jumps upwards and comes between the wheelchair user's head and the ground.
I experimented with the MPU-6050 connected to Arduino.
I found that it responds very accurately and promptly for sudden changes from 0° to 20-30°.
Sudden angle changes larger than 20-30° don't output the correct angle immediately.
After a sudden >45° angle change towards a fixed position, you see important overshoot, followed by stabilization phase towards correct angle. This takes about 0.5 second. Youtube videos of MPU-6050 with output values displayed on analog meters show similar behaviour.
Such an overshoot would give me false positives with angles well below 70°.  
Given that
- a lot of work has been done in the MPU-6050 Arduino driver logic, my conclusion is that the problem I see could be a limitation of the hardware e.g. the MPU-6050.
- When doing similar experiments with a Wii remote or with a high-end smartphone, I understand that I see better output behavior (= faster to the correct angle and no overshoot) for the same experiment.  
- I'm prepared to pay more than the €0.50 - €1.00 price of the MPU-6050 if that would give  better hardware with better performance.

Questions are
- Any suggestion to bring the MPU-6050 up to the performance level that I need?
- Which angle-detecting device would be the Next-better-thing compared to the MPU-6050?
- Any such device out there with Arduino drivers available?

Update related to code:
I didn't write any code, I just used a Arduino MPU-6050 library that many people seem to reference to: (Gy521_send_serial.ino) that I downloaded from http://www.geekmomprojects.com/gyroscopes-and-accelerometers-on-a-chip/
I didn't want to post code since I didn't write any code. Sorry for not mentioning the code I used and the source.



jremington

The problem is in your code, which you forgot to post. See the "How to use this forum" post for instructions.

MorganS

The 6050 should be good enough. The code is probably the problem.

Sparkfun has a range of different IMU chips - all with Arduino libraries - if you want to switch. I've used the LSM9DS1 successfully.
"The problem is in the code you didn't post."

Power_Broker

Adafruit's BNO055 is really nice and easy to use compared to the 6050
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Go Up