汽车倒车防撞报警器毕业设计

乐山师范学院毕业设计(论文)

本科生毕业设计报告

学 院 物理与电子工程学院 专 业 电子信息工程

论文题目:汽车倒车防撞报警器设计

学生姓名 指导教师 班 级 学 号 完成日期:2014 年 12 月

题目:汽车倒车防撞报警器

物理与电子工程学院 电子信息工程 学号

[摘 要]本设计是以基于AT89S51单片机的超声波测距,可用作汽车泊车安全辅助装置,该装置可以数码管显示驾驶员距障碍物多远,并在距障碍物一定警戒距离时发出警报声。使驾驶员在泊车时能够更加安全,减少事故的发生。该设计硬件由单片机最小系统、超声波发射与接收电路、供电与报警电路、数码显示电路组成。软件主要使用汇编语言进行。 [关键词] AT89C51 超声波 数码管 测距 传感器

1设计任务与要求

1.1研究的背景

汽车业与电子业的不断发展壮大,使得这俩者之间变得越来越紧密,俩者的相结合,导致了电气一体化这一系统的产生。在交通严重的今天, 电子控制系统技术可以使汽车的安全性得到很大的提升。广泛的来看其中主要有自动安全气囊,自动门锁,自动空调,自动导航,自动车窗,控制车灯,控制座椅,倒车防撞并液晶显示实时路况,自动诊断汽车故障等。

在经济不断发展的今天,汽车这种交通工具会越来越普及,这就会导致城市交通不断拥挤,最重要的一点就是在停车时有一些驾驶员不够小心或对障碍物的预判距离不足导致发生摩擦与碰撞。如果驾驶能够提前知道障碍物距离多远、在哪里,就可以及时采取措施,这样就可以避免很多事故的发生。于是,许多安全系统由此诞生,其可分为主动安全系统与被动安全系统。其中主要是主动安全系统,而现阶段对主动安全系统的研究主要放在测距上面。本设计要求设计的汽车倒车防撞系统能够有效的提醒驾驶员距障碍物多远,并可手动设置在距障碍物多远是发动报警,可有效的提高倒车安全性。 1.2本设计的主要任务

(1)设计一套汽车倒车防撞报警系统,要求有一台主机,汽车与物体距离小于设定值时,利用蜂鸣器进行报警。通过按键选择报警的距离并数码显示选择的档位。

(2)采用51系列单片机中的简易型产品AT89C2051作为中央处理器,选用专

用配对的超声波组件,进行超声波信号与电信号的相互转换,利用超声波传感器的选频特性,对接收到的超声波信号进行幅值判断,从而达到不同距离的选择与报警的目的。

1.3应解决的关键问题

1、对整体电路的设计。 2、超声波测距的计算。 3、超声波测距的死区解决。 4、按键对报警值的设置。

2 设计方案

2.1方案比较 2.1.1 激光测距

激光测距主要采用脉冲法和相位法。脉冲法就是测距仪发出激光后被测量物体反射后再次被测距仪接受,测距仪记录激光往返时间,以光速的大小乘以时间的一半来计算距离。相位法是采用无线电波的频率并对激光束进行幅度调制,以此来测量调制光往返以此产生的相位延迟,用调制光的波长算此相位延迟代表的距离。其优点是激光的测量距离很远、速度很快,测量精准。缺点是造价比较高。 2.1.2红外线测距

红外线测距的原理是利用红外线在碰到不同距离的障碍物时反射回来的强度不同来进行测量。优点是造价便宜,缺点是不够精准,方向性不好。 2.1.3 超声波测距

超声波测距的原理是利用超声波在发射后碰到障碍物后会反射回来,计录其从发射到反射回来的时间,然后以时间的一半乘以超声波在空气中传播的速度就可得出与障碍物间的距离。超声波测距在中长距离的精度比红外线高,易于控制方向,能量消耗慢。造价比红外线高但少于激光,安全比较高。综合以上方案可以得出,方案三总体较优,故采用方案三。 2.2电路总体方案

图2.2是电路总体结构框图,包括51单片机最小系统,HC-SR04超声波测距模块,LED 数码管显示电路,蜂鸣器报警电路和按键电路。

图2.2 电路基本框图

本设计对51单片机进行编程使用的是keil 编程软件,51单片机在启动后由P0.1口产生脉冲信号通过放大电路后传送到超声波发射探头,产生超声波,在发射电路启动时,单片机同时启动中断程序,利用中断定时器的计数功能记录从发射到接收超声波所用的时间。当接收到返回的超声波后,对单片机进行中断申请,执行外部中断子程序,开始计算距离。

在选用器材时,最难选用的是超声波探头,HC-SR04超声波测距模块测距的精度最高可达3MM ,而测试盲区仅为2CM ,且内含超声波发射与接收器。超声波的发射与接收是分开的,所以必须要求俩个探头为同一水平线,为了减少由于测量距离和信号在空气中传播而引起的误差,要求俩探头不能靠太进,综合各种资料,HC-SR04俩探头间距大约为6CM ,最符合本设计,故采用了HC-SR04超声波测距模块。其它器件分别是7*9万用板、STC89C51单片机、74hc573、40P IC座、20P IC座、4p 母座、四位一体共阴数码管、9012三极管*5、2.2k 电阻*5、220Ω电阻*8、10k 电阻、5V 有源蜂鸣器、103排阻、10uf 电解电容、30pf 瓷片电容*2、12MHZ 晶

振、按键*3、自锁开关、DC 电源插口、导线若干、焊锡若干、电池盒+DC电源插头。

3 设计原理分析

本设计汽车倒车防撞报警器主要利用HC-SR04超声波模块测量与被测物的距离,然后将其反馈给单片机,再通过数码管将其显示出来,用单片机来控制是否发出警报声,可通过按键来设置报警的距离,电源采用5 V稳压直流电源。下图3.1为整体电路原理图:

图3.1 电路总原理图

3.1单片机概述 3.1.1 单片机的特性

我们使用的AT89S51单片机是低电平、高性能CMOS 8位单片机,其带有4K 字节闪烁可编程可擦除只读存储器的低电压、高性能COMOS8的微处理器,执行速度最高可达90MHz ,功耗很低。该器件有40引脚,速度较快,价格便宜,烧录方便,通过串口即可下载,还可以实现在线编程。单片机的引脚如图3.2所示。

图3.2 51单片机的引脚图

3.1.2 单片机最小系统

单片机最小系统是在应用单片机其他拓展系统的基础,单片机最小系统即一个

单片机可以工作的最小配置,对51单片机来说,只要有时钟和复位电路就可组成了。单片机最小系统如下3.3图

图3.3单片机最小系统原理图

3.1.3 复位电路

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路可在供电时提供复位信号,当电源稳定后撤销复位。电路图如图3.4所示:

图3.4 复位电路

3.1.4 晶振电路

晶振电路是单片机系统正常工作的保证,只有当单片机系统正常工作是振荡器才会起振。当振荡器不起振,说明系统出现了故障。晶振电路如图3.5所示:

图3.5 晶振电路

3.2 驱动显示电路及报警电路

显示电路采用LED 数码管显示,当超过已设定的距离时,蜂鸣器和LED 可实现报警功能并可通过按键实现有限距离的调整。 3.2.1 LED数码管显示电路

LED 数码管显示模块主要由一个4位一体的7段LED 数码管组成。它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g 和dp 端相连在一起来接受单片机PI 口所产生的段码。S1,S2,S3,S4引脚用来接受单片机P2口产生的段码。本系统采用动态扫描方式。当数码管接收到段码后由COM 端控制那一位数码管被点亮。在轮流点亮数码管的过程中,由于每个数码管被点亮的时间十分短暂,给人印象就是一组稳定的数码显示。具体原理图如图3.6所示:

图3.6 显示电路

3.2.2 蜂鸣器和LED 报警

通过单片机给定不同频率来使蜂鸣器发出报警声。模块如下图3.7所示:

图3.7蜂鸣器驱动电路

3.3 HC-SR04超声波测距模块

3.3.1 HC-SR04超声波测距模块的性能特点

HC-SR04超声波测距模块测距的精度最高可达3MM ,而测试盲区仅为2CM ,且内含超声波发射与接收器。反应速度快测量周期仅为10ms ,俩个探头位于同一水平线,切距离大约为6cm 。模块上另有LED 指示,方便观察和测试。 原理如下:

(1)可自动发送840KHZ 的方波,检测信号是否有返回; (2)必须给至少10us 的高电平信号;

(3)当有信号返回时,IO 口输出一个高电平,此时超声波发射到返回的时间即是高电平持续的时间。

(4)当TRIG 从0变为1是,主控制板启动。

(5)当超过10ms 扔没有出现150us 的0信号时,表示前方无障碍。

3.3.2 HC-SR04的管脚排列和电气参数

HC-SR04的外形及管脚排列如图3.8所示。 (1)VCC 为5V 电源; (2)GND 为地线;

(3)TRIG 触发控制信号输入; (4)ECH0回响信号输出。

图3.8外形及管脚排列图

HC-SR04的电气参数如表3.9所示:

表3.9电气参数表

3.3.3 HC-RS04超声波测距原理

超声波测距的原理是利用超声波在发射后碰到障碍物后会反射回来,计录其从发射到反射回来的时间,然后以时间的一半乘以超声波在空气中传播的速度就可得出与障碍物间的距离。其模块图如图3.10所示

图3.10 超声波模块

3.3.4超声波时序图

图3.11超声波时序图

由上时序图可看车,只要提供10us 的一个脉冲触发信号,就会循环发出8个40KHz 的脉冲。当检测到右回波信号后则会输出回响信号。回响电平输出与检测距离成正比。这样就可由信号的发射与回响时间间隔计算出距离。距离=高电平时间*声速(340M/S)/2。 3.4 按键设置电路

通过按键来实现报警距离的更改,一个按键用来实现报警距离的增大,一个按键用来实现报警距离的减小,一个按键用来进入设置报警距离程序和确定更改的报警距离。按键电路如图3.12所示:

图3.12 按键电路图

4 设计的过程

系统程序主要包括主程序、按键子程序、数码显示程序、报警子程序等。其整体框图如下图4所示:

图4 电路整体框图

4.1主程序

主程序的主要功能是负责距离的显示、读出并处理HC-RS04的测量距离值,按

键控制有效距离限制,当测量的值超过预设值时,蜂鸣器发声报警。如图4.1所示:

供电后单片机开始初始化,然后调用显示子程序,检测障碍物是否存在,如果存在则读出距离值,此次运行结束,如果不存在则返回重新运行。

图4.1主流程图

4.2显示数据子程序

显示数据子程序的主要功能就是把超声波模块测量后的结果经单片机处理完毕的距离显示在数码管上。显示数据子程序流程图如图4.2所示。供电开始后,开始赋型和位,此次运行结束。

图4.2显示数据子流程图

4.3报警子程序

报警子程序的主要功能是在距离值超过预警值时,能够使蜂鸣器发声从而达到报警的目的。报警子程序流程图如图4.3所示。当给单片机供电后,开始运行,若果测量距离超出预设值则蜂鸣器开始报警,此次运行结束,如果没有超出预设值,则不发出警报并重新开始检测。

图4.3报警子流程图

4.4按键子程序

按键子程序的主要功能是有效距离可调,功能键调整上限,再次功能键调整下限,再次按功能退出。按键子程序流程图如图4.4所示。当给单片机供电后,程序开始运行,按下按键开始设定有效距离,再次按下另一个确定按键,则确定此次的设定距离值,运行结束,如果没有按键进行设定或确定,则保持原有设定值。

图4.4按键子流程图

5 设计的结果

本汽车倒车防撞报警器装置以HC-SR04超声波测距模块为主体,中心频率是为40KHz ,安装时保持俩超声波探头在同一水平线上。其它硬件的组装和连线焊接按电路PCB 图依次连接即可。

超声波测距需要测量的是从发射超声波到接收的时间差,其有效信号即为经反射后的余波信号,所以规避余波信号时减小误差最主要的手段。超声波所能测量的最远距离与传感器的驱动功率、测量方法有很大关系。从理论上来说本设计系统采用的超声波模块测距时存在的盲区大约为2 cm 左右,测量距离范围为2 cm ~5 m,测量的误差比较小,测量显示值稳定,可以精确到0.3 cm,能满足设计要求。下图5.1是电路的PCB 图:

图5.1 PCB图

下图5.2为电路的仿真测试图:

图5.2 仿真测试图

经实际距墙测量,本次的测量距离为40c m ,距离基本能测准,蜂鸣器发生警报,且比较稳定,测量情况如图5.3所示:

图5.3 实际测试图

测量距离为67cm ,此时大于设定报警距离,蜂鸣器不发生警报。实际测量情况如图5.4所示:

图5.4 实际测量情况显示

下图为本设计调解距离的面板,初始设定距离为0.50cm

,从开始数第一、

第二个按钮为调节设定距离,第一个按钮增大按钮,第二个为减小按钮,第三个为复位、确定按钮。实际测量情况如图5.5所示:

图7.5 测量情况显示

6 总结思考

6.1 误差分析

本设计在计算和组装过程中会产生一定的误差,这是不可避免的,下面对一些可能的原因进行分析:

(1)不同温度所引起的误差

本设计的主要误差原因就是受不同温度的影响造成的。由资料查询可知,当俩次测量的温差较大时,误差也比较大,而本设计主要是作为一个倒车雷达来使用,对精度要求不是很高,所以没有进行消除温度影响的设计。

(2)不同障碍物材料不同所引起的误差

不同障碍物会有不同的表面,有的表面粗糙,有的表面光滑,在测试时,表面粗糙的障碍物会导致超声波散射从而影响了返回信号,导致误差的增大。

(3)超声波模块的影响

在安装时,超声波的发射与接收探头和障碍物间会存在一个角度,这就导致返回信号在进入接受探头时与接受探头也存在一个角度,从而导致了较大的误差。

这种误差是可以利用发射能力强、散射小的探头,或多用几个探头来减小。 (4)余波信号的影响

在测量时接收探头会收到一定的余波信号,这种余波对误差影响很大,但这种误差可用软件算法来消除,使芯片在收到回波信号时自动判定收到的信号有效回波还是杂波,如果是杂波就忽略掉。这样就可消除余波信号的影响。 6.2 论文的改进

本论文中可以实现基本的测距和报警功能,且测距精度可以达到0.3cm ,测量盲区仅仅只有2cm ,能够很好的进行距离的测量,控制也比较方便。但仍需改进,采用一定的算法和控制来使整个模型能够面临更复杂的情况,使泊车时的安全性得到更大提升。假如驾驶员反应不及时或注意力不集中,不能及时采取措施仍然会有危险,所以下一步布标是使车可以小于一定距离时自动刹车或加入一个液晶显示器,实时显示路况等,以此来使驾驶更加安全。下面是本设计的一些缺陷与进一步改进的一点建议:

(1)本系统还应该进一步来研究是否可以在复杂的天气和路况上精准的测距及报警。

(2) 在本系统基础上,进一步开发智能导航,智能刹车等自动化系统,使车辆的舒适性和主动安全性得到提高。 6.3设计遇到的困难及感谢语

在设计的过程中,遇到过很多问题,在开始查阅资料的时候没能把握住设计的核心,本设计其实质就是一个超声波测距报警仪器,认清实质后便可轻松的进行设计,在设计时,对于数码管显示是采用动态显示或静态显示犹豫了很久,后来在指导老师的引导下决定了使用动态扫描显示的方式。由于在电路图的设计中电路的接收和发射是分开的,所以开始时一直以分开采用超声波探头来进行组装,但误差很大,后来在查阅相关资料和指导老师的帮助下才采用了超声波集成模块,果然很快就调试好了。在编写关于超声波测距的程序时苦恼了很久,后来查阅了许多资料和请教导师后顺利完成了。

在此感谢我的指导老师陈莉明。在整个毕业设计阶段,陈莉明老师对于我设计方案的修改和确定给了很大的帮助。在实物连接时也给了我悉心的指导。在论文的修改中也以严谨和负责的态度,在我论文的主体框架和细节部分给了很多建议。如果没有指导老师陈莉明老师和其他同学的帮助,完成这个设计对我来说是

很难的,所以对所有帮助过我的老师和同学表示深深的感谢。

[参考文献]

[1] 阎石. 数字电子技术基础(第5 版)[M].高等教育出版社,2006. [2]华成英, 童诗白. 模拟电子技术基础(第4 版)[M].高等教育出版社,2006. [5]闫玉德, 等.MCS:51 单片机原理与应用:C语言版[M].机械工业出版社,2004. [6]丁金林. 智能LRC 测量仪的设计. 苏州市职业大学学报.2010年 第6期

[7]王恩贵. 采用单片机的便携式LRC 参数测试仪. 国外电子测量技术.2008年 第10期. [8]李华等.MCS-51单片机实用接口技术[M].北京航空航天大学出版社. [9]黄川. 智能电阻、电容、电感测试仪设计. 科技资讯.2009.08. [10]周民德. 微机原理与接口技术. 北京:人民邮电出版社,2002.

[11]刘新如何正确使用LRC 测试仪测量电子元件[J].计量与测试技术,2006,33(5):2-4. [12]阮德生. 自动测试技术与计算机仪器系统设计[M].西安:西安电子科技大学出版社,1997.

[13]韦以明. 基于传感中低Q 电感的测量[J].现代电子技术,2007,1(11):138-140.

[14]陈尚松, 雷加, 郭庆. 电子测量与仪器[M].北京:电子工业出版社,2005. [15]梁小流,陈炳森,梁建和. 基于89S52汽车防撞雷达系统设计[J]. 机电工程技术,2011,10(4):49~51.

Bumper car reversing alarm

Xiao Long Ma

Physical and Electronic Engineering Electronics and Information Engineering No.

11300024

[Abstract] the design is based on ultrasonic distance measurement based on AT89S51 single chip microcomputer, can be used for vehicle parking safety auxiliary device, the device can display of digital tube driver from the obstacle far, and issued a warning sound at a distance from the obstacle must alert distance. So the driver can more safely in the parking reduce the

accidents. The design of the hardware from the smallest single-chip system, an ultrasonic emitting and receiving circuit, power supply and an alarm circuit, digital display circuit. Software using assembly language.

[keyword] AT89C51 ultrasonic digital tube ranging sensor

附一: 源程序

/***********************************************************************************************************/

//接线:模块TRIG 接 P3.2 ECH0 接P3.3

/***********************************************************************************************************/

#include //器件配置文件 #include

//按键声明 sbit RX = P3^2; sbit TX = P3^3; sbit S1 = P1^4; sbit S2 = P1^5; sbit S3 = P1^6; //蜂鸣器 sbit Feng= P2^0;

//变量声明

unsigned int time=0; unsigned int timer=0; unsigned char posit=0; unsigned long S=0;

unsigned long BJS=50;//报警距离50CM //模式 0正常 模式 1调整 char Mode=0; bit flag=0;

unsigned char const discode[]

={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/}; unsigned char const positon[4]={0xfd,0xfb,0xf7,0xfe}; unsigned char disbuff[4] ={0,0,0,0};

unsigned char disbuff_BJ[4] ={0,0,0,0};//报警信息

//延时100ms

void delay(void) //误差 0us

{

unsigned char a,b,c;

for(c=10;c>0;c--)

for(b=38;b>0;b--)

for(a=130;a>0;a--);

}

//按键扫描

void Key_()

{

//+ if(S1==0) { } //- else if(S2==0) { delay(); while(S2==0) { P1=P1|0x0f; delay(); while(S1==0) { } BJS++; P1=P1|0x0f; if(BJS==151) { } BJS=0;

} } BJS--; if(BJS==0) { } BJS=150; //功能 else if(S3==0) { } delay(); while(S3==0) { } Mode++; P1=P1|0x0f; if(Mode==2) { } Mode=0;

/**********************************************************************************************************/

//扫描数码管

void Display(void)

{

//正常显示 if(Mode==0) { if(posit==0)//数码管的米标志

} else { } P1=positon[posit]; if(++posit>=3) posit=0; P0=discode[disbuff[posit]]; P0=(discode[disbuff[posit]])|0x80; P1=positon[4]; } //报警显示 else { if(posit==0)//数码管的米标志 { } else if(posit==3) { } else { } P0=discode[disbuff_BJ[posit]]; P0=0x76; P0=(discode[disbuff_BJ[posit]])|0x80; P0=0x77; P1=positon[posit]; if(++posit>=4) posit=0;

} /**********************************************************************************************************/

//计算

void Conut(void)

{

if(Mode==0) { if((S>=700)||flag==1) //超出测量范围显示“-” { } else { //距离大于报警距 if(S

} } else { } } disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10 %10; Feng=1; disbuff_BJ[0]=BJS%1000/100; disbuff_BJ[1]=BJS%1000%100/10; disbuff_BJ[2]=BJS%1000%10 %10;

/**********************************************************************************************************/

//定时器0

void zd0() interrupt 1

{

}

/**********************************************************************************************************/

//定时器1

void zd3() interrupt 3

{

TH1=0xf8; TL1=0x30; Key_(); Display(); timer++; if(timer>=400) { //T1中断用来扫描数码管和计800MS 启动模块 flag=1; //中断溢出标志 //T0中断用来计数器溢出, 超过测距范围

} } TX=1; //800MS 启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0;

/**********************************************************************************************************/

//主函数

void main(void)

{

TMOD=0x11; //设T0为方式1,GATE=1;

TL0=0; TH1=0xf8; TL1=0x30; ET0=1; ET1=1; TR1=1; //允许T0中断 //2MS定时 //允许T1中断 //开启定时器

EA=1;

while(1)

{

while(!RX);

TR0=1;

while(RX);

TR0=0;

Conut();

}

}

//开启总中断 //当RX 为零时等待 //开启计数 //当RX 为1计数并等待 //关闭计数 //计算

乐山师范学院毕业设计(论文)

本科生毕业设计报告

学 院 物理与电子工程学院 专 业 电子信息工程

论文题目:汽车倒车防撞报警器设计

学生姓名 指导教师 班 级 学 号 完成日期:2014 年 12 月

题目:汽车倒车防撞报警器

物理与电子工程学院 电子信息工程 学号

[摘 要]本设计是以基于AT89S51单片机的超声波测距,可用作汽车泊车安全辅助装置,该装置可以数码管显示驾驶员距障碍物多远,并在距障碍物一定警戒距离时发出警报声。使驾驶员在泊车时能够更加安全,减少事故的发生。该设计硬件由单片机最小系统、超声波发射与接收电路、供电与报警电路、数码显示电路组成。软件主要使用汇编语言进行。 [关键词] AT89C51 超声波 数码管 测距 传感器

1设计任务与要求

1.1研究的背景

汽车业与电子业的不断发展壮大,使得这俩者之间变得越来越紧密,俩者的相结合,导致了电气一体化这一系统的产生。在交通严重的今天, 电子控制系统技术可以使汽车的安全性得到很大的提升。广泛的来看其中主要有自动安全气囊,自动门锁,自动空调,自动导航,自动车窗,控制车灯,控制座椅,倒车防撞并液晶显示实时路况,自动诊断汽车故障等。

在经济不断发展的今天,汽车这种交通工具会越来越普及,这就会导致城市交通不断拥挤,最重要的一点就是在停车时有一些驾驶员不够小心或对障碍物的预判距离不足导致发生摩擦与碰撞。如果驾驶能够提前知道障碍物距离多远、在哪里,就可以及时采取措施,这样就可以避免很多事故的发生。于是,许多安全系统由此诞生,其可分为主动安全系统与被动安全系统。其中主要是主动安全系统,而现阶段对主动安全系统的研究主要放在测距上面。本设计要求设计的汽车倒车防撞系统能够有效的提醒驾驶员距障碍物多远,并可手动设置在距障碍物多远是发动报警,可有效的提高倒车安全性。 1.2本设计的主要任务

(1)设计一套汽车倒车防撞报警系统,要求有一台主机,汽车与物体距离小于设定值时,利用蜂鸣器进行报警。通过按键选择报警的距离并数码显示选择的档位。

(2)采用51系列单片机中的简易型产品AT89C2051作为中央处理器,选用专

用配对的超声波组件,进行超声波信号与电信号的相互转换,利用超声波传感器的选频特性,对接收到的超声波信号进行幅值判断,从而达到不同距离的选择与报警的目的。

1.3应解决的关键问题

1、对整体电路的设计。 2、超声波测距的计算。 3、超声波测距的死区解决。 4、按键对报警值的设置。

2 设计方案

2.1方案比较 2.1.1 激光测距

激光测距主要采用脉冲法和相位法。脉冲法就是测距仪发出激光后被测量物体反射后再次被测距仪接受,测距仪记录激光往返时间,以光速的大小乘以时间的一半来计算距离。相位法是采用无线电波的频率并对激光束进行幅度调制,以此来测量调制光往返以此产生的相位延迟,用调制光的波长算此相位延迟代表的距离。其优点是激光的测量距离很远、速度很快,测量精准。缺点是造价比较高。 2.1.2红外线测距

红外线测距的原理是利用红外线在碰到不同距离的障碍物时反射回来的强度不同来进行测量。优点是造价便宜,缺点是不够精准,方向性不好。 2.1.3 超声波测距

超声波测距的原理是利用超声波在发射后碰到障碍物后会反射回来,计录其从发射到反射回来的时间,然后以时间的一半乘以超声波在空气中传播的速度就可得出与障碍物间的距离。超声波测距在中长距离的精度比红外线高,易于控制方向,能量消耗慢。造价比红外线高但少于激光,安全比较高。综合以上方案可以得出,方案三总体较优,故采用方案三。 2.2电路总体方案

图2.2是电路总体结构框图,包括51单片机最小系统,HC-SR04超声波测距模块,LED 数码管显示电路,蜂鸣器报警电路和按键电路。

图2.2 电路基本框图

本设计对51单片机进行编程使用的是keil 编程软件,51单片机在启动后由P0.1口产生脉冲信号通过放大电路后传送到超声波发射探头,产生超声波,在发射电路启动时,单片机同时启动中断程序,利用中断定时器的计数功能记录从发射到接收超声波所用的时间。当接收到返回的超声波后,对单片机进行中断申请,执行外部中断子程序,开始计算距离。

在选用器材时,最难选用的是超声波探头,HC-SR04超声波测距模块测距的精度最高可达3MM ,而测试盲区仅为2CM ,且内含超声波发射与接收器。超声波的发射与接收是分开的,所以必须要求俩个探头为同一水平线,为了减少由于测量距离和信号在空气中传播而引起的误差,要求俩探头不能靠太进,综合各种资料,HC-SR04俩探头间距大约为6CM ,最符合本设计,故采用了HC-SR04超声波测距模块。其它器件分别是7*9万用板、STC89C51单片机、74hc573、40P IC座、20P IC座、4p 母座、四位一体共阴数码管、9012三极管*5、2.2k 电阻*5、220Ω电阻*8、10k 电阻、5V 有源蜂鸣器、103排阻、10uf 电解电容、30pf 瓷片电容*2、12MHZ 晶

振、按键*3、自锁开关、DC 电源插口、导线若干、焊锡若干、电池盒+DC电源插头。

3 设计原理分析

本设计汽车倒车防撞报警器主要利用HC-SR04超声波模块测量与被测物的距离,然后将其反馈给单片机,再通过数码管将其显示出来,用单片机来控制是否发出警报声,可通过按键来设置报警的距离,电源采用5 V稳压直流电源。下图3.1为整体电路原理图:

图3.1 电路总原理图

3.1单片机概述 3.1.1 单片机的特性

我们使用的AT89S51单片机是低电平、高性能CMOS 8位单片机,其带有4K 字节闪烁可编程可擦除只读存储器的低电压、高性能COMOS8的微处理器,执行速度最高可达90MHz ,功耗很低。该器件有40引脚,速度较快,价格便宜,烧录方便,通过串口即可下载,还可以实现在线编程。单片机的引脚如图3.2所示。

图3.2 51单片机的引脚图

3.1.2 单片机最小系统

单片机最小系统是在应用单片机其他拓展系统的基础,单片机最小系统即一个

单片机可以工作的最小配置,对51单片机来说,只要有时钟和复位电路就可组成了。单片机最小系统如下3.3图

图3.3单片机最小系统原理图

3.1.3 复位电路

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路可在供电时提供复位信号,当电源稳定后撤销复位。电路图如图3.4所示:

图3.4 复位电路

3.1.4 晶振电路

晶振电路是单片机系统正常工作的保证,只有当单片机系统正常工作是振荡器才会起振。当振荡器不起振,说明系统出现了故障。晶振电路如图3.5所示:

图3.5 晶振电路

3.2 驱动显示电路及报警电路

显示电路采用LED 数码管显示,当超过已设定的距离时,蜂鸣器和LED 可实现报警功能并可通过按键实现有限距离的调整。 3.2.1 LED数码管显示电路

LED 数码管显示模块主要由一个4位一体的7段LED 数码管组成。它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g 和dp 端相连在一起来接受单片机PI 口所产生的段码。S1,S2,S3,S4引脚用来接受单片机P2口产生的段码。本系统采用动态扫描方式。当数码管接收到段码后由COM 端控制那一位数码管被点亮。在轮流点亮数码管的过程中,由于每个数码管被点亮的时间十分短暂,给人印象就是一组稳定的数码显示。具体原理图如图3.6所示:

图3.6 显示电路

3.2.2 蜂鸣器和LED 报警

通过单片机给定不同频率来使蜂鸣器发出报警声。模块如下图3.7所示:

图3.7蜂鸣器驱动电路

3.3 HC-SR04超声波测距模块

3.3.1 HC-SR04超声波测距模块的性能特点

HC-SR04超声波测距模块测距的精度最高可达3MM ,而测试盲区仅为2CM ,且内含超声波发射与接收器。反应速度快测量周期仅为10ms ,俩个探头位于同一水平线,切距离大约为6cm 。模块上另有LED 指示,方便观察和测试。 原理如下:

(1)可自动发送840KHZ 的方波,检测信号是否有返回; (2)必须给至少10us 的高电平信号;

(3)当有信号返回时,IO 口输出一个高电平,此时超声波发射到返回的时间即是高电平持续的时间。

(4)当TRIG 从0变为1是,主控制板启动。

(5)当超过10ms 扔没有出现150us 的0信号时,表示前方无障碍。

3.3.2 HC-SR04的管脚排列和电气参数

HC-SR04的外形及管脚排列如图3.8所示。 (1)VCC 为5V 电源; (2)GND 为地线;

(3)TRIG 触发控制信号输入; (4)ECH0回响信号输出。

图3.8外形及管脚排列图

HC-SR04的电气参数如表3.9所示:

表3.9电气参数表

3.3.3 HC-RS04超声波测距原理

超声波测距的原理是利用超声波在发射后碰到障碍物后会反射回来,计录其从发射到反射回来的时间,然后以时间的一半乘以超声波在空气中传播的速度就可得出与障碍物间的距离。其模块图如图3.10所示

图3.10 超声波模块

3.3.4超声波时序图

图3.11超声波时序图

由上时序图可看车,只要提供10us 的一个脉冲触发信号,就会循环发出8个40KHz 的脉冲。当检测到右回波信号后则会输出回响信号。回响电平输出与检测距离成正比。这样就可由信号的发射与回响时间间隔计算出距离。距离=高电平时间*声速(340M/S)/2。 3.4 按键设置电路

通过按键来实现报警距离的更改,一个按键用来实现报警距离的增大,一个按键用来实现报警距离的减小,一个按键用来进入设置报警距离程序和确定更改的报警距离。按键电路如图3.12所示:

图3.12 按键电路图

4 设计的过程

系统程序主要包括主程序、按键子程序、数码显示程序、报警子程序等。其整体框图如下图4所示:

图4 电路整体框图

4.1主程序

主程序的主要功能是负责距离的显示、读出并处理HC-RS04的测量距离值,按

键控制有效距离限制,当测量的值超过预设值时,蜂鸣器发声报警。如图4.1所示:

供电后单片机开始初始化,然后调用显示子程序,检测障碍物是否存在,如果存在则读出距离值,此次运行结束,如果不存在则返回重新运行。

图4.1主流程图

4.2显示数据子程序

显示数据子程序的主要功能就是把超声波模块测量后的结果经单片机处理完毕的距离显示在数码管上。显示数据子程序流程图如图4.2所示。供电开始后,开始赋型和位,此次运行结束。

图4.2显示数据子流程图

4.3报警子程序

报警子程序的主要功能是在距离值超过预警值时,能够使蜂鸣器发声从而达到报警的目的。报警子程序流程图如图4.3所示。当给单片机供电后,开始运行,若果测量距离超出预设值则蜂鸣器开始报警,此次运行结束,如果没有超出预设值,则不发出警报并重新开始检测。

图4.3报警子流程图

4.4按键子程序

按键子程序的主要功能是有效距离可调,功能键调整上限,再次功能键调整下限,再次按功能退出。按键子程序流程图如图4.4所示。当给单片机供电后,程序开始运行,按下按键开始设定有效距离,再次按下另一个确定按键,则确定此次的设定距离值,运行结束,如果没有按键进行设定或确定,则保持原有设定值。

图4.4按键子流程图

5 设计的结果

本汽车倒车防撞报警器装置以HC-SR04超声波测距模块为主体,中心频率是为40KHz ,安装时保持俩超声波探头在同一水平线上。其它硬件的组装和连线焊接按电路PCB 图依次连接即可。

超声波测距需要测量的是从发射超声波到接收的时间差,其有效信号即为经反射后的余波信号,所以规避余波信号时减小误差最主要的手段。超声波所能测量的最远距离与传感器的驱动功率、测量方法有很大关系。从理论上来说本设计系统采用的超声波模块测距时存在的盲区大约为2 cm 左右,测量距离范围为2 cm ~5 m,测量的误差比较小,测量显示值稳定,可以精确到0.3 cm,能满足设计要求。下图5.1是电路的PCB 图:

图5.1 PCB图

下图5.2为电路的仿真测试图:

图5.2 仿真测试图

经实际距墙测量,本次的测量距离为40c m ,距离基本能测准,蜂鸣器发生警报,且比较稳定,测量情况如图5.3所示:

图5.3 实际测试图

测量距离为67cm ,此时大于设定报警距离,蜂鸣器不发生警报。实际测量情况如图5.4所示:

图5.4 实际测量情况显示

下图为本设计调解距离的面板,初始设定距离为0.50cm

,从开始数第一、

第二个按钮为调节设定距离,第一个按钮增大按钮,第二个为减小按钮,第三个为复位、确定按钮。实际测量情况如图5.5所示:

图7.5 测量情况显示

6 总结思考

6.1 误差分析

本设计在计算和组装过程中会产生一定的误差,这是不可避免的,下面对一些可能的原因进行分析:

(1)不同温度所引起的误差

本设计的主要误差原因就是受不同温度的影响造成的。由资料查询可知,当俩次测量的温差较大时,误差也比较大,而本设计主要是作为一个倒车雷达来使用,对精度要求不是很高,所以没有进行消除温度影响的设计。

(2)不同障碍物材料不同所引起的误差

不同障碍物会有不同的表面,有的表面粗糙,有的表面光滑,在测试时,表面粗糙的障碍物会导致超声波散射从而影响了返回信号,导致误差的增大。

(3)超声波模块的影响

在安装时,超声波的发射与接收探头和障碍物间会存在一个角度,这就导致返回信号在进入接受探头时与接受探头也存在一个角度,从而导致了较大的误差。

这种误差是可以利用发射能力强、散射小的探头,或多用几个探头来减小。 (4)余波信号的影响

在测量时接收探头会收到一定的余波信号,这种余波对误差影响很大,但这种误差可用软件算法来消除,使芯片在收到回波信号时自动判定收到的信号有效回波还是杂波,如果是杂波就忽略掉。这样就可消除余波信号的影响。 6.2 论文的改进

本论文中可以实现基本的测距和报警功能,且测距精度可以达到0.3cm ,测量盲区仅仅只有2cm ,能够很好的进行距离的测量,控制也比较方便。但仍需改进,采用一定的算法和控制来使整个模型能够面临更复杂的情况,使泊车时的安全性得到更大提升。假如驾驶员反应不及时或注意力不集中,不能及时采取措施仍然会有危险,所以下一步布标是使车可以小于一定距离时自动刹车或加入一个液晶显示器,实时显示路况等,以此来使驾驶更加安全。下面是本设计的一些缺陷与进一步改进的一点建议:

(1)本系统还应该进一步来研究是否可以在复杂的天气和路况上精准的测距及报警。

(2) 在本系统基础上,进一步开发智能导航,智能刹车等自动化系统,使车辆的舒适性和主动安全性得到提高。 6.3设计遇到的困难及感谢语

在设计的过程中,遇到过很多问题,在开始查阅资料的时候没能把握住设计的核心,本设计其实质就是一个超声波测距报警仪器,认清实质后便可轻松的进行设计,在设计时,对于数码管显示是采用动态显示或静态显示犹豫了很久,后来在指导老师的引导下决定了使用动态扫描显示的方式。由于在电路图的设计中电路的接收和发射是分开的,所以开始时一直以分开采用超声波探头来进行组装,但误差很大,后来在查阅相关资料和指导老师的帮助下才采用了超声波集成模块,果然很快就调试好了。在编写关于超声波测距的程序时苦恼了很久,后来查阅了许多资料和请教导师后顺利完成了。

在此感谢我的指导老师陈莉明。在整个毕业设计阶段,陈莉明老师对于我设计方案的修改和确定给了很大的帮助。在实物连接时也给了我悉心的指导。在论文的修改中也以严谨和负责的态度,在我论文的主体框架和细节部分给了很多建议。如果没有指导老师陈莉明老师和其他同学的帮助,完成这个设计对我来说是

很难的,所以对所有帮助过我的老师和同学表示深深的感谢。

[参考文献]

[1] 阎石. 数字电子技术基础(第5 版)[M].高等教育出版社,2006. [2]华成英, 童诗白. 模拟电子技术基础(第4 版)[M].高等教育出版社,2006. [5]闫玉德, 等.MCS:51 单片机原理与应用:C语言版[M].机械工业出版社,2004. [6]丁金林. 智能LRC 测量仪的设计. 苏州市职业大学学报.2010年 第6期

[7]王恩贵. 采用单片机的便携式LRC 参数测试仪. 国外电子测量技术.2008年 第10期. [8]李华等.MCS-51单片机实用接口技术[M].北京航空航天大学出版社. [9]黄川. 智能电阻、电容、电感测试仪设计. 科技资讯.2009.08. [10]周民德. 微机原理与接口技术. 北京:人民邮电出版社,2002.

[11]刘新如何正确使用LRC 测试仪测量电子元件[J].计量与测试技术,2006,33(5):2-4. [12]阮德生. 自动测试技术与计算机仪器系统设计[M].西安:西安电子科技大学出版社,1997.

[13]韦以明. 基于传感中低Q 电感的测量[J].现代电子技术,2007,1(11):138-140.

[14]陈尚松, 雷加, 郭庆. 电子测量与仪器[M].北京:电子工业出版社,2005. [15]梁小流,陈炳森,梁建和. 基于89S52汽车防撞雷达系统设计[J]. 机电工程技术,2011,10(4):49~51.

Bumper car reversing alarm

Xiao Long Ma

Physical and Electronic Engineering Electronics and Information Engineering No.

11300024

[Abstract] the design is based on ultrasonic distance measurement based on AT89S51 single chip microcomputer, can be used for vehicle parking safety auxiliary device, the device can display of digital tube driver from the obstacle far, and issued a warning sound at a distance from the obstacle must alert distance. So the driver can more safely in the parking reduce the

accidents. The design of the hardware from the smallest single-chip system, an ultrasonic emitting and receiving circuit, power supply and an alarm circuit, digital display circuit. Software using assembly language.

[keyword] AT89C51 ultrasonic digital tube ranging sensor

附一: 源程序

/***********************************************************************************************************/

//接线:模块TRIG 接 P3.2 ECH0 接P3.3

/***********************************************************************************************************/

#include //器件配置文件 #include

//按键声明 sbit RX = P3^2; sbit TX = P3^3; sbit S1 = P1^4; sbit S2 = P1^5; sbit S3 = P1^6; //蜂鸣器 sbit Feng= P2^0;

//变量声明

unsigned int time=0; unsigned int timer=0; unsigned char posit=0; unsigned long S=0;

unsigned long BJS=50;//报警距离50CM //模式 0正常 模式 1调整 char Mode=0; bit flag=0;

unsigned char const discode[]

={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/}; unsigned char const positon[4]={0xfd,0xfb,0xf7,0xfe}; unsigned char disbuff[4] ={0,0,0,0};

unsigned char disbuff_BJ[4] ={0,0,0,0};//报警信息

//延时100ms

void delay(void) //误差 0us

{

unsigned char a,b,c;

for(c=10;c>0;c--)

for(b=38;b>0;b--)

for(a=130;a>0;a--);

}

//按键扫描

void Key_()

{

//+ if(S1==0) { } //- else if(S2==0) { delay(); while(S2==0) { P1=P1|0x0f; delay(); while(S1==0) { } BJS++; P1=P1|0x0f; if(BJS==151) { } BJS=0;

} } BJS--; if(BJS==0) { } BJS=150; //功能 else if(S3==0) { } delay(); while(S3==0) { } Mode++; P1=P1|0x0f; if(Mode==2) { } Mode=0;

/**********************************************************************************************************/

//扫描数码管

void Display(void)

{

//正常显示 if(Mode==0) { if(posit==0)//数码管的米标志

} else { } P1=positon[posit]; if(++posit>=3) posit=0; P0=discode[disbuff[posit]]; P0=(discode[disbuff[posit]])|0x80; P1=positon[4]; } //报警显示 else { if(posit==0)//数码管的米标志 { } else if(posit==3) { } else { } P0=discode[disbuff_BJ[posit]]; P0=0x76; P0=(discode[disbuff_BJ[posit]])|0x80; P0=0x77; P1=positon[posit]; if(++posit>=4) posit=0;

} /**********************************************************************************************************/

//计算

void Conut(void)

{

if(Mode==0) { if((S>=700)||flag==1) //超出测量范围显示“-” { } else { //距离大于报警距 if(S

} } else { } } disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10 %10; Feng=1; disbuff_BJ[0]=BJS%1000/100; disbuff_BJ[1]=BJS%1000%100/10; disbuff_BJ[2]=BJS%1000%10 %10;

/**********************************************************************************************************/

//定时器0

void zd0() interrupt 1

{

}

/**********************************************************************************************************/

//定时器1

void zd3() interrupt 3

{

TH1=0xf8; TL1=0x30; Key_(); Display(); timer++; if(timer>=400) { //T1中断用来扫描数码管和计800MS 启动模块 flag=1; //中断溢出标志 //T0中断用来计数器溢出, 超过测距范围

} } TX=1; //800MS 启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0;

/**********************************************************************************************************/

//主函数

void main(void)

{

TMOD=0x11; //设T0为方式1,GATE=1;

TL0=0; TH1=0xf8; TL1=0x30; ET0=1; ET1=1; TR1=1; //允许T0中断 //2MS定时 //允许T1中断 //开启定时器

EA=1;

while(1)

{

while(!RX);

TR0=1;

while(RX);

TR0=0;

Conut();

}

}

//开启总中断 //当RX 为零时等待 //开启计数 //当RX 为1计数并等待 //关闭计数 //计算


相关内容

  • 倒车雷达原理
  • 倒车雷达(Car Reversing Aid Systems)的全称是"倒车防撞雷达",也称"泊车辅助装置",是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了 ...

  • 解决方案:车辆(无人机)智能防撞系统 /ADAS
  • 雷达测距防撞控制系统(Distronic,简称DTR)属于汽车主动安全装置,是当前国际汽车安全领域研究的热点之一.主要实现3个功能防撞预警,辅助停车,盲点探测等 汽车防碰撞技术首先需要解决的问题是汽车之间的安全距离.汽车与汽车之间的距离小于安全距离,就应该能够自动报警,并采取制动措施. 目前,测定汽 ...

  • 基于单片机的倒车雷达设计毕业设计
  • 基于单片机的倒车雷达设计 摘 要 随着社会经济的发展,交通运输业日益兴旺,汽车的数量大幅攀升.交通拥挤状况也日益严重,倒车撞车事件屡屡发生,造成了不可避免的人生伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞预警系统势在必行,超声波测距法是最常见的一种距离测距方法,本文介绍 ...

  • 汽车防撞报警器的设计与制作
  • 科技信息高校理科研究 汔车盼穆报警器酌i殳计与制作 天津工业大学涂晓星 ' [摘要]本设计采用了以AT89C52为主控芯片,利用三极管的开关特性驱动T40一16(40KHZ超声波发射端予)发射40KHz方波,然后接收端子R40一16接收信号,经放大电路及后级处理后单片机接收到一个下降沿中断,对信号传 ...

  • 超声测距-汽车倒车雷达的设计
  • 学 位 论 文 超声测距-汽车倒车雷达的设计 作 者 姓 名: 学 科 专 业: 通信工程 学 号: 指 导 教 师: 教授 完 成 日 期: 太原工业学院 Taiyuan Institute of Tec 太原工业学院毕业设计(论文) 诚信申明 本人申明: 本人所提交的毕业设计(论文)<超声 ...

  • 汽车传感器的分类及发展趋势
  • ・16・ 工业仪表与自动化装置2015年第6期 汽车传感器的分类及发展趋势 张玲娜 (陕西国防工业职业技术学院电子工程系,西安710302) 摘要:汽车传感器技术发展正不断的促进汽车智能化程度的提升,智能化的发展让现代汽车更加舒适和安全.智能化的关键包括快速获得汽车发动.行驶和制动等过程中的关键性能 ...

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...