摘要:随着互联网时代的到来,越来越多的智能化设备帮助人们生活质量,计步器作为一款可穿戴跟踪设备,可以记录行走步,提高运动乐趣。有别于传统的计步器,腰带型计步器嵌入腰带内部,能够缩小穿戴设备的体积和免去可穿戴设备的“二次穿戴”问题,并且依靠精度高、功耗低的ADLX345 传感器实现准确计步,实验表明:腰带型计步器具有体积小,结构简单,稳定性高,能够满足计步要求。
0 引言
当今社会,随着经济的发展,人民的生活水平越来越高,生活节奏越来越快,伴随而来的是人们的身体素质普遍下降,体重超标、亚健康等问题普遍存在。人们也越来越关注自己的身体健康问题,而锻炼身体是使自己保持健康的最有效方法。计步器作为一款可穿戴健康跟踪设备,可以记录人的行走步数,反馈给用户准确的运动数据,帮助佩戴者量化锻炼强度、制定合理的健身方案,提醒佩戴者适当调节运动量,激励佩戴者坚持锻炼身体。
目前计步器有机械式和电子式两种。机械式计步器依靠内部簧片的振动产生电子脉冲, 进而达到计步的功能。其准确性和灵敏度较低。电子式的计步器通过测量人体行走时加速度的变化,来达到计步的功能。电子式计步器有较好的准确性和灵敏度。电子计步器有的要求确定的佩戴部位,比如腰部、手腕等;有的对佩戴部位没有要求,只要放在身边的口袋里、手提包中就可以计步。总的来说,佩戴手腕的计步器和对佩戴部位无要求的计步器实现精确计步的难度较大,开发成本也较高。佩戴在腰部的计步器更加容易实现精确计步功能,其成本也较低。它们都需要进行“二次穿戴”。
1 硬件设计
1.1 ADXL345 传感器
计步器由ADXL345 加速度传感器、STC90C51 单片机、LCD1602 显示器,归零按键、等几个部分组成。由电池进行供电。ADXL345 是一款小而薄的超低功耗3 轴加速度计,测量范围达± 16g。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。其基本工作流程为:首先由三轴敏感单元敏感3 个方向加速度,然后通过电子感应器件将感应到物理量模拟化,再通过 A/D 采样转换成数字信号,经过数字滤波后送往控制与中断逻辑,在命令字的控制下通过串行 I/O 口与主设备交互。
1.2 IIC 总线通信
ADXL345 有两种与微处理器(单片机)通信的方式:SPI 和IIC。我们采用的通信方式是IIC 总线通讯方式。IIC 总线由数据线SDA 和是钟线SCL 构成,可发送和接受数据。在CPU 与被控IC 之间、IC 和IC 之间进行双向传送,最高传送速率100Kbps。IIC 总线的主要优点有:1、占用的空间非常小,减小了电路板的空间和芯片管脚的数量,降低了互联成本。2、支持多主控,其中任何能够进行发送和接受的设备都可以成为主设备。如果 CS 片选引脚接 VDD I/O 高电平的话,IIC 接口模式启用。IIC 一个可变地址 0x53,可能会被引脚SDO 选中,此时写操作为 0xA6,读操作为 0xA7。其工作工程为:首先启动IIC 总线,为数据传输做好准备,然后向从设备(ADXL345)发送存储单元地址,再连续读取6 个地址数据存入接受数据缓存区,接收完以后从设备(ADXL345)向主设备(微处理器)发送应答信号,最后在发送停止信号,标志一次数据的传输终止,IIC 总线处于空闲状态。
1.3 STC90C51 单片机
STC90C51 单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的增强型8051 单片机,其在一块硅片上集成了中央处理器(CPU),程序存储器(Flash)和数据储存器(SRAM)、定时器/计数器、UART 串口、I/O 接口、EEPROM、看门狗等模块。具有一台计算机属性。STC90C51 工作电压为3.3V—5.5V,共有40 个管脚,通用I/O 口为35 个。
STC90C51 一端连接着 ADXL345,对ADXL345 传输来的数据进行处理和判断,另一端连接中LCD1602 显示器,将显示命令和显示的数据传输给LCD1602。同时,还有归零按键、断电按钮等。
1.4 LCD1602 显示器
本次设计采用的LCD1602 字符型液晶显示屏作为系统的显示界面。LCD1602 显示器是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5 ╳ 7 或者5 ╳ 11 的点阵字符位组成,每个点阵字符位都可以显示一个字符。其中,引脚编号1、2 为电源端;引脚编号3 为液晶显示偏压信号,用于调节显示对比度;编号4 为数据/ 命令选择端,与单片机P1.0 口相连;编号5 为读/ 写选择端,与单片机P1.1 口相连;编号6 为使能端,与单片机P2.5 口相连;编号7 到编号14 为8 个数据I/O 口;引脚编号15、16 为背光源电源端。首先,对LCD1602 进行初始化,设置光标、指针等数据,然后写入命令,设置符号的显示位置,最后,连续将字符写入显示器,LCD1602 显示器会把字符显示出来。
2 人体行走模型
人在行走过程中有很多参数发生变化,比如:距离、能量、加速度等。而通过加速度变化来描述人行走特征是一种简便、可行的方法。从脚的加速度来检测步数是最准确的, 但是考虑到携带的方便, 我们选择利用腰部的运动来检测步数。腰部的运动加速度可以分解成垂直轴,前进轴已经侧向轴三个方向。如图1 所示。ADXL345 是一个三轴(X 轴、Y 轴和 Z 轴) 模拟输出的加速度传感器, 正好可以作为垂直、侧向和前进三个方向的传感器。如图2 所示。从图中可以看到垂直轴(X 轴)和前进轴(Z 轴)方向上有着较为明显的周期特性。垂直轴加速度值最小处对应的是脚离开地面( 一步的开始或结束) , 最大值对应脚抬到最高点。前进轴加速度最小处对应的是脚离开地面( 一步的开始或结束), 最大值对应脚抬到最高点。
3 软件实现
通常情况下,人的最大步频不超过5 步/s,最小步频为0.5步/s。所以,人行走的频率为0.5—5hz 之间,因此,我们通过低通滤波器过滤掉5hz 以上的噪音频率,通过在程序里面设定时间间隔,将0.5hz 以下的频率过滤掉,最终得到0.5—5hz 的有效频率。
此外,由于不同人行走时的加速度输出是不同的,所以作者设计了一种动态滤波程序,程序持续更新记录下X 轴输出数据的最大值(max)和最小值(min),当记录下100 组数据时,求其一次平均值(average),即将所有的max 和min 求和除以100。为了排除系统误差,当max 超过程序本身设定的一个上限值或者min 小于程序本身设定的一个下限值,自动将本次max 取为上限值或者将本次min 取为下限值。接下来记录的100 次max 和min 数据过程中,利用average 数值来判断人行走的步数。
程序不断地更新最大值和最小值。每当程序记录下来一个min 时,开始记录采样点数,在一定的采样点数内能够采集到最大值(max),并且max 和min 都超过了由average 所确定的一定区间时,可以判断为一步有效步成立。同时,Z 轴的加速度变化满足程序所设定的要求时,计步程序加1。另外,为了验证腰带型计步器的计步准确性,将ADXL345 传感器安装在实验者的腰部进行了5次步频不同的测试,每次测试行走100 步。实验结果如表1 所示。
4 结论
ADXL345 是ADI 公司开发的一款功耗低、封装小、高精度的三轴加速度传感器。基于ADXL345 的腰带型计步器可以达到现在市场上普通计步器的计步精度,与人们普遍使用的腰带相结合,大大减轻了计步器需要二次穿戴的繁琐问题。另外,计步器嵌于腰带头内可有效缩小空间和保证稳定性。腰带型计步器能够较好地适应不同步频情况,保证计步准确性。