### AN-1049: Calibrating iMEMS® Gyroscopes (Rev. 0) PDF

```AN-1049
APPLICATION NOTE
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
Calibrating iMEMS® Gyroscopes
by Harvey Weinberg
Gyroscopes are often used for inertial navigation or other
applications where high accuracy or stability is required. To
maximize performance, the gyros used in these applications
are generally calibrated and externally temperature compensated. This application note outlines a method for performing
calibration and temperature compensation.
CALIBRATION
If a gyro is used in a temperature stable environment (or if it
is kept at a constant temperature by means of a temperature
control system), a single temperature point calibration is
sufficient. To do this, simply bring the gyro up to the intended
operating temperature (allowing sufficient soak time) and
measure the null output voltage (V0).
To determine the scale factor (S), some method of applying
angular rate must be used (in general a rate table). Because the
ADXRS6xx series of gyros has very little nonlinearity, measure
the output at one rotational rate (preferably one near full scale).
The scale factor can then be calculated by
S = (VROTATING − V0)/Rate of Rotation
(1)
THREE-POINT CALIBRATION
Once temperature and null voltages are measured and the scale
factor is calculated at the three temperature points, it is convenient
to reduce the calibration data down to calibration coefficients
that can be applied to a general equation for temperature
compensation. There are several ways to do this. The method
outlined in this application note was arbitrarily chosen.
Define any gyro output parameter by the following equations:
(3)
2
(4)
VP2 = VP0 + a(VT2 − VT0) + b(VT2 − VT0)
where:
VP0 is a parameter value at the temperature sensor value
ambient temperature (VT0).
VP1 is the same parameter value at the temperature sensor
value (VT1).
VP2 is the same parameter value at the temperature sensor
value (VT2).
The a and b coefficients are described by Equation 5 and
Equation 6
Once V0 and S are known,
Angular Rate = (VGYRO − V0)/S
VP1 = VP0 + a(VT1 − VT0) + b(VT1 − VT0)2
(2)
TEMPERATURE COMPENSATION
a = (VP1 − VP0)/(VT1 − VT0) − b(VT1 − VT0)
(5)
b = [(VP1 − VP0)/(VT1 − VT0) − (VP2 − VP0)/(VT2 − VT0)]/
(VT1 − VT2)
(6)
Once the a and b coefficients are calculated, all parameters may
be expressed using the general equations previously presented.
If the gyro will be operated over a range of temperatures,
the best performance will be realized using temperature
compensation. The ADXRS6xx series of gyros incorporates
an on-chip temperature sensor to facilitate this.
Example
The calibration information required is similar to the single
temperature point method described previously except that
V0 and S must be measured at different temperature points.
In addition, the temperature sensor output (VT) must also
be recorded. Because the temperature performance of the
ADXRS6xx gyros is somewhat nonlinear, at least three temperature points should be used for compensation. Using more
temperature points results in improved accuracy and null
stability; however, the calculations become more complex.
A given gyro is measured at −40°C, +25°C, and +85°C. The test
results are shown in Table 1.
Table 1. Example Gyro Test Results
Output
Temperature (V)
Null (V)
Scale Factor (mV)
Using a 3 temperature point calibration, 250°/hour null stability
can be achieved with an ADXRS6xx. 40°/hour null stability
generally requires more than five points.
Rev. 0 | Page 1 of 2
−40°C
1.97777
2.34948
11.9081
+25°C
2.49699
2.35468
12.7440
+85°C
2.97868
2.34216
13.1951
AN-1049
Application Note
1.
Table 2. Definition of Terms
Term
V0
V1
V2
Vnull
VT0
VT1
VT2
VTEMP
S0
S1
S2
S
Definition
Gyro null output at ambient temperature (+25°C)
Gyro null output at Temperature Point 1 (−40°C)
Gyro null output at Temperature Point 2 (+85°C)
Gyro null output
Temperature output at ambient temperature
Temperature output at Temperature Point 1
Temperature output at Temperature Point 2
Temperature output
Gyro scale factor at ambient temperature
Gyro scale factor at Temperature Point 1
Gyro scale factor at Temperature Point 2
Gyro scale factor
Read the temperature output in volts. Determine the
calculated null at the actual temperature using Equation 9.
NULLcalc = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2
2.
Read the rate output in volts and calculate the null
temperature corrected rate output using Equation 14.
RATECORRECTED = RATEOUTPUT − NULLcalc
3.
4.
anull = (V1 − V0)/(VT1 − VT0) − b(VT1 − VT0)
(7)
(15)
For the example gyro presented previously at 85°C, if the rate
output is measured as 3.00 V, the actual angular rate is
calculated as follows:
The calculated null at 85°C is
NULLcalc = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2
bnull = [(V1 − V0)/(VT1 − VT0) − (V2 − V0)/(VT2 − VT0)]/
(VT1 − VT2)
(14)
Calculate the scale factor at the device temperature using
Equation 12.
Using the previous information, calculate the actual
angular rate using Equation 15
Angular Rate = RATECORRECTED/S
For this gyro the null output coefficients are show in Equation 7
and Equation 8.
(13)
(8)
(16)
NULLcalc = 2.35468 − 0.00866 × (2.97868 − 2.49699) −
0.03597 × (2.97868 − 2.49699)2
thus,
NULLcalc = 2.34216 V
anull = −0.00866
The corrected rate voltage at 85°C is
bnull = −0.03597
RATECORRECTED = RATEOUTPUT – NULLcalc
In this example, the null output of the gyro at any temperature
can be described by Equation 9
2
Vnull = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)
(9)
RATECORRECTED = 3.00 – 2.34216 = 0.65784 V
The calculated scale factor at 85°C is
Similarly, the scale factor coefficients are Equation 10 and
Equation 11.
S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2
ascale = (S1 − S0)/(VT1 − VT0) − b(VT1 − VT0)
(10)
bscale = [(S1 − S0)/(VT1 − VT0) − (S2 − S0)/(VT2 − VT0)]/
(VT1 − VT2)
(11)
(18)
S = 12.744 + 1.26056 × (2.97868 − 2.49699) – 0.6728 ×
(2.97868 − 2.49699)2
S = 13.1951 mV
Thus, the angular rate in degrees/second is
thus,
Angular Rate = RATECORRECTED/S
ascale = 1.26056
(19)
Angular Rate = 0.65784/0.0131951 = 49.85°/sec
bscale = −0.6728
CONCLUSION
This gyro’s scale factor at any temperature can be described by
the following equation:
S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2
(17)
(12)
CALCULATING TEMPERATURE COMPENSATED
ANGULAR RATE
Once the calibration coefficients are calculated, it is easy to
convert the gyro output to temperature compensated angular
rate data in degrees/second using the following four-step
process.
Temperature compensation of the ADXRS6xx series of gyros is
straightforward. Using a simple curve fit to calculate calibration
coefficients, only a minimum of calibration information must
be stored in NVRAM and calculation of the actual rate requires
only simple equations. A 3-point temperature calibration
corrects for null drift sufficiently to achieve 250°/hour null stability. Better null stability can be achieved using greater than
three calibration temperatures and more complex calibration
equations.