单片机课程设计论文-基于单片机的计步器设计及实现_第1页
单片机课程设计论文-基于单片机的计步器设计及实现_第2页
单片机课程设计论文-基于单片机的计步器设计及实现_第3页
单片机课程设计论文-基于单片机的计步器设计及实现_第4页
单片机课程设计论文-基于单片机的计步器设计及实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计论文基于单片机的计步器设计及实现

计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。计步器功能可以根据计算人的运动情况来分析人体的健康状况。而人的运动情况可以通过很多特性来进行分析。与传统的机械式传感器不同,ADXL345是电容式三轴传感器,由它捕获人体运动时加速度信号,更加准确。信号通过低通滤波器滤波,由单片机内置A/D转换器对信号进行采样、A/D转换。软件采用自适应算法实现计步功能,减少误计数,更加精确。单片机STC89C52控制液晶显示计步状态。整机工作电流只有1-1.5mA,实现超低功耗。⑷可直接使用串口下载;3.2计步器传感器采集模块ADXL345的内部功能结构如图2所示,X、Y、Z三个相互正交的的方向上的加速度由G-Cell传感器感知,经过容压变换器、增益放大、滤波器和温度补偿后以电压信号输出。图2ADXL345内部结构功能框图所谓的G-Cell传感器是由半导体材料(多晶硅)经半导体工艺加工得到,其结构可简化为三块电容极板,如图3。两端的极板圈定,中间的极板在加速度的作用下,偏离无加速度的位置,这样它到两端极板的距离发生变化,造成电容值的变化.这个变化值经容压变换、增益放大,滤波等后体现在最后的电压输出值上,从而完成对加速度的测量。图3G-Cell传感器的物理模型ADXL345的三个相互正交的测量方向如图4,固定在人体上后,这三个方向上的数据意义也就随之确定了。图4ADXL345的三测量轴向引脚配置(顶视图):图5引脚功能图ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达±16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。如图10所示,为传感器底座,接口电路连接:图6传感器连接模块此模块电路主要功能就用于做ADXL345加速度传感器的一个转接口,而且利用ADXL345该加速度传感器产生相应的变化值。相当于整个系统的信号产生模块。3.3显示模块液晶显示器(LCD)为平面超薄的显示设备,液晶显示器功耗很低,适用于使用电池的电子设备.它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。LCD特点:机身薄,节省空间。与比较笨重的CRT显示器相比,液晶显示器只要前者三分之一的空间。省电,不产生高温。它属于低耗电产品,可以做到完全不发热(主要耗电和发热部分存在于背光灯管或LED),而CRT显示器,因显像技术不可避免产生高温。低辐射,益健康。液晶显示器的辐射远低于CRT显示器(仅仅是低,并不是完全没有辐射,电子产品多多少少都有辐射)。画面柔和不伤眼,不同于CRT技术,液晶显示器画面不会闪烁,可以减少显示器对眼睛的伤害,眼睛不容易疲劳。图7LCD16021602采用标准的16脚接口第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。第15脚背光正极.第16脚背光负极。特性3.3V或5V工作电压,对比度可调4软件设计4.1软件流程图(1)主程序流程初始化初始化预采样预采样显示步数显示步数自适应阀值自适应阀值开始按键按下开始按键按下判断加速度阀值是否满足算法计算判断加速度阀值是否满足算法计算Y显示输出步数Y显示输出步数计数计数清零按键按下清零按键按下结束结束图8流程图(2)4.2计步器算法的实现在可用于分析跑步或步行的特征当中,我们选择“加速度”作为相关参数。个体(及其相关轴)的运动包括三个分量,分别是前向(“滚动”)、竖向(“偏航”)和侧向(“俯仰”)。ADXL345检测其三个轴—x、y和z上的加速度。计步器处于未知方向,因此测量精度不应严重依赖于运动轴与加速度计测量轴之间的关系。让我们考虑步行的特性。一个步伐,我们将其定义为单位步行周期,步行周期各阶段与竖向和前向加速度变化之间有一定的关系。要实现检测步数首先要对人走路的姿态有一定了解。行走时,脚、腿、腰部,手臂都在运动,它们的运动都会产生相应的加速度,并且会在某点有一个峰值。从脚的加速度来检测步数是最准确的,但是考虑到携带的方便,我们选择利用腰部的运动来检测步数。(1)步伐参数数字滤波器:首先,为使信号波形变得平滑,需要一个数字滤波器。可以使用四个寄存器和一个求和单元,如图11所示。当然,可以使用更多寄存器以使加速度数据更加平滑,但响应时间会变慢。图11数字滤波器图12显示了来自一名步行者所戴计步器的最活跃轴的滤波数据。对于跑步者,峰峰值会更高。图12最活跃轴的滤波数据动态阈值和动态精度:系统持续更新三轴加速度的最大值和最小值,每采样50次更新一次。平均值(Max+Min)/2称为“动态阈值”。接下来的50次采样利用此阈值判断个体是否迈出步伐。由于此阈值每50次采样更新一次,因此它是动态的。这种选择具有自适应性,并且足够快。除动态阈值外,还利用动态精度来执行进一步滤波。步伐迈出的条件定义为:当加速度曲线跨过动态阈值下方时,加速度曲线的斜率为负值(sample_new<sample_old)。峰值检测:步伐计数器根据x、y、z三轴中加速度变化最大的一个轴计算步数。如果加速度变化太小,步伐计数器将忽略。步伐计数器利用此算法可以很好地工作,但有时显得太敏感。当计步器因为步行或跑步之外的原因而非常迅速或非常缓慢地振动时,步伐计数器也会认为它是步伐。为了找到真正的有节奏的步伐,必须排除这种无效振动。利用“时间窗口”和“计数规则”可以解决这个问题。“时间窗口”用于排除无效振动。假设人们最快的跑步速度为每秒5步,最慢的步行速度为每2秒1步。这样,两个有效步伐的时间间隔在时间窗口[0.2s-2.0s]之内,时间间隔超出该时间窗口的所有步伐都应被排除。ADXL345的用户可选输出数据速率特性有助于实现时间窗口。表5.1列出了TA=25°C、VS=2.5V、VDDI/O=1.8V时的可配置数据速率(以及功耗)。表3数据速率和功耗输出数据速率(Hz)带宽(Hz)速率代码IDD(µA)32001600111114616008001110100800400110114540020011001452001001011145100501010145502510011002512.510006512.56.250111556.253.125011040此算法使用50Hz数据速率(20ms)。采用interval的寄存器记录两步之间的数据更新次数。如果间隔值在10与100之间,则说明两步之间的时间在有效窗口之内;否则,时间间隔在时间窗口之外,步伐无效。“计数规则”用于确定步伐是否是一个节奏模式的一部分。步伐计数器有两个工作状态:搜索规则和确认规则。步伐计数器以搜索规则模式开始工作。假设经过四个连续有效步伐之后,发现存在某种规则(inregulation),那么步伐计数器就会刷新和显示结果,并进入“确认规则”工作模式。在这种模式下工作时,每经过一个有效步伐,步伐计数器就会更新一次。但是,如果发现哪怕一个无效步伐,步伐计数器就会返回搜索规则模式,重新搜索四个连续有效步伐。5测试及分析5.1系统调试及功能设计的实物用于记录单位时间的人行走的步数,以及一段时间的总步数,以达到督促人们锻炼的目的。5.2系统的测试如表2为在实际步数中显示步数以及总步数不复位情况下记录。下图表3为在实际步数中显示步数每5步复位一次总步数不复位情况下记录。由图可得到实物对步数统计准确率在90%以上。表4实际步数51015202530显示步数5914182227总步数5914182227实际步数51015202530显示步数454555总步数4913182328表56总结在本次计步器的制作过程中,体会到不少。而在解决问题的时候也是对自身的专业素质的一种提高。在焊接过程中元件必须清洁和镀锡焊接前用小刀挂掉氧化膜,然后再进行焊接时应使用电骡铁的温度高于焊锡的温度以烙铁头接触松香刚刚冒烟为好。焊接点的上锡数量焊接点上的焊锡数量不能太少,焊少了焊接不牢固,机械强度也太差。同时让我也更加的了解了ADXL345是一款出色的加速度计,非常适合计步器应用。它具有小巧纤薄的特点,采用3mm×5mm×0.95mm塑封封装,利用它开发的计步器已经出现在医疗仪器和高档消费电子设备中。它在测量模式下的功耗仅40μA,待机模式下为0.1μA,堪称电池供电产品的理想之选。嵌入式FIFO极大地减轻了主处理器的负荷,使功耗显著降低。此外,可以利用可选的输出数据速率进行定时,从而取代处理器中的定时器。13位分辨率可以检测非常小的峰峰值变化,为开发高精度计步器创造了条件。最后,它具有三轴输出功能,结合上述算法,用户可以将计步器戴在身上几乎任何部位。[参考文献][1]曹赟周宇徐寅林.加速度传感器在步态信号采集系统中的应用[J].信息化研究,2009,35(9).[2]陈义华.基于加速度传感器的定位系统研究[D].福建:厦门大学,2006.[3]孟维国.三轴加速度计ADXL345的特点及其应用[J].电子设计工程,2007(2):47-50.[4]高吉祥.模拟电子线路设计[M].北京:北京电子工业出版社,2007.[5]陈尔绍.电子控制电路实例[M].北京:电子工业出版社,2004.[6]王彦朋.大学生电子设计与应用[M].北京:中国电力出版社,2007.[7]屈翠香,李刚.具有数字信号输出的三轴加速度传感器ADXL345[J].国外电子元器件,1999(8):8—12.[8]刘宗林,李圣怡,吴学忠.新型三轴加速度计[J].传感器技术学报,2004,17(3):488—492.[9]段晓敏,李杰,刘文怡,等.基于MEMS加速度计的数字倾角测量仪的设计[J].电子设计工程,2009,17(8):71—72.[10]李兴昌.科技论文的规范表达[M].北京:清华大学出版社,1995.34—50.原理图图17系统设计原理图程序 //*********************************************************//******主程序********//*********************************************************voidmain(){ uchardevid;EA=1; //开总中断 TMOD=0X01; //定时器0、定时器1工作方式1 ET0=1; //开定时器0中断 TR0=1; //允许定时器0定时 show();//开机显示界面 init_eeprom(); //读eeprom数据 bushuchuli(); zongbushuchuli();while(1) //循环 { key(); if(flag==1) { flag=0; Init_ADXL345(); //初始化ADXL345 devid=Single_Read_ADXL345(0X00); //读出的数据为0XE5,表示正确 if(devid!=0XE5) { flag=0;//当模块没有接好时,不刷新显式} else { Multiple_Read_ADXL345(); //连续读出数据,存储在BUF中display_y(); //显示Y轴}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论