超声波倒车雷达系统毕业设计.docx
- 文档编号:12391047
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:25
- 大小:184.67KB
超声波倒车雷达系统毕业设计.docx
《超声波倒车雷达系统毕业设计.docx》由会员分享,可在线阅读,更多相关《超声波倒车雷达系统毕业设计.docx(25页珍藏版)》请在冰豆网上搜索。
超声波倒车雷达系统毕业设计
超声波倒车雷达系统毕业设计
目录
摘要
Abstract
目录3
第1章绪论1
1.1课题背景与意义1
1.2超声波测距仪的设计思路1
第2章系统硬件设计3
2.1系统整体设计3
2.2系统供电电路设计3
2.3单片机最小系统设计5
2.4倒车预警发射电路设计7
2.4.1超声波工作原理7
2.4.2超声波传感器8
2.4.3发射电路8
2.5倒车预警接收电路设计9
2.6显示电路设计11
2.7报警电路设计13
第3章软件设计13
3.1系统软件设计思路13
3.2软件设计环境14
3.3功能子程序设计15
第4章系统调试与仿真18
4.1硬件调试18
4.2软件调试19
4.3误差原因及分析19
第5章总结与展望21
参考文献22
致谢23
附录:
24
第1章绪论
1.1课题背景与意义
随着我国经济的飞速发展,交通运输车辆的不断增多,由此产生的交通问题越来越成为人们关注的问题。
其中倒车事故由于发生的频率极高,已引起了社会和交通部门的高度重视。
倒车事故发生的原因是多方面的,倒车镜有死角,驾车者目测距离有误差,视线模糊等原因造成倒车时的事故率远大于汽车前进时的事故率,尤其是非职业驾驶员以及女性更为突出。
而倒车事故给车主带来许多麻烦,例如撞上别人的车、消防水笼头,如果伤及儿童更是不堪设想,有鉴于此,汽车高科技产品家族中,专为汽车倒车泊位设置的“倒车雷达”应运而生,倒车雷达的加装可以解决驾驶人员的后顾之忧,大大降低倒车事故的发生[1]。
汽车倒车雷达全称为“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除驾驶员泊车和起动车辆时因前后左右探视所引起的困扰,并帮助驾驶员克服视野死角和视线模糊的缺陷,提高驾驶的安全性。
倒车雷达的原理与普通雷达一样,是根据蝙蝠在黑夜里高速飞行而不会与任何障碍物相撞的原理设计开发的[21]。
通过感应装置发出超声波,然后通过反射回来的超声波来判断前方是否有障碍物,以及障碍物的距离、大小、方向、形状等。
只不过由于倒车雷达体积大小及实用性的限制,目前其主要功能仅为判断障碍物与车的距离,并做出提示。
1.2超声波测距仪的设计思路
超声波测距原理:
发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离[31]。
由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
表1-1超声波波速与温度的关系表
温度(℃)
-30
-20
-10
0
10
20
30
100
声速(m/s)
313
319
325
323
338
344
349
386
超声波发生器原理:
超声波发生器内部结构有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器[4]。
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声与接收超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:
①取输出脉冲的平均值电压,该电压(其幅值基本固定)与距离成正比,测量电压即可测得距离;②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为s=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
第2章系统硬件设计
2.1系统整体设计
图2-1系统设计框图
本倒车雷达系统以STC89C52RC单片机为控制核心,控制超声波发射传感器发出超声波信号,当有障碍物时,发出的超声波信号被反弹回来,超声波接收传感器接收到反弹回来的信号,经过整形滤波处理后传递至单片机外部中断触发端,在中断子程序中利用计时时间计算障碍物距离,将计算结果即汽车离障碍物的距离显示在四位共阳数码管上,若测量得的距离小于设定的安全距离则驱动蜂鸣器发出报警声。
在不同的环境下,可以通过按键来设置报警的安全距离,具体设计如图2-1所示。
2.2系统供电电路设计
超声波倒车雷达系统中,供电电源为系统的正常工作提供能源,本系统主要是采用5V电源供电。
5V电源的输出端常并联一个100uf的电解电容和一个瓷片电容,电解电容的作用是改善负载的瞬态响应,瓷片电容主要是抵消因为长线传输引起的电感效应;
为了防止不同电路之间的干扰,常对不对功能的电路进行分开走线,模拟电路的地和数字电路的地分开走线,主要是为了防止数字电路与模拟器件之间的相互干扰。
2.3单片机最小系统设计
本系统的单片机采用的是STC89C52RC单片机,此单片机的最小系统如图2-6所示。
其中P0口接数码管段选,P2口接单片机按键,P1口高四位接数码管位选。
P2.7接报警电路。
图2-6单片机最小系统
本系统主要采用STC89C52RC单片机,STC89C52RC是一种低功耗、高性能CMOS8位微控制器,具有8KB在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
STC89C52RC具有以下标准功能:
◆8k字节Flash,256字节RAM
◆32位I/O口线
◆看门狗定时器,2个数据指针,三个16位定时器/计数器
◆一个6向量2级中断结构,全双工串行口
◆片内晶振及时钟电路
另外,STC89C52RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
单片机最小系统构成如下[5]:
1.电源
STC89C52RC单片机的电压为4.0V-5.5V,我们采用7805芯片稳压到5V进行供电。
2.晶振
晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
本系统主要采用的是12M晶振,配合2个30pF的电容构成晶体振荡电路。
3.复位
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。
如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
2.4.倒车预警系统的探测电路
2.4.1超声波工作原理
人耳能听到的声音频率为20Hz~20kHz,在此频率范围内的声波可听,如果小于此频率范围的声音,称为低频声波,20kHz以上的声音称为超声波,通常人说话的的频率范围为100Hz~8kHz[6]。
超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强,因此超声波传感器就是利用超声波的这种性质制成的。
此外,超声波在空气中传播的速度相对较慢,约为332m/s,利用超声波的这种特性,我们可以很容易的制作一个超声波倒车雷达。
2.4.2超声波传感器
超声波传感器有发送探头和接收探头,但一个超声波传感器也可以具有发送和接收声波的双重作用,即为可逆元件。
一般市场上出售的超声波传感器有专用型和兼用型,专用型就是发送器用作发送超声波,接收器用作接收超声波;兼用型就是发送器和接收器为一体传感器,既可发送超声波,又可接收超声波。
超声波传感器的谐振频率(中心频率)有23kHz、40kHz、75kHz、200kHz、400kHz等[7]。
谐振频率变高,则检测距离变短,分解力也变高,此次设计中,我们选用的是40KHz的频率。
2.4.3发射电路
超声波发射电路采用的74HC04芯片,利用74HC04芯片内部6个非门电路,组成发射部分的放大电路,来推动发射传感器发出超声波,其原理图如图2-7所示。
图2-7超声波发射电路
由单片机的晶振为12M,每个机器周期是1uS,若采用内部定时器0,方式1,计数25次,则可以产生40kHz的方波,由P3.3口输出,由单片机产生的40kHz的方波需要进行放大,才能驱动超声波传感器发射超声波,发射驱动电路其实就是一个信号放大电路,本课题所选用的是74HC04集成芯片,74HC04芯片内部包含了六个反向器,同时可以对信号进行放大[8]。
74HC04芯片的管脚如图2-8所示。
图2-874HC04管脚图
2.4.4倒车预警接收电路设计
电路采用集成电路CX20106A,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距超声波频率40kHz较为接近,可以利用它作为超声波检测电路。
实验证明,其具有很高的灵敏度和较强的抗干扰能力[9]。
图2-9超声波接收电路
RX为超声波接收头,当收到超声波时产生一个下降沿,接到单片机的外部中断INT0上。
当超声波接收头接收到40kHz方波信号时,就会将此信号通过CX20106A驱动放大送入单片机的外部中断0口。
单片机在得到外部中断0的中断请求后,会转入外部中断0的中断服务程序进行处理,在倒车雷达的避障工作中,可以在中断服务程序设定需要单片机处理的最短距离,比如0.5m。
对于距离大于0.5m的障碍物,可以不做处理直接跳出中断服务程序;对于距离小于或等于0.5m,就会发出警报。
发射出去的超声波经障碍物反射回来后,由超声波接收器接收到信号,接收到的信号经过检波放大、积分整形等系列处理,送至单片机。
单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并通过4位数码管显示出来。
倒车雷达是由超声波传感器、单片机、发射及接收电路和数码管显示组成。
传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。
其时序图如图2-10所示。
图2-10时序图
由于超声波传感器的带宽范围较窄,因此多数是在标称频率范围附近使用的,因此,要用一定的方法扩展频带,使频带变宽,如接入电感等。
在发送超声波时消耗的功率较大,温度变化会使谐振频率发生偏移,因此,对于压电陶瓷元件一个重要的措施是要进行频率调整。
2.4.5超声波传感器频带特性
超声波传感器的发送与接收标称频率为中心逐渐降低灵敏度,因此,超声波发射时要考虑到,以免逸出标称频率。
图2-11表示超声波传感器发射与接收方向性的特性,这种传感器检测范围宽,检测灵敏度高,因此,常用来检测物品或防盗报警。
对于这种传感器,温度越高,中心频率越低,为此,在外部环境温度发生变化时,需要对外部进行温度补偿,在传感器内部也要进行温度补偿[9]。
图2-11传感器的方向性
2.5显示电路设计
在实际的单片机系统中,往往需要多位显示。
动态显示应用非常广泛是一种最常见的多位显示方法。
用数码管显示信息时,由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要太多I/O口,而单片机的I/O口是有限的。
在实际应用中,一般采用动态显示的方式解决此问题S1,S2,S3,S4和单片机的P2.4到P2.7,0-7段码接单片机P0口。
图2-12数码管显示电路
所有数码管的段选全部连接在一起,如何能显示不同的内容呢?
动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。
在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。
在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示发暗且有重影。
计算可得每位数码管的电流为64mA,8550芯片的集电极电流最大可达1.5A,完全满足设计要求。
由于单片机最大的上拉电流一般约为2-5mA,所以必须串一个1K的限流电阻,此处的三极管相当于开关作用,控制各位数码管的开关。
2.6报警电路设计
图2-14报警电路
当单片机测量得的距离小于设定的安全距离时,单片机控制蜂鸣器发出报警声。
由于单片机的驱动能力较弱,所以必须加一个三极管才能驱动蜂鸣器。
第3章软件设计
3.1系统软件设计思路
YN
图3-1软件设计总框图
软件设计的总体思路是单片机发出超声波,测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S,最终显示在4位数码管上。
S=ct/2
本程序主要可以分为四个子程序:
1.发射超声波(40KHz方波)程序
2.接收超声波程序处理
3.显示数据
3.2软件设计环境
本次毕业设计主要在KeilC51下采用C语言来编写程序。
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilC51可以进行C语言,汇编语言,的编译。
并可以进行软件设计与仿真。
编译之后生成的.HEX文件可以下载到单片机里面。
同时我们也可以配合Protues仿真软件进行仿真。
这样可以缩短我们程序的调试时间,及时发现我们程序中的不足之处。
3.3功能子程序设计
3.3.1.发射超声波程序
由于超声波传感器的带宽范围较窄,因此多数是在标称频率范围附近使用的。
要想得到精确的方波信号,必须使用单片机的定时器。
单片机所用晶振12M,每个机器周期是1uS,若采用内部定时器0,方式1,计数25次,则可以产生40kHz的方波程序如下:
voidTimer0_isr(void)interrupt1using1
{
TMOD|=0x01;/*定时器模式1*/
TH0=(65535-25)/256;/*定时器25uS*/
TL0=(65535-25)%256;
EA=1;/*中断使能*/
ET0=1;/*定时器使能*/
TR0=1;/*定时器启动*/
}
3.3.2.接收超声波数据处理程序
单片机在T0时刻产生一个40KHz方波,在此同时定时器启动开始计时,当收到反弹回的波后,产生一个下降沿送到单片机P3.2口,单片机中断程序响应,定时器停止计数。
计算T1-T0的时间,得到的数值经过单片机处理,即可得到超声波传播的时间t,由此便可计算出车体与障碍物的距离。
while(TH1<30);//等待测量的结果,周期65.535毫秒(可用中断实现)
TR1=0;//关闭定时器1EX0=0;//关闭外部中断
if(succeed_flag==1)
{distance_data=outcomeH;//测量结果的高8位
distance_data<<=8;//放入16位的高位distance_data=distance_data|outcomeL;//与低8位合并成为16位结果数据distance_data*=12;//因为定时器默认为12分频distance_data/=58;//微秒的单位除以58等于厘米
}
//为什么除以58等于厘米,Y米=(X秒*344)/2//X秒=(2*Y米)/344==》X秒=0.0058*Y米==》厘米=微秒/58if(succeed_flag==0){distance_data=0;//没有回波则清零
3.3.3.显示程序
本次采用的是4位共阳数码管动态显示,动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。
查表求段控码
段控码送到段控端
位控码送到位控端
Y
N
图3-2LED显示子程序
3.3.4安全报警值设定
安全报警值由程序里面设定,在程序里面设定当测量得的实际距离小于80cm安全距离时则启动报警程序,控制蜂鸣器发出报警声。
第4章系统调试
4.1硬件调试
做硬件焊接完成之后,我们必须对硬件进行调试,发现其中可能存在的问题,并对其进行改进。
第一步:
对所有元件进行检测,确保每个元件的质量。
第二步:
在万能板上依据单片机最小应用系统原理图设计PCB电路图。
进行规划振荡电路、复位电路、电源电路、外围电路、单片机芯片的布局时要疏密合理。
第三步:
依据PCB电路图,先焊接振荡电路,再焊接外围电路,复位电路,电源电路。
焊接的时候要注意晶振电路应尽量靠近单片机芯片,性能会更稳定。
第四步:
用万用表检测电源是否接通,主要是看看40脚和20脚之间是否有5V电压。
第五步:
检测第31引脚,是否有5V电源,目的是确保使用了片内存储器。
第三步:
检测P3口或P2口的空闲电压是否有5V电压,如果没有,说明单片机系统没有工作。
第六步:
用万用表检测复位电路,通过复位按键,检测第9脚的电压是否会变化。
如果按键没有按下,电压为0V,按键按下后,电压立刻变为5V,之后很快的降为0V,则表示复位电路正常。
第七步:
用示波器检测振荡电路,主要是检测第18、19脚。
检测是否有振荡波产生。
如果有,表示振荡电路正常。
最后,检测每条PCB板上的焊接走线是否有短路、断路、虚焊等焊接故障。
4.2软件调试
软件调试是建立在硬件调试的基础之上的。
调试完硬件之后,我们就开始编写程序,对程序进行调试。
我们先画出程序的流程图,然后根据流程图来编写程序。
首先写数码管显示程序,让它全亮,看硬件电路是否有问题,如果没有问题,则编写动态扫描程序,让其能全部正常显示不同的数字。
然后编写超超声波的发送程序,用示波器观测超声波电路发射电路,有没有输出40KHz的方波。
如没有输出40KHz方波,则继续调试程序。
如果发送的程序编写成功,则开始编写接收的程序,接收程序在处理数据的同时必须对干扰进行处理。
在完成以上的功能模块程序后,对显示,发射,接收这4个部分的程序进行整合,完成最终程序的调试。
4.3误差原因及分析
根据超声波测距公式L=C×T,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。
1.时间引起误差及解决方法
当要求测距误差小于1mm时,假设已知超声波速度C=344m/s(20℃室温),忽略声速的传播误差。
测距误差s△t<(0.001/344)≈0.000002907s即2.907ms。
解决方法:
在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。
使用的12MHz晶体作时钟基准的STC89C52RC单片机定时器能方便的计数到1μs的精度,因此系统采用STC89C52RC定时器能保证时间误差在1mm的测量范围内[10]。
2.超声波传播速度误差及解决方法
对于超声波测距精度要求达到1mm时,就必须把超声波传播的环境温度考虑进去。
例如当温度0℃时超声波速度是332m/s,30℃时是350m/s,温度变化引起的超声波速度变化为18m/s。
若超声波在30℃的环境下以0℃的声速测量100m距离所引起的测量误差将达到5m,测量1m误差将达到5mm超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系。
解决方法:
在电路中引入温度补偿电路,消去温度引起的误差。
LM92温度传感器的温度测试分辨率为0.0625℃,-10℃至+85℃准确度为±1.0℃,I2C总线接口。
用89C51的通用I/O端口能很容易的模拟I2C总线的读写时序,LM92的高精度温度测量能很好的补偿超声波在不同温度的传播速度。
3.超声波回波被干扰引起误差
在测量过程中,为了防止其他信号的干扰,提高测量的可靠性,单片机开始计数时,超声传感器常常发射由多个方波组成的脉冲串(如5~9个脉冲为一串)作为测量的载体。
若接收电路中的比较器的阈值电压为一定值,由于粉尘及其它物质的影响,故实际测量时,不一定是第一个回波的过零触发。
通过对超声波接收回波的观察分析,发现接收回波经包络检波后,其包络线前沿为按指数规律上升的曲线,大约在第九个波到包络线的峰顶,第三个波近似为峰顶的75%。
故接收电路常设计为接收到第3个回波时,单片机停止计数。
所以最终测得的时间比实际距离所对应的时间多出3脉冲发送时间,从而造成了回波时间t的测量误差。
解决方法:
必须准确地检测到第一回波脉冲沿到达的时间。
用固定阈值的单比较器检测回波,由于声波在传输过程中存在吸收衰减和扩散损失,声强随目标距离增大,而呈指数规律衰减,在量程范围内,最近目标和最远目标的回波幅度相差较大,可能导致越过门槛的时刻前后移动,从而影响计时的准确性。
4.超声波盲区及解决方法
在测距时,传感器用一段时间发射一串超声波来作为测量的载体,因此只有待发送结束后才能启动接收,设发送波束的时间为t,则在t时间内从物体反射回的信号就无法捕捉。
另外超声波传感器有一定的惯性,即有一个从受迫振动到平衡振动再到阻尼振动的过程,故发送结束后还有一定的余振,这种余振经换能器同样产生电压信号,这种电压信号叠加到回波信号上,使电路鉴别不出真正的回波,从而扰乱了系统捕捉返回信号工作。
解决方法:
在余振未消失以前不启动系统进行回波接收。
第5章总结与展望
总结:
超声波测距是一种非接触测距在很多应用场合有其它方式不可比拟的优越性。
本文在研究超声波测距原理的基础上设计了一套基于STC89C52RC单片机的低成本、高精度超声波汽车倒车探测器,具体完成了以下一些工作:
(1)对超声波汽车倒车探测器产生背景发展历程,及应用现状进行深刻认识,根据使用现场环境及实际需求提出了几种测量方案,并且详尽地分析了每种方案的误差及优劣。
(2)分析了造成超声波测距误差的温度因素,并给出了误差修正公式,推导出了超声波在空气中传播速度的线性化公式。
(3)硬件中采用声光报警及数码距离显示,直观详细的把测量结果显示给驾驶人员。
(4)基于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 倒车 雷达 系统 毕业设计