新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MMA8452Q传感器的计步器抗干扰设计

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

作者:时间:2016-10-15来源:网络收藏

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

本文引用地址:http://www.amcfsurvey.com/article/201610/307542.htm

关键词;;;

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

1 系统方案设计

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

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

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

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

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

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

1.2 硬件系统设计

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

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

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

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

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

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

2 抗干扰设计

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

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

2.1.1 高通滤波器的设置

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

2.1.2 中断阈值的使用

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

引脚INT1和INT2可以配置成“推挽”或“开漏”输出方式,即可以“高电平有效”也可以“低电平有效”。如果被配置成“开漏”输出方式并且外带上拉电阻,该引脚就被设置为“低电平有效”,刚好与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的加速度值。

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

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

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

经过对人行走、跑步、晃动等加速度变化的分析,综合考虑选取1.1 g为加速度阈值。在MMA8452Q传感器中有一个阈值寄存器,数值范围为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,并将计时单元清零,为下一次中断做准备。

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

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

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

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

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

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

3 结论

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



评论


相关推荐

技术专区

关闭