便携式多功能量水仪的研制

武汉水利电力大学水利学院(430072) 罗本成 宋光爱
 
    摘 要 介绍一种基于AT89C51单片机开发的便携式多功能量水仪,该仪器能测量明渠的水位、流量,可满足多种输入量的要求,通用性较强。着重介绍了系统的软、硬件设计。

    关键词    便携多功能    AT89C51单片机      量水仪

     目前普遍使用的量水仪(或水位仪),要么功能单一(或功能较少),在实际应用时还需要额外的辅助设备;要么功能较全,但体积较大,不方便携带,功耗也较大,供电设备还要额外配置。基于单片机开发的各种量水仪,以其成本低、方便实用、精确而被广泛应用在水利工程中。为此,笔者结合实际的需要,开发研制了一种基于AT89C51单片机的便携式多功能量水仪。该仪器功能集中,不仅能实现信号的自动调理,而且还能实现数据的通信、报表打印、密码及K/N参数的设置以及掉电保护等多种功能。更为突出的是,该仪器能与多种液位传感器直接接口,携带方便,供电简单,功耗比较低。

1 系统的硬件设计

    系统的硬件主要由AT89C51单片机、增益调节电路、LM331V/F转换器、81C55 I/O口扩展器、两片ICM7211四位液晶显示器、CD4051八选一模拟开关、CD4052双四选一模拟开关、4´ 4薄膜触键及六位液晶显示器LCD等组成,其框图如图1所示。 

 LBC_1.gif (1770 字节)

 图1 系统的硬件电路框图

1.1 信号增益调节电路

    增益信号是由程序控制的,它根据待测量信号幅值的大小来改变放大器增益,以使不同幅值范围的输入信号都能放大到A/D精确转换所需的幅值范围。本仪器设计的输入量程为0~ 5V,分辨率是1.0mV。为了保证测量精度的一致性,设计了以一片CD4051八选一模拟开关、若干高精密电阻和一个低功耗运算放大器OP07等组成程控增益放大电路。鉴于实际场合中常用的液位传感器输出满量程电压一般为60mV200mV2V5V等几种,故设计了0~ 5V的量程,具体电路组成如图2所示。其中N1N2组成同相关联差动放大器,N3为电压跟随器,主要用来抑制共模信号,N4是输出差动放大器,整个电路的增益可通过改变权电阻网络R0~ R7来调节。

LBC_2.gif (4167 字节) 

 图2 信号增益调节电路图

1.2 信号A/D转换电路

     为了适应便携式仪表电池供电、功耗低等特点,采用了功耗低、高精度、供电简单的V/F转换芯片LM331组成电压-频率(10V-100kHz)的A/D转换电路,其输出频率与输入电压的关系为

1

    通过AT89C51T0计数器(其中T1作定时器用)计算出fOUT,从而得到输入Vin,进而算出水位值HiHi~ Vin),具体如图3所示。

    在该电路中,电阻R1680kW ± 10%,它主要是使LM331的输入端7脚产生偏流,以抵消6脚偏流的影响,从而减少频率偏差。R39和可调电位器RW3的作用

LBC_3.gif (2260 字节)3 信号A/DV/F)转换电路

 

是调整LM331的增益偏差和由R23R25C6引起的偏差。当6脚、7脚的RC时间常数匹配时,输入电压的阶跃变化将会引起输出频率的阶跃变化,如果C8C9小得多,那么输入电压的阶跃变化可能会使输出频率瞬间停止。6脚的47W 电阻R231.0m F电容器C9并联用以产生滞后效应,使V/F转换获得良好的线性度。

1.3 低功耗设计

该仪器全部芯片均选用CMOS低功耗芯片,其余外围电路采用了低功耗设计,并设计了4×4触摸薄膜键盘及六位LCD液晶显示器作为人—机接口。在软件设计上,整个系统采用了等待和掉电工作的节电运行机制,功耗较低。

2 系统的软件设计

    软件是系统的指挥中心,由它来配合控制完成各种预定功能。为了充分发挥AT89C51优越的性能价格比,在设计上尽量做到硬件“软化”,使系统硬件设计得到简化。系统软件采用MCS-51汇编语言编写,采用了模块化结构设计。为增强系统的实时性,对那些偶发事件采用中断方式处理。

2.1 系统的软件算法

    在明渠量水建筑物中,较为典型的是巴歇尔水槽。在自由流情况下,巴歇尔水槽的水位H和流量Q关系是简单的二值函数。利用回归分析技术,可以求出HQ 流量经验公式。为了便于分析和应用,我们在水工实验中主要是针对自由流情况的,从而得到大量的HQ 曲线数据组。

    巴歇尔水槽在自由流时的流量公式为

       Q = K·H N               (2

式中,Q为流量(m3/s),KN为流量系数,H为上游水头高(m)。由于流量经验公式是指数型函数,故先对巴歇尔槽流量公式两边取对数,得

        lnQ = lnK + N·lnH      3

    设y=lnQa=lnKb=Nx=lnH

    式(3)可写成

        y = a + b·x               4

    然后,利用实测的大量独立(HQ)数据,求出回归系数ab的最小二乘估计量lbc-6.gif (99 字节)(亦即为ab的无偏估计量),从而得到回归函数的估计

lbc_5.gif (162 字节)

5

    由y = a + b·x + εε~ N0,δ2),可知yx变化趋势的大小主要受参数b的影响,故建立如下假设检验:

       H0 : b = 0 H1 : b0        6

用以检验线性回归效果的显著性水平。符合实际要求后,则得到流量系数KN的估计值。有了流量经验公式,系统就可根据所测的水位 H值来计算出流量值Q

2.2 系统的主程序设计

     主程序主要用于系统的控制和管理。系统加电后,AT89C51自动上电复位,开始运行主程序,主程序框图见图4所示。系统首先显示“0-××××”,表示系统在进行自检和自校零工作。此时要求操作员不断地调节调零电位器,直到校零达到精度要求时为止,然后按回车键表示校零完成(理想情况下显示为“0.00000”)。接着显示“1-××××”,表示系统在进行满度校正工作。同样,操作员需要不断地调节满度电位器,直到满度校正达到精度要求时为止,然后按回车键表示满度校正完成(理想情况下显示为“5.00000”)。接着系统依次显示“L”、“E”等提示符号,要求操作员输入流量系数KN值。当输入正确后,系统进行初始化T0T1。一切处理完毕后,系统开始正常的运作过程,并进入待机低功耗工作状态。

需要说明的是,仪器还具有简单的密码设置功能。当设置密码后,要进行流量系数修改时,必须首先输入正确的密码,否则系统不予以响应。这样能在一定程度上保证流量系数KN的安全性。

LBC_4.gif (9251 字节)

4 系统程序框图

2.3 中断采集服务程序

    系统在此环节完成V/F信号采集、自动量程转换、流量计算及显示水位H、流量Q等参数。其中K/NW(总流量)参数显示采用了复用键,由软件设计的奇偶次切换决定。一般情况下,系统自动循环地显示H-Q值。

    该模块在运行时,首先保护现场,进行初始化设置,启动T0定时器(T0的定时时间为100ms,时间常数为3CB0H)和T1计数器,由T1记录V/F转换输出的脉冲数。然后,系统连续采样10次,利用数字滤波技术得出当前的有效采样值。接着,判断系统是否已经进行了自校正,若没有,则先进行系统的自校正;若已完成了自校正工作,则继续后续程序块,计算水位H、流量Q、总流量W值。最后根据控制命令显示这些参数,调用功能键处理模块,巡查有无控制命令,恢复现场、中断返回。

    此外,系统还设计了串行口通信程序,实现与上位机之间的数据通信,上传HQKNW等参数值及接受上位机对参数的修改和控制。

3 量水仪的精度问题

    该仪器充分利用了AT89C51具有高性价比的特点,在不增加硬件资源的前提下,尽量做到硬件“软化”,提高了仪器的测量精度。

3.1 数字调零和增益自校正

    仪器在测量前首先进行自校正工作,即依次选通差动输入接口芯片CD4052Y0Y1输入端口(其中Y0端接地,Y1端接标准+5V电源),然后调节相应的微调器使仪器自校正达到设计要求。在正式测量时,设选通Y0输入端时,仪器测得V/F计数值为X0,选通Y1输入端时,测得计数值为X1,设测得传感器信号输入的计数值为Xi,则每次测量的计算公式为

       Hi =XiX0/X1X0* Hst        (7

式中Hst为标准5V时的水位值。

    这样,Hi与放大器的漂移及增益误差无关,不仅可提高仪器的测量精度,还可降低对器件精度的要求。

3.2 采用模糊量程档位

    程控量程自动转换是由信号放大增益档位的选择实现的,这里采用了增益步进法,即将增益由小到大逐步提高,直至选择最佳的放大倍数。但是,由于器件转换灵敏度的局限性,测量有时会不够准确(尤其是在量程档位临界区),从而导致量程选择出现错误,甚至进入换档死循环。考虑到这一点,我们在相邻两个量程临界区设置± 5%量程选择模糊区,当测量的输入值落入量程模糊区时,则不改变放大器的当前增益。经过实验表明,采取模糊量程区能有效地防止放大器的增益来回跳动现象。

3.3 数据放大处理

    在硬件上做到使测量精度达到均一化的同时,在软件设计上也进行相应的数据“放大”处理。在计算Hi值过程中,先将数据“放大”,精度提高到0.1mm。然后进行二进制乘运算,最后再统一转化为三字节浮点数进行浮点数运算,从而避免精度较低的直接二进制除运算。程序运算中采用了三字节浮点数及四字节BCD码浮点数进行流量计算,补偿修正后输出显示,使仪器的测量精度达到小数点后四位。

3.4 信号隔离处理

    对检测信号通过LM331进行了硬件上的信号隔离;输入环节上增加滤波电容及输入保护电路。系统的硬件设计遵循“一点接地”的原则,减少系统因电环路形成的干扰。  

3.5 可靠性设计

    在软件上进行了可靠性设计,在每个模块后和程序PROM的空白区加了软件陷阱。并在一些重要的跳转指令之间进行软件冗余设计。此外,还设计了溢出报警,避免显示错误的信息。

    表1的一组数据是采用本仪器测出的实际流量Q和理论计算流量Q的比较,其中流量系数K=2.3215N=2.2406Q值理论计算为

      Q = K * exp { N * lnH}        (8)

1 实测流量与理论计算流量之比较

水位H(m)

实测流量Q(m3/s)

理论流量Q(m3/s)

0.019

0.00038

0.000323

0.048

0.00252

0.002576

0.111

0.01686

0.016850

0.201

0.06302

0.063750

0.330

0.19421

0.193620

0.656

0.90507

0.902660

0.897

1.81500

1.819700

1.198

3.47929

3.479840

2.702

21.49780

21.528000

4.786

77.49190

77.502500

    从表1可以分析出,采用此仪器测量出的流量Q与理论计算出的流量Q之间的误差小于 0.5%,已满足了实际应用的精度需求。

4 结束语

    该仪器功能较全,携带方便,供电简单。系统已留出部分硬件资源,以备将来扩展系统的功能(如构成主从式渠系运行监测系统)。若进一步改进,该仪器能有效地应用于水利工程或其它类似工程中,以实现快速、灵活的参数测量,有着较高的实用推 广价值。

参 考 文 献

1 何为民. 低功耗单片微机系统设计. 北京:北京航天航空大学出版社,1994

2 周航慈. 单片机应用程序设计技术. 北京:北京航天航空大学出版社,1991

3 李兰友. 单片机开发应用十例. 北京:电子工业出版社,1994

4 赵纯. 便携式多功能测温仪的设计. 电子与仪表,1997.5

5 罗本成. 渠系自动化运行监测系统的研究与开发. 武汉水利电力大学硕士学位论文. 2000.2

6 庄楚强. 应用数理统计基础. 广州:华南理工大学出版社, 1993