微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MMA8452Q加速度传感器的计步器设计

基于MMA8452Q加速度传感器的计步器设计

时间:07-09 来源:互联网 点击:

扰功能的利用

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的加速度值。

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

经过对人行走、跑步、晃动等加速度变化的分析,综合考虑选取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所示。开始工作后首先进行初始化、

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top