-
随着智能化管理的不断推进,中国无人值守地震监测台站数量日益增加。在日常维护过程中发现,当无人值守台站仪器出现通讯故障时,大部分故障是由于仪器本身软件等原因造成仪器出现死机的情况,而此类故障仅仅通过对故障仪器进行断电重启操作即可解决。但由于无人值守台站大多地处偏远,维护人员到现场既需要耗费大量时间,同时也加大了运维成本。市面上出售的远程遥控电源虽具有远程控制电源重启功能,但无法自动判断仪器是否处于死机状态,不能及时排除故障,造成仪器观测数据大量缺测。
针对以上问题,研制了一款适用于无人值守台站的电源控制器,并经过实际测试结果发现,设备运行效果良好。
-
控制器使用Arduino Uno开发板、继电器元器件等设备,通过控制通断模块、网络收发模块、仪器状态判断模块、远程控制模块的设计,实现网络控制电源通断。
Arduino是2005年1月由米兰交互设计学院的两位教师David Cuartielles和Massimo Banzi联合创建,是一块基于开放原始代码的Simple I/O平台[1-2],并且具有使用类似Java、C语言的开发环境。可以快速使用Arduino语言与Flash或Processing等软件完成互动作品[3]。
Arduino包含2个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE(集成开发环境)[4]。只要在IDE中编写程序代码,将程序上传到Arduino电路板后,板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言(基于 Wiring)和Arduino开发环境(基于 Processing)来实现的[5]。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信(比如 Flash, Processing,MaxMSP)来实现。
使用Arduino单片机可以完全不需要了解其内部硬件结构和寄存器设置,软件语言仅仅需要掌握少数几个指令,而且指令的可读性也强,稍微有C语言的编程基础即可以编写程序,在Arduino IDE中集成了大量实例程序,对需要的功能进行相应修改即可实现。重要一点是Arduino烧录代码不需要烧录器,直接用USB线就可以完成下载调试,方式简单,而且Arduino的核心芯片也支持ISP功能。这样的好处在于,烧录程序时单片机不需要拔离系统电路,节省时间与额外成本[6]。
-
当需要监控的设备同时存在交流和直流2种供电方式时,我们无法仅仅依靠切断、重连直流电源的方式对设备进行关机重启。所以假设所监控的设备只有电瓶直流供电,在电瓶和仪器之间的线路上安装控制端,当通过控制端无法访问所监控的设备时,我们认定该设备为死机状态。这时通过管理端向控制端发送信号,使控制端的继电器进行断开和闭合操作,从而达到对仪器的断电重启效果。具体设计原理图见图1。
-
1)管理端启动,通过网络自动检测控制端与设备端当前的运行状态。
2)控制端监控设备,即每隔a秒尝试打开设备端的管理页面。
3)当页面可以正常打开时,控制端向管理端返回正常信号,管理端发送正常信号给控制端,控制端继电器保持联通状态;当页面不能正常打开时,控制端向管理端返回报警信号,管理端向控制端发送命令,控制端控制继电器断开,b秒后重连,重连后控制端返回监控状态(图2)。
4)为避免多次连续断电重启对设备造成损坏,当控制端连续尝试断电重启N次后,控制器不再尝试断电重启,并发送信号给管理端报警。
-
将控制端进行相关参数设置及调试完成后接入电源及网络,然后将接入设备直流供电的蓄电池电源线的正极引线断开,并将断开以后的接头分别接入控制端继电器的2个接口中。如仪器设备本身还带有交流供电接口,则务必将交流供电接口空置,以免控制器断开直流电源后,无法达到仪器断电重启效果。
-
1)在需要安装控制端软件的电脑上安装管理软件,由于管理软件未对注册表有修改要求,所以将管理软件压缩包解压至任意盘符根目录下即可。
管理软件压缩包内包含监测程序.exe、forSet.exe、macinedb.madb、set.ini、tubiao.ico及说明.txt共6个文件。其中,监测程序.exe文件为主程序文件,forSet.exe文件为控制端的参数配置文件,macinedb.madb文件为管理多个管理端及监控软件密码的数据库文件,set.ini文件为管理端参数配置文件,tubiao.ico为图标文件,说明.txt为管理端使用说明文件。
2)将电源控制器控制端通过USB转串口连接线连接电脑,打开管理端目录下的forset.exe文件,对控制端进行IP、端口等参数设置(图3)。调试设置完成后断开连接。
打开set.ini,在该文件里对管理端软件的检查间隔时间、重启次数限制、重启等待时间及提示间隔时间进行设置。
3)管理端设置结束后,打开监测程序。监测软件启动时,输入登陆密码,即时加载测试设备信息。初次使用时,需要进入设备管理选择界面对控制端及需要监控的设备信息进行登记(图4)。
在监测程序中可以通过增加、修改、测试、删除等功能键,实现对控制端相应设备的管理操作。每次进入设备管理及退出后自动刷新设备列表,每间隔指定时间都会对列表内检测网址进行检测。
-
石家庄中心台下属有无极、小马村、河间、黄骅、沧县5个无人值守流体观测站,以河间、黄骅、沧县3个无人值守流体观测站为例,其距离石家庄中心台的距离分别为:214.1 km,246.2 km及291.8 km。即使现在由兴济地震台负责运维,这3个流体井观测台站距离兴济地震台最远的也约90 km。而从这3个流体井的运维记录上来看,2016年全年共有运维记录38次,其中通讯故障18次,而仅到场对仪器进行断电重启操作即解决的故障就有12次。经将电源控制器安装至沧县井观测站后,近2年通讯故障次数明显下降,根据管理端软件记录来看,因死机造成的通讯故障次数为5次,均在5分钟内通过电源控制器自行重启解决。实际测试情况表明,该电源控制器有效减少了因仪器死机造成的观测数据缺测情况,并降低了维护成本。
-
研制的电源控制器基本实现了对死机设备的自动监控记录及自动断电重启功能,而且可以根据需要在管理端添加多个控制设备,达到管理多个无人值守台站多个设备的功能,同时可以在管理端人为对控制端发送命令达到人为断电重启功能,实用性强。
该电源控制器硬件部分安装简单,软件部分在WindowsXP及以上版本操作系统下均可运行。其实际应用已成为运维人员解决通讯故障的有效手段,减少因死机造成观测数据的缺测的现象,并在一定程度上降低了仪器维护成本。
Research and Implementation of A Power Controller for Unattended Stations
-
摘要: 针对目前无人值守台站仪器因为软件等原因造成的通讯故障问题,研制了以Arduino Uno为硬件基础的电源控制器,其主要特点是,在无人值守台站需要监控的仪器和供电电瓶之间安装控制器,并将控制器接入网络;在远程同一网段的计算机安装管理端,并保持打开状态,可以不间断地实施监控功能,对仪器运行状态进行实时判断;并根据需要,实现多控制器的管理功能。经台站安装使用测试,表明设备运行效果良好。Abstract: A power controller based on Arduino Uno is developed to solve the communication failure problems caused by software and other reasons of unattended station instruments. Its main feature is to install the controller between the unattended station's instrument and the power supply battery, and connect the controller to the network. In the remote computer installation management terminal of the same network segment, and keep it open, the monitoring function can be implemented without interruption, and the operation state of the instrument can be judged in real time according to the needs of the implementation of multi-controller management functions. The actual test results show that the equipment is running well.
-
Key words:
- unattended /
- communication failure /
- power controller
-
[1] 翁浩峰. 在Flash课件中使用传感器[J]. 物理通报, 2010(6): 35-37. doi: 10.3969/j.issn.0509-4038.2010.06.016 [2] 袁本华, 董铮. 基于Arduino控制板的温室大棚测温系统设计[J]. 安徽农业科学, 2012, 40(8): 5049-5050. doi: 10.3969/j.issn.0517-6611.2012.08.211 [3] 蔡睿妍. Arduino的原理及应用[J]. 电子设计工程, 2012, 20(16): 155-157. doi: 10.3969/j.issn.1674-6236.2012.16.048 [4] 程晨. Arduino开发实战指南: AVR篇[M]. 北京: 机械工业出版社, 2012: 1. [5] Wheat D. Arduino技术内幕[M]. 翁恺, 译. 北京: 人民邮电出版社, 2013: 76. [6] 孙峻荣, 吴明展, 卢聪勇. Arduino一试就上手[M]. 2版. 北京: 科技出版社, 2013: 23. -