基于单片机的超声波液位控制器设计_第1页
基于单片机的超声波液位控制器设计_第2页
基于单片机的超声波液位控制器设计_第3页
基于单片机的超声波液位控制器设计_第4页
基于单片机的超声波液位控制器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的超声波液位控制器设计摘要课题针对液位检测的实际问题,开发了一种基于单片机的超声波液位检测仪.深入讨论了用超声波作为信号源进行液位检测的可行性及优越性,产生误差的各种原因,提出了相应的解决方法。超声波液位检测仪以单片机AT89C51单片机最小系统为核心,利用超声波作为检测信号的手段,对液位进行检测和数据处理,减少了测量过程中的人工干预,方便了工作人员对液位检测的实时监控。该系统硬件电路设计包含了超声波发射电路、接收电路、温度测量电路和液晶显示电路。软件设计中,采用模块化程序设计思想,将软件主要分为超声波驱动与数据处理模块、功能模块两大模块。对软件的这种“自顶向下〞的模块化软件编程方法能使软件的结构清晰,有利于软件的调试和修改。在设计中,由于需要测量的距离范围从几米到十几米,针对超声波振幅在传播时呈指数衰减的特性,最大限度地提高驱动能力,对回波进行多级放大,到达了设计要求。由于测量精度要求很高,系统进行了温度补偿设计。实验结果说明该设计方法可以提高超声波液位检测仪的测量精度并且硬件开销不大。目录第一章绪论.............................................11.1课题背景......................................................11.1.1超声波液位仪的研究背景与内容...............................11.1.2超声波液位仪的现状.........................................11.2论文研究内容.................................................21.2.1研究内容...................................................21.2.2论文的章节安排.............................................3第二章超声波的液位测量原理.............................52.1超声液位仪理论根底...........................................52.1.1超声波介绍.................................................52.1.2超声波探头的结构和原理.....................................52.1.3T/R40-16超声波探头........................................72.1.4传感器的指向角Θ...........................................82.2超声波液位仪工作原理.........................................92.2.1超声波液位仪工作原理.......................................92.2.2测量盲区..................................................102.3本章小结...................................................11第三章硬件总体设计....................................123.1超声液位仪总体设计..........................................123.2单片机电路..................................................143.2.1复位电路设计..............................................153.2.2电源电路设计..............................................163.2.3时钟振荡器................................................173.3发射电路....................................................183.4接收电路....................................................193.5液晶显示电路................................................203.6温度测量电路................................................213.7串行通信口电路..............................................233.8本章小结...................................................25第四章系统软件设计....................................264.1软件总体设计..............................................264.1.1软件设计流程图...........................................264.1.2主程序结构流程图.........................................274.1.3回波接收流程图...........................................294.1.4中断程序流程图...........................................294.1.5串行口通信流程图.........................................304.1.6DS18B20流程图...........................................314.2软件程序调试..............................................334.2.1复位电路程序调试.........................................334.2.2发送和接收超声波程序调试.................................344.2.3显示程序调试.............................................354.2.4温度传感器程序调试.......................................364.2.5通讯子程序调试...........................................384.3本章小结...................................................39第五章液位测量精度的提高和误差分析....................405.1提高液位测量精度的主要方法.................................405.1.1温度测量.................................................405.1.2算术平均滤波.............................................455.2误差分析...................................................475.3本章小结...................................................48总结....................................................49绪论1.1课题背景1.1.1超声波液位仪的研究背景与内容超声波液位仪作为一种典型的非接触测量仪器,在很多场合有广泛的应用,诸如工业自动控制,建筑工程测量和水面高度测量等方面。与激光测距、微波测距等测量方法相比,由于超声波在空气中传播速度远远小于光线和无线电波,时间测量精度的要求也远小于激光测距、微波测距等,因而超声波液位仪电路结构简单,造价低廉,容易设计,且超声波在传播过程中不易受烟雾、空气能见度等因素的影响,在各个场合均得到广泛应用。然而超声波液位仪在实际应用中也有很多局限性会对测量数据的精确度造成一定的影响。诸如,环境温度、风速等,使其无法到达要求。如何解决这些问题,提高超声波液位仪的精度,具有较大的现实意义。目前,市场上的超声波液位仪多数采用单片机作为对液位仪控制和运算的核心,系统的硬件设计决定着测量结果的精度。本文在对超声波传播特性研究的基础上,设计了基于单片机的超声波液位仪的硬件系统和软件系统,并对硬件和部分软件分别进行了相关的调试。硬件设计的总体目标是力求在结构简单、本钱合理的前提下,尽量完善其功能。由于超声波液位仪需要测量十几米距离,因此,针对超声波在传播时呈指数衰减的特性,我们采用了最大限度提高驱动能力、对回波进行多级放大等措施,扩大了测量范围。本设计运用单片机系统控制超声波的发射、接收、温度测量以及其它的各种功能。在软件设计中,我们采用模块化程序设计思想,将软件主要分为超声波驱动与数据处理模块。这有利于软件的调试和修改。因为对计算的精度要求较高,所以本设计采用温度补偿和数字平均滤波的方法提高计算精度。另外,对设计过程中发现和存在的一些问题〔从软、硬件两方面〕,分析了原因并提出了一些解决的措施和改良的方法,为研制更加完善的超声波液位仪打下了根底。1.1.2超声波液位仪的现状经过不断的努力和探索,科技工作者己开发出了种类繁多、各具特色的液位仪。尤其是近二十年来,随着微处理器的引入,测量仪表更是发生了革命性的变化。液位仪的量程从几米到十几米,测量精度亦大大提高。根据液位测量所涉及的液体存储容器、被测介质以及工艺过程的不同,选择不同类型的液位仪。在进行液位测量前,必须充分了解液位测量的工艺特点,以此作为液位仪设计过程中的参考因素[5]。目前,进口的智能化超声波液位仪能够对接收信号做精确的处理和分析。可以将各种干扰信号过滤出来,识别多重回波;分析信号强度和环境温度等有关信息。这样即便在有外界干扰的情况下,也能够进行精确的测量。超声波液位仪不仅能定点和连续测量液位,而且能方便地提供遥测所需的信号。同时,超声波液位仪不存在可动部件,所以在安装和维护上相应比拟方便。超声测位技术可适用于气体、液体或固体等多种测量介质,因而具有较大的适应性。新型气密结构、耐腐蚀的超声波探头可测量十几米的液位[3]。1.2论文研究内容1.2.1研究内容进口的液位仪功能齐全,精度较高,但是价格比拟昂贵且维修不是很方便。对于小型用户来说,不是理想之选。而国内自行研制生产的液位仪价格相对廉价,但精度不高,功能相对单一。为了设计出价格廉价,精度较高的超声波液位仪,本设计采用89C51为核心的单片机电路,同时使用双探头的方式发射和接收声波,基于超声波测距的原理,算出液位的高度。由于在户外测距,受到天气的干扰因素比拟多,因此采取温度补偿的方式,来弥补外部因素造成的误差。除此之外,也可以使用数字平均滤波的方式来提高数据的精确度。因为超声波在空气中的传播速度大约为334m/s(常温下),在同一介质中其传播速度相对恒定,与激光的速度(3×108m/s)相比,它的传播速度要慢得多,所以对超声波信号的处较为容易。因此,这也表达了超声波测距的独到之处,加之其本钱较低,所以超声波是比拟理想的信号源[2]。超声波液位测量方法与其它的液位测量方法相比不易受光线、被测对象颜色等因素影响,利用这样的特性,一般将仪器放置于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境之中。同时超声波探头具有结构简单、价格廉价、体积小、信号处理可靠等特点。综合而言,超声波液位仪具有非接触、精度较高、实时测量、可靠性强等优点,较为适合国内市场。本篇论文研究的主要内容是基于超声波液位仪的设计和提高精度方面的研究。为了提高数据的精确度,重点探讨超声波在测量水平面高度时所受到诸如温度,气候以及超声波强度衰减等因素的影响,以及采取相应的措施来减少误差。速度的影响:超声波在工业应用中的频率为5kHz-5MHz,超声波探头到介质外表距离的计算公式如下:D=t×2/CD:探头到介质外表的距离t1:声波的传播时间C:波的传播速率由此可知,除了声波的传播时间的测量准确性,声波的传播速度起着决定性的作用,声速的变化取决于传播媒介的不同。在实际应用中,多种因素影响着传播媒介及声速。为了获得更加准确的测量结果,超声波液位仪可以由所处环境的不同来设定不同媒介的声速[6]。温度的影响:如下表1.1,温度的变化影响着声速的变化,在正常环境中温度的变化带给声速的变化为0.17%℃。在实际应用中,由于探头周围环境,超声波传播媒介的温度以及被测介质的温度不尽相同。因此,可以使用温度补偿这样的方式来提高数据的精确度。1.2.2论文的章节安排本文首先介绍了超声波液位仪测距的工作原理。接着基于测距原理,介绍了硬件设计。为了提高测量精度,我们又设计了一种以51单片机为核心的低本钱、高精度、微型化数字的超声波液位仪系统。针对测量环境的改变,介绍温度补偿和平均滤波这两种方法来提高超声波液位仪精度。论文研究内容和章节安排如下:第一章:介绍本课题的背景与意义,研究的历史和现状。第二章:重点讲解往返时间检测法测距的理论,以及对超声波探头的工作原理进行详细介绍。第三章:超声波液位仪的主控制电路,重点介绍51单片机和外围电路的设计,以及各种器件的选择。特别是对相关传感器的介绍。第四章:超声波液位仪的软件设计,包括软件流程图,以及程序代码的关键局部。系统软件程序使用C语言编写。第五章:通过温度补偿和数字平均滤波的方式来提高超声波液位仪的精确度。同时对产生的误差进行分析。第二章超声波的液位测量原理2.1超声液位仪理论根底2.1.1超声波介绍超声波是一种人耳无法听到的、频率一般超过20kHz的声音,它具有以下特性:〔1〕波长与辐射:传播速度是用频率乘以波长来表示。电磁波的传播速度是3×108m/s,而声波在空气中的传播速度很慢,约为344m/s。在这种比拟低的传播速度下,长很短,这就意味着可以获得较高的距离和方向分辨率。正是由于这种较高的分辨率特性,才使我们有可能在进行测量时获得很高的精确度。〔2〕反射:要探测某个物体是否存在,超声波应能够在该物体上得到反射,由于金属、木材、混凝土、橡胶和纸等可以反射近乎100﹪的超声波,因此我们可以很容易地探测到这些物体。由于布、棉花等可以吸收超声波,探测到他们将十分困难。另外,由于不规那么反射,通常可能很难探测到外表震动幅度很大的物体。〔3〕温度:声波传播的速度“V〞可以用以下公式〔2.1〕表示:V=331.5+0.607t(m/s)〔2.1〕式中,t=温度〔C〕,也就是说,声音传播速度随周围温度的变化有所不同。因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的。〔4〕衰减:传播到空气中的超声波强度随距离的变化成比例地减弱,这是由于衍射现象上的扩散损失,和介质吸收能量产生的吸收损失。2.1.2超声波探头的结构和原理超声波探头是利用超声波的特性研制而成的传感器。超声波是一种振动频?率高于声波的机械波,由换能芯片在电压的鼓励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够定向传播等特点。超声波对液体、固体的穿透能力很大,尤其是在不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射,从而形成反射回波,碰到活动物体能产生多普勒效应。因此这项技术广泛应用在工业、国防、生物医学等方面以这种检测手段,必须发射超声波和接收超声波。能同时完成这种功能的装置就是超声波探头,也称为超声换能器[10]。对应用于工业的超声波探头而言,要求其精确度要到达1mm,并且具有较强的超声波辐射。利用常规双压电芯片组件振动器的弯曲振动,在频率高于70kHz的情况下,是不可能到达此目的。所以,在高频率探测中,必须使用垂直振动模式的压电陶瓷。压电陶瓷的声阻抗与空气的匹配就显得十分重要,它的声阻抗为2.6×107kg/m2s,而空气的声阻抗为4.3×102kg/m2s。5个幂的差异会导致在压电陶瓷震动辐射外表上的大量损失。负载压电陶瓷,它可以使超声波探头在高达数百kHz频率的情况下,仍能够正常工作。压电型超声波探头的工作原理:它是借助于压电晶体的谐振来工作的,即陶瓷的压电效应。超声波探头有两块压电晶片和一块共振板,给它的两级加上脉冲信号,当其频率等于晶片固有频率的时候,压电晶片就会产生共振,并带动共振板一起振动,从而产生超声波。反之,如果电极间未加电压,那么当共振板接收到回波信号时。将压迫两片电晶片振动,从而将机械能转换为电能,此时的探头就成了超声波接收器。如图2.1所示,一个复合式振动器被灵活地固定在底座上。该复合式振动器是由谐振器以及由一个金属片和一个压电陶瓷片组成的双压电芯片构成。谐振器呈喇叭形,目的是能有效地辐射,并且可以使超声波聚集在振动器的中央部位[12]。2.1.3T/R40-16超声波探头超声波探头选用40kHz的T/R40-16型压电陶瓷传感器,如图2.3所示。当T/R40-16超声波探头在输入频率为40kHz时,各种特性呈现最正确状态。因此为了得到最正确效果必须使单片机输出方波的频率为40kHz[7]。超声波探头的性能指标:中心频率40kHz,发射声压大于115dB,电容2400pF,允许输入电压12V。其发射探头频率特性曲线图在中心频率40kHz处,超声发射器所产生的超声机械波最强,即在f0处所产生的超声声压能级最高。而在f0两侧,声压能级迅速衰减,因此,超声波发射时要用非常接近中心频率f0的交流电压来驱动。同样,接收探头器在中心频率f0处输出电信号的幅度最大,即在f0处探头的灵敏度最高。2.1.4传感器的指向角θ超声波探头的指向角是声束半功率点的夹角,是影响液位仪的一个重要技术参数,它直接影响测量的分辨率。对圆片传感器来说,它的大小与工作波长λ,圆形传感器半径r有关。指向角θ越小,空间分辨越高,那么要求传感器半径r越大。由公式〔2.2〕,可知θ。〔2λ/π)×r×sin(θ/2)=1.615〔2.2〕选f0=40kHz时,λ=C/f0=8.5mm。当f0选定后,指向角θ近似与传感器半径成反比。指向角θ愈小,空间分辨率愈高,那么要求传感器半径r愈大。鉴于目前电子市场的压电传感片规格有限,为降低本钱,在不降低空间分辨率的条件下,选用国产现有压电传感器片最大半径r=6.3mm,故θ=2×arcsin(21.615λ×π×r)=75°,超声传感器的指向图由一个主瓣和几个副瓣构成,其物理意义是0°时声压最大,角度逐渐增大时,声压减小。超声传感器的指向角一般为40°~80°,如图2.4所示。2.2超声波液位仪工作原理2.2.1超声波液位仪工作原理超声波液位仪的根本工作原理是利用超声波传播时间和传播速度来确定液面距离。即所谓的脉冲——回波方式[14]。如图2.5所示,由超声波的入射和反射之间的夹角θ,可以计算出探头距液面垂直高度L=Scos(θ/2),L为超声波到液面的垂直距离,S为实际距离,液位高度计算公式为:L=vt/2*cos(θ/2)〔2.3〕其中,v表示超声波声速,t表示超声波传播时间。单片机根据脉冲发射时间和接收的时间计算出时间差t,即超声波在空气中传播的时间,并由式:S=1/2Ct〔2.4〕计算出距离S,式中参数C是超声波在空气中传播速度,因而设置温度传感器进行修正。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要到达毫米级的测量精度,但是目前国内的超声波液位仪专用集成电路都是只有厘米级的测量精度。通过温度补偿和数字平均滤波的方法,可以将数据提高到毫米级。2.2.2测量盲区由于发射声脉冲自身有一定的宽度,加上放大器有阻塞问题,在靠近发射脉冲一段时间范围内,所要求发现的缺陷往往不能被发现,这段距离,称为盲区。用脉冲回波测量距离时,液面与超声波探头间的距离既不能太远也不能太近,存在着近限和远限。距离过远时,接收到的信号太弱,以致无法从噪声信号中分辨出来,这是远限所以存在的原因。在距离过近时,接收信号将落进盲区中而无法分辨,这是近限所以存在的原因[17]。超声波液位仪在使用一个探头情况下,同时发射和接收超声波,由于在探头上施加的发射电压强达几十伏甚至上百伏以上,虽然发射信号只维持一个极短的时间,但停止施加发射信号后,探头上还存在一定的余振,因此在一段较长时间内,加载接收放大器输入端的发射信号幅值仍是相当强的,可以到达限幅电路,引起探头振动,不能进行正确的测量,在这种情况下,选用两个探头分别用于发送和接收。双探头方式,不仅可以增加探测距离,还可以减小盲区。由于发射探头上并不直接施加发射电压,所以,从理论上说,可以没有盲区。但是,由于接收电路多少会受到发射电路的感应,并且发射探头所发出的超声波可能有局部直接绕道接收探头,因此实际上仍存在一定的盲区,不过他要比单探头方式的盲区小很多。所以,在本设计中,选取了双探头的工作方式,减小盲区,同时提高检测的距离。2.3本章小结本章介绍了超声波的特性,对超声波在传播过程中的衰减与声波所在介质等关系进行了分析,在超声波测量工作原理中,分析指出把超声波往返时间的测量转化对计数脉冲个数的测量。第三章硬件总体设计3.1超声液位仪总体设计超声波液位系统由单片机、超声波发射电路、接收放大电路、闸门控制、时钟发生等局部组成。通过对系统各局部所需要的电压和电流的计算,来选择不同的电子器件,经过不断地测试,到达了硬件总体设计的要求。3.2单片机电路作为超声波液位仪系统的核心部件,单片机的选择对整个系统功能的优化起着至关重要的作用。面向工控领域的单片处理器,目前广泛应用的有51系列的8位单片机及面向大量数字信号处理领域的数字信号处理器(DSP)。DSP器件在工控领域的应用,从长远看是一个必然的趋势,但目前DSP件的使用偏重于高端应用领域,对于智能仪表所开发的功能得不到充分利用,不能很好的表达器件优势。51单片机具有开发技术成熟、应用广泛等优点,尤其是在ATMEL公司将Flash存储技术应用到单片机产品中,将Flash存储技术与Intel公司的MCS-51核心技术相结合,形成了AT89系列单片机[16]。AT89C51是美国ATMEL公司生产的低电压,高性能,CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器和128位的随机存取数据存储器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置通用8位中央处理器〔CPU〕和Flash存储单元,功能强大A。T89C51单片机的高性价比,可灵活应用于各种控制领域。3.2.1复位电路设计工业环境中的干扰大多是以窄脉冲的形式出现,而最终造成微机系统故障的多数现象为“死机〞。究其原因是CPU在执行某条指令时,受干扰的冲击,使它的操作码或地址码发生改变,致使该条指令出错。这时,CPU执行随机拼写的指令,甚至将操作数作为操作码执行,导致程序“跑飞〞或进入“死循环〞。为使这种“跑飞〞或进入“死循环〞的程序自动恢复,重新正常工作,一种有效的办法是采用硬件“看门狗〞技术。用“看门狗〞来监视程序的运行。假设程序发生“死机〞,那么看门狗产生复位信号,引导单片机程序重新进入正常运行。3.2.2电源电路设计电源是整个系统的能源中心,系统中所有器件的运作都需要电源来提供能量,因此系统电源的质量在很大程度上影响到单片机系统的稳定性。交流电经过电源变压器、整流电路、滤波电路和稳压电路转换成稳定的直流电压。直流电源的输入为220V的电网电压,一般情况下,所需直流电压的数值和电网电压的有效值相差较大,因而需要通过电源变压降压后,再对交流电压进行处理。变压器副边与原边的功率比为P2/P1=η,η是变压器的效率。滤波的任务,就是把整流器输出电压中的波动成分减少,输出恒稳的直流电。常用的整流滤波电路有全波整流滤波、桥式整流滤波等。各滤波电容C满足公式〔3.1〕:RC=〔3~5〕T/2(3.1)式中T为输入交流信号周期,RC为整流滤波电路的等效负载电阻[21]。3.2.3时钟振荡器晶体振荡器,以下简称晶振,是基于晶体的压电效应原理制造而成的。当在晶片的两面上加交变电压时,晶片因反复的机械变形产生振动,而这种机械振动又会反过来产生交变电压。当外加交变电压的频率为某一特定值时,振幅明显加大,比其它频率下的振幅大得多,并且产生共振,这种现象称为压电谐振.晶振发生振荡必须附加外部时钟电路,一般是一个放大反应电路,只有一片晶振是不能实现震荡的,于是就有了时钟振荡器。将外部时钟电路跟晶振放在同一个封装里面,一般都有4个引脚,两条电源线为里面的时钟电路提供电源,又叫做有源晶振,时钟振荡器,或简称钟振.好多钟振一般还要做一些温度补偿电路在里面,让振荡频率能更准确。设计中使用12MHz的晶振,通过单片机内部6分频,发生2MHz的ALE信号,经过超声波发射电路,获得探头所需的40kHz的频率。3.3发射电路超声波液位仪是基于反射超声波的测距原理来确定液位,因此,它在工作时为了能够接收到回波信号,就需要发射出具有一定强度的超声波信号,并且发射局部为超声波探头提供一个具有一定频率的电压信号。两片十进制计数器74LS90和74LS00触发器组成的超声波发射电路,如图3.6。由于单片机使用12MHz时钟晶体,经过89C51单片机内部的6分频,发出ALE信号为2MHz,要产生40kHz的信号,需要对ALE信号进行2000/40=50分频,74LS90不仅是十进制计数器,也可以将两片74LS90,实现对ALE信号50分频的效果,当单片机的P1.5管脚发射的时间信号脉冲处于高电平时,使74LS90发出的40kHz频率通过74LS00,经过上下电平转换,传到发射探头,引起共振,驱动超声波探测器发出超声波,如图3.4。3.4接收电路超声波接收电路设计由反向比例运算电路,滤波电路和阈值电压比拟三局部组成,超声波在传播的传播中不可防止地衰减,再经过物体外表的吸收、散射后,反射回来的回波信号已经极其微弱,要想测到回波,必须对其进行滤波放大,放大调节后的信号作为输入信号,变成直流电平。接收超声波的放大电路,采用的是反向比例运算电路,如图3.8所示,由于输入电压通过电阻R4作用于集成运放的反向输入端,故输出电压与输入电压反向。根据运算放大器的放大倍数公式:Avf1=-(R1/R4)=20(3.2)Avf2=-(R2/R5)=10(3.3)Avf=Avf1×Avf2=200(3.4)可知,第一级放大电路反向放大20倍,同理二级放大电路放大10倍,经过滤波电路,恢复了正向波形,接收信号被放大200倍。接收探头采用与发射探头相同的T/R40超声波探头。超声波液位仪接收局部的任务是通过适当的滤波将超声波探头接收到的微弱信号经滤波放大和检波后送至信号处理器。它的主要组成局部是:滤波放大、放大调节、检波和信号处理。再和电压比拟器设定的阈值电压进行比拟,获得低电平信号,传给单片机的外中断,单片机内的计数器停止计数。从而得到超声波从发射到返回时间,最后把时间量与声速相乘,转换为距离量,显示值直接为距离值。3.5液晶显示电路液晶显示电路使用的是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库〔16×16点阵〕、128个字符〔8×16点阵〕可与CPU直接连接,并且提供两种接口来连接微处理机即8位并行及串行两种连接方式。具有多种功能:光标显示、画面位移、睡眠模式等。3.6温度测量电路由于超声波在空气中的传播速度和温度有关,为了修正超声波的速度,就需要测量温度,以便获得准确的超声波速度。温度测量就是为了实现这一目的。温度测量采用DALLAS公司的DS18B20芯片,该芯片的性能指标如下:〔1〕独特的单线接口,只需1个接口引脚即可通信〔2〕多点能力使分布式温度检测应用得以简化〔3〕不需要外部组件〔4〕可用数据线供电〔5〕不需要备份电源〔6〕测量范围从-55℃~+125℃,增量值为0.5℃〔7〕以9位数字值方式读出温度〔8〕用户可定义的,非易失性温度告警设置〔9〕告警搜索命令识别和寻址温度,温度在编定的极限之外的器件3.7串行通信口电路由于单片机提供的是TTL的电平,而计算机提供的是RS232电平,要实现单片机与计算机的通信,必须对它们的电平进行转换,可用MAX232芯片来实现,如图3.10。89C51单片机本身的串行接口TxD,RxD为TTL电平,信号幅值较低,易受干扰只适合很近距离的通讯,因此,广泛采用RS-232C串行接口与TTL间进行电平转换。电压改变的速度必须和接收端的接收速度保持一致。完RS-232接口需要22根线,采用标准的25芯插头。设计中实现了超声波液位仪的远程通讯功能,将单片机获得的液位数据传送到上位机,以便于工作人员的监控和操作,并可将历史数据存储在PC机内,尤其适用于室外测量或恶劣环境下的测量,由此使得系统的应用范围更广。本系统采用的是9芯的D型RS-232连接器串行通讯,通讯距离最远可达15m。RS232封装如图3.11所示。MAX232需要外界4只0.1uF电容,或者1uF的电解电容。之所以需要电容,是因为RS232电平是工作在大约-9V~+9V之间,需要把将5V电压转换成RS-232电平所需要的+10V和-10V。电路上形象地称为电荷泵[31]。设计中选用了9针的D型连接器,如图3.11所示,并给出了9个引脚的功能。说明:引脚1:DCD,方向I,载波检测引脚2:RXD,方向I,数据输入引脚3:TXD,方向O,数据输出引脚4:DTR,方向O,数据终端就绪引脚5:GND,地引脚6:DSR,方向I,数据设备就绪引脚7:KTS,方向O,请求发送引脚8:CTS,方向I,去除发送引脚9:RI,方向I,振铃指示第四章系统软件设计4.1软件总体设计4.1.1软件设计流程图单片机液位仪的软件功能是控制超声波的发射和接收,对超声波的传输时间进行测量,结合超声波的传播速度,计算出距离,并把数字滤波后的结果显示出来。要实现上述功能,软件包含初始化、参数读入、超声波发射、超声波传输计时、声速计算、超声波传输距离计算、数字滤波、计算结果显示等功能模块。软件总体流程图,如图4.1所示。目前单片机的主流编程语言有汇编语言和C语言两种。汇编语言的优点是程序效率高、代码短,但存在可读性可移植性差的缺点。C语言的优点是可读性好、可移植性好的优点,但存在代码效率较低、代码较长的缺点。考虑超声波液位测量系统测量速度要求不高,数据计算量大的特点,超声波液位测量系统采用C语言编写。软件设计运用模块化程序设计思想,对不同功能的程序进行分别编程,这样不但使得整个软件的层次和结构比拟清晰,而且有利于软件的调试和修改。按照液位测量仪的需要,超声波驱动与数据处理模块主要任务是用单片机产生40kHz的脉冲,驱动超声波探头器发射超声波,同时采用计数器计时;当超声波接收器接收到回波信号时停止计时,由此得出超声波的传输时间T,再利用第二章所介绍的公式,可求出待测距离h,由此算出液体的高度[33]。?4.1.2主程序结构流程图主程序是单片机程序的主体,它负责调用系统的子程序,中断程序等各个功能转换。如下图为系统的主程序流程。程序首先完成初始化过程,然后是一个重复的控制发射信号,而且每次发射周期结束都会判断在发射信号后延时等待的过程中是否发生了中断,即回波是否到达。由于采用了单片机89C51并考虑整个系统的控制流程,整个系统软件都由89C51系列单片机C语言实现。由于距离值的得出及显示是在中断子程序中完成的,因此在初始化发射程序后进入中断响应的等待。在中断响应之后,原始数据经计数值与距离值换算子程序,二进制与十进制转换子程序后显示输出。如图4.2。4.1.3回波接收流程图4.1.4中断程序流程图中断效劳程序是响应单片机的外部中断。在系统硬件中,发射的40KHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。在中断效劳程序中,要从把进入中断效劳程序处的计数值读出并保存在RAM中,再对该数据进行处理,计算得到相应的距离值,并转换为十进制,最后显示输出。如图4.4和图4.5。4.1.5串行口通信流程图为了便于数据的

温馨提示

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

评论

0/150

提交评论