毕业设计论文基于单片机的计步器设计概要.docx
《毕业设计论文基于单片机的计步器设计概要.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的计步器设计概要.docx(19页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于单片机的计步器设计概要
玉林师范学院本科生毕业设计
基于单片机的计步器设计
ThePedometerDesignBasedonSingleChipMicrocomputer
院系
电子与通信工程学院
专业
电信工程
学生班级
2012级1班
姓名
胡丽娜
学号
201208401144
指导教师单位
电子与通信工程学院
指导教师姓名
吕集尔
指导教师职称
高级实验师
基于单片机的计步器设计
电子信息科学与技术2012级1班胡丽娜
指导老师吕集尔
摘要
简易加速度计步器以竖直方向加速度传感器MMA7260与单片机PIC18F452组成的计步测试系统,能够对人体运动的运动量作出评估。
与传统的机械式传感器不同,MMA7260是电容式传感器,由它捕获人体运动时加速度信号,更加准确。
信号通过低通滤波器滤波,由单片机内置A/D转换器对信号进行采样、A/D转换。
软件采用自适应算法实现计步功能,减少误计数,更加精确。
单片机控制5110液晶显示计步状态。
整机工作电流只有1-1.5mA,实现超低功耗。
关键字:
单片机,电子计步器,加速度传感器
ThePedometerDesignBasedonSingleChipMicrocomputer
ElectronicInformationScienceandTechnology2012-1Hulina
SupervisorLvjier
Abstract
SimpleaccelerationpedometerwithtriaxialaccelerationsensorMMA7260stepmetertestsystemcomposedofMCUPIC18F452,canexerciseanassessmenttothehumanbodymovement.Differentfromthetraditionalmechanicalsensor,sensorMMA7260iscapacitivethreeaxis,byaccelerationsignalwhenitcapturesthehumanbodymovement,moreaccurate.Isfilteredbylow-passfilter,thesinglechipmicrocomputerbuilt-inA/Dconverterforsignalsampling,A/Dconversion.Softwareusingadaptivealgorithmimplementationplanstepfunction,reducetheerrorcount,moreprecise.Single-chipmicrocomputercontrolstep5110liquidcrystaldisplaymeter.Thewholemachineworkingcurrentisonly1-1.5mA,realizeultra-lowpowerconsumption.
Keywords:
SCM,electronicpedometer,triaxialaccelerationsensor
1引言
1.1计步器的发展背景
随着社会的不断进步与发展,人们的物质生活水平不断提高,人们便开始越来越关注自身的健康。
运动则是最好的方式,计步器作为一种可以计算行走的步数测量仪器,所以人们可以制定适量的运动方案来健身,并根据运行情况来分析人体的健康状况,因此越发被广泛的应用。
电子计步器是一种适应市场需求的设计,使用起来也简单方便。
1.2计步器的研究目的
计步器是一种十分受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,能够增强体质,并且帮助减肥瘦身。
早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。
每当晃动这些装置时,可便以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。
1.3目标
通过设计一个以STC89C52单片机为核心的计步器可以实现计频数,频数累计功能。
是一种结构简单、性能稳定、使用方便、价格低廉、智能化的计步器,具有一定的实用价值。
2系统总体设计
2.1总体框图
如图2.1所以,该计步器总共由四个模块构成。
低通滤波器、主控MCU、竖直方向加速度传感器、显示模块组成。
传感器采集数据经低通滤波器滤波,输入单片机内部A/D、D/A,将数据处理后输出液晶显示,加速度传感器的竖直方向的加速度输出,AN0为单片机一个模拟输入口,数据经单片机处理后由液晶输出。
图2.1计步器总体框图
Fig.2.1Pedometeroverallblockdiagram
2.2传感器选择
传统的机械式的计步器利用人体行走时的振动引起计步器内部簧片或者弹力小球的振动来产生电子脉冲,内部处理器通过判断电子脉冲的方法来达到计步的功能。
这种机械式方式的成本比较低,但是它的准确性和灵敏度很低。
DXL330是一个竖直方向模拟输出的加速度传感器,正好可以作为垂直方向的传感器。
利用MEMS(微机电系统)加速度传感器制作工艺,很容易地和传统的CMoS工艺结合起来,服机械式的准确性和灵敏度低的缺点。
MMA7260是美国Freescale公司推盘的一款低成本、单芯片,置轴加速度传感器。
该微型电容式加速度传感器融合了信号调理、单掇低通滤波器和滠度补偿技本,并提供四种加速度范围。
DXL330和MMA7260都是适合于做手持式电子计步器的传感器,但相比之下,MMA7260价格更低,性价比稍好,该设计选择MMA7260。
2.3低通滤波器理论分析
通常来讲,人体每秒钟行走5~2步,最多不超过5步。
因此,合理的计步器输出为0.5~5Hz。
在模拟电路部分,采用5Hz的抗混叠带宽来过滤高频噪声;在数字电路部分,采用5Hz截止频率的FIR低通滤波器来过滤高频噪声。
FIR低通滤波器参数设计分析:
根据现有资源情况,以及考虑性价比因素,只对信号进行简单的低通滤波。
参考芯片手册资料,选择电阻1kΩ电阻,0.1uF电容构成一个无源低通滤波。
由截止频率得=1592Hz。
低通滤波器无法过滤0.5Hz以下的噪声,因此我们采用了时间窗口的方法来实现。
如图2.2所示,我们把大于T1或者小于T2的频率输出都认为是噪声的影响。
图2.2传感器输出曲线图
Fig2.2Sensoroutputcurve
3硬件电路设计
3.1传感器连接及滤波电路模块
如图3.1所示,为传感器底座,接口以及滤波电路图。
在信号通过输出前通过一阶滤波电路滤波。
图3.1传感器连接及滤波电路
Fig.3.1Sensorconnectionandfiltercircuit
此模块电路主要功能就用于做MMA7260加速度传感器的一个转接口,而且利用MMA7260该加速度传感器产生相应的变化值。
相当于整个系统的信号产生模块。
在MMA7260每一路信号输出端都接了一个RC低能滤波器,从而在硬件上做到减小高频噪声干扰。
3.2微处理器模块
本系统中是以PIC18F452为主控芯片来设计的,区别于一般的MCS-51单片机的总线结构是冯-诺依曼型、单指令流水线结构。
PIC单片机的总线结构是哈佛结构、双指令流水线结构,指令和数据空间是完全分开的,可以对程序和数据同时进行访问,所以提高了数据吞吐率。
也是因为哈弗结构程序和数据总线可以采用不同的宽度,数据总线都是8位的,但指令总线位数分别位12、14、16位。
我们选择的Pic18f452就是数据总线为8位,指令总线为16位的一款单片机。
另外PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作。
如图3.2所示,主控模块由pic18f452为主要部分,外接一个16M的晶振,接上VCC和地构成最小系统模块。
图3.2主控制器最小系统电路
Fig.3.2Maincontrollerminimumsystemcircuit
3.3显示模块
5110是一块低功耗的CMOSLCD控制驱动器,设计为驱动48行84列的图形显示。
所有必须的显示功能集成在一块芯片上,包括LCD电压及偏置电压发生器,只须很少外部元件且功耗小。
5110与微控制器的接口使用串行总线。
以下是5110主要的几个引脚的功能:
SDIN:
串行数据线
SCLK:
串行时钟线
D/C:
模式选择
SCE:
芯片使能
RES:
复位实时时钟模块
图3.3显示模块
Fig.3.3Displaymodule
如图3.3所示,将SCE与单片机的RD3连接,将RES(RST)连接到单片机的RD4,D/C连接到单片机的RD5引脚,将DIN连接到单片机的RD6,SCLK连接到RC3。
4软件设计
软件总体设计
图4.1程序流程图
Fig.4.1Programflowchart
程序流程图如图4.1所示:
不同的人行走会有不同加速度大小的输出,因此软件中动态参数的设置提供了一种自适应的方法,来满足不同行人的要求。
动态参数包括动态精度、动态阈值以及加速度传感器的峰一峰值的输出。
动态精度是用来量化采样的数据以去除高频的噪声;动态阈值满足下式就可以判断一步的成立。
OldData>DynamicThreshold>NewData。
于是在进入测试后首先进行预采样,进行自适应,获得动态阈值。
软件中量化的模块有两个移位寄存器组成:
新数据寄存器和旧数据寄存器。
新数据寄存器的内容为动态精度和加速度变化值,当加速度变化值大于动态精度时,这时的数据就可以移位到新数据寄存器;当加速度变化值小于或者等于动态精度时,新数据寄存器保持不变。
旧数据寄存器则不断的更新采样的数据。
为防止不同时间,人体运动状态不同,设置软件每隔50步,重新采样取得阈值,继续计数,同时为防止不同时间的阈值不同产生的误计数,比如人已经停止运动,但是没有按下结束键是,采用前后两次阈值比较,在某一变化范围内认为有效阈值,这样就避免了错误的计数,提高了计数精度。
输入步长,在结束运动时,可以计算运动的里程数,对锻炼量进行评估。
5制作与调试
5.1硬件电路单片机部分的连接图
5.2调试
为了检测计步算法的可行性,我们做了以下实验:
测试系统主电路板及附属电源组成,在实验中本测试系统由测试对象随身携带,全部绑在脚的正左方,像携带沙袋一样。
分别进行多次实验,得到多组数据。
5.3实测及误差分析
测试方案:
由于加速度传感器有竖直加速度测试值,所以测试时采用把传感器按x轴向竖直向上的方法分别进行测量,进行评估。
以每次100步为标准,测试结果如下表5.1所示:
表5.1作品测试结果
Table.5.1Workstestresults
次数
竖直向上
竖直向上
竖直向上
标准
实测
误差
标准
实测
误差
标准
实测
误差
1
100
98
-2
100
96
-4
100
97
-3
2
100
97
-3
100
95
-5
100
103
3
3
100
96
-4
100
101
1
100
103
3
4
100
97
-3
100
100
0
100
96
-4
5
100
101
1
100
104
4
100
104
4
6
100