APP下载

基于FPGA的雨量自动气象站设计

2021-07-22唐晓波刘晓君刘斌

电子测试 2021年12期
关键词:示值气象站雨量

唐晓波,刘晓君,刘斌

(1.桂林市气象局,广西桂林,541001;2.阳朔县气象局,广西桂林,541900)

0 引言

随着山洪地质灾害防治项目的推进,气象、水利部门建成的雨量自动气象站快速增长,相关研发和维护的从业人次也随之增加。由于商业竞争、工作难度等因素,虽然自动气象站维护的资料较多[1-3],但是自动气象站设计的公开资料很少[4]。当前,大量的自动气象站研发和维护人员,不仅需要维护知识,如果能更深入的了解自动气象站的设计,将有助于灵活的开展工作,提高效率。

雨量自动气象站主要由采集器、传感器、供电模块等组成[5]。根据中国气象局发布的《气象专用技术装备使用许可证名录》[6],获得中国气象局使用许可证的雨量自动气象站其中有以下几款:1)华云升达公司DSD21型雨量自动气象站[7]。其采集器基于ARM7内核,雨量传感器可选配SL3-1翻斗式雨量传感器。ARM7是英国ARM公司量产的一款32位微处理器,可采用C语言编写驱动程序,其驱动程序具有较高的可读性和可移植能力。2)江苏无线电科学研究所DSD22型雨量自动气象站。该自动站采用32位操作系统,2个232通讯串口,可接1路雨量传感器。3)上海气象仪器厂DSD25型雨量自动气象站。该自动站具有对降水数据的采集、计算、传输等功能。

可见,不同厂商虽采用不同型号命名雨量自动气象站,但其采集器普遍选用ARM等32位可编程器件,传感器多见翻斗式雨量传感器,加上一些供电电源、通讯电路即构成雨量自动气象站。本文采用类似的设计思路,介绍一种雨量自动气象站的设计方法。

1 材料与方法

1.1 材料选用

本设计的雨量自动气象站选择32位可编程器件FPGA作为采集器内核,verilog语言编程。FPGA与ARM同属于嵌入式微处理器,都能通过计算机高级语言编写驱动程序。FPGA测量、计算、控制外部电量,作为电子设备的“大脑”,实现产品功能。选用由承水口、计量翻斗、计数翻斗等构成的SL3-1翻斗式雨量传感器,计数翻斗每翻转一次,代表0.1mm降水[8]。选用可供二次开发的LED显示屏,通过显示屏通讯串口,可以接收FPGA发出的显示的数据。图1是该自动站主要器件及其连接示意图。

图1 主要器件及连接示意图

1.2 测量方法

当无降水时,翻斗式雨量传感器不翻动,雨量传感器的两个接线柱相当于断开。通过雨量上拉电阻电路,将接入FPGA的端口钳制在高电平。此时FPGA检测到持续的高电平,不记录降水。

当有降水时,翻斗式雨量传感器翻斗翻动,雨量传感器两个接线柱会产生短暂的导通状态,此时在雨量上拉电阻电路中,CON器件的1和2插针导通。接入FPGA的端口,由高电平,转而出现一段低电平。翻斗翻转完毕后,接入FPGA的端口恢复高电平,此时已产生了一个完整的低脉冲信号。通过检测一个低脉冲信号,FPGA记录翻斗一次翻转,即0.1mm的降水。

2 硬件设计

本设计硬件由采集器(FPGA内核)、雨量传感器、LED显示屏等组成。采集器(FPGA内核)包含采用FPGA厂家提供的核心板电路和自主设计的RS232串口电路。FPGA核心板电路,见图2。它含有FPGA内核运行必备的电源电路、晶振时钟电路、JTAG接口程序下载配置电路、FLASH存储电路等单元。自主设计的采集器RS232串口电路,见图3,用于实现FPGA和LED显示屏的通信。

图2 FPGA核心板电路

图3 采集器RS232串口电路

雨量传感器采用上海气象仪器厂SL3-1型翻斗式雨量传感器,将该传感器的红黑接线柱,接入图1中的雨量上拉电阻电路CON插针1口和2口。CON插针1口另一端,接FPGA的信号检测接口和上拉电阻。CON插针2口另一端,接GND地线。雨量传感器不翻转时,CON插针的1口与2口之间相当于断路。当雨量传感器翻转时,CON插针的1口和2口形成短接[9]。

LED显示屏用于显示雨量结果,采集器和LED显示屏约定采用RS232串口通信协议传输,将采集器和LED显示屏的串口连接。

3 软件设计

软件部分包括:复位模块、idle空闲等待模块、confirm_rain雨量确认模块、cnt_rain雨量计数模块。软件流程图见图4。

图4 软件流程图

3.1 复位模块和idle空闲等待模块

采集器的复位按键拥有程序流程的最高优先级,当此按键按下,雨量值清零。复位按键松开时,程序可以进入雨量检测。Idle状态时,软件不断检测rain_in接口是否出现低电平,当出现低电平,跳到确认该电平是否有效的状态。

3.2 confirm_rain雨量确认模块

为了滤除雨量翻斗扫过干簧管的过程中和雨量自动气象站周围的电磁干扰信号[10-12]。本设计采用软件滤波的方式,滤除干扰信号。图5是示波器观察本设计的高频信号,看到的一些信号扰动。本设计通过大量实验发现,如果雨量翻斗翻转时的干扰信号,未经滤除,将会造成测量值比实际值偏大3-5倍。所以,在检测脉冲信号时,我们将高、低电平的检测确认时间延长至毫秒量级,即超过毫秒量级时长的高、低电平才判断为有效电平,本设计检测确认时间定为5毫秒,可以达到软件滤波的目的。

图5 干扰信号波形图

3.3 cnt_rain雨量计数模块

当程序判断rain_in接口再次出现高电平时,并且该电平时长超过5毫秒。则认为,雨量翻斗已经成功翻转一次。雨量计数增加1。至此,完成一次翻斗翻动,即雨量值增加0.1mm。部分verilog语言编写的程序如下:

4 测试

4.1 测试方法与结果

采用JJS2型雨量校准仪作为标准器,测试本设计雨量测量结果。参考中国气象局《区域自动气象站翻斗式雨量传感器现场校准方法》[13-14],制定本测试方法。将本设计的雨量自动气象站连续开机运行,取第30天、第60天、第90天做测试。测试小雨强1mm/min和大雨强4mm/min,每种雨强测试3次,取平均值,记录JJS2雨量校准仪的平均示值和本设计雨量自动气象站的平均示值。结果见表1。

表1 本设计雨量自动气象站测试结果 mm

第60天 1mm/min 10.0 9.7 9.7 -0.3 4mm/min 10.0 10.3 10.3 0.3第90天 1mm/min 10.0 10.1 10.1 0.1 4mm/min 10.0 10.2 10.2 0.2

4.2 数据分析

从测试结果可见,本设计示值和JJS2标准器示值高度一致,由于JJS2标准器通过测量雨量传感器翻斗翻动的次数,即得到其示值。本设计也是通过测量同样的翻斗翻动次数,得到本设计的示值。出现示值的一致,说明本设计在测量翻斗翻动次数,换算雨量值,显示结果等软硬件环节未产生额外的测量误差。JJS2标准器示值和标准值之间的误差,与本设计的示值和标准值之间的误差,误差来源相同,即雨量传感器产生的误差。

5 结语

基于FPGA的雨量自动气象站设计可以准确、稳定的测得雨量值。在本设计的基础上,通过修改、补充部分模块,可以实现其他雨量自动气象站的设计。例如:(1)将本设计采集器的FPGA内核换成ARM内核,将verilog代码翻译成C语言代码,实现目前市面上应用较多的基于ARM的雨量自动气象站。(2)在软件设计中将每一翻斗得到0.1mm雨量值改成每一翻斗其他规格的雨量值,实现将雨量传感器更改成其他规格的雨量传感器。(3)通过在本设计基础上增加通讯模块,设计在远端显示数据的雨量自动气象站。

猜你喜欢

示值气象站雨量
宁夏红柳沟流域水沙变化及产沙分析
珠峰上架起世界最高气象站
电感测微仪示值误差的测量不确定度分析与评定
心灵气象站
基于小波去噪的称重雨量数据分析
暴雨强度公式编制之基础数据质量控制
DZZ3型自动气象站一次地温数据异常的处理过程
旋光仪示值误差测量结果的不确定度评定
为桥梁领域的示值准确性护航
SL—1 型雨量传感器故障分析排除和维护