Hi Folks,

We would like to measure rotations per minute (RPM) of a spinning toy globe. I am a sensor newbie. How can RPM be measured with mems gyros or accelerometers or their fusion ? How do we determine which way axis of rotation is tilted (our globe is not regular globe that is mounted on a fixed stand - rather the stand can move and tilt in any direction) ?

Can RPM be determined by reading gyro values in x, y,z directions and finding resultant vector ? Would magnitude of resultant vector give RPM and direction ?

Thanks in advance for the help, and knowledge.

I am very sorry about this but it appears like my original answer to this did not post. Many thanks for Venkat, who checked on this, which helped me figure this out.

1. Would I simply read x,y,z values of gyro and do a vector addition ? so the magnitude of resultant RPM would be Square root (gx*gx + gy*gy + gz*gz ) ?

NevadaMark>> I believe that this is the case

2. How would be determine axis of rotation in such a use case ?

NevadaMark>> I would use a rectangular coordinate approach, where the origin is one point and the second point on the vector is (x_gyro, y_gyro, z_gyro). Then, define the angles with respect to planes.

Theta_xy = arctan(x_gyro/y_gyro)

Theta_yz = arctan(y_gyro/z_gyro)

Theta_zx = arctan(x_gyro/z_gyro)

3. Per ADIS 16405 data sheet - gyro digital range scaling can be +/- 300 deg/sec - I am assuming this value refers to each of x, y and z direction individually. Is that right ?

NevadaMark>> Yes, that is true