基于单片机的多功能自行车里程表的设计.doc
《基于单片机的多功能自行车里程表的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的多功能自行车里程表的设计.doc(18页珍藏版)》请在冰豆网上搜索。
大庆师范学院本科毕业论文(设计)
摘要
本文设计了一种基于霍尔元件的自行车的速度和里程测量系统。
以AT89C52单片机为核心,A44E霍尔传感器测转数,从而实现对自行车里程、速度的测量统计,采用AT24C02实现在系统掉电的时候保存里程信息,并可以将自行车的里程和速度的物理量用LED显示出来。
硬件部分是利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送往显示装置;软件部分用汇编语言进行编程,采用模块化设计思想。
关键词:
速度;里程;霍尔元件;AT89C52单片机
15
Abstract
IambasedonthedesignofaHolzerelementtothebicycle'sspeedandmileagemeasurementsysteminthisthesis.ThemaincontentistakeAT89C52singlechipasthecore,A44EHolzersensorinmeasuringspeed,thusrealizingthebicyclemileageandspeedmeasurementstatistics,theuseofAT24C02realizeinsavemileageinformationwhenthesystempoweroff,andcanbedisplayingthebicyclemileageandspeedofthephysicalquantityintheLED.ThehardwarepartoftheHolzerelementwilltakethepulsenumberofeveryturntobiketransfertoSCMsystem,thenSCMsystemwillsignalisprocessedtodisplaydevice;usetheassemblylanguageprogramminginthesoftwarepart,啊pplicationtheideaofmodularization.
Keywords:
Speed;course;Holzerelement;AT89C52SCM
目录
第一章前言 1
1.1课题背景 1
1.2课题设计的任务和要求 1
1.3课题设计的内容 1
第二章自行车里程表的总体设计方案 2
2.1霍尔传感器 2
2.2设计思路 2
2.3硬件设计 2
2.4软件设计 3
第三章自行车里程表的电路设计 5
3.1测量系统 5
3.2数据处理系统 6
3.3时钟电路的设计 8
3.4显示电路设计 8
第四章软件部分设计 9
4.1系统总程序设计 9
4.2数据处理程序设计 9
第五章总结 11
参考文献 12
附表 13
第一章前言
1.1课题背景
自行车是一种普遍的交通工具。
而随着社会的发展,交通日益拥挤,能源也开始变得紧张,人们的视线开始向自行车转移,自行车也加入到了健身器材的行列。
但自行车有它设计的局限性,不能将速度、里程的数据直观的显示给人们。
本文的设计是对自行车的一些完善,可以通过设备将速度、里程清晰直观的显示给人们,让人们能够清楚的了解到自行车的时速、行程。
1.2课题设计的任务和要求
研究测量自行车速度和里程的方案,并设计出电路,以实现对自行车的速度和里程两个物理量的测量和显示。
1.3课题设计的内容
本文是介绍的是以霍尔元件和单片机为基础设计的出的电路,原理是先在单片机中设定自行车的车轮周长tc,通过霍尔元件测量自行车车轮转动一周的时间t,然后将数据传输给单片机,其中时速V=tc/t,而里程L=tc*T/t,T为行驶总时间。
数据是通过外部电路经由霍尔元件传给单片机,单片机将数据处理过之后再经过外部电路转输给LED,将数据显示具体化,从而使人们可以直观的看到自行车的速度和行驶里程。
第二章自行车里程表的总体设计方案
2.1霍尔传感器
霍尔传感器是一种能够实现磁电转换的传感器,它可以检测出磁场的变化。
霍尔传感器具有很多优点:
体积小、寿命长、、功耗低、耐振动、结构坚固、抗污染和腐蚀能力较强。
霍尔效应:
在一块半导体薄片上,其长度为L,宽度为B,厚度为D,当他被置于磁场强度为B的磁场中时,如果在其相对两边通入控制电流I,且电流方向与磁场方向成正交,则在半导体的另外相对两边产生一个大小为控制电流I与磁场强度B乘积成正比的电势Uh,即Uh=KhIB,其中Kh为霍尔元件的灵敏度系数,该电势就称为霍尔电势。
2.2设计思路
本文设计思路为:
假定车轮的周长为L,在车轮上安装1个永久磁铁,当车轮每转一周,通过开关霍尔元件可以采集到一个脉冲信号,并从引脚P3.2中断O端输入,霍尔元件每获取一个脉冲信号就对系统提供一次计数中断,每次中断则表示车轮转动一周,所以自行车的里程为中断数n和车轮周长L的乘积;通过计数器T1计算出车轮每转一周所用的时间t,就可以计算出速度v。
当测量里程按键被按下时,里程指示灯亮,LED显示为里程数;当测量速度按键被按下时,速度指示灯亮,LED显示为速度值。
2.3硬件设计
测速首先要解决的问题是采样,使用单片机进行测量,可以可以使用脉冲计数法,车轮每转一周可以产生数量固定的脉冲,并送入单片机中进行计算,就可以获得速度的信息。
因霍尔传感器不受天气、光线等影响,也不会受到灰尘的影响,所以本文采用霍尔传感器。
霍尔传感器机械结构较为简单,可以在转轴齿轮上粘几粒永久磁钢,霍尔传感器固定在前叉上面。
当车轮转动时,霍尔传感器接触到永久磁钢时就会有信号输出,当车轮不停转动时就会有连续信号输出。
粘磁钢的时候要注意,霍尔传感器对磁场的方向十分敏感,粘上磁钢后如果没有信号输出,则可以换个方向试试。
霍尔传感器是磁敏元件,常用的采集信号的有A44E,该传感器与三极管很相似,有三个管脚,只要接上电源和地就可以工作,工作电压较宽,其外形如图2-1所示。
1-VCC2-GND3-OUT
图2-1A44E外形图
本文的设计是以单片机为核心,主要是因为单片机将CPU、内存和一些主要的接口集中在了一个芯片上面,而且它功耗低、功能强、体积小、重量轻、运行速度快等特点,所以我的设计是以单片机为核心。
本文中的设计用的单片机是AT89C52单片机,系统原理图如图2-2所示。
外部信号
霍尔传感器
外部存储器
AT89C52单片机
里程显示
速度显示
报警部分
图2-2系统原理图
2.4软件设计
程序的设计要考虑合理性和可读性,循环模块设计的原则是采用自顶向下的方法,模块化设计可以使程序的可读性良好,修改方便。
软件设计包括主程序、行车途中速度和里程计算子程序、延时子程序、中断服务子程序、显示子程序等等。
中断子程序是将传感器产生的信号接入外部中断O,将经过74LS74分频后的信号接入外部中断1,利用中断和定时器对分别对里程进行累加、车轮每转一周的时间进行测量;数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间形成对应关系,经过软件的编程显示所需要的值。
显示子程序是将数据处理后的结果送往显示装置,通过LED显示出来。
系统软件总体流程图如图2-3所示,其中A为系统判断条件,即测量速度或者里程,现实中用按键实现此项功能。
初始化
P3.0=1?
计算里程
显示里程
计算速度
显示速度
A
开始
图2-3软件系统流程图
第三章自行车里程表的电路设计
3.1测量系统
测量系统的作用就是捕捉信号,将捕捉到的信号通过电路传送走。
测量系统所应用的器件就是霍尔传感器,本次设计所利用的就是霍尔传感器磁敏的特性:
置于磁场中的导体或者半导体通入与磁场方向垂直的电流,就会产生一个与磁场和电流都垂直的电势。
如图3-1所示,利用霍尔效应制成的元件就成为霍尔元件。
霍尔元件的灵敏性很高,符合本次设计的要求,所以测量系统选择霍尔传感器。
图3-1霍尔效应原理图
根据设计的要求,我们选择霍尔传感器中的霍尔开关器件。
A44E就是霍尔开关器件,如图3-2(a)所示,其中A为稳压器,B为霍尔电势发生器,C为差分放大器,D为施密特触发器,E为OC门输入,图中的
(1)、
(2)、(3)为三个引出端。
在电源端加电压Vcc,经由稳压器稳压后加在霍尔电势发生器的两端,由于霍尔元件的特性,会产生一个电势差,该电势差经过放大器的放大后送往施密特触发器,由施密特触发器对信号进行整形形成方波,然后送往OC门输出。
当施加的磁场达到工作点时,触发器输出高电压,使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开;当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关,这样随着磁场变化霍尔开关就完成了一次开关动作。
工作点与释放点的差值就是磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集成霍尔开关传感器优良特性之一。
传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。
A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如图3-2(b)所示,测量时,在
(1)、
(2)两端加5V直流电压,在输出端3与1之间接一个2kW的负载电阻,如图3-3所示。
图3-2霍尔开关传感器
图3-3霍尔开关接线图
3.2数据处理系统
74LS74是D触发器的一种,本次设计中74LS74所起到的作用就是分频,车轮每转动一周,霍尔传感器就发出一个低电平脉冲,通过74LS74进行二分频后,定时器T1开启的时间为车轮转动一周的时间,这样就可以算出自行车的速度了。
分频前后对比图如图3-4所示。
由图可知二分频后波形时间正好是霍尔传感器开关的时间。
t
t
0
0
v
v
霍尔输出圈脉冲
二分频后的波形
图3-4分频前后对比图
为了能够是CPU采样到电平的变化,本次的设计采用的中断方式为脉冲触发方式。
用INT0和INT1引脚来实现中断。
存储器AT24C02是一个2K为串行CMOSE2PROM,内部含有256个8位字节,一个16字节写缓冲器,该器件通过I2C总线口进行操作有一个专门的写保护功能,通过器件地址输入端A0、A1和A2可以将最多达8个AT24C02器件连接到总线上面。
AT24C20管脚如图3-5所示。
图3-5AT24C02管脚图
SCL为串行时钟,用于产生器件所有的数据发送或接收的时钟。
SDA为串行数据/地址,用于器件所有数据的发送或接收,是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行连线。
WP是写保护,如果WP管脚连接到Vcc,则所有的内容就只能读不能写;当WP管脚连接到Vss或悬空,则可以允许器件进行正常的读/写操作。
本次设计采用的AT24C02是为了防止掉电时里程数据的丢失,由于AT24C02的数据线和地址线是复用的,采用串口的方式传输数据,所以只用两根线SCL和SDA与单片机传输数据。
在软件编程时采用E2PROM程序包来控制AT24C02发送或接收数据。
74LS244的作用是驱动数码管,将单片机的输出口直接接显示电路的话,电流太小无法显示,所以要通过驱动芯片74LS244来放大电流,使LED可以正常工作。
图3-6为74LS244的逻辑图。
图3-674LS244逻辑图
3.3时钟电路的设计
单片机的各项功能运行都是通过时钟频率为基准的,此次设计所采用的为内部时钟。
AT89C52单片机内部的高增益反向放大器的输入引脚XTAL1和输出引脚XTAL2跨