APP下载

气象观测用气压传感器误差自校准系统设计

2022-09-29马修才郑树芳温晓辉牛永红

计算机测量与控制 2022年9期
关键词:串口气压误差

马修才,郑树芳,温晓辉,牛永红

(1.内蒙古自治区大气探测技术保障中心,内蒙古 呼和浩特 010051; 2.内蒙古自治区气象信息中心,内蒙古 呼和浩特 010051)

0 引言

用于地面气象观测的气压传感器主要有PTB210、PTB220、PTB330(DYC1)几种型号,上述几种型号的传感器均为智能型传感器,其内部集成了非易失存储器用于存储气压输出信号的误差调整参数[1-3],且几种传感器均提供了外部串行通讯接口,方便用户进行数据采集和参数设置等操作。随着传感器的老化,即使传感器利用出厂时集成的参数进行了误差调整,仍有较大可能在检定/校准时超出误差允许范围,此时需要用户重新获取新的误差调整参数并更新到传感器中,将传感器误差控制在允许的范围内。

目前国内对上述几种型号传感器的误差调整,基本都为人工手动收发交互命令与数据的方式,相关的研究[4-9]已较为成熟。但是手动收发命令的方式,对操作人员要求较高,操作人员不仅需要熟悉传感器的误差调整原理与方法,并且需要自行搭建传感器的误差调整环境,通用性差、不够便捷。有相关学者针对PTB220,设计了“基于串口通信的PTB220气压传感器误差自动调整系统”[10],可实现PTB220型号气压传感器的误差自动调整,但该系统需要借助第三方系统来采集压力标准器和传感器气压值,以此来获取新的误差调整参数。本文在详细研究了几种型号的气压传感器技术手册和相关学者的研究基础后,针对PTB210、PTB220、PTB330几种型号传感器,设计了一种多通道误差自校准系统,可同时实现多达8路上述型号传感器误差自动调整。

1 系统结构及原理

如图1所示,误差自校准系统包括硬件和软件两部分,软件部分为运行在终端电脑的误差自校准软件,硬件部分提供传感器和气压标准器、压力控制器等到终端电脑的通讯链路和气路连接。系统的硬件部分,充分利用了现阶段全国各省级气象计量检定机构配备的检定系统硬件设备,包括16 Port串口服务器,压力控制器、气压标准器和用于采集传感器模拟输出信号的6位半数字万用表,上述设备通过232串口与串口服务器连接,再由串口服务器接入终端电脑。文章所研究的几种型号的传感器,虽然具备232串行通信功能,但其外部接口并非为标准的DB9 232,因此设计了“多通道转换器”,将几种型号的传感器外部接口转换成3线制的DB9 232接口,并为各通道的传感器提供工作电源。

图1 误差自校准系统结构

2 多通道转换器设计

2.1 传感器外部接口

PTB220和PTB330(DYC1)具有相同的外部接口[11-12],均为DB9母口。其引脚定义见表1,2、3、5引脚为232信号接收、发送和地线,其7、9引脚为传感器供电引脚(9~30 V DC),6、8引脚为传感器模拟信号输出端口(0~5 V电压输出,仅配置了数模转换模块的传感器具备此功能)。PTB210外部引线功能定义同样见表1,PTB210并未对外引出232信号地线,为使收发数据稳定,可将采集端的232地线与PTB210电源地连接。

表1 传感器外部接口引脚(线)定义

2.2 多通道转换器

多通道转换器作用有3个:1)将传感器由Port口接入并将其232信号线引至COM口供后端连接;2)为接入的传感器提供工作电源;3)若接入的传感器为具备模拟输出模块的PTB220,将8通道传感器的模拟信号输出经过通道选择后向后端输出。其结构如图2所示。

图2 多通道转换器结构

选用直流开关电源为8通道传感器和通道选择电路供电,用SC4519芯片将开关电源12 V转换为3.3 V为多通道转换器的MCU供电。设计中控制器芯片采用STM32F103,模拟通道选择采用两片8选1模拟开关芯片AD7501,一片输入端接入8通道传感器的模拟信号输出,另一片输入端接入8通道传感器的模拟信号地,由控制器芯片IO引脚控制模拟开关通道的选通。为使传感器模拟信号测量更准确,需在Vout接口两线之间并联一个阻值在10~60 kΩ之间标准负载电阻[13]。

多通道转换器通电后,MCU开始运行固化好的程序。该部分程序分为主程序和串行中断程序,主程序完成初始化后进入主循环,等待串口接收标志;当MCU串口接收到数据时,串行中断程序触发,进行接收数据处理,并置位串口接收标志;主程序检测到串口接收标志后进行数据判断,当为预设的数据格式时,控制相应IO引脚输出高低电平选通对应的模拟通道。

图3为多通道转换器外部接口图,上方为前面板接口,下方为后面板接口:传感器由前面板Port端口接入,PTB220/PTB330通过串口线连接至DB9接口,PTB210接入DB9上方的接线端子,每个Port端口同时只允许接入一类传感器;后面板的传感器数字信号输出COM口通过串口线连接至串口服务器,再由串口服务器接入电脑,COM0为多通道转换器通信端口,通过此串口控制通道转换器选择对应的模拟量通道,Vout为当前所选通道的PTB220模拟量输出端口,连接数字万用表采集模拟信号。

图3 多通道转换器外部接口

3 误差自校准系统软件实现

3.1 传感器误差调整步骤及要点

3.1.1 PTB210

PTB210更新传感器误差调整参数的步骤:1)读取并备份原误差调整信息;2)禁用传感器原误差调整参数,重启传感器;3)与气压标准器对比获取传感器新的误差调整参数;4)将新的误差调整参数写入到传感器中,使能传感器误差调整参数,重启传感器。PTB210误差调整参数需要重启传感器后生效,多点误差调整使能开关也是重启后才生效。调整过程中需要用到的通信命令见表2。

表2 PTB210误差调整相关命令

3.1.2 PTB220

误差线性调整步骤:1)打开传感器盖板,拨码开关第4位拨到ON位置;2)禁用误差线性调整参数;3)获取传感器新误差调整参数;4)写入新的误差调整参数,进行单点调整时,第二个校准点不应直接发送回车结束,应输入与第一点不同的压力点,修正值沿用第一个校准点的修正值;5)启用误差线性调整参数。

误差多点调整步骤:1)打开传感器盖板,拨码开关第4位拨到ON位置;2)禁用误差多点调整参数;3)获取传感器新误差调整参数;4)写入新的误差调整参数,若待调整的压力点不足8个时,发送回车提前结束误差调整过程;5)启用误差多点调整参数。

模拟量调整步骤:1)先进行数字量的调整,数字量调整后误差仍不满足要求时继续进行模拟量的调整;2)禁用误差线性调整参数;3)强制传感器输出低气压点电压,获取该电压值;4)强制传感器输出高气压点电压,获取该电压值;5)计算新的电压偏移和增益参数;6)更新模拟量调整参数;7)启用误差线性调整参数。

需要注意的是,PTB220模拟量调整不会影响数字量输出,数字量调整会影响模拟量输出,多点调整会重置线性调整,误差调整参数更新完成后不需重启传感器,只需使能调整即可使新的参数生效。表3为PTB220误差调整过程涉及的通信命令。

表3 PTB220误差调整相关命令

3.1.3 PTB330

PTB330误差调整步骤与PTB220基本一致,不同之处在于PTB330误差调整前需要打开盖板,将ADJ按键按下,输入的新误差调整参数为传感器读数和气压参考值的列表,而非PTB220误差调整时需输入传感器读数和修正值列表。另外,PTB330进行误差多点调整后不会自动重置误差线性调整参数。表4为PTB330误差调整涉及到的命令。

表4 PTB330误差调整相关命令

3.2 自校准模型

根据3.1节的研究基础,得出了实现各型号传感器误差调整的通用模型,其流程如图4所示,详情如下:若接入的传感器为PTB220或PTB330,需要先将其参数写入开关置于允许的状态;传感器接入系统完成初始化后,首先将其之前的误差调整参数禁用,以确保获得的新误差调整参数的准确性,与其他两种型号的传感器不同,PTB210在禁用以前的误差调整参数后需要重启传感器才能生效;根据需要调整的点数设置压力控制点列表,控制压力控制器到各个压力控制点,当压力达到稳定条件后,获取经过修正的气压标准器的气压值作为气压参考值,获取各通道的传感器气压输出值,直至压力控制点列表循环完成,结束各通道气压传感器误差调整参数的获取;根据压力控制点的个数选择单点误差调整、两点误差调整或多点误差调整,调整完成后使能误差调整参数使之生效。

图4 传感器误差调整通用流程

至此,实现自校准软件的任务已经非常明确,在用户界面中设计相应的压力控制点选择列表、气压标准器和压力控制器参数设置、误差调整阈值设置、各通道传感器信息展示等必备要素,并将图4流程中的操作全部于软件后台程序自动完成。

3.3 自校准软件实现技术要点

自校准系统软件采用WPF技术实现,前端界面采用xaml语言设计,后台程序采用C#语言实现,利用.net Framework中的SerialPort类实现232串行设备的数据交互。软件内置了文章所研究的几类气压传感器的误差调整、气压采集等操作的相关命令,可自动收发命令控制气压传感器进行通信参数自动匹配、自动获取传感器序列号、误差调整参数禁止/使能、获取气压值、更新误差调整参数、重启等操作,可自动收发命令完成压力控制器压力点控制、模式设置、控制速率等操作,自动完成气压标准器的气压获取、参考气压值计算,进行模拟量误差调整时可自动控制多通道连接器切换至目标通道并控制数字万用表采集气压模拟量。用户仅需将传感器接入多通道连接器并打开误差调整允许开关(仅PTB220、PTB330需要),便可一键完成图4所示的传感器误差调整的整个流程。为增加软件的自动化程度及运行结果的可靠性,自校准软件实现了业务电脑与传感器间通信参数的自动匹配、各通道接入传感器型号的自动识别,设计了兼顾软件运行效率和接收数据完整性的串口数据判包机制,并充分利用了C#强大的异常处理机制增加软件运行稳定性。

3.3.1 自动匹配通信参数

根据232串行通信的特点,通信双方波特率、校验位、数据位、停止位必须都一致时,才可能正确收发数据[14-15]。根据这一特点,先在电脑端设置某种通信参数,然后向传感器发送特定命令,若能从返回信息中正确解析出预期的信息,说明通信的另一端即传感器端的通信参数也为该通信参数。3种型号的传感器均预设了获取传感器版本信息的命令,具体命令及返回信息如表5所示。

表5 获取传感器版本信息命令

将几种传感器可能设置的波特率300、600、1 200、2 400、4 800、9 600、19 200与奇校验、偶检验、无校验3种检验方式以及数据位7位、8位进行组合成列表(其中数据位为8时校验位只能为无校验),并将常用的设置[16-17]“9600,N,8,1”(PTB210业务应用设置)、“4800,N,8,1”(PTB220旧站设置)、“2400,N,8,1”(PTB330业务应用设置)及“9600,E,7,1”(传感器出厂配置)提前至列表最前,循环列表并将电脑端对应串行端口更新成对应列表项的串口设置,发送获取传感器版本信息命令,直至循环至列表中的设置能使传感器正确返回包含预期传感器型号的信息时,说明当前的列表项设置正确,即传感器的预置通信参数,并同时识别了该通道所连接传感器的型号。利用自动匹配通信参数功能,用户无需提前设置与各通道传感器通信的参数,提高了系统的自动化程度。

3.3.2 传感器返回数据判包机制

由于文章所研究几种传感器返回数据格式、结束标志、长度等在不同命令及配置下有所区别,利用简单的延时函数来等待传感器返回的方法,延时过短时无法保证各个命令的返回数据信息完整,延时过长则会影响软件的运行时效,因此本文根据串行通信持续数据流的特点,设计了一种通用于文章所研究几种传感器的判包机制。

电脑端软件向传感器发送命令后,进入数据接收处理模块:1)在数据接收处理模块,首先进行收到返回数据前的循环,循环体内执行1 ms的短延时操作,并判断串口接收缓冲区是否有可读数据,达到循环上限跳出循环,接收缓冲区有可读数据提前跳出循环;2)进入接收数据处理循环,判断有无可读数据,无数据且循环次数达到上限,结束循环,数据接收处理模块返回空值,若有可读数据,读取串口接收缓冲区内的数据后跳出循环,重新开始新一轮循环直至串口数据流完全接收完成。利用这种判包机制,电脑端软件可根据传感器返回数据的长度自适应合适的等待时间,提高了电脑端软件接收传感器数据的时效性。

3.3.3 分段内插法处理气压参考值

系统中所采用的气压标准器为经过了有效溯源,各压力校准点的参考气压值应为气压标准器气压值与其修正值之和。气压标准器溯源证书上仅给出了测量范围内的整百点的修正值信息,即500 hPa到1 100 hPa间7个整百百帕点的修正值,若设置了非整百点的压力校准点,则需要按内插法[18]计算该校准点对应的气压标准器修正值,如此得到的气压参考值更为合理。先将气压标准器溯源数据分成如下6段:[500,600],[600,700],[700,800],[800,900],[900,1 000],[1 000,1 100],当设置的压力校准点落在其中某一段时,可按照公式(1)计算得到气压标准器在该校准点的修正值。

(1)

式中,b为待求气压标准器修正值,hPa;a为设置的压力校准点气压值,hPa;a1、a2为a所在气压校准点分段的两端点,hPa;b1、b2为该段两端点对应的修正值,hPa。

3.3.4 关键操作失误重试及异常处理

整个误差自动调整过程涉及到的操作步骤多,为确保传感器误差自动调整一次性成功,在设计软件时采取了关键操作失误重试的措施。软件对传感器和气压标准器、压力控制器等设备返回的数据进行解析,根据解析的结果采取不同的后续操作。若解析得到正确信息,继续执行后续操作,若解析出现错误,则在未达到重复次数上限前重新执行当前操作,直至得到预期的返回信息。

设计软件时充分利用了C#为用户提供的强大的异常处理机制[19-20],所有功能函数均进行了异常捕获和处理,并设计了异常日志辅助功能,记录下软件运行时发生的非预期的异常情况。

关键操作失误重试及异常处理使自校准软件代码更加健壮,保证在非设备故障时,误差自动调整一次性成功。

4 实验结果与分析

在实际应用测试中,利用文章所研究、设计的误差自校准软件,对4台PTB210,3台PTB220,1台DYC1(即PTB330)进行了误差调整实验。实验中8台传感器同时接入系统,选择并设置了8个误差校准点,为对比8台传感器误差调整前后的输出值,将误差调整阈值设置为了0.01,对8通道的传感器全部进行误差多点调整。图5为测试过程中的误差自校准软件界面,表6为误差调整前各个通道传感器的输出误差情况,即获取到的新的误差调整参数。表7为软件自动将新的误差调整参数写入传感器生效后,再次获取的各通道传感器误差情况。

图5 实际应用中的传感器误差自校准软件

通过表6和表7可以明显看出,利用文章设计的误差自校准软件调整过后的传感器误差均明显减小,参与实验的各传感器在各校准点的误差绝对值最大值为0.05 hPa,远小于规范要求的±0.30 hPa的误差范围。另外,从接入传感器,到误差调整完成,整个误差调整过程持续时间未超过1小时。以往从搭建调试环境到获取新的误差调整参数到完成误差调整,调整1台传感器就需耗费近半天时间,使用本系统后大大提高了气压传感器误差调整工作效率。

表6 误差调整前传感器误差

表7 误差调整后传感器误差

除文章中所述实验外,还利用自校准系统进行了大量其他实验,包括误差线性调整和误差多点调整的对比实验,发现误差多点调整效果明显好于只进行单点调整或者两点调整的误差线性调整,仅对于在整个测量范围内输出按同一近似偏差偏移,或者误差呈直线规律分布的情况,误差线性调整和误差多点调整效果近似。因此在调整前传感器误差分布规律不明的情况下,建议选用误差多点调整的方式更新传感器的误差调整参数,且选择的校准点数越多,误差调整的效果越好。另外,在文中实验后时隔2月再次对经过误差调整后的样品传感器进行检定,其结果与初次实验时误差调整后的传感器误差结果非常接近,表明传感器使用本文的误差调整系统调整过后并不影响其稳定性。

5 结束语

1)通过测试验证,利用文章研究的传感器误差自校准系统,可将传感器误差调整至远小于规范要求的误差范围内,并且所用的时间也远小于以往手动误差调整的方式,可同时对8个通道的气压传感器进行误差自校准,大大提高了传感器误差调整工作效率和自动化程度;

2)建议在进行传感器误差调整时,使用误差多点调整,以使传感器在整个测量范围内均获得较好的误差调整效果。

猜你喜欢

串口气压误差
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
MCS—51单片机中的多串口通讯技术的应用
精确与误差
近40年玉树地区地面气压变化特征分析
全程健康教育对高压氧治疗引起气压伤的影响
全国计算机等级考试机房准备工作探讨
压力表非线性误差分析与调整
微机串口的测试诊断
正确的时间