超声波测距系统设计.docx
- 文档编号:14575147
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:28
- 大小:472.42KB
超声波测距系统设计.docx
《超声波测距系统设计.docx》由会员分享,可在线阅读,更多相关《超声波测距系统设计.docx(28页珍藏版)》请在冰点文库上搜索。
超声波测距系统设计
超声波测距系统设计
论文题目:
超声波测距系统设计
摘要
超声波具有不受外界光及电磁场等因素的影响的优点,超声波测距作为一种有效的非接触式测距方法已被应用于多个领域。
本设计采用渡越时间法,硬件系统分为发射模块、接收模块、显示模块、中央处理模块四个部分。
本设计采用STC89C52单片机作为微型中央处理器并由软件实现40kHz脉冲经放大电路从超声波发射探头T-40发射出超声波,接收探头R-40收到声波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接收的时间差和声速计算出距离。
本系统使用四位共阳极LED数码管显示距离,能实时显示即时距离。
经测试,在30cm~200cm范围内,误差能控制在2cm以内。
根据实验数据进行了误差分析,并提出了解决方案,最后对超声波测距技术的发展进行了展望。
通过系统的调试和测试,本设计基本完成了设计要求。
【关键词】单片机,超声波,测距,渡越时间法;
【论文类型】应用型
Title:
Thedesignofultrasonicdistancemeasurementsystem
Major:
ElectronicandInformationEngineering
Name:
ZhangYankunSignature:
_______
Supervisor:
ZhangXiaoliSignature:
_______
ABSTRACT
Theadvantagesofultrasoundwithouttheinfluenceofoutsidelightandelectromagneticfieldsandotherfactors,ultrasonicdistancemeasurementasaneffectivenon-contactdistancemeasurementmethodhasbeenusedinmanyfields.
Thisdesignusesthetransittimemethod,thehardwaresystemisdividedintotransmittermodule,receivermoduleanddisplaymodule,thecentralprocessingmodule.ThisdesignusesamicrocontrollerSTC89C52asmicrocentralprocessingunitand40kHzpulsebythesoftware,TheultrasonicemissionfromtheultrasonicprobetheT-40viatheamplifiercircuit.AcousticreceivedbyprobeR-40,viatheintegratedchipCX20106Aamplifying,filteringandshapingandsenttothemicrocontrollercomputing,calculatethedistancebythetransmitandreceivetimeandthespeedofsound.ThedesignusesfourcommonanodeLEDdigitaldisplaythedistancevalue,toprovideuserswithaveryintuitiveinterface.
Beentestedwithintherangeof30cm~200cm,theerrorcanbecontrolledatlessthan2cm.Accordingtotheexperimentaldataandanalyzedtheerror,andproposedsolutions,thedevelopmentaldirectioninultrasonicrangingwerealsopresentedatlast.Bysystematicdebuggingandtesting,thedesignbasicallycompletedthedesignrequirements.
【Keywords】microcontroller,ultrasonic,range,transittimemethod
【TypeofThesis】Applied
前言
随着传感器和单片机控制技术的不断发展,非接触式检测技术已被广泛应用于多个领域。
目前,典型的非接触式测距方法有超声波测距、CCD探测、雷达测距、激光测距等。
其中,CCD探测具有使用方便、无需信号发射源、同时获得大量的场景信息等特点,但视觉测距需要额外的计算开销。
雷达测距具有全天候工作,适合于恶劣的环境中进行短距离、高精度测距的优点,但容易受电磁波干扰。
激光测距具有高方向性、高单色性、高亮度、测量速度快等优势,尤其是对雨雾有一定的穿透能力,抗干扰能力强,但其成本高、数据处理复杂。
与前几种测距方式相比,超声波测距可以直接测量近距离目标,纵向分辨率高,适用范围广,方向性强,能量消耗缓慢,在介质中传播的距离较远且操作简单,并具备不受光线、烟雾、电磁干扰等因素影响,对环境有一定的适应能力,且覆盖面较大等优点。
这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,利用超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
然而超声波测距也有其局限性,超声波传播波速不恒定、回波信号幅值随传播距离增大呈指数规律衰减、有盲区、超声波的旁瓣影响、混响信号干扰、超声波探测器测量分辨力和探测角度范围的矛盾等局限性。
所以目前研究主要是降低现有测距方法的误差和寻找新的超声波测距方法。
超声波测距方法主要有可变阈值检测法、相位检测法、声波幅值检测法和渡越时间法四种。
通过系统论证,本设计最终确定采用渡越时间法。
渡越时间法就是通过检测发射超声波与接收回波之间的时间差t,求出目标障碍物距信号发射源的距离d,计算公式为:
d=vt/2,其中,v为超声波波速(m/s)。
本论文研究了超声波测距原理以及各种超声波测距系统的优缺点,确定了本设计所采用的方案。
文中确定了发送模块、接收模块、显示模块、中央处理模块构成整个系统,并确定了各个模块实现所使用的芯片,软件设计部分描述了各个模块程序流程图和主要程序。
制作硬件并检测调试。
最终得到实验结果并对误差进行了分析,提出减小误差的方法和方案。
附录部分提供了本论文所使用的硬件电路和软件代码。
1方案选择
1.1相位法超声波测距
相位法超声测距是利用发射波和被目标反射的接收回波之间声波的相位差包含的距离信息来实现对被测目标距离的测量,同时,可以通过变换调制信号的频率来改变相位差对距离的细分尺度,来提高精度和改变量程。
1.1.1测量原理
设在起始时刻
发射的超声波的强度为:
实际波为方波,这里为方便公式说明用正弦波举例。
接收时刻调制波的强度为:
,
则接收与发射时刻的相位差为:
,
时间差为:
,
根据时间和相位的关系,待测距离
可以转换为:
其中,
为待测距离;
为超声波传播速度;
为超声波波长;
为相位传播延迟中的中周期数;
为相位延迟中不足一周期的相位差值。
可以利用计数器测出
值,而
则需应用相位比较器计算出。
1.1.2系统硬件原理框图
设计出超生波测距系统硬件原理框图1-1:
图1-1
1.1.3基于相位法双频超声波测距
双频超声波测距法是发射二个频率不同的猝发声波,测定与这二个猝发声对应的回波信号的相位,根据所测相位进行测距的一种高精度的超声波测距方法。
本方法同时使用二个回波的相位以及包络信息,排除了以
为周期的相位上的不确定性。
基本原理是使用两个不同频率的波形的发射与接收波的相位差的差的变化函数来代替单个频率的波形相位差的变化,如下式
式中,
为两种频率波形的初始相位.
为两种频率接收波形的相位,
为两种频率波形相位差的差的变化函数,这样做的好处是,既有使用高频率超声波的良好的方向性与反射性,同时由于
的周期相对于单个波形的相位差变化函数的周期更大,这样能增大相位差对距离的细分尺度,从而得到更精确的测量结果。
基于以上双频超声波测距原理,本系统设计的思路是采用两个相对独立的相位法测距电路,分别比较出两个不同频率的波形的相位差,然后将两个相位差提供给MCU,由MCU中事先写入的程序来计算出两种波形相位差的差,为了得到所测距离L的大概值,解决相位法中的
解的不确定性,会需要用到单片机中的定时器。
另外,显示部分也是由MCU来完成。
由于整个过程并没有过大的运算量,基于经济性和易用性考虑,单片机选用AT89C52单片机。
在接收部分中,由接收探头接收的波形经过前置放大后,经由滤波器滤波,使用的滤波器选用MAX275。
当为了改变量程而改变超声波的频率时,由于MAX275组成不同的滤波器需要不同的外接电阻,所以若需要实现较大的量程覆盖,可能需要一组以上的MAX275组成不同的滤波器实现滤波。
在相位比较电路中,把信号源输出的正弦信号和接收端得到的正弦信号分别转化为方波信号A和B,将A、B输入具有很强抗噪能力的异或门,如图1-2所示:
图1-2
当输入波形a和b之间的相位差变化的时候,输出波形的占空比随之发生变化,通过积分电路可得到输出波形的平均电平。
根据输出波形的平均电平和相位差的一一对应关系,可得到相位差与输出平均电平的曲线。
如图1-3所示:
图1-3
1.2渡越时间检测法
1.2.1单频渡越时间法
本设计方案中使用的渡越时间检测法原理是,在由单片机发出驱动信号的同时,开启单片机中的计时器,开始计时。
发射探头发射出超声波,在由接收探头接收到第一回波的同时停止单片机计时器的计时,由于超声波在空气中的速度已知,根据公式
即可求得探头与待测目标之间的距离。
测量原理如图1-4所示
图1-4
通常的计算是默认上图中
在两个探测头T和R的距离M较小时,这样默认并没有错,但当测量距离较小时,或者距离M较大时,
的式子便不再适用,为了进一步降低测量误差,应该在编程时,将距离计算公式写作
,而且,可以在较短时间内多次发出超声波测量,完成后计算平均值然后显示。
1.2.2双频渡越时间法
由于空气对超声波的吸收与超声波频率的平方成正比,因此用来测距的超声波的频率就不能很高。
另一方面频率越低,波长越长,测距的绝对误差就越大。
所以,测距的范围加大与测量精度实际上是一对矛盾。
为了解决这一矛盾,我们引入了已被广泛用于海洋测深方法中的双频超声波探测技术,使其用于空气中的测距及定位。
其原理是:
同时发射两个频率分别为fL和fH的双频超声波,由于fH的波长较短,绝对测量精度高,而空气对它的吸收大,所以用于近距离测距(比如5m以内),而fL波长较长,绝对精度低,但是空气对它的吸收要小很多,可以达到较远的目标(比如5~20m),由于这个范围绝对距离较长,因此可以保证在整个测距范围内相对精度一致。
1.3其他几种测距或测厚方法
1.3.1共振法
共振法是利用超声波在介质中的多次反射而形成的共振,通过测定几个共振频率的差来测量厚度。
这是一种高精度的测距方法。
但这种方法必须事先知道发射换能器和目标之间超声波传播的介质中存在有二个以上的共振频率。
1.3.2往复法
往复(sing—around)法是利用由介质层返回的回波去触发下一次信号的发射,这样反复触发并记录触发的次数,在一定的时间内,目标的厚度就是触发次数的函数。
显然,要想提高测量精度,必须进行较多的触发计数。
然而,较多的触发计数的代价就是延长了测量时间。
1.3.3多重相位法
多重相位法是将超声波利用另一个频率较低的信号进行幅度调制,而后发出调幅波,接收调幅波及其二个不同频率的信号的相位差,以这个相位差为依据,计算传声介质的厚度或距离。
这种方法通过提高调制频率可以提高测量精度,当然也存在相位上以
为周期的不确定性。
这种方法不适用于收发合置的声学系统。
相位比较法同样也存在以
为周期的不确定性,同时还存在由于三次回波而形成干涉的影响。
1.3.4频域的谱分析法
频域的谱分析法是利用回波的频域变换技术的测距方法,可用利用回波的频谱特性,也可以利用相位特性,或者二者兼有。
这种方法可用到达比较高的精度。
但是,必须对回波进行A/D变换并进行FFT分析等运算,因此要求系统具备实时FFT运算功能。
1.4方案选择
通过分析,相位法虽然能较精确的测得距离,但其系统复杂,实现起来较为困难。
渡越时间法无论是硬件还是软件实现都比较容易,如果加上温度补偿电路等改进措施后,能达到比较高的测量精度,可以满足本次设计的要求。
其他几种测距方法都有各自的要求或局限性,实现并不容易。
所以,最终选择渡越时间法作为最终方案。
2系统硬件设计
2.1主要技术指标
量程:
30~200cm;
电源:
5VDC;
超声波频率:
40kHz;
测量误差:
±2cm;
显示方式:
数码管显示。
2.2系统设计框图
本系统采用STC89C52单片机作为中央处理器,超声波发射40kHz脉冲由单片机软件实现从P1.0口发出,采用单片机内部定时器进行计时和控制。
超声波接收部分使用CX20106A作为接收主控制芯片,收到信号后输出端输出低电平给INTT0口,接收成功,停止计时。
显示部分采用四位LED数码显示管显示距离。
超声波测距器的系统框图如图2-1所示
接收探头
驱动电路
发射探头
数码管显示
AT98C51单片机(计时及计算)
信号放大,脉冲整形,带通滤波
发射
接收
确认收到回波
单片机产生40KHz方波信号
最终测量结果
图2-1
2.3超声波发射电路
单片机软件实现发送40kHz信号,从P1.0发送到驱动电路,驱动电路有两种,分别是采用反相器74LS04和三极管9012放大驱动,使超声波发射探头共振,发出40kHz的超声波信号。
本次设计采用的是后者。
2.3.1采用74LS04驱动发射电路
发射电路主要由反相器74LS04和超声波探头构成,单片机P1.0端口输出40kHz的方波信号,一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相器后送到超声波换能器的另一端,用这种形式可以提高超声波的发射强度。
输出端采用两反相器并联,用以提高驱动能力。
上拉电阻一方面提高反相器74LS04输出高电平的驱动能力,另一方面可以增强超声波换能器的阻尼效果,缩短其自由振荡时间。
电路原理图如图2-2所示。
图2-2
2.3.2采用9012三极管驱动发射电路
该电路超声波发送模块是使用9012三极管做为驱动放大,超声波换能器一段接P1.0口,另一端接集电极,R8提高驱动能力,通过调试电阻可以加大超声波的发射功率,从而提高测距距离。
电路如图2-3所示。
图2–3超声波发射电路
2.4接收电路
CX20106A是日本索尼公司生产的红外遥控系统中作接收预放用的双极型集成电路,可用来代换多种型号的遥控接收集成电路。
集成电路CX20106A可用来完成信号的放大、限幅、带通滤波、峰值检波和波形整形等功能。
可以保证在超声波传感器接收较远反射信号输出微弱电压时,放大器有较高的增益,在近距离输入信号强时放大器不会过载;其带通滤波器中心频率可由芯片脚5的外接电阻调节,不需要外接电感,可避免外磁场对电路的干扰,可靠性较高。
当超声波接收头收到发射信号时,便通过CX20106进行前置放大、限幅放大、带通滤波、峰值检波和比较、积分及施密特触发比较得到解调处理后的信号。
7脚为信号输出口,没收到信号时为高电平,收到后变为低电平,之后又恢复高电平。
图2–4超声波接收电路
2.5显示电路
显示电路采用4位共阳极数码管显示。
用74LS07和74LS245驱动数码管,并连接到单片机STC89C52的P2.0~P2.3口上作位选,P0.0~P1.7口做段选。
电路如图2-5所示。
图2-5
3超声波测距系统软件设计和仿真
3.1总体设计
超声波测距系统软件设计主要有主程序、超声波发射子程序、超声波接收中断子程序及显示子程序。
3.1.1主程序
首先对系统初始化,设置定时器的初值和工作方式,使总中断允许位=1,并给显示端口清0,启动计时器,然后调用超声波发生子程序由P1.0脚发出40kHz的驱动信号,为避免超声波从发射器直接传送到接收器引起的直接波触发,需要延时一段时间后才打开INT0中断,并且开始等待接收到的回波和中断信号,若接收到回波(INT0引脚出现低电平),计时器停止计时,保存时间信息,计算出当前距离后储存,并调用显示子程序,结果将以十进制BCD码方式传送到LED显示,然后再发超声波脉冲重复测量过程。
晶振为12Mhz,所以机器周期为1微秒。
主程序流程图如图3-1所示:
开始
调用显示子程序,显示距离
超声波发射,计时开始
计算路程时间
初始化
开始等待接受回波
N
Y
图3-1
3.1.2超声波发射子程序
本设计由软件产生40kHz的驱动信号:
voidfasong(uchargs)
{
while(gs--)
{
P1_0=1;
nop();nop();nop();nop();
nop();nop();nop();nop();
P1_0=0;
nop();nop();nop();
nop();nop();nop();nop();
}
P1_0=0;
}
3.1.3超声波接收中断程序
超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序,然后立即关闭计时器停止计时,并将测距成功标志字赋值1。
如果当计时器溢出时还未检测到超声波返回信号,则定时器溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示此次测距不成功。
然后读取计数器中的值,取20℃时的声速344m/s,则由D=c·t/2可以计算出被测物体与测距仪之间的距离。
3.1.4显示子程序
本设计采用共阳极7段LED数码管显示,显示子程序如下所示:
voidzhuanhuan()//转换程序
{
qw=time/1000;
bw=time%1000/100;
sw=time%100/10;
gw=time%10;
}
voidxianshi()//显示程序
{
P2=0x01;P0=shu[qw];delay(20);
P2=0x02;P0=shu[bw];delay(20);
P2=0x04;P0=shu[sw];delay(20);
P2=0x08;P0=shu[gw];delay(20);
}
3.2系统仿真
在Proteus中根据超声波发射硬件电路搭建系统,由于个别元件在Proteus元件库中没有,用其他的方式代替。
如:
74LS07用74HC07代替;发射探头部分用示波器,便于查看T-40两个引脚的信号;接收部分用一个开关代替,两端分别连接INT0和地。
将程序在Keil中编译,并输出.hex文件,将其放入Proteus电路中的单片机里,进行仿真,电路如图3-2,图3-3所示:
图3–2仿真电路图
图3–3发射探头引脚波形仿真
4系统测试
4.1软件和硬件测试
将元器件焊接到万用板上,焊接的时候尽量不要长时间焊接某一管脚,否则元器件会由于温度过高坏掉或工作不稳定,检查是否有短路,虚焊,元器件有没有接反。
由于设计时并没有安排下载部分,所以用专用的下载器进行程序的烧录。
无误后,将单片机安装上,接通电源。
测试LED数码管是否显示正常(通过烧录到单片机中的显示程序);
测试超声波发射是否正常,方法是在发射探头前放置一根点燃的蜡烛,若蜡烛的火焰有有规律的抖动,则超声波正常发射(把耳朵贴到发射探头,可以听到“咔咔”的声音)。
开始的时候P1.0发射2个约40K的脉冲,但是测距范围最远只能达到50cm,开始以为是发射功率不够,于是调整发射驱动电路中的电阻和接收电路CX20106A引脚5的外接电阻,虽然有点提高,但效果不是很大,根本达不到系统设计要求。
再看软件,发现当把发送脉冲数调高的时候可以提高测距范围,显然这也会带来更多的误差,不过可以达到系统要求。
4.2系统测量
测量距离选取50cm、75cm、100cm、125cm,150cm、175cm六个不同距离进行测量。
测量时,将测量仪放置于距离地面50cm高度的地方,正前方面对一面平整的墙。
每种不同的距离测量5次。
结果如表-1所示。
表-1
实际距离(cm)
5次测量距离(cm)
50.0
48.5
48.8
48.7
48.6
48.7
75.0
73.8
74.1
73.7
74.2
73.9
100.0
98.9
98.8
98.8
98.8
98.9
125.0
123.5
123.9
123.8
123.6
123.9
150.0
148.1
148.4
148.0
148.1
148.1
175.0
173.4
173.8
173.5
173.5
173.4
5结论
5.1数据的误差分析
测量结果和实际距离有误差,经分析,误差可能来源一下几个方面:
(1)超声波发射与接收探头和被测点位置存在着一个很小的角度,这个角度会影响测量距离。
(2)由于P1.0发射多个脉冲,接收端接收到的可能不是第一个回波,所以会增加误差。
(3)由于没有温度检测电路,超声波在不同的温度下传播速度不同,所以受温度影响,测量距离和实际距离会有误差。
、
(4)信号在电路中传播会有延时,也会影响测量结果。
(5)系统软件算法不够精准,单片机精度不高。
5.2总结
本次设计基于51单片机和超声波实现了30~200cm范围内测距,采用渡越时间法,硬件系统分为发射模块、接收模块、显示模块、中央处理模块四个部分。
由软件实现40kHz脉冲经放大电路从超声波发射探头T-40发射出超声波,接收探头R-40收到声波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接收的时间差和声速计算出距离。
本系统使用四位共阳极LED数码管显示距离。
本次设计的实验结果精度不是很高,若想得到更精确的测距方法,可以采用相位法或双频超声波测距方法,或者寻找更精确的算法。
不过系统会更复杂,对各个模块要求会更高。
5.3超声波测距研究趋势的展望
超声波测距作为非接触式检测技术的典型方法之一,以其独特的优势和广阔的发展前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)