《2022年毕业设计论文基于单片机的计步器设计 .pdf》由会员分享,可在线阅读,更多相关《2022年毕业设计论文基于单片机的计步器设计 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、玉林师范学院本科生毕业设计基于单片机的计步器设计The Pedometer Design Based on Single Chip Microcomputer院系电子与通信工程学院专业电信工程学生班级2012 级 1 班姓名胡丽娜学号201208401144 指导教师单位电子与通信工程学院指导教师姓名吕集尔指导教师职称高级实验师名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - 基于单片机的计步器设计电子信息科学与技术2012级
2、1 班胡丽娜指导老师吕集尔摘要简易加速度计步器以竖直方向加速度传感器MMA7260 与单片机 PIC18F452组成的计步测试系统,能够对人体运动的运动量作出评估。与传统的机械式传感器不同,MMA7260 是电容式传感器, 由它捕获人体运动时加速度信号, 更加准确。信号通过低通滤波器滤波,由单片机内置AD 转换器对信号进行采样、 AD 转换。软件采用自适应算法实现计步功能,减少误计数, 更加精确。单片机控制 5110液晶显示计步状态。整机工作电流只有1-1.5mA,实现超低功耗。关键字 :单片机,电子计步器,加速度传感器名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
3、- - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - The Pedometer Design Based on Single Chip Microcomputer Electronic Information Science and Technology 2012-1 Hulina Supervisor Lvjier Abstract Simple acceleration pedometer with triaxial acceleration sensor MMA7260 step meter te
4、st system composed of MCU PIC18F452, can exercise an assessment to the human body movement.Different from the traditional mechanical sensor, sensor MMA7260 is capacitive three axis, by acceleration signal when it captures the human body movement, more accurate.Is filtered by low-pass filter, the sin
5、gle chip microcomputer built-in A/D converter for signal sampling, A/D conversion.Software using adaptive algorithm implementation plan step function, reduce the error count, more precise.Single-chip microcomputer control step 5110 liquid crystal display meter.The whole machine working current is on
6、ly 1-1.5 mA, realize ultra-low power consumption. Keywords:SCM, electronic pedometer, triaxial acceleration sensor 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - 目录1 引言 . 12 系统总体设计 . 12.1 总体框图 . 12.2 传感器选择 . 22.3 低通滤波器理论分析 . 23 硬件电路设计 . 3
7、3.1 传感器连接及滤波电路模块 . 33.2 微处理器模块 . 43.3 显示模块 . 54 软件设计 . 65 制作与调试 . 85.1 硬件电路单片机部分的连接图 . 85.2 调试 . 85.3 实测及误差分析 . 96 结论及建议 . 9参考文献 . 11 附录 1 实物图 . 11 附录 2 总原理图 . 12 附录 3 源程序 . 13 附录 4 加速度计步器 MMA7260 简介. 18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - -
8、 - - - - - - 玉林师范学院本科生毕业设计1 1 引言1.1计步器的发展背景随着社会的不断进步与发展, 人们的物质生活水平不断提高,人们便开始越来越关注自身的健康。运动则是最好的方式,计步器作为一种可以计算行走的步数测量仪器,所以人们可以制定适量的运动方案来健身,并根据运行情况来分析人体的健康状况,因此越发被广泛的应用。电子计步器是一种适应市场需求的设计,使用起来也简单方便。 1.2 计步器的研究目的计步器是一种十分受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,能够增强体质,并且帮助减肥瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。每当晃动这些装置时,可便以听
9、到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。1.3 目标通过设计一个以 STC89C52单片机为核心的计步器可以实现计频数,频数累计功能。是一种结构简单、性能稳定、使用方便、价格低廉、智能化的计步器,具有一定的实用价值。2 系统总体设计2.1 总体框图如图 2.1 所以,该计步器总共由四个模块构成。低通滤波器、主控MCU、竖直方向加速度传感器、显示模块组成。传感器采集数据经低通滤波器滤波,输入单片机内部 A/D、D/A,将数据处理后输出液晶显示,加速度传感器的竖直方向的加速度输出, AN0 为单片机一个模拟输入口,数据经单片机处理后由液晶输出。名师资料总结 - - -精品资料欢迎下载
10、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计2 ANOAN1AN2XoutYoutZout加速度传感器MMA7260低通滤波器微处理器PIC18F452SCLKSDAEEPROMSCLKSDAN5110显示液晶图 2.1 计步器总体框图Fig.2.1 Pedometer overall block diagram 2.2 传感器选择传统的机械式的计步器利用人体行走时的振动引起计步器内部簧片或者弹力小球的振动来产生电子脉冲,内部处理器通
11、过判断电子脉冲的方法来达到计步的功能。这种机械式方式的成本比较低,但是它的准确性和灵敏度很低。DXL330 是一个竖直方向模拟输出的加速度传感器,正好可以作为垂直方向的传感器。利用MEMS( 微机电系统 )加速度传感器制作工艺,很容易地和传统的CMoS 工艺结合起来,服机械式的准确性和灵敏度低的缺点。MMA7260 是美国 Freescale公司推盘的一款低成本、单芯片,置轴加速度传感器。该微型电容式加速度传感器融合了信号调理、单掇低通滤波器和滠度补偿技本,并提供四种加速度范围。DXL330 和 MMA7260 都是适合于做手持式电子计步器的传感器,但相比之下,MMA7260 价格更低,性价比
12、稍好,该设计选择MMA7260 。2.3 低通滤波器理论分析通常来讲,人体每秒钟行走52 步,最多不超过 5 步。因此,合理的计步器输出为 0.55 Hz。在模拟电路部分, 采用 5 Hz 的抗混叠带宽来过滤高频噪声;在数字电路部分,采用5 Hz 截止频率的 FIR 低通滤波器来过滤高频噪声。FIR 低通滤波器参数设计分析:根据现有资源情况,以及考虑性价比因素,只对信号进行简单的低通滤波。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - -
13、 - - 玉林师范学院本科生毕业设计3 参考芯片手册资料,选择电阻1k电阻,0.1uF 电容构成一个无源低通滤波。由截止频率 错误!未找到引用源。 得错误!未找到引用源。 =1592Hz。低通滤波器无法过滤0.5 Hz 以下的噪声,因此我们采用了时间窗口的方法来实现。如图 2.2 所示,我们把大于T1 或者小于 T2 的频率输出都认为是噪声的影响。图 2.2 传感器输出曲线图Fig2.2 Sensor output curve 3 硬件电路设计3.1 传感器连接及滤波电路模块如图 3.1 所示,为传感器底座,接口以及滤波电路图。在信号通过错误!未找到引用源。输出前通过一阶滤波电路滤波。1TT2
14、TZ 轴加速度传感器输出曲线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计4 图 3.1 传感器连接及滤波电路Fig.3.1 Sensor connection and filter circuit 此模块电路主要功能就用于做MMA7260 加速度传感器的一个转接口, 而且利用 MMA7260 该加速度传感器产生相应的变化值。相当于整个系统的信号产生模块。在 MMA7260 每一路信号输出端都接了
15、一个RC 低能滤波器, 从而在硬件上做到减小高频噪声干扰。3.2 微处理器模块本系统中是以 PIC18F452 为主控芯片来设计的, 区别于一般的 MCS-51 单片机的总线结构是冯 -诺依曼型、单指令流水线结构。PIC 单片机的总线结构是哈佛结构、双指令流水线结构,指令和数据空间是完全分开的,可以对程序和数据同时进行访问,所以提高了数据吞吐率。也是因为哈弗结构程序和数据总线可以采用不同的宽度,数据总线都是8 位的,但指令总线位数分别位12、14、16 位。我们选择的 Pic18f452 就是数据总线为 8 位,指令总线为 16 位的一款单片机。 另外 PIC单片机的所有寄存器, 包括 I/O
16、 口,定时器和程序计数器等都采用RAM 结构形式,而且都只需要一个指令周期就可以完成访问和操作。如图 3.2 所示,主控模块由 pic18f452 为主要部分,外接一个16M 的晶振,接上 VCC 和地构成最小系统模块。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业设计5 图 3.2 主控制器最小系统电路Fig.3.2 Main controller minimum system circuit 3.3
17、 显示模块5110是一块低功耗的CMOS LCD 控制驱动器,设计为驱动48 行 84 列的图形显示。所有必须的显示功能集成在一块芯片上,包括 LCD 电压及偏置电压发生器,只须很少外部元件且功耗小。5110 与微控制器的接口使用串行总线。以下是5110主要的几个引脚的功能:SDIN:串行数据线SCLK:串行时钟线D/C:模式选择SCE:芯片使能RES:复位实时时钟模块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - 胡丽娜基于
18、单片机的计步器设计6 图 3.3 显示模块Fig.3.3 Display module 如图 3.3 所示,将 SCE与单片机的 RD3 连接,将 RES(RST)连接到单片机的 RD4,D/C 连接到单片机的 RD5 引脚,将 DIN 连接到单片机的RD6,SCLK 连接到 RC3。4 软件设计软件总体设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业设计7 初始化输入步长显示输出步数、里程算法计数
19、开始按键按下清零按键按下结束YY(a)主程序流程图预采样计数自适应阈值判断阈值是否有效继续计数Count%50=0YYN(b)记步流程图图 4.1 程序流程图Fig.4.1 Program flow chart 程序流程图如图 4.1 所示:不同的人行走会有不同加速度大小的输出,因此软件中动态参数的设置提供了一种自适应的方法,来满足不同行人的要求。动态参数包括动态精度、动态阈值以及加速度传感器的峰一峰值的输出。动态精度是用来量化采样的数据以去除高频的噪声;动态阈值满足下式就可以判断一步的成立。Old DataDynamic ThresholdNew Data。于是在进入测试后首先进行预采样,进
20、行自适应,获得动态阈值。软件中量化的模块有两个移位寄存器组成:新数据寄存器和旧数据寄存器。新数据寄存器的内容为动态精度和加速度变化值,当加速度变化值大于动态精度时,这时的数据就可以移位到新数据寄存器;当加速度变化值小于或者等于动态精度时,新数据寄存器保持不变。旧数据寄存器则不断的更新采样的数据。为防止不同时间,人体运动状态不同,设置软件每隔50 步,重新采样取得阈值,继续计数,同时为防止不同时间的阈值不同产生的误计数,比如人已经停止名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11
21、 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计8 运动,但是没有按下结束键是,采用前后两次阈值比较,在某一变化范围内认为有效阈值,这样就避免了错误的计数,提高了计数精度。输入步长,在结束运动时,可以计算运动的里程数,对锻炼量进行评估。5 制作与调试5.1 硬件电路单片机部分的连接图5.2 调试为了检测计步算法的可行性, 我们做了以下实验: 测试系统主电路板及附属电源组成,在实验中本测试系统由测试对象随身携带,全部绑在脚的正左方,像携带沙袋一样。分别进行多次实验,得到多组数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
22、- - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业设计9 5.3 实测及误差分析测试方案:由于加速度传感器有竖直加速度测试值,所以测试时采用把传感器按x 轴向竖直向上的方法分别进行测量,进行评估。以每次100 步为标准,测试结果如下表 5.1 所示:表 5.1 作品测试结果Table.5.1 Works test results 次数竖直向上竖直向上竖直向上标准实测误差标准实测误差标准实测误差1 100 98 -2 100 96 -4 100 97 -3 2 100 97 -3 100
23、 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 100 0 100 101 1 100 95 -5 7 100 103 3 100 96 -4 100 98 -2 数据分析:根据数据分析得计步器的精度为95%,精度还是比较不错的,软件算法可能需要继续优化,提高精度。6 结论结论:利用人运动时产生加速度变化来检测步数的计步器,在实测时计步器的精度达到95%, 这个结果已经比较不错 , 为了可以 较好的实现计步
24、功能。 而且体型小功耗低,工作电流只有 1mA-1.5mA,非常适合应用于手持式设备。这种计步器在人们日常中的应用。设计过程总结的几点经验:一、首先弄懂本设计的设计的原理和设计要求,理解各个模块的工作原理。二、先尽量把硬件做完善,确保硬件各个通路都能正常,以免在调试软件的时候遇到问题不知所措。三、使用C 语言编程要养成良好的编程风建议:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计10 致谢此次
25、毕业设计能够顺利完成,我的学习生涯也将告一段落。在此,我要对四年来帮助过我的人表示深深的感谢。感谢我的指导老师吕集尔老师,一直以来负责又耐心的指导我,并从查阅资料、论文的修改、论文格式调整等各个环节中都给予了我悉心的指导,感谢指导老师和同学们在我做毕业设计的过程中对我的帮助,让我对许多相关知识有了更深层次的了解,也让我养成了积极向上、执着追求目标的好习惯。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业
26、设计11 参考文献1 宋浩然 廖文帅 赵一鸣 . 基于加速度传感器ADX543 的高精度计步器 . 传感技术学报 , 2006,19(4). 2 赵祥欣 . 基于三维加速度传感器的跌倒监测研究. 硕士学位论文 . 3 曹赟 周宇 徐寅林 . 加速度传感器在步态信号采集系统中的应用. 信息化研究, 2009,35(9). 附录 1 实物图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计12 附录 2
27、 总原理图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业设计13 附录 3 源程序void main() unsigned int i = 0,FirCouFlag = 1; unsigned int dynThreh = 600, dynThrel = 450; /三轴方向不同的动态中间阈值unsigned int dynthreTemph = 0, dynthreTempl = 0; /动态中间阈
28、值临时值int diff=0; /采样值与阈值的差值unsigned char Diff = 0; /三轴合成特征值数组峰峰值unsigned long tempvx = 0,tempvy = 0,tempvz = 0; /三轴合成特征值运算中间变量CloseInterKey(); TRIS_KEY0 = 1; ad_init(); N5110Init(); init_24xx(); LCD_clear(); / step_length(); WelcomeFace(); Drawnum(0,2,0,1); Drawnum(1,2,0,1); Drawnum(2,2,0,1); Drawnum
29、(3,2,0,1); DrawStr(5,2,20,24); /stop 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计14 while(1) if (BUTTON_IO0 = 0) /进入测试 delay(20); if (BUTTON_IO0 = 0) tmrCounter = 0; /计时清零delay(1200); /秒长延时SLEEP = 1; /唤醒 MMA7260 DrawStr(
30、5,2,15,19); /Count while(1) for(i = 0; i = WalkThreL) while(1) for(i=0; i 10;i+) ADCON0 = 0 x01; /选择 AN0 tempx = get_ad(); ADCON0 = 0 x09; /选择 AN1 tempy = get_ad(); ADCON0 = 0 x11; /选择 AN2 tempz = get_ad(); /delay(20); tempvx = (unsigned long)tempx*(unsigned long)tempx; tempvy = (unsigned long)tempy
31、*(unsigned long)tempy; tempvz = (unsigned long)tempz*(unsigned long)tempz; diff = sqrt(tempvx+tempvy+tempvz); while(diff=dynThrel) ADCON0 = 0 x01; /选择 AN0 tempx = get_ad(); ADCON0 = 0 x09; /选择 AN1 tempy = get_ad(); ADCON0 = 0 x11; /选择 AN2 tempz = get_ad(); tempvx=(unsigned long)tempx*(unsigned long)
32、tempx; tempvy=(unsigned long)tempy*(unsigned long)tempy; tempvz=(unsigned long)tempz*(unsigned long)tempz; diff=sqrt(tempvx+tempvy+tempvz); / delay(10); if (FirCouFlag = 1) counter = 7; FirCouFlag = 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 24 页 - - -
33、- - - - - - 玉林师范学院本科生毕业设计17 else counter+; Drawnum(0,2,(counter/1000),1); Drawnum(1,2,(counter%1000/100),1); Drawnum(2,2,(counter%100/10),1); Drawnum(3,2,(counter%10),1); /end for /= 重新计算阈值 = for(i=0;i= WalkThreL & Diff = WalkThreH) / 判 断是否进行阈值替代 counter+; Drawnum(0,2,(counter/1000),1); Drawnum(1,2,
34、(counter%1000/100),1); Drawnum(2,2,(counter%100/10),1); Drawnum(3,2,(counter%10),1); dynThreh= dynthreTemph; dynThrel= dynthreTempl; /end of if / tmrCounter = 0; /计时清零/end of while /end of if /end of while /end of if /end of while /end of main 附录 4 加速度计步器 MMA7260 简介MMA7260 是美国 Freescale公司最新推出的一款低成本单
35、芯片三轴加速度传感器该微型电容式加速传感器融合了信号调理、单极低通滤波器和温度补偿技术,并提供了四种加速度测量范围, 分别为: 1.5 g、 2 g、 4 g。 和 6 g。 MMA7260还具有很高的灵敏度, 当选择 1 5 g。 的测量范围时,灵敏度达到 800 mVg。 它采用 6 mm 6 mm 1.45 mm QFN 的封装,体积超小,只需很小的板卡空间而且,MMA7260 提供休眠模式, 是电池充电的手持设备产品的理想之选它具有三轴向检测功能,使便携式设备能够智能地回应位置、方位和移动的变化MMA7260 的名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
36、- - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 24 页 - - - - - - - - - 玉林师范学院本科生毕业设计19 其主要特性如下(1)X Y Z:具有三轴向的感应功能;(2)可选的加速度范围: 1.5 g、 2 g、 4 g 和 6 g;(3)低电流消耗: 500uA;(4)休眠模式: 3uA;(5)低电压运行: 2.23.6 V;(6)快速启动时间: 1 ms;(7)低噪音:达到更高的分辨率、更高的精确度;(8)超小体积: 6mm 6mm 1.45 mm QFN封装;(9)高灵敏度: 800 mVg1.5 g。MMA7260 的
37、内部功能结构如图6.1 所示,X、Y、Z 三个相互正交的的方向上的加速度由 G-Cell 传感器感知,经过容压变换器、增益放大、滤波器和温度补偿后以电压信号输出。图 6.1 MMA7260 内部结构功能框图Fig.6.1 MMA7260 internal structure function block diagram 所谓的 G-Cell 传感器是由半导体材料 (多晶硅 )经半导体工艺加工得到, 其结构可简化为三块电容极板,如图3。两端的极板圈定,中间的极板在加速度的作用下,偏离无加速度的位置,这样它到两端极板的距离发生变化,造成电容值的变化这个变化值经容压变换、增益放大,滤波等后体现在最后
38、的电压输出值上,从而完成对加速度的测量。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 24 页 - - - - - - - - - 胡丽娜基于单片机的计步器设计20 图 6.2 G-Cell 传感器的物理模型Fig.6.2 G - physical model of the Cell sensor MMA7260 的三个相互正交的测量方向如图4,固定在人体上后,这三个方向上的数据意义也就随之确定了。图 6.3 MMA7260 的三测量轴向Fig.6.3 Three measuring axial MMA7260 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 24 页 - - - - - - - - -