汽车防撞报警器的设计教材Word文件下载.docx
《汽车防撞报警器的设计教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《汽车防撞报警器的设计教材Word文件下载.docx(40页珍藏版)》请在冰点文库上搜索。
![汽车防撞报警器的设计教材Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/87904c3d-1f28-4aa2-9e81-ce910c61292d/87904c3d-1f28-4aa2-9e81-ce910c61292d1.gif)
当车辆倒车时会发出“倒车请注意”的提醒声音,这就是汽车防撞报警器的第一代产品。
现在只有小部分车辆还在使用。
只要司机挂上倒档,它就会响起,提醒周围的人注意。
从一定意义上说,它对驾驶者并没有直接的帮助,不是真正的汽车防撞报警器。
它价格便宜,使用性能不高,已被市场淘汰。
第二代:
采用蜂鸣器不同声音提示驾驶员。
这是汽车防撞报警器系统的真正开始。
倒车时,如果车后1.8米-1.5米处有障碍物,蜂鸣器就会开始工作,发出警报声。
蜂鸣声越急,表示车辆离障碍物越近。
但由于没有语音提示,也没有距离显示,司机即使知道有障碍物,却不能确定障碍物离车有多远,对驾驶员帮助也不是太大。
第三代:
数码波段显示具体距离或者距离范围。
这代产品比第二代进步很多,可以显示车后障碍物离车体的距离。
如果是物体,在1.8米开始显示;
如果是人,在0.9米左右的距离开始显示。
这一代产品有两种显示方式,数码显示产品显示距离数字,而波段显示产品由三种颜色来区别:
绿色代表安全距离,黄色代表警告距离,红色代表危险距离,必须停止倒车。
第三代产品把数码和波段组合在一起,虽然比较实用,但安装在车内不太美观。
第四代:
液晶荧屏动态显示。
这一代产品有一个质的飞跃,特别是屏幕显示开始出现动态显示系统。
不用挂倒档,只要发动汽车,显示器上就会出现汽车图案以及车辆周围障碍物的距离,色彩清晰漂亮,外表美观,可以直接粘贴在仪表盘上,安装很方便。
不过液晶显示器外观虽精巧,但灵敏度较高,抗干扰能力较差,误报也较多。
第五代:
魔幻镜汽车防撞报警器。
结合了前几代产品的优点,采用了最新仿生超声雷达技术,配以高速电脑控制,可全天候准确地测知2米以内的障碍物,并以不同等级的声音提示和直观的显示提醒驾驶员。
魔幻镜汽车防撞报警器可以把后视镜、汽车防撞报警器、免提电话、温度显示和车内空气污染显示等多项功能整合在一起,并设计了语音功能。
因为其外形就是一块倒车镜,所以可以不占用车内空间,直接安装在车内后视镜的位置。
而且颜色款式多样,可以按照个人需求和车内装饰选配。
第六代:
整合影音系统。
它在第五代产品的基础上新增了很多功能,属于第六代产品,是专门为高档轿车生产的。
从外观上来看,这套系统比第五代产品更为精致典雅;
从功能上来看,它除了具备第五代产品的所有功能之外,还整合了高档轿车具备的影音系统,可以在显示器上观看DVD影像。
价格较高。
汽车防撞报警器对于驾驶者的巨大作用,使得它成为各种车辆上的必备品。
第二章汽车防撞报警器的原理和总体设计
2.1汽车防撞报警器的原理
用来测距的方式多种多样。
短距离测距可以使用尺子等刻度工具,远距离可以使用激光测距等方法,而超声波测距一般应用与中短距离测量。
本设计的工作原理便是超声波测距原理。
超声波因其频率下限大约等于人的听觉上限而得名。
它方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,在医学、军事、工业、农业上有很多的应用。
声波的传播速度与温度有关。
由于超声波也是一种声波,如果在测距过程中环境温度与常温差距较大,则必须考虑温度。
下表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
声速确定后,只要测得超声波往返的时间,即可求得距离。
表2-1声速与温度的关系
温度(℃)
-30
-20
-10
10
20
30
100
声速(米/秒)
313
319
325
333
338
344
349
386
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在常温空气中(20℃)的传播速度为(V)为340m/s(实际速度为344m/s,这里取整数),根据计时器记录的时间(T),就可以计算出发射点距障碍物的距离(S)。
S=340T/2
这就是所谓的时间差测距法。
为了以超声波作为检测手段,必须产生超生波和接收超声波。
完成这种功能的装置就是超声波传感器。
超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。
常用的超声波传感器可以分为二大类,一是用电气方式产生超声波,如压电式、磁致伸缩式超声波发生器;
二是用机械方式产生超声波,有加尔统笛、液哨和气流旋笛等。
下面我们主要介绍本设计所使用的压电式超声波传感器。
2.1.1压电式超声波传感器简介
压电式超声波传感器的主要组成部分是压电晶片。
当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。
当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。
前者用于超声波的发射,后者即为超声波的接收。
超声波传感器一般采用双压电陶瓷晶片制成。
这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。
在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。
也就是说,在压电陶瓷晶片上加有频率为f0交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会发出超声波。
如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。
图2-1压电式超声波传感器结构图
压电式超声波发生器实际上是利用压电晶体的谐振来工作的,超声波发生器内部结构如图2-1所示,它有两个压电晶片和一个共振板,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。
压电陶瓷晶片有一个固定的谐振频率,即中心频率f0。
发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。
这样,超声传感器才有较高的灵敏度。
当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。
利用这一特性可制成各种频率的超声传感器。
2.2汽车防撞报警器的总体设计方案
按照系统设计的功能具体要求,初步设定汽车防撞报警器系统由单片机控制模块、显示模块、键盘模块、超声波发射模块、超声波接收模块,一共五个模块构成。
单片机控制系统使用51单片机系列的AT89S52单片机作为控制器,该型号单片机工作性能稳定,操作简单,比较适合本系统。
发射线路由单片机输出端驱动超声波发送。
图2-2系统设计框图
硬件电路的设计主要由超声波发射电路、超声波接收电路、单片机控制系统和显示电路四部分组成。
第三章硬件设计
本汽车防撞报警器系统主要有主机和探头两部分组成。
主机电路包括发射电路、接收电路、计数显示电路三部分。
单片机采用AT89S52。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.0端口控制发射和停止输出超声波换能器所需的40KHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的3位共阴LED数码管,段码用ZLG7289驱动。
3.1超声波发射模块与接收模块
超声波发射模块包括超声波产生电路和超声波发射控制电路两个部分,超声波探头选用压电式,可采用软件发生法和硬件发生法产生超声波。
前者利用软件产生40KHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。
这种方法的特点是充分利用软件,灵活性好,但需要设计一个驱动电流在100mA以上的驱动电路。
第二种方法是利用超声波专用发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波。
这种方法的优点是无须驱动电路,但缺乏灵活性。
本设计采用第二种方法产生超声波发射信号。
40KHz的超声波是利用LC震荡电路振荡产生的。
其振荡频率计算式如公式3-1为:
(3-1)
其中L=6.8mH,C=2200pF,计算得结果约等于40KHz。
超声波接收模块包括超声波接收探头、信号放大电路及波形变换电路三部分。
超声波探头必须采用与发射探头对应的型号,关键是频率要一致,本设计采用发生端同型号的压电式超声波传感器,否则将因无法产生共振而影响接收效果,甚至无法接收。
由于经探头变换后的正弦波电信号非常弱,因此必须经放大电路放大。
由于是汽车报警器系统所测距离在两米左右所以采用两级放大,用LF353实现。
第一级放大100倍,第二级放大50倍总计放大5000倍,这样不仅放大增益足够大,可以适合小信号的需求,而且信号增益也能够变化,适应信号变化范围大的需求。
放大后的交流信号经LM567锁相环锁定后向CPU发中断申请。
在中断服务程序中,读取时间计数器的计数值,并通过计算算出雷达与障碍物的距离。
接收探头将超声波调制脉冲变为交变电压信号,经运算放大器两极放大后加至LM567。
LM567是带有锁相环的音频译码集成块,LM567内部的压控振荡器的中心频率
,接收电路如图4.2所示。
电容C7决定其锁定带宽。
调节R10在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。
选频放大电路的作用是仅允许一定频率的信号通过并放大,而其他频率的信号将被阻断或衰减。
只要把选频放大电路工作的中心频率设定为40KHz,就可以把其他频率的干扰信号清除或衰减,同时把40KHz的回波信号进行放大。
本设计中,将超声波发射模块与接收模块集成与一个电路板上,如图所示:
图3-1超声波发射与接收模块
3.3单片机控制系统
本设计控制系统中所用使用的单片机型号为AT89S52,下面就其功能特点及其结构作些简单介绍。
AT89S52是美国ATMEL公司所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用其公司高密度非易失性存储器技术制造,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
AT89S52单片机具有很高的性价比,可以灵活应运于众多控制领域中。
主要性能参数:
·
与MCS-51产品指令系统兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
图3-2AT89S52简图
3.4显示模块
出于功能及性价比的考虑,显示模块中所用使用的显示器为LCD1062液晶显示器。
以下对其进行一些说明。
图3-3LCD1602液晶显示器简图图3-4LCD1602液晶显示器实物图
引脚说明
引脚
符号
功能说明
1
VSS
一般接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4
RS
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5
R/W
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
6
E
E(或EN)端为使能(enable)端,
写操作时,下降沿使能。
读操作时,E高电平有效
7
DB0
低4位三态、双向数据总线0位(最低位)
8
DB1
低4位三态、双向数据总线1位
9
DB2
低4位三态、双向数据总线2位
DB3
低4位三态、双向数据总线3位
11
DB4
高4位三态、双向数据总线4位
12
DB5
高4位三态、双向数据总线5位
13
DB6
高4位三态、双向数据总线6位
14
DB7
高4位三态、双向数据总线7位(最高位)(也是busyflag)
15
BLA
背光电源正极
16
BLK
背光电源负极
表3-1LCD1602液晶显示器引脚说明
键盘模块和供电单元略
第四章软件设计
4.1软件的设计要求
本系统的设计要求是利用超声波测距原理设计一个汽车防撞报警器。
要求通过设计能够测量出并显示车与障碍物之间的距离,并能在距离小于一定的值的时候根据设定的值进行声光报警。
4.2软件设计的总体结构框图
图4-1系统模块框图
系统初始化模块:
即系统刚上电的时候对系统的各个引脚的电平分配和对各寄存器的初值赋值。
数码管显示模块:
通过该模块的设计能够让所测得的距离等信息显示在数码管上。
按键扫描模块:
此模块用来通过键盘控制系统的工作。
发射接收控制模块:
发射控制模块是软件控制超声波发射电路发射。
超声脉冲启动定时器工作,同时启动接收电路工作,当接收电路有信号输入时,对输入信号进行处理。
运算结果处理模块:
运算结果处理模块将多次所测的时间进行处理,进行软件取大值工作,根据公式计算出距离,然后再对计算得出的结果进行修正处理,数据处理后送至数码管显示模块。
声光报警模块:
当所测距离小于一定值时,通过声光报警来提醒使用者。
4.3各个程序的流程图
本节讲述的是各个程序流程图的设计,包括:
主程序流程图、测距程序流程图、距离处理流程图、语音播报程序流程图、LED显示程序流程图、中断程序流程图。
4.3.1主流程图
图4-2主程序流程图
工作时,微处理器AT89S52先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。
要检测返回信号必须在启动发射信号后1.4ms才可以检测,这样就可以抑制输出得干扰。
当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。
再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。
然后再根据现场的情况进行声光报警。
4.3.2发射接收模块流程
主程序调用测量子程序,计算子程序,显示子程序完成一个测量周期。
测量子程序如下:
图4-3测量子程序流程图
考虑到在测量的距离超过一定限度后误差会变大,可以在大于一定距离后采用软件修正,补偿实际测的数据,当然这要在调试中收集大量的实际测试数据后在单片机中设置。
当计算时为了提高计算精度可以用计算计数脉冲个数来提高计算精度,改进后的公式如公式4-1:
(4-1)
其中N表示为计数脉冲个数,v为超声波在空气中的速度,f为计数频率也即单片机的晶振频率。
4.3.3中断程序流程
在中断程序中,当有中断产生也即接收到超声波信号就马上关闭中断与定时器,并进行距离计算与判断的工作。
图4-4中断程序流程图
时间计测:
超声波从发射到接收的间隔时间的测定是由单片机内部的计数器T0来完成的。
在调试过程中出现的发送部分与接收部分的直接串扰问题是由于换能器之间的距离不大,有部分声波未经被测物就直接绕射到接收换能器上。
从发射开始一直到“虚假反射波”结束这段时间,通过控制触发器不能触发,也即超声波发射后不是马上的接收,而是要经过一段时间的等待再接收,使不会发中断申请,可有效躲避干扰,但也会形成所谓的“盲区”。
本系统的盲区通过计算在24cm左右。
4.4部分程序
#include<
AT89x51.H>
//器件配置文件
intrins.h>
#defineRXP3_1
#defineTXP3_2
#defineLCM_RWP2_1//定义LCD引脚
#defineLCM_RSP2_0
#defineLCM_EP2_2
sbitBUSY=P0^7;
#defineLCM_DataP0
#definebuzzerP2_3
#defineLEDP3_6
#defineLCD_COMMAND0//Command
#defineLCD_DATA1//Data
sfrDBPort=0x80;
sbitDQ=P3^7;
//温度传送数据IO口
unsignedintTempBuffer[7];
unsignedinttemp_value,xiaoshu;
//温度值
#defineBusy0x80//用于检测LCM状态字中的Busy标识
voidLCMInit(void);
voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData);
voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData);
voidDelay5Ms(void);
voidDelay400Ms(void);
voidDecode(unsignedcharScanCode);
voidWriteDataLCM(unsignedcharWDLCM);
voidWriteCommandLCM(unsignedcharWCLCM,BuysC);
unsignedcharReadDataLCM(void);
unsignedcharReadStatusLCM(void);
unsignedcharcodemcustudio[]={"
Temp:
"
};
//unsignedcharcodeemail[]={"
NAME:
ZhuKailun"
unsignedcharcodeCls[]={"
unsignedcharcodeDistance[]={"
Distance:
unsignedcharcodeASCII[15]={'
0'
'
1'
2'
3'
4'
5'
6'
7'
8'
9'
.'
-'
M'
staticunsignedcharDisNum=0;
//显示用指针
unsignedinttime=0;
unsignedlongS=0;
bitflag=0;
unsignedchardisbuff[4]={0,0,0,0,};
//写数据
voidWriteDataLCM(unsignedcharWDLCM)
{
ReadStatusLCM();
//检测忙
LCM_Data=WDLCM;
LCM_RS=1;
LCM_RW=0;
LCM_E=0;
//若晶振速度太高可以在这后加小的延时
//延时
LCM_E=1;
}//写指令
voidWriteCommandLCM(unsignedcharWCLCM,BuysC)//BuysC为0时忽略忙检测
if(BuysC)Rea