CN106248297A - 压力传感器误差修正方法和用该方法测压的热量表 - Google Patents
压力传感器误差修正方法和用该方法测压的热量表 Download PDFInfo
- Publication number
- CN106248297A CN106248297A CN201610603767.2A CN201610603767A CN106248297A CN 106248297 A CN106248297 A CN 106248297A CN 201610603767 A CN201610603767 A CN 201610603767A CN 106248297 A CN106248297 A CN 106248297A
- Authority
- CN
- China
- Prior art keywords
- pressure
- value
- adc
- calorimeter
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L27/00—Testing or calibrating of apparatus for measuring fluid pressure
- G01L27/002—Calibrating, i.e. establishing true relation between transducer output value and value to be measured, zeroing, linearising or span error determination
- G01L27/005—Apparatus for calibrating pressure sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K17/00—Measuring quantity of heat
- G01K17/06—Measuring quantity of heat conveyed by flowing media, e.g. in heating systems e.g. the quantity of heat in a transporting medium, delivered to or consumed in an expenditure device
Landscapes
- Chemical & Material Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Analytical Chemistry (AREA)
- Engineering & Computer Science (AREA)
- Combustion & Propulsion (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
本发明公开了一种压力传感器误差修正方法,包括获取基础数据;设定基本压力点;获得M度水温下的压力测量修正曲线;获得基本压力点上的压力测量修正曲线;获得M度水温‑基本压力点的压力测量修正曲线;对热量表的压力测量值进行修正;本发明针对每一个压力传感器,在所选定的基本压力点上分别进行一次修正即可完成压力传感器的误差修正工作,因此本发明方法不仅提高了压力传感器的压力测量精度,更是极大地提高了热量表的生产效率和标定、修正效率。本发明方法提供的应用所述压力传感器误差修正方法进行压力测量,测量准确,应用可靠,方法简单,效率极高;而应用本发明的误差修正方法进行压力测量的热量表,同样具有测量精度高、可靠的优点。
Description
技术领域
本发明具体涉及一种压力传感器误差修正方法和用该方法测压的热量表。
背景技术
随着国家经济技术的发展,供热***已经逐步进入了千家万户,给广大人民群众带来的舒适便捷的生活。热量表是供热***中用来测量及显示水流经热交换***所释放或吸收热量值的仪表,在按热量计量收费的体系中是一个关键的仪表。它的测量数据是供热体系中按热量计量收费的重要依据,因此它的测量精度,工作稳定性等技术指标无论是对供热企业还是对用户而言,都是非常重要的。同时供热企业需要对热量表的使用情况和供热管网的热力工况进行实时了解,以便提高能效,就必须了解供热管网的流量、进回水管的温度和压力情况。
热量表主要由流量传感器、配对温度传感器和计算器组成,并带有进、回水管的压力测量功能。压力测量模块集成在热量表内部。热量表的压力测量功能,是通过使用微处理器自带的高精度模数转换器ADC 获取进、回水管压力值对应的电压值,通过电压与压力的对比关系,从而取得压力值这种方式来实现的。但是,由于实际测量的结果是原始电压值,再通过原始电压值转换成压力,电压与压力值的转换本身存在误差,再加上这种测量的原始电压值可能随着温度的变化而变化,且这种变化是非线性的,同时高精度模数转换器测量也会带来一些固有误差,所有这些很难保证在全量程的压力范围内和全量程水温范围内压力测量误差的准确性。
为了解决这种问题,现有大多数的方法是引入修正补偿系数,通过此修正补偿系数对压力进行校准修正补偿,从而减小计量误差。现在固定厂家生产的固定型号的压力传感器的一致性较好:在测量压力时,虽然各个压力传感器的修正系数不同,但是固定厂家生产的固定型号的压力传感器的测量压力-修正补偿系数曲线的线形基本一致。
但由于在全量程压力范围内,压力修正补偿系数是非线性分布的,如果要保证全量程压力范围内的压力误差的准确性,每一个压力传感器均需要对全量程范围内的压力点进行校准,得到一条较为准确的修正补偿曲线。但这种方法在生产时,由于要校准修正的压力点较多,会导致生产效率非常低。因此大多数的厂家为了提供生产效率,在实际生产过程中减少了压力点的校准,导致压力-修正补偿系数曲线与实际的差别很大,不能很好的保证压力计量误差在全量程的压力范围内的准确性;同时由于热量表要求的水温范围宽,相同的压力点在不同的水温下误差也不一样,单条的修正补偿曲线已无法保证在全量程水温范围内各个压力点的误差,导致压力点在不同的水温下压力计量误差不准确。
发明内容
本发明的目的之一在于提供一种修正过程简单、可靠、准确的压力传感器误差修正方法。
本发明的目的之二在于提供一种利用所述压力传感器误差修正方法进行测压的热量表。
本发明提供的这种压力传感器误差修正方法,包括如下步骤:
S1. 获取待修正型号的压力传感器的压力测量量程和压力测量精度要求,压力传感器安装的热量表的温度测量量程、温度测量精度要求和热量表电控***中ADC转换模块的输入电压值与输出电压值之间的关系;
S2. 在压力测量量程内选取N个基本压力点,所述N个基本压力点将压力测量量程划分为N+1个区间;N取值为自然数,N取值越大,则传感器的误差修正度越高;
S3. 根据步骤S1获取的精度要求、ADC转换模块的输入电压值与输出电压值之间的关系和步骤S2获取的N+1个区间,在M度水温下采用如下算式,在每个区间内得到若干个压力误差修正点:
PPa_1=Pmin,PPa_2=Pmin+Pu,PPa_3= Pmin+2*Pu,……,PPa_n-1= Pmin+(n-1)*Pu,
PPa_n= Pmax,且Pmin=PPa_1<PPa_2<……<PPa_n=Pmax;
式中Ppa_1、Ppa_2、……、Ppa_n为误差修正压力点,Pmin为区间内的压力范围的最低压力值,Pmax为区间内的压力范围的最高压力值,Pu为压力测量精度要求;
S4. 在步骤S3得到的每个区间的压力误差修正点上,在M度水温下,获取原始压力值和I个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和热量表的压力测量值,将热量表的压力测量值误差进行修正和曲线拟合,得到M度水温下的压力测量修正曲线;
S5. 在热量表的温度测量量程内,采用以下算式得到N个基本压力点在不同水温下的温度误差修正点:
TPb_1=Tmin,TPb_2=Tmin+Tu,TPb_3= Tmin+2*Tu,……,TPb_n-1= Tmin+(n-1)*Tu,
TPb_n= Tmax,且Tmin=TPb_1<TPb_2<……<TPb_n=Tmax;
式中Tpb_1、Tpb_2、……、Tpb_n为温度误差修正点,Tmin为热量表测量范围内的最低水温,Tmax为测量范围内的最高水温,Tu为水温精度要求,n=1,2,3……;
S6. 在步骤S5得到的每个区间的温度误差修正点上,在N个基本压力点对应的压力下,获取原始压力值和J个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和压力测量值,对热量表的压力测量值进行误差修正和曲线拟合,得到基本压力点上的压力测量修正曲线;
S7. 在M度水温下,在N个基本压力点对应的压力下,获取原始压力值、K个待修正型号的压力传感器所在热量表的压力测量平均值和温度测量平均值;根据获取的原始压力值和压力测量平均值,对热量表的压力测量值进行误差修正,得到M度水温-基本压力点的压力测量修正曲线;
S8. 获取热量表实际测量时测量得到压力实测值P测量值,根据如下规则获取修正补偿系数值K基原和水温值T基原:
1)步骤S2选定的基本压力点共N个,分别为P1、P2、……PN,则压力测量量程被划分为N+1个区间,分别为第一区间[Pmin,P1]、第二区间[P1,P2]、……、第N区间[PN-1,PN]、第N+1区间[PN,Pmax],其中Pmin为压力测量量程最小值,Pmax为压力测量量程最大值;
2)根据压力实测值P测量值和各个压力区间的大小关系,判定实测值落入具体的压力区间内;
3)若压力实测值P测量值落入第X区间,则取第X区间的上限值PX作为选取的基本压力点,同时取第X区间的上限值PX所对应的温度测量平均值作为水温值T基原;若X为N或者N+1,则取PN为选取的基本压力点,水温值T基原均取值为PN对应的温度测量平均值;
S9. 根据获取的M度水温下的压力测量修正曲线、基本压力点上的压力测量修正曲线和M度水温-基本压力点的压力测量修正曲线,采用如下算式对热量表的压力测量值进行修正:
P修正值=P测量值×( KPa_i ×KPb_j ×K基原) / ( KPa_ii×KPb_jj )
式中,P修正值为修正后的测量值,P测量值为热量表的压力实测值,KPa_i为压力实测值在M度水温下的压力测量修正曲线上对应的修正补偿系数,K基原为热量表的压力传感器在步骤S8选取的基本压力点上的修正补偿系数值,KPa_ii为步骤S8选取的基本压力点在M度水温-基本压力点的压力测量修正曲线上对应的修正补偿系数;KPb_j为测量时的水温在基本压力点上的压力测量修正曲线上对应的修正补偿系数,KPb_jj为步骤S8得到的水温值T基原在基本压力点上的压力测量修正曲线上对应的修正补偿系数。
步骤S1所述的ADC转换模块为热量表控制器自带的ADC转换模块。
所述的热量表控制器的型号为MSP430F4793。
所述的获取ADC转换模块的输入电压值与输出电压值之间的关系,具体包括如下步骤:
ⅰ. 定义Vin为通过ADC转换模块的模拟输入电压;定义Dadc为ADC转换模块的数字输出ADC电压采样值;定义Vr+为ADC转换模块的最大参考电压值;定义Vr-为ADC转换模块的最小参考电压值;
ⅱ. 针对每一个压力测量点,利用压力传感器、外部电压基准电压芯片和ADC转换模块快速进行ADC模数转换;
ⅲ. 采用如下公式计算数字输出ADC电压采样值Dadc:
Dadc = 4095×(Vin - Vr-)/ (Vr+ - Vr-),
ⅳ. 对同一个压力测量点,在A秒内连续测量B次,得到B个模拟输入电压经过模数转换的数字输出ADC电压采样值Dadc1~ DadcB;
ⅴ. 将步骤4得到的数字输出ADC电压采样值筛除最大值和最小值,将剩余的B-2个数字输出ADC电压采样值求取平均值D adc_平,作为最终的ADC输出电压值。
所述的根据ADC转换模块的输入电压值与输出电压值之间的关系获取压力测量值,具体包括如下步骤:
① 定义高压力点Phigh对应的数字输出ADC电压采样值为Dadc_high;定义低压力点Plow对应的数字输出ADC电压采样值为Dadc_low;定义Pdiff = Phigh-Plow;定义Ddiff = Dadc_high-Dadc_low;定义Bias为压力传感器测量的压力值与经过微处理ADC模数转换的数字输出ADC电压采样值的转换斜线对应的斜率,则
Bias= Pdiff /Ddiff;
② 读取热量表内置的Bias、Phigh和Dadc_high值;
③求取数字输出ADC电压采样值D adc_平对应的原始压力测量值P测量值:
P测量值=Phigh-(Dadc_high-Dadc_平)* Bias
步骤S2所述的N个基本压力点为3个基本压力点。
步骤S3所述的M度水温为50℃。
步骤S4所述的I个待修正型号的压力传感器、步骤S6所述的J个待修正型号的压力传感器和步骤S7所述的K个待修正型号的压力传感器均为10个。
本发明还提供了一种利用所述压力传感器误差修正方法进行测压的热量表。
本发明提供的这种压力传感器误差修正方法,根据热量表压力传感器的特性对压力测量流程进行分区,并针对每个区分别进行修正,仅需要针对压力传感器进行一次标准M水温下的全量程范围内的压力点修正和一次全水温范围内基本压力点的修正,再针对每一个压力传感器,在所选定的基本压力点上分别进行一次修正即可完成压力传感器的误差修正工作,因此本发明方法不仅提高了压力传感器的压力测量精度,更是极大地提高了热量表的生产效率和标定、修正效率。本发明方法提供的应用所述压力传感器误差修正方法进行压力测量,测量准确,应用可靠,方法简单,效率极高;而应用本发明的误差修正方法进行压力测量的热量表,同样具有测量精度高、可靠的优点。
附图说明
图1为本发明的方法流程图。
具体实施方式
如图1所示为本发明的方法流程图:本发明提供的这种压力传感器误差修正方法,包括如下步骤:
S1. 获取待修正型号的压力传感器的压力测量量程和压力测量精度要求,压力传感器安装的热量表的温度测量量程、温度测量精度要求和热量表电控***中ADC转换模块的输入电压值与输出电压值之间的关系;
ADC转换模块为热量表控制器自带的ADC转换模块;热量表控制器的型号为MSP430F4793。
所述的获取ADC转换模块的输入电压值与输出电压值之间的关系,具体包括如下步骤:
ⅰ. 定义Vin为通过ADC转换模块的模拟输入电压;定义Dadc为ADC转换模块的数字输出ADC电压采样值;定义Vr+为ADC转换模块的最大参考电压值;定义Vr-为ADC转换模块的最小参考电压值;
ⅱ. 针对每一个压力测量点,利用压力传感器、外部电压基准电压芯片和ADC转换模块快速进行ADC模数转换;
ⅲ. 采用如下公式计算数字输出ADC电压采样值Dadc:
Dadc = 4095×(Vin - Vr-)/ (Vr+ - Vr-),
ⅳ. 对同一个压力测量点,在A秒内连续测量B次,得到B个模拟输入电压经过模数转换的数字输出ADC电压采样值Dadc1~ DadcB;
ⅴ. 将步骤4得到的数字输出ADC电压采样值筛除最大值和最小值,将剩余的B-2个数字输出ADC电压采样值求取平均值D adc_平,作为最终的ADC输出电压值。
那么,根据ADC转换模块的输入电压值与输出电压值之间的关系获取压力测量值,则具体包括如下步骤:
① 定义高压力点Phigh对应的数字输出ADC电压采样值为Dadc_high;定义低压力点Plow对应的数字输出ADC电压采样值为Dadc_low;定义Pdiff = Phigh-Plow;定义Ddiff = Dadc_high-Dadc_low;定义Bias为压力传感器测量的压力值与经过微处理ADC模数转换的数字输出ADC电压采样值的转换斜线对应的斜率,则
Bias= Pdiff /Ddiff;
② 读取热量表内置的Bias、Phigh和Dadc_high值;
③求取数字输出ADC电压采样值D adc_平对应的原始压力测量值P测量值:
P测量值=Phigh-(Dadc_high-Dadc_平)* Bias
S2. 在压力测量量程内选取N个基本压力点,所述N个基本压力点将压力测量量程划分为N+1个区间;N取值为自然数,N取值越大,则传感器的误差修正度越高;作为优选方案,基本压力点可以选为4个;
S3. 根据步骤S1获取的精度要求、ADC转换模块的输入电压值与输出电压值之间的关系和步骤S2获取的N+1个区间,在M度水温下采用如下算式,在每个区间内得到若干个压力误差修正点:
PPa_1=Pmin,PPa_2=Pmin+Pu,PPa_3= Pmin+2*Pu,……,PPa_n-1= Pmin+(n-1)*Pu,
PPa_n= Pmax,且Pmin=PPa_1<PPa_2<……<PPa_n=Pmax;
式中Ppa_1、Ppa_2、……、Ppa_n为误差修正压力点,Pmin为区间内的压力范围的最低压力值,Pmax为区间内的压力范围的最高压力值,Pu为压力测量精度要求;
S4. 在步骤S3得到的每个区间的压力误差修正点上,在M度水温下,获取原始压力值和10个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和热量表的压力测量值,将热量表的压力测量值误差进行修正和曲线拟合,得到M度水温下的压力测量修正曲线;作为优选方案,可以选取M度水温为50℃即可;
S5. 在热量表的温度测量量程内,采用以下算式得到N个基本压力点在不同水温下的温度误差修正点:
TPb_1=Tmin,TPb_2=Tmin+Tu,TPb_3= Tmin+2*Tu,……,TPb_n-1= Tmin+(n-1)*Tu,
TPb_n= Tmax,且Tmin=TPb_1<TPb_2<……<TPb_n=Tmax;
式中Tpb_1、Tpb_2、……、Tpb_n为温度误差修正点,Tmin为热量表测量范围内的最低水温,Tmax为测量范围内的最高水温,Tu为水温精度要求,n=1,2,3……;
S6. 在步骤S5得到的每个区间的温度误差修正点上,在N个基本压力点对应的压力下,获取原始压力值和10个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和压力测量值,对热量表的压力测量值进行误差修正和曲线拟合,得到基本压力点上的压力测量修正曲线;
S7. 在M度水温下,在N个基本压力点对应的压力下,获取原始压力值、10个待修正型号的压力传感器所在热量表的压力测量平均值和温度测量平均值;根据获取的原始压力值和压力测量平均值,对热量表的压力测量值进行误差修正,得到M度水温-基本压力点的压力测量修正曲线;
S8. 获取热量表实际测量时测量得到压力实测值P测量值,根据如下规则获取修正补偿系数值K基原和水温值T基原:
1)步骤S2选定的基本压力点共N个,分别为P1、P2、……PN,则压力测量量程被划分为N+1个区间,分别为第一区间[Pmin,P1]、第二区间[P1,P2]、……、第N区间[PN-1,PN]、第N+1区间[PN,Pmax],其中Pmin为压力测量量程最小值,Pmax为压力测量量程最大值;
2)根据压力实测值P测量值和各个压力区间的大小关系,判定实测值落入具体的压力区间内;
3)若压力实测值P测量值落入第X区间,则取第X区间的上限值PX作为选取的基本压力点,同时取第X区间的上限值PX所对应的温度测量平均值作为水温值T基原;若X为N或者N+1,则取PN为选取的基本压力点,水温值T基原均取值为PN对应的温度测量平均值;
S9. 根据获取的M度水温下的压力测量修正曲线、基本压力点上的压力测量修正曲线和M度水温-基本压力点的压力测量修正曲线,采用如下算式对热量表的压力测量值进行修正:
P修正值=P测量值×( KPa_i ×KPb_j ×K基原) / ( KPa_ii×KPb_jj )
式中,P修正值为修正后的测量值,P测量值为热量表的压力实测值,KPa_i为压力实测值在M度水温下的压力测量修正曲线上对应的修正补偿系数,K基原为热量表的压力传感器在步骤S8选取的基本压力点上的修正补偿系数值,其值为热量表的压力传感器在基本压力点上,将检测到的压力值修正为理论压力值的修正补偿系数,KPa_ii为步骤S8选取的基本压力点在M度水温-基本压力点的压力测量修正曲线上对应的修正补偿系数;KPb_j为测量时的水温在基本压力点上的压力测量修正曲线上对应的修正补偿系数,KPb_jj为步骤S8得到的水温值T基原在基本压力点上的压力测量修正曲线上对应的修正补偿系数。
以下结合一个具体实施例,对本发明的方法进行进一步说明:
以超声波热量表在10.0度的水温及1.0Mpa压力点下进行压力测量和误差修正为例,即:T测=10度,P标准=1.0Mpa。首先要进行如下定义和设定。
全量程压力范围定义和设定:
定义全量程温度范围为 [Pmin ,Pmax],Pmin为最低压力,Pmax为最高压力,设定Pmin=0.2Mpa ,Pmax=2.5Mpa。
全量程水温范围定义和设定:
定义全量程水温范围为 [Tmin ,Tmax],Tmin为最低温度,Tmax为最高温度,设定Tmin=5度 ,Tmax=95度。
基本压力点的定义和设定:
基本压力点的定义为:低压力点Plow、中间压力点Pmid、高压力点Phigh。满足Pmin<Plow<Pmid<Phigh<Pmax 。
设定Plow=0.6 Mpa,Pmid=1.2 Mpa,Phigh=2.0 Mpa。
原始数据组M[N]的定义和设定:
定义原始数据组M[N]为每一秒钟压力传感器输入的模拟输入电压经模数转换后由微处理数字输出的N个ADC电压采样值。
M[N]={ Dadc_N_1,Dadc_ N_2,……,Dadc_N_N }。
设定N=12,则原始数据组为M[12],设定M[12]如下:
M[12]={ 1988,1970,1980,1900,
1975 , 1982, 1978, 1975,
1981, 1979, 1998, 1974
};
待修正的压力点对应的压力传感器输入的模拟输入电压经模数转换后由微处理数字输出的ADC电压采样值Dadc_平定义:
定义待修正的压力点对应的压力传感器输入的模拟输入电压经模数转换后由微处理数字输出的ADC电压采样值Dadc_平为将原始数据组M[N]中的N个连续的ADC电压采样数据,抛掉最大值和最小值后,计算得到剩余数据的平均值,假定Dadc_N_1为最小值,Dadc_N_N为最大值,则Dadc_平可表示如下:
Dadc_平=(Dadc_N_2+ Dadc_N_3 +……+ Dadc_N_N-1)/ N-2;
Dadc_high、Dadc_low的定义:
定义Dadc_high为基本压力点中的高压力点Phigh对应的ADC电压采样值。定义Dadc_low为基本压力点中的低压力点Plow对应的ADC电压采样值。
Bias的定义:
定义Bias为压力传感器测量的压力值与微处理器输出的电压模数转换ADC值的转换斜线对应的斜率。
Pdiff = Phigh - Plow
Ddiff = Dadc_high - Dadc_low
则: Bias=Pdiff / Ddiff
M度水温下的压力测量修正曲线定义和设定:
定义M度水温下的压力测量修正曲线为二维数组表示:PA [m][2]={{PPa_1,KPa_1},{PPa_2,KPa_2},……{PPa_m,KPa_m},其中m为此平均测量压力-修正补偿系数曲线上分布的压力点的数量,PPa_m为某压力点未经过修正的原始压力值,且0<Pmin≤PPa_1<PPa_2<……<PPa_m≤Pmax ;KPa_ m为某压力点对应的修正补偿系数.
此处的M度水温设定为50度。
因全量程压力范围为0Mpa~2.5 Mpa,为了保证误差的准确性,此条平均测量压力-修正补偿系数曲线上的压力点的最小压力间隔值为0.1 Mpa,压力点从0Mpa度开始,直到达到2.5 Mpa,故此条M度水温下的压力测量修正曲线上分布的压力点的数量m=26。
设定M度水温下的压力测量修正曲线二维数组:
PA [26][2] = {
{ 0.0,1.000 }, { 0.116,1.0121 },
{ 0.221,1.0105 }, { 0.306, 1.0100},
{ 0.424,1.0084 }, { 0.515,1.0126 },
{ 0.608,1.0114 }, { 0.705,1.0106 },
{ 0.812,1.0093 }, { 0.908,1.0099 },
{ 1.070,0.9877 }, { 1.128,0.9896 },
{ 1.203,1.0288 }, { 1.315,1.0294 },
{ 1.403,1.0388 }, { 1.512,1.0486 },
{ 1.613,1.0486 }, { 1.705,1.0494 },
{ 1.806,1.0092 }, { 1.905,1.0097 },
{ 2.014,1.0075 }, { 2.125,1.0121 },
{ 2.319,1.0091 },{ 2.402,1.0089 },
{ 2.505,1.0089 }
};
基本压力点上的压力测量修正曲线定义和设定:
定义基本压力点上的压力测量修正曲线为二维数组表示:PB [n][4]={{TPb_1,KPb_low_1,KPb_mid_1,KPb_high_1},{TPb_2,KPb_low_2 ,KPb_mid_2,KPb_high_2},……{TPb_n,KPb_low_n ,KPb_mid_n,KPb_high_n } },其中n为此条基本压力点上的压力测量修正曲线上分布的水温点的数量,TPb_n为水温值,且0<Tmin≤TPb_1<TPb_2<……<TPb_n≤Tmax ;KPb_low_n为TPb_n水温下基本压力点低压力点Plow对应的修正补偿系数;KPb_mid _n为TPb_n水温下基本压力点中间压力点P mid对应的修正补偿系数;KPb_ high _n为TPb_n水温下基本压力点高压力点P high对应的修正补偿系数。
因全量程水温范围为5度~95度,为了保证误差的准确性,基本压力点上的压力测量修正曲线上的温度点的最小温度间隔值为5度,温度从5度开始,直到达到95度,故此条基本压力点上的压力测量修正曲线上分布的水温点的数量n=18
设定此条基本压力点上的压力测量修正曲线的二维数组:
PB [18][4] = {
{ 5, 1.0159, 0.9968, 1.009 },
{ 10,1.0209, 0.9979, 1.029 },
{ 15,1.0049, 1.0021, 1.109 },
{ 20,1.0142, 1.0050, 1.029 },
{ 25,1.0029, 1.0132, 1.019 },
{ 30,1.0089, 1.0044, 0.989 },
{ 35,1.0056, 1.0026, 1.049 },
{ 40,1.0146, 1.0048, 1.036 },
{ 45,1.0683, 1.0153, 1.057 },
{ 50,1.0209, 1.0261, 1.028 },
{ 55,1.0843, 1.0415, 1.062 },
{ 60,1.0698, 1.0326, 1.089 },
{ 65,1.0099, 1.0202, 1.056 },
{ 70,1.0182, 1.0425, 1.067 },
{ 75,1.0149, 1.0326, 1.082 },
{ 80,1.0179, 1.0521, 1.045 },
{ 85,1.0129, 1.0723, 1.103 },
{ 90,1.0089, 1.0228, 1.107 },
{ 95,1.0172, 1.0422, 1. 089 }
}
M度水温-基本压力点的压力测量修正曲线定义和设定:
定义超声波热量表M度水温-基本压力点的压力测量修正曲线二维数组PC [3][3]={{Pc_low,Kc_ low,Tc_ low },{Qc_ mid,Kc_ mid,Tc_ mid },{Qc_ high, Kc_ high,Tc_ high }},其中:Pc_low,Kc_ low,Tc_ low分别为基本压力点低压力点Plow校准时未经过修正的原始压力值、需要进行修正的修正补偿系数和水温,Pc_ mid,Kc_ mid,Tc_ l mid分别为基本压力点中间压力点Pmid校准时未经过修正的原始压力值、需要进行修正的修正补偿系数和水温,Pc_ high,Kc_ high,Tc_ high分别为基本压力点高压力点P high校准时未经过修正的原始压力值、需要进行修正的修正补偿系数和水温。
设定
Pc_low= 0.638,Kc_ low= 1.0036,Tc_ low= 49.942;
Pc_mid=1.216,Kc_ mid= 1.0068,Tc_ lmid= 49.956;
Pc_low= 2.053,Kc_ low= 1.0057,Tc_ low= 49.973;
故PC [3][3]= {
{ 0.638,1.0036,49.942 },
{ 1.216,1.0068,49.956 },
{ 2.053,1.0057,49.973 },
}
计算待修正的压力点对应的压力传感器输入的模拟输入电压经模数转换后由微处理数字输出的ADC电压采样值Dadc_平:
根据原始数据组M[12]的数据,去掉最大值1998 和最小值 1900后,剩余数据的平均值Dadc_平为:
Dadc_平=(1988 + 1970+ 1980 + 1975 + 1982 + 1978 + 1975 + 1981 +1979 + 1974) / 10;
计算后:ADC电压采样值Dadc_平 =1978 。
计算ADC电压采样值Dadc_平对应的原始压力测量值P测量值为:
其中: Dadc_平 =1978
Plow=0.6 Mpa, Dadc_low=356
Phigh=2.0 Mpa,Dadc_high =3674
因:Bias =(Phigh - Plow)/ (Dadc_high - Dadc_low)
计算出: Bias = 0.0005425
因:P测量值= Phigh -Bias*(Dadc_high-Dadc_平)
计算出: P测量值=1.08 Mpa
Bias的定义和设定:
定义Bias为压力传感器测量的压力值与微处理器输出的电压模数转换ADC值的转换斜线对应的斜率。
原始压力测量值的P测量值的计算:
P测量值= Phigh -Bias*(Dadc_high-Dadc_平)
读取基本压力点校准时的校准参数二维数组PC [3][3],获取其所属区间内基本压力点对应的修正补偿系数值K基原和水温值T基原。
PC [3][3]= {
{ 0.638,1.0036,49.942 },
{ 1.216,1.0068,49.956 },
{ 2.053,1.0057,49.973 },
}
因为: P测量值=1.08 Mpa ,Plow=0.6 Mpa ,Pmid=1.2 Mpa
故: Plow≤P测量值<Pmid ,则P测量值属于第2区间。
P基原= P mid =1.2 Mpa
K基原= K基原_ mid =1.0068
T基原= T基原_ mid =49.973
根据M度水温下的压力测量修正曲线二维数组PA [26][2]得到P测量值对应的数组编号i,根据此编号i得到其在此M度水温下的压力测量修正曲线上对应的修正补偿系数Kpa_i,P测量值=1.08 Mpa,根据PA [26][2]中数据,当Ppa_i =1.128 Mpa,Ppa_i_1 =1.07 Mpa,满足:Ppa_i_1<P测量值≤Ppa_i,则:P测量值在此条平均测量压力-修正补偿系数曲线中的修正补偿系数Kpa_i=0.9896。
根据M度水温下的压力测量修正曲线二维数组PA [26][2]得到P基原对应的数组编号ii,根据此编号ii得到其在此M度水温下的压力测量修正曲线上对应的修正补偿系数Kpa_ii,P基原=1.2 Mpa,根据PA [26][2]中数据,当Ppa_ii =1.203 Mpa,Ppa_ ii _1 =1.128 Mpa,满足:Ppa_i_1<P测量值≤Ppa_i,则:P基原在此条M度水温下的压力测量修正曲线中的修正补偿系数Kpa_ii= 1.0288。
根据在基本压力点上的压力测量修正曲线二维数组PB [18][4] 得到T测对应的数组编号j,根据此编号j得到其在此基本压力点上的压力测量修正曲线上对应的修正补偿系数Kpb_j,T测=10 度,基本压力点为中间压力点P mid,根据PB [18][4]中数据,当Tpb_ j =10 度,Tpb_ j _1 =5度,满足:Tpb_ j _1<T测≤Tpb_ j,则:T测在此条基本压力点上的压力测量修正曲线中的修正补偿系数Kpb_ j = 0.9979。
根据在基本压力点上的压力测量修正曲线二维数组PB [18][4] 得到T基原对应的数组编号jj,根据此编号jj得到其在此基本压力点上的压力测量修正曲线上对应的修正补偿系数Kpb_jj,T基原=49.973,基本压力点为中间压力点P mid,根据PB [18][4]中数据,当Tpb_ jj =50 度,Tpb_ jj _1 =45度,满足:Tpb_ jj _1<T测≤Tpb_ jj,则:T基原在此条基本压力点上的压力测量修正曲线中的修正补偿系数Kpb_ jj = 1.0261。
经过修正补偿的最终压力测量值P修正值为:
P修正值=P测量值×( KPa_i ×KPb_j ×K基原) / ( KPa_ii×KPb_jj );
= 1.08×( 0.9896×0.9979×1.0068) / ( 1.0288×1.0261);
=1.0172Mpa
因为标准压力P标准值=1.0Mpa,未修正前测量值P测量值与标准压力P标准值的误差值为0.08Mpa,不满足压力准确度等级为1.0级的最大允许误差(0.025 Mpa),通过本发明的实施,最终压力修正值P修正值与标准压力P标准值的误差值为0.0172 Mpa,满足超声波热量表的压力的最大允许误差要求。
Claims (9)
1.一种压力传感器误差修正方法,包括如下步骤:
S1. 获取待修正型号的压力传感器的压力测量量程和压力测量精度要求,压力传感器安装的热量表的温度测量量程、温度测量精度要求和热量表电控***中ADC转换模块的输入电压值与输出电压值之间的关系;
S2. 在压力测量量程内选取N个基本压力点,所述N个基本压力点将压力测量量程划分为N+1个区间;N取值为自然数,N取值越大,则传感器的误差修正度越高;
S3. 根据步骤S1获取的精度要求、ADC转换模块的输入电压值与输出电压值之间的关系和步骤S2获取的N+1个区间,在M度水温下采用如下算式,在每个区间内得到若干个压力误差修正点:
PPa_1=Pmin,PPa_2=Pmin+Pu,PPa_3= Pmin+2*Pu,……,PPa_n-1= Pmin+(n-1)*Pu,
PPa_n= Pmax,且Pmin=PPa_1<PPa_2<……<PPa_n=Pmax;
式中Ppa_1、Ppa_2、……、Ppa_n为误差修正压力点,Pmin为区间内的压力范围的最低压力值,Pmax为区间内的压力范围的最高压力值,Pu为压力测量精度要求;
S4. 在步骤S3得到的每个区间的压力误差修正点上,在M度水温下,获取原始压力值和I个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和热量表的压力测量值,将热量表的压力测量值误差进行修正和曲线拟合,得到M度水温下的压力测量修正曲线;
S5. 在热量表的温度测量量程内,采用以下算式得到N个基本压力点在不同水温下的温度误差修正点:
TPb_1=Tmin,TPb_2=Tmin+Tu,TPb_3= Tmin+2*Tu,……,TPb_n-1= Tmin+(n-1)*Tu,
TPb_n= Tmax,且Tmin=TPb_1<TPb_2<……<TPb_n=Tmax;
式中Tpb_1、Tpb_2、……、Tpb_n为温度误差修正点,Tmin为热量表测量范围内的最低水温,Tmax为测量范围内的最高水温,Tu为水温精度要求,n=1,2,3……;
S6. 在步骤S5得到的每个区间的温度误差修正点上,在N个基本压力点对应的压力下,获取原始压力值和J个待修正型号的压力传感器所在热量表的压力测量值;根据获取的原始压力值和压力测量值,对热量表的压力测量值进行误差修正和曲线拟合,得到基本压力点上的压力测量修正曲线;
S7. 在M度水温下,在N个基本压力点对应的压力下,获取原始压力值、K个待修正型号的压力传感器所在热量表的压力测量平均值和温度测量平均值;根据获取的原始压力值和压力测量平均值,对热量表的压力测量值进行误差修正,得到M度水温-基本压力点的压力测量修正曲线;
S8. 获取热量表实际测量时测量得到压力实测值P测量值,根据如下规则获取修正补偿系数值K基原和水温值T基原:
1)步骤S2选定的基本压力点共N个,分别为P1、P2、……PN,则压力测量量程被划分为N+1个区间,分别为第一区间[Pmin,P1]、第二区间[P1,P2]、……、第N区间[PN-1,PN]、第N+1区间[PN,Pmax],其中Pmin为压力测量量程最小值,Pmax为压力测量量程最大值;
2)根据压力实测值P测量值和各个压力区间的大小关系,判定实测值落入具体的压力区间内;
3)若压力实测值P测量值落入第X区间,则取第X区间的上限值PX作为选取的基本压力点,同时取第X区间的上限值PX所对应的温度测量平均值作为水温值T基原;若X为N或者N+1,则取PN为选取的基本压力点,水温值T基原均取值为PN对应的温度测量平均值;
S9. 根据获取的M度水温下的压力测量修正曲线、基本压力点上的压力测量修正曲线和M度水温-基本压力点的压力测量修正曲线,采用如下算式对热量表的压力测量值进行修正:
P修正值=P测量值×( KPa_i×KPb_j×K基原 ) / ( KPa_ii×KPb_jj)
式中,P修正值为修正后的测量值,P测量值为热量表的压力实测值,KPa_i为压力实测值在M度水温下的压力测量修正曲线上对应的修正补偿系数,K基原为热量表的压力传感器在步骤S8选取的基本压力点上的修正补偿系数值,KPa_ii为步骤S8选取的基本压力点在M度水温-基本压力点的压力测量修正曲线上对应的修正补偿系数;KPb_j为测量时的水温在基本压力点上的压力测量修正曲线上对应的修正补偿系数,KPb_jj为步骤S8得到的水温值T基原在基本压力点上的压力测量修正曲线上对应的修正补偿系数。
2.根据权利要求1所述的压力传感器误差修正方法,其特征在于步骤S1所述的ADC转换模块为热量表控制器自带的ADC转换模块。
3.根据权利要求2所述的压力传感器误差修正方法,其特征在于所述的热量表控制器的型号为MSP430F4793。
4.根据权利要求3所述的压力传感器误差修正方法,其特征在于所述的获取ADC转换模块的输入电压值与输出电压值之间的关系,具体包括如下步骤:
ⅰ. 定义Vin为通过ADC转换模块的模拟输入电压;定义Dadc为ADC转换模块的数字输出ADC电压采样值;定义Vr+为ADC转换模块的最大参考电压值;定义Vr-为ADC转换模块的最小参考电压值;
ⅱ. 针对每一个压力测量点,利用压力传感器、外部电压基准电压芯片和ADC转换模块快速进行ADC模数转换;
ⅲ. 采用如下公式计算数字输出ADC电压采样值Dadc:
Dadc= 4095×(Vin - Vr-)/ (Vr+ - Vr-),
ⅳ. 对同一个压力测量点,在A秒内连续测量B次,得到B个模拟输入电压经过模数转换的数字输出ADC电压采样值Dadc1~ DadcB;
ⅴ. 将步骤4得到的数字输出ADC电压采样值筛除最大值和最小值,将剩余的B-2个数字输出ADC电压采样值求取平均值D adc_平,作为最终的ADC输出电压值。
5. 根据权利要求4所述的压力传感器误差修正方法,其特征在于所述的根据ADC转换模块的输入电压值与输出电压值之间的关系获取压力测量值,具体包括如下步骤:
① 定义高压力点Phigh对应的数字输出ADC电压采样值为Dadc_high;定义低压力点Plow对应的数字输出ADC电压采样值为Dadc_low;定义Pdiff = Phigh-Plow;定义Ddiff= Dadc_high-Dadc_low;定义Bias为压力传感器测量的压力值与经过微处理ADC模数转换的数字输出ADC电压采样值的转换斜线对应的斜率,则
Bias= Pdiff /Ddiff;
② 读取热量表内置的Bias、Phigh和Dadc_high值;
③求取数字输出ADC电压采样值D adc_平对应的原始压力测量值P测量值:
P测量值=Phigh-(Dadc_high-Dadc_平)* Bias。
6.根据权利要求1~5之一所述的压力传感器误差修正方法,其特征在于步骤S2所述的N个基本压力点为3个基本压力点。
7.根据权利要求1~5之一所述的压力传感器误差修正方法,其特征在于步骤S3所述的M度水温为50℃。
8.根据权利要求1~5之一所述的压力传感器误差修正方法,其特征在于步骤S4所述的I个待修正型号的压力传感器、步骤S6所述的J个待修正型号的压力传感器和步骤S7所述的K个待修正型号的压力传感器均为10个。
9.一种热量表,其特征在于应用所述权利要求1~8所述的压力传感器误差修正方法进行测压。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610603767.2A CN106248297B (zh) | 2016-07-28 | 2016-07-28 | 压力传感器误差修正方法和用该方法测压的热量表 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610603767.2A CN106248297B (zh) | 2016-07-28 | 2016-07-28 | 压力传感器误差修正方法和用该方法测压的热量表 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106248297A true CN106248297A (zh) | 2016-12-21 |
CN106248297B CN106248297B (zh) | 2018-10-12 |
Family
ID=57603413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610603767.2A Active CN106248297B (zh) | 2016-07-28 | 2016-07-28 | 压力传感器误差修正方法和用该方法测压的热量表 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106248297B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107084818A (zh) * | 2017-03-22 | 2017-08-22 | 深圳市博巨兴实业发展有限公司 | 一种高精度压力传感器芯片的校准方法 |
CN108931336A (zh) * | 2017-05-23 | 2018-12-04 | 北京航天计量测试技术研究所 | 一种高稳定性压力控制算法 |
CN112985688A (zh) * | 2021-02-20 | 2021-06-18 | 武汉飞恩微电子有限公司 | 压力传感器的输出校准方法、装置及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2615532B2 (ja) * | 1991-09-04 | 1997-05-28 | 動力炉・核燃料開発事業団 | 高精度差圧測定装置における零点補正方法 |
CN101750185A (zh) * | 2010-01-21 | 2010-06-23 | 西北工业大学 | 一种提高小压力测量准确度的方法 |
CN104390680A (zh) * | 2014-12-22 | 2015-03-04 | 湖南威铭能源科技有限公司 | 时差式超声波热量表流量误差修正方法 |
CN105527056A (zh) * | 2014-09-28 | 2016-04-27 | 沈阳中科奥维科技股份有限公司 | 一种基于温度参考的压力补偿校准方法 |
CN105628266A (zh) * | 2015-12-25 | 2016-06-01 | 武汉中航传感技术有限责任公司 | 一种压力传感器的温度补偿***及方法 |
-
2016
- 2016-07-28 CN CN201610603767.2A patent/CN106248297B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2615532B2 (ja) * | 1991-09-04 | 1997-05-28 | 動力炉・核燃料開発事業団 | 高精度差圧測定装置における零点補正方法 |
CN101750185A (zh) * | 2010-01-21 | 2010-06-23 | 西北工业大学 | 一种提高小压力测量准确度的方法 |
CN105527056A (zh) * | 2014-09-28 | 2016-04-27 | 沈阳中科奥维科技股份有限公司 | 一种基于温度参考的压力补偿校准方法 |
CN104390680A (zh) * | 2014-12-22 | 2015-03-04 | 湖南威铭能源科技有限公司 | 时差式超声波热量表流量误差修正方法 |
CN105628266A (zh) * | 2015-12-25 | 2016-06-01 | 武汉中航传感技术有限责任公司 | 一种压力传感器的温度补偿***及方法 |
Non-Patent Citations (2)
Title |
---|
刘志辉等: "活塞式热量表检定***研究", 《中国计量学院学报》 * |
王丽红: "标准表法热能表检定装置测量结果的不确定度评定", 《工业计量》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107084818A (zh) * | 2017-03-22 | 2017-08-22 | 深圳市博巨兴实业发展有限公司 | 一种高精度压力传感器芯片的校准方法 |
CN108931336A (zh) * | 2017-05-23 | 2018-12-04 | 北京航天计量测试技术研究所 | 一种高稳定性压力控制算法 |
CN112985688A (zh) * | 2021-02-20 | 2021-06-18 | 武汉飞恩微电子有限公司 | 压力传感器的输出校准方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106248297B (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101858811B (zh) | 高精度压力传感器信号补偿方法 | |
CN101718849B (zh) | 蓄电池充放电检测仪自动校准*** | |
CN104236652B (zh) | 用于确定流动气体的至少一个气体参数的方法 | |
CN103557991B (zh) | 一种用于压力测量的真空计校准方法及其装置 | |
CN103162901A (zh) | 一种压力传感器的多温度点非线性校准方法 | |
CN107478382B (zh) | 一种压力仪表自动检测装置及其检测方法 | |
CN203084175U (zh) | 一种恒流电子负载测试仪 | |
CN103575414A (zh) | 一种热电偶温度测量误差补偿方法 | |
CN106248297A (zh) | 压力传感器误差修正方法和用该方法测压的热量表 | |
CN105527038B (zh) | 铂热电阻传感器误差修正方法和用该方法测温的热量表 | |
CN101706294A (zh) | 一种自动判断传感器的校准时间的方法 | |
CN105258846A (zh) | 一种压力传感器校准的方法和装置 | |
CN101846572A (zh) | 一种减小压力传感器基本误差的方法 | |
CN103063321B (zh) | 一种铂电阻测温装置及其测温方法 | |
CN109323796A (zh) | 一种全温区范围内压力传感器标定方法 | |
CN103604525A (zh) | 一种基于校验数据的热电阻温度测量仪 | |
CN105527056A (zh) | 一种基于温度参考的压力补偿校准方法 | |
CN103604523A (zh) | 一种热电偶温度显示器 | |
CN102818623B (zh) | 一种亮色度计的校准方法和*** | |
CN210051915U (zh) | 一种翻斗式雨量计的快速率定装置 | |
CN113932889B (zh) | 基于涡轮流量计的智能燃油计量校正装置 | |
CN111693083B (zh) | 在线式温湿度仪表原位校准方法 | |
CN104612123A (zh) | 用于地基系数测试仪的自动校验装置 | |
CN105281666B (zh) | 一种提高太阳电池辐照传感器测试精度的方法 | |
CN210135981U (zh) | 一种流量及风速传感器标校装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |