1、 毕 业 设 计 ( 论 文 )题目 基于 STM32 的电子计步器的设计与实现 专 业 电气工程及其自动化 I基于 STM32 的电子计步器的设计与实现摘 要随着生活节奏的不断加快,留给人们的锻炼时间越来越少,走路和跑步成为人们日常生活中为数不多的运动之一。计步器携带方便,能很好地完成量化运动量的目标。因此,最近几年各种计步器以及计步软件大量出现。鉴于人们对于步数检测准确度的要求以及使用便利的需求,十分有必要设计一套计步算法并应用于相关的计步器。本设计的研究目的是设计出一款高精度、便携的计步器。本设计的主要难点在于数据滤波算法以及计步检测算法的研究。首先,本设计分析了几种数据滤波的方法,选择
2、了比较适合的卡尔曼滤波算法。接着,分析了现有的几种计步检测算法,包括动态阈值算法和峰值检测算法。发现这些算法都不是很准确,所以本文设计了一种新的计步检测算法,提高了计步检测的精度,为其他研究者在步数检测方面提供了一种较好的解决方案。最后,本设计还采用了 TFT 彩屏的人机交互界面,可以实时显示卡路里、时间以及步数。通过实际调试过程中的不断改进,实现了计步器的准确检测。关键词: 计步器 MEMS 传感器 滤波 步数检测IIDesign and Implementation of Electronic pedometer Based on STM32AbstractWith the acceler
3、ating pace of life, less and less exercise time is left for people. Walking and running become one of the few sports in peoples daily life. The pedometer is easy to carry and can achieve the goal of quantifying the amount of motion well. Therefore, in recent years, a large number of pedometers and p
4、edometer softwares have appeared. In view of the requirement of accuracy and convenience of step detection, it is necessary to design a set of step counting algorithm and apply it to relevant pedometers.The purpose of this design is to design a high precision and portable pedometer. The main difficu
5、lty of this design is the research of data filtering algorithm and step-counting detection algorithm. Firstly, several data filtering methods are analyzed, and a suitable Kalman filtering algorithm is selected. Then, several existing step-by-step detection algorithms are analyzed, including dynamic
6、threshold algorithm and peak detection algorithm. It is found that these algorithms are not very accurate, so this paper designs a new step-counting detection algorithm, which improves the accuracy of step-counting detection, and provides a better solution for other researchers in step-counting dete
7、ction. Finally, the design also uses the human-computer interaction interface of TFT color screen, which can display the number of steps, distance, time and calories in real time.Through continuous improvement in the actual debugging process, the accurate detection of pedometer is realized.IIIKey wo
8、rds: pedometer; MEMS sensor; movement recognition; step detection 目录1 绪论 .11.1 研究背景和意义 .11.2 国内外研究现状 .11.3 章节安排 .22 系统总体设计方案 .32.1 设计目标 .32.2 系统架构分析 .32.3 系统方案分析 .32.3.1 佩戴位置选择 .32.3.2 MEMS 惯性传感器的数据读取 .42.3.3 数据融合与滤波 .52.3.4 计步算法 .83 系统硬件设计 .93.1 系统硬件电路总体设计 .93.2 单片机最小系统设计 .93.3 MEMS 传感器 .103.4 其他外围
9、电路 .113.4.1 电源转换 .113.4.2 TFT 彩屏电路 .113.4.3 无线串口通信 .124 系统软件设计 .134.1 系统软件总体设计 .134.2 中断设计 .144.2.1 定时器中断 .144.2.2 串口中断 .15IV4.2.3 中断优先级判断 .164.3 MPU6050 原始数据采集 .164.3.1 陀螺仪和加速度计的配置工作 .164.3.2 串行口的配置工作 .174.3.3 IIC 读取姿态传感器数据 .174.4 数据处理 .184.4.1 数据类型统一 .184.4.2 卡尔曼滤波 .194.5 计步算法 .214.6 无线串口通信 .225 系
10、统调试 .235.1 系统调试上位机 .235.2 标定 MPU6050 零点 .235.3 卡尔曼滤波参数调试 .235.4 计步测试 .246 总结与展望 .256.1 总结 .256.2 展望 .256.3 课题研究对环境以及社会的影响 .26参考文献 .27附录 .28附录一 系统硬件原理图和 PCB.28附录二 系统实物图 .29附录三 系统核心 .29致谢 .37毕业设计(论文)11 绪论1.1 研究背景和意义随着社会不断进步以及生活水平不断提高,人们逐渐开始重视自身的健康。据统计,2015 年中国的 60 岁及以上人口已经占总人口的 16.25%,达到 2.32 亿。预计 202
11、0 年老年人口将达到 2.38 亿,老龄化程度将达到 17.27%,其中 80 岁以上老年人口将超过三千万人;除了人口老龄化之外,肥胖问题也日益成为人们所关心的热点问题。根据世界卫计委和国家统计局的调查数据,中国人的肥胖人口正在逐年上升。从 1990 年到 2016 年,肥胖率从 14%上升到 31%,超重率从 4%上升到 15%。这些老龄人口与肥胖人口十分需要一款便携式的运动检测装备,通过监控日常的运动量来确保合理的运动量。实验表明,步行和跑步作为一种方便又十分有效的运动,既不需要占用场地,也不容易受到伤害,受到许多人的欢迎。这使得应用于计步的智能穿戴设备迅速发展。意大利的达芬奇制造了世界上
12、最早的计步器,但现存的最早的计步器是 1775 年日本制造的。这种机械式计步器主要是利用摆钟原理进行工作,摆动计步器时,内部的金属球会来回晃动,机械开关开始检测步伐,计步器内部的计数器数值增加。但这种机械式的计步器由于精确度比较差,早已不被人所使用,取代它的是电子式计步器。1.2 国内外研究现状国内市场上流行的大多是 3D 电子式计步器,通过加速度计来测量加速度变化,根据软件算法判断出步数。比起机械式计步器,电子式计步器的精确度有很大提升。现在市场上比较知名的国产品牌主要有乐心、小米、时刻美、爱希亚等。国内的小米手环 1 代采用 40mAh 的锂电池进行供电,实现了降低功耗的目的,续航时间大大
13、延长;国产的clingband 手环采用光学心率传感器,能够对人体进行心率耗时分析。另外,clingband 手环还可以通过高精度的温度传感器来实现对体表温度变化的监测; 国外计步器发展比较早,计步器除了计步的基础功能之外,还具备许多其他的功能。东京大学设计出一款鞋内嵌入式计步器,通过压电材料将运动所产生的机械能转化为电能,直接给计步器供电;韩国的 SAMSUNG 开发出一款拥有操作系统和预装软件的电子计步器,可以播放音乐、视频聊天和接听电话。毕业设计(论文)2从国内外现状可以看出,计步器设计不仅需要考虑续航能力、舒适度、外观等方面,还需要考虑如何获取更多的健康数据以及如何保证健康数据的准确性
14、。1.3 章节安排第一章:绪论,主要介绍计步器发展的研究背景与意义,并详细叙述下国内外技术上的创新。第二章:系统总体方案设计,简单介绍下计步器的设计目标,根据设计目标对系统的整体框架进行设计,对具体的系统方案进行选择。第三章:系统硬件电路设计,主要介绍了基于 STM32 的单片机最小系统、电源转换、MEMS 惯性传感器、TFT 彩屏显示、无线通信等硬件电路的设计。第四章:系统软件设计,首先介绍整个计步器的软件设计思路,接着介绍 MEMS 惯性传感器的数据获取、卡尔曼滤波、步数检测等具体部分的软件设计思路。第五章:系统调试,首先调试惯性传感器的参数,最后测试计步器的准确度性能。第六章:总结与展望
15、,总结了计步器设计所完成的设计目标,列举了计步器设计过程中所遇到的特殊问题。在计步器实现的功能上进行了展望,举出未来可以添加的功能。毕业设计(论文)32 系统总体设计方案2.1 设计目标本设计是一款电子计步器,用来量化用户的运动量。考虑到携带的方便,产品设计一定要紧凑以节省空间,看起来美观大方。同时,要很好地考虑到用户的体验。用户可以随时看到自己行走的步数,以及其他的一些健康数据,比如卡路里、运动时间。另外,计步器的最主要功能是计步,所以设计时一定要保证电子计步器的计步准确性。2.2 系统架构分析电子计步器需要对大量的数据进行处理,所以需要采用一款运算性能较强的单片机作为主处理器。电子计步器主
16、要是对人体位置的移动进行评估,因此需要选择一款合适的姿态传感器。主处理器通过姿态传感器得到加速度信号和角速度信号,对这两种信号进行处理,得到相对准确的角度变化。主处理器再对角度信号进行步数检测,得到准确的步伐。此外,可以添加显示屏、按键以及无线通信,方便数据的显示以及调试。系统的整体框架如图 2.1 所示。图 2.1 系统的整体框架图2.3 系统方案分析2.3.1 佩戴位置选择毕业设计(论文)4要实现步数检测首先需要对人行走和跑步时的姿态有一定的了解。人体在行走时,身体各部分都在运动,都会产生相应的周期性正弦加速度信号。一般来讲,用脚部的加速度信号进行对步数的检测,是比较准确的。但考虑到美观性
17、以及携带方便性,一般不将计步器佩戴在脚部。目前大部分计步器是利用手腕或腰部的运动来检测步数。本设计是一款比较常见的手腕式计步器。图 2.2 手腕式计步器 图 2.3 腰部式计步器2.3.2 MEMS 惯性传感器的数据读取在分析行走的特征参数时,通常选择加速度和角速度作为相关变量。MEMS 惯性传感器中包括加速度三个轴和陀螺仪三个轴,分别与人体运动的三个方向相对应。在表征加速度和角速度时,通常要选择变化最明显的轴。在实际场合时,因为传感器的佩戴位置不同,传感器的的测量值并不直接对应人体运动的三个方向,而对应传感器三个轴上的投影值。因此不应该简单地认为行走时某轴的变化一定最大,而应该通过观察 ME
18、MS 惯性传感器的原始数据来提取合适的加速度和角速度信号。因为本设计的佩戴位置已经确定,所以在行走过程中,会有固定的加速度轴和陀螺仪轴数据波动比较明显。为了接下来数据处理的方便,本设计将加速度计和陀螺仪三个轴的数据通过无线通信发送到电脑上,确定好加速度计和陀螺仪变化比较明显的那个轴,只用那两轴数据来表示加速度和角速度。图 2.4 人体运动模型 图 2.5 MPU6050 的各个轴毕业设计(论文)52.3.3 数据融合与滤波得到的 MEME 传感器原始数据包括角速度值和加速度计值。加速度计长时间测量的精度比较高,短时间测量会因为噪声而产生一定的偏差。陀螺仪则相反,短时间测量比较精确,长时间测量由
19、于温漂会产生误差。因此,本设计将两者进行数据融合,以确保测量数据的准确性。数据融合是对不同来源的数据进行综合分析后,最终得到状态估计。换而言之,就是将不同数据融合成一个新数据,便于接下来的数据处理。在实际的工程中,单个传感器的测量值未必能够真实反映物体的状态。所以实际运用中大多使用多个传感器,通过不同属性的传感器信息来得到准确的状态。这些年来,得益于微机电系统的迅猛发展,工业中开始广泛应用各种形式的传感器技术。对采集到的声音、图像、文字等进行数据融合,可以得到物体的真实状态。有许多数据融合算法可以进行多传感器的数据融合。(1)加权平均法处理的数据必须是同一类型的数据,根据数据来源的不同,对多个
20、数据赋予不同权重,使得融合出来的新数据能够反映物体的真实状态。(2)分组估计法是对采样数据进行分组处理,先计算出每一组数据的均方差,再赋予相应的权重,最后得到相应的数据融合值。(3)卡尔曼滤波法是一种基于时域的滤波方法,对于具有高斯噪声的线性系统,可以得到关于系统状态的最优估计。卡尔曼滤波法是一种进行最优估计的数据处理算法,并且它采用递归计算,在控制、通信以及导航方面应用很广,可以用于传感器数量较少的数据融合。卡尔曼滤波法用在数据融合时,使用一个传感器值作为此刻的测量值,由多个传感器值得到下一个时刻的预估值,最后再由此刻的测量值和上一时刻的预估值计算出此刻的最优估计值。(4)贝叶斯估计法会把数据看作具备某种分布特征的随机变量,允许我们通过观测值以及之前总结出来的规律对数据进行估计。用在数据融合时,通常适用于传感器数量较多、数据量庞大的场合。本设计要对加速度信号和角速度信号进行数据融合,得到拟合角度值,方便接下来的计步算法。卡尔曼滤波法不仅能够达到实时处理的目标,还可以滤除噪声,十分适合本设计。