AN-1049: Calibrating iMEMS® Gyroscopes

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

Once V0 and S are known,

Angular Rate = (VGYRO − V0)/S

Temperature Compensation

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.

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.

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.

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:

VP1 = VP0 + a(VT1 − VT0) + b(VT1 − VT0)2

VP2 = VP0 + a(VT2 − VT0) + b(VT2 − VT0)2

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 (VT1M/sub>).

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

a = (VP1 − VP0)/(VT1 − VT0) − b(VT1 − VT0)

b = [(VP1 − VP0)/(VT1 − VT0) − (VP2 − VP0)/(VT2 − VT0)]/ (VT1 − VT2)

Once the a and b coefficients are calculated, all parameters may be expressed using the general equations previously presented.


Example


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 −40°C +25°C +85°C
Temperature (V) 1.97777 2.49699 2.97868
Null (V) 2.34948 2.35468 2.34216
Scale Factor (mV) 11.9081 12.7440 13.1951
Table 2. Definition of Terms.
Terms Definition
V0 Gyro null output at ambient temperature (+25°C)
V1 Gyro null output at Temperature Point 1 (−40°C)
V2 Gyro null output at Temperature Point 2 (+85°C)
Vnull Gyro null output
VT0 Temperature output at ambient temperature
VT1 Temperature output at Temperature Point 1
VT2 Temperature output at Temperature Point 2
VTEMP Temperature output
S0 Gyro scale factor at ambient temperature
S1 Gyro scale factor at Temperature Point 1
S2 Gyro scale factor at Temperature Point 2
S Gyro scale factor

For this gyro the null output coefficients are show in Equation 7 and Equation 8.

anull = (V1 − V0)/(VT1 − VT0) − b(VT1 − VT0)

bnull = [(V1 − V0)/(VT1 − VT0) − (V2 − V0)/(VT2 − VT0)]/ (VT1 − VT2)

thus,

anull = −0.00866

bnull = −0.03597

In this example, the null output of the gyro at any temperature can be described by Equation 9

Vnull = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2

Similarly, the scale factor coefficients are Equation 10 and Equation 11.

ascale = (S1 − S0)/(VT1 − VT0) − b(VT1 − VT0)

bscale = [(S1 − S0)/(VT1 − VT0) − (S2 − S0)/(VT2 − VT0)]/ (VT1 − VT2)

thus,

ascale = 1.26056

bscale = −0.6728

This gyro’s scale factor at any temperature can be described by the following equation:

S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2

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.

  1. 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. Calculate the scale factor at the device temperature using Equation 12.
  4. Using the previous information, calculate the actual angular rate using Equation 15

    Angular Rate = RATECORRECTED/S

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

NULLcalc = 2.35468 − 0.00866 × (2.97868 − 2.49699) − 0.03597 × (2.97868 − 2.49699)2

NULLcalc = 2.34216 V

The corrected rate voltage at 85°C is

RATECORRECTED = RATEOUTPUT – NULLcalc

RATECORRECTED = 3.00 – 2.34216 = 0.65784 V

The calculated scale factor at 85°C is

S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2

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

Angular Rate = RATECORRECTED/S

Angular Rate = 0.65784/0.0131951 = 49.85°/sec

Conclusion

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.

作者

harvey-weinberg

Harvey Weinberg

Harvey Weinberg是ADI公司汽车事业部的技术专家。在过去的几年里,他一直从事与汽车相关的早期技术识别和开发工作,主要负责传感器方面的内容。他在ADI公司工作已有23年,曾先后任职MEMS惯性传感器应用工程部负责人和汽车事业部的系统应用工程经理。加入ADI公司之前,他曾担任过12年的电路和系统设计师,专门从事过程控制仪器仪表工作。他拥有加拿大蒙特利尔康考迪亚大学的电气工程学士学位。此外还拥有13项美国专利,范围涵盖了超声气流测量、惯性传感器应用和激光雷达系统等技术领域。