郑俊锦,夏利娜,韩伟中,唐 震
(1.福建省大气探测技术保障中心,福州 350008; 2.福建省气象服务中心,福州 350001; 3.新疆维吾尔自治区气象台,乌鲁木齐 830002)
地面气象观测中所测量的风是水平运动的二维矢量,包括风速和风向[1]。风向指的是风的来向,是重要的地面气象观测要素之一,目前我国各级气象台站广泛使用的是格雷码盘式风向传感器,其主要部件包括:风向标、格雷码盘、光电管组、外壳和信号线插座等。风向标随风旋转时,带动同轴的格雷码盘同时旋转。对于七位格雷码风向传感器,每转动约2.812 5°(即360°/27),传感器内部光电管组则会产生7位新的格雷码电平。格雷码是一种无权码[2],属于可靠性编码,相邻的两个码值只有一个二进制位不同,特别适合于具有单步和循环特性的风向传感器(转角位移输出信号),可减小风向测量时随机取数时出现较大误差的可能性。
风向传感器故障主要分为机械故障和电路故障[3]。其中机械故障主要为显性故障(包括风向标转动故障和码盘变形缺损等),可以通过观察传感器外观和测试转动性能等方式来排查;而电路故障除传感器完全不能工作外,主要为隐性故障,故障原因包括传感器内部的光电对管损坏、插头脱焊和线缆损坏(如机械损伤、鼠咬破损或者长期使用造成的老化)等,此时通常会使得部分格雷码点位输出错误,即传感器不会完全停止工作而是继续“正常”输出信号。如果未及时发现此问题并进行传感器维修或更换,数据中心虽然不会有数据缺测的反馈,但是据此解算出的风向值为错误值,会严重影响观测数据的质量。例如某国家基本气象站即存在此类故障近2个月却未及时发现[4]:从4月24日起至6月8日,风向值虽然未缺测但是只在ESE-WSW之间变化,疑似为错误值。业务人员通过将主站(疑误风向传感器在主站)与备份站风向值记录对比发现,主站风向在方位 W-N-E之间均无记录,并且在方位SE-SW度之间风向出现频率较备份站正常记录明显偏多。经业务人员测量采集器端的格雷码电平发现:在不同风向下,D5脚始终是高电平(4.5 V以上), 而D4脚始终是低电平(1 V以下)。因此可判断是格雷码D4和D5异常。经过检查通信线缆发现:线缆中D5与电源线破皮短接,D4线缆断裂开路。
上述隐性故障的排查方法包括使用核查装置事前检测和利用风向数据事后反查。目前业务应用的风向核查装置主要为JJE10 型风向核查仪[5-7],其风向示值校验采用同步转动方法进行,适用于各类风向传感器的定性定量测量。然而该装置需要人工观察和记录,无自动输出检测结果的功能。赵建凯[8]通过使用STM32单片机设计了EL15-2C风向传感器检测仪,可以实现格雷码和风向值的检测,以及故障结果输出,但是只检测数值的连续性,而无法检测传感器码盘偏位故障,同时未利用格雷码自身特性而对所有格雷码数据进行比对,检测效率不够高并且没有风向值的显示。李秀英等[9]通过总结风向传感器故障时错误方位示值规律,无需测量格雷码,只要根据错误方位示值判断故障点。但是需要准确地将风向标旋转到某一风向值范围内(对工作人员技术水平要求高)甚至是某具体风向值(要借助专门的角度盘来定位,较难操作)。张永军[10]等提出的基于分布律规则的风向传感器故障检测算法虽然能够在不拆下风向传感器的情况下准确发现和判断风向传感器单一或组合式故障类型,此外,还有反查格雷码法[11-12]等方法。但是这些事后通过数据核查具有一定的滞后性,使得故障期间的观测数据不可用,并且无法补测。
为此,本文从风向传感器核查工作的实际需求出发,同时考虑到现有风向传感器核查仪检测方法不够全面(只利用到部分格雷码本身所固有的特性)且操作较繁琐等问题,研制了基于单片机的风向传感器现场自动核查仪系统。风向传感器通过接口模块连接入系统,系统可自动读取格雷码和解算出风向值进行故障检测,最后可自动生成检测结果并输出,输出方式包括LED指示灯、数码管和蜂鸣器等。同时,该核查仪便携易用,采用电池供电,风向传感器接入后即可直接检测,无需额外对传感器供电。
本系统以单片机为核心,通过模块化的电路设计,完成相关功能模块的设计。系统主要由单片机、供电模块、接口模块、按键模块、显示模块和声音模块等组成,系统框图如图1所示。供电模块包括升压或降压模块将电池电压调节后给系统供电。风向传感器通过接口模块连接入系统,单片机通过IO口连接并读取风向传感器的数据。人机交互方式主要通过按键模块、显示模块和声音模块来实现:使用者通过按键模块向系统输入,例如切换工作模式等;系统通过显示模块和声音模块实现信息输出,例如格雷码、风向值和声音提醒等功能。
图1 系统框图
由于系统除了需要连接和识别风向传感器(输出为7位格雷码的风向传感器需要7个IO口)以及对格雷码、风向值和检测结果等信息进行显示(显示模块包括LED灯和数码管等)外,还需要识别按键和控制蜂鸣器等。同时,为了使得系统电路更加简单可靠,因此主控芯片选择有较多IO口的单片机,本文选用封装为LQFP44的国产单片机STC15F2K60S2[13-14]。它是宏晶科技生产的单时钟/机器周期的单片机,采用STC-Y5超高速CPU内核。它具有无法解密、高可靠、高速(速度比传统8051单片机快8~12倍,并且兼容其代码指令)和低功耗等特点。其内部集成高可靠性的R/C时钟,可省去外部复位电路和晶振,并可ISP编程可选设置于5~35 MHz。STC15F2K60S2-LQFP44具有42个IO口,其工作电压为4.5~5.5 V,Flash程序存储器为60 k,大容量SRAM为2 K,高速异步串行口有2组,具有3个普通定时器/计数器T0~T2为16位可重装载,外部管脚也能掉电唤醒。具有3路CCP/PWM/PCA(可再实现3个定时器或者3个D/A转换器)。具有5个外部中断。具有掉电唤醒专用定时器。具有1组高速串行通信端口SPI。其内部EEPROM为1 K。具有看门狗。可对外输出赶时间及复位,可设置下次更新程序需要口令。支持RS485下载。
由于本系统的应用场景主要是在野外,因此选用电池供电,本系统采用9 V方块电池6LR61。同时由于本系统的单片机和其他主要元器件的供电电压为5 V,因此还需要将9 V电压经过降压模块降压形成5 V电压进行供电,降压模块选用150 kHz固定频率的PWM DC开关稳压电源换器LM2596S-5.0[15-16]。它具有3A输出电流驱动能力,高效率、高线性调整率、负载调整率和低纹波等特点。该芯片还提供了工作状态的外部控制引脚,其应用电路简单,仅需极少的外部元器件。此外,该芯片还内置过流过温保护等功能。输入电压范围为4.5 V到40 V。电路图如图2所示。
图2 降压模块电路图
图4 显示模块电路图
目前气象部门应用范围较广的格雷码式风向传感器主要为中环天仪(天津)气象仪器有限公司生产的EL15-2C[17]和江苏省无线电科学研究所有限公司生产的ZQZ-TF[18]。其传感器底部航空插头分别为19芯和12芯的公座,航空插头座焊装接线定义如表1所示。为了能检测风向通信线缆(即在现场核查时,将风向通讯线端子从主采集器风向接口拔出,然后插入核查仪系统即可测试),本系统的接口模块选用与自动气象站主采集器的风向接口相同的接线端子:5.08 mm接线端子2EDG5.08-9P公座。同时,本系统也可通过转接线直接检测风向传感器,即分别将两种风向传感器对应的航空插头母座焊接线缆连接到5.08 mm接线端子2EDG5.08-9P母座。测试时,将该母座连接入核查仪系统即可测试。
表1 EL-2C和ZQZ-TF航空插头座焊装接线定义表
风向传感器经由接口模块直接与单片机IO相连,单片机通过识别对应IO口的电平状态:低电平时对应的格雷码点位为“0”;高电平时则对应的格雷码点位为“1”。据此可解算出对应的格雷码值及风向值。七位格雷码式风向传感器的接口模块电路图如图3所示。
图3 风向传感器接口模块电路
显示模块主要包括LED指示灯和数码管。其中数码管用于显示风向值和测试结果等信息,选用3位共阳数码管,采用动态扫描的方式来控制(利用人眼的“视觉暂留现象”,逐个快速切换显示不同位的数码管,使得看起来数码管的3位数字是同时显示的);LED 指示灯用于显示系统工作模式和格雷码,分别选用2个3 mm单色LED和7个3 mm共阴红绿双色LED。2个单色LED分别用于显示系统的工作模块。实时格雷码及格雷码检测结果使用双色LED:当格雷码电平变化时双色LED的红灯的亮灭状态切换(即格雷码输出“1”时,红灯点亮,格雷码输出为“0”时,红灯熄灭);当系统检测模式且已经完成了一个检测周期时,若通过故障检测则对应的格雷码点位绿灯常亮,若未通过故障检测则红灯闪烁。显示模块电路图如图4所示。
按键用于切换系统工作模式:检测模式(自动重复进行风向传感器故障检测)和显示模式(实时显示格雷码和风向值)。声音模块选用有源蜂鸣器(其内部带有震荡源,只要一通电就会鸣叫),通过PNP三极管来控制蜂鸣器的通电与否及通电时间:连接三极管的IO口为低电平时三极管导通,蜂鸣器鸣叫;IO口为高电平时三极管则截止,蜂鸣器静音。根据不同的检测结果信号输出不同的声音信号(例如长鸣和急促间歇鸣叫等)以提醒使用者。按键与声音模块电路图如图5所示。
图5 按键与声音模块电路图
本系统的程序设计主要为单片机编程。风向传感器经转接线或自动气象站自带的通信线缆连接到本系统,通过按键切换系统工作模式(检测模式和显示模式)。显示模式实时显示风向传感器的格雷码值及对应的风向值;检测模式则利用识别和解算出来的风向值,根据故障检测算法对接入的风向传感器进行故障判断。以下主要介绍检测模式的故障判断逻辑,程序流程图如图6所示。故障检测的判断逻辑主要包括:格雷码点位检测和风向值检测。其中格雷码点位检测主要是检测风向传感器输出的格雷码数值是否符合格雷码的自身特性;风向值检测则主要利用风向传感器在旋转过程中风向值的出现规律进行故障判断。
图6 系统程序流程图
将风向传感器朝同一方向转动1周以上,针对传感器输出的格雷码信号按如下的方法进行故障检测:
1)由于风向传感器在旋转过程中,格雷码的每个点位的输出既有高电平(即“1”)又有低电平(即“0”)。因此,当某位格雷码的输出电平没有变化(即只识别到“0”,或者只识别到“1”)时,则认为此位格雷码异常,可直接判定该风向传感器故障。例如D0始终为“0”(或者始终为“1”)则可认为D0位损坏,该风向传感器存在故障。
2)由于格雷码本身就具有如下的特点:任意两个相邻的码值只有一位二进制数不同。因此,当检测过程中,风向传感器相邻输出的2组格雷码之间的差异不止1个点位时,则可判定该风向传感器存在故障。
3)根据传感器厂家提供的《风向角度与7位格雷码对照表》,如表2所示,我们可以发现格雷码不同点位的“0”和“1”是交替出现的,并存在如下规律:
D0(即最右边点位),2(即21)个“0”和2个“1”交替出现;
D1,4(即22)个“0”和4个“1”交替出现;
D2,8(即23)个“0”和8个“1”交替出现;
D3,16(即24)个“0”和16个“1”交替出现;
D4,32(即25)个“0”和32个“1”交替出现;
D5,64(即26)个“0”和64个“1”交替出现;
D6,64(即26)个“0”和64个“1”交替出现;
当风向传感器朝同方向转动时,也可根据各个点位的出现频率是否符合如上的规律来判断格雷码是否异常。若不符合则认为风向传感器是异常的。由于风向传感器的初始位置不确定,因此检测时分别从每位格雷码第一次检测到电平变化时,开始记录统计。同时在测试时通常只要求转动1周多,D5,D6在识别电平变化时开始计数,有可能不会完整地识别到连续的64个“0”和64个“1”的间歇变化。因此,在此步骤时,只进行D0~D4的检测,默认D5,D6正常(若D5,D6异常,在接下来的风向值检测中也会被检测出来)。
表2 风向角度与7位格雷码对照表
当以上3项故障检测均通过时,则认为风向传感器的格雷码点位检测结果为正常。
风向传感器的格雷码输出信息最终需要经采集器转化为风向值,因此还需要进行风向值检测。中国气象局部门计量检定规程JJG(气象)004-2013《自动气象站风向风速传感器》[19]中规定,风向实验室检定规定的检定点是:0°、 45°、90°、135°、180°、225°、270°和315°。但是考虑到:(1)格雷码点位也可能存在工作不稳定的状态(即在检定点时格雷码各点位工作正常但是其他风向点时却异常);(2)若只在上述点位进行检测则需要对风向标严格定位,然后再读取风向值检测是否异常。由于本系统主要应用于野外现场核查(观测场均在野外),由于风和人手抖动的影响,使得让风向标摆动到在某个核查点并且保持绝对静止是较为困难的[20]。(3)如果全部取消核查点检测,则可能会造成无法识别码盘偏位故障(即码盘输出的格雷码所解算的风向值与真实值存在偏移)。因此,风向传感器现场核查仪需要尽量减少核查点,本系统只选用0°这1个检测点(因为风向传感器外壳在0°点通常自带有明显的竖线标识,较好定位)并进行全部风向值的检测。
在朝同方向(顺时针或逆时针)转动风向传感器时,我们实时解算出对应的风向值序列存在如下的规律(如表2所示):顺时针转动时,风向值的变化规律为数值依次增大,当跨越357°时,下一个值为0°;逆时针转动时,风向值的变化规律为数值依次减少,当跨越0°时,下一个值为357°。因此,也可利用此变化规律来判断传感器是否异常。
在进行风向值检测时,转动风向传感器朝同方向转动1周以上,根据解算出来的风向值是否满足如下的规律进行故障检测:(1)风向标转到0°位置时,读取的风向值为0;(2)风向值按递增或递减的顺序依次变化;(3)每个风向值都有出现(所有风向值如表2所示)。当某风向传感器不能满足以上的3个条件的任意一条时,则认为其存在故障;当某风向传感器同时满足以上的3个条件时,则认为风向传感器的风向值检测结果为正常。
根据格雷码点位和风向值的检测结果情况,即可判断风向传感器是否正常:当上述2个检测都通过时传感器正常,否则传感器为异常。检测结果的输出主要通过双色LED、数码管和蜂鸣器来体现。检测结果对照表如表3所示。
系统研制完成后,为了检验本系统设计的可靠性和准确性,还进行了模拟测试和实际应用测试。系统实物图如图7所示。模拟测试即模拟常见故障情况进行测试,主要包括开路和风向缺失等故障,模拟测试结果见表4所示,其中M,N取值范围为0~6,并且M和N不相等。从表中可以看出,本系统能有效地排查出有故障的风向传感器。同时本系统可将检测周期缩短至5秒。
表3 检测结果对照表
图7 系统实物图
模拟格雷码点位异常故障1~3时,由于检测到的格雷码点位DN不满足上述格雷码点位检测中的方法(1),因此DN对应的LED指示灯红灯闪烁。同理,当不止一位格雷码点位存在开路、始终为“0”或“1”时,对应点位的LED指示灯红灯闪烁。
模拟格雷码点位异常故障4时,检测到的格雷码点位满足上述格雷码点位检测中的方法(1)但是不满足格雷码点位检测中的方法(2)。例如当N=0,M=1时,在风向为11°和17°时,格雷码分别为“0000111”和“0000100”,不满足格雷码“任意两个相邻的码值只有一位二进制数不同”。
模拟风向值缺失故障时,检测到的格雷码点位满足上述格雷码点位检测,但是解算出来的风向值由于有缺失值不满足风向值检测,因此全部点位的LED绿灯常亮,数码管显示“Err”。
表4 模拟测试结果
实际应用测试:即在实际业务工作中进行测试,使用本系统和现有的相关仪器进行对比检测验证。同时当检测到传感器异常时进行验证(包括使用万用表等仪器测量或送检确定故障)。2021年10月以来,本系统已在福建省气象计量检定所、漳州市气象局、龙岩市气象局和南平市光泽县气象局试用,反馈良好,无工作异常情况,能够较好地满足格雷码式风向传感器的核查工作需求。
本文从格雷码式风向传感器核查的工作实际需求出发,设计研发了风向传感器现场自动核查系统。该系统便携易用,可快速对风向传感器的格雷码点位、逐个风向值和通信线缆等进行检测。风向传感器直接接入后即可进行检测,无需对传感器进行额外供电。同时,该系统体积小,重量轻,便携易用,检测周期短,检测结果输出快,可快速高效地完成风向传感器的核查工作。
考虑到风向传感器隐性故障较难发现,除了要求台站工作人员定期进行核查,在今后的工作中,也可将本系统进行相应的修改后,挂接在业务运行的自动气象站主采集器的风向传感器接口上,进行在线故障检测。检测算法可做出相应的修改:检测时间周期可适当延长(在较长时间周期内,风向传感器在自然风的吹动下,也会转动一周以上);采用格雷码点位检测(格雷码的每个点位的输出既有高电平又有低电平、相邻2组的格雷码只变化1个点位)和风向值检测(当风向传感器转动1周以上时,每个风向值应该都能识别到)进行故障检测。同理,对其他位数格雷码输出的风向传感器也可采用类似的检测方法。