ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:376.20KB ,
资源ID:8693040      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8693040.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计论文 基于单片机的计步器设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业设计论文 基于单片机的计步器设计.docx

1、毕业设计论文 基于单片机的计步器设计玉林师范学院本科生毕业设计基于单片机的计步器设计The Pedometer Design Based on Single Chip Microcomputer院 系电子与通信工程学院专 业电信工程学 生 班 级2012级1班姓 名胡丽娜学 号201208401144指导教师单位电子与通信工程学院指导教师姓名吕集尔指导教师职称高级实验师 基于单片机的计步器设计电子信息科学与技术 2012级1班 胡丽娜指导老师 吕集尔摘要简易加速度计步器以竖直方向加速度传感器MMA7260与单片机PIC18F452组成的计步测试系统,能够对人体运动的运动量作出评估。与传统的机械

2、式传感器不同,MMA7260是电容式传感器,由它捕获人体运动时加速度信号,更加准确。信号通过低通滤波器滤波,由单片机内置AD转换器对信号进行采样、AD转换。软件采用自适应算法实现计步功能,减少误计数,更加精确。单片机控制5110液晶显示计步状态。整机工作电流只有1-1.5mA,实现超低功耗。关键字:单片机,电子计步器,加速度传感器 The Pedometer Design Based on Single Chip MicrocomputerElectronic Information Science and Technology 2012-1 HulinaSupervisor LvjierAb

3、stractSimple acceleration pedometer with triaxial acceleration sensor MMA7260 step meter test 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

4、 it captures the human body movement, more accurate.Is filtered by low-pass filter, the single 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 microcomp

5、uter control step 5110 liquid crystal display meter.The whole machine working current is only 1-1.5 mA, realize ultra-low power consumption.Keywords:SCM, electronic pedometer, triaxial acceleration sensor1 引言 1.1计步器的发展背景 随着社会的不断进步与发展,人们的物质生活水平不断提高,人们便开始越来越关注自身的健康。运动则是最好的方式,计步器作为一种可以计算行走的步数测量仪器,所以人们可

6、以制定适量的运动方案来健身,并根据运行情况来分析人体的健康状况,因此越发被广泛的应用。电子计步器是一种适应市场需求的设计,使用起来也简单方便。 1.2 计步器的研究目的计步器是一种十分受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,能够增强体质,并且帮助减肥瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。每当晃动这些装置时,可便以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。1.3目标通过设计一个以STC89C52单片机为核心的计步器可以实现计频数,频数累计功能。是一种结构简单、性能稳定、使用方便、价格低廉、智能化的计步器,具有一定的实用价值。 2系统总体设计2.

7、1总体框图如图2.1所以,该计步器总共由四个模块构成。低通滤波器、主控MCU、竖直方向加速度传感器、显示模块组成。传感器采集数据经低通滤波器滤波,输入单片机内部A/D、D/A,将数据处理后输出液晶显示,加速度传感器的竖直方向的加速度输出,AN0为单片机一个模拟输入口,数据经单片机处理后由液晶输出。图2.1 计步器总体框图Fig.2.1 Pedometer overall block diagram2.2传感器选择传统的机械式的计步器利用人体行走时的振动引起计步器内部簧片或者弹力小球的振动来产生电子脉冲,内部处理器通过判断电子脉冲的方法来达到计步的功能。这种机械式方式的成本比较低,但是它的准确性

8、和灵敏度很低。DXL330是一个竖直方向模拟输出的加速度传感器,正好可以作为垂直方向的传感器。利用MEMS(微机电系统)加速度传感器制作工艺,很容易地和传统的CMoS工艺结合起来,服机械式的准确性和灵敏度低的缺点。MMA7260是美国Freescale公司推盘的一款低成本、单芯片,置轴加速度传感器。该微型电容式加速度传感器融合了信号调理、单掇低通滤波器和滠度补偿技本,并提供四种加速度范围。DXL330和MMA7260都是适合于做手持式电子计步器的传感器,但相比之下,MMA7260价格更低,性价比稍好,该设计选择MMA7260。2.3 低通滤波器理论分析通常来讲,人体每秒钟行走52步,最多不超过

9、5步。因此,合理的计步器输出为0.55 Hz。在模拟电路部分,采用5 Hz的抗混叠带宽来过滤高频噪声;在数字电路部分,采用5 Hz截止频率的FIR低通滤波器来过滤高频噪声。FIR低通滤波器参数设计分析:根据现有资源情况,以及考虑性价比因素,只对信号进行简单的低通滤波。参考芯片手册资料,选择电阻1k电阻,0.1uF电容构成一个无源低通滤波。由截止频率得=1592Hz。低通滤波器无法过滤0.5 Hz以下的噪声,因此我们采用了时间窗口的方法来实现。如图2.2所示,我们把大于T1或者小于T2的频率输出都认为是噪声的影响。图2.2 传感器输出曲线图Fig2.2 Sensor output curve3

10、硬件电路设计3.1 传感器连接及滤波电路模块如图3.1所示,为传感器底座,接口以及滤波电路图。在信号通过输出前通过一阶滤波电路滤波。图3.1 传感器连接及滤波电路Fig.3.1 Sensor connection and filter circuit 此模块电路主要功能就用于做MMA7260加速度传感器的一个转接口,而且利用MMA7260该加速度传感器产生相应的变化值。相当于整个系统的信号产生模块。 在MMA7260每一路信号输出端都接了一个RC低能滤波器,从而在硬件上做到减小高频噪声干扰。3.2 微处理器模块 本系统中是以PIC18F452为主控芯片来设计的,区别于一般的MCS-51单片机的

11、总线结构是冯-诺依曼型、单指令流水线结构。PIC单片机的总线结构是哈佛结构、双指令流水线结构,指令和数据空间是完全分开的, 可以对程序和数据同时进行访问,所以提高了数据吞吐率。也是因为哈弗结构程序和数据总线可以采用不同的宽度,数据总线都是8位的,但指令总线位数分别位12、14、16位。我们选择的Pic18f452就是数据总线为8位,指令总线为16位的一款单片机。另外PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作。如图3.2所示,主控模块由pic18f452为主要部分,外接一个16M的晶振,接上VCC和地构成最小系统

12、模块。图3.2 主控制器最小系统电路Fig.3.2 Main controller minimum system circuit3.3显示模块5110是一块低功耗的CMOS LCD控制驱动器,设计为驱动48 行84 列的图形显示。所有必须的显示功能集成在一块芯片上,包括LCD 电压及偏置电压发生器,只须很少外部元件且功耗小。5110与微控制器的接口使用串行总线。以下是5110主要的几个引脚的功能:SDIN:串行数据线SCLK:串行时钟线D/C:模式选择 SCE:芯片使能 RES:复位实时时钟模块图3.3 显示模块Fig.3.3 Display module如图3.3所示,将SCE与单片机的RD

13、3连接,将RES(RST)连接到单片机的RD4,D/C连接到单片机的RD5引脚,将DIN连接到单片机的RD6,SCLK连接到RC3。 4 软件设计 软件总体设计图4.1 程序流程图Fig.4.1 Program flow chart程序流程图如图4.1所示:不同的人行走会有不同加速度大小的输出,因此软件中动态参数的设置提供了一种自适应的方法,来满足不同行人的要求。动态参数包括动态精度、动态阈值以及加速度传感器的峰一峰值的输出。动态精度是用来量化采样的数据以去除高频的噪声;动态阈值满足下式就可以判断一步的成立。Old DataDynamic ThresholdNew Data。于是在进入测试后首

14、先进行预采样,进行自适应,获得动态阈值。软件中量化的模块有两个移位寄存器组成:新数据寄存器和旧数据寄存器。新数据寄存器的内容为动态精度和加速度变化值,当加速度变化值大于动态精度时,这时的数据就可以移位到新数据寄存器;当加速度变化值小于或者等于动态精度时,新数据寄存器保持不变。旧数据寄存器则不断的更新采样的数据。为防止不同时间,人体运动状态不同,设置软件每隔50步,重新采样取得阈值,继续计数,同时为防止不同时间的阈值不同产生的误计数,比如人已经停止运动,但是没有按下结束键是,采用前后两次阈值比较,在某一变化范围内认为有效阈值,这样就避免了错误的计数,提高了计数精度。输入步长,在结束运动时,可以计

15、算运动的里程数,对锻炼量进行评估。5 制作与调试5.1 硬件电路单片机部分的连接图5.2 调试为了检测计步算法的可行性,我们做了以下实验:测试系统主电路板及附属电源组成,在实验中本测试系统由测试对象随身携带,全部绑在脚的正左方,像携带沙袋一样。 分别进行多次实验,得到多组数据。 5.3 实测及误差分析测试方案:由于加速度传感器有竖直加速度测试值,所以测试时采用把传感器按x轴向竖直向上的方法分别进行测量,进行评估。以每次100步为标准,测试结果如下表5.1所示:表5.1 作品测试结果Table.5.1 Works test results次数竖直向上竖直向上竖直向上标准实测误差标准实测误差标准实

16、测误差110098-210096-410097-3210097-310095-51001033310096-410010111001033410097-3100100010096-4510010111001044100104461001000100101110095-57100103310096-410098-2数据分析:根据数据分析得计步器的精度为95%,精度还是比较不错的,软件算法可能需要继续优化,提高精度。6 结论结论:利用人运动时产生加速度变化来检测步数的计步器,在实测时计步器的精度达到95%,这个结果已经比较不错,为了可以较好的实现计步功能。而且体型小功耗低,工作电流只有1mA-1.

17、5mA,非常适合应用于手持式设备。这种计步器在人们日常中的应用。设计过程总结的几点经验:一、首先弄懂本设计的设计的原理和设计要求,理解各个模块的工作原理。二、先尽量把硬件做完善,确保硬件各个通路都能正常,以免在调试软件的时候遇到问题不知所措。三、使用 C 语言编程要养成良好的编程风建议: 致谢此次毕业设计能够顺利完成,我的学习生涯也将告一段落。在此,我要对四年来帮助过我的人表示深深的感谢。 感谢我的指导老师吕集尔老师,一直以来负责又耐心的指导我,并从查阅资料、论文的修改、论文格式调整等各个环节中都给予了我悉心的指导,感谢指导老师和同学们在我做毕业设计的过程中对我的帮助,让我对许多相关知识有了更

18、深层次的了解,也让我养成了积极向上、执着追求目标的好习惯。参考文献1 宋浩然 廖文帅 赵一鸣. 基于加速度传感器ADX543的高精度计步器. 传感技术学报, 2006,19(4).2 赵祥欣. 基于三维加速度传感器的跌倒监测研究. 硕士学位论文.3 曹赟 周宇 徐寅林. 加速度传感器在步态信号采集系统中的应用. 信息化研究, 2009,35(9).附录1 实物图附录2 总原理图附录3 源程序void main() unsigned int i = 0,FirCouFlag = 1; unsigned int dynThreh = 600, dynThrel = 450; /三轴方向不同的动态中

19、间阈值 unsigned int dynthreTemph = 0, dynthreTempl = 0; /动态中间阈值临时值 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()

20、; Drawnum(0,2,0,1); Drawnum(1,2,0,1); Drawnum(2,2,0,1); Drawnum(3,2,0,1); DrawStr(5,2,20,24); /stop while(1) if (BUTTON_IO0 = 0) /进入测试 delay(20); if (BUTTON_IO0 = 0) tmrCounter = 0; /计时清零 delay(1200); /秒长延时 SLEEP = 1; /唤醒MMA7260 DrawStr(5,2,15,19); /Count while(1) for(i = 0; i = WalkThreL) while(1)

21、for(i=0; i 10;i+) ADCON0 = 0x01; /选择AN0 tempx = get_ad(); ADCON0 = 0x09; /选择AN1 tempy = get_ad(); ADCON0 = 0x11; /选择AN2 tempz = get_ad(); /delay(20); tempvx = (unsigned long)tempx*(unsigned long)tempx; tempvy = (unsigned long)tempy*(unsigned long)tempy; tempvz = (unsigned long)tempz*(unsigned long)t

22、empz; diff = sqrt(tempvx+tempvy+tempvz); while(diff=dynThrel) ADCON0 = 0x01; /选择AN0 tempx = get_ad(); ADCON0 = 0x09; /选择AN1 tempy = get_ad(); ADCON0 = 0x11; /选择AN2 tempz = get_ad(); tempvx=(unsigned long)tempx*(unsigned long)tempx; tempvy=(unsigned long)tempy*(unsigned long)tempy; tempvz=(unsigned l

23、ong)tempz*(unsigned long)tempz; diff=sqrt(tempvx+tempvy+tempvz); / delay(10); if (FirCouFlag = 1) counter = 7; FirCouFlag = 0; 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,(cou

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1