流量积算仪

发布时间:2024-05-04 15:44:00 作者:汉语成语

流量积算仪适用于各种液体、气体、蒸气的流量测量,并可根据测得的介质温度和压力进行补偿运算。

特点

◆采用当今的ATMEL单片机作主机,减少外围部件,提高了可靠性。

◆具有多种输入方式,可配接涡街等频率式传感器或其它0-10mA输出或4-20mA输出的流量变送器。

◆采用查表的补偿方式,可对过热蒸气、饱和蒸气进行精度极高的补偿运算。

◆具有多种显示方式,可显示累积流量、瞬时流量与累积流量低位、压力、温度、频率、密度、日期与时间。

◆带DC12V、DC24V两组电源输出,输出电源地与仪表工作电源地相互独立。

◆脉冲频率输入带光电隔离。

◆根据输入频率的不同,可任意设定十个不同的流量常数,仪表采用插值算法自动对流量常数进行校正。

◆参数显示的刷新周期可任意设定。

◆掉电数据保留。

◆采用WATCHDOG电路,软件陷阱、冗余、数字滤波等技术,整机具有很强的抗干扰能力。

◆具有瞬时流量上限报警、下限报警功能。

◆具有累积流量批量控制(定量加注)功能。

技术指标

◆测量精度:±0.2[%]F.S±1个字

◆输入信号:流量信号:大于2V脉冲,频率0-6.5KHZ;0-10mA、4-20mA电流。

压力信号:0-10mA、4-20mA电流。

温度信号:PT100热电阻;K、E、J、T热电偶;0-10mA、4-20mA电流。

◆输出信号:瞬时流量变送输出电流0-10mA或4-10mA可任意设定,变送范围可任意设定。

◆报警输出:继电器输出AC220V/3A

◆输出电源:DC12V/50mA、DC24V/50mA两组电源。

◆通讯接口:RS-232、RS-485光电隔离。

◆显示方式:上、下两排四位/八位LED数码管显示。瞬时流量显示范围0.000-9999,相当于七位范围;累积流量显示范围0.000-999999.99相当于九位范围。

◆数据保护:断电数据保持十年

◆其它电源:AC(85-265)V开关电源

功耗:<5W

环境湿度:<85[%]RH

面板尺寸:96mm×96mm、48mm×96mm、80mm×160mm

设计介绍

一、测量原理

本文中介绍了一个用单片机设计的流量积算仪,它能适用于各种介质,如气体、液体等,并能在全流程范围内进行非线性调节,用各种介质的标准仪表对该流量计进行检定后,即可使之成为该介质的流量计。

流量计由流量传感器和流量积算仪两部分组成,流量传感器由旋涡发生体、传感器探头和产生输出信号的相关电子电路组成。

当以一定流速流动介质遇到流量传感器的旋涡发生体时,旋涡产生的频率与流速成正比,因此与管道内的流量成正比,因此我们用单片机设计的流量积算仪,根据传感器送来的频率信号,进行累计,显示,并将累计流量和瞬时流量通过串行口通讯送到计算机中进行处理,如形成报表等。

为使用仪表更加准确,我们可以通软件的方法使仪表非常精确,基本上可达到0.05[%]左右。首先在仪表出厂前,非用标准设置对该流量计进行检定后,即可记录在全流程范围内的若干段中,每段内单个频率的每秒流量系数。然后通过四个键的键盘设置流量参数,由单片机程序将系统全程的频率对应的每秒流量计算出来后,写入单片机的24C16中。

正常测量时,根据不同的频率取出24C16中的相应每秒流量,送到单片机中经运算,得到当时的瞬时流量(米3/小时),并进行累计。

二、硬件电路原理图

1、硬件中的核心是ATMEL生产的AT89C51/LV51单片机,它是一种低功耗/低电压、高性能的8位单片机,片内带有一个4K字节的Flash可编程可擦除只读存储器,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC-51兼容。

2、存储流量和参数,用的存储器是ATMEL生产的AT24C16系列,它是一种带有闪2K字节的可电擦除、可编程的只读存储器。通过单片机的P0.0和P0.1口与它的SDA和SCL分别相连,进行读写操作。

3、一秒硬件复位电路,使用MC14060(十四位二进制计数器)、二个74HC132(两输入与非门)和二个双JK触发器CD4027,在CD4027的15脚形成一秒宽的时钟脉冲。

4、CD4027的15脚接到RESET端,使单片机定时复位。单片机采用省电模式工作,每次输入、累计、显示处理后等待唤醒,这样工作功耗非常小。设置补偿系数时,复位脚正常连接。

5、流量传感器的输入脉冲通过74HC393锁存(双四位二进制计数器)后,送入单片机的P2口。输入信号:脉冲信号(0~255)HZ

6、在单片机内经过程序处理后,输出显示信号送到P1口(数据4位,选择信号4位)。连到12针的插座上。

1、输出显示信号送到P1口(数据4位,选择信号4位)连到12针插座,其中数据4位(高四位)送入MC14543(BCD--锁存/7段译码/驱动动器)中,共有12个MC14543,分别控制着与累计流量8位及瞬时流量4位相连的液晶块的显示数据。数据中另外4位选择信号(ABCD)直接送到CD4514译码器(4位锁存/4-16线译码器),通过两个MC14174B(带清0端的6D触发器),浮动显示的小数点位。

2、累积流量和瞬时流量的显示使用两个液晶块:EDS806A960827/DR(8位)、EDS805A971218/DR(4位)

a、累积流量显示:八位浮点式,开始显示小数点后五位:0.00000m3,显示小数点后三位:0000.000m3。

b、瞬时流量显示:显示为小数点后两位:00.00m3。

三、总框图及主程序

程序根据开关的设置分三大部分:①正常使用即测量部分②测量输入频率部分③设置调整系数部分。

主程序如下:

ORG0000H

LJMPL001E

ORG0003H

LJMPL05E6

ORG0023H

LJMPserver

MOVC,P0.7

NOP

JCL001E

LJMPL052C;

L001E:MOVC,P0.7;IC40开关1(ON),3(ON),写系数

NOP

JCL002C;IC40开关2(ON),4(ON),测流量

L0029:LJMPL037A;IC40开关2(ON),4(OFF),测频率

L002C:LCALLL003B;初始化

LCALLL01D2;输入频率

LCALLL01B7H;流量进行累计

LCALLL0085;显示

ORL87H,#02H

L003B:MOVR0,#60H;60H~6FH清0

MOVB,#10H

LCALLL005B

MOVC,P3.3

JCL005A

MOVR0,#40H;40H~6FH清0

MOVB,#10H

LCALLL005B

MOVR0,#50H;50H~6FH清0

MOVB,#10H

LCALLL005B

L005A:RET

L005B:MOV@R0,#00H

INCR0

DJNZB,L005B

RET

ORG0037EH

L037E:NOP

JNBP0.7,L0385

LJMPL052C;写系数

L0385:MOV38H,#00H;以下是测频率

MOV39H,#00H

MOV3AH,#00H

MOV3BH,#00H

MOV3CH,#00H

MOV3DH,#00H

MOV3EH,#00H

MOV3FH,#00H

L03A1:CLRC

MOV2EH,#00H

MOV2FH,#00H

ACALLL046E

MOVA,R0

NOP

MOVB,#64H

DIVAB

MOV32H,A

MOVA,B

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,B

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H

MOV36H,#00H

MOV37H,#00H

ACALLL0411

ACALLL03EF

MOVC,P3.3

JCL03EC

MOV38H,#00H

MOV39H,#00H

MOV3AH,#00H

MOV3BH,#00H

MOV3CH,#00H

MOV3DH,#00H

MOV3EH,#00H

MOV3FH,#00H

L03EC:ORL87H,#02H

L03EF:ORLP1,#0FFH

MOVB,#0EH

CLRA

MOVDPTR,#0359H;显示数据

L03F9:MOVCA,@A+DPTR

MOVR0,A

MOVA,@R0

ORLA,#0F0H

ANLP1,A

CLRA

INCDPTR

MOVCA,@A+DPTR

ANLP1,A

ORLP1,#0F0H

ORLP1,#0FFH

CLRA

INCDPTR

DJNZB,L03F9

RET

L0411:MOVR0,#30H

MOVR1,#38H

MOVB,#08H

CLRC

L0419:MOVA,@R1

ADDCA,@R0

DAA

MOVC,ACC.4

CLRACC.4

MOV@R1,A

INCR0

INCR1

DJNZB,L0419

RET

ORG0359

DB4BH,0DFH,4AH,0CFH,49H,9FH,49H,8FH,47H,7FH,46H,6FH,45H,5FH,44H,4FH

DB43H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

ORG000BH

LJMPL05E6

ORG052CH

L052C:MOVSP,#38H

MOVIE,#88H

MOVPSW,#00H

MOVTMOD,#15H

MOVTL0,#00H

MOVTH0,#00H

MOVTL1,#00H

MOVTH1,#00H

SETBTCON.TR0

SETBTCON.TR1

SETBP3.1

MOVP3,#0FFH

L0552:LCALLL0BD3;键盘输入

L0579:CJNEA,#0FBH,L0552

LCALLL0814;写系数

RET

ORG05E6H;定时显示

L05E6:PUSHACC

PUSHPSW

MOVPSW,#08H

MOVTL1,#00H

MOVTH1,#00H

CLRA

MOV78H,A

SETB01H

MOVR0,#25H

MOVR1,#00H

MOVR7,#0CH

L05FE:MOVA,#00H

ORLA,#0F0H

ANLP1,A

ANLP1,A

CLRA

MOVA,#0BFH

ANLP1,A

ORLP1,#0F0H

ORLP1,#0FFH

MOVA,#00H

ORLA,#0F0H

ANLP1,A

ANLP1,A

CLRA

MOVA,#0AFH

ANLP1,A

ORLP1,#0F0H

ORLP1,#0FFH

MOVA,R0

CJNEA,00H,L0635

JNB0AH,L0635

CPL0BH

JNB0BH,L0635

MOVA,#0FH

LJMPL0636

L0635:MOVA,@R0

L0636:ANLA,#0FH

SWAPA

ORLA,R1

SWAPA

MOVP1,A

ORLA,#0F0H

MOVP1,A

INCR0

INCR1

CJNER1,#0AH,L0648

INCR1

INCR1

L0648:DJNZR7,L05FE

POPPSW

POPACC

RETI

四、接口及外设驱动程序

1、输入部分程序:

L01D2:MOVR0,P2;读入P2中的频率信号

CLRP3.7

NOP

NOP

NOP

SETBP3.7

NOP

NOP

NOP

MOVR1,#70H;读出的数据存入位置

MOVR6,#0A0H;27C16中的设备地址

MOVR7,#08H

L01E4:LCALLL0223;根据相应的频率从27C16中读取每秒流量参数

MOV@R1,A

INCR1

MOVA,R6

ADDA,#02H;

MOVR6,A

DJNZR7,L01E4;读8位参数

PUSH00H

MOVR1,#70H

MOVR0,#28H

MOVR3,#08H

L01F7:MOVA,@R1

MOV@R0,A

DECR0

INCR1

DJNZR3,L01F7;将70H中的数据送入20H~27H中

MOVR0,#20H;将20H~27H中的数据送到60H~67H中。

MOVR1,#67H

MOVR3,#08H

L0203:MOVA,@R0

MOV@R1,A

INCR0

INCR1

DJNZR3,L0203

MOV60H,#36H;将60H中的每秒流量换算成米3/小时

MOVR0,#20H

MOVR1,#60H

MOVR3,#07H

LCALLL02FC

MOVR0,#20H;将瞬时流量换算成十进制BCD送入到30H~3FH中

MOVR1,#3FH

MOVR2,#08H

LCALLL034A

POP00H

RET

计算累计流量送入50H中,程序如下

L01B7:movR0,#67H;将60H~67H中的瞬时流量二进制值累加到50H~57H

MOVR1,#57H

MOVB,#08H

CLRC

L01BF:MOVA,@R1

ADDCA,@R0

DAA

MOV@R1,A

DECR0

DECR1

DJNZB,L01BF

MOVR0,#50H;将50H~57H中的二进制换算成十进制BCD码

MOVR1,#4FH;送到40H~47H中

MOVR2,#08H

LCALLL034A

RET

2、显示部分:

程序如下:

L0085:ORLP1,#0FFH;P1口置1,4FH~40H中是要显示的数据(高~低)

MOVA,4FH;位是否为0

NOP

NOP

MOVA,4FH

ANLA,#0ffH

JZL009E;为0转移

MOVDPTR,#0F10H;段显示数据(此时数据为)

MOV2FH,#0a0h;送小数点数据到2FH中

LJMPL00DD

L009E:MOVA,4EH;次高位是否为0

NOP

NOP

MOVA,4EH

ANLA,#0FFH

JZL00B1;为0转移

MOVDPTR,#0F20H;第二段显示数据

MOV2FH,#21H;送小数点数据到2FH中

LJMPL00DD

L00B1:MOVA,4DH

NOP

NOP

MOVA,4DH

ANLA,#0FFH

JZL00C4;为0转移

MOVDPTR,#0F30H;第三段显示数据

MOV2FH,#22H;送小数点数据到2FH中

LJMPL00DD

L00C4:MOVA,4CH

NOP

NOP

MOVA,4CH

ANLA,#0FFH

JZL00D7;为0转移

MOVDPTR,#0F40H;第四段显示数据

MOV2FH,#24H;送小数点数据到2FH中

LJMPL00DD

L00D7:MOVDPTR,#0F50H;第五段显示数据

MOV2FH,#28H;送小数点数据到2FH中

L00DD:MOVB,#0DH;显示数据中的数据个数

MOVA,2FH

ANLA,#0FH

MOV2DH,A

MOVA,2FH

ANLA,#0F0H

SWAPA

MOV2FH,A

CLRA

L00EE:MOVCA,@A+DPTR;取相应段的数据进行显示

MOVR0,A

MOVA,@R0

ORLA,#0F0H

ANLP1,A

NOP

NOP

NOP

NOP

NOP

ANLp1,a

CLRA

INCDPTR

MOVCA,@A+DPTR

ANLP1,A

NOP

NOP

NOP

NOP

ANLP1,A

ORLP1,#0F0H

ORLP1,#0FFH

CLRA

INCDPTR

DJNZB,L00EE

END

ORG0F10H;以下为显示数据,浮动五位。

DB4FH,0DFH,4EH,0CFH,4DH,9FH,4CH,8FH,4BH,7FH,4AH,6FH,49H,5FH,48H,4FH

DB47H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

ORG0F20H

DB4EH,0DFH,4DH,0CFH,4CH,9FH,4BH,8FH,4AH,7FH,49H,6FH,48H,5FH,47H,4FH

DB46H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

ORG0F30H

DB4DH,0DFH,4CH,0CFH,4BH,9FH,4AH,8FH,49H,7FH,48H,6FH,47H,5FH,46H,4FH

DB45H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

ORG0F40H

DB4CH,0DFH,4BH,0CFH,4AH,9FH,49H,8FH,48H,7FH,47H,6FH,46H,5FH,45H,4FH

DB44H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

ORG0F50H

DB4BH,0DFH,4AH,0CFH,49H,9FH,49H,8FH,47H,7FH,46H,6FH,45H,5FH,44H,4FH

DB43H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH

3、键盘部分:

L0BD3:SETBP3.2

SETBP3.3

SETBp3.4

SETBP3.5

MOVA,P3

ORLA,#0D7H

CJNEA,#0FFH,L0BF0

MOVR6,#10H

ACALLL0BFE

MOVA,P3

ORLA,#0D7H

CJNEA,#0FFH,L0BD3

CLRA

CLR07H

SJMPL0BFD

L0BF0:MOVR6,#10H

ACALLL0BFE

MOVA,P3

ORLA,#0D7H

CJNEA,#0FFH,L0BFD

SJMPL0BD3

L0BFD:RET

L0BFE:NOP

LCALLL07D3;延时程序

DJNZR6,L0BFE

RET

4、通讯程序:

采用中断方式传送数据给计算机。

ORG0023H

server:pushacc

push00h

push01h

push02h;保护断点

JBCTI,server1;中断程序将累计流量传给算机

RETI

Server1:movR1,#50h

MovR0,#08h

mova,@r1

MOVSBUF,A;传送一个位

DjnzR0,server1

JBP,ERROR;偶校验

ANLA,#7FH;去掉校验位

Server2:movR1,#60h;中断程序将瞬时流量传给算机

MovR0,#08h

mova,@r1

MOVSBUF,A;传送一个位

DjnzR0,server1

JBP,ERROR;偶校验

ANLA,#7FH;去掉校验位

ERROR:popacc;恢复断点

pop02h

pop01h

pop00h

RETI

四、结束语

流量计的抗干扰能力强,在流量全范围内可非线性调整、内部无可调件、使用维护简单等优点,可以用来测量、变送及现场显示封闭工业管道中液体、气体和蒸汽的流量及总量。从投用到现在,应用的效果非常好,是一种理想的仪表。