为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

超声波测距仪的设计

2017-10-20 50页 doc 188KB 20阅读

用户头像

is_594905

暂无简介

举报
超声波测距仪的设计超声波测距仪的设计 I 超声波测距仪的设计 I 摘要:超声波测距应用十分广泛。论文在分析可行性、可靠性的基础上,参照工程设计方法,确立了结构化设计的思路。本文设计了一套超声波检测系统,该系统是一种基于AT89C51 单片机的超声波测距系统,它根据超声波在空气中传播的反射原理, 以超声波传感器为接口部件, 应用单片机技术和超声波在空气中的时间差来测量距离。该系统主要由主控制器模块、超声波发射模块、超声波接收模块和显示模块等四个模块构成。设计利用51单片机系统的I/O口,使超声波传感器发出40KHz的超声波,反射回来的超声...
超声波测距仪的设计
超声波测距仪的设计 I 超声波测距仪的设计 I 摘要:超声波测距应用十分广泛。论文在分析可行性、可靠性的基础上,参照工程设计方法,确立了结构化设计的思路。本文设计了一套超声波检测系统,该系统是一种基于AT89C51 单片机的超声波测距系统,它根据超声波在空气中传播的反射原理, 以超声波传感器为接口部件, 应用单片机技术和超声波在空气中的时间差来测量距离。该系统主要由主控制器模块、超声波发射模块、超声波接收模块和显示模块等四个模块构成。设计利用51单片机系统的I/O口,使超声波传感器发出40KHz的超声波,反射回来的超声波信号,经过放大和整形电路进入单片机,比较调试后确定其对应的距离,完成测距。可实现3米内测距,盲区7厘米,具有LCD显示功能。 关键词:超声波;超声波传感器;AT89C51单片机;LCD显示单元;测距仪 II Abstract: The ultrasonic ranging application is extremely widespread. After the feasibility and reliability has been analysised, the structure design technique was established. This article introduces an ultrasonic distance measurement based on the AT89C51 single-chip computer, the system according to ultrasound in the air reflection principles of the dissemination. And it uses the ultrasound sensor as interface components for the application of the distance measure based by single-chip computer technology and the margin of time that ultrasound transmit in air, thereby the systems of design of ultrasonic test comes into being. The system primarily composed by the four modules : the controller module,ultrasonic launch module, ultrasound receiving module and display modular. The I/O ports of the 51 single-chip computer were used to cause the ultrasonic transducer to send out the 40kHz ultrasonic wave. The reflected signal enter the 51 after the enlargement and feedback circuit, and the system will complete the range finder by debugging the corresponding distance. This design can realize 3 meters in range finders, with the 7 centimeters blind spot, The system have the LCD demonstration. Keywords: ultrasonic, ultrasonic sensor, AT89C51 single-chip computer, LCD display unit, range finder III 目 录 第1章 绪 论 ............................................................................................................... 1 1.1课背景 .............................................................................................................. 1 1.2 论文研究内容 ...................................................................................................... 3 1.2.1 研究内容 ................................................................................................... 3 1.2.2各章节主要内容 ........................................................................................ 4 第2章 系统的总体设计 ........................................................................................ 5 2.1 超声测距理论基础 .............................................................................................. 5 2.1.1超声波介绍 ................................................................................................ 5 2.1.2 超声波传感器 ........................................................................................... 5 2.1.3 传感器的指向角θ..................................................................................... 7 2.1.4 测量盲区 ................................................................................................... 8 2.2 超声波测距原理 .................................................................................................. 9 2.3 超声测距系统组成 ............................................................................................ 10 2.3.1 系统的收发过程 ..................................................................................... 10 2.4方案比较 ............................................................................................................ 11 2.4.1 超声波频率及探头的选用 ...................................................................... 11 2.4.2 发射模块 ................................................................................................. 11 2.4.3 接收模块 ................................................................................................. 11 2.4.4温度补偿 .................................................................................................. 12 2.4.5 显示模块 ................................................................................................. 13 2.4.6 电源模块 ................................................................................................. 13 2.4.7 通信接口选择 ......................................................................................... 13 2.5系统的总体构想 ................................................................................................. 14 2.6 本章小结 ........................................................................................................... 14 第3章 系统硬件设计 .................................................................................................... 15 3.1 系统工作的过程 ................................................................................................ 15 3.2 主控制电路 ........................................................................................................ 15 3.2.1 AT89C51单片机 ............................................................................................. 16 IV 3.2.2 时钟振荡器 ............................................................................................. 17 3.2.3 复位电路 ................................................................................................. 17 3.3 串行通信接口 .................................................................................................... 17 3.3.1 RS-232电气特性 ..................................................................................... 18 3.3.2 RS-232连接器机械特性.......................................................................... 18 3.3.3 数据发送电路 ......................................................................................... 19 3.4发射电路设计 ..................................................................................................... 20 3.4.1 555振荡器 .............................................................错误~未定义书签。23 3.4.2 共射极放大电路 ...................................................错误~未定义书签。24 3.5接收电路设计 ..................................................................................................... 20 3.5.1 CX20106工作原理分析 ........................................错误~未定义书签。26 3.6 电源电路设计 .................................................................................................... 24 3.7 LCD显示电路 .................................................................................................... 24 3.7.1 LCD接口协议 ......................................................................................... 24 3.8 温度测量 ........................................................................................................... 25 3.9本章小结 ............................................................................................................ 26 第4章 系统程序设计 .................................................................................................... 27 4.1软件功能模块的划分 ......................................................................................... 27 4.2 主程序的分析设计 ............................................................................................ 27 4.3 外部中断程序 .................................................................................................... 28 4.4 T0中断子程序 ................................................................................................... 29 4.5 温度校正 ........................................................................................................... 30 4.6 本章小结 ........................................................................................................... 30 第5章 调试过程 ........................................................................................................... 31 5.1 调试环境 ........................................................................................................... 34 5.1.1 LCD程序调试过程 ................................................................................. 34 5.1.2 发送40kHZ脉冲信号子程序调试 ......................................................... 34 5.1.3 温度传感器的调试 ................................................................................. 34 5.2 实验结果 ........................................................................................................... 35 5.3 本章小结 ........................................................................................................... 35 V 总 结 ............................................................................................................................. 36 致 谢 ............................................................................................................................. 37 参考文献 ......................................................................................................................... 38 附录1超声测距源程序 .................................................................................................. 39 附录2 超声测距原理图 ................................................................................................. 50 附录3 硬件实物图 ......................................................................................................... 51 第1章 绪 论 高速度,高效率是现代工业的标志,而这是建立在高质量的基础之上的。设计和工艺人员理应了解:非均一的组织结构,随机出现的微观、宏观缺陷,常常可以有时甚至是只能依靠无损检测技术的运用方可予以发现、评价。当然,这与数十年来多方的重视和广大从业人员的艰辛努力,使无损检测技术在这方面已具有一定的能力有关。现在,在工业发达国家,无损检测在产品的设计研制,使用部门已被卓有成效的运用,1981年美国前总统里根在给美国无损检测学会成立40周年大会的贺信中就说过:―你们能够给飞机、空间飞行器、发电厂、船舶、汽车和建筑物等带来更大程度的可靠性。没有无损检测,我们就不可能享有目前在这些领域和其他领域的领先地位。‖无损检测正在以迅猛之势向纵深发展,客观的需要毕竟是一种专业可以发展的最大动力。超声技术就是一项典型的无损检测技术。利用超声波测量已知基准位置和目标物体表面之间距离的方法,称为超声波测距。可想而知,它的应用,必将在未来展现出夺目的光辉。 1.1课题背景 利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是生物体发射不被人们听到的超声波(20kHZ以上的机械波),借助空气媒质传播由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物或障碍物位置的方法,根据这一原理,人们提出了超声波测距,它是一种传统而实用的非接触测量方法,和激光、涡流和无线电测距方法相比,具有不受外界光及电磁场等因素的影响的优点,在比较恶劣的环境中也具有一定的适应能力,且结构简单,成本低,因此在工业控制、建筑测量、机器人定位方面得到了广泛的应用。但由于超声波传播声时难于精确捕捉,温度对声速的影响等原因,使得超声波测距的精度受到了很大的影响,限制了超声测距系统在测量精度要求更高的场合下的应用。距离是在不同的场合和控制中需要检测的一个参数,测距成为数据采集中要解决的一个问题。而由于超声波的速度相对光速小的多,其传播时间比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类采用仿真技能利用超声波测距。超声波测距是一种利用超声波特性、电子技术、光电开关相结合来实现非接触式距离测量的方法。因为它是非接触式的,所以它就能够在某些特定场合或环境比较恶劣的 1 情况下使用。比如要测量有毒或有腐蚀性化学物质的液面高度或高速公路上快速行驶汽车之间的距离。 我国超声波检测技术是从无到有,从低级阶段逐渐发展到应用普及的现阶段水平。超声波检测仪器的研制生产,也大致按此规律发展变化。 五十年代,我国开始从国外引进超声波仪器,多是笨重的电子管式仪器。如英国的UCT-2超声波检测仪,重达 24kg,各单位积极开展试验研究工作,在一些工程检测中取得了较好的效果。 五十年代末六十年代初,国内科研单位进口了波兰产超声仪,并进行仿制生产。随后,上海同济大学研制出CTS-10型非金属超声检测仪,也是电子管式,仪器重约20Hg。该仪器性能稳定,波形清晰。但当时这种仪器只有个别科研单位使用,建工部门使用不多。直至七十年代中期,因超声波检测技术仍处于试验阶段,未推广普及,所以仪器没有多大发展,仍使用电子管式的UCT-2,CTS-10型仪器。1976 年,国家建委科技公司主持召开全国建筑工程检测技术交流会后,国家建委将混凝土超声波检测技术列为重点攻关项目,组织全国 6 个单位协作攻关。从此,超声波检测技术开始进入有,有目的的研究阶段。 随着电子工业的飞速发展,半导体元件逐渐代替了电子管器件,更有利于超声波检测技术的推广普及。如罗马尼亚 N2701 型超声波测试仪,是由晶体管分立元件组成,具有波形和数码显示,仪器重10kg。七十年代,英国 C.N.S 公司推出仅有 3.5kg重的 PUNDIT 便携式超声仪。1978年10月,中国建筑科学院研制出 JC-2 型便携式超声波检测仪。该仪器采用TTL 线路,数码显示,仪器重量为5kg。同期研制出的超声检测仪器还有SC-2型,CTS-25 型,SYC-2型超声波检测仪。从此,我国有了自己生产的超声波仪器,为推广应用超声波检测技术奠定了良好的基础。随着检测技术研究的不断深入,对超声检测仪器的功能要求越来越高,单数码显示的超声检测仪测读会带来较大的测试误差。进一步要求以后生产的超声仪能够具有双显及内带有单片机的微处理功能。随后具有检测,,存储,数据处理与分析等多项功能的智能化检测分析仪相继研制成功。超声仪研制呈现一派繁荣景象。其中,煤炭科学研究院研制的2000A型超声分析检测仪,是一种内带微处理器的智能化测量仪器,全部操作都处于微处理器的控制管理之下,所有测量值,处理结果,状态信息都在显像管上显示出来,并可接微型打印机打印。其数字和波形都比较清晰稳定,操作简单,可靠性高,具有断电存储功能,其串口可以方便用户对仪器的测试数据进行后处理及有 2 关程序的开发。与国内同类产品相比,设计新颖合理,功能齐全,在仪器设计上有重大突破和创新,达到了国际先进水平。目前,计算机市场价格大幅度下降,采用非一体化超声波检测仪器,计算机可发挥它一机多用的各种功能,实际上是最大的节约。过去那种全功能的仪器设置,还不如单独的超声仪,计算机可充分发挥各自特点。高智能化检测仪器只能满足检测条件,使用环境,重复性测试内容等基本情况一样,才可充分发挥其特有功能。仪器设计也应从实际情况出发,才能满足用户的要求。综上所述,我国超声波仪器的研制与生产,有较大发展,有的型号已超过国外同类仪器水平。 随着电子技术的发展,出现了微波雷达测距、激光测距及超声波测距。前2种方法由于技术难度大,成本高,一般仅用于军事工业,而超声波测距则由于其技术难度相对较低,且成本低廉,适于民用推广。超声测距在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高。例如。随着汽车智能化的发展,中国城市汽车的保有量迅速增加。随之而来的是交通事故与日俱增,城市里尤其突出。智能交通系统是二十一世纪交通运输的重要发展方向,这里就可以用到超声测距判断汽车前方障碍物的情况,及时向司机传达信息。还有在水中探测,军事,医疗中的超声诊断和治疗等方面有重要作用,而且测量精度在不断的提高,另外在移动机器人研制也广泛应用。为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息(距离和方向)。目前这个领域发展迅速,不断提出新课题,具有广阔的发展前景。 1.2 论文研究内容 1.2.1 研究内容 本设计要求我们先要掌握充足的理论知识,着重理论联系实际,培养理论分析的能力,检索资料的能力、电子系统设计的能力、实际动手的能力、分析排除故障的能力。通过该课题的设计,让自己学习到超声测距的相关知识,包括对超声波,传感器学习,超声波传感器的应用,了解了超声波与其他学科的关系,扩大了知识面,培养了自己分析问题,解决问题,实际动手的能力。本设计从51单片机、超声波传感器的原理和特性出发,对超声波测距技术中的控制、信息采集技术进行了较 3 为详尽的分析,参照工程设计的基本方法,分析系统可行性、可靠性后,确立结构化设计的基本思路。从各功能模块一一设计。 该仪器是由+5V稳压电源提供驱动,利用超声波在空气中传播遇障碍物反射的原理,以超声波探头为接口部件,应用单片机技术计算超声波在空气中传播的时间(超声波的速度为声速)并处理成相应的距离,然后再通过LCD显示距离。 1.2.2各章节主要内容 论文第一章阐述了本课题的研究背景。第二章确立了系统的总体方案和系统各模块的方案选择比较,以及方案实施。第三章是对系统硬件的设计。采用51单片机作为控制单元,设计超声波收发电路,系统电源,显示单元,温度补偿单元等。第四章介绍了系统软件的设计,利用结构化设计思想,画出了各部分的程序流程图。第五章分析了本系统的调试过程。 4 第2章 系统的总体方案设计 本课题要设计制作是一个数显超声波测距仪。对象是测距仪与被测物之间的距离,要求检测时间小于0.5s情况下测量范围在0.07,3.00 m,测量精度为5cm,并且测量时测距仪不能与被测物体直接接触,以及用LCD显示结果等要求。这一章主要介绍了超声波测距原理,系统方案的选择比较与实施,为后一章节的系统硬件设计提供依据。 2.1 超声测距理论基础 2.1.1超声波介绍 与光波不同,超声波是一种弹性机械波,它可以在气体、液体和固体中传播。我 8们知道,电磁波的传播速度为3×m,s,常温下,超声波在空气中的传播速度大约10 为340 m,s,其速度相对电磁波是非常慢的。超声波在相同的传播媒体里(大气条件)传播速度相同,即在相当大的频率范围内声速不随频率变化,波动的传播方向与振动方向一致,是纵向振动的弹性机械波,它是借助于传播介质的分子运动而传播的,波动方程描述方法与电磁波是类似的。 , A = A(X)cos(t+ kx) (2-1) ,,xAeA(X) = (2-2) 0 A,式中,A(X)为振幅,为常数,为圆频率,t为时间,X为传播距离,k=为波2/,,0 ,数,为波长,为衰减系数。衰减系数与声波所在介质及频率的关系为 , 2,f =a (2-3) ,132式中,a为介质常数,f为振动频率。在空气里,a=2×/cm,当振动的声波10s ,,41,,:=3(2×,即1,=31m;若f=30 kHz,频率f=40kHz(超声波)代入式(2-3)可得10cm ,则1,=56m。它的物理意义是:声波在空气媒质里传播,因空气分子运动摩擦等原 ,因,能量被吸收损耗。在(1,)长度上,平面声波的振幅衰减为原来的e分之一,由此可以看出,频率越高,衰减得越厉害,传播的距离也越短。考虑实际工程测量要求, 5[]在设计超声波测距仪时,选用频率f=40kHz的超声波。 2.1.2 超声波传感器 传感器行业是知识密集、技术密集的行业,它与许多学科有关,它的种类繁多。超声传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同 5 频率的其他形式的能的器件。目前常用的超声传感器有两大类,即电声型与流体动力型。电声型主要有: 1、压电传感器; 2、磁致伸缩传感器; 3、静电传感器。 流体动力型中包括有气体与液体两种类型的哨笛。由于工作频率与应用目的不同,超声传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声传感器称作探头,而工业中采用的流体动力型传感器称为―哨‖或―笛‖。 压电传感器属于超声传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英,铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器。 传感器的主要组成部分是压电晶片。当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传感器一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。也就是说,在 f压电陶瓷晶片上加有频率为交流电压,它就会产生同频率的机械振动,这种机械振0 动推动空气等媒介,便会发出超声波。如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。 双压电晶片如图2-1所示,当在AB间施加交流电压时,若 A 片的电场方向与极化方向相同,则下面的方向相反,因此,上下一伸一缩,形成超声波振动。双压电晶片的等效电路如图 2-2 所示,C为静电电容,R为陶瓷材料介电损耗并联电阻, 6 C 和L为机械共振回路的电容和电感,R为损耗串联电阻。压电陶瓷晶片有一个mmm f固定的谐振频率,即中心频率。发射超声波时,加在其上面的交变电压的频率要与0 它的固有谐振频率一致。这样,超声传感器才有较高的灵敏度。当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。利用这一 [12]特性可制成各种频率的超声传感器。 图2-1 双压电晶片示意图 图2-2 双压电晶片等效图 超声波传感器的内部结构由压电陶瓷晶片、锥形辐射喇叭、底座、引线、金属壳及金属网构成,其中,压电陶瓷晶片是传感器的核心,锥形辐射喇叭使发射和接收超 声波能量集中,并使传感器有一定的指向角,金属壳可防止外界力量对压电陶瓷晶片及锥形辐射喇叭的损坏。金属网也是起保护作用的,但不影响发射与接收超声波。 2.1.3 传感器的指向角θ 传感器的指向角是声束半功率角的夹角,是影响测距的一个重要技术参数,它直接影响测距的分辨率。对圆片传感器来说,它的大小与工作波长λ,传感器半径r有关。 -4) 见公式(2 (2,,),(,2)sin=1.615 (2-4) ,,Cf选f=40kHz时,=8.5mm。当f选定后,指向角θ近似于传感器半径成000 反比。 指向角θ愈小,空间分辨率愈高,则要求传感器半径r愈大。鉴于目前电子市场的 7 压电传感片规格有限,为降低本次设计成本,在不降低空间分辨率的情况下,选用国 o产现有压电传感器片最大半径r=6.3mm,故=75。 ,,2,arcsin(1.615,2,,,r)2.1.4 测量盲区 在传感器以脉冲反射方式工作的情况下,电压很高的发射电脉冲在激励传感器的同时也进入接收部分。此时,在短时间内放大器的放大倍数会降低,甚至没有放大作用,这种现象称为阻塞。不同的检测仪器阻塞程度不一样。根据阻塞区内的缺陷回波高度对缺陷进行定量评价会使结果偏低,有时甚至不能发现障碍物,这是需要注意的。由于发射脉冲自身有一定的宽度,加上放大器有阻塞问题,在靠近发射脉冲一段时间范围内,所要求发现的缺陷往往不能被发现,这段距离成为盲区,其具体分析如下: 当发射超声波时,发射信号虽然只维持一段极短时间,但是停止施加发射信号后,探头上还存在一定的余振(由于机械惯性作用)。因此,在一段较长时间内,加在接收放大器输入端的发射信号幅值仍具有一定幅值高度,可以达到限幅电路的限幅电平V;另外,接收探头上接收到的各种反射信号却远比发射信号小,即使在离探头较M 近的表面发射回来的信号,也达不到限幅电路的限幅电平。当反射面离探头愈来愈远,接收和发射信号相隔时间愈来愈长,其幅值也愈来愈小。在超声波检测过程中,接收信号的衰减总是比发射信号余振衰减慢的多。为保证一定的信噪比,接收信号幅值需 V达到规定阈值,亦即接收信号的幅值必须大于这一阈值才能使接收放大器由输入M 9[]信号。 减小盲区的方法有以下几种措施: 1、压缩发射脉冲宽度 发射端采用减幅振荡脉冲或单个脉冲,可使余震(拖尾)减少,此法常用于短距离测量距离。 2、采用自动距离增益控制 采用具有自动增益控制功能的接收放大器,使近距离的增益很小,远距离时的 增益较大,这样一方面发射信号的余震幅度变小,相应的延续时间缩短,可以分辨 出近处的接受回波信号,故可使盲区减少。另一方面,可使远处的回波信号的幅度 增大,以提高测量的精度。 3、信噪比问题 超声波测距仪都有确定的量程。量程主要决定于接收信号的幅值应大于规定的阈值。这个阈值决定信噪比。噪声有两类,一类电噪声,在处理上同其它电子仪器一样, 8 另一类为机械噪声,其中工业噪声频率较低,对液介式超声测距仪,工作频率较高,可以避开工业噪声频谱段。而气介式超声回波测距仪,一般频率都较低,易引入工业噪声。这时要求对环境噪声进行频谱分析,尽量避免与噪声频率重叠。 2.2 超声波测距原理 超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限;声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为:检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。考虑实际情况,采用异地脉冲反射式来测距,即需测距离是声波传输距离的一半。 2-5) L=1/2VT (式中,L为待测距离,V为超声波的声速,T为渡越时间。由下式计算测量误差为 ,,,,,VT (2-6) LTV ,,,式中,为测距误差,V为声速,为时间测量误差,为声速误差。若要求测距 LTV 0误差小于0(0lm,已知声速V =344m,s(C时),忽略声速误差,那么测量时间的20 误差为 ,,,,,/0.01/3440.00003VS (2-7) TL 显然,直接用秒表测时间是不现实的。因此,实现声波测距必须避开直接测量时间的方法,才能获得实用的测长精度。这里利用单片机计数的方法,间接测量时间,可以把声波传播的时间精度提高到所需的准确度。也就是对渡越时间的计算。 超声波测距原理图如图2-3所示。 发射换能器 a 障碍物 L S 接收换能器 图2-3 超声测距原理图 9 从图2-3中可以看出,由于本设计采用收发分体换能器,发射换能器和接收换能器存在一定夹角。我们实际得出的距离是S,本设计近似S=L,所以我们可以用上面 [7]的公式计算出L,测出距离。 2.3 超声测距系统组成 超声波测距仪整个系统由单片机来控制,启动测量时,由单片机发出一个控制信号去触发发射电路,使发射电路起振,驱动超声波发射器发射出一串超声波脉冲(大约十几个脉冲),同时启动单片机的计时器,开始计时,也就是开始测量渡越时间。当这些脉冲到达被测目标时,发生反射,经空气传播被超声波接收器接收,再由放大电路进行放大。接收到的第一个脉冲去触发单片机的计数器,使计数停止。此时,计数器中的值,根据这个值就可以算出时间。超声波测距系统原理框图如图2-4所示。 电源 主 超声换能器 接收电路 控 障 显示单元 碍 制 物 器 超声换能器 发射电路 温度测试 RS232电平转换 pc机 图2-4 超声波测距原理框图 2.3.1 系统的收发过程 超声波收发的一般过程是:发生器产生振荡波,通过换能器,电能的振荡波转变成机械能的超声波,遇到障碍物后,一部分超声波反射回来,换能器又将超声波信号转换为电能信号,收发完成。超声换能器是超声测试系统中产生并接收超声的部件,其驱动电路和回波检测电路的性能对整个测试系统有着至关重要的作用。在分析系统收发过程的同时,要注意分析系统各种误差的影响。保证系统有比较高的测量精度和 10 可靠性。 2.4方案设计 2.4.1 超声波频率及探头的选用 由分析得出,超声波在空气中,频率越高,功率越大,精度越高,但在空气中衰减越快;相反,频率越低,功率越小,空气中衰减越慢,但误差大。综合考虑75kHz、40 kHz、25 kHz ,取40 kHz可以较好地解决这个矛盾。为了便于超声波的发送和接收,本文采用共振频率为40kHz的超声波探头,其发射探头选用TCT40-10F1,其对应的接收探头选用TCT40-10S1。为了降低调试的复杂性、高系统安装的灵活性,超声波发 [3]射与接收采用分离设计,即单独采用发射器和接收器而不是发射接收一体化器件。 表2-1 型号命名法 TC T 40 10 F 1 (1) (2) (3) (4) (5) (6) (1)压力陶瓷超声传感器:TC (2)类型:T--通用型 F--防水型 U--耐温型 K--宽带型 (3)中心频率:(kHz) (4)外径:δ(mm) (5)使用方法:F--发射 S--接收 (6)产品顺序号:1、2、3、 2.4.2 发射模块 使用软件编程的方法产生40kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好,但需要设计一个驱动电流为100mA以上的驱动电路。 2.4.3 接收模块 超声波接收器包括超声波接收探头。信号放大电路及波形变换电路三部分。超声波接受探头必须采用与发射探头对应的型号(主要是频率要求一致,否则会因无法产生共振而影响接收效果,甚至无法接收)。由于经接受探头变换后的正弦波电信号非常弱,因此必须经放大电路放大。正弦信号不能直接被处理器接收,因此最后必须进行波形变换。 11 本系统采用红外线检波接收的专用集成芯片CX20106A,它常用于电视机红外遥控接收器,由于红外遥控常用的38kHz载波与测距用的40kHz超声波接近,当它没有接收到信号时输出为高电平,当它接收相近频率的信号时输出为低电平。因此它可以用来作为超声波检测接收电路。这种方法的特点是不仅灵敏度很高,抗干扰能力很强,而且还不需要放大电路,可使系统电路更为简洁。 2.4.4温度补偿 超声波测量距离的原理可用式(2-5)表示。 L=1/2VT (2-8) ?时为331m/s, 25?时为347m/s 式中V为超声波在空气中的传播速度,0 其与环境温度T?的关系如式(2,9)。 (2-9) VT,,,331.40.61 由此可见,声速与温度有着密切关系,在应用中如果温度变化不大并且无特殊要求,可认为声速基本不变的,否则必须进行温度补偿。在硬件上,温度补偿主要采用测温电路来实现。它一般是由DS18B20测温专用芯片来测定。得到的数据送到串行口,单片机就会根据温度变化将声速作相应得处理;在软件上,必须进行温度补偿 根据当时的环境温度,查取特征温度值(声速表中最接近温度对应的声速值)作为当前声速,然后按照式(2,8)进行距离计算。其特点是可采用事先得到温度,声速二维表(如图2-5),将之固化到系统程序中,然后直接使用查表法得到声速值,这样程序实现比较简单,但精度没有方案一高。 另外,由于发射与反射之间存在一定的夹角2a,如图2-5,当a很小时,可直接按式(2,8)计算距离;当很a大时,则必须进行距离修正,其修正公式为(2-10)。 L=cos(a)VT/2 (2-10) 在式(2,10)中,倾角a与超声波发射装置和接收装置的安装位置有关,在实际应用中应注意适当安装。 考虑到对测量精度,所以本系统采用温度补偿的办法,不考虑距离修正。 12 V(m/s) 0T() C 图2-5 温度,声速二维表 2.4.5 显示模块 采用LCD液晶显示。LCD的工作电流比LED小几个数量级,故功耗很低;尺寸小,厚度约为LED的1/3;字迹清晰、美观、使用方便;编程简单,信息量大,但价格较贵。 2.4.6 电源模块 采用主要由三端稳压片78L05构成的电源。提供+5V电压。这种电源与前者相比较为复杂,但是其带负载能力明显强于前者,在单片机系统中得到了广泛的应用。 2.4.7 通信接口选择 为了将采集数据传递到上位机或是将数据传递给其他设备,需要选择通信接口,例如串行口、并行口、USB等。并口占用的I/O资源较多,目前现在已经不常用。USB是目前比较常见的通讯协议,但是比较复杂,而且单片机一般没有包含USB接口,需要外加芯片,所以成本较高,且调试难度大。另外短距离的通信,可以采用 2SPI、IC等,但是调试一般难度比较大,而且不是所有的单片机都拥有硬件的SPI 2和IC,而一般的单片机的硬件资源里都有UART接口,而UART的调试是比较方便的,难度也相对较小。由于本采集模块通信数据量不大,通信速率要求不高,再综合考虑开发周期和开发难度,还有不需要外加额外太多的器件,故采用RS232串行接口传输数据。 RS-232是EIA 40年前为公用电话网络数据通信而制定的,由于RS232的发送和接收是―对地‖而言的,采用非平衡模式传输,存在共地噪声,所以其最大传输距离和速率在标准中被限定为15米和19200bit/s。 RS232有如下优点: 13 1、在微控制器中,接口芯片使得一个5V串口转化为RS232变得非常容易。 2、连接距离可达50-100英尺,而USB连接最长可达16英尺。 3、对于双向连接,只需要3条导线,而并行连接一般需要8条数据线,两条或者更多的控制信号线和接地线,这使得成本变高。 本系统的与PC通信采用RS-232标准串口通信。 2.5系统的总体构想 经过上一节的比较分析,经综合考虑,选择合适的方案及器件,最终确立了系统的总体方案,其原理如图2-6所示。由控制芯片AT89C51产生控制信号,使555振荡产生超声波,超声波通过发射换能器发射出去,遇到障碍物返回,经过接收换能器,接收电路,接收到超声波信号,送入单片机分析。系统还使用DS18B20温度传感器对环境温度进行测试,把当前温度值测出并送入单片机,提高了测量的准确性。 电 源 ATCT40-10S1 CX20106A T 8 障LCD pc机 RS232电平转换 9 碍 C 物 5 TCT40-10F1 555振荡1 DS18B20 器 图2-6系统总体原理框图 2.6 本章小结 本章根据超声波测距原理和算法,分析了系统的实现、方案的比较,经过各种对比考虑,确立了系统的方案选择,并且确立了系统的原理图。为后续的硬件设计做好了准备。 14 第3章 系统硬件设计 在非接触测量领域中,随着传感器技术水平的不断提高,利用超声波传感器测量距离的技术也日趋成熟,基于单片机的超声波测距仪以其强抗干扰能力、高精度、低功耗、体积小等优点在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用,本章论述了以51单片机为控制核心的超声波测距模块的具体电路设计。 3.1 系统工作的过程 本文设计的超声波测距仪是一款非接触的测量仪器。它的工作原理是: 采用555时基振荡电路产生40kHz的超声波信号,超声波传感器的工作状态由三极管工作情况决定。当单片机给三极管一个高电平使其导通后,由555产生的超声波就可以通过发射探头可将其发射出去;此后经过一段时间,超声波遇到障碍物将发生反射,反射后将被接收探头接收,由于探头接收的信号很微弱,所以信号还要经过放大电路进行放大(采用专用集成检波接收电路则不需要放大电路),最后再通过波形变换电路将信号转换成单片机能接收的信号。单片机接收信号后关闭计时器、禁止555工作、处理有关信息,最后通过显示电路显示测量到的距离。显示一段时间后将进入下一次的测量。在整个测量过程中由于电源电路提供能量才使得各模块电路在单片机的控制下成功有序地完成一次距离测量。可见电源电路也是该系统不可缺少的一部分。 3.2 主控制电路 主控制器主要由单片机AT89C51、振荡器和复位电路三部分组成。设计原理图如3-1所示,由于它是单片机工作的必要组成部分,所以又称为单片机最小系统。它是测距仪的控制中枢,也是整个系统的核心部分。它之所以这样重要是因为它在测距仪中发挥了四个作用: 1、控制超声波的发射; 2、负责处理接收电路发出的信号; 3、时间转化成距离的数据处理; 4、协调端口实现动态显示。 由上可知,它的正常工作是保证测距仪成功测距的先决条件,单片机最小系统的设计虽简单但很关键。下面就其作一些简单的介绍。 15 +5V U2140P1.0Vcc239 P1.1P0.0338P1.2P0.1437P1.3P0.2536 P1.4P0.3635P1.5P0.4734P1.6P0.5833 P1.7P0.6932RESTP0.7 89C5128 P2.71027P3.0P2.61126P3.1P2.51225 P3.2P2.41324P3.3P2.31423P3.4P2.21522 P3.5P2.121P2.0C1930p31 VDD1830XTAL2ALEY119XTAL116 P3.6 WR2017VssP3.7 RDC2030p 2 1K1K S1 C16R19 10uF 200Ω +5V 图3-1 单片机最小系统原理图 3.2.1 AT89C51单片机 单片机,又称微处理器,是许多自动控制系统中的核心部件。考虑到显示电路需要占用比较多的I/O口和需要处理较复杂的数学计算对单片机的运行速度的有较高的 [8]要求,本系统选用了AT89C51单片机作为主控器件。 AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 16 3.2.2 时钟振荡器 单片机外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器(AT89C51中有一个用于构成内部振荡器的高增益的反相放大器)的反馈回路中构成并联振荡电路。 为便于CPU处理数据,让计时器每计一次数就是1us,振荡器采用了12MHz的石英晶体。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡工作的稳定性、起振的难易程度及温度稳定性,这里电容使用30pF?10pF。 本系统选用外部晶体作为时钟频率,晶体振荡器XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出。晶体振荡器连接如下 C1930p XTAL1 Y1XTAL2 C2030p 图3-2 晶体振荡器连接 3.2.3 复位电路 本复位电路采用手动复位,在Vcc和RST端接一容量为22uF左右的电解电容,其两端并接一个轻触按钮(为限制按钮按下时电容瞬间释放的电流,避免产生火花,在按钮一侧串联一个电阻),利用RST内部复位下拉电阻便构成复位电路。其电路如图3-1所示。 手动的好处在于能避免死机时关机复位。其复位过程为:接通电源瞬间,电容上的电压很小,RST端上的电压接近电源电压,在电容充电过程中,RST端电位逐渐下降,当RST端电位小于某一数值后,CPU脱离复位状态;当按钮按下时,电容通过R1放电,当电容放完电后,RST端的电位由R1、R2分压比决定。由于R2 ? R1,因此RST为高电平,CPU进入复位状态,松手后,电容C3开始充电,RST端电位下降,CPU脱离复位状态。 3.3 串行通信接口 本系统的与PC通信采用RS-232标准串口通信。 17 RS-232是EIA 40年前为公用电话网络数据通信而制定的标准,由于RS232的发送和接收是―对地‖而言的,采用非平衡模式传输,存在共地噪声,所以其最大传输距离和速率在标准中被限定为15米和19200bit/s。 3.3.1 RS-232电气特性 RS-232对电气特性、逻辑电平和各种信号线功能都做了规定。 在TXD和RXD上: 1、逻辑1(MARK)=-3V~15V。 2、逻辑0(SPACE)=+3V~+15V。 CTS、DSR、DTR和DCD等控制线上: 在RTS、 1、信号有效(接通,ON状态,正电压)=+3V~+15V。 2、信号无效(断开,OFF状态,负电压)=-3V~-15V。 以上规定说明了RS-232标准对逻辑电平的定义。对于数据(信息码):逻辑―1‖(传号)的电平低于-3V,逻辑―0‖(空号)的电平高于+3V;对于控制信号:接通状态(ON)即信号有效的电平高于+3V,低于+15V,断开状态(OFF)即信号无效的电平高于-15V低于-3V,也就是说当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间和低于-15V或高于+15V的电压无意义,因此,在实际工作时,应保证电平在(3~5)V范围之间。 , RS-232电平与TTL电平的转换:前者用正负电压来表示逻辑状态,与后者以高低电平表示逻辑状态的规定不同。因此为了同计算机接口或终端的TTL器件相连,必须在两者之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前教为广泛地使用集成电路转换元件,MAX232芯片可完成两 [10]者之间的转换。 3.3.2 RS-232连接器机械特性 由于RS-232并未定义连接器的物理特性,因此,出现DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面介绍本系统用到的DB-9连接器。 DB-9连接器可作为提供多功能I/O卡或主板COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。 在通信速率低于20Kbit/s时,RS232标准规定DB-9连接器直接相连电缆长度的最大物理距离为15米。表3-1显示了DB-9各引脚的具体功能。其中2、3和5是最 18 常用的三个脚。 RS-232串口通信基本接线方法:距离较近时(<12m),可以用电缆线直接连接标准RS-232端口,若距离较远,需要附加调制解调器(MODEM)。最为简单且常用的接线方法是三线制接法,即地、接受数据和发送数据三脚相连。 表3-1 DB-9常用引脚说明 9针串口(DB-9) 针号 功能说明 缩写 1 数据载波检测 DCD 2 接收数据 RXD 3 发送数据 TXD 4 数据终端准备 DTR 5 信号地 GND 6 数据设备准备好 DSR 7 请求发送 RTS 8 清除发送 CTS 9 振铃指示 DELL 3.3.3 数据发送电路 这部分电路主要由电平转换芯片MAX232和DB-9串行接口等组成。图3-3为串行数据发送电路的设计原理图。 U1 C612+5VC1+VDD0.1uF316C1-VCC 4J1C2+51C2- C76 0.1uF11142T1INT1OUT TXD1077T2INT2OUT3 12138 R1OUTR1INRXD984R2OUTR2IN9 1565GNDVEE MAX232CPED Connector 9 40KHZ 图3-3 串行数据发送电路图 19 电路中使用了MAXIM公司的MAX232,该芯片简易,单+5V电源供电,仅需四个0.1u外接电容即可完成TTL电平与EIA电平之间的相互转换。 3.4发射电路设计 超声波发送模块包括超声波产生驱动电路和超声波发射电路两个部分,超声波探头可采用软件发生法和硬件发生法产生超声波。 前者利用软件产生40kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好,但需要设计一个驱动电流在l00mA以上的驱动电路。 第二种方法是利用超声波专用发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波。这种方法的优点是无须驱动电路,但缺乏灵活性。 本设计采用第一种软件法。 发射驱动电路的主要功能是产生足够的功率来利用40kHz的脉冲波驱动超声传感器发射超声信号。如果想要测量的距离足够远,除了探头的性能外,发射功率是否足够至关重要。本电路中采用中周变压器耦合放大来驱动超声传感器,设计电路如图3.8所示。 D4 R11150K +5VR125.6KC80.01UF R13300R143.9K Q1 C13 +12V 220UFR15T1R1633 10KJP2 1P20240KHZ 图3-4 发射驱动电路 图中所示为第一路发射电路图,CH1的40kHz脉冲信号由单片机软件产生,经过ULN2003芯片驱动,再进入中周耦合,C37在发射时为中周的初级线圈提供所需的瞬间大电流。在发射的时候,中周变压器的次级线圈提供的电压峰峰值可以达到100V以上。其他三路与第一路相同。 20 , ULN2003驱动芯片 ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该芯片的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。 ULN2003采用DIP--16 或SOP--16 塑料封装。 ULN2003的基本应用电路如图3.9所示: ULN2003基本特性如下表3-2。 表3-2 ULN2003极限值 (若无其它规定,Tamb=25?) 参数名称 符号 数值 单位 输入电压 VIN 30 V 输入电流 IIN 25 mA 功耗 PD 1 W 工作环境温度 Topr -20 to +85 ? 贮存温度 Tstg -55 to+150 ? 图3-5 ULN2003基本电路图 21 3.5接收电路设计 根据电路需求,需要接收放大电路满足以卜要求: (1)微弱信号放大,放大倍数要求mv,V; (2)波形整形。 如图所示,不同方向的超声波接收器将接收到回波信号转换成电压信号(正弦波),信号经过两级放大以后,被送入电压比较器进行比较,电压比较器输出的方波信号直接输入INTO中断口,该低电平作为SPCE061A外部中断0的中断信号使SPCE061A产生中断,在中断服务程序中停止计数器TO的计时,并计算出有关数据。由此可见,接收电路完成了超声波回波信号的换向识别、转换、信号的放大和整形以及产生中断信号等功能。如图3-12,进行波形处理: , 放大电路设计 放大电路目的:微弱信号放大。 微弱信号需要放大整形,因此接收部分电路主要由放大电路、电压比较电路构成。根据所用的T/R40-16型超声波传感器的资料以及在实验中所观察到的现象,超声波发射器在发射超声波时,有一部分声波从发射器直接传到接收器,这部分信号直接加到回波信号中,干扰回波信号的检测。此问题在软件中处理。 超声波接收电路将接收换能器输出的微弱信号,进行滤波、放大、检波、整形,来得到大幅值电信号,供单片机INTO端口辨识。接收电路可采用新产品专用集成电路,也可用传统的滤波、放大、检波、整形的电路。过去均采用分立元件构成,现在可以用集成电路来代替。 采用超声波微弱信号放大芯片,如下图3.10所示。 R11K+5V R21KR3 R41K1KR21+5V+5VR5JP11K2A1C1R6C21K6100pF1K2A2D12R7100pF361KC3100pF1OUT13C4C5R8R9100pF100pF1K1K OUT2 图3.10 运放构成接收电路图 图3.10由集成运放A 1, A2构成,R,C,为无源滤波网络,二极管、R7为检波网络。 22 在回波信号的放大过程中,由于干扰信号的存在,为避免将干扰信号放大而产生回波误识别,必须将干扰信号滤除,即回波信号放大过程中必须设计带通滤波器,对有效频带内的超声波信号进行选择放大。 滤波器的功能是让一定频率范围内的信号通过,.而将此频率范围之外的信号加以抑制或使其急剧衰减。当干扰信号与有用信号不在同一频率范围之内,可使用滤波器有效的抑制干扰。 由于超声波回波信号具有频率低、幅度小、易受干扰等特点,因此,本系统采用RC无源滤波方式,用于微弱回波信号的放大。由于集成运放技术已十分成熟,应用己经十分普及。 检波网络的功能是通过二阶带通滤波网络,检测到系统所需要的40KHZ频率信号。 , 比较电路设计 比较电路目的:将mv级的微弱信号放大后的V级信号整形成能为INTO辨识的脉冲信号,本文是下降沿引起中断。 根据硬件电路的设计思想,要将回波信号转换成CPU识别的高低中断信号,所以在对回波信号(正弦波)经过两次放大以后,需要将正弦波整形成方波,于是后面接了一个电压比较电路。因为输入频率为40KHz,采用了集成电压比较器LM393。LM393具有低偏置电流和失调电流(典型值分别为10000nA和6nA,其响应速度为200ns。可用单电源供电(如+5V),也可用双电源供电(如士12V )。在本系统中采用了+9V单电源供电。通过实验观察,LM393输出信号符合设计要求,单片机INTO端口识别引脚1处标准下降沿。电路图如图3.11所示: +5V +5VR116 Vin2A71K6OUT 3 +5V R115 1K 图3.11 LM393构成比较电路 如图所示,放大后的信号由LM393第2脚进入,在第3脚是+2.5V有一个电容电阻接入的比较基准电压,由于R115电阻可调,即根据输入的信号可以调节基准电压。可以有效地防止干扰。LM393是+5V(可调)供电,需要在输出端口接上一个上拉电阻 23 IOK,该电阻由+5V供电,供单片机INTO端口识别。 3.6 电源电路设计 超声波测距仪所需能源是由自制的集成直流稳压电源提供。它主要由电源变压 器、整流滤波电路和稳压电路所组成。为系统提供+5V电压。 D23 +5VVinVoutJP3 GNDDiode2C14C15 C9C101 10uF10uF Header 20.01uF0.01uF D34 +12VVinVoutJP4GND Diode2C17C18C11C121 10uF10uFHeader 20.01uF0.01uF 图3-11 超声波测距仪电源系统 3.7 LCD显示电路 经过以上超声波发射、接受、单片机数据处理后,要显示测量结果,本设计采用LCD显示数据。单片机通过相应的IO口实现测量结果的输出显示。显示部分用了一块,162的字符型LCD模块,它的读写操作、屏幕和光标的操作都是通过指令编写来实现的,显示内容丰富,美观,编程灵活方便,和单片机接口也较简单方便。在该系统中它主要用来显示开机画面,测量距离,温度等。 3.7.1 LCD接口协议 系统要求对LCD编程所以必须了解LCD的借口协议,通过查阅,它的主要参数如表3-4。 表3-4 LCD主要技术参数 ,显示容量 162个字符 芯片工作电压 4(5-5(5V 工作电流 2(0mA(5.0V) 模块最佳工作电压 5.0V ,, 字符尺寸 2.954.35(WH)mm LCD与单片机连接比较简易如下图 24 20 19 18 17 16 15 14 13 12 11 R2010 Res Adj29 1K8 GR17 1K6 5 +5V4 +5V3 2 1 JP5 Header 20H 图3-12 单片机与LCD的连接 3.8 温度测量 测温电路实现目的是实时测得介质温度,实时得出超声波在介质中的速度值延时DAT CLK250us。 CE声波在介质中的速度受介质、介质温度影响。在本课题中,介质是空气,空气颗粒较小,对超声波衰减影响较小,忽视其带来的影响,但空气温度变化影响较大,不容忽视。 芯片和LED显示组成。本测温系统则是用一线测温器件DS18B20与SPCE061A单片机共同组成了最小的测温系统。 DS18B20是DALLAS公司生产的一线制数字温度传感器。温度测量范围-55?,+125?,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625?,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到一起,CPU只需一根数据线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 25 图3.13 DS18B20封装形式 可以采用外接电源与寄生电源供电,采用寄生供电如图3.14所示,注意需要将DS18B20的VDD引脚接地。 1+5V VDD3DS18B20I/O2GND1 DS1820 图3.14 寄生电源供电 采用外接电源供电如图3.5所示,是较常用的供电方式。 3.9本章小结 本章分析例如超声波测距系统的各模块的电路设计,其中包括了电源、发射电路、接收电路、温度测量单元、显示单元等。下一章节进行系统各模块的程序设计。 26 第4章 系统程序设计 超声波测距系统的软件主要由主模块、超声波发生模块、超声波接收模块、显示模块及距离计算模块构成。主模块用于循环检测并且保存测量的结果以及计算的相关参数于寄存器中;超声波发生模块主要是通过控制三极管导通来控制超声波的发送;超声波接收模块主要用于停止定时器计时,转存计时值并置位接收成功接收标志位而显示模块则主要是显示超声波测量的距离。本章介绍一下各程序设计过程。 4.1软件功能模块的划分 本测距仪的软件设计必须充分考虑到AT89C51的硬件和软件特点,同时充分利用其内部资源包括存储器资源、功能部件等。其程序主要包括五个功能模块:主模块、超声波发射、超声波接收、距离计算模块及显示模块。图4-1形象地描述了各模块功能及相互之间的关系。 显示模块 超声波发射 主模块 温度测量模块 超声波接收 图4-1各程序模块及关系 4.2 主程序的分析设计 主模块主要分为初始化子程序及各子程序的调度管理等部分。其工作流程是:上电后首先对系统进行初始化(此时555起振,T0也开始计时),紧接着调用显示子程序,显示完后判断有没有超声波被接收,若有,则停止计时并将计时值送入距离计算子程序,然后将所测距离显示,并且显示当前温度。 主程序流程图如图4-2 。首先是初始化程序,然后置单片机P1.0为高电平,发射超声波信号。然后开启计数通道,等待接收回波,当P3.2为低电平,检测到回波,不过这时要分析盲区和是否接收的是串绕波(发射波未经过障碍物直接绕射到接收换能器上)。 27 开始 等待回波 N 显示开机画面 Y P3.2=0 显示固定信息 读取单片机内部计数值 复位计数电路 读取温度,显示温度 发送7个40kHZ的脉冲信号 计算距离,显示距离 P1.0=1开启计数通道 结束 图4-2 主程序流程图 程序代码见附录1。 4.3 外部中断程序 超声波接收模块主要有外部中断子程序来实现。其主要过程是:当有外来信号输入时,将触发外中断,向CPU申请中断进入外中断子程序后,第一,关定时器停止计时及关所有中断;第二,将定时器的计时值载入处理单元;第三,置成功接收标志位。中断服务程序是响应单片机的外部中断。在系统硬件中,发射的40kHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。在中断服务程序中,要从把进入中断服务程序处的计数值读出并保存在RAM中,再对该数据进行处理,计算得到相应的距离值,并转换为十进制,最后送到P0口显示输出。中断程序流程如图4-3。 28 测距中断函数使用高中断优先级的Timer1(16bit),显示函数使用低中断优先级的Timer2(16bit),Timer0用作波特率发生器。 外中断 读定时器 置接收标志 中断返回 图4-3 外部中断程序流程图 4.4 T0中断子程序 这部分的程序较简单,主要是由定时器T0来实现。具体控制是这样的:555的复位端口接在单片机的某一端口上,只要单片机通过向这各端口发送高低电平来控制超声波的发送与不发送,就可以实现计时器与发送超声波的同步。当定时器一中断,进入中断程序除了重装初值外还有一个任务就是向P1.0发一个高电平允许555振荡,产生超声波并通过探头向外发出,然后开启定时器允许中断,最后返回,具体见其流程图4,4所示。 T0中断入 口 关T0和总中断 重装T0的初值 允许555工作 允许中断,启动T0 返回 图4-4 T0中断子程序 29 4.5 温度校正 根据公式,把测得的当前温度值送入单片机,并且显示在VT,,,331.40.61 LCD上。工作过程是:温度传感器复位,读温度传感器寄存器数据,写温度传感器寄存器,取得当前温度,取得当前温度,显示温度数据函数。 4.6 本章小结 本章分析了系统的软件设计,各功能模块的分析,主程序的流程,中断程序的分析。下一章节对系统进行调试,得出结果。 30 第5章 误差和数据分析 5.1测距计算中温度补偿 温度补偿是在求取声速过程中一个必要环节,本次设计测距仪采用查表法进行温度补偿。采用查表法进行温度补偿的目的是为了避开复杂的浮点数运算及 浮点结果中各字节的提取操作,这样既保证了一定的精度要求,又可以避免浮点运算,在基于微处理器的系统中通常可将浮点运算改为定点运算。 查表法的前提是,必须事先得到温度与声速的二维关系表,表格的密度可以根据精度的需求和微处理器资源的分配来决定。由于表格中的典型温度点有限而且是离散分布的,为了提高精度可以采取小区间插值计算法,例如,测得温度为23? ,而表 ?和30? ,对应的声速分别为344和349,即温格中与之最接近的特征温度点为20 度变化为10,声速变化为5,也即温度每增加2?声速增加1,于是进行最简便的线性插补得到声速为345。表格可按照以下公式计算得到: C=331.4+0.61*T (5.1) 式中,C为超声波在空气中的传播速度,T表示温度,0?时超声波在空气中的传播速度为331m/s, 25?时为346.65m/s。根据以上公式可得到对应的大致表格: 表5-1 温度与声速的二维关系表 温度(?) 声速(m/s) 折合后的声速 对应的十六进数 -30 313 8492 212CH -20 319 8654 21CEH -10 325 8817 2271H 0 332 9007 232FH 10 338 9170 23D2H 20 344 9333 2475H 30 349 9468 24FCH 40 355 9631 259FH 50 361 9794 2642H 31 从DS18B20数字温度传感器上得到的温度进行取整处理,然后判断所在区间,这里提供的程序没有进行插值计算 ,只简单的取温度区间内温度值对应的声速值。距离计算方便,在表格中的声速值乘以机器周期再乘以100得到折合后的声速值。 5.2测距计算中误差分析 限制超声波测距仪器最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射,接收的设计方法。由于超声波属于声波范围,其波速C与温度有关,由于当环境温度发生变化时超声波的传播速度也随之改变,这将会引起测距误差。利用温度传感器DS18B20测量空气温度再送主控器中的A/D转换器进行温度补偿,即可消除该项误差。改善接收器LC带通滤波器效果,可以增加信号保真度和系统精度。反射信号的额外 增益级对增加探测范围和提高精度也有帮助根据超声波测距公式L=C×T/2,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。 时间误差:当要求测距误差小于1mm时,假设已知超声波速度C=344m/s (20?室温),忽略声速的传播误差。测距误差s?t<(0.001/344) ?0.000002907s 即 2.907μs。在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1cm的误差。使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用89C51定时器能保证时间误差在1cm的测量范围内。 速度误差:超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,所以超声波速度与温度的关系如下: v= sqrt(rRT/M); 式中: r —气体定压热容与定容热容的比值,对空气为1.40; R —气体普适常量,8.314kg?mol-1?K-1; M—气体分子量,空气为28.8×10-3kg?mol-1; T —绝对温度,273K+T?; 近似公式为:C=C0+0.607×T? ; 式中:C0为零度时的声波速度332m/s,T为实际温度(?)。 对于超声波测距精度要求达到1mm时,就必须把超声波传播的环境温度考虑进去。例如当温度0?时超声波速度是332m/s, 30?时是350m/s,温度变化引起的超声波速 32 度变化为18m/s。若超声波在30?的环境下以0?的声速测量100m距离所引起的测量误差将达到5m,测量1m误差将达到5mm。美国DALLS公司的DS18B20温度传感器 2的温度测试分辨率为0.0625?,-10?至+85?准确度为?1.0?,IC总线接口。用 289C51的通用I/O端口能很容易的模拟IC总线的读写时序,DS18B20的高精度温度测量能很好的补偿超声波在不同温度的传播速度。 反射角误差:超声波在测量的过程中,由于利用接收发射波来进行距离的计算,因而不可避免的存在发射与反射之间的夹角,其大小为2α。这个夹角会对距离产生一定的误差。在电路的实际设计过程中,把发射传感器和接收传感器紧挨在一起,这样便可以减少角度带来的误差,以便达到距离精度的要求。当α很小时,可直接按式进行计算得到距离;当α较大时,则必须进行距离修正,修正公式为: S=COSα×Ct/2 (5.2) 5.3数据处理 由于受环境温度、湿度的影响,超声传感器的测量值与实际值总有一些偏差。测量值总是比实际值大出大约7cm,经过分析原因主要有三个方面:第一方面,超声波传感器测得的数据受环境温度的影响;第二方面,指令运行需占用一定的时间而使得测量的数据偏大;第三方面,为了防止其它信号的干扰,单片机开始计数时,驱动电路发送16个脉冲串。对于单个回声的方式,当驱动电路接收到碰到障碍物返回的第四个脉冲时就停止计数,所以最终测得的时间比实际距离所对应的时间多出四个脉冲发送的时间。为了减小测量值与实际值的偏差,经过拟合,可得到下面的方程: y=1.0145x-9.3354 (5.3) 其中:y为实际值,x为测量值 修正后本超声波测距系统测量值与实际值的对应系统的测量误差在?1%以内,满足我们的测量要求。 33 第6章 调试过程 程序编制完成之后,需要对程序各部分进行调试,以确定其在系统中的可靠性和合理性。由于程序本身是由许多子程序和功能块组成,所以在调试过程中,可以对其中每个功能块和子程序逐一调试,待每个子程序都能完成其指定功能,然后再进行综合调试。 .1 调试环境 6 (1)环境温度 :20? (2)测试仪器 :PC机,512M内存,PROTEUS 仿真器,KEIL 51编译器,模拟万用表,20MHz 双踪示波器, 函数发生器。 6.1.1 LCD程序调试过程 将硬件电路连接完毕后,对原程序进行编译,调用初始化液晶模块子程序inilcdL()和开机画面显示函数display(0x8f,50,COPY),载入仿真器仿真运行,可以从液晶屏上看到相应的字符出现,能满足预期的设置,没有出现异常情况。 6.1.2 发送40kHZ脉冲信号子程序调试 脉冲信号又P1.0产生,所以将P1.0连接至示波器观察,程序运行后,可以从示波器上观察到有7个连续的40KHZ脉冲循环出现。得到了所需要的脉冲信号,通过超声波发送回路,推动超声波换能器产生超声波。 6.1.3 温度传感器的调试 温度传感器和单片机只有一根数据线相连,调试思路是:把温度传感器中得到的数据显示在LCD上。温度传感器的操作时序要求较严格,由程序产生的时序和温度传感器要求的时序严格同步,进行编译仿真,当前温度显示在LCD上。 该部分调用的函数:uchar Treset(void) //温度传感器复位函数 uchar Tread(void) //读DS18B20寄存器数据 void Twrite(uchar val) //写温度传感器寄存器 GetT(void) //取得当前温度 id distem(unchar pos,uchar num)//显示温度数据函数 Vo 34 6.2 实验结果 表6-1是利用本系统测距的数据,实际距离3米。 表6-1 实验结果 o温度() 10 14 18 26 c 距离(米) 2(83 2(89 2(91 3(05 6.3 本章小结 本章分析了各主要模块的程序流程图及整个系统的调试及调试过程、环境,完成该章的设计,整个系统设计就完成了,达到了任务书上的具体要求。 35 总 结 该系统对测量范围在 0.7m~3m内的平面物体能进行测量,其最大误差为5cm,且重复性好;通过修改部分子程序可根据需要扩展成六通道、二通道、单通道的汽车后视仪及根据不同的要求作不同的报警处理。可见基于单片机设计的数显超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。因此,它不仅可用于移动机器人,还可广泛应用于各种检测系统中。 本次毕业设计给了我很多新的认识,我的意志得到了磨练,毕业设计不只是一个工程设计的学习过程,更是一个做人、做事的感悟背景。 设计前期,首先要明确目的,这个阶段需要阅读大量的参考文献,这对我来说是一个比较大的挑战,因为自己平时动手能力比较差,文献也读的比较少,在经过大半月之后,对课题有了进一步的了解,并确定了大体的设计方案。 明确目的后,就要对其所需的知识有个基础的了解,并掌握其专业技术,然后进行总体设计的架构,下一步对设计的具体模块进行硬件设计。具体设计过程中,遇到很多困难,经过自己不断努力,一点一点克服。 通过本系统的学习,不仅更加熟悉了工程系统的设计步骤和方法,从应用的角度掌握了许多电子技术、超声波传感技术、机器人技术、程序设计语言等科学技术知识,还更明确了怎样思考、优化时间、高效做事以及接人待物等等为人处事的基本原则和方法态度。 36 致 谢 本论文是在老师悉心指导下完成的,老师对学科前沿和研究方向的敏锐洞察和正确把握使我能顺利进行课题研究。老师的广博学识、严谨治学态度、以及不懈努力、锐意进取、诲人不倦的精神品质令我难以忘怀。 为此,我首先对他们表示忠心的感谢。多年来,导师对科研前沿课题高度敏锐的洞察力、求实创新和身体力行的科研作风,给我们留下了深刻印象。老师谦逊无私、平易近人的高尚品格及其他几位老师的热情教导的朴实作风也一直是我学习的榜样。在此,我向你们致以最深挚的谢意。 感谢实验室的全体成员,是他们自始至终给予了我无私的建议与帮助。 感谢我的室友以及本班及兄弟班的所有同学在我学习期间给予我的关心、支持和帮助。 感谢所有在我求学期间给过我关心和帮助的老师和同学。 最后,特别感谢我的父母和其他亲人,是他们全力以赴地支持我的追求,使得我得以顺利完成我的学业。 37 参考文献 [1]黄晓红.超声波测量电路设计[J].河北理工学院学报, 2002,24(5):15 -18 . [2]曹茂永.超声测距数字信号采集系统[J].电测与仪表, 2000,37(8):26-27. [3]纪良文.电子技术应用[J].浙江大学电气工程学院, 2001,27(4):16-18. [5]翁黎朗.超声波换能器驱动和接受的研究[J].集美大学学报,1998,3(1):19-22. [7]李宇成.新型智能超声物位探测仪的设计[J].北方工业大学学报,1997,9-3 . 29-31 . [8] 刘凤然.基于单片机的超声波测距系统[M].传感器世界,2001, [9] 陈太洪.大功率超声波发生器的设计[J].常州技术师范学院学报,2000,7(4):24-26. [10]卜英勇.一种高精度超声波测距仪测量精度的研究[J].郑州大学学报( 工学版),2006,27(1): 3-27. [11]张如洲.微型计算机数据采集与处理[M].北京:科学出版社,1987,462-468. [12]李茂山.超声波测距原理及实践技术[J].实用测试技术,1994,(1):12-20. [13]Murugavel Raju. Ultrasonic Distance Measurement With the MSP430[J]. Application Report SLAA136A - October 2001 . [14] Abidi M AGonzalez R C. The use of multi-sensor data for robotic application[J]. IEEE Transactions on Robotics and Automation,1990,6(2):248-256 . [15 ] Leonard J J. Directed sonar sensing for mobile robots navigation [D]. Universityof Oxford, 1990. [16] Byrne G, Dornfeld D. Tool condition monitoring (TCM)-The status of research and industrial application. Annals of the CIRP, 1995, 44(2): pp.541-567 ,.Material-removal-rate analysis in the ultrasonic machining [17] Q.H.ZhangJ.H.,Zhang ceramics. [J] of Materials Processing Technology 88 (1999) 180 – 184Journalof engineering 38 附录1超声测距源程序 //LCD显示程序 uchar LcdRead(void) //读液晶模块函数{uchar receiveddata; LcdRS=0; //选择寄存器 LcdWR=1; //WR=1,说明进行读操作 LcdEN=1; //使能端置高,使液晶屏操作有效 LcdPort=0xff; Receiveddata=LcdPort; //将选中的寄存器内的值读入单片机 Delay(200); LcdEN=0; //使能端拉低,LCD执行命令 Return(receiveddata); //将所有值返回调用处 } void LcdWrite(bit RS,uchar lcddata) //写液晶模块函数{ LcdRS=RS; //选择寄存器 LcdWR=0; //WR=0,进行写操作 LcdEN=1; //使能端置高,使液晶屏操作有效 LcdPort=lcddata; //将需要的数据写入LCD寄存器 Delay(200); LcdEN=0; //使能端拉抵,LCD执行命令 LcdWR=1; } Void inilcdH(void) { LcdWrite(0,0x38); //显示模式设置 Wait(); LcdWrite(0,0x08); //显示关闭 Wait(); LcdWrite(0,0x01); //显示清屏 39 Wait(); LcdWrite(0,0x06); //显示光标移动设置 Wait(); LcdWrite(0,0x0c); //显示开及光标设置 Wait(); } Void displayL(unchar pos,uchar num,uchar CH[]) //显示开机画面函数 { uchar i; LcdWrite(0,pos); //写显示字符的位置 Wait(); //检测忙信号 For(i=0;i0;i--) {value>>1; DQ=0; _nop_(); _nop_(); DQ=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); If(DQ) value|=0x80; //取样DQ状态 Delay(2) } Return(value); } Void Twrite(uchar val) //写温度传感器寄存器 41 { unchar i; For(i=8;i>0;i--) {DQ=0; _nop_(); _nop_(); DQ=val&0x01; //将要发送一个BIT至数据线 Delay(3); //等待时间(60us>1; } Delay(1); } //测距程序 #include #define k1 P3_4 #define csbout P1_0 //超声波发送 #define csbint P3_7 //超声波接收 #define csbc=0.034 #define bg P3_3 unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//显示标识 unsigned char convert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码 unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1; bit cl; void csbcj(); void delay(j); //延时函数 void scanLED(); //显示函数 42 void timeToBuffer(); //显示转换函数 void keyscan(); void k1cl(); void k2cl(); void k3cl(); void k4cl(); void offmsd(); 数 void main() //主函{ EA=1; //开中断 TMOD=0x11; //设定时器0为计数,设定时器1定时 ET0=1; //定时器0中断允许 ET1=1; //定时器1中断允许 TH0=0x00; TL0=0x00; TH1=0x9E; TL1=0x57; csbds=0; csbint=1; csbout=1; cl=0; opto=0xff; jpjs=0; sj1=45; sj2=200; sj3=400; k4cl(); TR1=1; 43 while(1) { keyscan(); if(jpjs<1) { csbcj(); if(s>sj3) { buffer[2]=0x76; buffer[1]=0x76; buffer[0]=0x76; } else if(s>=1; //循环右移1位 } } void timeToBuffer() //转换段码功能模块 { xm0=s/100; xm1=(s-100*xm0)/10; xm2=s-100*xm0-10*xm1; buffer[2]=convert[xm2]; buffer[1]=convert[xm1]; buffer[0]=convert[xm0]; } void delay(i) { while(--i); } 45 void timer1int (void) interrupt 3 using 2 { TH1=0x9E; TL1=0x57; csbds++; if(csbds>=40) { csbds=0; cl=1; } } void csbcj() { if(cl==1) { TR1=0; TH0=0x00; TL0=0x00; i=10; while(i--) { csbout=!csbout; } TR0=1; i=mqs; //盲区 while(i--) { } i=0; 46 while(csbint) { i++; if(i>=2450) //上限值 csbint=0; } TR0=0; TH1=0x9E; TL1=0x57; t=TH0; t=t*256+TL0; s=t*csbc/2; TR1=1; cl=0; } } void keyscan() //健盘处理函数 { xx=0; if(k1!=1) // 判断开关是否按下 { delay(400); //延时去抖动 if(k1!=1) // 判断开关是否按下 { while(!k1) { delay(30); xx++; } 47 if(xx>2000) { jpjs++; if(jpjs>4) jpjs=0; } xx=0; switch(jpjs) { case 1: k1cl();break; case 2: k2cl();break; case 3: k3cl();break; case 4: k4cl();break; } } } } void k1cl() { sj1=sj1+5; if(sj1>100) sj1=30; s=sj1; } void k2cl() { sj2=sj2+5; 48 if(sj2>500) sj2=40; s=sj2; } void k3cl() { sj3=sj3+10; if(sj3>500) sj3=100; s=sj3; } void k4cl() { sx1=sj1-1; sx1=sx1/csbc; mqs=sx1/4.5; } void offmsd() { if (buffer[0] == 0x3f) buffer[0] = 0x00; } 49 附录2 超声测距原理图 R13+5 R11R9U?VCCLCD?DS18B20LCD 16021GND10K5102R12I/O318VDDGNDVCC2410KVCC33VO4RVCCQRS5RW6E727Q1DB0R?8TRIGDISLCD1602DB1Res29DB21K10DB3115DB412CVOLT6DB513GNDTHR139DB6P1.0(AD0)P0.014238DB7P1.1(AD1)P0.1150.1uF1337BG VCCP1.2(AD2)P0.216R10C6436BG GNDP1.3(AD3)P0.3535P1.4(AD4)P0.4634P1.5(AD5)P0.5733P1.6(AD6)P0.6832C7P1.7(AD7)P0.74700pF1321P3.3(INT1)(A8)P2.01222P3.2(INT0)(A9)P2.1VCCR?23C1(A10)P2.21524P3.5(T1)(A11)P2.31425Res2P3.4(T0)(A12)P2.4R?VCC26100K(A13)P2.5Res2Y13127EA/VPP(A14)P2.6100K2812(A15)P2.719C2XTAL1851840XTAL2VCC20GNDR2910RST(RXD)P3.011C3(TXD)P3.171CX20106A10K1730P3.7(RD)ALE/PROG1629P3.6(WR)PSENY?234622uFS1R1AT89C51XTAL12C?Cap4700PFVCC78L05220R?C?C?Res2CapCapC?13VV+12VCC100.01uF0.01uFOUTINGND+5VCap21uFC4C8C5C9R32200uF/35V0.1uF/35V470uF/16V0.1uF/35V470 50 附录3 硬件实物图 51
/
本文档为【超声波测距仪的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索