(文章来源:单片机与嵌入式系统应用,作者:翟飞飞;赵振;陈润深;戴胜华)
引 言
ADXL202是ADI公司出品的一款双轴加速度测量系统,模拟输入,可测量动态加速度和静态加速度,测量范围为±(2~10)g,输出为周期可调的脉宽调制信号,可以直接与单片机或计数器连接。LPC2103为飞利浦公司的一款ARM7系列微控制器,主要用于工业控制、医疗系统、访问控制、POS机、通信网关等领域。本文使用LPC2103实现对ADXL202加速度数据的采集与处理。
1 ADXL202加速度传感器
1.1 ADXL202的引脚定义及基本特性
ADXL202为单片集成电路,集成度高、结构简单,内部包含多晶硅表面微处理传感器和信号控制电路,以实现开环加速度测量结构。与其他加速度计相比,ADXL202可在很大程度上提高工作带宽,降低噪声影响,零重力偏差和温度漂移也相对较低。图1所示为ADXL202传感器的引脚定义。
ST:自检,用于控制芯片自检功能。接VDD时,输出占空比为10%的波形,说明芯片正常工作。
COM:引脚4、7。使用时需将2个COM端接在一起并接地。
T2:经电阻RSET接地,调节输出信号周期。输出信号周期T2=RSET/(125 MΩS-1)。
VDD:电源。工作电压范围为+3.O~+5.25 V,可经过100Ω的去耦电阻接电源。
XFILT、YFILT:经电容接地,用于改变带宽、滤除噪声和抑制零点漂移。
Xout、Yout:输出。
图2为ADXL202传感器的内部结构原理图。
ADXL202传感器由振荡器,X、Y方向传感器,相位检波电路以及占空比调制器组成,具有数字输出接口和模拟电压信号输出接口。X、Y方向传感器是2个相互正交的加速度传感器,它们同时工作,可以测量动态变化的加速度和恒定的加速度。传感器之后级连相位检波器,主要是用来修正信号,并对信号的方向做出判断。检波器输出的信号,通过一个32 kΩ的电阻来驱动占空比调制器,通过在XFILT和YFILT引脚外接电容CX和CY来改变带宽。
1.2 测量数据的计算及处理
(1)信号带宽的计算
通过CX和CY来设定带宽,在XFILT和YFILT引脚接上电容,通过低通滤波器来减少噪声。3 dB带宽的公式为:
f=5 μF/C(x,y) (电容最小值为l 000 pF)
(2)加速度的计算
输出信号周期T2=RSET/(125 MΩs-1),如图3所示。
信号通过低通滤波器之后,占空比调制器把信号转换为数字信号输出。通过T2引脚的外接电阻可以改变T2的周期(O.5~10 ms),这很适于在精度要求不同的场合下使用。输出的占空比信号通过计数器可以计算出占空比。加速度的计算可以通过下式得到:
例如,当加速度为0g时,信号宽度T1与空闲宽度(T2一T1)相同,输出信号的占空比为50%;当加速度为1g时,信号宽度T1与空闲宽度(T2一 T1)的比值为5:3,输出信号的占空比为62.5%。
1.3 ADXL202的典型应用
ADXL202传感器最重要的应用之一是倾斜度的测量。在进行倾斜度测量时,需要让传感器的敏感轴(x轴)与重力方向垂直。如果与重力方向平行,物体倾斜对于加速度数据的影响可以忽略不计。图4所示为加速度测量的原理图。
当ADXL202与重力矢量垂直时,其输出随倾斜度的变化大约为每度17.5 mg,当两者呈45°时,输出变化值仅为每度12.2 mg,分辨率降低。表1为倾斜角度与加速度变化的关系。
2 应用电路设计
2.1 硬件接口设计
LPC2103是一个支持实时仿真和跟踪的32位 ARM7TDMI—S CPU,并带有8 KB片内SRAM和32 KB嵌入的高速片内Flash内存。LPC2103具有LQFP48的较小封装、极低的功耗、多个32位定时器、8路10位ADC、2个外部中断、最多可达32个GPIO。通过可编程的片内PLL(可能的输入频率范围:10~25 MHz)可实现最高70 MHz的CPU时钟频率。ADXL202传感器与LPC2103的接口电路如图5所示。
ADXL202加速度传感器的T2经125 kΩ电阻接地,可以得到信号输出的周期为1 ms。13、14引脚接+5 V电源,XFILT和YFILT经O.1μF电容接地,用于设置50 Hz带宽。两路输出分别与LPC2103的PO.O和PO.2引脚相接,作为数据传输线。数据传输有两种方法,分别为普通GPIO口方式和定时器捕获中断方式。
2.2 普通GPIO口方式
由于传感器输出均为DCM信号,无论采用什么方式进行数据接收,都需要定时器/计数器工作,对DCM信号进行计时处理。因此,程序首先要对定时器进行初始化。然后分别对DCM信号的高电平和低电平持续时间进行计时,得到T1、T2的值,再进行加速度计算。由于默认情况下GPIO均为普通I/0方式,所以开始不用设置PIN—SEL寄存器。普通GPIO口方式程序如下:
普通GPIO口方式的程序比较简单,虽然程序的执行需要时间,但由于LPC2103的主频可以达到40 MHz,执行几条指令只需几微秒,所以产生的误差会很小。但普通GPIO方式程序执行时,CPU一直在等待上升沿或下降沿的到来,大大降低了CPU的使用效率。可以使用图5所示Xout与LPC2103的接口方式。
2.3 定时器捕获中断方式
如图5所示,Yout与 LPC2103的PO.2引脚相接,利用P0.2的功能复用,可以实现定时器捕获中断方式接收传感器数据。主要程序段如下:
中断处理程序运行之后,得到的信号周期应为T2=t1+t2。故加速度为(((fp32)t1/((fp32)t2+(fp32)t1))一 O.5)*8。使用中断服务程序大大提高了CPU的使用效率,但程序较为复杂,并且占用了一个中断向量通道。
结 语
ADXL202传感器的应用方法经过验证完全可行,并且能够达到较高的测量精度。由于集成度高,由ADXL202和ARM系列微控制器组成的系统完全可以用于汽车、火车等交通工具的安全控制系统。ADXL202在惯性导航、倾斜感应、地震监控及汽车保险等领域都有着广泛的应用,精度高、集成度高、功耗低等特点使之完全可以取代传统的加速度传感器。
责任编辑:gt