新闻中心

EEPW首页 > 测试测量 > 设计应用 > 用ADuC812设计超声波非接触液位计

用ADuC812设计超声波非接触液位计

作者:时间:2006-05-07来源:网络收藏

摘要:阐述了超声波非接触液位计测量的原理,给出了硬件电路和软件编程的设计方法,对其应用也作了简单介绍。

本文引用地址:http://www.eepw.com.cn/article/255658.htm

关键词:ADuC812芯片、超声波、液位、非接触


1.概述

随着电子技术、计算机技术以及大规模集成电路芯片技术的飞速发展,超声测距技术也日臻成熟。于九十年代初,国内开始将超声测距技术应用于河流、湖泊、水、渠等水体的水位测量中及其油、浆等液体的液位测量之中,并开始发挥其重要作用。

ADuC812是ADI公司99年开发面市的新一代、带有闪速MCU的多通道12位A/D转换器,用ADuC812作为核心,加上超声波发、收电路以及存储、显示等电路所组成的超声波非接触液位计,不仅减小了仪器的体积,更增加了仪器的可靠性、稳定性和实用性。

2.ADuC812芯片特性

图1是ADuC812内部功能框图,该芯片具有与8051兼容的内核,额定工作频率为12MHz(最大为16MHz),3个16位定时器/计数器,32条可编程的I/O口线,端口3具有高电流驱动能力,9个中断源并有2个优先级。芯片内集成有8K字节闪速/电擦除程序存储器,640字节闪速/电擦除数据存储器,片内充电泵(不需要外部Vpp );256字节片内数据RAM,16M字节外部数据地址空间,64K字节外部程序地址空间。在摸拟输入输出方面:片内集成有8通道、高精度的12位A/D,片内40ppm/℃电压基准,采样速率达200kSPS,DMA控制的高速A/D至RAM捕获,2个12位电压输出D/A,片内温度传感器功能。在电源方面,芯片可用3V或5V供电,并有正常、空闲和掉电三种工作摸式。片上还集成有:UART输入/输出口,双线(I2C兼容)和SPI串行I/O口,看门狗定时器和电源监控电路。

3.测量原理

超声波非接触液位计的测量原理如图2所示:由CPU控制超声发射电路,通过超声传感器发射超声脉冲波,该脉冲波遇到被测液面(水面)后,反射到超声传感器,CPU通过测计发射、接收之间超声波往返的传播时间t(秒),来计算测量距离h,图2中:

h=1/2·vt (米)

v 为空气中的声速,其近似公式为:

v=331.45+0.61T (米/秒)

T为测量时的气温(℃),可以在测量距离的同时测量气温来进行对声速的修正。

图2中设传感器安装高程为H0(可在安装传感器时测得),则液位H可用下式算得:

H=H0-h=H0-1/2·vt (米)

本液位计时间测量精度为微秒级,温度测量精度为0.1℃,由此产生的液位测量误差经分析计算为1厘米。

4.硬件电路设计

根据液位测量原理及ADuC812的特性, 非接触超声波液位计的电路组成如图3所示:主要有单片机控制系统,时钟值班电路,超声波发射、接收电路,键盘显示等部分组成。

单片机控制系统 以ADuC812为核心,控制液位计测量、运算处理、显示、打印、向外传送数据等。设计6位LCD液晶显示器用来显示液位和参数值,用TPup-16微型打印机记录测量时的时间、液位;设计有256KB×8字节的自带电池保护的非易失数据存储器SRAM,用来存储时间及液位;超声传感器的安装高程、时钟及测量、打印、存储液位的时间间隔等参数都是通过4个功能键置入的。为提高液位计的可靠性,设计有上电复位、手动复位及自复位(利用ADuC812内部的看门狗定时器);为了能适时向外传送测量结果,液位计设计有与无线数传电台及有线的RS-232接口,便于用户配接。

时钟值班电路 为满足水文自动化测报的需要,液位计的电源值班电路由微功耗的电源变换器件及逻辑电路等组成,用来根据所设定的测量时间间隔,产生上电控制信号,使除打印机以外的整个液位计得电工作,打印机只有在到达设定的打印时间才由CPU控制上电打印,打印完毕即关闭打印机电源;当液位计每次的测量工作完成后即由CPU送出掉电控制信号,使除值班电路正常供电外,其余电路全无电能消耗。

模拟电路 包括超声波的发射、接收、信号转换及温度的测量等几部分电路组成。

由ADuC812的P3.3、P3.4产生出一定频率的经调制好的矩形超声波脉冲,送入超声波发射电路,经功放、转换电路后由超声传感器发向被测液面,当超声波遇到液面后被反射回来,在通过超声波传感器接收至转换电路并进入接收电路。在接收电路中,回波信号经放大、解调、检波、整形等后送入ADuC812的P3.2 口,并产生中断信号,由计时电路记录下从发射超声波至接收到回波的时间,即完成了一次的时间测量。

温度的测量是采用ADI公司的集成温度传感器AD590来实现的,AD590为线性电流输出:1μA/οK,正比于绝对温度;测温范围为-55~+150℃;电源范围为+4V~+30V。根据AD590的特性及ADuC812的A/D转换精度计算、测试得出,本电路可测温度的灵敏度为0.1℃。

5.软件编程设计

软件设计采用摸块化结构,整机软件由主程序、键处理子程序、计算子程序、显示子程序、数据存储子程序、打印子程序、数据传送子程序等组成。

主程序 如图4所示,液位计在第一次上电时要进行系统初始化并自检,正常后判是否调试状态,是则通过键盘显示输入有关参数,然后依次完成测量、计算、显示、存储、打印、传送数据等子程序,最后控制掉电。

子程序 在键处理子程序中,将依次对功能键、移位键、数字键进行相应的处理,并存入对应单元。测量子程序中,首先由ADuC812控制产生一频率、宽度、幅度一定的超声脉冲波,发向液面,并开计时器,对接收到的液面反射回波还要进行频率、宽度、幅度判别,为消除液面波动及偶然因素的影响,采用一定时间内多次测量,计算处理上采用数字滤波、程序限幅等技术,以提高测量的正确和准确性。在数据存储子程序中,是将需要存入的时间、液位数据经压缩后存入256KB×8字节的SRAM中,按6分钟测量并存储一次,则可存储一年的液位数据。其它子程序及各子程序框图限于篇幅不再给出。

6.应用

本液位计在测量过程中无任何部件触及液面,实现了非接触测量,所以无论液面是流动、波动或是有漂浮物以及有化学反应等都可应用。

该液位计的主要性能指标为:测距1.0~12.0米,精度±2厘米,分辨率1厘米。测量、存储、打印的间隔为1分钟~12小时,可由键盘设定。测量数据可用有线、无线向外传送,电源用12V蓄电池加太阳能(或交流电)浮充,整机功耗小于0.1瓦(6分钟测一次)。

该液位计是非接触测量的理想仪器,现已经分别安装在黄河的干支流及大中型水库上多处,用于水位的自动测报,运行工作正常,性能稳定可靠,受到用户好评。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

超声波液位计相关文章:超声波液位计原理


液位计相关文章:磁翻板液位计原理




评论


相关推荐

技术专区

关闭