基于单片机的简易计步器设计
2015-05-30杜波等
杜波等
摘 要:为了满足人们的健身需求,设计一种以单片机为核心的简易计步器,利用三轴加速度传感器采集人体运动中的加速度信号,利用卡尔曼滤波对信号进行处理,并对滤波后的加速度信号进行整合和分析,从而对人体运动的“一步”进行判断,从而实现计步功能。系统配有日历时钟电路,可提供时间信息。根据步数可计算距离、速度和卡洛里等相关参数,通过显示器和语音进行输出,其系统结构简单,价格低廉,满足计步需求。
关键词:计步器;加速度传感器;AT89S52;卡尔曼滤波
引言
伴随经济的快速发展,人们生活水平不断提高,导致肥胖的人越来越多,也带来了许多健康问题。而快节奏的生活使人们没有那么多的时间去运动,因此需要一种简易的锻炼手段。计步器是一种日常锻炼的辅助设备,简便易用,在工作、生活中可随时监测人们的运动,受到人们的普遍欢迎。目前市场上的计步器分为机械式和电子式两种,机械式不够精准,而电子式往往价格昂贵。设计一种简易的计步器,实现计步功能,价格低廉,可计算跑步时或走步时的步数、距离、速度、运动的卡洛里参数。具有存储功能,人们可对自己的运动状态进行长期监测。
1 设计方案
整个系统由控制器、加速度传感器、键盘、显示器、外部存储芯片和时钟芯片构成,通过加速度传感器对人体运动中的加速度信号进行采集,经过单片机的分析处理,整理出运动步数,并计算出距离、速度、卡洛里等相关信息。外接时钟芯片和存储芯片,提供日期和时间信号,并对数据进行存储。并配有键盘显示电路和语音提示电路,系统框图如图1所示。
2 硬件设计
简易计步器硬件系统采用Atmel公司的AT89S52作为控制器,整个硬件系统主要可分为三大部分:采集电路、人机交互电路和其他电路。
2.1 采集电路设计
系统主要采集信号是人体运动过程当中的加速度信号,采用传感器MPU6050,它集成了3轴MEMS 陀螺仪和3轴MEMS的运动处理加速度传感器。具有I2C接口,加速器感测范围为±2g、±4g±8g与±16g,具有最高至400kHz的I2C或最高达20MHz的SPI接口。模块内部自带电压稳定电路,可以兼容3.3V/5V的嵌入式系统,使与控制器连接方便。图2位MPU6050的三维方向示意图,MPU6050与AT89S52接口电路采用I2C接口方式。
2.2 人机交互电路设计
人机交互电路包括键盘、显示电路和语音电路,主要提供计步器与外部的信息交换。键盘采用独立式按键,电路简单。显示电路采用液晶传感器,LCD1602显示模块是字符型,能够显示字母和数字,以及符号等点阵。LCD1602的接口方式有并行和串行两种方式,设计采用并行方式。系统除了提供液晶显示以外,还提供语音输出功能,方便人们在达到运动中得到及时的提示。语音芯片采用ISD1820,ISD1820供电电压为直流3-5V,可实现10秒钟的语音录放,并具有循环播放,点动播放,单边播放功能,并可用单片机控制。首先搭建语音按键控制电路,利用按键和麦克对语音进行录制,然后将按键控制电路改为单片机控制的语音电路。
2.3 其他电路设计
其他电路包括时钟电路和外部存储电路。为了准确的提供日期和时间,系统外接时钟电路,采用DS1302,DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V,采用三线接口与CPU进行同步通信。
系统每次对人体运动中的加速度信号进行采集和分析,得到运动的步数,并通过软件计算相关数据,如距离、速度、运动卡路里,以及本次运动的日期和时间等数据,这些数据将被存储在外部数据存储器当中,可通过按键对以往数据进行调用和显示。外部存储芯片采用AT24C02,这是一个2K串行CMOS E2PROM,内部含有256个8位字节,I2C接口并具有一个专门的写保护功能。
3 软件设计
3.1 采样频率设定
根据资料显示,人行走的频率一般在110步/min(1.8Hz)[1],跑步时的频率不会超过5Hz,因此系统选择100Hz的采样率,可以比较准确地反映加速度信号的变化。
佩戴加速度传感器,使传感器的X轴指向正前方,Y轴指向竖直向上,Z轴指向右方,采集加速度信号如图3所示。从波形图中可以明显看出人在走步时的脉动。
3.2 数据分析
不同的人行走会有不同加速度大小的输出,传统方法是采用一轴最大加速度输出为有效的输出[2]。从采集数据波形上直接分析步数并不是很明显,因此首先采用卡尔曼滤波对数据进行处理,然后对滤波后的三轴加速度进行合成。
a=■ (1)
合成后,合成加速度a的波形图如图4所示,与图3相比较,波形脉动情况更加清晰。系统的计步功能启动后,有一个初始过程,在此过程中,记录运动者的合成加速度信号的峰值并存储,然后开始利用略低于峰值的值作为阈值,对“一步”进行判断,每一步都有从下往上和从上往下经过阈值的过程,判断出一次此过程,计一步,从而实现计步功能。时钟芯片提供时间,通过相应运算,可计算得到距离、速度、卡路里等参数。
3.3 软件流程
根据设计思路,绘制软件流程图如图5所示,编写软件程序,实现系统功能。
4 结束语
简易计步器以AT89S52单片机为核心,对人体运动中的加速度信号进行采集和定位,经卡尔曼滤波处理后,对加速度信号进行合成,通过对合成信号的分析,对“一步”进行判断,从而实现计步功能。并可进一步计算距离、速度、卡洛里等参数,通过液晶显示器和语音电路进行信息提示,并可将参数信息进行存储,同时系统配有按键功能,方便人们对存储数据进行提取,方便对自身的运动情况进行长期观测。简易计步器方便人们在日常工作和生活中进行锻炼,其体积小,价格低廉,具有实用性。
参考文献
[1]尚亮,周先国,韩新红.基于Labview 的加速度传感器运动信息采集平台设计[J].计算机测量与控制,2009(9):1790-1792.
[2]张军建.基于三轴加速度传感器的体位突变检测研究[D].山东:山东师范大学,2014.
[3]张团善,何颖.卡尔曼滤波在两轮自平衡代步车姿态检测中的应用[J].单片机与嵌入式系统应用,2014(5):33-35.
[4]InvenSense Inc. MPU-6000 and MPU-6050 Product Specification Revision 3.2.pdf. www.invensense.com, 2011:7.