嵌入式学习小组
直播中

黄乃康

8年用户 162经验值
私信 关注

如何实现天然气体积修正仪的系统设计?

能源与环境是当今全球性热点问题之一。天然气作为城市清洁能源,对我国的能源节约、环境保护、人民生活水平的提高和社会经济的发展有着重要的促进作用。天然气在我国的应用越来越广泛,城市燃气不会局限于以居民生活用气为主,而是在居民用气普及率提高的同时,拓展在车辆、采暖、制冷、商业和工业领域的应用。未来几年内,我国天然气需求将快于煤炭和石油需求,天然气市场在全国范围内将得到较大发展。目前,我国天然气输送管道所到之处,可以说是发展天然气终端市场的大好之地。高速增长的市场必然带来无限的商机。
天然气在输送、分配和使用过程中,需要对天然气的输送量、分配量和用户用量进行计量。在天然气流量的实用计量中,通常用某一段时间间隔内通过天然气管道输送的天然气总量来表示,即天然气的体积总量。天然气总量的计量对象类型很多,气源售出计量、城市购入计量、区域供气计量和用户用气计量等。目前国内天然气大都使用体积计量的方法,但由于天然气在不同的温度和压力下,气体体积有较为明显的变化,采用简单的体积计量,明显不符合公平交易的原则。如何将工况下的天然气体积通过温度、压力和压缩系数进行修正,从而得到标准状况下的体积,是保证天然气贸易结算公平的关键所在。信息技术的不断发展、计算机技术在计量系统中的广泛应用将会提高天然气的计量精度,加快测量数据的传递速度。

回帖(5)

王欢

2020-11-24 14:46:11
仪表总体设计
天然气体积修正仪主要完成天然气流量的自动修正,适于安装在工厂、住宅等环境,实时反映天然气的流量计量情况,并可与上位机进行通信,为上位机管理软件提供数据支持。
体积修正仪通过压力传感器温度传感器采集压力和温度信息,结合气体流量计采集的流量脉冲信号进行天然气流量的自动修正,并通过RS232标准进行串口数据传送。图1是体积修正仪的结构示意图。
举报

杨涛

2020-11-24 14:47:05
  数据采集模块设计
  在天然气体积修正仪设计中,数据采集模块是保证测量和计算精度的首要模块。分为输入检测和数据处理两部分。
  1 输入检测
  天然气体积修正仪前端测量中涉及模拟量:温度和压力信号。根据温度和压力值可计算出天然气的压缩因子,从而校正天然气的体积。
  1.1 温度检测
  照顾到民用和商用的范围,设计采用Pt100陶瓷高性能铂热电阻温度计作为测温元件,铂在氧化性介质中,甚至在高温下的物理、化学性质都很稳定。另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
  本设计气体温度范围为:-30 ℃~70 ℃。经放大电路放大后电压变化范围在0V~4.5 V之间。
  1.压力检测
  由于工作压力范围为0~10 MPa,经过选型,采用CGYL-力变送器,其三线制输出电压范围为0 V~5 V,配合温度信号,方便后续模数转换。压力变送器采用硅杯压阻传感器为敏感元件,具有体积小、质量轻、结构简单和稳定性好的优点,精度也较高。且具有本安防爆认证,防震性能好。
举报

王亮

2020-11-24 14:47:48
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

陈嘉宁

2020-11-24 14:48:10
本文采用硬件选择通道方式,SL1、SL2置高,两通道依次按顺序转换。由于两通道采样数据使用同一路数据总线依次读出,采用有限状态机(FSM)实现各通道数据的采集。状态机是逻辑设计中最重要的设计内容之一,通过状态转移图设计手段可以将复杂的控制时序图形化表示,分解为状态之间的转换关系,将问题简化。VHDL流水线设计方法可以提高系统的工作频率,采用VHDL语言编写控制程序。
状态机的状态转移图如图4所示,共分为6个工作状态:零状态(idle)、等待状态(STAND_BY)、转换第一通道数据(CH0_CONVST)、读第一通道数据(CH0_RD)、转换第二通道数据(CH1_CONVST)以及读第二通道数据(CH1_RD)。


FSM结构体定义信号类型ST和count。ST为状态,且初始状态为零状态;count用于读数据的计数,用于滤波。
为了实现快速状态转换同时增强稳定性,避免出现毛刺现象,A/D转换器的时序控制采用多进程有限状态机来实现。
(1) 时序逻辑
时序逻辑进程STATE_TRANS负责状态转换,当时钟信号SYS_CLK上升沿到来时,判断转换条件使状态机转入相应状态。
(2) 组合逻辑
组合逻辑进程STATE_BEHV负责状态输出,当状态变量ST发生变化时,产生对应此状态的CNV_ST,AD_RD AD_CS,CH(0为第一通道,1为第二通道)及STATUS相应输出。
(3) 计数逻辑
定义P0进程,敏感参数为CNV_ST,当一组数据采样结束(CNV_ST信号由0变为1),如果已经采集10组数据,则置位FULL信号,表示采样过程已经结束。
2.2.3 滤波器设计
A/D转换后的数据还不能立即送入处理器中处理,为了提高数据的准确性,设计滤波单元对数据进行处理。滤波滤波器设计实现经A/D转换后的数据滤波处理及数据的输出。
数字滤波模块的滤波算法采用中位值平均滤波法,相当于“中位值滤波法”+“算术平无度滤波法”,该方法计算简单、速度快,还可消除由于脉冲干扰所引起的采样值偏差,使得经滤波后的输出信号为“干净”信号,可直接用于工业控制。中位值平均滤波法的时域差分方程是:

本系统设计10组数据进行滤波处理,取N=8。为了节约FPGA内部资源,滤波器的设计中采用移位寄存器代替除法器来实现平均滤波部分的算法。滤波模块的设计从采样数据的输入、数值累加、去极值、求平均值到数字量的输出共5个处理步骤,并且整个数据处理是“单流向”的,前一步骤的输出是下一步骤的输入,符合流水线设计要求。采用流水线设计方法可以提高系统的工作频率,从宏观上看数字滤波模块不占用额外的处理时间,对于超高速A/D转换控制中显得格外重要。从VHDL语言的角度看,流水线操作是用面积换速度思想的具体体现[3]。
定义滤波器端口类型见表2所示。


从仿真图中可以看出,当时钟处于上升沿,AD_START变为高电平时,启动A/D转换,依次读2个通道的数据。当读满10组时,进行滤波处理。当CPU发出读信号时,数据读出。可见,设计的A/D控制器和滤波器完全符合设计要求。
对设计程序进行编译,可以看出,EP1C12Q240C8总的逻辑元数目为12 060,本控制模块只占用了227个,完全达到数据采集及滤波处理功能,极大地减轻了CPU的负担,可以让CPU专注于其他的任务。是一种可行且值得推广的方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分