目前普遍使用的量水仪(或水位仪),要么功能单一(或功能较少),在实际应用时还需要额外的辅助设备;要么功能较全,但体积较大,不方便携带,功耗也较大,供电设备还要额外配置。基于单片机开发的各种量水仪,以其成本低、方便实用、精确而被广泛应用在水利工程中。为此,笔者结合实际的需要,开发研制了一种基于AT89C51单片机的便携式多功能量水仪。该仪器功能集中,不仅能实现信号的自动调理,而且还能实现数据的通信、报表打印、密码及K/N参数的设置以及掉电保护等多种功能。更为突出的是,该仪器能与多种液位传感器直接接口,携带方便,供电简单,功耗比较低。
1系统的硬件设计
系统的硬件主要由AT89C51单片机、增益调节电路、LM331V/F转换器、81C55I/O口扩展器、两片ICM7211四位液晶显示器、CD4051八选一模拟开关、CD4052双四选一模拟开关、4′4薄膜触键及六位液晶显示器LCD等组成,其框图如图1所示。
1。1信号增益调节电路
增益信号是由程序控制的,它根据待测量信号幅值的大小来改变放大器增益,以使不同幅值范围的输入信号都能放大到A/D精确转换所需的幅值范围。本仪器设计的输入量程为0~5V,分辨率是1。0mV。为了保证测量精度的一致性,设计了以一片CD4051八选一模拟开关、若干高精密电阻和一个低功耗运算放大器OP07等组成程控增益放大电路。鉴于实际场合中常用的液位传感器输出满量程电压一般为60mV、200mV、2V、5V等几种,故设计了0~5V的量程,具体电路组成如图2所示。其中N1、N2组成同相关联差动放大器,N3为电压跟随器,主要用来抑制共模信号,N4是输出差动放大器,整个电路的增益可通过改变权电阻网络R0~R7来调节。
1。2信号A/D转换电路
为了适应便携式仪表电池供电、功耗低等特点,采用了功耗低、高精度、供电简单的V/F转换芯片LM331组成电压-频率(10V-100kHz)的A/D转换电路,其输出频率与输入电压的关系为
通过AT89C51的T0计数器(其中T1作定时器用)计算出fOUT,从而得到输入Vin,进而算出水位值Hi(Hi~Vin),具体如图3所示。
在该电路中,电阻R16为80kW±10%,它主要是使LM331的输入端7脚产生偏流,以抵消6脚偏流的影响,从而减少频率偏差。R39和可调电位器RW3的作用是调整LM331的增益偏差和由R23、R25及C6引起的偏差。当6脚、7脚的RC时间常数匹配时,输入电压的阶跃变化将会引起输出频率的阶跃变化,如果C8比C9小得多,那么输入电压的阶跃变化可能会使输出频率瞬间停止。6脚的47W电阻R23和1。0mF电容器C9并联用以产生滞后效应,使V/F转换获得良好的线性度。
1。3低功耗设计
该仪器全部芯片均选用CMOS低功耗芯片,其余外围电路采用了低功耗设计,并设计了4×4触摸薄膜键盘及六位LCD液晶显示器作为人—机接口。在软件设计上,整个系统采用了等待和掉电工作的节电运行机制,功耗较低。
2系统的软件设计
软件是系统的指挥中心,由它来配合控制完成各种预定功能。为了充分发挥AT89C51优越的性能价格比,在设计上尽量做到硬件“软化”,使系统硬件设计得到简化。系统软件采用MCS-51汇编语言编写,采用了模块化结构设计。为增强系统的实时性,对那些偶发事件采用中断方式处理。
2。1系统的软件算法
在明渠量水建筑物中,较为典型的是巴歇尔水槽。在自由流情况下,巴歇尔水槽的水位H和流量Q关系是简单的二值函数。利用回归分析技术,可以求出H~Q流量经验公式。为了便于分析和应用,我们在水工实验中主要是针对自由流情况的,从而得到大量的H~Q曲线数据组。
巴歇尔水槽在自由流时的流量公式为
Q=K·HN(2)
式中,Q为流量(m3/s),K、N为流量系数,H为上游水头高(m)。由于流量经验公式是指数型函数,故先对巴歇尔槽流量公式两边取对数,得
lnQ=lnK+N·lnH(3)
设y=lnQ;a=lnK;b=N;x=lnH
式(3)可写成
y=a+b·x(4)
然后,利用实测的大量独立(H,Q)数据,求出回归系数a、b的最小二乘估计量(亦即为a、b的无偏估计量),从而得到回归函数的估计
(5)
由y=a+b·x+&epSILon;,ε~N(0,δ2),可知y随x变化趋势的大小主要受参数b的影响,故建立如下假设检验:
H0:b=0;H1:b≠0(6)
用以检验线性回归效果的显著性水平。符合实际要求后,则得到流量系数K、N的估计值。有了流量经验公式,系统就可根据所测的水位H值来计算出流量值Q。
2。2系统的主程序设计
主程序主要用于系统的控制和管理。系统加电后,AT89C51自动上电复位,开始运行主程序,主程序框图见图4所示。系统首先显示“0-××××”,表示系统在进行自检和自校零工作。此时要求操作员不断地调节调零电位器,直到校零达到精度要求时为止,然后按回车键表示校零完成(理想情况下显示为“0。00000”)。接着显示“1-××××”,表示系统在进行满度校正工作。同样,操作员需要不断地调节满度电位器,直到满度校正达到精度要求时为止,然后按回车键表示满度校正完成(理想情况下显示为“5。00000”)。接着系统依次显示“L”、“E”等提示符号,要求操作员输入流量系数K、N值。当输入正确后,系统进行初始化T0、T1。一切处理完毕后,系统开始正常的运作过程,并进入待机低功耗工作状态。
需要说明的是,仪器还具有简单的密码设置功能。当设置密码后,要进行流量系数修改时,必须首先输入正确的密码,否则系统不予以响应。这样能在一定程度上保证流量系数K、N的安全性。
2。3中断采集服务程序
系统在此环节完成V/F信号采集、自动量程转换、流量计算及显示水位H、流量Q等参数。其中K/N、W(总流量)参数显示采用了复用键,由软件设计的奇偶次切换决定。一般情况下,系统自动循环地显示H-Q值。
该模块在运行时,首先保护现场,进行初始化设置,启动T0定时器(T0的定时时间为100ms,时间常数为3CB0H)和T1计数器,由T1记录V/F转换输出的脉冲数。然后,系统连续采样10次,利用数字滤波技术得出当前的有效采样值。接着,判断系统是否已经进行了自校正,若没有,则先进行系统的自校正;若已完成了自校正工作,则继续后续程序块,计算水位H、流量Q、总流量W值。最后根据控制命令显示这些参数,调用功能键处理模块,巡查有无控制命令,恢复现场、中断返回。
此外,系统还设计了串行口通信程序,实现与上位机之间的数据通信,上传H、Q、K、N、W等参数值及接受上位机对参数的修改和控制。
3量水仪的精度问题
该仪器充分利用了AT89C51具有高性价比的特点,在不增加硬件资源的前提下,尽量做到硬件“软化”,提高了仪器的测量精度。
3。1数字调零和增益自校正
仪器在测量前首先进行自校正工作,即依次选通差动输入接口芯片CD4052的Y0、Y1输入端口(其中Y0端接地,Y1端接标准+5V电源),然后调节相应的微调器使仪器自校正达到设计要求。在正式测量时,设选通Y0输入端时,仪器测得V/F计数值为X0,选通Y1输入端时,测得计数值为X1,设测得传感器信号输入的计数值为Xi,则每次测量的计算公式为
Hi=(Xi-X0)/(X1-X0)*Hst(7)
式中Hst为标准5V时的水位值。
这样,Hi与放大器的漂移及增益误差无关,不仅可提高仪器的测量精度,还可降低对器件精度的要求。
本文关键字:暂无联系方式仪器仪表读写器,电子知识资料 - 仪器仪表读写器