当前位置:文档之家› 汽车速度显示及超速报警器

汽车速度显示及超速报警器

汽车速度显示及超速报警器
汽车速度显示及超速报警器

引言

汽车是现在最流行的代步工具,然而随着经济越来越好,汽车已经进入普通家庭中。全世界消耗的汽车数量大得惊人。与此同时,交通事故也一直居高不下。酒后驾驶,超速飙车,危及着人们的人身安全。本着解决超速引发的交通事故,本超速报警系统应用了数字电子技术,运用了一些比较简单的电路制成。

该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,为使电路简单,仅以转动频率来模拟汽车的速度,并将计得的速度通过数码管显示出来,速度显示每秒刷新一次,并对超速时产生报警信号或者自动将发动机熄灭,确保了行驶的安全,司机通过拨动开关可任意设置产生报警信号速度和安全行驶极限速度。

该电路主要由逻辑控制电路、信号接收电路、LCD显示器、报警信号等部分构成。

第一章汽车速度显示及超速报警器的基本工作原理电路基本功能

该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,,仅以转动频率来模拟汽车的速度,并将计得的速度通过LCD1602显示出来,确保了行驶的安全,通过控制开关可以设定速度,设置速度可以为10到120间为十的整数倍,当速度大于此设置速度时,电路将产生报警信号。

电路的基本组成部分

该电路主要由逻辑控制电路、LCD显示器、报警信号等部分构成。

电路的整体工作原理

驾驶者根据当前天气,路况,和自己的驾车状态等设定本系统的限速值,比如说60km/h。设定汽车的最高行驶速度后,系统正式运行。本系统采用霍尔传感器来测定汽车的当前行驶速度,当车轮每滚动一周,霍尔传感器输出一个高低电平,计数一次,将数据实时传给单片机处理,计算出汽车当前的速度值,并实时显示在LCD显示屏上。当汽车的行驶速度大于设定的最高速度值时,蜂鸣器发出响声,LED警告灯亮,LCD显示屏显示“warning!!!”的提示语。驾驶者根据警告提示就可以比较好地控制汽车的行驶速度,从而降低了事故的发生率,保证了人身安全。

电路实用说明

本系统有两个作用:一是将汽车速度通过LCD显示器显示出来,使司机能知道对应时刻的汽车速度;二是当司机加速过高达到设置值时,电路会产生报警信号。在不同级

别的道路上、在不同的天气环境下、在司机不同精神状态下或者其他不同的情况下,汽车的安全行驶速度会有不同高低的限制,而往往由于司机不意识的加速过高而产生各种交通事故,因此,在汽车中安装超速报警器极其重要。司机可根据实际情况设置产生报警信号速度。

电路设计原理图

第二章主要基本电路的工作原理

复位电路的工作原理

当系统运行发生故障时,可以选择手动复位功能,使系统能够继续正确运行。

霍尔传感器测速电路的工作原理

霍尔H是一个磁敏原件,一般装在电机里面,电机转动的时候,转到磁铁的地方发出信号。

霍尔H的1脚接12v,2脚接地,为霍尔H提供12v电源。3脚的输出根据左边的图,当磁场B从小到大到达18MT,3脚由12v跳变为0v。当磁场B从大到小到达,3脚由0v 跳变为12v。

分析右边的图:当3脚输出12v的时候,由于LED1两边都是12v,没有电压,不发光,而3脚输出的12v使三极管9013导通,三极管9013导通使TLP521左边的发光管发光,有光TLP521右边导通,I/O输出低电平0v。

当3脚输出0v的时候,由于LED1两边有电压,LED1发光,而3脚输出的0v使三极管9013截止,三极管9013截止使TLP521左边的发光管不发光,没有光TLP521右边截止,I/O输出高电平5v(由于TLP521右边是5v电源)

这样可以根据电机转速,I/O口输出标准数字电路高低电平的个数。

按键电路的工作原理

本着系统简单的原则,我们设计以按键输入的方式来设定汽车最高的行驶速度。按下不同的按键,可以设定不同的速度值。本系统可以设定的最高速度分别为:10km/h,20km/h,40km/h,60km/h,80km/h,120Km/h。

1602显示器的工作原理

晶振电路的工作原理

单片机都需要一个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器可能更恰当一点。有两个寄存器与

每个石英晶体相关联,一个计数器和一个保持寄存器。石英晶体的每次振荡使计数器减1。当计数器减为0时,产生一个中断,计数器从保持计数器中重新装入初始值。这种方法使得对一个计时器进行编程,令其每秒产生60次中断(或者以任何其它希望的频率产生中断)成为可能。

第三章电路所用元件列举

分立元件

电容:10uf 1个 30uf 2个

电阻:5K 6个、1K 2个、10K 1个

按键:7个

LED灯1个

扬声器1个

三极管1个

蜂鸣器1个

晶振1个

LCD显示屏1个

集成芯片(AT89C51)

第四章电路原理图电路原理图

4 软件设计

程序设计步骤

第一步分析问题,明确任务要求,对于复杂的问题,还要讲要解决的问题抽象成数学模型,即用数学表达式来描述。

第二步确定算法,即根据实际问题和指令系统的特点确定完成这一任务须经历的步骤。

第三步根据所选择的算法,确定内存单元的分配:使用那些寄存器:程序运行中的中间数据及结果存放在那些单元,以利于提高程序的效率和运行速度:然后制定出解决问题的步骤和顺序,画出程序的流程图。

第四步根据流程图,编写源程序。

第五步上机对原程序进行编译、调试。

程序流程图

电机转速测量需要经过的4个基本步骤:1是控制方式;2是确定计数方式;3是信号输入方式;4是计数值的读取;通过89C51,单片机完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。

其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数(这里设定为1),由霍尔器件电路输出。控制计数时间,即可实现计数器的计数值对应机轴的转速值。主CPU将该值数据处理后,在LCD液晶显示器上显示出来[11]。

INT中断对转速脉冲计数。定时器T0工作于定时方式,本系统采用89C51中的0

INT计数值,此值即为脉冲信号的频率,根据工作于方式1。每到1s读一次外部中断0

式(4-1)可计算出电机的转速。

当直流电机通过传动部分带圆盘旋转时,霍尔传感器根据圆盘上得磁片获得一系列

时器T0完成100次溢出中断的时间T除以测得的脉冲数m,经过单位换算,就可以算得

4.2.1 主程序流程图

主程序工作过程如下。

先进行初始化设置各定时器初值,然后判断是否启动系统进行测量。启动系统,霍

尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机转速。再进行数值的判断,若数值高于设定速度则报警,否则就进行正常速度液晶显示。

图4-1主流程图

4.2.2 中断服务流程图

INT位进行的脉冲在处于中断服务程序阶段,首先进行关中断设置。其次进行对0

INT、T0进行赋初值并且进行关中断设置。最后进行中个数计数的数值读取。再次对0

断返回。

一、外部计数中断

图4-2 外部中断流程图

二、定时器中断

图4-3 T0中断流程图

软件程序设计

4.3.1 主程序设计

主程序在对定时器、计数器、LCD等进行初始化后,检测限速键盘是否有输入,如果有,就改变限制速度;如果没有,就保持限制速度数值不变(如果是初始值就为

999km/h)。然后判定即使速度是否超过限制速度,如果超过了,就进入限制速度显示程序,调用限制速度显示数组与超速字符数组显示,并使提醒LCD与蜂鸣器开启;如果没超过,即进行即时速度ASCII码处理,改变即时速度数组,然后调用限制速度显示数组与即时速度数组显示,并关闭提醒LCD与蜂鸣器。最后返回检测键盘,不断重复检测键盘与判定程序。

/*********主程序***********************/

void main()

{

uint bai,shi,ge;

init();

while(1)

{

keyscan();

if(speed

{

bai=speed/100

shi=speed%100/10;

ge=speed%10;

table2[0]=bai+'0';

table2[1]=shi+'0';

table2[2]=ge+'0'

display(table,table2);

led=0;

speaker=0;

};

keyscan();

if(speed>=full)

{

display(table,table1);

led=1

speaker=1;

};

};

}

中断服务程序设计

一、外部计数中断

进行转动圈数的计数,每圈加1。

/*-------------------外部中断0计数程序-------------------*/ void counter() interrupt 0

{

EX0=0;

r++;

EX0=1;

}

二、定时器中断

进行定时器重新赋值,与每秒进行一次速度计算处理,得出转速。

/*-----------------内部中断0计时计数程序-----------------*/ void T0_1() interrupt 1

{

double s;

t=t+1;

if(t==10) 5.1.1 P5.1.2BJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器DScope51或TScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

图5-1 C51工具包的整体结构图

应用Keil软件进行程序调试

软件的调试必须在开发系统的支持下进行。先分别调试通过各个模块程序,然后调试中断服务程序,最后调试主程序,将各部分连接进行调试。调试的范围可以由小到大,逐步增加,必要的中间信号可以先做设定。通常交叉使用单步运行,断点运行,连续运行等多种方式,每次执行完毕后,检查CPU执行现场,RAM的有关内容,I/O接口的状态等。发现一个问题,解决一个问题,直至全部通过。

首先新建一个工程项目文件;其次为工程选择目标器件;再次为工程项目设置软硬件调试环境;并创建源程序文件并输入程序代码,及保存创建的源程序项目文件;最后把源程序文件添加到项目中[17]。

Proteus软件仿真

在Proteus软件中画出原理图,向单片机中加入需要调试的程序的HEX文件,便可以进行调试了.

5.3.1 仿真步骤

利用Proteus实现单片机系统开发过程一般分为四步:

1.在Proteus平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等(简称Proteus电路设计);

2.在keil平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)(简称Proteus软件设计);

再次在Proteus平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真(简称Proteus仿真);

最后仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机中运行、调试。若出现问题,可与Proteus设计与仿真相互配合调试,直至运行成功(简称实际产品安装、运行与调试)。笔者的实践证明:按照Proteus仿真通过的设计来安装的实际系统,只要安装正确、元器件无误,焊接牢靠,基本都能顺利通过[18]。

5.3.2 仿真实例

在Proteus软件里仿真的效果图如下:

PS:霍尔元件用信号发生器代替,通过设定信号发生频率,仿真实际汽车转动角频率的测定。

图5-7 显示图

第五章电路设计与调试总结

电路设计说明

本电路为汽车速度显示及超速报警器,从电路设计、程序设计、仿真全部小组成员在指导老师的指导下独立完成,总共花了差不多两周的时间,主要是用数字电路有关知识来设计,设计中主要用到了PROTEL软件及EWB仿真软件。

电路设计总结

任何电路的设计都要经过大体的描绘与分割,将整个电路分成几个小的相对独立的电路,再对各个电路加以分析,运用有关知识先进行试探性的设计,之后对所设计的电路进行全面分析,加以改进,感觉成功时就用相关防真软件进行电路防真。当各个部分的电路都能实现其该实现的功能时,综合电路功能对电路设计的要求和有关电路设计知

识,将所有各个电路通过一定的连接方式连到一起,构成整体的最终电路。然后,如有可能再对整个电路进行防真,若不成功,则一级一级的查找失败原因并加以改进。一般来说,用防真软件防真不成功的电路,硬件电路不会成功的,而用软件防真能成功的电路,硬件电路不一定能够成功,但经防真成功了的电路,在硬件调试时出现的问题也较少,而且问题一般不大,较容易进行改进,直至调试成功。

本电路可以先将整个电路分成以下几个部分来独立设计:复位电路、晶振电路、按键电路、扬声器、LCD液晶显示器。设计时先独立将这些电路设计并防真,在每个电路都能实现其特定功能时,再将所有电路连接到一起,构成所需要的电路电路调试总结

由于本电路相对较为复杂,没有接近现成的电路可参考,所有电路都要自己参考一些资料后设计出来的,并且有些电路不能对其进行防真,电路可靠性不高,这就需要经不断反复研究,设计出最理想的电路。

测速系统采用霍尔传感器作为敏感速率信号,具有频率响应快,抗干扰能力强等特点。霍尔传感器的输出信号经信号调理后,通过单片机对连续脉冲记数来实现转速测量,充分利用了单片机的内部资源,有很高的性价比。经过测试并对误差进行分析发现,该系统的测量误差在5%以内,并且在测量范围内转速越高测量精度越高。

所以该系统在一般的转速检测和控制中均可应用。

设计采用89C51单片机作为测量转速的主CPU芯片,系统硬件设备结构简单合理,成本低,实时性好。

本电路采用LCD显示测速值,直观、稳定,易于实现,该显示方式可以推广到其他工程应用领域。并进行了仿真,调试结果表明所设计的软件程序正确。

相关主题
文本预览
相关文档 最新文档