资源描述
流量检测装置设计说明书
一、 装置需求:
1. 100点流量差压信号采集。用键盘输入流量系数,输入时可显示;
2. 范围0-1000l/min,采集周期0.5s,信号4-20mA,分辨力0.1%;
3. 要求利用数字滤波(方法自选);
4. 计算瞬时流量(l/min)、累计流量(m3/h),并显示;
5. 操作人员可随时修改流量系数和切换显示内容(瞬时/累计流量)。
二、 设计说明书要求:
1. 系统组成框图及组成说明,包含关键部件选型及依据;
2. DSP和A/D转换芯片连接电原理图;
3. 程序框图,包含关键步骤;
4. 采集、数字滤波、流量计算程序清单。
三、 差压式流量计基础理论
1.节流装置工作原理
差压式流量计是依据伯努力方程和流体连续性原理用差压法测量流量,其节流装置工作原理图1所表示,在横截面H处:流体平均流速是v1,密度是ρ1,横截面积是A1;在横截面L处:流体平均流速是v2,密度是ρ2,横截面积是A2。
图1 差压流量计工作原理图
依据流体流动连续性原理有以下关系式:
v1·A1·ρ1=v2·A2·ρ2 (1)
假如流体是液体,可认为在收缩前、后其密度不变:
ρ1=ρ2=ρ (2)
依据瞬时流量定义,即单位时间内流体流经管道或明渠某横截面数量,所以液体体积瞬时流量:
(3)
依据伯努利方程(能量守恒定律),在水平管道上Z1=Z2,则有以下关系式:
(4)
应用伯努利方程和流动连续性原理,在两个横截面上压力差则有以下关系式:
(5)
将(3)代入(5)式,并整理,则得:
(6)
因为, , 定义直径比, 其中d为工作情况下节流件等效开孔直径,D为管道直径,则得到:
(7)
这么可推导出以下理论流量公式:
(8)
又因为流量系数C定义是:C= 实际流量/理论流量,可得出节流式差压流量计普遍适用测量体积流量实际流量公式:
(9)
其中,ε为被测介质可膨胀性系数:对于液体=1; 对气体、蒸气等可压缩流体<1 。
依据累计流量定义,即在某一段时间内流过某横截面流体总量,所以液体体积累计流量为:
(10)
所以,我们只要检测出差压即可分别计算出瞬时流量和累计流量大小。
2. 差压变送器工作原理
在采取差压方法进行流量测量时,其流量和差压呈非线性关系,即差压信号和流量之间存在一个开方关系。为了线性表示流量,需要对测量系统总流量信号进行一次开放运算,具体以下:
(11)
即:
应用实例:
求测量范围为0-4KPa,输出4-20mA带开方差压变送器,输入2KPa差压值时输出电流为多少?
输入2KPa时输出电流=mA
四、 差压式流量计硬件设计
差压式流量计整体设计框图图2所表示, 首先安装在管道中多个节流装置检测出流体差压,送入差压变送器转换为对应电流(4-20mA);然后DSP控制多路模拟开关选择输出一路电流到放大器,使其转化为对应电压(0-5V);最终信号由A/D采样后导入到DSP(同时选通第二路电流信号),对多路数据进行处理并显示。
图2 差压式流量计整体设计框图
1. 节流装置选型
依据装置需求 100点流量差压信号采集,范围0-1000l/min,本设计选择MPA(Multi-Point Averaging Flow meter)流量计(多点测量平均流速流量计)。每个MPA流量计有24点流量信号采集,相比其它只能2点流量信号采集结构流量计而言,精度高;同时流量范围1-15000(m3/h)远超出设计指标要求。
MPA流量计是一个用于测量管道中液体,气体或蒸汽等流体流量新型差压式流量计。流体流量正比于流量计差压信号平方根,用户只需配用差压计及流量显示积算仪就能够得到正确流量测量。
(1)和通常速度式流量计区分 :
比如:皮托管流量计-测量是某个点流速;均速管流量计-测量是管道纵向或横向分布平均流速。而MPA流量计是测量分布在管道截面上多个点(测量点是严格按切比雪夫积分法选择在管道横截面上)流体流速并最终得到正确管道平均流速测量,所以它含有良好流量测量正确度;
(2)和通常节流式差压流量计区分:
和节流式孔板流量计、v型内锥式流量计等相比。MPA流量计管道压力损失很小,仅为一般孔板流量计1/5--1/8,是一个节能式流量测量仪表;
因为测量是经过管道截面多点平均流速测量来实现,所以MPA流量计对前直管段要求相对较低,通常表前有5倍D直管段就能够满足测量要求,而表后只要有2倍D直管段就能够满足要求;
场取压差压测量技术方法可抑制测量噪声,提升信号测量正确性,测量范围度通常可达成1:12或更大。
MPA流量计结构图3所表示。
图3 MPA流量计结构图
用MPA流量计测量流量关键是怎样确定特征点(即流速测量点分布)。现在比较常见有等环面法、切比雪夫积分法和对数线性法。
等环面法将半径为R圆管分成n个面积相等同心圆环(最中间为圆)。在每一个圆环等面积处设置测量点,即特征点位置。半径方向上n个测量点位置为r1、r2、r3……、rn,。
切比雪夫积分法是利用切比雪夫插值点ti求函数在区间﹣1到1积分一个近似算法。经过变换,能够求得管内半径方向测点位置。
对数线性法选择特征点标准是把各环面上平均速度看作是该环面上各特征点所测得速度算术平均值。而整个截面上平均速度就等于各环面平均速度算术平均值。
MPA流量计是严格根据切比雪夫法选择分布在管道上流速测量点,其分布图图4以下:
图4 流速测量点分布示意图
MPA流量计为低压差设计,所以测量气体时通常无须考虑气体膨胀系数影响。只有在低压系统中使用(比如常压系统气体流量测量),差压值和系统压力比(△p/P)大于4%时需要考虑气体膨胀性对测量影响。
所以,MPA流量计是一个新型高性能流量测量仪表。其参数指标以下:
2. 差压变送器选型
依据装置需求输出电流4-20mA,另外考虑到测量范围、精度等级及工作温度等多个原因,本设计选择ZL1151电容式差压变送器。ZL1151输出电流4-20(mA),测量范围0-40000(KPa),精度等级0.05%,工作温度-40-140摄氏度,优于装置需求。ZL1151电容式差压变送器结构图图5所表示。
图5 差压变送器结构图
产品特点:
●超级测量性能,用于压力、差压、液位、流量测量;
●精度高:数字精度+(-)0.05%;模拟精度+(-)0.5%~+(-)0.1%F.S;
●量程、零点外部连续可调,量程比100:1;
●正迁移可达500%、负迁移可达600%;
●稳定性能好,稳定性:0.25% 60个月;
●耐过压;
●固体传感器设计;
●全系列统一结构、交换性强;
●接触介质膜片材料可选;
●低压浇铸铝合金壳体;
●测量速率:0.2S;
●小型化(2.4kg)全不锈钢法兰,易于安装;
●过程连接和其它产品兼容,实现最好测量;
●采取16位计算机智能变送器;
●标准4-20mA,带有基于HART协议数字信号,远程操控;
●支持向现场总线和基于现场控制技术升级;
ZL1151电容式差压变送器关键技术指标以下:
3. 多路模拟开关选型
考虑到100点差压信号采集需要100路模拟开关控制,所以本设计选择13片AD7501芯片,经过DSP发出控制信号选择某一路差压信号输入。其逻辑结构及引脚图6所表示,3个地址线A1、A2、A3,1个使能端EN,8路输入S1、S2-----S8,1路输出Out。
图6 AD7501逻辑结构及引脚图
AD7501性能指标以下:
●CMOS工艺制造;
●单8路1模拟多路转换器;
●16引脚DIP封装;
●电源:+/-15V;
●功耗:300uW;
●开关接通电阻:170欧;
●开关接通、断开时间:0.8us;
4. 放大电路
因为差压变送器输出信号为电流值,且幅值较小达不到ADC需要采样幅值,所以信号首先要经过放大器放大处理,转化为0-5V电压信号,图7所表示,发射信号经一对二极管IN4007幅值保护后由同相放大器LF357和反相放大器LM318完成信号放大处理。
图7 放大电路
5. A/D转换器选型
依据装置需求分辨力0.1%,(分辨力是指仪表能显示最小数字(零除外)和最大数字百分比),和采集周期0.5s,所以本设计选择美国AD企业新近推出一个性能优越、由BMIOS工艺制成12位模数转换芯片ADl674。本芯片采取12位逐次比较方法工作,除了含有较高分辨力0. 05%外,采样频率高达100 kHz,即转换速率达10μs,片内还集成有高精度基准电压源和时钟电路,从而使芯片在不需要任何外加电路和时钟信号情况下完成A/D转换,使用很方便。
AD1674 基础特点和参数以下:
●带有内部采样保持完全12 位逐次迫近(SAR)型模/数转换器;
●采样频率为100kHz;
●转换时间为10μs;
●含有±1/2LSB 积分非线性(INL)和12 位无漏码差分非线性(DNL);
●满量程校准误差为0.125%;
●内有+10V 基准电源,也可使用外部基准源;
●四种单极或双极电压输入范围分别为±5V,±10V,0V~10V 和0V~20V;
●数据可并行输出,采取8/12 位可选微处理器总线接口;
ADl674内部结构及引脚排列图8所表示。各引脚符号、类型及意义请参考相关资料手册。
图8 ADl674内部结构及引脚排列
6. DSP芯片选型
依据装置需求对100点差压数据采集,周期0.5秒,数据量较大,对速度有较高要求,同时对精度上要求10位以上,所以本设计选择TMS320C5402定点dsp处理器。TMS320VC5402是C54x系列杰出代表,是一款性价比极高定点DSP,含有速度快(指令周期为10ns ),精度高(32位),192K bytes存放空间(64K bytes程序存放空间、64K bytes数据存放空间、64K bytesI/O空间),功耗低,价格廉价特点。C54x采取多总线技术,含有一条程序总线、3条数据总线和4条地址总线,可同时进行程序指令和数据存取,含有高度并行性。C54x采取模块化设计,使派生器件得到了快速发展,而且采取了最新芯片制造工艺,提升了芯片性能,降低了功耗。
TMS320C5402基础特点:
●运算速度快,指令周期为10ns;
●192K bytes存放空间(64K bytes程序存放空间、64K bytes数据存放空间、64K bytesI/O空间);
●优化CPU结构。1个40位算术逻辑单元、2个40位累加器、2个40位加法器、1个17×17乘法器和40位桶型移位器,有4条内部总线和2个地址产生器;
●低功耗,可在3.3V或2.7V电压下工作,三个低功耗方法;
●智能外设,除标准串行口和时分复用串行口外,还含有自动缓存串行口(2k buffer)和外部处理器并行口HPI。
TMS320C5402结构图9所表示。各引脚符号、类型及意义请参考相关资料手册。
图9 TMS320C5402结构图
7. DSP和A/D转换芯片接口设计
ADl674有2种工作方法:独立工作方法和完全受控方法。独立工作方法不需使用全部控制信号,含有专用输入端口,开启转换要比完全受控方法正确;完全受控方法要使用全部控制信号,适适用于多个需寻址电路挂在同一总线情况,接口电路对多种控制信号时序要求严格,所以设计要复杂些.考虑到本系统有多个寻址电路,故采取完全受控方法。完全受控方法下ADl674开启和读数时序图10所表示。
图10 ADl674开启和读数时序图
当要开启AD转换时,只需向ADC写一任意数据即可,此时CE变高,而CS变低,R /C=0,AD1674开启转换。转换结束后STS发出中止请求信号,在中止服务程序中读转换结果,此时,CE变高,同时R /C=1,而CS为低,DSP经过数据线从总线驱芯片74ACT16245读取AD1674转换数据。从完全受控方法工作时序图能够看出,不管是进行AD转换还是进行读取数据,为了使AD1674能可靠地工作,CE信号需落后R /C信号约50ns。
完全受控工作方法下AD1674和TMS320C5402接口电路图图11所表示。
图11 AD1674和TMS320C5402接口电路图
五、 差压式流量计软件设计
设计思想:
(1) 首先向DSP发出输入流量系数中止请求,然后经过矩阵键盘输入流量系数并由LED显示;
(2) DSP向多路模拟开关发出控制命令,使100点差压信号在1min内,以0.5s数据采集周期以次次序经过A/D采样、数字滤波、流量计算,(其中每min瞬时流量为每路差压信号立即测定流量值,每h累计流量为60min瞬时流量累加和),最终存放在分配好数据空间待读出显示;
(3) 向DSP发出某一路瞬时流量/累计流量中止请求,DSP响应中止并从数据存放空间取出流量数据进行显示。
1. 软件设计步骤图
总程序步骤图
中止步骤图
数据采集及处理步骤图
矩阵键盘步骤图
LED显示步骤图
2. 程序设计
(1)数据采集
void main()
{
in it_5402();
while(1)
{
start_ad1674();
while( ((*(volatile u16*)IFR)&0x0001) )
{};
}
}
void in it_5402(void)//初始化VC5402时钟和CPU
{
*(volatile u16*)CLKMD=0x0000;
while(*(volatile u16*)CLKMD&0x0001){};
*(volatile u16*)CLKMD=0x9807;
*(volatile u16*)PMST=0x00A0;
*(volatile u16*)SWWSR=0x7fff;
*(volatile u16*)SWCR=0x0001;
*(volatile u16*)BSCR=0x8802;
*(volatile u16*)IMR=0x0001;
}
void start_ad1674(void)
{
port2=0x10;//向ADC写任何数开启转换
}
(2)数字滤波
FIR数字滤波器结构
设h(n),n=0,1,2…N-1为滤波器冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程:
(12)
式中,y(n)为输出信号,即经过滤波以后信号;N为滤波器阶数。FIR滤波器最关键特点是没有反馈回路,所以是无条件稳定系统,其单位脉冲响应h(n)是一个有限长序列。由式(1)可见,FIR滤波算法实际上是一个乘法累加运算,不停地输入样本x(n),经延时(z-1)做乘法累加,再输出滤波结果y(n)。对式(1)进行Z变换,整理后可得FIR滤波器传输函数为:
(13)
FIR滤波器通常结构图12所表示。
图12 FIR滤波器结构
FIR低通滤波程序
char filter()
{
int i,n;
int sum, y[];
for(n=0;n<=255;n++)
{
sum=0;
for(i=0;i<=16;i++)
{
sum+=h[i]*x[n+16-i]/32768;
y[n]=sum;
}
}
return (char)(y[n]);
}
(3)流量计算
累计流量程序
#define M 60
char accumulated_flow ()
{
int sum2 = 0;
for ( count2=0;count2<M;count2++)
{
sum2 + = instantaneous_flow ();
delay();
}
return (char)(sum2);
}
展开阅读全文