毕业设计(论文)超声波测距系统的设计

上传人:仙*** 文档编号:34558423 上传时间:2021-10-21 格式:DOC 页数:57 大小:424.51KB
返回 下载 相关 举报
毕业设计(论文)超声波测距系统的设计_第1页
第1页 / 共57页
毕业设计(论文)超声波测距系统的设计_第2页
第2页 / 共57页
毕业设计(论文)超声波测距系统的设计_第3页
第3页 / 共57页
点击查看更多>>
资源描述
南昌航空大学学士学位论文目 录第一章 绪论11.1 课题背景及意义11.2 国内外发展状况和需改进的地方1第二章 超声波测距原理42.1 超声波简介42.2 超声波传感器52.3 超声测距原理62.4 盲区处理8第三章 超声波测距系统硬件设计方案论证93.1 方案一93.2 方案二93.3 方案三103.4 方案确定10第四章 超声波测距系统硬件设计思路及调试124.1 设计要求124.2 超声波测距系统的结构框图124.3 各功能模块电路介绍134.3.1 超声波产生电路134.3.2 驱动电路模块144.3.3 接收放大电路模块154.3.4 峰值检波模块164.3.5 电压比较器模块174.3.6 电平转换模块184.3.7 温度测量模块194.3.8 键盘显示电路214.4 超声波测距系统硬件调试25第五章 超声波测距系统软件设计及调试275.1 超声波测距系统程序设计流程275.1.1 主程序设计流程275.1.2 距离计算流程285.2 软件调试29第六章 超声波测距系统最终调试30第七章 总结327.1 研究结论327.2 本系统的不足和需改进的地方32参考文献33致谢34附录A 超声波测距系统硬件电路图35附录B 超声波测距系统软件程序3655第一章 绪论1.1 课题背景及意义利用超声波测量己知基准位置和目标物体表面之间距离的方法,称为超声波测距法。利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20kHz以上的机械波),借助空气媒质传播由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物性质或障碍位置的方法。由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类采用仿真技能利用超声波测距。超声波测距是一种利用声波特性、电子计数、光电开关相结合来实现非接触式距离测量的方法。它在很多距离探测应用中有很重要的用途,包括非损害测量、过程检测、机器人检测和定位、以及流体液面高度测量等。超声波测距在某些场合有着显著的优点,因为这种方法是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,因此它是一种非接触式的测量所以它就能够在某些特定场合或环境比较恶劣的环境下使用。比如要测量有毒或有腐蚀性化学物质的液面高度或高速公路上快速行驶汽车之间的距离。目前基于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。本文结合超声波精确测距的需要,分析了影响超声波测距精确的多种因素,进行了系统的硬件设计和软件设计,来有效提高超声波测距系统的精度。1.2 国内外发展状况和需改进的地方一般认为,关于超声波的研究最初起始于1876年F.Galton的气哨实验。这些年来 ,随着超声波技术研究的不断深入,在加上其具有的高精度、无损、非接触等优点,超声波的应用变得越来越普及。目前已经广泛地应用在机械制造、电子冶金、航海、宇航、石油化工、交通等工业领域。此外在材料科学、医学、生物科学等领域中也占据重要地位。国外在提高超声波测距方面做了大量的研究,国内一些学者也作了相关的研究。对超声波测距的精度主要取决于所测的超声波传输时间和超声波在介质中的传输速度,二者中以传输时间的精度影响较大,所以大部分文献采用降低传输时间的不确定度来提高测距精度。目前相位探测法和声谱轮廓分析法或二者结合起来的方法是主要的降低探测传输不确定度的方法。超声波测距精度的探讨1一文中提到测量回波用到门限值的方法来测量回波的真实时间。选取一定的门限值,接收回波的包络线大于门限值时确定为回波到达的时间。回波的第一个周期的峰值作为测量标准,以该值的75作为门限值,测出时间,由此计算出超声波真实的到达时间。此方法对第3个波近似计算为波峰的75,所以对精度要求较高的测量并不足够。超声波测距误差分析2认为收发换能器分离比一体化更减少盲区距离。提出减小盲区的改善措施可以减少发射波串的长度,发射波频率增高,波长减小,可以减少绕射,还可以用喇叭口形的聚波器束窄方向瓣。这些措施也有一定限度,例如:发射波串的长度过短将使得发射换能器激振达不到最大值或不能被激振。发射波频率加高受到换能器特性限制,同时,发射波频率加高使超声波在媒介中的衰减大幅度加剧,使作用距离下降。高精度的超声波测距系统在移动机器人导航方面的应用3提出一种比较有效的测量回波方法。它对回波包络线进行峰值检测作为回波时间点。传统的测量方法,以接收信号的幅值超过系统所规定的阈值时的时刻作为停止计时信号。时间检出点是随距离变化而变化的,这种“时间检出点”的变化就产生了距离测量的误差。针对回波信号的特点,采用峰值时间点检出方法,首先回波将经过放大、滤波后的回波信号进行线性包络检波,然后对检波的输出信号进行微分处理,最后对微分电路的输出进行零点交叉检测,即可得到回波信号的峰值时间,此时无论被测距离远近,即在回波信号包络线的峰值点。一种高精度超声波测距处理方法4提出一种基于归一化包络曲线方程的抗起伏信号处理方法。处理步骤为:1用一定的检测方法计算出方程中的起伏参数:2根据包络方程推算出回波的理想前沿;3得到准确的声波传输时间;4乘声速除2即得距离。这种方法从软件算法上计算回波时间点,过程过于复杂,有效性不清楚。不如高精度的超声波测距系统在移动机器人导航方面的应用的方法简洁。且对于本系统指令响应要求高,单片机存储空间有限,较复杂的算法并不适用于本系统。用于微地形探测的超声波测距系统5通过软件编程和硬件方法,在绕射波有效阶段封闭CPU中断申请,躲避有效干扰。此方法能解决超声波绕射问题,但是会增加盲区范围。此文论述到处理这种串绕信号一般有两种方法:(1)通过软件编程从开始发射到虚假反射波结束时清零,从而使其不会向CPU发出中断申请,即可有效躲避干扰。(2)采用74LS74A构成双D触发器,使比较后的信号仅在超声波反射时间内输出为高电平,在从发射到接收到虚假反射波这段时间内置0,从而在接收到串绕信号时也不会发出中断请求。通过这两种方法都能够有效地躲过串绕信号,但同时也会形成盲区,系统的盲区约为lOOmm左右。对于本系统并不适用。自动增益电路在超声波测距系统中的应用研究6提出自动增益补偿电路使误差控制在02mm至05mm之间,并减少测距盲区,盲区范喇为6-7cm。此方法对提高精度和减少盲区都较有效。在软件编写的动态改变发射功率时可以作参考。简而言之,综述研究现状,虽然某些研究方法仍存在不足和困难的地方,但也可看到一些优秀的测量方法,应取其精华,去其糟粕。但总的来说,论文中系统的盲区范围较大,一般有lOcm左右距离,个别较好的有4-6cm距离。根据超声波测距的原理,设计了以51单片机为核心的低成本、高精度、微型化数字显示超声波测距系统,考虑到单片机测量精度受到内部主振频率或参考频率的限制,从硬件电路设计角度出发,采用了一种单片机外部硬件扩展计数电路,通过升高计数的参考频率来提高了测距系统的计时精度,以最终提高了系统的计时精度。经过实验分析,效果良好。为了进一步提高超声波测距仪的测量精度和分辨力,又进行了设计改进,采取声速预置和媒质温度测量相结合的办法对声速进行修正,可有效地消除温度变化对精度的影响,从而提高了超声波往返时间的测量可靠性。第二章 超声波测距原理2.1 超声波简介超声波7简单的说就是音频超过了人类耳朵所能够听到的范围。一般而言是指声音超过了20KHz时称之为超声波。与光波不同,超声波是一种弹性机械波,它可以在气体、液体和固体中传播。因为电磁波的传播速度为m/ s,而超声波在空气中的传播速度为340m / s,其速度相对电磁波是非常慢的。超声波在相同的传播媒体里(如大气条件)传播速度相同,即在相当大的频率范围内声速不随频率变化,波动的传播方向与振动方向一致,是纵向振动的弹性机械波,它是借助于传播介质的分子运动而传播的,波动方程描述方法与电磁波是类似的: (2.1) (2.2)在公式中,A(x)为振幅,Ao为常数,w为圆频率,t为时间,x为传播距离,k=2/为波数,A为波长,a为衰减系数。衰减系数与声波所在介质及频率的关系为: (2.3)式中,a为介质常数,f为振动频率。在空气里,a= s2/cm,当振动的声波频率f= 40kHz(超声波)代入式(2.3),可得a= /cm,即1/=31m;它的物理意义是:在(1/a)长度上,平面声波的振幅衰减为原来的e分之一,由此可以看出,频率越高,衰减得越厉害,传播的距离也越短。声波在空气媒质里传播,因空气分子运动摩擦等原因,能量被吸收损耗。考虑实际工程测量要求,在设计超声波测距仪时,选用频率f=40kHz的超声波。二 超声波的传播速度纵波、横波及表面波的传播速度取决于介质的弹性常数以及介质的密度。1. 液体中的纵波声速: (2.4) 2.气体中的纵波声速: (2.5)式中: K-体积弹性模量 - 热容比 P-静态压力 -密度例:T=0 C,超声波在空气中的传播速度 C1=331.45m/s, C=331.45+0.61T (m/s) (2.6)式中 T:C 2.2 超声波传感器超声波传感器是近年来出现的用于超声控制元件,它分为发射器和接收器。发射器将电磁振荡转换为超声波向空间发射,接收器将接收的超声波进行声电转换变为电脉冲信号。实质上是一种可逆的换能器,即将电振荡的能量转变为机械振荡,形成超声波;或者由超声波能量转换为电振荡。常用的传感器有T40-XX和R40-XX系列,UCM-40T,UCM-40R等,其中T代表发射传感器,R代表接收传感器,40为中心频率40KHz。T/R40的特征参数如表1所示。表1 T/R40的特征参数图型号T/R40-16中心频率401KHz发射电压大于115DB接收灵敏度大于-64DB/V/ubar-6DB指向50deg电容240025%允许输入电压20V总体上讲超声波发生器可以分为两大类:1)使用电气方式产生超声波;2)是用机械方式产生超声波。电气方式包括压电型,磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各有不同,因而用途也各不相同。目前较为常用的是压电式超声波发生器,其又可分为两类: (1)顺压电效应: 某些电介物质,在沿一定方向上受到外力作用而变形时,内部会产生极化现象,同时在其表面上产生电荷;当外力去掉后,又重新回到不带电的状态,这种将机械能转换为电能的现象称顺压电效应(超声波接收器的工作原理)。(2)逆压电效应: 在电介质的极化方向上施加电场,会产生机械变形,当去掉外加电场时,电介质的变形随之消失,这种将电能转换为机械能的现象称逆压电效应(超声波发射器的工作原理)。 2、 工作原理 当40KHZ的脉冲电信号加在超声波发射器上,由压电陶瓷激励器和谐振片转换成机械振动,经锥形辐射器将超声振动信号以疏密波的形式向外发射出去。(锥形辐射器控制超声波的发射角度) 接收器在收到由发射器传来的超声波后,使内部的谐振片谐振,通过声电转换作用将电能转换为电脉冲信号,由于该电脉冲的信号幅度很小(V级)经信号放大器放大,最后驱动执行器使电路工作。常用的超声波传感器的谐振频率(即中心频率)为23KHz,40KHz,75KHz,200KHz,400KHz等,谐振频率高,在相同发射功率的前提下检测距离短,但分辨力提高。2.3 超声测距原理测距是立足于声速在既定的均匀媒介传播速度有一恒定数值,不随声波频率变化的特点。超声波测距的关键是把声源由反射到返回的传播时间计量出来,若要求测距误差小于0.01 米,那么测量时间的误差必须小于30 微秒。因此,实现声波测距须避开直接测量时间的方法,才能获得实用的测长精度。本文的硬件设计采用超声波往返时间检测法,其原理为:检测从超声波发射器发出的超声波(假设传播介质为气体),经气体介质的传播到接收器的时间即往返时间。往返时间与气体介质中的声速相乘,就是声波传输的距离。根据选择的超声波传感器的不同,其工作原理也相应有所不同。如收发一体的传感器,其工作原理图如图2.1所示;收发分体超声波传感器,其工作原理图如图2.2所示。根据图2.2通过测量发射与接受装置之间的距离 h 利用直角三角形可求得: (2.7) 而所测距离是声波传输距离的一半,即:(1) (2.8)图2.1 收发一体式换能器工作原理图图 2.2 超声波测距原理在上式中,L 为待测距离,v 为超声波的声速,t 为往返时间(其中所测量的t为超声波走过2s路程所需的时间。但由于超声波的速度比较快,在测短距离的时候,将其作为超声波走过2L路程的时间)。若要求测距误差小于1cm,已知声速v=344m/s(20时),显然,直接用秒表测时间是不现实的。因此,实现超声波测距必须避开直接测量时间的方法,才能获得实用的测长精度。对超声波传播时间的测量可以归结到对超声波回波前沿的检测。检测脉冲计数法: 脉冲检测法是对有回波信号经检测电路产生的脉冲进行检测的方法。本文采用的是脉冲检测计数法。这种方法实现起来较包络检测方便,电路实现简单,精度也较高9。实现的方法是当回波信号经放大处理后,进入比较器,调整好合适的阈值在比较器的输出端就会产生正负电平的变化,再通过三极管的截止和饱和的两种状态来产生高低电平的变化。利用查询或者中断的方法便可以检测出这些脉冲,便于测量出发射到接收到脉冲的时间。在本系统的软件设计过程中,采用的是查询方式来检测是否接收到了回波信号。2.4 盲区处理盲区处理是超声波测距的重要技术环节,盲区范围大小是衡量测距系统性能的重要指标。在利用超声波测量两点间的距离时,对近距离测量要求高,因此盲区处理更为关键。盲区的形成是为解决超声波自身绕射问题而延伸出的另一问题。虽然增大超声波换能器之间的距离能减少盲区范围,但是由于受整个系统体积所限,而且增大超声波换能器之问的距离使回波容易发散,所以本系统超声波换能器的之间距离要尽量缩小,有部分波未经反射物就直接进入到接收换能器,形成绕射现象。第三章 超声波测距系统硬件设计方案论证3.1 方案一本方案使用的单片机是stc89c52,它经济易用,且片内有8K的ROM,便于编程。在超声波产生电路的设计中,首先通过软件编程的方式由单片机的P0.0口来产生40KHz的脉冲信号,再经过三极管8050和变压器进行功率放大。在变压器副线圈上将电压10倍放大,这时在超声波传感器发射端上加载的正弦电压幅值约为100V来驱动超声波发射端UCM40T,发出40KHZ的脉冲波信号,且持续发射200us。接收端采用与发射端配对的UCM40R,将超声波调制脉冲变为交变电压信号。在接收电路中设计了前置放大、带通滤波(中心频率f0=40KHz)、自动增益控制(AGC)电路和整形电路。前置放大前置放大、自动增益控制(AGC)电路把微弱回波信号放大了200倍以上,足够满足后面整形电路的需要;带通滤波电路为滤波效果比较理想的高Q值、窄宽带的二阶带通滤波器。由于超声波回波信号随着被测距离大小的变化,其幅值变化也很大, 必须经过增益控制, 以满足整形电路的要求。实现增益随时间呈指数变化的AGC电路有多种,设计了通过软、硬件结合的AGC电路,它是由可编程放大器AD620AN 、数字电位器MAX5400 结合单片机联合实现9。3.2 方案二在此方案中,仍然采用stc89c52作为超声波测距系统的中心。但是采用555芯片来产生40KHz的超声波信号,并且通过单片机的一个I/O口来控制555芯片是否振荡。然而要想利用超声波测得的距离越远其发射功率也就需要更大,增大功率的方式有增大电流或是增大电压的方式。在驱动电路中采用的是非门CD4069构成推挽式的电流放大电路 ,通过提高CD4069的工作电压的方式来将电压增大,进而增大发射功率。在超声波接收放大模块中,采用的是专用集成芯片CX20106A,这是一款红外线检波接收的专用芯片。内部电路由前置放大器、自动偏置电平控制电路、 限幅放大器、带通滤波器、峰值检波器和整形输出电路组成,可以利用它作为超声波检测电路。接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实现准确的计时11。3.3 方案三在此方案中,采用STC989C52单片机作为超声波测距的核心部分。在超声波产生电路中,主要是利用单片的I/O口P0.4来控制555芯片的4脚。当P0.4为低电平时,555芯片不工作;当P0.4为高电平时,555芯片构成了多谐振荡器从而在3脚输出40KHz的脉冲信号。在超声波发射电路中采用的是CMOS系列的与非门CD4069构成推挽式的反向放大电路,同时也可以通过加大CD4069的工作电压的方式来进一步增大发射功率。在超声波接收放大部分,采用的一阶RC滤波电路和运放TL084构成的放大电路。由于超声波接收器接收的信号幅度为毫伏级,因此采用将接收到的信号先滤波后放大的处理方式。在放大电路的设计中,为了避免由于增益过大造成运放的自激振荡,而采用两级放大的方式,放大倍数为400多倍。然后经过峰值检波后转化为直流信号,在经过电压跟随器、电压比较电路和利用三极管的截止与饱和状态来获取所需要的电平送至单片机处理。在超声波发射的同时,启动单片机内部的定时器T0用作计数方式,利用定时器T0的计数功能记录超声波从开始发射到接收到信号的时间。当接收到超声波的反射波时,接收电路的输出端就会产生一个负跳变,即在P0.1口将由高电平变为低电平,从而来停止T1计数,然后通过相应的计算来算出所测距离并显示。3.4 方案确定超声波测距系统从理论上说是发射电压从理论上说是越高越好,因为对同一只发射传感器而言,电压越高,发射的超声功率就越大,这样能够在接收传感器上接收的回波功率就比较大,对于接收电路的设计就相对简单一些。但是,每一只实际的发射传感器有其工作电压的极限值,即当工作电压超过了这个极限值之后,会对传感器的内部电路造成不可恢复的损害。发射部分的点脉冲电压很高,但是由障碍物回波引起的压电晶片产生的射频电压不过几十毫伏,要对这样小的信号进行处理就必须放大到一定的幅度。最终达到对回波进行放大检测,产生一个单片机能够识别的中断信号作为回波到达的标志。在方案一中,采用单片机的I/O口来做超声波的产生电路,在发射超声波的同时将无法即时开启计数器来准确计算超声波从发射到接收所用的时间,这样将会带来较大的误差。另外采用变压器的方式来增大发射功率,使得加载在超声波传感器的电压为100V,而且在超声波接收电路中采用自动增益的方式,这样可以利用超声波来近距离测量以及测量较远的距离。但是在本课题的技术指标中要求的距离为4cm-4m,当采用此方案时,其发射的功率远远超出所需要的功率,造成性价比下降,而且U=100V可能超过了超声波传感器工作电压的极限值,将对传感器内部造成损伤。同时也可能会给使用者带来造成触电的危险,而且变压器的体积比较大,在使用时也会带来许多不便。在方案二中,通过使用单片机的I/O口来控制555芯片工作与否的方式来发射超声波,这就使得在计数时能够获得比方案一更准确的数据。另外还使用了专用集成芯片CX20106A和锁相环电路,使得在频率上能够很好的锁定f0=40KHz的信号,抗干扰的能力较强,但是在采用这种方案将会大大提高设计成本。而且使得设计的硬件系统更加的复杂。方案三在超声波发射电路中采用了和方案二相同的电路,只是在超声波接收部分的电路上有很大的不同。在此方案中,考虑到超声波传感器的一些特性(即只有在40KHz左右的信号能够通过传感器,其它频率信号其衰减较快),因此在滤波电路中,只是采用RC电路构成滤波电路。在信号放大模块的电路中,考虑到传感器所接收到的信号幅度为毫伏级以及运放在增益过大时容易造成自激振荡的特点,所以在设计时采用了两级放大的模式,最终放大400多倍,而且直接通过硬件就可以实现,使得在设计上比方案二较为简单。另外,通过由二极管和电容构成峰值检波电路以及运放和三极管构成电平转换电路,其实现上较为简单,成本也较低。在此方案中要求在峰值检波时要考虑延时时间的合理取值,而且在运放选择时一定要使用高速型运放,这样当接收到回波信号时,就能很快转换好,使得测量的时间较为准确。 在本系统设计过程中,经过综合考虑和比较后,最终采用了方案三来实现超声波测距硬件系统的设计。第四章 超声波测距系统硬件设计思路及调试4.1 设计要求利用超声波换能器和单片机设计一种非接触式测距仪,该装置的测量距离为4CM-4M,并且具有温度补偿、测量准确、性能可靠性等优点。1、掌握超声波传感器的工作原理并设计超声波发射器与接收器的工作电路。2、测量距离为4CM-4M,测量误差1CM。3、温度补偿范围:-20 - 500C。4、实时显示实测距离、温度。4.2 超声波测距系统的结构框图通过对方案的比较和论证及设计要求的领会,将超声波测距仪硬件设计电路分成了:超声波产生电路模块、驱动电路模块、超声波接收放大电路模块、峰值检波模块、电压比较模块、电平转换、温度补偿模块、数据采集系统控制模块和数码显示这九个模块来实现。最后制订了本次毕业设计超声波测距系统的硬件结构框图,如图4.1所示: 图4.1 超声波测距系统的基本组成计时驱动发射电路信号接收及放大电路峰值检波及电平变换单片机数据采集系统控制超声波发射器超声波接收器温度测量电路数码显示 接收 渡越 时间 按键控制发射 温度 补偿4.3 各功能模块电路介绍 4.3.1 超声波产生电路在本系统中利用555定时器构成多谐振荡器产生40KHz的超声波。图4.2为555定时器构成的多谐振荡器,复位端4由单片机的P0.4口控制,当单片机给低电平时,电路停振;当单片机给高电平时电路起振。接通电源后,电容C2来不及充电,6脚电压Uc=0,则U1=1,555芯片内部的三极管VT处于截止状态。这时Vcc经过R3和R2向C2充电,当充至Uc=2/3Vcc时,输出翻转U1 =0,VT导通;这时电容C2经R2和VT放电,当降至Uc=1/3Vcc时,输出翻转U1=1。C2放电终止、又重新开始充电,周而复始,形成振荡。其振荡周期与充电时间tPH和放电时间tPL有关,振荡周期为: (4.1) (4.2) 由公式4.2可知,555多谐振荡器的振荡频率由R2,R3,C2来确定12。在电路设计时,先确定C2,R2的取值,即C2=3300pf,R2=2.7 K。再将C2和R2的值带入公式4.2中可知:为了方便在实验过程中使得555芯片的3脚输出40KHz的信号,在这里将其用10 K的电位器代替。为了增大U1的输出功率,将555芯片的8脚接+12v的电压,同时将其复位端4接高电平,使用示波器观察555芯片3脚的输出波形,如图4.3所示。通过调节电位器R3的阻值,使其输出波形的频率为40KHz,这样就完成了超声波产生电路。图4.2 555构成的多谐振荡器电路图4.3 555芯片3脚的输出波形 4.3.2 驱动电路模块超声波驱动电路是由门电路组成的传感器振荡发射电路, 其输人信号由555定时器构成的多谐振荡器提供。超声波发射器由5个成对的CMOS反相器CD4069 驱动。输出级实际上属于全桥式接法, 使发射器有效电压增倍,电路图如图4.4所示。 在暂停发送期间,电容C3用于阻塞输人电流中的直流成分, 起到保护超声波发射器的作用。 为使发送器得到最大的能量,CD4069采用了12V电压驱动。加在超声波发射器上的信号应为0+12V 的脉冲信号。每路信号经过两个并联的非门是为了增加电流驱动能力。非门采用CMOS产品,因为其功耗小,抗干扰能力强, 驱动能力强 。该电路原理简单, 连线方便,价格又相对便宜13。同时通过在输入端加一上拉电阻R4来增大40KHz方波信号的电流,从而也增大了发射功率。上拉电流的大小为: 图4.4 超声波驱动电路4.3.3 接收放大电路模块超声波接收传感器通过压电转换的原理,将由障碍物返回的回波信号转换成电信号,由于该信号幅度较小(几到几十毫伏),因此须由低噪声放大、40kHz带通滤波电路将回波信号放大到一定幅度,使得干扰成分较少,其电路图如图4.5所示。在此电路中,为了防止在超声波接收器上始终加有一直流信号让其工作导致传感器的寿命缩短,从而加上一隔值电容C4,同时C4和R5也构成了一滤波电路。在此电路中,放大部分采用的是高速型运放TL084。在综合考虑了反相放大器、同相放大器和测量放大器的优缺点后,最终选择了同相放大电路。因为同相放大电路的理想输入阻抗Rin=,理想输出阻抗Rout=0,其带负载能力较强等诸多因素,所以选择此电路。在此电路中,根据同相放大器的闭环增益公式: (4.3)因为接收到的信号幅度为几到几十毫伏,所以需要将其放大400多倍使得其接收到的40KHz信号不会被干扰信号给掩盖。为了防止引起运算放大器的自激振荡,在第一级放大电路中,R7取值为470K,R8取值为10 K,其增益放大:在第二级放大电路中,R11和R12的取值分别为100 K、10 K,其放大增益:其两级增益:。同时根据公式4.4,计算出同相放大器的平衡电阻R6和R10,在这里R6和R10的取值均为10 K。同相放大器平衡电阻公式为: (4.4)由公式4.4可知,在图4.5中,C5和电阻R9构成了一阶滤波电路。图 4.5 接收放大电路4.3.4 峰值检波模块当信号经过了接收放大模块电路后,其输出信号V2为40KHz的交流信号。因为交流信号无法由单片机来处理,所以应将交流信号转化为直流信号。在硬件的设计中,主要是通过电解电容C7的充放电来将40KHz的交流信号转为直流信号,在本系统中采用的是由检波二极管IN60和1uf的电容来实现该功能。通过公式4.5和4.6来分别计算其充电时间1和放电时间2 。同时要求其放电时间2 25us,这样才能保证峰值检波电路将40KHz的交流信号转化成直流信号。 其峰值检波电路如图4.6所示。 (4.5) (4.6)满足设计要求。(其中RD1,RD2分别为二极管的正向导通电阻值为120)图4.6 峰值检波电路 4.3.5 电压比较器模块 超声波传感器所接收到的信号经过放大和峰值检波后变为直流信号,为了判断其是否接收到的回波信号。同时因为比较器不需要相位补偿,故适用于高速工作。为了判断超声回波信号前沿以进行渡越时间t 的测定而设置一定的门限电压,但由于每次测距的回波信号的峰值不同,当选取一定的门限电压时,如果门限值设置过高,会造成信号的漏触发,但也不能设置过低,否则会造成噪声信号的误触发。由于超声波在空气中传输时不可避免引入干扰,则比较基准电平时利用电位器调节电压,消除干扰。经过多次测量并使用示波器观察峰值检波电路的输出电平,最终将门限电压设置为1V,其实验电路如图4.7所示。在此电路中,采用TL084中的其他两个运算放大器。当超声波接收到信号时其比较器的输出电压V4为+12V;当没有接收到信号时,其比较器的输出电压V4为-12V。图4.7 电压比较电路4.3.6 电平转换模块当超声波传感器接收端接收到信号时,其比较器的输出电压为+12V;当没有接收到信号时,其比较其的输出电压为-12V。因为单片机STC89C52的高低电平为06V左右,所以比较器输出的电压不能直接送给单片机去处理。因此可以通过采用三极管的截止与饱和两种状态将12V的电压信号转化为单片机能够处理的信号,其设计电路如图4.8所示,在此电路中Vcc接5V电源。当超声波传感器的接收端接收到回波信号时,其V3的电压为+12V,这时三极管9013处于饱和状态,P0.1口的电压为低电平(0.3V左右),发光二极管点亮;当没有接收到回波信号时,其V3的电压为-12V,这时因为三极管的Ube=-12V,所以三极管处于截止状态,此时P0.1口为高电平(3.7V左右),发光二极管熄灭。其中电阻R15和R16均为限流电阻,其电流值为:。图4.8 电平转换电路4.3.7 温度测量模块在常温下,超声波的传播速度为340m / s,但其传播速度V易受到空气中温度、湿度、压强等因素的影响,其中温度的影响最大。由式子2.6可知温度每升高1,声速增加约为0.61m / s。表2为超声波在不同温度下的波速值。表2波速与温度关系表温度()-30-20-10010203040波速(m/s)313319325332338344350388由表2可见温度对于超声波测距系统的影响是不可忽略的。为了得到较为精确的测量结果,必须对波速进行温度补偿。本文采用DS18B20检测现场温度,用以实现实际波速的校准。目前,大多数温度测控系统在进行温度测量时,通常采用模拟式温度敏感元件:如热电阻、热电偶、红外测温仪等,将温度转化为电信号,经过信号放大电路放大到合适的范围,再由A /D转换器转换为数字量。此种形式的温度测量结构复杂,调试繁锁,测量精度易受元器件参数影响。DS18B20是Dallas公司开发的12W ire (单总线)高精度数字式半导体温度传感器。它具有节省系统I/O口线资源,结构简单,成本低廉,精确度高,便于总线扩展和维护等诸多优点。12W ire (单总线)是Dallas半导体公司近年推出的新技术。他将数据线、控制线、地址线合为1根信号线。单总线适用于单个主机系统,能够控制一个或多个从机设备。DS18B20抗干扰能力强,转换精度高,使用时无需标定或调试,与微处理器的接口电路简单,可方便地实现多点组网测温,给硬件设计工作带来了极大的方便。另外采用DS18B20能缩短开发周期,有效地降低成本,简化系统设计,扩展方便、占用系统I/O资源少,在多点温度检测中具有极为广泛的应用前景。DS18B20提供912位精度的温度测量,温度测量范围为- 55 + 125,在- 1085范围内,测量分辨率为0.5,增量值最小可为0.625,电源供电范围3.05.5V。将测量温度转换为12位的数字量最大需要750ms,而且DS18B20有2种供电方式:外部供电方式和寄生电源方式。采用信号线寄生供电,不需额外的外部供电,在需要远程温度探测和空间受限的场合特别有用。每个DS18B20有唯一的64位序列号,这使得可以有多个DS18B20同时在一条单总线上工作。DS18B20的测温原理如图4.9所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入,图中还隐含着计数门。当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将- 55 所对应的基数分别置入计数器1和温度寄存器中,计数器1和温度寄存器被预置在- 55 所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时温度寄存器的值将加1,计数器1的预置将重新被装入,重新开始对低温度系数晶振产生的脉冲信号进行计数。如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图4.9中的斜率累加器用于补偿和修正测温过程中振荡器温度特性的非线性,以产生高分辨率的温度测量。其输出用于修正计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单总线通信功能是分时完成的,因此他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20 (发复位脉冲) 发ROM功能命令发存储器操作命令处理数据。预置计数器1减到0斜率累加器低温度系数振荡器温度寄存器计数比较器减到0停止高温系数振荡器预置计数器2图4.9 DS18B20测温原理图 增 加超声波测距系统采用STC89S52作为控制核心,其测温系统采用的是DS18B20芯片通过P1.7口将现场温度及测量结果显示在数码管上。P1.7接数据总线,控制DS18B20进行温度转换和传输数据,同时数据总线上还要接4.7K左右的上拉电阻。本系统对DS18B20采用外部供电,从VDD引脚接入一个外部电源。其优点在于I/O线不需要强上拉,而且总线控制器无需在温度转换期间一直保持高电平。这样在转换期间可以允许在单线总线上进行其他数据传输,硬件电路如图4.10所示。图4.10 温度测量电路4.3.8 键盘显示电路HD7279 是一片具有串行接口的,可同时驱动并连接64个矩阵按键的智能显示驱动芯片。HD7279 内部含有译码器,可直接接受BCD 码或16进制码,并同时具有两种译码方式。此外,HD7279A 还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等,并且具有片选信号,可方便地实现多于8 位的显示或多于64键的键盘接口,HD7279的引脚说明如表3所示。HD7279A的控制指令分为二大类:纯指令和带有数据的指令。1复位(清除)指令A4H当HD7279A收到该指令后,将所有的显小清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。 表3 HD7279引脚说明引脚名称说明1,2VDD正电源3,5NC无连接,必须悬空4VSS接地6CS片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7CLK同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效8DATA串行数据输入输出端,当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在读指令最后一个时钟的下降沿变为输出端9KEY按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平10-16SG-SA段g-段a驱动输出17DP小数点驱动输出18-25DIG0-DIG7数字0-数字7驱动输出26CLKO振荡输出端27RCRC振荡器连接端28RESET复位端2下载数据但不译码(如表4所示)表4 下载数据的控制字和数据存放其中,a2 , a 1 , a0为位地址(参见下载数据A译码指令),A-G和DP为显小数据,分别对应7段LED数码竹的各段。数码竹各段的定义见下图。当相应的数据位为1时,该段点亮,否则不亮。3闪烁控制88H (如表5所示)表5 闪烁控制字的存放此命令控制各个数码竹的闪烁属性。d1- d8分别对应数码竹1-8,0=闪烁,1=不闪烁。开机后,缺省的状态为各位均不闪烁。4读键盘数据指令15H(如表6所示)表6 键盘数据指令存放该指令从HD7279A读出当前的按键代码。与其它指令不同,此命令的前一个字节00010101B为微控制器传送到HD7279A的指令,而后一个字节d0-d7则为HD7279A返回的按键代码,其范围是0-3FH(无键按下时为OxFF)。此指令的前半段,HD7279A的DATA引脚处于高阻输入状态,以接受来自微处理器的指令;在指令的后半段,DATA引脚从输入状态转为输出状态,输出键盘代码的值。故微处理器连接到DATA引脚的I/O 口应有一从输出态到输入态的转换过程。当HD7279A检测到有效的按键时,KEY引脚从高电平变为低电平,并一直保持到按键结束。在此期间,如果HD7279A接收到读键盘数据指令,则输出当前按键的键盘代码;如果在收到读键盘指令时没有有效按键,HD7279A将输出FFH(11111111B)。HD7279A采用串行方式与微处理器通讯,串行数据从DATA引脚送入芯片,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK引脚的上升沿被写入HD7279A的缓冲寄存器。HD7279A的指令结构有二种类型:1、不带数据的纯指令,指令的宽度为8个B IT,即微处理器需发送8个CLK脉冲。2、带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲。3、读取键盘数据指令,宽度为16个B IT,前8个为微处理器发送到HD7279A的指令,后8个BIT为HD7279A返回的键盘代码。执行此指令时,HD7279A的DATA端在第9个CLK脉冲的上升沿变为输出状态,并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令,其串行接口的时序如图4.11所示。HD7279A应连接共阴式数码管。应用中,无需用到的键盘和数码管可以不连接,省去数码管或对数码管设置消隐属性均不会影响键盘的使用。 如果不用键盘,则典型电路图中连接到键盘的8只10K电阻和8只100K下拉电阻均可以省去。如果使用了键盘,则电路中的8只100K下拉电阻均不得省略。除非不接入数码管,否则串入DP及SA-SG连线的8只200。电阻均不能省去。图4.11 串行接口的时序图实际应用中8只下拉电阻和8只键盘连接位选线DIGO-DIG7的8只电阻(以下简称位选电阻),应遵从一定的比例关系,下拉电阻应大于位选电阻的5倍而小于其50倍,典型值为10倍;下拉电阻的取值范围是10K-100K,位选电阻的取值范围是1K-10K在不影响显小的前提下,下拉电阻应尽可能地取较小的值,这样可以提高键盘部分的抗干扰能力。因为采用循环扫描的工作方式,如果采用普通的数码管,亮度有可能不够,采用高亮或超高亮的型号,可以解决这个问题。数码管的尺寸,亦不宜选得过大,一般字符高度不宜超过1英寸,如使用大型的数码管,应使用适当的驱动电路。HD7279A需要一外接的RC振荡电路以供系统上作,其典型位分别为R=1.5K,C=15pF。如果芯片无法正常上作,请首先检查此振荡电路。在印刷电路板布线时,所有元件,尤其是振荡电路的元件应尽量靠近HD7279A,并尽量使电路连线最短。HD7279A的RESET复位端在一般应用情况下,可以直接与正电源连接,在需要较高可靠性的情况下,可以连接一外部的复位电路,或直接由MCU(单片机)控制。在上电或RESET端由低电平变为高电平后,HD7279A大约需要经过18-25MS的时间才会进入正常工作状态。上电后,所有的显示均为空,所有显示位的显示属性均为显示及不闪烁。当有键按下时,KEY引脚输出变为低电平,此时如果接收到读键盘指令,HD7279A将输出所按下键的代码。键盘代码的定义,请参阅图2及典型应用电路图,图中的键号即键盘代码,图中代码以10进制表示。如果在没有按键的情况下收到读键盘指令,HD7279A将输出FFH(255)。程序中,尽可能地减少CPU对日D7279A的访问次数,可以使得程序更有效率。因为芯片直接驱动LED数码竹显小,电流较大,目为动态扫描方式,故如果该部分电路电源连线较细较长,可能会引入较大的电源噪声干扰,将HD7279A的I1,负电源端上并入去耦电容可以提高电路的抗干扰能力。注意:如果有2个键同时按下,HD7279A将只能给出其中一个键的代码,因此HD7279A不适于应用在需要2个或2个以上键同时按下的场合。图4.12 HD7279键盘及显示电路在电路连接中将单片机的P1.0P1.2分别接7279的片选端、时钟输入端、串行数据输入/输出端。由于按键的编程采用的是查询的方式,按键有效输入端可以不接。4.4 超声波测距系统硬件调试通过对系统的各个模块电路进行检测,发现无误后将其按硬件结构框图连接起来。首先将555芯片的复位端4脚接高电平,用示波器观察其输出端3脚的波形,发现其输出波形的尖峰很大。在检查了发射部分的电路后,在电源两端加上一个0.1uf和一个22uf的电解电容。通电再次用示波器观察555多谐振荡器的输出,发现其尖峰明显减少,其输出波形如图4.3所示。其次通过调节R3的电阻值,使得其输出脉冲的频率为40KHz。在调好了超声波产生电路后,用示波器观察超声波传感器发射端的波形,发现其两端的波形的频率为40KHz。在调好超声波发射电路后,接下来调超声波接收部分的电路。首先通过用函数信号发生器在超声波传感器的接收端输入一幅度为50mv,频率为40KHz的正弦信号,然后用示波器观察一级放大后和二级放大后的波形,发现其波形的幅度能够增大470倍。其次观察峰值检波后的信号波形,发现将交流信号整为直流后,其直流电压为12V左右波动。再调整R13的电阻值,使得比较器的基准电压为1V,同样观察信号经过比较器后的波形为+12V,发光二极管点亮,此时P0.1端输出的电压为低电平。在确定超声波接收端的放大电路、峰值检波电路、电压比较电路和电平转换电路都能正常工作之后,将超声波发射端和超声波接收端的电路通电工作。首先,用书在离超声波传感器10cm将其挡住,检测第一级放大器的输入信号,发现能够正常工作,在检测第二级放大器的输入信号也能正常工作;其次检查峰值检波电路的输出信号,发现其变化较快,在112V内跳动,发光二极管能够点亮。然后,在将书远离超声波传感器,发现当将书离传感器30cm时,二极管熄灭了。检测各点的信号,发现超声波接收器没能接收到信号。检查发射端,仍然在发射超声波。最后将555芯片的工作电压提高到12V,非门CD4069的工作电压提高到12V,其测量距离增加。第五章 超声波测距系统软件设计及调试5.1 超声波测距系统程序设计流程5.1.1 主程序设计流程本系统以单片机STC89C52为核心(其晶振频率为6MHz),实现对各部分的控制和响应。本软件程序在keil vision2软件编程环境下,根据超声波测距的公式2.8采用汇编语言将其分为主程序、温度测量及速度补偿子程序、滤波子程序、距离计算子程序和显示子程序子个模块,其中主程序完成超声波发射控制和计数功能。在这些程序中,以温度测量及速度补偿子程序和距离计算子程序为核心。测距软件程序的基本流程: 开机运行后显示友好画面HELLO; 温度测量及速度补偿子程序;判断是否按下了超声波发射按钮,若没有键按下则返回执行第步;若按下, 将555多谐振荡器的复位端4脚置高电平发射超声波,开启计数器计时,待回波进入接收电路,经放大、比较和电平转换等硬件处理后输出一列负脉冲,送给单片机处理,停止发射超声波和T1计数并将计数值存储起来,然后返回从第步开始执行,重复以上流程直到满足测量次数为止,并进行滤波处理(在其中通过延时20us的方式,对超声波测距进行盲区处理);在计数值经过滤波处理后,乘上计数脉冲的宽度及经过温度补偿后的超声波速度除以2来计算最后
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!