Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to measure orientation with IMU sensor on handheld product

Status
Not open for further replies.

eepty

Full Member level 2
Joined
Oct 21, 2005
Messages
143
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
2,611
First I am not sure if this question is properly to be asked in this category, I am sorry if it is not.

I am working on a project which use an IMU (accelerometer + gyroscope) sensor to detect the movement of a handheld product. I do not need an accurate measurement because I only need to detect whether a person is holding the product or place in rest position. I have created two prototypes for testing. One with the ADXL345 accelerometer, another one with the MPU6050 (accelerometer + gyroscope) sensor.

I know that solely the accelerometer can be used to detect the orientation of the product by measuring the gravity direction when there is no other force applied to the product. This is probably when the product is placed at rest state when power on the product. However I encountered a problem that as my application is a handheld product, when it is switch on, the product can be not in a rest state. In another words, when I power on the product, there may be hand movement force with the gravity force. As such I can not measure the orientation.

As I cannot measure the orientation, I also cannot reduce the gravity force from the accelerometer reading.

Any idea how to solve the issue? Thank you very much.

Another thing is when I test with the MPU6050 DMP, the "roll" and "pitch" in "yaw,pitch,roll" is correct immediate after I switch on it. However the DMP real(reduced gravity) accelerometer reading is not stable in this moment. How can the "roll and pitch" is correct if the accelerometer reading is not stable?

Thank you very much.
 

If the device is not in its rest postion when it is powered on, you should be able to detect that. You can have stored values of what the static measurements are, and then compare those values to the power-on values to determine what the device is doing. In other words, at rest the z-axis should measure 1g, and the x and y axes should measure 0 g. If you see something else, it's not at its rest position; it might be moving or it might just be tilted.
 

you could read the current state and then read it again a short time later, both the gyro and the accelerometer will be changing as I don't think a persons stillness could match the sensitivity of the device. A good place to ask these questions is on the Arduino forum under the sensors section.

"How can the "roll and pitch" is correct if the accelerometer reading is not stable?"
I don't see how it can be. How do you determine that the DMP reading is not stable, and how do you determine that the pitch is correct. I mean how do you measure that?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top