电动车里程表设计.docx
《电动车里程表设计.docx》由会员分享,可在线阅读,更多相关《电动车里程表设计.docx(24页珍藏版)》请在冰豆网上搜索。
电动车里程表设计
济南铁道职业技术学院
毕业设计
题目:
电动自行车速度里程表
系别:
电气系
专业:
电气自动化
班级:
电气0431
学生姓名:
付小明
指导教师:
贾俊刚
完成日期:
2007.5.10
济南铁道职业技术学院毕业设计任务书
班级
电气0431
学生姓名
付小明
指导教师
贾俊刚
设计题目
电动车里程表设计
主要
研究
内容
以AT89C51型单片机为核心,实时测量并实施显示电动车行驶过程的两项运动参数:
速度和里程。
所测量各值可单独显示,测量值误差小于1%。
超速行驶(设置两个可选择的限速参数)时,
自动发出声光报警。
主要技
术指标
或研究
目标
系统由测量模块、功能选择模块、显示模块、供电模块盒单片机小系统构成。
功能选择后启动测量,单片机实时采集、处理
数据后显示。
基本
要求
(1)根据功能要求编制设计方案。
(2)设计控制原理图。
(3)购买元器件在模拟板上进行调试。
(4)PCB电路板设计。
(5)连接电路进行最后调试,撰写报告。
主要参
考资料
及文献
单片机原理及接口技术
北京航空航天大学出版社李朝青
单片机应用系统设计与实现
福建科学技术出版社辛友顺
单片机在控制系统的应用
电子工业出版社余永权
摘要
给出了以AT89C51单片机和光电传感器为核心,利用单片机的运算和控制功能以及传感器可以将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算的特点,采用串口LED显示模块实时显示所测速度和里程的速度里程。
该方案由于使用了串口LED显示模块和E2PROM以及高效快速的算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性。
关键词:
脉冲发生;数据采集;串行数据存储;实时数据处理;速度及里程测量;串行LED显示;单片机的选择;软件设计
第一章引言
当今社会,以电力作为主要动力的电动自行车正逐步取代自行车,摩托车而成为代步的主要交通工具。
行驶过程中不产生污染,利于环境保护。
考虑其改善人们的出行方式、保护环境和经济节约等综合因素,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度里程表都是机械式结构的,看起来不够直观,如果能够采用LED屏幕直接将里程数或速度值显示出来,则会给用户带来极大的方便!
本设计以AT89C51单片机为核心,通过光电传感器来检测自行车的运转情况进而实现电动自行车的速度、里程的计算及里程的累计、存储,最后用8位的LED直观的将速度与里程值显示给用户,并且能够在速度高于用户的设定值时自动向用户发出声光报警,从而实现仪表的智能化。
第二章系统概述
本速度里程表系统由信号预处理电路、AT89C51单片机、串口液晶显示电路、串口数据存储电路和系统软件组成。
其中信号预处理电路包含信号放大、波形变换和波形整形。
信号预处理电路中的放大器用于对待测信号进行放大,以降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机接口的TTL信号;通过单片机的设置可使INT0引脚能够对内部定时器T0的工作进行控制,这样能精确地测出加到INT0引脚的正脉冲宽度(即测出脉冲信号的周期);速度显示部分采用串口液晶显示模块,所得的数据采用I2C总线,并通过E2PROM来存储,因而节省了所需单片机的接口线和外围器件,同时也简化了显示部分的软件编程。
系统原理框图如图所示:
2.1系统工作原理
该设计能实时地将所测的速度显示出来,同时也能够累计显示总里程数。
该速度里程表能将传感器输入到单片机的脉冲信号的宽度(传感器将车速转变成相应宽度的脉冲信号)实时地测量出来,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由串口液晶显示模块实时显示出所测速度。
本设计用两个按键来控制显示速度或里程。
考虑到信号的衰减、干扰等影响,再信号送入单片机前应对其进行放大整形,然后再输入到单片机进行测速。
单片机利用定时器T0的控制功能测出输入信号的周期后,再利用单片机的算术运算功能将周期转换成速度,同时每秒钟进行一次里程累计,从而计算出总里程。
最后将得出的速度、里程值存储在E2PROM中,并根据两个按键的选择情况来显示速度或里程。
。
2.2系统硬件设计
系统信号采集及预处理电路如图所示
系统的信号预处理电路由二级电路构成,第一级是由开关三极管组成的零偏置放大器,采用开关三极管可以保证放大器具有良好的高频响应。
当输入信号为零或负电压时,三极管截止,电路输出高电平;而当输入信号为正电压时,三极管导通,此时输出电压随着输入电压的上升而下降,这使得速度里程表既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。
由于放大器的放大功能降低了对待测信号的幅度要求,因此,系统能对任意大于0.5V的正弦波和脉冲信号进行测量。
预处理电路的第二级采用带施密特触发器的反相器DM74LS14来把放大器生成的单相脉冲转换成与COMS电平相兼容的方波信号,同时将输出信号加到单片机的P3.4口上。
单相脉冲转换成方波信号电路
利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。
输入的信号只要幅度大于VT+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。
从传感器得到的矩形脉冲经传输后往往发生波形畸变。
当传输线上的电容较大时,波形的上升沿将明显变坏;当传输线较长,而且接受端的阻抗与传输线的阻抗不匹配时,在波形的上升沿和下降沿将产生振荡现象;当其他脉冲信号通过导线间的分布电容或公共电源线叠加到矩形脉冲信号时,信号上将出现附加的噪声。
无论出现上述的那一种情况,都可以通过用施密特反相触发器整形而得到比较理想的矩形脉冲波形。
只要施密特触发器的VT+和VT-设置得合适,均能受到满意的整形效果。
2.2.1单片机系统
AT89C51单片机简介
AT89C51从20世纪90年代初期开始大量进入我国市场,其低廉的价格,可靠的性能,该芯片拥有与8051单片机完全一样的管脚分布,除了内部带有4Kflash与8051内部的ROM不一样外,其硬件资源完全相同。
其管脚分布图如下所示:
1)AT89C51单片机的性能及特点:
●与MCS-51系列单片机产品兼容;
●片内有4K(8K)可在线重复编程的快速闪存可擦写存储器;
●存储器数据保存时间为10年以上;
●宽工作电压范围,VCC可为2.7~6.5V;
●全静态工作:
可从0Hz~24MHz;
●程序存储器具有三级加密保护;
●128个字节(256个字节)的内部RAM;
●32条可编程I/O口线;三个16位定时器/计数器;
●中断结构具有5级(6级)中断源和两个优先级;
●可编程全双工串行通讯;
●空闲维持低功耗和掉电状态保护存储数据;
2.2.2LED显示电路
8位LED动态显示电路显示电路是智能仪表的重要功能电路之一,为简化电路、降低成本,通常采用动态显示方式来实现,使用的集成电路有8279,8155,8255,Max7219等,但这些集成电路存在体积大、价格贵的缺点,若在一些功能不是太复杂的系统中选用这些集成电路是不可取的。
随着智能仪表技术的不断发展,如何有效地设计低成本、小体积的显示电路成为电路设计者必须考虑的问题。
本文提出了一种实用的低成本多位数码显示电路的设计方法。
1电路的硬件连接和工作原理
图1为单片机系统构成的8位LED动态显示电路,该电路以AT89C51单片机为例。
电路使用器件少,仅用到了2片中规模集成电路74LS164和74LS138,占用CPU的I/O线少,特别适合于I/O线不是很多的单片机如AT89C51/系统。
74LS164为串-并转换移位寄存器,数据端A,B(第1,2脚)接单片机RXD引脚,时钟端CLK接单片机TXD,并行8位数据输出端分别接8个数码管的A,B,C,D,E,F,G,H;74LS138为3线~8线译码器,译码器输入端A,B,C分别接AT89C51的P1.0,P1.1,P1.2口,译码器输出端Y0~Y7接8个数码管从低位到高位的共阴极端。
电路中,要显示的数字所对应的字形码通过串行口送到74LS164,74LS138在同一时刻只有1位输出端为低电平,其他7位输出全为高电平,为低电平的对应的数码管选中,因此作为数码管显示时的位选信号。
系统在工作时,通过74LS164每次输出一个字形码,同时控制74LS138的译码器输入端A,B,C的电平状态,即从P1.0,P1.1,P1.2送出相应的电平信号,译码后使得要显示的对应位数码管共阴极端依次为低电平,即依次选中要显示的位,完成整个显示电路的动态扫描,依此扫描8次,完成8位数据的显示。
2软件编写 以AT89C51单片机系统构成的8位LED动态显示电路的显示子程序流程如图2所示:
设待显示的数据放在显示缓冲区中,显示缓冲区的地址为70H,71H,…,77H,依次存放从低位到高位待显示的数据。
则显示子程序清单如下:
3编写该程序时要注意程序中的延时时间的大小,延时过长会造成显示不连续,延时过短,又会出现闪烁现象,经多次调试在该设计中最佳延时为4ms。
本显示电路硬件结构简单,软件实现也很容易,而且性能稳定、成本低。
经过反复测试,效果很好,在一般的单片机控制系统中都可以使用该显示电路,具有一定的通用性。
在实际使用中,为增加LED数码管的亮度来源,可以在74LS164和74LS138的输出端增加驱动电路如74LS07等。
RST端保持高电平时间的长短与振荡器起振时间有关,而振荡器起振时间与频率有关。
10MHz时,约1ms;1MHz时,约10ms。
因此,只要保持RST端高电平的时间不小于20ms,单片机便能可靠的复位。
单片机复位及时钟电路
3)AT89C51单片机的各中断源及其特点分为:
INT0:
外部中断0请求,通过P3.2引脚输入,入口地址为0003H。
INT1:
外部中断1请求,通过P3.3引脚输入,口地址为0013H。
T0:
定时器/计数器0溢出中断请求,入口地址为000BH。
T1:
定时器/计数器1出中断请求,入口地址为001BH。
TI/RI:
串行口中断请求,入口地址为0023H。
电源电路主要由电源变压器T、整流桥、滤波电容器C1、C2、C3、C4、CW7805和二极管D1等组成。
如图所示电源电路
供电电路
第三章系统的软件设计
3.1系统软件设计框图
如图所示,本系统软件采用模块化设计方法。
整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转BCD码模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。
系统软件设计框图
3.2数据的采集及处理
待测信号经预处理电路后加至单片机的P3.4(T0)引脚可为单片机测量信号频率提供有效的输入信号。
单片机通过检测P3.4引脚电平来决定是否启动测量频率程序。
当该引脚为高电平时,系统处于等待状态,要一直到该引脚出现低电平时才开始测频率。
我们可从硬件的铝盘上知道两个过孔之间在圆周上的距离。
而这个距离M正好为计算速度和距离起到了基本的数据储备作用。
同时可以从TL0寄存器知道在两秒内单片机检测到的N个脉冲。
而M×N所得到的正是这两秒内铝盘在圆周上所走得距离S。
(此时假设在这个两秒内车子是匀速前进的),距离S除以2s的时间,就可以大概的算出这2s内铝盘的线速度。
再根据铝盘与自行车的轮子保持着一样的角速度,得到铝盘的线速度与轮子线速度的关系,从而算出自行车在这2s的平均速度。
至于里程的计算,根据速度计算的分析,在得到2s内铝盘在其圆周上走过的距离后。
根据它与自行车轮子的圆周走过的距离有一定比例关系(通过两者角速度一样的算