利用燃气压力间接计量燃气使用量的方法转让专利

申请号 : CN201810659291.3

文献号 : CN108981835B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李荣书李长江杨浩霖

申请人 : 山东拙诚智能科技有限公司

摘要 :

本发明提供一种利用燃气压力间接计量燃气使用量的方法,其解决了现有电子气体流量计成本高、结构复杂的技术问题。包括以下步骤:步骤1,采集压力数值;步骤2,判断火力及数据分段:根据压力数据相邻点间的差值及相邻段间均值的差值判断火力的变换点以分段,每分段的火力大小相同;步骤3,提取峰谷值:提取周期峰谷值,记作一次峰谷值,对一次峰谷值进行二次提取,记作二次峰谷值:步骤4,计算周期长度:取出当前分段数据中的第一个二次峰值点为燃气周期起始点,在其之后寻找下一个相邻的一次峰值点,计算这两个峰值点之间的间距,作为初始周期;步骤5,流量计算。本发明广泛应用于燃气计量技术领域。

权利要求 :

1.一种利用燃气压力间接计量燃气使用量的方法,其特征是,包括以下步骤:步骤1,采集压力数值;

步骤2,判断火力及数据分段:

根据压力数据相邻点间的差值及相邻段间均值的差值判断火力的变换点以分段,每分段的火力大小相同;

进行滤除燃气管道管网波动:对每分段分别进行平滑处理以计算并滤除燃气管道的管网波动;

步骤3,提取峰谷值:

通过相邻点比较的方法提取周期峰谷值,记作一次峰谷值,对一次峰谷值进行二次提取,记作二次峰谷值:步骤4,计算周期长度:

取出当前分段数据中的第一个二次峰值点为燃气周期起始点,在其之后寻找下一个相邻的一次峰值点,计算这两个峰值点之间的间距,作为初始周期;

步骤5,流量计算:

(1)从初始周期的起始点开始进行流量计量,若连续两次计量失败,则需要重新确定周期,继续进行流量计量,直到计算至最后一个一次峰值点,具体为:如果作为起始点的二次峰值点连续三次加上初始周期都能卡到峰值点,则判定初始周期选取合理;否则,判定初始周期选取不合理,寻找下一个二次峰值点和其之后的下一个相邻的一次峰值点,重新选取初始周期,直到找到合理的初始周期;

(2)累加计算的燃气使用周期,从而计算出燃气使用体积。

2.根据权利要求1所述的利用燃气压力间接计量燃气使用量的方法,其特征在于,所述一次峰值提取后对其进行阈值舍点处理。

3.根据权利要求1所述的利用燃气压力间接计量燃气使用量的方法,其特征在于,所述步骤5中流量计量的方法为:每当起始点加上一个初始周期卡到峰值点,将起始点替换为该峰值点,作为新周期的起始点,并且燃气量计数加一。

说明书 :

利用燃气压力间接计量燃气使用量的方法

技术领域

[0001] 本发明涉及一种计量燃气使用量的方法,特别是涉及一种利用燃气压力间接计量燃气使用量的方法。

背景技术

[0002] 随着经济的发展,从农村到城市,越来越多的家庭用上了天然气。大部分家庭使用的膜式燃气表是利用柔性薄壁腔室进行天然气体积计量的仪表,此计量方式虽然计算计量准确,但是燃气使用量只能通过人去观察燃气表上的数字,而不能被实时传输到燃气公司。此外,虽然目前市场有电子气体流量计,但是大多物理结构复杂、价格昂贵。

发明内容

[0003] 本发明针对现有电子气体流量计成本高、结构复杂的技术问题,提供一种成本低、运算量小的利用燃气压力间接计量燃气使用量的方法。
[0004] 为此,本发明的技术方案是,包括以下步骤:
[0005] 步骤1,采集压力数值;
[0006] 步骤2,判断火力及数据分段:
[0007] 根据压力数据相邻点间的差值及相邻段间均值的差值判断火力的变换点以分段,每分段的火力大小相同;
[0008] 进行滤除燃气管道管网波动:对每分段分别进行平滑处理以计算并滤除燃气管道的管网波动;
[0009] 步骤3,提取峰谷值:
[0010] 通过相邻点比较的方法提取周期峰谷值,记作一次峰谷值,对一次峰谷值进行二次提取,记作二次峰谷值:
[0011] 步骤4,计算周期长度:
[0012] 取出当前分段数据中的第一个二次峰值点为燃气周期起始点,在其之后寻找下一个相邻的一次峰值点,计算这两个峰值点之间的间距,作为初始周期;
[0013] 步骤5,流量计算:
[0014] (1)从初始周期的起始点开始进行流量计量,若连续两次计量失败,则需要重新确定周期,继续进行流量计量,直到计算至最后一个一次峰值点,具体为:
[0015] 如果作为起始点的二次峰值点连续三次加上初始周期都能卡到峰值点,则判定初始周期选取合理;否则,判定初始周期选取不合理,寻找下一个二次峰值点和其之后的下一个相邻的一次峰值点,重新选取初始周期,直到找到合理的初始周期;
[0016] (2)累加计算的燃气使用周期,从而计算出燃气使用体积。
[0017] 优选地,一次峰值提取后对其进行阈值舍点处理。
[0018] 优选地,步骤5中流量计量的方法为:
[0019] 每当起始点加上一个初始周期卡到峰值点,将起始点替换为该峰值点,作为新周期的起始点,并且燃气量计数加一。
[0020] 本发明的有益效果是,利用出气口压力的周期性变化的关系,通过信号处理提取出气体压力的变化周期,最终实现对使用燃气体积的计量。方法简单,运算量小,计算结果准确,健壮性好,能够实时检测家用燃气使用情况。

附图说明

[0021] 图1是本发明方法流程图;
[0022] 图2是本发明判断火力及数据分段流程图;
[0023] 图3是本发明滤除燃气管道管网波动的流程图;
[0024] 图4是本发明提取周期峰谷值的流程图;
[0025] 图5是本发明计算周期长度流程图。

具体实施方式

[0026] 下面结合实施例对本发明做进一步描述。
[0027] 本方法的装置设有单片机和温度压力传感器,温度压力传感器采集的膜式燃气表出口的燃气压力数据存储到单片机的RAM中,存储到一定量时计算一次燃气使用量。
[0028] 如图1所示,计算燃气使用量的方法包括以下步骤:
[0029] 步骤1,采集压力数值:
[0030] 通过计量装置阀体中的温度压力传感器采集膜式燃气表出气口燃气压力值;
[0031] 步骤2,判断火力及数据分段:
[0032] 积累一定的压力值数据量后,根据压力数据相邻点间的差值及相邻段间均值的差值判断火力的变换点以分段,此时每分段的火力大小相同;
[0033] 步骤3,滤除燃气管道管网波动:
[0034] 对每分段分别进行平滑处理以计算并滤除燃气管道的管网波动;
[0035] 步骤4,提取周期峰谷值:
[0036] 通过相邻点比较的方法提取峰谷值,记作一次峰谷值,对提取后的峰谷值进行阈值舍点处理,保留有效数据以减少冗余;对一次峰谷值再次通过相邻点比较的方法提取峰谷值,记作二次峰谷值;
[0037] 步骤5,计算周期长度:
[0038] (1)取出当前分段数据中的第一个二次峰值点为燃气周期起始点,在其之后寻找下一个相邻的一次峰值点,计算这两个峰值点之间的间距,作为初始周期;
[0039] (2)如果作为起始点的二次峰值点连续三次加上初始周期都能卡到峰值点,则判定初始周期选取合理;否则,判定初始周期选取不合理,寻找下一个二次峰值点和其之后的下一个相邻的一次峰值点,重新选取初始周期,直到找到合理的初始周期。
[0040] 步骤6,流量计算:
[0041] (1)初始周期选取正确后,从初始周期的起始点(二次峰值点)开始进行流量计量,若连续两次计量失败,则可能遇到小变火点,需要回到步骤5重新确定周期,继续进行流量计量,直到计算至最后一个一次峰值点;
[0042] (2)累加计算的燃气使用周期,从而计算出燃气使用体积。
[0043] 如图2所示,步骤2判断火力及数据分段的具体步骤是:
[0044] 首先,输入原始压力信号;然后,从第51个点到倒数第51个点遍历(每次增加5个点),如果第i点的压力值与第i+6点的压力值的差值大于50,而且第i点前50个点的平均值与第i+6点后50个点的平均值差值大于30,则有变火,第i点为断层点,记录第i点的位置在数组cp中;否则,即为没有变火,第一个点记为断层点,存在数组cp中;每个断层点的下一个点到下一个断层点之间设置为一段,等所有数据分段完后,结束判断火力及数据分段部分。
[0045] 如图3所示,步骤3滤除燃气管道管网波动的具体步骤是:
[0046] (1)取前20个点的压力值的平均值bid;
[0047] (2)第一点的压力值和平均值bid做差;如果差的绝对值大于等于7,那么平均值bid更新为该点的值和平均值bid的均值,然后该点的压力值被更新为平均值bid;如果差的绝对值小于7,那么平均值bid不更新,该点的压力值被更新为平均值bid;循环遍历所有的采样点;
[0048] (3)固定窗口长度为50进行曲线平滑:
[0049] a.前25个点:第n点的值用其相邻前后各n-1个点的值和其本身的值的均值作为其新的值;
[0050] b.中间的点(即除去前25个点和后25个点的点):用其相邻前后各25个点的值和其本身的值的均值作为其新的值;
[0051] c.后25个点:第n点的值用其相邻前后各25-n个点的值和其本身的值的均值作为其新的值;
[0052] (4)重复步骤(3)两次,得到平滑的管网波动曲线;
[0053] (5)原始波形减去管网波动波形,即为滤除管网波动后的波形。
[0054] 如图4所示,步骤4提取周期峰谷值的具体步骤是:
[0055] (1)滤除管网波动后的数组设为Temp[],所有的点取相反数后得到Temp1[];
[0056] (2)设定一种步长N,从Temp[]数组的第一个点开始遍历,如果一个值比它相邻的值都大记为峰值,且峰值的下一个峰值点距离上一个峰值点的间距最少为N;
[0057] (3)设定一种步长N,从Temp1[]数组的第一个点开始遍历,如果一个值比它相邻的值都大记为峰值,且峰值的下一个峰值点距离上一个峰值点的间距最少为N,然后取相反数即为原数组的谷值点;
[0058] (4)将所有峰值点的位置存放在数组locs[]中,数值存放在数组value[]中;将所有谷值点的位置放在数组locsd[]中,数值存放在数组valued[]中。
[0059] 峰谷值提取后,进行阈值舍点:
[0060] (1)对于上一步提取出的峰值点,从locs[]中的第1个点开始遍历,检查对应位置的value[]中的值,如果值大于+6Pa或者值小于-6Pa,则保留原位置的点的数值不变;否则,原位置点的数值置为0;
[0061] (2)将value[]中所有值非0的点的位置信息和数值信息覆盖原来的数组locs[]和数组value[];
[0062] (3)对谷值点的处理与步骤(1)(2)相同。
[0063] 如图5所示,步骤5的具体步骤是:
[0064] (1)对数组value[]再次提取峰值,记作二次峰值,记录下第一个二次峰值点的位置和大小,作为初始周期起始点ND;从存放一次峰值点的数组value[]中开始寻找周期终止点NE,取ND后的下一个一次峰值点作为周期终止点NE;
[0065] (2)计算ND与NE之间的距离nd_length,如果nd_length<20,说明取到的周期终止点NE为杂点,则用该点后的一次峰值点作为NE覆盖当前点;
[0066] (3)寻找ND+nd_length、ND+2*nd_length和ND+3*nd_length这三个点的附近三个点内是否存在峰值点,如果连续三次都存在,则说明初始周期nd_length选取正确,进行流量计算;否则,说明初始周期nd_length选取不正确,从当前ND后寻找下一个二次峰值点作为周期起始点ND,重新选取正确初始周期nd_length,进行流量计算。
[0067] 流量计算:初始周期选取正确后,每当ND+nd_length卡到峰值点,将ND替换为此峰值点,作为新周期的起始点,并且燃气量计数加一。
[0068] 本实施例的单片机采用ST公司生产的32位ARM微控制处理器STM32F103ZET6;气体温度压力传感器采用Infineon公司生产的DPS310传感器。
[0069] 本实施例利用出气口压力的周期性变化的关系,通过信号处理提取出气体压力的变化周期,最终实现对使用燃气体积的计量。方法简单,运算量小,计算结果准确,健壮性好,能够实时检测家用燃气使用情况。硬件结构只需要微控制处理器、压力传感器,结构简单,成本低。
[0070] 惟以上者,仅为本发明的具体实施例而已,当不能以此限定本发明实施的范围,故其等同组件的置换,或依本发明专利保护范围所作的等同变化与修改,皆应仍属本发明权利要求书涵盖之范畴。