ADIS16445 Data Sheet
Rev. F | Page 18 of 22
CALIBRATION
The mechanical structure and assembly process of the ADIS16445
provide excellent position and alignment stability for each sensor,
even after subjected to temperature cycles, shock, vibration, and
other environmental conditions. The factory calibration includes a
dynamic characterization of each gyroscope and accelerometer over
temperature and generates sensor specific correction formulas.
GYROSCOPES
The XGYRO_OFF (see Table 30), YGYRO_OFF (see Table 31),
and ZGYRO_OFF (see Table 32) registers provide user-
programmable bias adjustment function for the x-, y-, and
z-axis gyroscopes, respectively. Figure 20 illustrates that they con-
tain bias correction factors that adjust to the sensor data imme-
diately before it loads into the output register.
xGYRO_OFF
xACCL_OFF
MEMS
SENSOR
ADC
FAC
T
ORY
CALIBRA
TION
AND
FIL
TERING
xGYRO_OUT
xACCL_OUT
1
1051-020
Figure 20. User Calibration, Gyroscopes, and Accelerometers
Gyroscope Bias Error Estimation
Any system level calibration function must start with an estimate
of the bias errors, which typically comes from a sample of gyro-
scope output data, when the device is not in motion. The sample
size of data depends on the accuracy goals. Figure 7 provides a
trade-off relationship between averaging time and the expected
accuracy of a bias measurement. Vibration, thermal gradients,
and power supply instability can influence the accuracy of this
process.
Table 30. XGYRO_OFF (Base Address = 0x1A), Read/Write
Bits Description (Default = 0x0000)
[15:0] X-axis, gyroscope offset correction factor,
twos complement, 0.0025°/sec/LSB, 0°/sec = 0x0000
Table 31. YGYRO_OFF (Base Address = 0x1C), Read/Write
Bits Description (Default = 0x0000)
[15:0] Y-axis, gyroscope offset correction factor,
twos complement, 0.0025°/sec/LSB, 0°/sec = 0x0000
Table 32. ZGYRO_OFF (Base Address = 0x1E), Read/Write
Bits Description (Default = 0x0000)
[15:0] Z-axis, gyroscope offset correction factor,
twos complement, 0.0025°/sec/LSB, 0°/sec = 0x0000
Gyroscope Bias Correction Factors
When the bias estimate is complete, multiply the estimate by
1 to change its polarity, convert it into digital format for the
offset correction registers (see Table 30, Table 31, and Table 32),
and write the correction factors to the correction registers. For
example, lower the x-axis bias by 10 LSB (0.025°/sec) by setting
XGYRO_OFF = 0x1FF6 (DIN = 0x9B1F, 0x9AF6).
Single Command Bias Correction
GLOB_CMD[0] (see Table 19) loads the xGYRO_OFF registers
with the values that are the opposite of the values that are in
xGYRO_OUT, at the time of initiation. Use this command, to-
gether with the decimation filter (SMPL_PRD[12:8], see Table 28),
to automatically average the gyroscope data and improve the
accuracy of this function, as follows:
1. Set SENS_AVG[10:8] = 001 (DIN = 0xB901) to optimize
the xGYRO_OUT sensitivity to 0.0025°/sec/LSB.
2. Set SMPL_PRD[12:8] = 0x10 (DIN = 0xB710) to set the
decimation rate to 65,536 (2
16
), which provides an averaging
time of 80 seconds (65,536 ÷ 819.2 SPS).
3. Wait for 80 seconds while keeping the device motionless.
4. Set GLOB_CMD[0] = 1 (DIN = 0xBE01) and wait for the
time it takes to perform the flash memory backup.
ACCELEROMETERS
The XACCL_OFF (see Table 33), YACCL _OFF (see Table 34),
and ZACCL_OFF (see Table 35) registers provide user pro-
grammable bias adjustment function for the x-, y-, and
z-axis accelerometers, respectively. These registers adjust the
accelerometer data in the same manner as XGYRO_OFF in
Figure 20.
Table 33. XACCL_OFF (Base Address = 0x20), Read/Write
Bits Description (Default = 0x0000)
[15:0] X-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB, 0 g = 0x0000
Table 34. YACCL_OFF (Base Address = 0x22), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Y-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB, 0 g = 0x0000
Table 35. ZACCL_OFF (Base Address = 0x24), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Z-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB, 0 g = 0x0000
Accelerometer Bias Error Estimation
Under static conditions, orient each accelerometer in positions
where the response to gravity is predictable. A common approach
is to measure the response of each accelerometer when they are
oriented in peak response positions, that is, where ±1 g is the
ideal measurement position. Next, average the +1 g and −1 g
accelerometer measurements together to estimate the residual
bias error. Using more points in the rotation can improve the
accuracy of the response.
Data Sheet ADIS16445
Rev. F | Page 19 of 22
Accelerometer Bias Correction Factors
When the bias estimate is complete, multiply the estimate by
−1 to change its polarity, convert it to the digital format for the
offset correction registers (see Table 33, Table 34 or Table 35),
and write the correction factors to the correction registers. For
example, lower the x-axis bias by 12 LSB (3 mg) by setting
XACCL_OFF = 0xFFF4 (DIN = 0xA1FF, 0xA0F4).
Point of Percussion Alignment
Set MSC_CTRL[6] = 1 (DIN = 0xB446) to enable this feature
and maintain the factory default settings for DIO1. This feature
performs a point of percussion translation to the point identified
in Figure 21. See Table 24 for more information on MSC_CTRL.
ORIGINALIGNMENT
REFERENCE POINT
SEE MSC_CTRL[6].
11051-021
Figure 21. Point of Percussion Physical Reference
FLASH UPDATES
When using the user calibration registers to optimize system
level accuracy, set GLOB_CMD[3] = 1 (DIN = 0xBE04) to save
these settings in nonvolatile flash memory. Be sure to consider
the endurance rating of the flash memory when determining how
often to update the user correction factors in the flash memory.
RESTORING FACTORY CALIBRATION
Set GLOB_CMD[1] = 1 (DIN = 0xBE02) to execute the factory
calibration restore function, which resets the gyroscope and accel-
erometer offset registers to 0x0000 and all sensor data to 0. Then, it
automatically updates the flash memory and restarts sampling and
processing data. See Table 19 for information on GLOB_CMD.
ADIS16445 Data Sheet
Rev. F | Page 20 of 22
ALARMS
Alarm 1 and Alarm 2 provide two independent alarms with
programmable levels, polarity, and data sources.
STATIC ALARM USE
The static alarms setting compares the data source selection
(ALM_CTRL[15:8]) with the values in the ALM_MAGx registers
listed in Table 36 and Table 37, using ALM_MAGx[15] to deter-
mine the trigger polarity. The data format in these registers
matches the format of the data selection in ALM_CTRL[15:8].
See Table 41, Alarm 1, for a static alarm configuration example.
Table 36. ALM_MAG1 (Base Address = 0x40), Read/Write
Bits Description (Default = 0x0000)
[15:0] Threshold setting; matches for format of
ALM_CTRL[11:8] output register selection
Table 37. ALM_MAG2 (Base Address = 0x42), Read/Write
Bits Description (Default = 0x0000)
[15:0] Threshold setting; matches for format of
ALM_CTRL[15:12] output register selection
DYNAMIC ALARM USE
The dynamic alarm setting monitors the data selection for a
rate-of-change comparison. The rate-of-change comparison is
represented by the magnitude in the ALM_MAGx registers over
the time represented by the number-of-samples setting in the
ALM_SMPLx registers, located in Table 38 and Table 39. See
Table 41, Alarm 2, for a dynamic alarm configuration example.
Table 38. ALM_SMPL1 (Base Address = 0x44), Read/Write
Bits Description (Default = 0x0000)
[15:8] Not used
[7:0] Binary, number of samples (both 0x00 and 0x01 = 1)
Table 39. ALM_SMPL2 (Base Address = 0x46), Read/Write
Bits Description (Default = 0x0000)
[15:8] Not used
[7:0] Binary, number of samples (both 0x00 and 0x01 = 1)
ALARM REPORTING
The DIAG_STAT[9:8] bits provide error flags that indicate an
alarm condition. The ALM_CTRL[2:0] bits provide controls
for a hardware indicator using DIO1 or DIO2.
Table 40. ALM_CTRL (Base Address = 0x48), Read/Write
Bits Description (Default = 0x0000)
[15:12] Alarm 2 data source selection
0000 = disable
0001 = XGYRO_OUT
0010 = YGYRO_OUT
0011 = ZGYRO_OUT
0100 = XACCL_OUT
0101 = YACCL_OUT
0110 = ZACCL_OUT
[11:8] Alarm 1 data source selection (same as Alarm 2)
7 Alarm 2, dynamic/static (1 = dynamic, 0 = static)
6
Alarm 1, dynamic/static (1 = dynamic, 0 = static)
5 Alarm 2, polarity (1 = greater than ALM_MAG2)
4 Alarm 1, polarity (1 = greater than ALM_MAG1)
3 Data source filtering (1 = filtered, 0 = unfiltered)
2 Alarm indicator (1 = enabled, 0 = disabled)
1 Alarm indicator active polarity (1 = high, 0 = low)
0 Alarm output line select (1 = DIO2, 0 = DIO1)
Alarm Example
Table 41 offers an example that configures Alarm 1 to trigger when
filtered ZACCL_OUT data drops below 0.7 g, and Alarm 2 to
trigger when filtered ZGYRO_OUT data changes by more than
50°/sec over a 100 ms period, or 500°/sec
2
. The filter setting
helps reduce false triggers from noise and refines the accuracy
of the trigger points. The ALM_SMPL2 setting of 82 samples
provides a comparison period that is approximately equal to
100 ms for an internal sample rate of 819.2 SPS.
Table 41. Alarm Configuration Example
DIN Description
0xC936, ALM_CTRL = 0x36AF
0xC8AF Alarm 2: dynamic, Δ-ZGYRO_OUT
-time, ALM_SMPL2) > ALM_MAG2
Alarm 1: static, ZACCL_OUT < ALM_MAG1, filtered data
DIO2 output indicator, positive polarity
0xC313,
0xC288
ALM_MAG2 = 0x1388 = 5000 LSB = 50°/sec
0xC10A,
0xC0F0
ALM_MAG1 = 0x0AF0 = 2800 LSB = 0.7 g
0xC652 ALM_SMPL2[7:0] = 0x52 = 82 samples
82 samples ÷ 819.2 SPS = ~100 ms

ADIS16445BMLZ

Mfr. #:
Manufacturer:
Analog Devices Inc.
Description:
IMU ACCEL/GYRO 3-AXIS SPI 20ML
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet