基于单片机的超声波汽车报警系统的设计
扫描二维码
随时随地手机看文章
摘要:介绍了一种基于单片机与超声波结合的倒车报警系统的设计过程,本系统采用NE555和CX20106A构建超声波发射与接收电路,通过单片机与数码管实现测距计算与实时显示,同时用户还可以通过按键设置倒车报警距离,当达到设定的报警距离时系统将进行语音报警。另外系统设置了分段指示灯(倒车安全、注意倒车、倒车危险),提高了倒车安全系数。经测试,该系统在10~250 cm范围内能实现准确测距,且通过数码管实时显示倒车距离,并进行声光报警。本系统弥补了中、低端汽车报警系统不能实现准确测距和实时显示倒车距离的问题,具有集成度高、测量范围广、成本低等特点,能满足驾驶员在实际倒车中的需求,具有一定的理论和实用价值。
关键词:单片机;超声波测距;语音报警;超声波发射电路;超声波接收电路
目前汽车报警装置已被广泛应用,并种类繁多,但大多报警装置均有其局限性。如早期出现的红外报警系统,最大的缺点是红外线波易受干扰,整个系统的警示音常呈现不稳定的乱鸣状态,另外对深黑色粗糙表面物体的反应也较差。更糟糕的是,无论是红外线发射器或接收器,只要有一层薄薄的冰雪或泥尘将其覆盖,系统就会失效。最近在欧美出现了一种电磁感应倒车雷达,此种装置价格中等,并且完全隐密,但可惜的是,安装困难(必须卸下保险杠贴在内侧),而且只能探测动态物品,当车在后退行进时,可探测到物体,但车一旦停止后退行进,则任何物体都不被认可。
本设计采用单片机与超声波结合的倒车报警系统除具有普通倒车雷达的作用外,用户还可以根据个人的需要设定汽车离阻挡物报警的距离,同时还可以实时监控到汽车倒车的时候离阻挡物的距离;另外本系统除具有语音报警外,还可通过分段指示灯,实现声与光的实时监控。
1 系统框图
此倒车报警系统主要是利用超声波的特点和优势,将超声波测距的原理和AT89C52单片机结合于一体,设计出一种基于单片机的汽车倒车报警系统。该系统采用软、硬件结合的方法,具有模块化和多用化的特点。
根据设计要求并综合各方面因素,采用AT89C52单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机产生。超声波测距器的系统框图如图1所示。
2 硬件电路设计
2.1 硬件电路框图
单片机AT89C52作为主控器,上电复位。XTAL1和XTAL2接12 MHz晶振与电容构成的时钟电路。P1.0控制由555定时器及超声波换能器CSB40T组成的发射电路发射超声波。超声波信号碰到障碍物时信号立刻返回,经传感器,滤波电容,放大器,电压比较器传给单片机的INT0口一个低电平。P1.1、P1.2、P1.3和P1.7分别控制绿、黄、红指示灯和蜂鸣器。P0口接4位共阳极数码管,P2口的低四位控制数码管的位选。其硬件框图如图2所示。
2.2 超声波的计算
超声波测距的原理如图3所示,即超声波发生器T在某一时刻发出一个超声波信号,当这个超声波信号遇到被测物体后反射回来,就会被超声波接收器R接收到,此时只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
该距离的计算公式为:
其中,d为被测物与测距器的距离;s为声波往返的路程;v为声速;t为声波往返所用的时间。
由于超声波也是一种声波,其速度v与温度有关,在使用时,如果温度变化不大,则可以认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以教正。声速确定后,只要测得超声波往返的时间,即可求得距离。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。
2.3 发射电路设计
超声波发送电路包括超声波产生电路和超声波发射控制电路两个部分,超声波探头(又称“超声波换能器”)选用CSB40T。40 kHz的超声波是利用555时基电路振荡驱动超声波探头产生的。
超声波发射电路图如下图3所示,其中R2为可调电阻的目的是为了调节信号频率,使之与换能器的40 kHz固有频率一致。
555定时器的3脚是复位端,利用它来控制超声波脉冲的发射。当4脚为高电平时,555有振荡脉冲输出;为低电平时,555定时器清零,没有输出。因而,将4脚与单片机的控制信号相接就可以控制发射电路。为保证555时基电路具有足够的驱动能力,宜采用+12 V电源供电。4脚为超声波发射控制信号输入端,由单片机P1.0进行控制。
2.4 接收电路设计
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率为38 kHz与测距的超声波频率40 kHz较为接近,所以可以利用它做超声波的检测接收电路。
超声波测距系统的接收电路如图4所示。超声波接收换能器将接收到的回波信号转换后经过0.056μF的电容初步滤波后,进入CX20106A的1脚,经过CX20106A的前置放大器,限幅放大,带通滤波器(中心频率为40 kHz),检波器及比较器,最后经过内部的整形电路,从7脚输出至AT89C52单片机的外部中断0(P3.2)口。当芯片接收到40 kHz的信号时,7脚的输出由高电平转为低电平,单片机外部中断0口检测到输入信号的下降沿或低电平时,立即产生中断,同时停止定时/计数器,从而得到超声波的回波时间t。
2.5 报警与显示电路
1)声光报警电路
光报警电路由单片机P1.1、P1.2、P1.3输出高低电平来控制,P1.6端口控制蜂鸣器,输出PWM波,由用户通过按键设定报警距离。当达到用户设定的报警值时,P1.6脚输出PWN波。其中PWM(Pulse Width Modulation)是一种脉宽调制技术。所谓PWM控制技术就是控制半导体开关器件的导通与关断,从而得到一系列幅值相等而宽度不相等的脉冲,可以用这种来代替正弦波或其它所需要的波形。电路如图5所示。
2)语音报警电路
语音报警电路采用语音芯片TH040来实现:TH040型智能语音芯片是具有40秒语音烧录功能的高质量智能语音芯片,支持PWM这种高质量、高速率的语音输出方式,而且有8个输入/输出脚位可供选择。接法与管脚图如图6所示。用语音芯片时都要给语音芯片一个大于100 μs时间的复位高电平。接着再给TG2几个脉冲TH040芯片就发出第几段语音。
3)显示及按键电路
显示电路采用四位共阳数码管实现,位码用PNP三极管8550驱动,采用动态显示方法。用户可以通过按键设置报警距离。
3 软件部分的设计
超声波测距器的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序、按键中断与加减计数字程序、PWM波生成程序及显示子程序组成。由于C语言程序有利于实现较复杂的算法,汇编语言程序具有较高的效率并且容易精确计算,故采用C语言与汇编语言结合编写。主程序流程图如图7所示。
3.1 超声波的发射
超声波40 kHz是由芯片NE555构成的硬件电路产生的,故要用P1.0控制发射及关断时间,P1.0为高电平时发射超声波,反之则不发出超声波。实验发现,一次发出4个超声波脉冲比较合适,因为超声波发射出去的同时不能打开INT0中断,以防超声波刚发出就被超声波接收探头接收,以至不能实现测距。4次超声波的发射需要时间125μs,故发出超声波的端口P1.0需要能保持125μs的高电平;发送结束后给标志位置0。
3.2 超声波的接收
等待接收超声波回波,有回波了就会在INT0口产生低电平,产生中断,执行计算距离,送数码管显示。实验证明CX20106A接收超声波(无信号时输出高电平),具有很高的灵敏度和较强的抗干扰能力。适当更改电容C4的大小可以改变接收电路的灵敏度和抗干扰能力。
3.3 报警与显示电路流程图
4 结束语
本设计通过单片机与数码管实现测距计算与实时显示,同时用户还可以通过按键设置倒车报警距离,当达到设定的报警距离时系统将进行语音报警,方便用户使用。另外系统设置了分段指示灯,提高了倒车安全系数。另外发射探头的频率信号来自单片机系统,准确稳定可靠,而且可以随时通过软件编程来加以控制,以驱动相应发射探头。本系统弥补了中、低端汽车报警系统不能实现准确测距和实时显示倒车距离的问题,具有集成度高、测量范围广、成本低等特点,能满足驾驶员在实际倒车中的需求,具有一定的理论和实用价值。