双轴加速度传感器ADXL202及其应用设计

双轴加速度传感器ADXL202及其应用设计,第1张

引言

  ADXL202是ADI公司出品的一款双轴加速测量系统,模拟输入,可测量动态加速度和静态加速度,测量范围为±(2~10)g,输出为周期可调的脉宽调制信号,可以直接与单片机或计数器连接。LPC2103为飞利浦公司的一款ARM7系列微控制器,主要用于工业控制、医疗系统、访问控制、POS机、通信网关等领域。本文使用LPC2103实现对ADXL202加速度数据的采集与处理。

1  ADXL202加速度传感器

1.1  ADXL202的引脚定义及基本特性

  ADXL202为单片集成电路,集成度高、结构简单,内部包含多晶硅表面微处理传感器和信号控制电路,以实现开环加速度测量结构。与其他加速度计相比,ADXL202可在很大程度上提高工作带宽,降低噪声影响,零重力偏差和温度漂移也相对较低。图1所示为ADXL202传感器的引脚定义。

双轴加速度传感器ADXL202及其应用设计,第2张
图1  引脚定义

  ST: 自检,用于控制芯片自检功能。接VDD时,输出占空比为10%的波形,说明芯片正常工作。
  COM: 引脚4、7。使用时需将2个COM端接在一起并接地。
  T2: 经电阻RSET接地,调节输出信号周期。输出信号周期T2=RSET/(125 MΩs-1)。
  VDD: 电源。工作电压范围为+3.0~+5.25 V,可经过100 Ω的去耦电阻接电源。
  XFILT、YFILT: 经电容接地,用于改变带宽、滤除噪声和抑制零点漂移。
  Xout、Yout: 输出。

  图2为ADXL202传感器的内部结构原理图。ADXL202传感器由振荡器,X、Y方向传感器,相位检波电路以及占空比调制器组成,具有数字输出接口和模拟电压信号输出接口。X、Y方向传感器是2个相互正交的加速度传感器,它们同时工作,可以测量动态变化的加速度和恒定的加速度。传感器之后级连相位检波器,主要是用来修正信号,并对信号的方向做出判断。检波器输出的信号,通过一个32 kΩ 的电阻来驱动占空比调制器,通过在XFILT和YFILT 引脚外接电容CX和CY来改变带宽。

双轴加速度传感器ADXL202及其应用设计,第3张
图2  传感器内部结构原理图

1.2  测量数据的计算及处理

(1) 信号带宽的计算通
  过CX和CY来设定带宽,在XFILT和YFILT引脚接上电容,通过低通滤波器来减少噪声。3 dB带宽的公式为:f=5 μF/C(x,y)(电容最小值为1 000 pF)

(2) 加速度的计算
  输出信号周期T2=RSET /(125 MΩs-1),如图3所示。

双轴加速度传感器ADXL202及其应用设计,第4张
图3  占空比信号

  信号通过低通滤波器之后,占空比调制器把信号转换为数字信号输出。通过T2引脚的外接电阻可以改变T2的周期(0.5~10 ms),这很适于在精度要求不同的场合下使用。输出的占空比信号通过计数器可以计算出占空比。加速度的计算可以通过下式得到:

  a=(T1/T2-0.5)/(12.5%)

  例如,当加速度为0g时,信号宽度T1与空闲宽度(T2-T1)相同,输出信号的占空比为50%;当加速度为1g时,信号宽度T1与空闲宽度(T2-T1)的比值为5∶3,输出信号的占空比为62.5%。

1.3  ADXL202的典型应用

  ADXL202传感器最重要的应用之一是倾斜度的测量。在进行倾斜度测量时,需要让传感器的敏感轴(x轴)与重力方向垂直。如果与重力方向平行,物体倾斜对于加速度数据的影响可以忽略不计。图4所示为加速度测量的原理图。

双轴加速度传感器ADXL202及其应用设计,第5张
图4  加速度测量

  当ADXL202与重力矢量垂直时,其输出随倾斜度的变化大约为每度17.5 mg,当两者呈45°时,输出变化值仅为每度12.2 mg,分辨率降低。表1为倾斜角度与加速度变化的关系。

表1  倾斜角度与加速度变化的关系
双轴加速度传感器ADXL202及其应用设计,第6张

2  应用电路设计

2.1  硬件接口设计

  LPC2103是一个支持实时仿真和跟踪的32位ARM7TDMIS 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及其应用设计,第7张
图5  ADXL应用电路图

  ADXL202加速度传感器的T2经125 kΩ电阻接地,可以得到信号输出的周期为1 ms。13、14引脚接+5 V电源,XFILT和YFILT经0.1 μF电容接地,用于设置50 Hz带宽。两路输出分别与LPC2103的P0.0和P0.2引脚相接,作为数据传输线。数据传输有两种方法,分别为普通GPIO口方式和定时器捕获中断方式。

2.2  普通GPIO口方式

#define KEY 0x00000001//X轴加速度P0.0,前向加速度
T1PR=0;//预分频为0,使得T1TC即为pclk个数
while((IOPIN&KEY)!=0);//下降沿或低电平跳出
while((IOPIN&KEY)==0);//上升沿或高电平跳出
T1TCR=0x03;//启动并复位T1TC
T1TCR=0x01;
while((IOPIN&KEY)!=0);//下降沿跳出,等下降沿来临
t1=T1TC;//取此时计数器的值
T1TC=0x00;//复位计数器
while((IOPIN&KEY)==0);//上升沿跳出,等待上升沿的来临
t2=T1TC;
T1TCR=0x00;//关闭定时/计数器T1
a1=(((fp32)t1/((fp32)t2+(fp32)t1))-0.5)*8;//计算加速度

  普通GPIO口方式的程序比较简单,虽然程序的执行需要时间,但由于LPC2103的主频可以达到40 MHz,执行几条指令只需几微秒,所以产生的误差会很小。但普通GPIO方式程序执行时,CPU一直在等待上升沿或下降沿的到来,大大降低了CPU的使用效率。可以使用图5所示Xout与LPC2103的接口方式。

2.3  定时器捕获中断方式

  如图5所示,Yout与LPC2103的P0.2引脚相接,利用P0.2的功能复用,可以实现定时器捕获中断方式接收传感器数据。主要程序段如下:

#define ya 0x00000004//引脚功能初始化
PINSEL0=0x00000020; //设置引脚连接为定时器0的捕获通道0
PINSEL1=0x00000000;//向量中断设置
VICIntSelect=0x00000000;//设置所有中断为IRQ中断
VICVectCntl0=0x24;//定时器0中断为最高优先级
VICIntEnable=0x0010;//使能定时器0中断定时器0初始化
T0PR=0;//预分频为0,使T0TC即为pclk的个数
T0CCR=0x07;//置TIMER0的CAP0为上升、下降沿捕获,触发中断
T0MR0=0xFFFFFFFF;//设置匹配值
T0TCR=0x03;//启动并复位T0TC
T0TCR=0x01;//中断服务程序
void __irq TIme0(void) {
T0IR = 0x10;//复位定时器中断标志
if((IOPIN&ya)==0) {
t1=T0CR0;//读取T0TC
T0TC=0x00;//复位T0TC
}
else if((IOPIN&ya)!=0) {
t2=TOCR0;//读取TOTC
T0TC=0x00;//复位T0TC
}
VICVectAddr =0x00;//中断处理结束
}

  中断处理程序运行之后,得到的信号周期应为T2=t1+t2。故加速度为(((fp32)t1/((fp32)t2+(fp32)t1))-0.5)*8。使用中断服务程序大大提高了CPU的使用效率,但程序较为复杂,并且占用了一个中断向量通道。

结语

  ADXL202传感器的应用方法经过验证完全可行,并且能够达到较高的测量精度。由于集成度高,由ADXL202和ARM系列微控制器组成的系统完全可以用于汽车、火车等交通工具的安全控制系统。ADXL202在惯性导航、倾斜感应、地震监控及汽车保险等领域都有着广泛的应用,精度高、集成度高、功耗低等特点使之完全可以取代传统的加速度传感器。

参考文献

[1]  周立功 .ARM微控制器基础与实战 [M] . 北京:北京航空航天大学出版社 ,2003.
[2]  ADI. Low Cost ±2g/10g Dual Axis iMEMS Accelerometers with Digital Output ADXL202/ADXL210 Technical Note,1999.

(收稿日期:2008-07-14)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2471100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存