基于单片机的超声波测距系统的设计修改版.doc_第1页
基于单片机的超声波测距系统的设计修改版.doc_第2页
基于单片机的超声波测距系统的设计修改版.doc_第3页
基于单片机的超声波测距系统的设计修改版.doc_第4页
基于单片机的超声波测距系统的设计修改版.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 概述.12 课题研究背景及意义.12.1 课题研究背景.12.2 课题研究意义.13 方案设计和选择.23.1 超声波测距的原理.23.2 单片机AT89S52.33.3 超声波传感器.54 硬件电路设计.74.1 整体电路设计.74.2 超声波测距系统设计. 94.3 显示电路设计.164.4 电源电路设计.174.5 硬件电路设计优化.195 软件设计.225.1 程序完成的功能.23 5.2 主要部分程序流程图.245.3 实现重要功能的程序的分析.256 结束语.28致 谢.29参考文献. 30附录一 pcb图.32附录二 程序代码.33基于单片机超声波测距系统的设计胡新新 (德州学院机电工程系,山东德州 253023)摘要:系统的设计主要包括两部分,即硬件电路和软件程序。硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路,另外还有复位电路和LED控制电路等。我采用以AT89s52单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路。整个电路采用模块化设计,由信号发射和接收、供电、温度测量、显示等模块组成。软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。它控制单片机进行数据发送与接收,在一定温度下对超声波速度的校正,还有实现数据正确显示在LED上。另外程序控制单片机消除各探头对发射和接收超声波的影响。关键词:AT89c52;超声波;测距 The design of ultrasonic ranging system based on single-chip microcomputerHu Xinxin(Mechanical and Electronic Engineering Department of Dezhou University, Dezhou Shandong, 253023)Abstract: The thesis mainly includes two parts, the design that hardware circuit and software program. The hardware circuit including microcontroller circuit, launch circuit, receiving circuit, display circuit and power circuit, in addition to reset circuit and control circuit LED etc. I used to AT89s52 SCM is the core of low cost, high precision, miniaturization digital display ultrasonic rangefinder hardware circuit. The circuit USES modular design, the signal transmission and reception, power supply, temperature measurement, display module. Software program mainly by the main program, preset subroutines, launch procedure, receiving subroutines, display subroutines etc modules. It control chip, sending and receiving data in a certain temperature of ultrasonic velocity correction, and data displayed correctly in LED. Another program control chip to eliminate the emitting and receiving ultrasonic probe. Keywords: AT89c52, Ultrasonic, distance1 引言 从技术上看,超声波测距系统在上个世纪70年代已经实用化,从70年代末期开始广泛应用于生产领域。于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在工农业生产上到了广泛的应用。2 课题研究背景与意义近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。3 超声波测距的原理及各硬件的基本功能3.1超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2。最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。 由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图3-1所示: 超声波发射 障碍物 S H 超声波接收图3-1 超声波的测距原理 (3-1) (3-2)式中:L-两探头之间中心距离的一半.又知道超声波传播的距离为: ( 3-3)、式中:v超声波在介质中的传播速度;t超声波从发射到接收所需要的时间.将(32)、(33)代入(3-1)中得: ( 3-4)其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(34)变为: ( 3-5) 所以,只需要测量出超声波传播的时间t,就可以得出测量的距离H.3.2单片机AT89S52AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。3.2.1 一般说明AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。AT89S52的数据存储包括256字节的内部RAM,特殊功能寄存器(SFR),2K字节的片内EEPROM和可扩展至64K的外部数据存储器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3.2.2 极限参数 表3-1 AT89S52极限参数参数额定值单位操作温度0+70或-40+85C储存温度范围-65+150CEA/Vpp脚相对于Vss的电压0+13.0V其他任何脚相对于Vss的电压-0.5+6.5V每个IO脚的最大IOL15mA3.3 超声波传感器 完成产生超声波和接收超声波这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声波探头。超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多用作探测方面。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种。由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的,我们使用前必须预先了解清楚该探头的性能参数。超声波传感器的主要性能指标包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。(2)工作温度。由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高。人类能听到的声音频率范围为:20Hz20kHz,即为可听声波,超出此频率范围的声音,即20Hz以下频率的声音称为低频声波,20kHz以上频率的声音称为超声波。超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。为此,利用超声波的这种性能就可制成超声波传感器。另外,超声波在空气中的传播速度较慢,为340ms,这就使得超声波传感器使用变得非常简便。我们选用压电式超声波传感器。它的探头常用材料是压电晶体和压电陶瓷,是利用压电材料的压电效应来进行工作的。逆压电效应将高频电振动转换成高频机械振动,从而产生超声波,可作为发射探头;而利用正压电效应,将超声振动波转换成电信号,可作为接收探头。为了研究和利用超声波,人们已经设计和制成了许多种超声波发生器。总体上讲,超声波发生器大体可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 共振板gon 压电晶片 电极 电极图3-2超声波传感器结构 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。4 硬件电路设计4.1 整体电路设计整体电路的控制核心为单片机AT89S52。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波探头接OUT口实现超声波的发射和接收。另外还有温度测量电路测量当时的空气温度,等到把数据送到单片机后使用软件对超声波的传播速度进行调整,使测量精度能够达到要求。整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路与温度测量电路等几部分模块组成。而超声波发射与接收电路还要加入放大电路。在发射后把信号放大,接收前也要把信号再次放大。整体电路结构图如图4-1。图4-1超声波测距原理图单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。 图4-2 超声波发送原理图4.2超声波测距系统设计4.2.1 超声波发射器的注意事项 超声波发射器向某一方向发射超声波,在发射超声波的同时开始计时,超声波在空气中传播,途中碰到障碍物反射后立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度约为340m/s,根据计时器记录的时间t,就可以计算出超声 发射点距障碍物的距离(s),即为:s=340t/2,这就是所谓的时间差测距法。存在4个因素限制了该系统的最大可测距离:超声波的幅度、反射的质地、反射回波和入射声波之间的夹角以及接收换能器的灵敏度。测距误差主要来源于以下几个方面: (1)超声波波束对探测目标的入射角的影响; (2)超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发; (3)超声波传播速度对测距的影响。稳定准确的超声波传播速度是保证测量精度的必要条件,波的传播速度取决于传播媒质的特性。传播媒质的温度、压力、密度对声速都将产生直接的影响,因此需对声速加以修正。 (4)由于超声波利用接收发射波来进行距离的计算,因而不可避免地存在发射和反射之间的夹角,其大小为2,当很小的时候,可直接按式进行距离的计算;当夹角很大的时候,必须进行距离的修正,修正的公式为: (4-1) 实际的调试过程中,要十分注意发射和接收探头在电路板上的安装位置,这是因为每一种超声波发射、接收头都有一个有效测量夹角,这里用到的发射、接收头有效测量夹角为45。接收换能器对超声波脉冲的直接接收能力将决定该系统最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射接收的设计方法。4.2.2 超声波发射电路超声波发射电路,要求功率尽量大些,发射距离大于1.5米,电路力求简单实用。 选择使用NE555加外围电路构成多谐振荡器来产生频率为40KHz的方波,再经过整形放大后来驱动超声波发射器发出超声波。 NE555是一种用途很广的时基单元集成电路,其工作电压范围较宽,可在4.518V范围内工作,其驱动电流可达200mA。NE555的内部中心电路是三极管Q15和Q17加正反馈组成的RS触发器。输入控制端有直接复位Reset端,通过比较器A1,复位控制端的TH、比较器A2置位控制的T。输出端为F,另外还有集电极开路的放电管DIS。它们控制的优先权是R、T、TH。利用NE555可以组成相当多的应用电路,甚至多达数百种应用电路,在各类书刊中均有介绍,例如家用电器控制装置、门铃、报警器、信号发生器、电路检测仪器、元器件测量仪、定时器、压频转换电路、电源应用电路、自动控制装置及其它应用电路都有着广泛的应用,这是因为NE555巧妙地将模拟电路和数字电路结合在一起的缘故。图4-3 40khz超声波发射电路 图4-4 555内部结构与引脚 本次设计中NE555电路的工作原理是:单片机TXD口发出低电平,三极管Q5为PNP管所以导通,C极向外输出高电平。555芯片8脚接到高电平开始工作,4脚被拉高,多谐振荡电路不工作,当接到单片机的低电平信号后振荡器开始工作。 Vcc经外接电阻R1和R2向电容C充电,当C上的电压Vc上升到2Vcc/3时,反相比较器A1翻转输出低电平,RS触发器复位,即V0,3脚输出为“0”,则三极管导通,C经三极管和P1放电,当Vc下降到Vcc/3时,同相比较器A2翻转输出低电平,即S0,RS触发器置位,3脚输出变为“1”,三极管又截止,C又开始充电,如此周而复始,输出端便可获得周期性的矩形脉冲波,NE555的内部电路。由电路可知电容C的放电时间t1R2Cln2,充电时间t2(R1+R2)Cln2,即可得出输出脉冲的频率为:f1/t1+t2。所以调节R1和R2即可改变脉冲频率使之等于40KHz。如图4-3所示。图4-5 方波产生电路 为了使40KHz的方波信号更为可靠,要对其进行整形及放大。信号由NE555的3脚向外输出,经过二极管D2整形,滤去低于低电平的部分,只保留零电平以上部分。整形后的信号经由三极管Q1、Q2放大,此时的信号已经很可靠,可以满足本次设计的需要。信号由OUT口输出,送入超声波探头中。此外在超声波发射电路中还加入了消除余振部分以保证电路可以更好的为超声波发射器提供信号,也使测量结果更为精确。因为超声波探头是一个感性元件,在一定程度上会表现出电感的性质。所以当发射电路停止向其输入脉冲信号后,如果没有合适的能量释放回路,则在其感性的作用下,超声波探头内部振荡仍会持续一段时间,仍然发射超声波,会对测量结果产生影响。加入这个电路就是为了在停止发送超声波的时候将发射器内部的能量释放到地,使其立即停止工作。单片机控制发送超声波的TXD口和消除余振的INT0口都是P3口的低四位,只需要由程序控制两个管脚输出相同的电平。在TXD口为高电平时停止发射超声波,此时INT0口也为高电平,使得三极管Q3导通,即打开消除余振功能,将剩余的能量接地。两个动作几乎是同时的,可以提高此后计时的准确性。电路如图4-6所示。图4-6方波消除余波电路 图4-7 发射电路模块4.2.3 超声波接收电路在本次设计中选择了前置放大电路带通滤波电路后级放大电路的类似电路。通过波形整形,积分器,检波器,带通滤波,限幅放大和前置放大等实现接收超声波的功能。如图4-8所示: 由于在距离较远的情况下,超声波的回波很弱,因而转换为电信号的幅值也较小,为此要求将信号放大60万倍左右。如图4-8所示电路有三级放大:前两级种放大100倍,采用高速精密放大器LM318, 其带宽为15MHz,放大倍数为100倍时,能充分满足要求;第三级采用LF353运算放大器,带宽为4MHz,对于62倍的放大倍数,能充分满足条件。放大后的交流信号经光电隔离送入比较器,比较器的作用是将交流信号整形输出一个方波信号,此方波信号上升沿使D触发器触发,向CPU发中断申请。在中断服务程序中,读取时间计数器的计数值,并结合温度换算出的速度算出发射到接收的距离如图4-9所示:图4-8 40KHz超声波接收电路图4-9 40KHz超声波接收电路图4-9所示电路为双稳态超声波接收机电路,由VT5、VT6及相关辅助元件构成双稳态电路,当VT4每导通一次(发射机工作一次),触发信号经C7、C8向双稳电路送进一个触发脉冲,VT5、VT6状态翻转一次,当VT6从截止状态转变成导通状态时,VD5截止,VT7截止,继电器K释放; 当再来一个触发信号时,VT6由导通转变为截止状态,VD5导通,VT7导通,继电器K吸合.由于增加了双稳电路,使之用于电灯、电扇、电视等电器遥控成为现实。调试时,在a点与+16V(电源)之间用导线快速短路一下后松开,继电器应吸合(或释放),再短路一下松开,继电器应释放(或吸合),如果继电器无反应,请检查双稳电路元件焊接质量和元件参数。再加上设计中所选用的超声波探头里已经集成了上述超声波接收电路,一般情况下一次即可成功。为了测量结果的准确性,对于超声波探头接收到的信号同样需要进行处理。探头收到的回波信号经OUT口回到电路中,经过电容C10耦合,只保留测距需要的交流信号。电路中加入二极管D1同样是因为上面提到的探头的感性。由于感性的存在,在停止发送超声波的那一刻,OUT口会出现一个反向电动势,即电位低于地电位。这样,如果没有二极管保护,这个反向电动势将会全部加在三极管Q4的b-e结上,如果探头的感性比较强,其反向电动势足以将b-e结击穿。二极管D1提供了一个电流的泻放电路,也可以说是将反向电动势降到最小(0.7V左右),保护三极管及其他电路。电容C9对经过三极管的信号进一步整形,去掉信号波形中的毛刺,使波形更好。电阻R5起一个上拉电阻的作用,因为回波信号经过滤波后很可能会衰减的很严重,所以利用R5将其幅度上拉到5V,以便单片机更好的检测回波信号。CX20106是一款应用广泛的红外线检波接收的专用芯片,其具有功能强、性能优越、外围接口简单、成本低等优点,由于红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz比较接近,而且CX20106内部设置的滤波器中心频率f0五可由其5脚外接电阻调节,阻值越大中心频率越低,范围为3060 kHz。故本次设计用它来做接收电路。CX20106内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。图4-10超声波回波信号整形电路图4-11 40KHz超声波接收电路4.3 显示电路设计在单片机应用系统中,LED数码管的显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的IO接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法较为简单与便利。可以提供单独锁存的IO接口电路很多,常用的就是通过串口外接串并转换器74LS164,扩展并行的IO口。需要几个数码管就扩展几个并行接口,数码管直接接在74LS164的输出脚上,单片机通过串口将要显示数据的字形码逐一的串行移出至74LS164的输出脚上数码管就可以显示相应的数字。在显示电路的设计上,利用单片机的P0P2口来控制数码管显示,这种接法虽然比较浪费管脚资源,但是对单片机的理论知识要求相对比较低,而且超声波发射和接收电路并不需要很多的管脚来支持,所以我选择这种方案。数码管的选择上,为了使数码管亮度大,本人选择了共阳极的数码管,数码管管脚接到低电平发亮。显示及其驱动电路的原理图见图4-12。图4-12 数码管显示电路4.4 稳压电源设计因为本次设计的元器件都可以使用+12V或是+5V的电源来驱动,所以我制作了一个稳压电源,它使用三端集成稳压器CW7812和CW7805来设计。通过变压器的直流电通过由二极管组成的桥式整流电路进入三端稳压元件,CW7812和CW7805分别为电路提供稳定的12V和5V直流电源。极性电容起滤波电容的作用,非极性电容则可以改善负载的瞬态影响,使电路稳定工作。如图4-13所示:图4-13稳压电源图4-14 单片机电路4.5硬件电路设计优化4.5.1 提高测距的范围由于空气对超声波的吸收与超声波频率成正比,因此用来测距的超声波的频率不能很高。另一方面,频率越低,波长越长,测量的绝对误差就越大。所以,40Kz的超声波单频测距的范围只有56米,无法满足我们的要求。为了解决测量范围和测量精度之间的矛盾,我们采用双频测距的方法。其测距原理是:控制器现发出一串频率为fH的超声波,串长度可以有1016个完整的波形,接着送出48fL低频率的超声波。这种在时域上连续的两种频率的超声波被前方的目标反射后,形成回波,回波经由接收器形成回波脉冲EchoH和EchoL。由于高频声波先发出,对于同一个目标,其回波EchoH先到达CPU,因此,对于较近的目标,首先用高频超声波探测。当目标较远时,高频超声波被空气吸收而大幅衰减,接收器接收到的回波中只有低频超声波EchoL。由于该装置在距离较远时对精度要求不是很高,所以可以用EchoL探测。如图4-14所示:图4-15 双频超声波测距工作时序图 t0、t1分别为高、低超声波发射的开始时间,t2、t3为高、低超声波回波到达的时间,所测得的距离分别为:D1=c(t2-t0)/2 (4-1) D2=c(t3-t1)/2 (4-2) 经试验可知,用双频超声波发射,量程可达到25m。 4.5.2 发射探头和接收探头间的影响 超声波从发射到接收的时间间隔是由控制器内部的定时器来完成的。由于发射器探头与接收器探头的距离不大,有部分波未经被测物就直接绕射到接收器上,造成发送部分与接受部分的直接串扰问题。这一干扰问题可通过软件编程,使控制器不读取接收器在从发射开始到虚假反射波结束的时间段里的信号。这样,就有效的避免了干扰,但另一方面也形成了20cm左右的“盲区”。 4.5.3 系统干扰因素测量装置的干扰来自多方面。机械振动或冲击会对传感器产生严重的干扰;光线对测量装置中的半导体器件会产生干扰;温度的变化会导致电路参数的变动,产生干扰;以及电磁干扰等等。干扰窜入测量装置有三条主要途径,如图4-16:(1)电磁干扰干扰以电磁波辐射的方式经空间窜入测量装置。信道干扰。信号在传播过程中,通道中各元器件产生的噪声或非线性畸变所造成的干扰。(2)电源干扰这是由于电源波动、市电电网干扰信号的窜入以及装置供电电源电内阻引起各单元电路相互祸合造成的干扰。一般情况下,电磁感应和静电感应干扰主要由发电机、电动机、大功率继电器、电台等的感应引起,其强度远小于电源接地系统和U0系统的干扰,这种干扰可采用良好的屏蔽与正确的接地、高频滤波加以抑制。因此,在微机系统中,供电系统与v0通道的干扰是问题的主要方面。图4-16 产生误差的途径(3)供电系统干扰由于供电电网面对各种用户,电网上并联着各种各样的用电器。用电器在开关机时都会给电网带来强度不一的电压跳变。这种跳变的持续时间很短,人们称之为尖峰电压。它会影响测量装置的正常工作。供电系统常采用下列几种抗干扰措施: 交流稳压器。它可消除过压、欠压所造的影响,保证供电的稳定。 隔离稳压器。由于浪涌和尖峰噪声主要成份是高频分量,它们不通过变压器级线圈之间的互感祸合,而是通过线圈寄生电容祸合。隔离稳压器初次级间用屏蔽层隔离,减少级间祸合电容,从而减少高频噪声的窜入。 低通滤波器。它可滤去大于50Hz市电基波的高频干扰。对于50HZ市电基波,则通过整流滤波后也能够完全滤除。 独立功能块单独供电。在电路设计时,有意识地把各种不同功能块的电路单独设置供电系统电源。这样做基本可消除各单元电路因共用电源而引起相互耦合所造成的干扰.在本系统中就采用了这种电源的配置。4.5.4 温度对超声波测距的影响在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,对超声波传播速度加以修正,以减小误差。下面公式是超声波传播速度与空气温度的关系。 V = 3314 + 0607T 式中,T为实际温度单位为,v为超声波在介质中的传播速度单位为ms。 表 4-1 超声波波速与温度的关系表温度()-30-20-100102030100声速(ms)313319325323338344349386由于声音的速度在不同的温度下有所不同,为提高系统的精度,采用了温度补偿功能。这里采用的主要元器件是是美国Dallas半导体公司生产的单总线数字温度传感器DS18B20,其具有精度高、智能化、体积小、线路简单等特点。将DS18B20数据线与单片机的P1.1口相连,就可以实现温度测量,如图4-17. 图4-17 温度测量芯片5 软件设计 本设计的软件设计部分十分的重要,距离的换算与显示,就连部分硬件电路不能完成的滤波也要靠程序来完成,而且程序的设计也是本设计的难点。5.1 程序完成的功能 (1)超声波的发射和接受控制(2)消除余振(3)对回波信号的检测(4)测距时间到距离的换算(5)距离的显示(6)对距离进行判断5.2 主要部分程序流程图 图5-1 程序流程框图5.3 实现重要功能的程序的分析5.3.1实现温度读取功能uint Read_Temperature(void) /读取温度,返回整数值 uint c;reset(); /复位18b20芯片tu=0; /先置位温度正负标示为正if(r) write(0xCC); / 跳过多传感器识别skio rom write(0xBE); /发读内部9字节内容指令c=read(); /读两个字 reset(); /读完两个字节后复位 write(0xCC); / 跳过多传感器识别skio rom write(0x44); / 发启动温度变换指令if(c0x1000)c=c+1;tu=1; /若温度小于0,tu=1 c=4; /去掉低四位即为整数温度值,无需*0.0625 return c;elsereturn r; /返回0XFF表示未检测到18B20芯片5.3.2实现根据温度转化声速 int C_speed(void) /根据温度查算声速值 uchar y; y=Read_Temperature(); /采温度 if(r) /若温度有变化则按温度值取声速T_C=y; /温度值变化后的温度值if(tu=0)speed=332+T_C*0.607; /温度为正则+声速else speed=332-T_C*0.607; /温度为负则-声速else speed=346.5; /若1820不存在即无法读取温度,声 速346.5M/S(取25度) return speed;5.3.3实现距离计算float Dis_count()/距离计算函数 float cm;cm=TH1*256+TL1;cm-=7610; /减去限制10M的初值+可调误差值cm*=speed; /计算距离uS*34650mcm/=20000; /转换为s 单程return cm;5.3.4 主函数的结构与内容void main(void) /主函数 uchar w;Read_Temperature(); /先采一次温度for(w=11;w27)C_speed();w=0;/测Wu次距后取一次温度声速w+;dis=Dis_count(); /转换距离flag=0;if(dis=996)temp0=0xF7;temp1=0xF7;temp2=0xF7;/溢出处理elsebell=0;LED_temp(dis);bell=1;show(10); /测量数据显示TO=0; show(10);key();if(show_temperature=1)goto T_show;/如果WD为0则只显示温度6结 束 语 本文借助于模数电技术和单片机技术的结合,解决了超声波测距的一些难题。本毕业设计以AT89S52为核心,灵活的运用超声波换能集成电路作为超声波的接收电路,在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,完成了超声波测距的设计要求。从课题选择、方案论证到具体设计,我查阅了大量的资料。对一些疑难的问题,我得到了老师和同学的帮助。在四年的本科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向老师们表示深深的感谢和崇高的敬意。 不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向全体老师表示由衷的谢意。感谢他们四年来的辛勤栽培。 参 考 文 献1 阎石.数字电子技术基础M.北京:高等教育出版社,2004.6.2 康华光.模拟电子技术基础M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论