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. ©2009 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. AN08512-0-10/09(0) Rev. 0 | Page 2 of 2