理工大学学士学位论文
表2.2 输出数据速率
输出数据速率(Hz) 带宽(Hz) 速率代码 IDD(μA)
3200 1600 800 400 200 100 50 25 12.5 6.25 3.13 1.56 0.78 0.39 0.2 0.1
1600 800 400 200 100 50 25 12.5 6.25 3.13 1.56 0.78 0.39 0.2 0.1 0.05
1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000
140 90 140 140 140 140 90 60 50 45 40 34 23 23 23 23
寄存器INT_ENABLE(0x2E)字节格式如表2.3所示。寄存器设置位值为1,使能相应功能,生成中断;设置为0时,阻止这些功能产生中断。DATA_READY位、水印位和溢出位仅使能中断输出;这些功能总是处于使能状态,在本毕业设计中,在其输出前进行了中断配置,然后读取寄存器内部数据。
表2.3 寄存器INT_ENABLE字节格式
D7
D6 D5 D4
DATA_READY SINGLE_TAP DOUBLE_TAP Activity D3 Inactivity D2 FREE_FALL D1 Watermark D0 Overrun
范围位(0x31)可以设置g范围,如表2.4所述。在本设计中,选择了±16g范围,全分辨率13位。
7
理工大学学士学位论文
表2.4 范围设置 设置 D1 0 0 1 1 D0 0 1 0 1
寄存器DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1(0x32至0x37)都是8位字节,保存各个轴的输出数据。寄存器0x32和0x33保存x轴输出数据,寄存器0x34和0x35保存y轴输出数据,寄存器0x36和0x37保存z轴输出数据。输出数据为二进制补码,DATAx0为最低有效字节,DATAx1为最高有效字节,其中x可代表X、Y或Z。DATA_ FORMAT寄存器(地址0x31)控制数据格式。在本设计中所有寄存器都执行多字节读取,防止相继寄存器读取之间的数据变化。
g范围 ±2g ±4g ±8g ±16g 2.4 测量倾斜角度原理
2.4.1 加速度传感器进行倾角测量简介
目前常用的确定平面系统倾斜的方法是对陀螺仪的输出求积分。尽管这种方法简单明了。但随着积分周期的增加,与零偏稳定性相关的误差也可能快速增大,即使当器件处于静止状态时也可能导致明显的旋转。在某些净加速度或者重力加速度的应用中,可以利用加速度传感器来测量静态倾斜角,这样克服了陀螺仪的缺点。目前加速度传感器测量角度的方法广泛应用于数码相机水平检测,以及工业和医学应用中检测器件方向等。
利用加速度传感器进行倾斜检测的基本假设是:加速度只与重力相关。实际上,可以对信号输出进行信号处理,以消除其中的高频组分,因而可以接受一定的交流加速度。
倾斜角度检测是利用重力矢量及其在轴上的投影来确定倾斜角由于重力是直流加速度,因此任何额外加入的直流加速度都会破坏输出信号并且导致计算错误。造成直流加速度的因素包括车辆以恒定速率加速时的时间,以及在加速度传感器上导致向心加速度的旋转器件。另外,当目标轴上的重力投影发生变化时,通过重力旋转加速度会导致
8
理工大学学士学位论文
明显的交流加速度。在计算角度之前对加速度信号进行的任何过滤都会影响输出达到新静态值的速度。综上所述,在本毕业设计中,测量平面倾斜角度时,要让加速度传感器在平面上保持一段时间的静止,以保证角度测量的准确性。
下面来介绍下ADXL345三轴加速度传感器通过X、Y、Z轴上的重力加速度换算成倾斜角的基本原理。 2.4.2 ADXL345测量角度原理
通过ADXL345测量出X、Y、Z轴上的重力加速度分量大小,分别能得到X轴与水平面的夹角α,Y轴与水平面的夹角β,Z轴与水平面的夹角δ。设X轴的加速度分量为Ax,Y轴的加速度分量为Ay,Z轴的加速度分量为Az。对重力进行力学分析可得如下公式:
Ax?g*cos(90???)?g*sin? (2.1) Ay?g*cos(90???)?g*sin? (2.2) Az?g*cos(90???)?g*sin??g*co?s (2.3)
图2.3 水平仪的测量数学模型示图
水平仪测量倾角的数学模型如图2.3所示。如图所示,DA代表X轴,DB代表Y轴,DG代表Z轴,DA⊥DB,假设X轴与水平面的夹角为α,Y轴与水平面的夹角为β,X轴与Y轴所组成的平面DAB与水平面的夹角为γ。过D点做水平面的垂线,垂足为点E,那么∠DAE=α。∠DBE=β。过E点做AB的垂线与AB交于C点,由立体几何知识可知∠DCE就是平面EAB与水平面的夹角γ,即使水平仪要测量并显示的角度。下面
9
理工大学学士学位论文
是推导α、β、γ之间关系的过程,假设DE=1,由DE⊥AE,DE⊥BE可知:
? DB?1sin? (2.4) DA?1sin 因为△ADB为直角三角形,所以:
222 AB?DA?DB (2.5)
将AB代入式(2)得:
DC?DA*DBDA2?DB2 (2.6)
又因为△DEC为一直角三角形,所以可得: sin??将式(1)代入式(5)得:
DE1??DCDC11 (2.7) ?DA2DB2??sin??sin? (2.8) sin 因为sin??Axg,sin??Ayg,所以: sin??由cos??Azg,推出:
tan??Ax2?Ay2Az22Ax2Ay2 ?2 (2.9)2gg (2.10)
即可得出被测面与水平面间的夹角γ:
Ax2?Ay2 ??arctan( ) (2.11)
Az由图2.4.1的数学模型可知,角γ就是加速度传感器Z轴与自然坐标系Z轴间夹角。同理可得,加速度传感器X轴与自然坐标系X轴的夹角α为:
Ax ??arctan( ) (2.12)
22Ay?Az加速度传感器Y轴与自然坐标系Y轴的夹角β为:
Ay) (2.13) ??arctan(
22Ax?Az综上分析,因为单片机能计算简单的反三角函数,所以在程序中利用公式(2.10)就能计算出需要的倾斜角度(弧度值),再将其进行转化就能显示直观的角度值。在该
10
理工大学学士学位论文
毕业设计中,为了方便读数,无论Z轴的加速度值是正还是负,都将γ的值取在0o-90o之间。
11