智能电子计步器设计.docx
《智能电子计步器设计.docx》由会员分享,可在线阅读,更多相关《智能电子计步器设计.docx(37页珍藏版)》请在冰豆网上搜索。
智能电子计步器设计
智能电子计步器
声明II
上海商学院学位论文原创性声明
本人郑重声明:
本人所呈交的学位论文,系我个人在导师的指导下进行研究工作所取得的成果。
除文中已特别加以标注和致谢的地方外,不包含其它个人或机构已经发表或撰写过的研究成果。
对本研究做出贡献的其它个人和集体,均已在文中明确说明和致谢。
本人充分意识到本声明的法律结果完全由本人承担。
学位论文作者签名:
_____
日期:
年月日
学位论文使用授权的声明
本人完全了解上海商学院有关保留和使用学位论文的规定,学校有权保留和向有关部门或机构送交本论文的复印件和电子版,允许论文被查阅和借阅。
学校可以将本学位论文的全部或部分内容编入有关数据库,可以采用影印、缩印或其它复印手段保存和汇编本学位论文。
保密论文在解密后适用本声明。
论文作者签名:
_____论文导师签名:
_____
日期:
年月日
摘要
随着经济不断增长,在快节奏、高效率的现代社会中,人们深知身体健康很重要。
在不良饮食习惯与工作压力下,不少人处于亚健康状态。
事实证明坚持步行,就能达到锻炼的目的。
计步器的出现满足了这类人的需求。
计步器的主要功能是检测步数,通过步数和步幅可计算行走的路程,高级的计步器还可以计算人体消耗的热量。
但这些计算的主要依据是步数的检测。
本次智能电子计步器设计主要的功能是通过传感器的感应使计步器计步数,扩展功能是计时和计算频率,也就是计走过步数所用的时间从而算出每分钟走多少步数。
设计由震荡传感器和计数器两部分组成。
计数部分采用单片机ET44M210开发调试并编入程序。
传感部分使用自己制作的弹珠震荡模块来实现,既经济又实用。
并且考虑到手工制作的会比较粗糙,可能在震荡过程中多计或少计步数,使计步不精确。
为了解决这个问题特别加入防抖动的部分,使其检测更精准。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。
重点说明了系统的设计思路和详细设计过程。
关键词:
震荡传感器ET44M210单片机计步器
Abstract
Withtheeconomygrowinginafastpaced,highefficiency,themodernsociety,peopleknowthathealthisveryimportant.Inunhealthyeatinghabitsandworkingpressure,manypeopleofsub-healthstate.IntheFactswalkcanachievethepurposeoftheexercise.Pedometersatisfiedthedemandforthiskindofperson.Themainfunctionistotestpedometerquantity.Throughthestepsandstridecancalculatethedistance.Seniorpedometercancomputethehumanconsumptionquantityofheat.Butthesecalculationstepsisthemainbasisofdetection.
Thisintelligentelectronicpedometerdesignmainfunctionistheinductionbysensorstoprojectpedometerefficiency.Functionexpansionprojectistimingandcalculationfrequency.Itisalsoplanstosteptimeusedpastcalculatehowmanystepsperminutewalk.Designbyvibrationsensorandcounter.Countpartadoptssingle-chipmicrocomputerET44M210developmentofcommissioningandputintoprocedures.Sensingpartusinghomemademarblesconcussionmoduletorealizebymyself.Itiseconomicalandpractical.Consideringthehand-madewillcoarser.Itmaybeinshockprocessmuchplanorlessquantity,andmakeplanprojectsteparenotaccurate.Inordertosolvethisproblemisespeciallytojointhejitterpartandmakeitsdetectionmoreaccurate.
Thispapermainlyintroducedthedevelopmentbackgroundandsubjecttocompletethefunctionsanddevelopmentprocess.Keyillustratesthedesigningideaofthesystemanddetaileddesignprocess.
Keywords:
shocksensor,ET44M210microcontroller,pedometer
第1章概述
1.1课题背景
随着经济的不断发展,快节奏、高效率的现代社会中,健康的生活对我们而言越来越重要。
当今生活的不良饮食习惯与工作压力双重考验下,人们的亚健康趋于严重,而对于繁忙工作的人群来说,锻炼只可以说是一种美好的向往。
因此在交通工具已十分发达的今天,最容易被遗忘的健身方法是什么?
是步行。
下定决心,最容易坚持终生的健身方法是什么?
也是步行。
根据有关资料显示步行对我们的身体健康起到了很大的作用
1.步行能增强心脏功能使血管弹,减少血管破裂的可能性。
2.步行能增强肌肉力量,强健腿足、筋骨,并能使关节灵活,促进人体血液循环和新陈代谢。
3.步行可以增强消化腺的分泌功能,促进胃肠有规律的蠕动,增加食欲,对于防治高血压、糖尿病、肥胖症、习惯性便秘等症都有良好的作用。
4.在户外新鲜空气中步行,大脑思维活动变得清晰、灵活,可有效消除脑力疲劳,提高学习和工作效率。
据有关专家测试,每周步行三次,每次一小时,连续坚持4个月者与不喜欢运动的人相比,前者反映敏锐,视觉与记忆力均占优势。
5.步行可以保护环境,消除废气污染,对强健身体,提高身体免疫力,减少疾病,延年益寿也有积极的推动作用。
综上所述为了我们的能拥有一个健康年轻的身体,也为了不增加城市交通负担和环境污染,步行可以说是最明智的选择。
1.2课题意义
俗话说“百练不如一走”,“步行是运动之王”。
科学家最新研究结果提示,如果一个人可以步行400米,折算一下是500步左右。
这就说明他的身体状况至少能多活6年以上,而且走得越快,寿命就越长。
可能在很多人眼里看来,步行与身体情况以及寿命没有直接性的联系,但根据多次调查发现,老年人能否在短时间内可以走完500步是一个重要的标志,并且间接关系着他们能不能抵御更大的疾病。
美国匹兹堡大学医学院从事该研究的带头人艾恩·纽曼教授指出,那些无法走完500步的老年人,在将来的生活中,要比能走完500步的人更加具有面对严重疾病或死亡的危险。
纽曼及其科研小组对2700位年龄介于70~79岁的老年人进行了测试,让他们完成步行任务,并且不带任何比赛奖励的性质。
所有参于测试者都事先经过体检,证明其身体健康,他们也都表示走这点路一点也不费劲。
但最终只有86%的人完成了比赛。
科学家随后对所有的参与者进行了6年的跟踪研究。
研究发现完成步行者与未完成者之间出现很大的不同。
那些没有走完全程的人,在后来患上重病或死亡的危险非常大。
完成步行所用时间也相当重要。
那些虽然完成步行,但处在最慢的25%人群中的人,其死亡的危险程度明显比快行者高出3倍。
美国医学专家推荐了一个用走路自测健康状况的公式:
如果你能在10分钟内走完1000步,说明健康状况良好;如果能在20分钟内走完2000步,说明健康状况优秀;而如果能在30分钟内走完3000步,那么你的身体状况与一个青壮年小伙子一样棒。
正因为步行对健康起到如此重要的作用,而又需要比较合理的测出行走的步数,一个小巧方便的计步器是不可或缺的。
它是一种健康电子产品,顾名思义就是在你走步的时候帮你计算一共走了多少步,是一个既经济又科学的小工具。
计步器可以帮我们完成每天走步计数目标。
总的来说,计步器的开发研制对健康生活极其关键。
它不仅仅是一个计数的机器,更是一个督促运动,与健康密切联系的必需品。
第2章系统分析与方案比较
2.1系统的功能分析
1.基本功能:
根据所学的知识,设计一个计步器,要求自行设计供电电源,该计步器能够实现计步功能。
即加1计数器:
步数最大值为99999。
2.扩展功能:
(1)记录本次健身时间:
时间单位为分钟。
(2)能够计算和显示平均速率:
每分钟走的步数。
2.2系统总体设计思路
计步器由控制器模块,输入模块,输出模块和电源模块组成。
对仿真器进行编程,使单片机作为主控制设备对采集到的传感器信号进行处理,最后通过LED数码管显示输出。
系统组成框图如图2.1所示。
图2.1系统方案框图
2.3方案论证与比较
根据总体设计思路分别对输入模块和显示模块做出分析和比较。
2.3.1输入模块
方案一:
采用独立式按键作为输入模块,其特点是直接使用I/O口构成单个按键电路,接口电路配置较为灵活,按键识别和软件结构简单。
但是当键数较多时,占用的I/O口较多,比较浪费资源,其原理图如图2.2所示:
图2.2独立的功能按键
方案二:
采用矩阵式键盘作为输入电路,其特点是当键数越多时越节约I/O口,比较节省资源,但缺点是电路和软件结构稍稍繁琐。
其原理图如图2.3所示
图2.34*4矩阵式键盘电路图
综上所述,本设计使用独立式按键作为计步器的计数按键。
原因是这个计步器按键较少,仅需3个按键。
若采用键盘输入为软件设计增加负担。
并且考虑到本次设计中使用的I/O口不是很多,选择方案一是明智之举。
2.3.2显示模块
方案一:
用LCD显示,需要使用专用的驱动控制芯片,如PIC16F873,其特点是软件实现比较复杂,且价格较贵。
方案二:
采用LED数码管串行静态显示,虽然其显示亮度高,但是如果显示器位数较多,需要增加锁存器,占用I/O口线较多,CPU的消耗大。
并且电路连接较为繁琐。
方案三:
采用LED数码管并行动态显示,显示亮度不及静态显示,但电路相对简单,适合于显示位数较多的设计。
综上所述,考虑到用到5位数字显示,为了不增加电路的负重感,所以采用方案三使用2个三位一体并行动态数码管。
该数码管具有程序编写简单,对外界环境要求低,易于维护的特点。
其排列形状如图2.4所示。
图2.4数码管排列形状
第3章硬件设计及介绍
3.1微处理器模块
本设计规定使用ET44M210芯片,该芯片由台湾义统电子股份有限公司(EtomsElectronicsCorp.)设计,是一款采用CMOS工艺制造,低价格﹑高性能﹑低功耗的8位SoC微控制器。
3.1.1外形和电路图符号
图3.1外形图
图3.2电路图符号
3.1.2功能特点和组成
ET44M210芯片采用RISC指令集架构,数据存储器容量1.3KB,程序存储器容量16KB,堆栈层数16层,中断源20个。
主要功能特点有:
1)具有42个I/O引脚,可设置上拉电阻和按键唤醒功能
2)具有一个8位定时/计数器TCC和16位长时定时器FRC
3)具有一个串行外围接口SPI
4)具有2路﹑16位的脉宽调制输出PWM
5)具有一个10位﹑16路模数转换器ADC
6)具有一个2.4GMH无线射频调制解调器WM
7)具有一个符合USB1.1通信协议的全速USB接口
芯片的内部组成如下图3.3所示:
图3.3微处理器内部组成
本次设计中所涉及到的微处理器部分是输入输出I/O接口,定时器/计数,中断控制。
(1)输入输出I/O接口
芯片最多可以有42个I/O引脚(PTA0~7,PTB0~7,PTC0~5,PTD0~7,PTE0~7,PTF0~3),通过有关寄存器的设置可以定义这些引脚为输入或输出。
所有引脚都可以选择内部上拉电阻,部分引脚可以选择集电极开路。
此外,还可以选择按键唤醒功能。
(2)定时器/计数器
芯片除了通常的带预除器的8位的计数器外,还有一个16位的“长时计数器”,可以很方便地实现长时定时,具有定时器溢出中断的功能。
(3)中断控制
芯片所有功能模块的响应都是通过中断工作方式来实现的。
ET44M210将ROM存储器的0x10到0xA8的区域作为20个中断响应入口。
本设计是用FRC计时器0x0020自由计数器溢出中断,自由计数器从ffffH到0000H时可以发生中断[1][2]
3.2传感模块
本次设计由于没有现成的传感器使用,并考虑到降低成本,合理利用身边易获得的材料自制一个震荡模块,其由一盒子和一个小钢珠组成,用无导电性的有机玻璃制作成盒子状,使用氯仿将一块导电的铜片粘合固定于盒子底部,再将另一块铜片粘在盒子的正前方玻璃壁上,并确保2块铜片无连接。
最后将能起到导电作用的小钢珠放置其中,在前后摇动盒子的同时,将会使小钢珠一前一后运动,使电路导通从而计步。
最后在盒子的前后各连一根导线作为输入端和接地端,让震荡信息转化为开关信号达到传感器的作用。
为了方便使用和收纳,增加了一个插座使得计步器在不使用时可以与传感器分开保存,在需要使用时才连接的作用。
本设计新颖,构思巧妙,改变了现有摆锤与开关传感器分离设计的思念,合理设计成一体化的震荡模块,通用于各种造型的壳体或者电路板结构上,确保其计步精度不因电路板焊接差异而产生误差,也可大大降低实际生产成本。
结构示意图如下图3.4所示:
图3.4自制传感器示意图
3.3显示模块
本次设计使用的是型号为SP420562K三位一体共阴数码管。
3.3.1数码管类别
按照数码管上各发光二极管的电极的连接方式不同,可以将数码管分为共阳极数码管和共阴极数码管两种。
共阴极数码管是指把a、b、c、d、e、f、g这7个发光二极管的阴极连接到一起,形成公共阴极(COM)的数码管。
共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
共阴极数码管内部连接如图3.5所示。
图3.5共阴数码管内部连接图
共阳极数码管是指把a、b、c、d、e、f、g这7个发光二极管的阳极连接到一起,成公共阳极(COM)的数码管。
共阳极数码管在应用时应将公共极COM接到+5V电源上,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阳数码管内部连接如图3.6所示。
图3.6共阳数码管内部连接图
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。
本设计根据上述比较后选择了动态显示驱动,动态显示驱动是将所有数码管的8个显示笔划”a,b,c,d,e,f,g,dp”的同名端连在一起。
其占用CPU时间多,显示数据有闪烁感,但能够节省大量的I/O端口,硬件开销小,而且功耗更低,可以降低成本和电源功耗。
硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。
软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。
[5]
3.3.2数码管引脚排列
而本次设计使用到的数码管型号为SP420562K,其中引脚11,7,4,2,1,10,5,3连接输入端;引脚12,9,8连接输出端。
排列顺序以及引脚分布如图3.7和图3.8所示。
图3.7数码管的排列
图3.8数码管的引脚图
3.4元件清单及开发环境
3.4.1元件清单
开发电路板一块
ET44M210芯片一块
SP420561K(三位)LED数码管2组
160欧电阻8个,1千欧5个
按键3个:
开关,切换模式,计数
S9013NPN型三极管5个
发光二级管1个:
指示灯
导线若干
3.4.2设计开发环境
WindowsXP/2000
VisualStudio2008
Protel2004
ET44M210仿真器软件:
ETUSBWICE2.12
3.5硬件电路图设计及PCB印刷板
3.5.1硬件总电路图
根据以上的分析和设计思路综合设计并使用PROTEL2004软件画出总电路图如图3.9所示:
图3.9总设计电路图
3.5.2关键部分电路图
其中,显示部分使用I/O引脚是PTB0~7作为数码管输入的八个端口,设计时为避免电流过大而导致数码管损坏又在其每个输入口串联一个电阻。
电阻值根据电压3.3伏除以数码管电流20毫安计算得到约为160欧。
PTD0~4作为输出5个端口,分别输出个位到万位上的数字,并串联S9013NPN型三极管放大电路。
其中NPN型三极管的发射极连接数码管的输入端。
基极连接一个电阻值为1000欧的电阻,集电极接地。
实验过程中使用万用表区别三极管的3个极。
首先将万用表打到1K档,先用黑表笔接三极管的任意一个脚,再用红表笔测其他两个脚,直到找到红表笔测的任意两个脚都是数十K时,说明黑表笔所接的是三极管的基极,另两个脚阻值大的是发射极,阻值小的是集电极。
具体电路图如图3.10显示部分所示:
图3.10显示部分
本设计采用1.5v电池2节,外形小巧易携带。
电路图如下图3.11所示:
图3.11电池部分
本设计的滤波部分由2个电容组成,一个10微法的电解电容,滤除低频波;另一个0.1微法的瓷片电容,滤除高频波。
滤波电路图如下图3.12所示:
图3.12滤波部分
根据单片机要复位,本质上是在其RESET脚上保持一定时间的高电平,检测到这个电平保持时间大于它要求的时间就会自动复位的道理。
本次复位电路设计是由一个按键一个较小电容和电阻组成。
按键按下后:
电容相当于被短路放电、RST直接和VDD相连,就是高电平,此时进入“复位状态”。
松手后:
电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”,稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
电容和电阻的取值则根据RC电路响应时间,上电对电容充电,充电的时间保证在复位高电平要求时间。
一般10uf和10k就可以了,只要复位脚通过至少2个时间机器周期的高电平,单片机就复位。
它们选取也是按照大于等于2个时间机器周期的时间常数计算出来的。
电路图如图3.13所示:
图3.13复位电路
3.5.3PCB图
设计PCB的流程主要包括:
1.准备原理图和SPICEnetlist。
2.规划电路板也就是采用板材的物理尺寸,和元件的封装形式极其安装位置,此步极为关键。
3.设置参数包括元件的布置参数和布线参数。
4装入SPICEnetlist及元件封装完成电路板的自动布线。
5.布局元件由protel2004自动完成。
6.自动布线和手工调整。
7.保存及输出文件。
其中特别需要注意的有两点:
首先,要仔细考虑PCB尺寸的大小过大导致印制线条长,阻抗增加;过小则散热不好。
其次布线时要注意输入/输出端用的导线应尽量避免相邻平行。
本设计的PCB如下图3.14所示:
图3.14印制电路板
第4章软件设计及调试
4.1总设计思路
本设计采用C语言对单片机进行编程。
为了使程序条理清晰,整个程序由计数,定时,计算频率,数码管显示四部分组成。
其中定时器用的是FRC计时器,当FRCE是1时开通计时器功能,0则关闭。
FRCOF,状态寄存器的计时器溢出标志。
当FRC的值从ffffH→0000H时,FRC溢出中断标志FRCOF置为1,程序转入该中断向量地址0x0020去执行对应的中断子程序。
显示部分显示的是5位计步数(最大计数为99999),步数走过的时间(分钟为单位)以及频率(取整数)。
以下详细介绍了主程序的设计。
[2]
4.2计步主程序设计
主程序包括开始-停止-清零过程,频率计算部分和计数部分。
主要设计思路是:
按键1与PTC2管脚连接,只有在count_off==1模式下按键有效,功能是切换不同的显示内容,默认状态是Diaplay_mode=0显示当前步数;按下一次Diaplay_mode=1显示时间:
格式为hh-mm(小时-分钟);再按下一次Diaplay_mode=2显示当前时间内的步频,为步数比上时间。
如果时间min<1分钟按时间min=1分钟计算。
按键2与PTC4管脚连接。
作用是启动/停止/清零计数。
按键3与PTC3管脚连接。
作用是模拟传感器走步,按下一次步数+1,只有在count_off==0(计步数计时状态)下按键有效。
默认状态是count_off==2处于清零等待状态,此时按下按键2,count_off==0,为计步数状态,同时计时开始。
按下按键3,步数加1。
再次按下按键2,count_off==1,为停止计步数计时状态,数据不清零,此时按下按键1即可切换显示内容。
再次按下按键2,count_off==2,清零,等待下一次的计数周期。
计数部分流程图如下图4.1所示:
图4.1计数部分流程图
计算频率就是周期性信号在单位时间(1分钟)内变化次数,若在一定时间间隔T内测得这个周期性信号的重复变化次数N,其频率就表示为f=N/T。
具体流程图如下图4.2所示:
图4.2频率设计流程图
主程序代码段及注释:
//********************************************************************************
voidmain(void)
{
IOCA=0x00;
IOCB=0x00;
IOCC=PUCC=PTC5+PTC4+PTC3+PTC2+PTC1+PTC0;//PTC0~5为输入端口上拉电阻
IOCD=0x00;
IOCE=0x00;
IOCF=0x00;//PTF0驱动红色二极管灯
PTA=0x00;
PTB=0x00;//PTB驱动led输出
PTC=0x00;
PTD=0x00;//PTD0-4控制led0-45个数码管的通断
PTE=0x00;
PTF=0x00;
Delay_Nms(1000);//等待1秒稳定可以缩短时间去除也可以
//HFRC=21;//FRC定时器10msVALUE>>8
//LFRC=160;
INTF=0x00;
FRCC=0;