微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 便携式多功能量水仪的研制

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

时间:04-17 来源:互联网 点击:

主程序主要用于系统的控制和管理。系统加电后,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与放大器的漂移及增益误差无关,不仅可提高仪器的测量精度,还可降低对器件精度的要求。

3。2采用模糊量程档位

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

3。3数据放大处理

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

3。4信号隔离处理

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

3。5可靠性设计

在软件上进行了可靠性设计,在每个模块后和程序PROM的空白区加了软件陷阱。并在一些重要的跳转指令之间进行软件冗余设计。此外,还设计了溢出报警,避免显示错误的信息。表1的一组数据是采用本仪器测出的实际流量Q和理论计算流量Q的比较,其中流量系数K=2。3215、N=2。2406。Q值理论计算为

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

表1实

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top