开关柜智能温度监测系统设计

2016-06-27 06:39刘南艳付秋实
自动化仪表 2016年5期
关键词:驱动程序开关柜温度传感器

刘南艳 付秋实 刘 菁

(西安科技大学计算机科学与技术学院1,陕西 西安 710054;西安科技大学电气与控制工程学院2,陕西 西安 710054)

开关柜智能温度监测系统设计

刘南艳1付秋实2刘菁1

(西安科技大学计算机科学与技术学院1,陕西 西安710054;西安科技大学电气与控制工程学院2,陕西 西安710054)

摘要:针对目前开关柜在线温度监测系统不能对未来温度进行准确预测的问题,在传统开关柜温度监测系统的基础上,引入BP神经网络算法,设计出一种智能开关柜温度监测系统。系统采用高精度数字温度传感器进行数据采集,并将这些数据存储到SQLite数据库中;利用神经网络算法对温度值进行预测和报警;分别基于Qt和HTML编写人机交互界面,使监测人员可以方便地获取温度数据。实验表明,该系统可准确地对开关柜温度进行监测和短期预测,能够满足实际需要。

关键词:开关柜温度预警监测系统神经网络智能电网温度传感器人机交互界面DS18B20ARM

0引言

近年来,全球环境资源面临越来越大的挑战,社会对可持续发展的要求日益提高,更加安全、环保的智能电网逐渐发展起来[1]。电力设备在线监测是智能电网研究的重要领域,开关柜运行温度监测就属于这一范畴[2]。开关柜是电网系统中一个重要电气设备,中高压开关柜内部发热量较大,对其内部刀闸触头、电缆接头进行实时温度监测是保证系统安全运行的重要条件[3-4]。传统的在线温度监测系统并不具备对未来温度变化进行预测的功能,在温度上升斜率较大的情况下,这种监测方式往往具有滞后性,从而错过了最佳排查故障的时间,导致安全隐患。因此,在温度监测系统中加入温度预测功能很有必要。传统的温度预测方法主要是对环境进行温度场分析[5],然而开关柜是一种复杂的非线性系统[2],建立精确的数学模型非常困难,效果也不甚理想。BP神经网络是由Rumelhart等人给出的一种按误差反向传播训练的前馈网络[6],输入与输出之间存在着某种映射关系,而事先并不知道描述这种关系的函数。通过对历史数据的训练,得到其中蕴含的影响温度变化的因子,再对最新的数据进行泛化并准确地预测,从而能够有效预防电气设备故障的发生。

1系统总体设计

系统总体由底层到上层可分为3个部分。系统总体框架结构如图1所示。

图1 系统总体框架图

①底层硬件:包括微处理器、温度传感器等硬件,主要负责温度数据的采集。

②网络与数据处理:包括温度处理程序、数据库、Web服务器,负责温度预测、数据存储、数据交换等。

③终端设备:主要是搭载浏览器的计算机、置于现场的薄膜场效应晶体管 (thin film transistor,TFT)触摸屏。终端设备有显示、查询、设置的功能。

2硬件设计

系统硬件部分主要包括电源模块、中央处理单元、内存(Flash和RAM)、以太网适配器、温度采集模块、TFT触摸显示屏幕、报警模块。

电源模块经过整流、斩波后输出12 VDC供系统使用。中央处理单元采用S3C2440微处理器,这是一款基于ARM9架构的32位处理器。中央处理器接收温度采集模块测得的数据,并对数据进行加工处理;将这些数据存入数据库中,通过读取数据库的内容将这些数据呈现在人机界面上。

温度测量模块的核心是DS18B20数字温度传感器,其特点是测量结果输出为数字信号,这样便可省去ADC电路。中央处理单元通过单总线对传感器发出初始化、数据采集、数据转换等命令,最后测量结果再经过单总线传输到中央处理单元的GPIO接口。

内存是所有软件、数据的物理载体。Flash内部包含了Linux操作系统、驱动程序、数据库等;RAM用来保存临时数据。

以太网适配器的型号为DM9000,微处理器通过以太网适配器与远程计算机进行通信,这样远程计算机就可以通过浏览器客户端获取测量和预测的结果。TFT触摸屏用来显示图形化人机界面。

系统硬件总体结构如图2所示。

图2 系统硬件总体结构图

3软件设计

软件部分主要包括嵌入式Linux操作系统、传感器驱动程序、温度处理程序、数据库访问、人机界面、网页设计等。在Linux操作系统中,驱动程序犹如一个沟通底层硬件和上层应用的桥梁。温度处理程序通过调用驱动程序获取温度值,并将数据存入测量数据表单;然后再调用温度预测函数预测下一时刻温度,并存入预测数据表单中。用户通过浏览器或人机交互界面即可获取温度值。

系统软件整体结构图如图3所示。

图3 系统软件整体结构图

3.1温度传感器驱动程序设计

温度传感器驱动程序负责传感器硬件抽象化,为上层的温度处理程序提供接口。这样温度处理程序只需要通过对驱动设备文件的读和写即可操作DS18B20。驱动程序直接对硬件进行操作,比如拉高总线、释放总线、读取传感器内部寄存器的数据等。驱动程序源文件主要包括初始化、写一个字节、读一个字节、读取温度、操作函数集映射等。最后将编写好的驱动程序编译成内核模块,使用时直接利用insmod命令安装即可。安装完成后,使用cat命令查看主设备号,再利用mknod命令将主设备号与设备文件名关联即可。

3.2温度处理程序设计

温度处理程序主要负责温度测量、温度预测、数据存储、图形界面更新等,用户自定义报警值用ts表示,测量值用tm表示,预测值用tp表示。处理程序不断循环工作。

为了将温度传感器测得的数据保存下来,并实现温度智能预测,需要用到数据库管理系统。SQLite是一种小巧、灵活,但功能强大的嵌入式数据库。相比传统的数据库,其具有实时性强、系统开销较小等特点,适合在嵌入式系统中应用[7]。其基本操作如下。

①打开或新建数据库(若不存在)。

sqlite3 *db = NULL ;

result = sqlite3_open ("/DS18B20/DS18B20.db",&db );

其中db表示数据库句柄,/DS18B20/DS18B20.db为数据库文件名(含路径)。打开名为/DS18B20/DS18B20.db的数据库,并用db表示其句柄。

②关闭已经打开的数据库。

sqlite3_close (db )

③执行SQL语句。

sqlite3_exec(db,"create table DS18B20(ID integer primary key ,temperature float,TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));",0,0 ,&errmsg);

建立一个带有时间戳的名为DS18B20的表,用来保存温度。其中序列号ID为主键值。

温度处理程序流程如图4所示。

图4 温度处理程序流程图

3.3基于CGI的数据库访问

通用网关接口(common gateway interface ,CGI) 是外部扩展应用程序与Web服务器交互的一个标准接口[8]。在网络环境下,浏览器传递信息给Web服务器,由Web服务器去启动所指定的CGI程序来完成对数据的处理以及其他特定的功能。CGI程序工作原理如图5所示。

图5 CGI程序工作原理图

通过CGI接口,客户端向Web服务器发出请求,服务器获取请求信息后转交给指定的CGI程序进行处理,CGI程序将从数据库查询到的温度数据结果返回给浏览器。为了更加方便地编写CGI程序,本系统移植了第三方的CGIC库。CGIC是专门为CGI开发的一个ANSI C库。

3.4人机界面设计

系统硬件设计中包含TFT触摸屏,用来实现人机交互。人机交互的方式有多种,其中基于GUI的方式较为直观、方便。Qt是Trolltech公司发布的一款开发工具,它的类库采用C++封装,包含丰富的控件资源,移植性较好[9]。使用Qt designer可以方便地设计出优美的图形界面。首先利用Qt designer设计好图形界面,然后利用ui2cpp工具将图形界面转为源代码,再利用Qt的信号-槽机制将GUI上面的控件与槽函数建立映射关系,具体代码为:

connect(pushButton_start,SIGNAL(clicked()),timer1,SLOT(start()));

其中,pushButton_start为信号发出者,是一个开始按钮;clicked()表示信号为单击;timer1为信号接收者,是一个定时器;start()为槽函数,表示开启定时器。这句代码表示:按下开始按钮,就会触发定时器的start()函数,整个系统开始工作。

3.5网页设计

网页设计采用超文本标记语言(hyper text markup language,HTML)和JavaScript脚本语言编写。本系统可通过远程计算机实时动态监测开关柜内的温度,也可以通过网页查询历史曲线,设置温度警戒值。由于HTML只适合显示静态文本,无法达到动态显示和交互的目的,所以必须配合JavaScript进行开发。系统采用AJAX(异步JavaScript和XML)技术对后台温度数据进行实时更新,这样就可以在无需重新加载整个页面的情况下更新部分网页。AJAX并非一种编程语言,而是对现有诸多Web技术的整合,用于创建交互性更强的应用[10]。

4基于BP神经网络的预测算法

BP神经网络的拓扑结构主要包含3层,分别是输入层、隐含层、输出层[11]。本系统温度传感器每隔10 s采集一次数据,将温度序列记为{Ti}。由于历史温度序列的走向在一定程度上可以反映未来的温度,所以拟采用历史数据作为输入。结合实验精度和运算量综合考量,采用4维输入较为合适,所以输入层神经元个数为4,用Tk+4表示当前测量值。输入向量p(k)=[TkTk+1Tk+2Tk+3]T,即选取Tk+4的前4个值为输入。隐含层的神经元个数可以按照经验选取为10个。输出层神经元为1个,期望输出值向量d(k)为一维向量,且d(k)=Tk+4。网络拓扑如图6所示。图6中,隐含层的激活函数为tansig,输出层的激活函数为purelin。

图6 BP神经网络拓扑图

学习算法描述如下。

①初始化。设置权值和阈值为最小随机数。

③对各个训练样本,计算隐含层和输出层神经元的输出。

vj(n)=∑wji(n)yi(n)

(1)

yj(n)=φj[vj(n)]

(2)

④计算误差信号和代价函数。

ej(n)=dj(n)-yj(n)

(3)

(4)

⑤改变隐含层与输出层的权值。

⑥令n=n+1,返回步骤③,直到满足停止准则。

5实验结果

将智能温度监测系统所测数据、精密仪器所测的标准数据、利用智能算法计算出的预测值进行对比分析,结果如表1所示。

表1 实验结果分析

5.1测量结果分析

5.2预测结果分析

为便于分析,直接对标准值进行泛化。由于需要将某一时刻温度的前4个值作为输入,所以预测值从第5个序列号开始。预测值误差的标准差为0.19 ℃,可见提出的预测算法具有较高的准确性。

6结束语

随着智能电网的发展,电气设备温度在线监测系统的智能化程度也不断提高。针对目前开关柜温度监测系统无法对温度进行预测的缺点,引入神经网络预测算法,并结合互联网技术,设计出一套智能温度监测系统。实验表明,系统的监测和预测数据都比较准确,可以满足实际需要。

参考文献

[1] 张文亮,刘壮志,王明俊,等.智能电网的研究进展及发展趋势[J].电网技术,2009,33(13):1-3.

[2] 袁甄.利用BP神经网络实现开关柜温度预测[C]//第六届ABB杯全国自动化系统工程师论文大赛,2013:266-268.

[3] 邵艳婷,郑劼.开关柜温度检测系统设计与应用分析[J].煤炭工程,2013(6):130-131.

[4] 李赫.变电站高压开关柜温度监测系统的设计与实现[D].长春:吉林大学,2014.

[5] 左志宇,毛罕平,张晓东,等.基于时序分析法的温室温度预测模型[J].农业机械学报,2010,41(11):173-174.

[6] 谢永成,董今朝,魏宁.基于模式相关的改进BP神经网络算法[J].计算机系统应用,2013,22(12):101-102.

[7] 武宁宁,鲍玉琦.基于SQLite数据库的温湿度实时存储程序的设计[J].电子设计工程,2014,22(10):42-43.

[8] 王俊,郭书军.嵌入式Web服务器的实现及其CGI应用[J].电子设计工程,2011,19(21):152-153.

[9] 连照亮,徐世国.基于Qt/Embedded在嵌入式Linux下的应用研究[J].微计算机信息,2010,26(11):81-82.

[10]华啸,姜平,陈瑞祥.Ajax 技术在电子商务远程管理中的应用[J].自动化仪表,2015,36(1):52-53.

[11]张泽旭.神经网络控制与MATLAB仿真[M].哈尔滨:哈尔滨工业大学出版社,2011:56-57.

Design of the Intelligent Temperature Monitoring System for Switcher Cabinet

Abstract:Aiming at the problem of existing on line temperature monitoring system for switcher cabinets,i.e.,it is unable to accurately predict future temperature,a new type of temperature monitoring system with BP Neural network algorithm is designed based on traditional switch cabinet temperature monitoring system.In the system,high-accuracy digital temperature sensors are adopted for data acquisition,and the data are stored in SQLite database; then the neural network algorithm is used to predict the temperature value and issue alarm information.The Qt-based human-computer interaction interface HTML-based enable the technician obtain temperature data conveniently.The experimental results show that the system can monitor and short-term forecast the temperature in switcher cabinet,and meet the actual requirements.

Keywords:Switcher cabinetTemperature warningMonitoring systemNeural networkSmart gridTemperature sensorHuman machine interfaceDS18B20ARM

中图分类号:TH8;TP277

文献标志码:A

DOI:10.16086/j.cnki.issn1000-0380.201605020

陕西省教育厅科学研究计划基金资助项目(编号:2013JK1188)。

修改稿收到日期:2015-09-01。

第一作者刘南艳(1966-),女,1989年毕业于西安科技大学工业电气自动化专业,获硕士学位,副教授;主要研究方向为嵌入式、互联网、数据挖掘等。

猜你喜欢
驱动程序开关柜温度传感器
气象用温度传感器检定结果的测量不确定度评定与应用
使用冗余测量修正动态温场测量结果
阻止Windows Update更新驱动程序
温度传感器DS18B20在温度计设计中的应用
一种开关柜局部放电自动检测装置的研究
计算机硬件设备驱动程序分析
分析10kV金属封闭铠装式开关柜内部发热的原因
高低压开关柜安装时应注意的问题
XTR105电流变送器在温度传感器中的应用
一种用于低压开关柜“S”形型材的设计与运用