AN-1057: 利用加速度计进行倾斜检测 (Rev. 0)

AN-1057
应用笔记
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
使用加速度计进行倾斜检测
作者:Christopher J. Fisher
简介
倾斜检测利用重力矢量及其在加速度计轴上的投影来确定
检测系统倾斜的一种常用方法是对陀螺仪输出进行积分。
倾斜角度。由于重力是直流加速度,任何产生额外直流加
虽然这种方法直截了当,但与零点偏置稳定性有关的误差
速度的力均会破坏输出信号,导致计算错误。直流加速度
会随着积分周期的增加而快速累积,使设备发生明显旋
的来源包括车辆在一定时间内以恒定速度加速,以及旋转
转——哪怕此时设备是静止的。
器件在加速度计上产生向心加速度。此外,通过重力旋转
在某些应用中,若整个时间范围内作用于系统的净加速或
力是重力,那么可以使用加速度计来测量倾斜的静态角
度。这类应用有:游戏机、相机中的水平检测,以及在工
加速度计,随着目标轴上的重力投影变化,会引起明显的
交流加速度。在计算倾斜之前,对加速度信号进行任何形
式的滤波都会影响建立输出新静态值的速度。
本应用笔记讨论将加速度计输出转换为倾斜角度的基本原
业和医疗应用中检测设备的驶向。
对于采用加速度计的倾斜检测,假设重力是唯一的加速激
励因素。在实际使用中,可在信号输出端执行信号处理,
移除输出信号的高频成分,因此一定程度的交流加速度是
理。讨论内容包括如何计算单轴、双轴或三轴解决方案的
理想倾斜角度。此外还包括一些关于校准的基本信息,以
减少失调和灵敏度失配所引起的误差。
可以接受的。
Rev. 0 | Page 1 of 8
AN-1057
目录
简介...................................................................................................... 1
校准失调和灵敏度失配误差.......................................................... 7
倾斜计算 ............................................................................................. 3
失调误差的影响........................................................................... 7
单轴倾斜计算 ............................................................................... 3
灵敏度失配误差的影响 ............................................................. 7
双轴倾斜计算 ............................................................................... 4
基本校准技术 ............................................................................... 8
三轴倾斜计算 ............................................................................... 6
Rev. 0 | Page 2 of 8
AN-1057
倾斜计算
由于以数字化的方式执行倾斜计算,输出加速度根据最低
单轴倾斜计算
有效位(LSB)或代码表现为恒定加速度,并由模数转换器
在只需对有限的角度范围内进行倾斜检测的应用中(该应用
(ADC)获取,或者直接从数字输出部分获取。由于输出分
的分辨率精度较低),可使用单轴器件(或多轴器件中的单
辨率是恒定的加速度,倾斜分辨率(以度为单位)是可变
个轴)。
的,其最佳分辨率接近0°,最差分辨率为±90°。
例如,在图1中,单轴(本例中是x轴)通过重力旋转。由于
图3和图4显示倾角步进为1°和0.25°时的增量灵敏度。增量
此方法仅使用单轴,且需要重力矢量,因此只有当器件的
灵敏度等于输出变化,以mg显示,表示每个倾角的步进,
x轴始终位于重力平面上时,倾斜计算角度才是精确的。
或者:
(2)
其他轴上的任何旋转都会降低加速度在x轴上的幅度,计
其中:
算倾斜角度时便会产生误差。
N为当前角度。
+X
P为步长。
1g
图1. 用于倾斜检测的单轴
根据基本三角恒等式,x轴上的重力矢量投影会产生输出
加速度,大小等于加速度计x轴和水平面之间夹角的正弦
值。水平面通常是与重力矢量正交的平面。当重力为理想
值1 g时,输出加速度为:
AX,OUT [g] = 1 g × sin(θ)
(1)
16
12
10
8
X: 63
Y: 8.059
6
X: 77
Y: 4.074
4
2
0
–100
使用单轴解决方案时——也就是说,输出的变化引起输入
X: 24
Y: 16.01
14
–80
的某些变化——倾斜计算随着水平面与x轴夹角的增加而下
INCREMENTAL SENSITIVITY, S (mg/0.25°)
图。接近±90°时,倾斜角出现很大变化时,输出加速度只
会产生很小变化。
1.0
0.8
0.6
0.4
0.2
0
–0.2
80
100
4.0
X: 23.5
Y: 4.005
3.5
3.0
2.5
2.0
X: 62.75
Y: 2.006
1.5
X: 76.75
Y: 1.009
1.0
0.5
0
–100
–0.4
–0.6
–60 –40 –20
0
20
40
60
ANGLE OF INCLINATION, θ (Degrees)
–0.8
图4. 步进为0.25°时的增量倾斜灵敏度
–80
测量输出加速度时,为了满足应用在整个范围内所需的倾
–80
–60 –40 –20
0
20
40
60
ANGLE OF INCLINATION, θ (Degrees)
图2. 输出加速度与倾角的关系
(单轴倾斜检测)
80
100
08767-002
–100
100
4.5
出,其中绘出了输出加速度(以g表示)与倾斜角之间的关系
–1.0
80
图3. 步进为1°时的增量倾斜灵敏度
降,当夹角接近±90°时,数值接近0。这点可以从图2中看
OUTPUT ACCELERATION, AX,OUT (g)
–60 –40 –20
0
20
40
60
ANGLE OF INCLINATION, θ (Degrees)
08767-003
INCREMENTAL SENSITIVITY, S (mg/1°)
18
08767-001
1g
θ
08767-004
+X
斜分辨率,可利用这些曲线确定需达到的最小分辨率。例
如,设计最大步长为1°,则针对±63°范围,分辨率至少需
达到8 mg/LSB。类似地,为达到±63范围内的0.25°最大步长,
则分辨率至少为2 mg/LSB。请注意,如果存在较大的扰动,
可以使用过采样以获得更佳分辨率。
Rev. 0 | Page 3 of 8
AN-1057
通过重力旋转时,由于加速度计输出符合正弦关系,使用
例如,假设倾斜检测所需的分辨率为1°,则±0.5°的误差是
反正弦函数可以将加速度转换为角度。
可以接受的,因为它低于计算的舍入误差。若在k = 1的情况
(3)
下绘制实际倾角与计算倾角之间的误差(如图6所示),则线
性近似的有效范围仅为±20°。若比例系数经调节后,使得
误差最大但依然保持在计算得到的舍入限值内,则线性近
其中,倾斜角θ单位为弧度。
似的有效范围增加到±30°以外。
数。线性近似与小角度正弦近似有关。
(4)
其中,倾斜角θ单位为弧度。
额外的比例系数k可用于倾角的线性近似计算中,若容许
的误差有所增加则可扩大近似的有效范围。
(5)
其中,倾斜角θ单位为弧度。
将等式5的结果乘以(180/π),可转换为度。图5显示使用反
正弦函数与使用k = 1时线性近似的对比。随着倾角幅度的
k = 1.00
k = 1.04
0.4
0.3
0.2
0.1
0
–0.1
–0.2
–0.3
–0.4
–0.5
–50
–40
–30 –20 –10
0
10
20
30
ANGLE OF INCLINATION, θ (Degrees)
40
50
图6. 不同比例系数下计算得到的角度误差
增加,线性近似开始下降,计算得到的角度与实际角度发
双轴倾斜计算
生偏差。
单轴倾斜检测的一个限制,是需要高分辨率ADC或数字输
50
出来实现大范围的有效倾角,如图3和图4所示;另一个限
INVERSE SINE
LINEAR APPROXIMATION
40
30
制,是单轴测量无法提供360°的测量,因为在倾角N°时产
20
生的加速度与倾角180° − N°时产生的加速度相同。在某些应
10
用中,这是可以接受的;但对于需要更高分辨率或要求在
0
完整的360°弧度范围内区分倾角的应用而言,则需要第二
–10
条轴(如图7所示),或者需要第二个传感器。若使用了第二
–20
个传感器,则其朝向应使第二个传感器的检测轴与第一个
–30
传感器的检测轴相互正交。
–40
+Y
–50
–50
–40
–30 –20 –10
0
10
20
30
ANGLE OF INCLINATION, θ (Degrees)
40
50
+Y
+X
08767-005
CALCULATED ANGLE, θCALC (Degrees)
0.5
08767-006
CALCULATED ANGLE ERROR, θERROR (Degrees)
如果需要窄范围倾斜,可以使用线性近似法取代反正弦函
+X
图5. 倾角计算中反正弦函数与线性近似的对比
θ
部时开始弯曲。这是因为线性近似仅在对比输出加速度时
1g
才表现为线性,如图2所示。随着倾角增加,输出加速度
1g
08767-007
由于计算角度根据实际倾角绘制,因此线性近似在靠近尾
的表现与之相似。然而,反正弦函数应当产生与实际倾角
图7. 用于倾斜检测的双轴
一对一对应的输出,从而当描绘实际倾角时,计算得到的
增加一个轴对确定倾斜角有三大好处。下文说明这些好处。
角度为一条直线。
Rev. 0 | Page 4 of 8
AN-1057
恒定灵敏度
如图3和图4所示,正弦函数在0°附近具有最大速率变化,
增加一个轴的第一大好处在于两个轴相互垂直。与单轴解
且可以看出,余弦函数在该点处具有最小速率变化。由于
决方案相同,x轴检测到的加速度与倾斜角的正弦值成比
这个原因,倾斜导致的x轴加速度变化将先于y轴加速度变
例。由于两个轴相互垂直,因此y轴加速度与倾斜角的余
化而被识别。因此,系统在0°附近的分辨率主要取决于x轴
弦值成比例(见图8)。随着一条轴的增量灵敏度下降(比如
的分辨率。如需确定P°的倾斜变化,加速度计必须要能检
该轴的加速度接近+1 g或−1 g),另一条轴上的增量灵敏度将
测根据下式所确定的变化量近似值:
(8)
会上升。
对于所需的倾斜步长,图9可用来确定所需的最小加速度
X-AXIS
Y-AXIS
0.8
计分辨率(或最大加速度计比例因子)。注意,加速度计分
0.6
辨率的提升不仅与加速度计比例因子的降低有关,还与检
0.4
测更小的输出加速度变化的能力有关。因此,针对目标倾
0.2
斜步长选择具有适当分辨率的加速度计时,比例因子应当
0
小于图9所示的限值。
–0.2
–0.4
100
–0.6
90
–0.8
80
–200
–150
–100
–50
0
50
100
ANGLE OF INCLINATION, θ (Degrees)
150
200
08767-008
–1.0
图8. 输出加速度与倾角的关系
(双轴倾斜检测)
将测量的加速度转换为倾角的一种方法,是计算x轴的反
正弦函数和y轴的反余弦函数,与单轴解决方案类似。但
70
60
50
30
0
结果:
X: 1
Y: 17.45
20
10
是,更简单有效的方法是使用两个数值之比,可得到如下
X: 2
Y: 34.9
40
X: 0.1
Y: 1.745
–10
–1
(6)
X: 0.25
Y: 4.363
0
1
2
3
4
5
ANGLE OF INCLINATION STEP SIZE, P (Degrees)
6
08767-009
MINIMUM ACCELEROMETER
RESOLUTION, ΔAOUT (mg)
OUTPUT ACCELERATION, AOUT (g)
1.0
图9. 用于目标倾角分辨率的最小加速度计分辨率
降低与重力平面对齐的依赖性
(7)
使用至少两个轴的第二大好处是,与单轴解决方案不同,
增加一个轴后,即使第三个轴上存在倾斜,也可以测出精
其中,倾斜角θ单位为弧度。
确值。而在单轴解决方案中,只要除x轴以外的任何其它
与单轴示例不同,使用两轴之比来确定倾角会使得增量灵
轴上存在倾斜,就会造成显著误差。这是因为有效增量灵
敏度的确定变得十分困难。相反,假设所需的倾斜分辨率
敏度与目标轴上重力的和方根(RSS)值成比例。
已知,则确定加速度计需达到的最低分辨率用处更大。假
定一条轴的增量灵敏度随着另一条轴的增量灵敏度下降而
上升,则净结果将是数值基本恒定的有效增量灵敏度。这
表示若针对某一角度,为达到所需的倾斜步长要求而选择
加速度计,则该加速度计将具备足够的分辨率以应付所有
角度。
若重力完全包含在xy平面中,那么在理想情况下,那些轴
上检测到的加速度RSS值等于1 g。若在xz或yz平面上存在倾
斜,则重力导致的总加速度将下降,从而降低有效增量灵
敏度。这样会增加给定加速度计分辨率的倾斜步长,但依
然可以提供精确的测量结果。倾角计算结果与xy平面上的
旋转有关。
为确定所需的最小加速度计分辨率,可检查等式6,确定
分辨率的极限。由于每条轴的输出和倾角的正弦或余弦有
关,并且每种函数的倾角均相同,因此可求解的最小角度
与可求解的最小加速度有关。
Rev. 0 | Page 5 of 8
AN-1057
若系统足够倾斜,以至于xy平面上只有极少量由于重力而
造成的加速度,那么倾角步长将会分辨率过低而不可用;
(10)
因此,建议限制xz或yz平面的倾斜程度。
假设重力是唯一测得的加速度原因,则等式10分母上的操
完整360°倾斜检测
增加一个轴的第三大好处是,能够区分各个象限并在整个
360°弧度范围内测量角度。如图10所示,每个象限都具有
与x和y轴加速度关联的不同符号组合。
作数可以常数代替(最好是1),因为此时所有轴上的RSS值
为常数。角度如图11所示;图11c显示θ只在xy平面上存
在,而图11d显示φ为z轴与重力矢量之间的夹角。
(a)
II
+X
+Y
+X
+Y
+Y
θ
1g
1g
+X
1g
±180°
(b)
I
+Y
+X
+Z
+Z
+90°
1g
X-AXIS +
Y-AXIS –
X-AXIS +
Y-AXIS +
X-AXIS –
Y-AXIS –
X-AXIS –
Y-AXIS +
+Y
+X
0°
+Z
θ
+Z
(c)
+X
1g
1g
(d)
08767-011
+Y
图11. 球形坐标系统的角度
1g
+Y
由于三轴法与单轴/双轴法具有相似的等式,因此三轴解决
+X
III
IV
–90°
08767-010
1g
方案的分析与单轴和双轴法结合使用时相同。两条正交轴
之比有助于θ的测量,并且要达到要求的倾斜分辨率需要
具备一个最小加速度计分辨率,如等式8所示。
图10. 象限检测的倾角和加速度符号
如果操作数AX,OUT/AY,OUT为正值,反正切函数会返回第一象
限中的值;如果操作数为负值,则反正切函数会返回第四
象限中的值。第二象限内的操作数为负值,因此在计算该
象限内的角度时应将结果加上180°。第三象限内的操作数
为正值,因此在计算该象限内的角度时应从结果中减去
φ的测量不仅与单轴解决方案的倾角测量有关,还与目标
范围内实现特定倾角分辨率所需的最小加速度计分辨率的
确定有关。区别在于,使用反余弦函数确定φ会使φ在90°时
具有最大的增量灵敏度,而在0°和180°时具有最小的增量
灵敏度。
180°。而该角度所处的确切象限则可以通过各轴上测得的
以余弦代替等式2中的正弦,即可产生类似图3和图4的曲
加速度符号来确定。
线。重要的是需注意,虽然θ的范围为−180°至+180°,但φ
的范围仅为0°至180°。若 φ的角度为负数,则θ的角度也会
三轴倾斜计算
引入第三条轴后,便可在全部范围内确定传感器。经典的
变为负数。
矩形(x, y, z)到球形(ρ, θ, φ)转换方法可将xy平面的倾角θ以及
重力因素产生的倾角 φ与每条轴上的测量加速度相关联,
如下所示:
(9)
Rev. 0 | Page 6 of 8
AN-1057
三轴倾斜检测的一种替代方法是单独确定加速度计每条轴
校准失调和灵敏度失配误差
与参考位置之间的夹角。参考位置通常选择器件的x轴和y
本应用笔记中的分析假设采用理想加速度计。该假设等同
轴位于水平面的方向上(0 g场),并且z轴与水平面垂直(1 g
于使用无0 g失调且具有完美灵敏度的器件——灵敏度以mV/g
场)。图12显示该方法,其中,θ表示水平面与加速度计x轴
(模拟传感器)或LSB/g(数字传感器)表示。虽然传感器经过
之间的夹角,ψ表示水平面与加速度计y轴之间的夹角, φ
调节,但器件本质上是机械的,这便意味着系统完成装配
表示重力矢量与z轴之间的夹角。当位于x和y轴的0 g以及z轴
后,器件上的任何静态应力都有可能影响失调和灵敏度。
的1 g初始位置时,所有计算的角度均为0°。
再加上工厂校准的限制,便有可能使误差超出应用允许的
(a)
+Z
限值以外。
(b)
+Z
失调误差的影响
+Y
为了表明误差到底有多大,可以设想一下,某个双轴解决
+Y
方案具有完美的灵敏度,但x轴上存在50 mg失调。0°时,x轴
读数为50 mg,y轴读数则为1 g。由此计算得出的角度就是
θ
+X
1g
+X
2.9°,因而会造成2.9°的误差。±180°时,x轴的读数为50 mg,
1g
y轴的读数则为−1 g。由此计算得出的角度会存在−2.9°的误
+Z
+Z
差。图13所示为本例中算出的角度和实际角度之间的误差
情况。失调引起的误差可能不仅大于系统所需的精度,而
且还会发生变化,使简单地通过校准消除误差角变得困
(c)
1g
(d)
图12. 独立倾斜检测的角度
可利用基本三角恒等式计算倾角,如等式11、12和13所示。
3
2
1
0
–1
–2
–3
–200
–150
–100
–50
0
50
100
ANGLE OF INCLINATION, θ (Degrees)
150
200
08767-013
+X
CALCULATED ANGLE ERROR, θERROR (Degrees)
1g
难。当多个轴上都存在失调时,这将会变得更为复杂。
+Y
θ
08767-012
+Y
+X
图13. 加速度计失调引起的角度计算误差
等式13中操作数出现明显反转,这是因为初始位置为1 g场。
若需使用水平面作为z轴的参照,则可将操作数反转。角
度为正表示对应的加速度计正轴指向水平面上方,而角度
为负表示轴指向水平面下方。
灵敏度失配误差的影响
在双轴倾斜检测应用中,由加速度计灵敏度导致的主要误
差成分是目标轴之间的灵敏度差异(在单轴解决方案中,如
果实际灵敏度和预期灵敏度之间存在任何偏差,则会导致
出现误差)。由于使用的是x和y轴的比值,因此如果两者灵
由于采用反正切函数和加速度之比,因此具有双轴示例中
敏度相同,则可以消除大多数误差。
提及的优势,也就是说有效增量灵敏度是恒定的,并且单
位范围内的角度可在所有点上精确测得。
Rev. 0 | Page 7 of 8
AN-1057
下面举例说明加速度计灵敏度失配的影响。假设某个双轴
一种简单的校准方法是假设增益为1并测量失调。经过此
解决方案具有完美的失调调整功能,且y轴具有完美的灵
校准之后,系统的精度即会限制为未校准的灵敏度误差。
敏度,但x轴的灵敏度为+5%。这表示在1 g场中,y轴读数为
这种简单的校准方法可通过将目标轴置于0 g场中并测量输
出(大小等于失调)来完成。然后,应在处理信号之前从加
速度计的输出中减去该值。这种方法通常称为无调头或单
计灵敏度失配引起的误差会在整个旋转范围内不断变化,
点校准,因为器件的典型取向会将x和y轴置于0 g场中。如
使在计算出倾斜角后进行误差补偿变得困难。改变y轴的
果使用的是三轴器件,则应针对z轴包含至少一个调头或
灵敏度会进一步增加失配,从而使误差更大。
第二个点。
2.0
一种更加精确的校准方法是每个目标轴上取用两个点(三轴
1.5
设计最多可取用六个点)。当某个轴处于+1 g和−1 g场中时,
1.0
测得的输出如下:
0.5
A+1g [g] = AOFF + (1 g × Gain)
(15)
0
A−1g [g] = AOFF – (1 g × Gain)
(16)
–0.5
其中,失调AOFF的单位为g。
–1.0
利用这两个点确定的失调和增益如下:
–1.5
–2.0
–200
–150
–100
–50
0
50
100
ANGLE OF INCLINATION, θ (Degrees)
150
200
08767-014
CALCULATED ANGLE ERROR, θERROR (Degrees)
1 g,x轴读数则为1.05 g。图14所示为因为这种灵敏度失配而
造成角度计算出现的误差情况。与失调误差类似,加速度
图14. 加速度计灵敏度失配引起的角度计算误差
AOFF [g] = 0.5 × (A+1g + A−1g)
(17)
增益 =
(18)
其中,+1 g和−1 g测量结果A+1g和A−1g均以g表示。
基本校准技术
当失调引起的误差和灵敏度失配引起的误差两者相叠加
由于测量目标轴时,正交轴都处于0 g场,因此这种校准方
时,误差可能会变得相当大,完全超出倾斜检测应用所能
法还有助于将跨轴灵敏度影响降至最低。利用这些值,首
接受的范围。要减少这类误差,就应当对失调和灵敏度进
先可以从加速度计测量结果中减去失调,然后将所得结果
行校准,并使用校准后的输出加速度来计算倾斜角。包括
除以增益。
失调和灵敏度的影响后,加速度计输出变化如下:
AOUT [g] = AOFF + (Gain × AACTUAL)
(19)
(14)
其中:
AOFF表示失调误差,单位为g。
Gain表示加速度计的增益,理想值为1。
AACTUAL表示加速度计的真实加速度和目标值,单位为g。
其中,AOUT和AOFF的单位为g。
等式15至等式19中,计算AOFF和增益时,假设加速度值A+1g
和A−1g均以g表示。如果加速度单位采用mg,则等式17中
AOFF的计算结果会保持不变,但等式18中增益的计算结果
需要除以1000,以处理单位上的变化。
©2010 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
AN08767sc-0-2/10(0)
Rev. 0 | Page 8 of 8