前言
随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的日常生活当中,给我们的生活带来了诸多方便。尤其是在汽车产业高速发展的今天,随着近几年来私家车的剧增,如何做到安全行驶也成为驾驶员面临的最大挑战。早期的倒车防撞仪可以测试车后一定距离范围的障碍物而发出警报,后来发展到根据距离分段报警。随着人们对汽车驾驶辅助系统易用性要求的提高,对汽车行驶的安全车距的要求也越来越高。针对这种情况,设计一种响应快,可靠性高且较为经济的汽车智能刹车系统势在必行,超声波测距法是最常见的距离测距方法,应用于汽车停车的前后左右等状况。
本课题就是本着这个宗旨出发,采用温度补偿的高精度超声波测距系统为我们服务。超声波指向性强,因而常于距离的测量。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=v*t/2。这就是所谓的时间差测距法。
利用超声波及集成霍尔元件实现对汽车的测距和测速,由单片机把测量车距与预先设定的安全车距和车速进行比较。利用控制系统的实时控制和数据处理功能,完成整个系统的控制。
1.课程设计方案与论证
1.1系统整体方案的设计
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到设计需求。
超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。根据实际情况决定本设计采用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,产生超声波驱动信号。DS18B20电路模块作为温度补偿部分的采样电路,从而实现对超声波波速的补偿。采用LCD数字显示车速与车距情况。
测速部分采用霍尔元件A44E来对车速进行实时采样,并通过液晶LCD进行显示。控制器AT89C51作为主控制器,通过对车速、车距等的实时处理,从而实现智能刹车的控制。
1.2系统整体方案的论证
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。
2.设计思路
2.1 51系列单片机测距原理
超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换为超声波,发射超声波;而在收到回波的时候,则将超声振动转
换成电信号。超声波测距的原理一般采用渡越时间法TOF。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45 秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。
超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。
2.2硬件测距选择
2.2.1超声波测距及其原理
超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换为超声波,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的原理一般采用渡越时间法TOF。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45 秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。
超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本次设计超声波传感器采用电气方式中的压电式超声波换能器,它是利用压电晶
体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。
2.2.2 超声波设计系统框图
根据设计要求并综合各方面因素,可以采用AT89C52单片机作为主控制器,采用2行16为字符的液晶LCD1602进行数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图1所示。
图1 超声波设计系统框图
3.系统组成
3.1硬件部分
主要由单片机系统及显示电路、超声波发射电路、超声波检测接收电路、温度补偿电路和报警电路共五大部分组成。采用AT89C51来实现对CX20106A红外接收芯片的控制。单片机通过P2.2引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
3.2软件部分
主要由主程序、超声波发生子程序、超声波接收中断程序、系统温度补偿子程序、显示子程序及危险控制模块和报警模块等部分。
4.系统硬件电路设计
4.1超声波发射电路
压电超声波转换器的功能:利用压电晶体谐振工作。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接收到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接收转换器。超声波发射转换器与接收转换器其结构稍有不同。超声波发射电路如图2所示。
图2 超声波发射电路原理图
4.2 超声波检测接收电路
参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。如图3超声波检测接收电路原理图所示,适当改变C9的大小,可改变接收电路的灵敏度和抗干扰能力。
图3 超声波检测接收电路
4.3单片机系统及其显示电路
4.3.1 51系列单片机功能及其特点
AT89C52具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。该系列单片机引脚与封装如图4所示。
图4 AT89C51引脚图
5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。 掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
4.3.2 LCD1602显示电路
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显
示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。 * 接口信号说明
1602型LCD的接口信号说明如表1所示:
表1 1602型LCD的接口信号说明
* 主要技术参数
1602型LCD的主要技术参数如表2所示:
表2 1602型LCD的主要技术参数
* 基本操作程序
读状态:输入:RS=L,RW=L,
E=H 输出:D0~D7=状态字 读数据:输入:RS=H,RW=H, E=H
输出:无
写指令:输入:RS=L,RW=L, D0~D7=指令码,E=高脉冲 输出:D0~D7=数据 写数据:输入:RS=H,RW=L, D0~D7=数据, E=高脉冲 输出:无 * 显示电路连接图
图5 LCD1602显示电路图
4.4 温度补偿电路
4.4.1 DS18B20功能简介
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽您对单片机开发的思路。 DS18B20的主要特征:
* 全数字温度转换及输出 * 先进的单总线数据通信
* 最高12位分辨率,精度可达土0.5摄氏度 * 12位分辨率时的最大工作周期为750毫秒 * 可选择寄生工作方式
* 检测温度范围为–55°C ~+125°C (–67°F ~+257°F) * 内置EEPROM,限温报警功能
* 64位光刻ROM,内置产品序列号,方便多机挂接 * 多样封装形式,适应不同硬件系统
4.4.2 DS18B20工作原理及其应用
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:
ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是
19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。
RAM 数据暂存器:用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
4.4.3 温度补偿电路原理图
图6 温度补偿电路原理图
4.5 测速电路设计
4.5.1 霍尔元件A44E简介
A44E 芯片属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18 V) ,其输出的信号符合TTL电平标准,可以直接接到单片机的I/ O 端口上,而且其最高检测频率可达到1MHz。A44E霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压信号。
4.5.2 A44E芯片引脚及功能
霍尔传感器A44E 芯片的引脚接线图见图2 所示。典型应用于无触点开关、汽车点火器、刹车电路、位置转速检测与控制、安全报警装置和纺织控制系统。霍尔传感器是一个3 端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC) 门输出,工作电压范围宽,使用非常方便。
图7 A44E芯片引脚接线图
引脚1 是电源Vcc,引脚2是地GND ,引脚3 是输出OUT。霍尔器件的工作电压不得超过规定的Vcc ,大部分霍尔开关均为OC输出。因此,输出应接负载电阻,其数值值取决于负载电流的大小,不得超负载使用。
4.6 电源电路设计
系统使用5V直流电压,设计如图8所示。通过变压器变压,再经过整流电路、滤波电路进而将交流电变为直流电,在通过稳压器LM7805得到较稳定的电压,通过两级电容对输出电压滤波后得到稳定的5V直流电压。
图8 电源电路原理图
5.系统软件设计
5.1超声波测距算法
图9示意了超声波测距的原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信
号到接收返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
图9 超声波测距原理图
距离计算公式:d=s/2=(c*t)/2,其中d为被测物与测距器的距离,s为声波的来回
路程,c为声速,t为声波来回所用的时间。图5 超声波测距原理图声速c与温度有关(见表3),如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得距离。在系统加入温度传感器来监测环境温度,可进行温度补偿。这以用DS18B20测量环境温度,根据不同的环境温度确定一声速提高测距的稳定性。为了增系统的可靠性,可在软硬件上采用抗干扰措施。
表3 不同温度超声波波速
5.2 主程序流程图
主程序首先对系统环境初始化,设置定时器,工作模式为l6位的定时计数器模式,初始化定时器0、外部中断0及LCD显示电路。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断O接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,读出计数器0中的值(即超声波来回所用的时间)。然后根据温度补偿电路测得的温度值所对应下的波速即可算得所测距离。例如所测温度为2O℃时的声速为344 m/s则有:d=(C*TO)/2=172TO/10000cm。主要程序设计流程图如图10所示:
图10 主程序流程图
5.3 温度测量流程图
用超声波测量距离需要对速度补偿,这样才能达到我们所要求的精度,因此要完成此
设计要对温度进行测量。由于DS18B20具有超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强等诸多优点。所以,在此设计中我用DS18B20测量温度。
温度补偿流程图如图11所示。
5.4 超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P2.2端口发送6个左右超声波脉冲信号(频率40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确。
超声波测距接收子程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信
号(即INT0引脚出现下降沿或低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值0,表示此次测距不成功。
5.5 系统的软硬件的调试
超声波测距的制作和调试都比较简单,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接收灵敏度和抗干扰能力。
硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情
况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。
6.设计总结
本文设计的汽车智能刹车系统采用AT89C51作为主控芯片,可以实现温度补偿的实时超声波测距,并将所测距离在LCD上显示出来,实验验证了本系统的可行性及可靠性。超声波测距系统应用于汽车安全行驶装置中,驾驶员可从LCD显示屏上一目了然知道与前车的距离,它给驾驶员的驾驶带来了非常大的方便,具有很高使用价值。为了防止传感器的发射脉冲过后的漫射波,中断在发射后延时0.1ms后打开。
因此,此测距系统最小探测距离为2cm左右,即2cm以内是系统的高盲区。该系统理论最大探测距为10m,且误差可在2cm之内。
通过本次设计,使我更加了解了单片机的运行原理,并且还知道了超声波的用途及如何运用超声波来为我们的生活服务。通过这一段时间的努力,提高了自我的学习能力及查阅资料的能力。
7.参考文献
[1] 戴日章:《基于AT89C51单片机的超声波测距系统》,电子时代杂志,2005.1 [2] 董敏学:《汽车倒车碰撞防止系统设计》,上海汽车杂志,2009.11
[3] 董子和:《超声波测距系统的建立及其在汽车防撞系统》,汽车电器,2007.12 [4] 李丽霞:《单片机在超声波测距中的应用》,电子技术杂志,2008.6 [5] 黄建兵:《超声波精确测距的研究》,南京理工大学硕士学位论文,2008.9 [6] 陈 莹:[7] 谢维成:《单片机原理与应用及[8] 沈红卫:《基于单片机的智能系统设计与实现》,电子工业出版社,[9] 朱月秀:《单片机原理与应用》,北京科学出版社,2007.6 C51程序设计》,清华大学出版社,2005.4 2009.6 2007.8
《基于单片机的超声波测距系统》,华中科技大学硕士学位论文,