汽车倒车防撞报警器毕业设计解读.docx
《汽车倒车防撞报警器毕业设计解读.docx》由会员分享,可在线阅读,更多相关《汽车倒车防撞报警器毕业设计解读.docx(33页珍藏版)》请在冰豆网上搜索。
![汽车倒车防撞报警器毕业设计解读.docx](https://file1.bdocx.com/fileroot1/2023-2/8/b9c5eefe-3599-43cf-a8d3-0ca2de452816/b9c5eefe-3599-43cf-a8d3-0ca2de4528161.gif)
汽车倒车防撞报警器毕业设计解读
本科生毕业设计报告
学院物理与电子工程学院专业电子信息工程
论文题目:
汽车倒车防撞报警器设计
学生姓名
指导教师
班级
学号
完成日期:
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、40PIC座、20PIC座、4p母座、四位一体共阴数码管、9012三极管*5、2.2k电阻*5、220Ω电阻*8、10k电阻、5V有源蜂鸣器、103排阻、10uf电解电容、30pf瓷片电容*2、12MHZ晶振、按键*3、自锁开关、DC电源插口、导线若干、焊锡若干、电池盒+DC电源插头。
3设计原理分析
本设计汽车倒车防撞报警器主要利用HC-SR04超声波模块测量与被测物的距离,然后将其反馈给单片机,再通过数码管将其显示出来,用单片机来控制是否发出警报声,可通过按键来设置报警的距离,电源采用5V稳压直流电源。
下图3.1为整体电路原理图:
图3.1电路总原理图
3.1单片机概述
3.1.1单片机的特性
我们使用的AT89S51单片机是低电平、高性能CMOS8位单片机,其带有4K字节闪烁可编程可擦除只读存储器的低电压、高性能COMOS8的微处理器,执行速度最高可达90MHz,功耗很低。
该器件有40引脚,速度较快,价格便宜,烧录方便,通过串口即可下载,还可以实现在线编程。
单片机的引脚如图3.2所示。
图3.251单片机的引脚图
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.1LED数码管显示电路
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.3HC-SR04超声波测距模块
3.3.1HC-SR04超声波测距模块的性能特点
HC-SR04超声波测距模块测距的精度最高可达3MM,而测试盲区仅为2CM,且内含超声波发射与接收器。
反应速度快测量周期仅为10ms,俩个探头位于同一水平线,切距离大约为6cm。
模块上另有LED指示,方便观察和测试。
原理如下:
(1)可自动发送840KHZ的方波,检测信号是否有返回;
(2)必须给至少10us的高电平信号;
(3)当有信号返回时,IO口输出一个高电平,此时超声波发射到返回的时间即是高电平持续的时间。
(4)当TRIG从0变为1是,主控制板启动。
(5)当超过10ms扔没有出现150us的0信号时,表示前方无障碍。
3.3.2HC-SR04的管脚排列和电气参数
HC-SR04的外形及管脚排列如图3.8所示。
(1)VCC为5V电源;
(2)GND为地线;
(3)TRIG触发控制信号输入;
(4)ECH0回响信号输出。
图3.8外形及管脚排列图
HC-SR04的电气参数如表3.9所示:
表3.9电气参数表
电气参数
HC-SR04超声波模块
工作电流
15mA
工作电压
直流电压5V
工作频率
40Hz
最近射程
2cm
最远射程
4m
测量角度
15度
输入触发信号
10us的TTL脉冲
输出回响信号
输出与射程成比例的TTL电平信号
规格尺寸
45*20*15mm
3.3.3HC-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图依次连接即可。
超声波测距需要测量的是从发射超声波到接收的时间差,其有效信号即为经反射后的余波信号,所以规避余波信号时减小误差最主要的手段。
超声波所能测量的最远距离与传感器的驱动功率、测量方法有很大关系。
从理论上来说本设计系统采用的超声波模块测距时存在的盲区大约为2cm左右,测量距离范围为2cm~5m,测量的误差比较小,测量显示值稳定,可以精确到0.3cm,能满足设计要求。
下图5.1是电路的PCB图:
图5.1PCB图
下图5.2为电路的仿真测试图:
图5.2仿真测试图
经实际距墙测量,本次的测量距离为40cm,距离基本能测准,蜂鸣器发生警报,且比较稳定,测量情况如图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.
Bumpercarreversingalarm
XiaoLongMa
PhysicalandElectronicEngineeringElectronicsandInformationEngineeringNo.11300024
[Abstract] thedesignisbasedon ultrasonicdistancemeasurement basedonAT89S51singlechipmicrocomputer, canbeusedforvehicle parkingsafetyauxiliarydevice, thedevicecan displayofdigitaltube driver fromthe obstacle far, and issuedawarningsound atadistancefromtheobstaclemust alert distance. Sothedriver canmoresafely intheparkingreducethe
accidents. The designofthehardware fromthesmallestsingle-chip system, anultrasonic emittingandreceivingcircuit, powersupplyand analarmcircuit, digital displaycircuit. Software using
assemblylanguage.
[keyword] AT89C51 ultrasonic digitaltube ranging sensor
附一:
源程序
/***********************************************************************************************************/
//接线:
模块TRIG接P3.2ECH0接P3.3
/***********************************************************************************************************/
#include//器件配置文件
#include
//按键声明
sbitRX=P3^2;
sbitTX=P3^3;
sbitS1=P1^4;
sbitS2=P1^5;
sbitS3=P1^6;
//蜂鸣器
sbitFeng=P2^0;
//变量声明
unsignedinttime=0;
unsignedinttimer=0;
unsignedcharposit=0;
unsignedlongS=0;
unsignedlongBJS=50;//报警距离50CM
//模式0正常模式1调整
charMode=0;
bitflag=0;
unsignedcharconstdiscode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/};
unsignedcharconstpositon[4]={0xfd,0xfb,0xf7,0xfe};
unsignedchardisbuff[4]={0,0,0,0};
unsignedchardisbuff_BJ[4]={0,0,0,0};//报警信息
//延时100ms
voiddelay(void)//误差0us
{
unsignedchara,b,c;
for(c=10;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
//按键扫描
voidKey_()
{
//+
if(S1==0)
{
delay();
while(S1==0)
{
P1=P1|0x0f;
}
BJS++;
if(BJS==151)
{
BJS=0;
}
}
//-
elseif(S2==0)
{
delay();
while(S2==0)
{
P1=P1|0x0f;
}
BJS--;
if(BJS==0)
{
BJS=150;
}
}
//功能
elseif(S3==0)
{
delay();
while(S3==0)
{
P1=P1|0x0f;
}
Mode++;
if(Mode==2)
{
Mode=0;
}
}
}
/**********************************************************************************************************/
//扫描数码管
voidDisplay(void)
{
//正常显示
if(Mode==0)
{
if(posit==0)//数码管的米标志
{
P0=(discode[disbuff[posit]])|0x80;
}
else
{
P0=discode[disbuff[posit]];
}
P1=positon[posi