(November 15, 2010) — Jay Esfandyari, Roberto De Nuccio, Gang Xu, STMicroelectronics, introduce how MEMS gyroscopes work and their applications, the main parameters of a MEMS gyroscope with analog or digital outputs, practical MEMS gyroscope calibration techniques, and how to test the MEMS gyroscope performance in terms of angular displacement.
The significant size reduction of multi-axis MEMS gyroscope structures and their integration with digital interface into a single package of a few square millimeters of area at an affordable cost have accelerated the penetration of MEMS gyroscopes into hand-held devices.
MEMS gyroscopes have enabled exciting applications in portable devices including optical image stabilization for camera performance improvement, user interface for additional features and ease of use, and gaming for more exciting entertainment. Further applications such as dead reckoning and GPS assistance that require high sensitivity, low noise, and low drift over temperature and time are on the horizon.
Here, we discuss the methods and techniques of quickly getting meaningful information from a MEMS gyroscope in terms of angular velocity and angular displacement measurements.
MEMS gyroscope introduction
MEMS gyroscopes are making significant progress towards high performance and low power consumption. They are mass produced at low cost with small form factor to suit the consumer electronics market.
MEMS gyroscopes use the Coriolis Effect to measure the angular rate, as shown in Figure 1.
Figure 1. Coriolis effect. |
When a mass (m) is moving in direction v→ and angular rotation velocity Ω→ is applied, then the mass will experience a force in the direction of the arrow as a result of the Coriolis force. And the resulting physical displacement caused by the Coriolis force is then read from a capacitive sensing structure.
Most available MEMS gyroscopes use a tuning fork configuration. Two masses oscillate and move constantly in opposite directions (Figure 2). When angular velocity is applied, the Coriolis force on each mass also acts in opposite directions, which result in capacitance change. This differential value in capacitance is proportional to the angular velocity Ω > and is then converted into output voltage for analog gyroscopes or LSBs for digital gyroscopes.
When linear acceleration is applied to two masses, they move in the same direction. Therefore, there will be no capacitance difference detected. The gyroscope will output zero-rate level of voltage or LSBs, which shows that the MEMS gyroscopes are not sensitive to linear acceleration such as tilt, shock, or vibration.
Figure 2. When angular velocity is applied. |
MEMS gyroscope applications
MEMS gyroscopes can measure angular velocity. Digital cameras use gyroscopes to detect hand rotation for image stabilization. A yaw rate gyroscope can be used in cars to activate the electronic stability control (ESC) brake system to prevent accidents from happening when the car is making a sharp turn. And a roll gyroscope can be used to activate airbags when a rollover condition happens.
A yaw rate gyroscope can be used in cars to measure the orientation to keep the car moving on a digital map when GPS signal is lost. This is called car dead-reckoning backup system.
The yaw rate gyroscope can also be used for indoor robot control.
Multiple inertial measurement units (IMUs) can be mounted on arms and legs for body tracking and monitoring.
The IMU can also be used for air mouse application, motion gaming platforms and personal navigation devices with the integration of magnetometer and GPS receiver.
Understanding the major parameters of MEMS gyroscopes
Power supply (Volts): This parameter defines the gyroscope operating DC power supply voltage range.
Power supply current (mA): This parameter defines the typical current consumption in operation mode.
Power supply current in sleep mode (mA): This parameter defines the current consumption when the gyroscope is in sleep mode.
Power supply current in power-down mode (uA): This parameter defines the current consumption when the gyroscope is powered down.
Full scale range (dps): This parameter defines the gyroscope measurement range.
Zero-rate level (Volts or LSBs): This parameter defines the zero rate level when there is no angular velocity applied to the gyroscope.
Sensitivity (mV/dps or dps/LSB): Sensitivity in mV/dps defines the relationship between 1dps and the analog gyroscope’s output voltage change over the zero-rate level. For digital gyroscopes, the sensitivity (dps/LSB) is the relationship between 1LSB and dps.
Sensitivity change vs. temperature (%/°C): This parameter defines when temperature changes from 25°C room temperature, how the sensitivity will change in percentage per °C.
Zero-rate level change vs. temperature (dps/°C): This parameter defines, when temperature changes from 25°C, how the zero-rate level will change per °C.
Non linearity (% FS): This parameter defines the maximum error between the gyroscope’s outputs and the best fit straight line in percentage with respect to full scale (FS) range.
System bandwidth (Hz): This parameter defines the angular velocity signal frequency from DC to the built-in bandwidth (BW) that the analog gyroscopes can measure.
Rate noise density (dps/√Hz): This parameter defines the standard resolution for both analog and digital gyroscopes that one can get from the gyroscopes’ outputs together with the BW parameter.
Self-test (mV or dps): This feature can be used to verify if the gyroscope is working properly or not without physically rotating the printed circuit board (PCB) after the gyroscope is mounted on the PCB.
Calibrating a MEMS gyroscope
Gyroscopes are usually factory tested and calibrated in terms of zero-rate level and sensitivity. However, after the gyroscope is assembled on the PCB, due to the stress, the zero-rate level and sensitivity may change slightly from the factory trimmed values.
For applications such as gaming and remote controllers, one can simply use the typical zero-rate level and sensitivity values in the datasheet to convert gyroscope measurement to angular velocities.
For more demanding applications the gyroscope needs to be calibrated for new zero-rate level and sensitivity values and other important parameters such as:
- Misalignment (or cross-axis sensitivity)
- Linear acceleration sensitivity or g-sensitivity
- Long term in-run bias stability
- Turn-on to turn-on bias stability
- Bias and sensitivity drift over temperature
- Getting rid of zero-rate instability
The gyroscope output can be expressed as Equation 1.
Rt = SC × (Rm – R0) (1)
Where,
Rt (dps): true angular rate
Rm (LSBs): gyroscope measurement
R0 (LSBs): zero-rate level
SC (dps/LSB): sensitivity
In order to compensate for turn-on to turn-on bias instability, after the gyroscope is powered on, one can collect 50 to 100 samples and then average these samples as the turn-on zero-rate level R0, assuming that the gyroscope is stationary.
Due to temperature change and measurement noise, the gyroscope readings will vary slightly when the gyroscope is stationary. It is necessary to set a threshold Rth to zero the gyroscope readings if the absolute value is within the threshold as shown in Equation 2. This will get rid of the zero-rate noise so that the angular displacement will not accumulate when the gyroscope is stationary.
ΔR = (Rm – R0) = 0 if |(Rm – R0)| < Rth (2)
Every time the gyroscope is stationary, one can sample 50 to 100 gyroscope datum and then average these samples as new zero-rate level R0. This will eliminate the zero rate in-run bias and small temperature change.
After the zero-rate instability has been taken care of from the above steps, then Equation (1) becomes
Rt = SC × (Rm – R0) = SC × ΔR (3)
So the next step will be to determine the sensitivity SC in Equation 3 by using a reference system.
It should be emphasized that the MEMS gyroscope sensitivity usually is very stable over time and temperature and this calibration is needed only for high-sensitivity applications as mentioned above.
Using a rate table to determine gyroscope sensitivity
Because gyroscopes can measure the angular rate directly, the rate table is a perfect reference to calibrate the gyroscope sensitivity.
An accurate rate table includes a built-in temperature chamber and sits on a vibration isolation platform so that the rate table is not sensitive to environment vibration during calibration.
One can mount the hand-held device in an orthogonal aluminum cube or plastic box and then mount the whole system on the rate table for calibration. Control the rate table to spin at two different angular rates clockwise and counterclockwise. For multi-axis gyroscopes, put the orthogonal box at different orientation on the rate table and repeat the above process. After collecting the gyroscope raw data in different situations, the zero-rate level, sensitivity, misalignment matrix and g-sensitivity values can be determined.
Another option is a step motor spin table to calibrate the gyroscope. The spin table can be programmed and controlled by a PC.
Using a digital compass to determine gyroscope sensitivity
The other option is to use a digital compass to calibrate the gyroscope if there is no rate table available.
Before gyroscope calibration, the digital compass needs to be calibrated for tilt compensation and operate on a table without surrounding magnetic interference field. Then combining digital compass relative heading information and gyroscope output data at constant sampling time interval, the gyroscope sensitivity can be calibrated as shown in Equation 4.
H(n) = H(1) + h × SC × n/∑/i-1 ΔR(i) (4)
Where,
n: samples collected
h: sampling time interval.
H(1): initial electronic compass heading
H(n): the new compass heading at nth sample
SC (dps/LSB): gyroscope sensitivity
ΔR(i): gyroscope output data after removal of zero-rate level and dead zone at ith sample
Equation 4 can be rewritten as:
H = SC × G (5)
Where,
Then from Equation 5, one can get the SC based on Least Square method.
SC = [GT × G]-1 × GT × H (6)
Figure 3 shows the plot of compass relative heading change in degrees and the gyroscope angular displacement after integration in degrees.
Figure 3. Compass relative heading and gyroscope angular displacement |
In Figure 3, one can see that the compass relative Heading change (red) and the gyroscope angular displacement (blue) have perfect linear relationship. By applying Equation 6, one can obtain the gyroscope sensitivity calibration parameter.
Testing a MEMS gyroscope
After gyroscope calibration, the last step is to test the performance of the gyroscope to understand how to obtain meaningful angular displacement information from the gyroscope raw data.
Test 1: When gyroscope is stationary. When gyroscope is not rotating, the gyroscope output raw data should be around the zero-rate level and the gyroscope heading after integration should be always 0°.
Test 2: When gyroscope is rotating full round clockwise. After sampling 30 to 50 samples of the gyroscope raw data as the new zero-rate level offset, rotate the gyroscope clockwise 90°, and then another 90°, till full round 360°. The plot is shown in Figure 4. The peak of each 90° rotation gyroscope raw data is different showing that the angular velocity is slower or faster. But the error of the final angular displacement is only about 0.6°.
Figure 4. Single axis gyroscope rotating full round clockwise. |
Test 3: When gyroscope is rotating full round counterclockwise. After sampling 30 to 50 samples of the gyroscope raw data as the new zero-rate level offset, rotate the gyroscope counterclockwise 90°, and then another 90°, till full round 360°. In this case the angular velocity polarity is positive other than negative in Figure 4.
Conclusion
Advances in MEMS technology and processes have led to low-cost, high-performance MEMS gyroscopes with lower power consumption and smaller size, enabling new exciting applications in handheld devices.
MEMS gyroscopes are calibrated during the characterization and qualification process. They do not require re-calibration for most applications. However, for complex and demanding applications such as navigation and dead reckoning, re-calibrate the zero-rate level and sensitivity after the gyroscope is mounted on the PCB is recommended.
References
1. STMicroelectronics MEMS gyroscopes Presentation, http://www.st.com/stonline/domains/support/epresentations/memsgyroscopes/gyros.htm
2. STMicroelectronics MEMS gyroscope Portfolio: LY330ALH, L3G4200D, http://www.st.com/stonline/products/families/sensors/gyroscopes.htm
Jay Esfandyari received his Master’s degree and Ph.D. in EE from the University of Technology in Vienna and is MEMS product marketing manager at STMicroelectronics, 750 Canyon Dr., Coppell, TX, 75019; (972) 971-4969; [email protected].
Roberto De Nuccio received his Master’s degree in Telecommunication engineering in Milan / Italy and is business development manager at STMicroelectronics.
Gang Xu received his Ph. D from Shanghai Jiao Tong University and senior application engineer at STMicroelectronics.
Follow Small Times on Twitter.com by clicking www.twitter.com/smalltimes. Or join our Facebook group
Is the “sensitivity” parameter determined by calibration settings? I have a 3D Gyro which passes the 3D Gyro self test but the sensitivity levels are not within specification. The self test basically takes the difference from the zero rate level and change in angular velocity from each axis.
My theory is since the self test is manipulating the internal component to move it would not catch a defect related to sensitivity.