基于MMA8452Q传感器的计步器抗干扰设计

2014-07-13 06:45陈鹏宇李泽仁
电子设计工程 2014年7期
关键词:计步计步器中断

李 萍,陈鹏宇,李泽仁

(大连交通大学 动车运用与维护工程学院,辽宁 大连 116028)

基于MMA8452Q传感器的计步器抗干扰设计

李 萍,陈鹏宇,李泽仁

(大连交通大学 动车运用与维护工程学院,辽宁 大连 116028)

介绍了基于MMA8452Q加速度传感器的计步器设计。MMA8452Q是一款具有 12位分辨率的智能低功耗、三轴、电容式微机械加速度传感器。本设计充分利用了该传感器对被检测模拟信号的滤波处理能力,并配合软件抗干扰措施,通过检测人行走时腰部产生的垂直加速度的变化,实现间接检测步数的目的。设计硬件简单,计步精度较高,稳定性好,已经通过实际调试,具有实用价值。

MMA8452Q;计步器;单片机;抗干扰

伴随着人们生活质量和科技水平的提高,辅助锻炼设备不断出现,计步器就是一种日常锻炼监测器,通过记录人们行走的步数,监测自己的健身强度,方便实用。加速度传感器可用于间接步数检测。由于近年来MEMS加速度传感器发展很快,并具有价格低、体积小、功耗低、精度高的特点,利用其来设计电子计步器,已经多有报道[1],市场上也有产品出售。目前存在的主要问题是计步精度,尽管在加速度的检测上传感器的精度高,但是计步却受到诸多干扰影响,精度难以保证。本文以MEMS加速度传感器MMA8452Q为基础,研究其工作特性,针对计步干扰信号特点,采取抗干扰措施完成电子式计步器设计。

1 系统方案设计

1.1 基于加速度信号检测的计步器原理

距离、速度、加速度等都可以作为描述人体行走状态的的参数。近年来由于MEMS加速度传感器的快速发展和其特性,使其用于人体运动检测更加方便。

行走时,脚、腿、腰部,手臂都在运动,它们的运动都会产生相应的加速度,垂直方向的加速度信号变化最大。人行走一步过程,如图1所示。脚蹬地离开地面是一步的开始(如图1(a),此时由于地面的反作用力垂直加速度开始增大,身体重心上移,当脚要达到最高位置时(如图1(c),垂直加速度达到最大,然后脚向下运动,垂直加速度开始减小,直至脚着地,加速度减少至最小值(如图1(e),接着下一次迈步发生[2]。

人体腰部的垂直加速度信号如图2所示[3],每迈一步对应一个峰值,显然信号具有周期性。利用对加速度的峰值检测可以得到行走的步数。人行走的垂直加速度在±g之间(1g为9.8 m/s2即重力加速度),考虑到还有重力加速度g的影响,可选择测量范围在±2 g之间的加速度传感器来实现计步器。

1.2 硬件系统设计

计步器硬件系统框图如图3所示。MEMS传感器MMA8452Q负责检测人体加速度信号并转换为数字信号,通过I2C接口传递给控制器;经控制器分析处理,确定为有效的计步信息后,步数加1并送给LCD显示器;按键则将一些设定信息传递给控制器。

综合考虑计步器对加速度传感器精度的要求和传感器的价格,选择了飞思卡尔一款比较新的MMA8452Q加速度传感器。这是一款具有12位分辨率的智能低功耗、三轴、电容式微机械加速度传感器[4],其主要特性如下:

可以感受X,Y,Z 3个自由度的加速度信号,全方位感知人体运动信息。具有±2 g/±4 g/±8 g的可选量程。传感器的灵敏度在±2 g量程时为1 024个数字/g, 灵敏度精度为±2.5%。

图1 行走一步过程Fig. 1 Walking step process

图3 硬件系统框图Fig. 3 Hardware system block diagram

采集的加速度数据可以通过传感器内部的高通滤波器实时输出,滤波器的截止频率可以软件设置。也可以不经过滤波器直接数据输出。输出信号已被转换为12位(或8位)数字量信号,经I2C接口输出,输出数据速率在1.25 Hz到800 Hz之间可调。

传感器内嵌的DSP处理功能使芯片具有中断能力,当设定的“自由下落和运动检测”“瞬态变化检测”“方向检测” “轻敲检测”“数据准备好”“自动休眠”等6种事件中任意一种发生时,配置的中断引脚(INT1或INT2)就可以产生硬件唤醒的中断申请信号,通知控制器处理预定的事件。这样既减轻了控制器不断查询处理数据的负担,也可以节省整体功耗,使其大部分时间处于静止状态保持低功耗模式,同时完成监测任务。

在满足计步器功能的前提下,本设计选择价格低廉的AT89S2051单片机作为控制器,主要使用其外部事件中断、定时器中断、并行口等硬件资源。显示屏选择了8位LCD显示器,用于计步信息的实时显示,与主机采用串行方式传递数据。按键主要用于自标定设置。

2 抗干扰设计

由图2可知,人在行走时的垂直加速度信号虽然具有一定的周期性,但由于传感器灵敏度较高,原地晃动等都会产生干扰噪声,直接计步容易出错。需对信号进行处理,尽可能消除噪声影响。通常情况下,人的步频最快不会超过5步/秒,最慢为0.5步/秒。因此,可以认为原始信号中频率为0.5~5 Hz 的信号为有用信号,其他信号均为噪声[1,3]。我们设计的计步器从下述方面消除干扰信号。

2.1 传感器自带抗干扰功能的利用

2.1.1 高通滤波器的设置

MMA8452Q是数字式传感器,对检测信号的模拟滤波在芯片内部进行,然后转换为数字量后输出。对于“敲击”“轻弹”“摇动”“计步”等信号的检测过程中,加速度传感器只需要分析动态加速度信号,即加速度的变化情况,无需考虑静态情况,因此可以对数据做高通滤波。在传感器MMA8452Q内部有一个内嵌的高通滤波器,可以通过软件设定低频截止频率。根据选择的数据输出速率和数据过采样模式,低频截止频率可以在0.063~16 Hz之间选择[5]。数据通过该滤波器输出,从而消除信号中直流偏置及低频信号的影响。我们设计的计步器截止频率设置在0.5 Hz。

2.1.2 中断阈值的使用

MMA8452Q传感器有两个外部引脚INT1和INT2。每个引脚通过软件设置可以和6个事件(“自由下落和运动检测[6]”“瞬态变化检测”“方向检测” “轻敲检测”“数据准备好”“自动休眠”)绑定在一起。当传感器检测到任一事件发生时,即可发出中断申请信号,可以避免主控制器频繁读取传感器的数据,减少数据分析及处理工作。

引脚INT1和INT2可以配置成“推挽”或“开漏”输出方式,即可以“高电平有效”也可以“低电平有效”。如果被配置成“开漏”输出方式并且外带上拉电阻,该引脚就被设置为“低电平有效”[7],刚好与8051单片机的外部中断信号吻合。

计步器设计将中断引脚INT1与“运动检测”事件绑定在一起,当人体迈步时垂直加速度开始增加,当达到预定的阈值时,中断申请信号发出,通知控制器读取当前加速度值,经进一步分析确定是否是有效计步信号。中断使用的关键是合理阈值的确定。

该传感器在静止时显示一个g(重力加速度),当人体运动时,运动加速度与重力加速度叠加。传感器可以输出12位二进制加速度值,该数值是有符号数,正数的最大值为7FFH。本计步器量程选择的是2 g,传感器静止时感受重力加速度为g,所以显示数值为3FFH。通过实验获取了大量的数据,分析每迈一步加速度的变化情况。选取加速度值大于g的数据为研究对象,将它们显示的数据转化为十进制数。3FF对应的十进制数是1023,对应的加速度为g。从而得出1个LSB所对应的加速度值为0.000 98 g。我们试验程序采集的数据如表1所示,数据表明每走一步,可以收到2~3组数据,其中至少有一组超过1.1g,表中带下划线的数据为超过1.1 g的加速度值。

表1 行走时加速度值Tab.1 Acceleration value when walking

当试验人员原地晃动时,得到的10组加速度值如表2所示。

经过对人行走、跑步、晃动等加速度变化的分析,综合考虑选取1.1 g为加速度阈值。在MMA8452Q传感器中

表2 晃动时加速度值Tab.2 Shaking acceleration value

有一个阈值寄存器,数值范围为0~127,阈值最低分辨率为0.063 g/LSB。1.1 g/0.063 g= 17.46,四舍五入到18,所以阈值寄存器中送阈值12H。

2.2 软件抗干扰方法

2.2.1 时间窗口的限制

利用传感器自身的滤波和阈值中断的方法,能够减少频率较低、幅度较小的干扰,但是仍然会有误计数的可能,特别是多计数。需要采取软件抗干扰滤波方法,进一步滤除无用信号。根据图2所示垂直加速度的信号波形,两次峰值是有时间间隔的,根据资料显示,人行走的频率一般在110步/分钟(1.8 Hz),跑步时的频率不会超过5 Hz。如果选择1~5 Hz,对应的时间间隔是1 000~200毫秒。利用定时中断记录两次外部中断时间间隔,如果在有效范围内,则为有效计步一次,否则无效。

实际上正常行走的任一段时间内,步频的变化都会集中在峰值频率附近的一个小范围内,而不是0.5~5 Hz这么宽。由于每个人的步频是不同的,可以采用下述的自标定方法得到个人步频的峰值频率和变动范围,再采用时间窗口的限制,检测的准确度更高。

2.2.2 自标定方法

计步器配置了两个按键:“直接计步按键”、“自标定按键”。如果计步器工作后直接按下“直接计步按键”,计步器按1~5Hz的行走频率设置时间窗口,并按这个参数进行数据分析。如果计步器工作后先按下“自标定按键”,则进入自标定过程。连续行走10步,每走1步要同时按下“自标定按键”一次。计步器会记录10次的时间间隔ti(i=0~9),求出平均值Tp,及偏差vi=|ti-Tp|(i=0~9),由此确定个人的行走频率范围,并利用时间窗口的限制进行数据分析,可以得到较高的准确度。2.2.3 计步器主要程序流程图

计步器的主程序流程图如图4所示,外部中断流程图如图5所示。开始工作后首先进行初始化、显示初始界面,然后等待按键信号。如果按下“直接计步键”,则使能外部事件中断,等待外部中断的到来。当MMA8452Q加速度传感器检测到外界加速度大于所设阈值,将会产生中断信号,单片机进入中断程序后,读取传感器的加速度数据,并读取自上一次外部中断后的时间间隔,如果时间间隔在有效区间内,则本次数据有效,计步数据加1,并将计时单元清零,为下一次中断做准备。

图4 主程序流程图Fig. 4 Main program flow chart

如果先按下“自标定键”,则先进入自标定过程(如前所述),然后再按下“直接计步键”,则按照自标定过程获得的步频参数进行数据分析。

定时中断程序比较简单,单纯的计时供计步分析使用,这里不再赘述。

图5 外部中断程序流程图Fig. 5 External interrupt program flow chart

在传感器的初始化中,配置MMA8452Q为运动检测方式,包括如下步骤:

1)使传感器进入待机模式;2)使能垂直方向运动检测和锁存;3)设定运动检测阈值;4)设置去抖计数器以消除虚假读数;5)启用系统中的运动/自由落体中断功能;6)将传感器切换到主动模式。表3中列出了配置MMA8452Q的运动检测或自由落体检测的重要寄存器。

3 结 论

文中介绍了基于MEMS加速度传感器MMA8452Q的计步器设计方案,充分利用该传感器对模拟信号检测的滤波处理能力,配合软件抗干扰措施,通过检测人行走时腰部产生的垂直加速度变化,实现间接检测步数的目的。该设计硬件简单,实现方便。试验结果表明:能够较好地适应不同步频情况,计步精度较高,稳定性好。

表3 运动检测的重要寄存器Tab.3 Motion detection key register

[1]宋浩然 ,廖文帅 ,赵一鸣.基于加速度传感器ADXL330的高精度计步器[J].传感技术学报,2006,19(4):1005-1008.

SONG Hao-ran1 , LIA Wen-shuai , ZHA Yi-ming. Using 3-Axis Accelerometer ADXL330 to High Accuracy Pedometer[J]. Chinese Journal of Sensors and Actuators, 2006,19(4):1005-1008.

[2]韩文正,冯迪,李鹏等.基于加速度传感器LIS3DH 的计步器设计[J]. 传感器与微系统,2012,31(11):97-99.

HAN Wen-zheng,FENG Di,LI Peng,et al.Design of pedometer based on acceleration sensor LIS3DH[J]. Transducer and Microsystem Technologies,2012,31(11):97-99.

[3]庞晶,牟为华.基于ADXL202 的计步器[J].电子世界,2004(2):51-52.PANG Jing, MU Wei-hua. Using ADXL202 Pedometer[J].Electronics World,2004(2):51-52.

[4]Freescale Semiconductor,Inc.3-Axis,12-bit/8-bit Digital Accelerometer[EB/OL](2011-08)http://www.freescale.com.cn.

[5]Kimberly Tuck.High-Pass Filtered Data and Transient Detection Using the MMA8451, 2, 3Q[EB/OL](2011-10)http://www.freescale.com.cn.

[6]Kimberly Tuck.Motion and Freefall Detection Using the MMA8451,2,3Q[EB/OL](2011-10) http://www.freescale.com.cn.

[7]Kimberly Tuck.MMA8451,2,3Q Design Checklist and Board Mounting Guidelines[EB/OL](2010-09)http://www.freescale.com.cn.

An anti-interference design for pedometer based on MMA8452Q sensor

LI Ping, CHEN Peng-yu, LI Ze-ren
(School of Electric Multiple Units Engineering,Dalian Jiaotong University,Dalian116028,China)

This paper introduces a design of pedometer based on MMA8452Q. MMA8452Q is a smart low-power, threeaxis, capacitive micro-machined accelerometer with 12 bits of resolution. The design takes full advantage of the filter inside MMA8452Q for analog signal, and besides, uses anti-interference methods in software ways. The pedometer depends on detecting the changes of vertical acceleration on waist in walking process which indirectly reflect the step numbers to be measured. Though hardware design is much simple, the accuracy of counting is pretty high with good stability. This design has been passed practical tests, so it can be put into practice.

MMA8452Q; pedometer; single chip; anti-interference

TP212

A

1674-6236(2014)07-0161-04

2013-07-28稿件编号201307206

李 萍(1956—),女,辽宁盘锦人,硕士,教授。研究方向:测控技术与仪器智能化。

猜你喜欢
计步计步器中断
魔方小区
“步数”的背后
基于G-senor和步频的运动强度分析系统设计
移动手环的设计与实现
基于FPGA的中断控制器设计*
浅谈基于单片机的计步器设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
基于MTK平台的计步器功能软件设计
计步器