自行车里程表设计.docx
- 文档编号:11385135
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:37
- 大小:408.42KB
自行车里程表设计.docx
《自行车里程表设计.docx》由会员分享,可在线阅读,更多相关《自行车里程表设计.docx(37页珍藏版)》请在冰豆网上搜索。
自行车里程表设计
摘要
本文介绍的速度与里程表设计以单片机最小系统和霍尔传感器为核心。
传感器将不同的车速转变为不同频率的脉冲信号输录到单片机进行控制与计算,再采用LM016L模块进行显示,使得自行车的速度与里程数据直观的显示给使用者。
本系统由霍尔传感器、单片机AT89C51、液晶显示模块LM016L、数据存储电路和键盘矩阵模块、时间芯片DS1302组成。
通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间检测到的脉冲数;设计中的速度显示采用LM016L模块,通过速度换算得来的里程数采用12C总线并通过存储器来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程
本文先对里程表设计当中所需的设备作了详细的介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析,在此基础上进行了仿真。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
关键词:
单片机最小系统,霍尔传感器,时间芯片DS1302,液晶显示模LM016L,矩阵键盘。
Abstract
ThispaperintroducesthespeedandodometerdesignbasedonSCMsystemandthesmallestHolzersensoristhecore.Thesensorwilldifferentspeedchangeintodifferentfrequencypulsesignalinputtingtothemicroprocessorcontrolandcalculation,thenuseLM016Lmoduletodisplay,thebicyclespeedandmileagedatatodisplaytotheuser.
Thissystemiscomposedofsensors,MCU,HolzerAT89C51LCDmoduleLM016L,datastoringcircuitandakeyboardmatrixmodule,timechipDS1302.Throughthecomputer'ssettingscanmaketheinternaltimerT1pulseinputpinT0control,thiscanbeaccuratelycalculatedtotheT0pinunittimetodetectthepulsenumber;inthedesignofspeedthattheuseoftheLM016Lmodule,thespeedofconversiontothemileagebyusing12Cbusandthememorytostore,savingtheforsingle-chipmouthlinesandperipheraldevices,butalsosimplifiesthedisplayportionofthesoftwareprogramming
Thispaperfirstontheodometerdesignrequiredequipmentareintroducedinthispaper,ontheproblemsexistinginthedesignaredescribed;thenthehardwareandsoftwaredesignandimplementationcarefullyanalyzed,onthebasisofthesimulation.
Theodometerdesignhastheadvantagesofsimplestructure,lowcost,cleardisplay,theadvantagesofstableandreliable.
Keywords:
singlechipmicrocomputerminimumsystem,aHolzersensor,timechipDS1302,liquidcrystaldisplaymoduleLM016L,matrixkeyboard.
1绪论
1.1.课题的背景与意义
中国的轻型电动车产业在2000年进入产业化发展阶段,目前正处于产业生命周期快速增长阶段的初期。
尽管处于处处封杀的重压下,消费者对这一新兴交通工具的青睐,推动轻型电动车产业近年来保持了80%以上的增长速度。
2005年,在整体经济需求增长放慢、工业增速回落的背景下,轻型电动车行业却出现令人瞩目的“井喷”行情,成为耐用消费品市场不多的“亮点”之一。
2006产销量达到1500万辆。
据此估算,2010年,中国轻型电动车的产销量将可能达到3000万辆,出口量将可能达到500~600万辆。
实现工业产值700亿元,包括上下游带动产值的产业总体规模将达到1300亿。
我国是自行车大国,随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。
因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。
在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。
随着自行车里程表的发展,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物理量。
本文介绍的自行车里程表是采用以AT89C51单片机为中央处理器,结合高精度的采样电路、控制电路、显示电路,方便地实现了智能化、高精度、高可靠性、高效率的自行车里程表的设计,并且使用方便。
1.2课题所要解决的主要问题
(1).设计一个轻便、省电、全天候野外使用的自行车里程表;
(2).可显示里程、速度、加速度,行驶时间等信息;
(3).适用于各种车型(不同尺寸),车型信息可通过键盘设置
2系统设计
2.1.系统功能分析
本系统可以实现自行车或电动车在行驶过程中速度,里程数的显示功能。
系统元件简单,实用性强。
通过霍尔传感器进行信号的采集,每来一次信号,计数器加一,每五秒钟计算一次平均速度。
本系统的核心在于单片机,把采集到的数据送入单片机后进行处理,再通过单片机把处理好的数据通过液晶显示出来,从而实现速度和里程的显示。
本系统是由数据采集,单片机控制系统,键盘显示,液晶显示4部分构成。
其中数据的采集是由霍尔传感器来完成的,它的输出是矩形脉冲,其中关键的处理由单片机系统来完成,单片机将对P1.0脚的信号进行计数,输出的信号由液晶进行显示,显示当前的行驶里程情况。
键盘的作用是输入自行车的车型等信息,以上所诉就是整个系统的总体设计思想。
[6]
该设计能实时地将所测的累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,通过单片机计算出里程,并由液晶显示模块显示所测里程。
本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。
设计时,应综合考虑测速精度和系统反应时间。
本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。
在计算里程时取了自行车的理想状态。
实际中,误差控制在几米之内,相对于整个里程来说不是很大。
另外,还应尽量保证其他子模块在编程时的通用性和高效性。
2.2系统设计主要任务及内容
用单片机设计一个可以适用各种自行车的数字里程表,可显示里程、速度、时间等信息。
学习、了解、掌握程序设计方法和了解自行车的数字里程表的基本工作原理。
用传感器将所测转速转变为数字脉冲信号,然后再将数字脉冲信号数据传输于核心单片机处理,单片机将根据设计程序计算在一定时间内数字脉冲的频率,再由计数值最终得到路程里数并通过终端显示设备显示出来。
附加报警功能,在速度超过某一个固定值后,指示灯发亮,提示需要减速。
2.3系统设计技术指标
计数方式:
十进制
里程显示位数:
4位
速度显示位数:
2位
3自行车数字里程表硬件设计
3.1概述
自行车数字里程表的硬件设计主要包括运用传感器对外部信号进行采集,单片机对数据进行处理,液晶显示的设计,单片机是设计的核心。
3.1.1系统硬件构成
系统硬件以AT89C51为核心,包括以下三个模块电路:
1.数据采集模块(霍尔传感器采集数据、时间芯片DS1302、键盘矩阵)
2.控制模块(AT89C51)
3.LCD显示模块(LM016L)
图3-1系统构成框图
3.1.2设计思路
基本思路:
假设自行车车轮的半径为R,R的值根据自行车半径的不同由编程是内部设定或键盘输入给定,则L=2*3.14*R。
在轮圈上安装一个永久磁铁,则轮子每转一圈,通过开关型霍尔传感器的电平就会发生一次跳变,跳变产生一个脉冲信号,从引脚P3.5计数器T1端输入,并通过计数器对其进行计数为N在规定的周期T时间内的路程S=N*L,而在该周期内的速度V=S/T,当前的总路程为lc=lc+S。
计时功能由时间芯片DS1302来选取,如果当时间不符合时,则由键盘对时间进行初始化设置来调整时间,然后通过定时器来完成时间计时功能,键盘还可以对不同规格的自行车半径来作选择。
在LCD上需显示的内容为time,sd,lc。
由AT89C51控制显示数据,实时刷新。
3.2数据采集模块
3.2.1传感器
3.2.1.1.传感器的选择
里程测量传感器的选择方案有:
使用编码器对自行车车轮的圈数进行测量、使用红外光敏电阻对里程进行测量、利用霍尔传感器对自行车里程进行测量。
编码器的安装相对来说比较复杂;红外光敏电阻不仅对光敏感,还对环境和天气的要求也高,这些因素都能严重影响测量的效果;而霍尔传感器完全能避免上述的不足之处,由霍尔元件加整形电路构成的霍尔开关系统,不仅安装方便,不受光线和环境的影响,而且具有输出响应快,数字脉冲性能好,既简单又经济适用,所以本设计采用霍尔传感器来对里程进行测量。
3.2.1.2.霍尔传感器的原理
当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象就称为霍尔效应。
两端具有的电位差值称为霍尔电势U,其表达式为U=K·I·B/d,其中K为霍尔系数,I为薄片中通过的电流,B为外加磁场的磁感应强度,d是薄片的厚度,由此可见,霍尔效应的灵敏度高低与外加磁场的磁感应强度成正比的关系。
而利用霍尔效应制成的元件叫做霍尔元件,霍尔元件接线图如下图3-1所示。
图3-1接线图
霍尔传感器检测转速示意图如下图3-2示。
在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。
圆盘每转动一圈,霍尔传感器便输出一个脉冲,通过单片机测量产生脉冲的频率就可以得出圆盘的转速。
图3-2测速原理图
霍尔传感器的外形图和与磁场的作用关系如图3-3所示。
磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。
图3-3霍尔元件产品图和管脚图
3.2.2时间芯片
本设计时间芯片采用的了DS1302,DS1302是由美国DALLAS公司推出的一种具有涓细电流充电能力的低功耗实时时钟电路,具有可对年、月、日、周、日、时、分、秒进行计时等的功能,工作电压为2.5V~5.5V。
主要的特点是采用串行数据传输,即使掉电亦不丢失,在DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302与AT89C51的连接线有三条线:
RST引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2作为备用电源,芯片外接晶振X2,为芯片提供计时脉冲。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。
DS1302与单片机之间能简单地
采用同步串行的方式进行通信,仅需三根I/O线:
复位(RST)、I/O数据线、串行时钟(SCLK)。
时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。
DS1302的外部引脚分配图如图3-4所示
图3-4DS1302的外部引脚分配图
DS1302的内部结构如表1所示,主要组成部分为:
移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。
虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。
表1DS1302的内部结构
DS1302的内部结构图3-8
DS1302外部引脚功能说明图3-5
VCC2
主电源引脚
GND
地
图3-6DS1302封装图
RST
复位
I/O
数据输入/输出
SCLK
串行时钟
VCC1
电池引脚
图3-5DS1302外部引脚功能说明图
DS1302的结构如图3-6所示
图3-6DS1302的结构
DS1302的内部结构如图3-7所示
图3-7DS1302的内部结构图
DS1302含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和串入的二极管数目,以调节电池充电电压。
不过对我们目前而言,最需要熟悉的是和时钟相关部分的功能,对于其它参数请参阅数据手册。
DS1302的工作原理
DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。
数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。
时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。
各引脚的功能为:
Vcc1:
主电源:
Vcc2:
备用电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 SCLK: 串行时钟,输入,控制数据的输入与输出; I/O: 三线接口时的双向数据线; CE: 输入信号,在读、写数据期间,必须为高。 该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。 DS1302有下列几组寄存器: 1)DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器 秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。 当该位置为1时,时钟振荡器停止,。 DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。 在任何的对钟和RAM的写操作之前,WP位必须为0。 当WP位为1时,写保护位防止对任一寄存器的写操作。 2)DS1302有关RAM的地址 DS1302中附加31字节静态RAM的地址如表3-3所示。 表3-3DS1302中附加31字节静态RAM的地址 工作模式寄存器 读寄存器 写寄存器 时钟突发模式寄存器 CLOCKBURST BFh BEh RAM突发模式寄存器 RAMBURST FFh FEh 3)DS1302的工作模式寄存器 所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。 突发模式寄存器如表3-4所示。 表3-4突发模式寄存器 7 6 5 4 3 2 1 0 1 RAM A4 A3 A2 A1 A0 RD CK WR 此外,DS1302还有充电寄存器等。 2)读写时序说明 DS1302是SPI总线驱动方式。 它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与DS1302通信,首先要了解DS1302的控制字。 DS1302的控制字如表3-5。 表3-5控制制字(即地址及命令字节) 读地址 写地址 数据范围 C1h C0h 00-FFh C3h C2h 00-FFh C5H C4h 00-FFh . . . . . . . . FDh FCh 00-FFh 控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到。 DS1302中。 位6: 如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A4~A0): 指示操作单元的地址; 位0(最低有效位): 如为0,表示要进行写操作,为1表示进行读操作。 控制字总是从最低位开始输出。 在控制字指令输入后的下一个 SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。 同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。 数据读写时序如图3-7所示。 图3-7数据读写时序 具体操作见驱动程序。 (3)电路原理图: 电路原理图如图3-8所示,DS1302与单片机的连接也仅需3条线: CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。 图3-8电路原理图 3.2.3键盘矩阵 键盘是4*4的矩阵键盘,在设计中是用来调整时间的,从上述知道当时间芯片DS1302的时间不准确时,就可以通过键盘来对时间进行调整,当然键盘还能对不同规格自行车的半径进行选择。 本系统采用4*4键盘,其中使用到的只有其中10个,另外六个保留,键盘的作用就是设置轮胎的宽度,和另外的一些参数值,也可以通过键盘来控制程序的运行(本系统未使用)。 4*4的键盘引出的8个引脚接单片机的P2口。 键盘扫描原理是按键部分由16个轻触按键按照4行4列排列,连接到P2端口。 将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。 这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。 行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 本系统采用的扫描法,具体如下: 判断键盘中有无键按下: 将全部行线置低电平,然后检测列线的状态。 只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。 若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。 方法是: 依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。 确定某根行线位置为低电平后,再逐行检测各列线的电平状态。 若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 3.3控制模块 3.3.1概述 单片机是指一种集成在电路芯片上的微型计算机,它包括中央处理器CPU、随机存储器RAM、只读存储器ROM、并行I/O口、串行I/O口、中断系统、定时器/计数器、定时电路及元件等部件集成到一块芯片上构成的一个小而完善的计算机系统。 1.中央处理器 2.中央处理器CPU是单片机的核心,主要完成运算和控制功能。 1).随机存储器RAM CPU在运行时可随时进行数据的写入和读取,断电后RAM中内容丢失。 2).只读存储器ROM 只读存储器ROM,顾名思义是指将数据写入后不易改写的存储器,断电后ROM 中内容不丢失(如MP3) 1)并行I/O口 51单片机有4个并行I/O口P0、P1、P2、P3,每个I/O口有8根I/O口线。 2)串行I/O口 3)目前比较高档的8位单片机均设置了全双工串行I/O口,用以实现与某些终端设备进行串行通信,51单片机只有一个串行口P3.0、P3.1。 1.中断系统 中断系统包括中断装置和中断处理程序,是计算机的重要组成部分,实时控制、故障自动处理、计算机与外围设备间的数据传送广泛采用中断系统。 2.定时器/计数器 定时器是由单片机内部提供一个非常稳定的计数信号;计数器则是记录单片机的外部事件的。 3)定时电路及元件 计算机的整个工作是在时钟信号的驱动下,按照严格的时序有规律的一拍一拍的执行各个操作,单片机内部设有定时电路,只需要外接振荡元件即可工作。 3.3.2单片机最小系统 单片机的最小系统可以为单片机提供一个稳定无抖动的电源,主要由电源,时钟,复位三部分电路组成。 如图3-9所示 图3-9电路构成框图 1).电源电路: 向单片机供电通常图片都没有给出,20脚是地GND,40脚是电源VCC,一般我们会选择在电源VCC处,加一个瓷片电容,它的目的是能滤掉电源中的高频杂波,使系统更加安全。 需要注意的是51单片机使用的是5伏直流电源。 2).时钟电路: 时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。 AT89C51片内有一个用于构成振荡器的反相放大器,该反相放大器的输入为芯片引脚XTAL1(19脚),输出端为引脚XTAL2(18脚),这两个引脚通过连接一个12MHz晶振X1和两个30pF的瓷片电容C1、C2,构成了单片机的时钟电路。 振荡器是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显: 电路将无法通信。 晶振是石英晶体振荡器的简称,通常用来构成振荡电路,产生各种频率信号。 是一种能够输出稳定的震荡周期的元件,通过晶振输出的时钟脉冲,来安排单片机的工作,这样单片机才能够有了时间的概念。 但是晶振并不能够独立的使用,图中的瓷片电容C1和C2起稳定作用,所以晶振必须配合合适的负载电容,否则会产生错误,或者是晶振不能正常的工作。 晶振所加电容是匹配电容,主要是根据单片机内部电路和晶振确定的,一般选取30pF左右即可,电容大小对振荡的稳定性有较大影响,对频率有一定的微调,但不明显。 晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。 图3-10时钟电路 注: 时钟电路振荡频率f=晶振频率 时钟电路振荡周期=1/f 单片机机器周期=振荡周期×12 例如: 晶振频率=12MHz 振荡频率=12MHz 振荡周期=1/12μs 机器周期=1μs 3.复位电路: 确定单片机工作的起始状态,完成单片机的启动过程 AT89C51单片机的复位信号时高电平有效,通过RST/VPD(9脚)连接复位电路,复位电路连接方式有两种。 1)上电复位: 单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。 2)手动复位: 手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。 通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机的“重启”。 上电复位是每个单片机都必须有的,一般断电以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自行车 里程表 设计