基于加速度传感器的计步器设计与实现
品慧电子讯计步器是一种日常锻炼进度监控器,可以计算人们行走的步数,估计行走距离、消耗的卡路里,方便人们随时监控自己的健身强度、运动水平和新陈代谢。早期的机械式计步器利用人走动时产生的振动触发机械开关检测步伐,虽然成本低,但是准确度和灵敏度都很低,体积较大,且不利于系统集成。
随着MEMS 技术的发展,基于MEMS 技术的惯性传感器得到迅速发展,其具有价格低、体积小、功耗低、精度高的特点,利用MEMS 加速度传感器设计的电子计步器,通过测量人体行走时的加速度信息,经过软件算法计算步伐,可以克服机械式计步器准确度和灵敏度低的缺点,可准确地检测步伐,同时还可以输出运动状态的实时数据,对运动数据进行采集和分析。
1 人体运动模型
通过步态加速度信号提取人步行的特征参数是一种简便、可行的步态分析方法。行走运动包括3 个分量,分别是前向、侧向以及垂直向,如图1 所示。LIS3DH 是一种三轴( X,Y,Z 轴) 的数字输出加速度器,可以与运动的3 个方向相对应。
行走运动分量在一个步伐,即一个迈步周期中加速度变化规律如图2 所示,脚蹬地离开地面是一步的开始,此时,由于地面的反作用力垂直加速度开始增大,身体重心上移,当脚达到最高位置时,垂直加速度达到最大,然后脚向下运动,垂直加速度开始减小,直至脚着地,加速度减至最小值,接着下一次迈步发生。前向加速度由脚与地面的摩擦力产生的,因此,双脚触地时增大,在一脚离地时减小。
图3 为一次步行实验中,LIS3DH 检测到的X,Y,Z 轴的加速度变化情况。可以看出: Z 轴加速度数据( 人行走的竖直方向) 具有明显的周期性,加速度值最小处对应的是脚离开地面( 一步的开始或结束) ,最大值对应脚抬到最高点。
在具体使用时,手持设备的放置情况是随意的,加速度计的3 个轴有可能不与人体模型定义的3 个轴向重合,文中提到利用加速度的峰—峰值来判断加速输出最大的一轴作为有效轴。但这种方法易丢失计数点,使计数不够准确。为了充分利用加速度传感器输出的三轴信号,本文将加速度信号进行取模求和后用来计步。
2 算法设计
由图3 可知,Z 向加速度计原始输出虽然具有一定的周期性,但由于噪声导致变化复杂,不易于直接进行计步,需对信号进行滤波,尽可能消除噪声影响。通常情况下,人的步频最快不会超过5 steps /s,最慢为0.5 steps /s。因此,可以认为原始信号中频率为0. 5 ~ 5 Hz 的信号为有用信号,其他信号均为噪声。可以用( FFT) 滤波实现保留部分频率信息的要求,提取有用信息。但正常行走的任一段时间内,步频的变化都会集中在峰值频率附近的一个小范围内,而不是0. 5~ 5 Hz 这么大,所以,本文经过分析大量实验数据的频谱,建立了一个比0. 5 ~ 5 Hz 小的自适应频率范围( f1,f2) ( 如图4 所示) ,通过FFT 保留该频率范围内的有用信号,去除范围外的无用信息。
经实验验证利用该动态频率范围能更好地去除噪声对步数判断的影响,如图5( a) 和( b) 所示。图5 ( a) 是利用FFT 滤波和动态频率范围对原始加速度信号滤波后的加速度变化曲线,图5( b) 是直接利用FFT 滤波与0. 5 ~ 5 Hz 的频率范围对原始加速度滤波后的加速度变化曲线。
由图5 可以看出: 图5( a) 中部分噪声还不能消除,存在多峰值的情况,而计步图5( b) 中加速度曲线较平滑,加速度的周期性化趋势已非常明显,变换规律也比较简单,可利用软件算法实现计步,停止时加速度虽仍有一定的输出,但其峰值明显小于行走时加速度峰值,因此,可通过限定加速度的大小去除影响。对行走时加速度变化曲线进行分析,可以看出在一定时间间隔内会有一个加速度波谷( 图中的1 ~ 4 点) 和加速度最小的时刻( 对应脚落下或者抬起) ,当脚抬起来的时候( “起点”) ,身体重心上移,加速度也变大,加速度曲线中波峰对应的是人脚抬至最高处,再到下一个波谷,这就是一个完整的步伐。此外,计步器因步行之外的原因而迅速或缓慢振动时,也会被计数器误认为是步伐。在步行时,速度快时一个步伐所占的时间间隔长,走的慢时时间间隔短,但都应在动态频率范围确定时间窗口内,所以,利用这个时间窗口就可以有效地减小无效振动对步频判断造成的影响。基于以上分析,可以确定迈步周期中加速度变化情况应具备以下特点
(1)一个迈步周期中仅出现一次加速度极大值、极小值,有一个上升区间和下降区间; (2)一个单调区间对应迈步周期的50 %,因而,时间间隔应该在1 /2 个时间窗口之间; (3)行走时,加速度极大值与极小值是交替出现的,且其差的绝对值不小于预设的阈值1。根据以上三点对加速度变化区间进行约束,认为同时满足以上三点变化区间对应半个步伐。具体流程图如图6所示。
3 硬件实现
图7 所示为系统的硬件结构框图。本文中选用的加速度传感器LIS3DH 输出数字信号,所以,采样得到的数据不必再专门选用芯片来做模数转换。传感器和控制模块接口为SPI 总线或者I2C 总线。加速度传感器LIS3DH,有X,Y,Z 三个自由度的加速度数字输出,可以全方位感知人体行走运动信息; 控制模块由LCD12864[5]显示模块、微控制器MC9S12XS128[6]、键盘和电源组成,用来读取加速度信息,并将算法处理得到计步数值显示在液晶显示屏上。
为了检验计步器的精度和适应能力,在加速度计Z 轴朝上的情况下从较慢步频、正常步频、较快步频3 个方面进行测试,分别进行2 组实验,每次实验行走100 步。计步器测试结果见表1。
4 结论
加速度传感器LIS3DH 采用3mm &TImes; 3mm &TImes; 1mm 的小尺寸封装,大大减小了整个系统的尺寸,可以很方便地移植到如手机、遥控器以及游戏机这些有运动感应功能,而空间和功耗有严格限制的设计中; 由于具有三轴数字输出功能,用户可以将计步器戴在身上任何部位。该计步系统可以较好地适应不同步频情况,计步精度高,稳定性好。
推荐阅读:
电源线的噪声共模干扰和差模干扰优化设计
可控的开关电源软启动电路应用设计
浅谈集成稳压器调整率参数的测量原理和方法
《2017年协作机器人行业发展蓝皮书》重磅全球首发