徐根祺,曹 寧,謝國坤 ,張正勃,李 璐
(1.西安交通工程學院 機械與電氣工程學院;2.西安交通工程學院 土木工程學院,陜西 西安 710030;3.西安思源學院 電子信息工程學院,陜西 西安 710038)
21世紀以來,隨著科技的不斷發(fā)展,人類對水電能源的需求日益增加,水電站開發(fā)建設在全球經(jīng)濟中的重要地位日益顯現(xiàn)[1]。全球水電站工程建設的蓬勃發(fā)展也為我國水電站建設工程的風起云涌帶來了契機。但考慮到水電站多建設于山區(qū),因此其環(huán)境惡劣、廠房結構復雜、布置分散、施工困難、所需設備眾多且受客觀條件干擾較大,無論是預防或是應對突發(fā)火災的能力均有欠缺。因此,對水利樞紐工程火災自動報警系統(tǒng)的開發(fā)就顯得非常重要,而火災報警系統(tǒng)的準確性與實時性是目前水利工程火災自動報警系統(tǒng)面臨的核心問題[2-3]。
在國外,上世紀后半葉以來,隨著自動化和通信技術的飛速發(fā)展,火災自動報警技術的發(fā)展開始步入加速期[4]。迄今為止,較為常用的火災自動報警技術分為智能和非智能兩種。前者的發(fā)展最迅捷、應用也最廣泛,已經(jīng)成為當下智能火災自動報警技術中的引領技術[5]。
在我國,直至上世紀末期,火災自動報警系統(tǒng)才開始起步,時至今日也不過短短二三十年的時間。隨著黨和政府有關部門對防災、減災工作的高度重視 ,我國在相應領域的研究取得了很大地進展,CAN總線、RS485和RS232等技術在火災自動報警系統(tǒng)中受到設計人員的廣泛關注[6]。且現(xiàn)階段的火災自動報警器已形成了體積小、容量大、信號傳輸迅速、預報準確率高等多方面的優(yōu)勢[7]。
近些年來,火災自動報警發(fā)展趨勢較之以往有了天翻地覆的變化,實時性、強魯棒性、低誤報率、網(wǎng)絡化和智能化成為現(xiàn)階段火災自動報警技術發(fā)展的方向。將智能算法用于火災自動報警系統(tǒng)能夠增加系統(tǒng)識別真假火災的準確率,提高系統(tǒng)可靠性。該文結合人工智能理論和自動化技術,通過將模糊理論融入BP神經(jīng)網(wǎng)絡設計了一整套水利工程火災自動報警系統(tǒng),以提高系統(tǒng)預報的準確性。
該文以陜西淳化、禮泉涇河下游的某水電站為例,建設該水利工程的目的主要是為了實現(xiàn)改善生態(tài)、防洪、供水和發(fā)電等功能。該水電站裝機容量約11萬千瓦,輸出約1.5萬千瓦,近年來平均發(fā)電量近2.5億千瓦·時,年利用小時數(shù)2200多小時,發(fā)電引水流量近70 m3/s。
該系統(tǒng)的設計分為地上、地下兩部分,核心控制技術采用集中報警方式。該工程包括地上地下2個消防控制室,分別經(jīng)110 kV GIL管道連接成一體,地上控制室有人監(jiān)控而地下控制室無人監(jiān)控。地上部分共三層,從下至上依次為10 kV配電室、低壓配電室、變壓器室、辦公室、控制室、二次室等,該樓緊鄰110 kV GIS室,下面為 GIL管道夾層,以上為工程的地上部分。
地面中控樓中央控制室內(nèi)設計有消防控制中心,地下部分有2個分控主機,控制中心負責與其通信。報警系統(tǒng)和監(jiān)控系統(tǒng)之間采用RS485方式進行數(shù)據(jù)傳輸?;馂谋O(jiān)控單元設于地面中控室,火警信號均通過火災監(jiān)視模塊顯示。該火災自動報警系統(tǒng)由數(shù)據(jù)傳輸模塊、檢測模塊、報警控制模塊、電源模塊等裝置組成,圖1為系統(tǒng)組成圖。
圖1 火災自動報警系統(tǒng)組成
1.2.1 主控芯片
火災自動報警系統(tǒng)在數(shù)據(jù)分析時需要進行龐大的計算。此處選用STM32F103ZET6芯片作為微處理器,該芯片是基于Cortex-M3內(nèi)核的32位單片機,其供電電壓為2~3.6 V,具有512 K的FLASH和64 K的SRAM,可以在線編程。該處理器外接頻率72 Hz的高速時鐘一個和頻率為32.768 kHz的低速時鐘一個。有包括JTAG、SWD和ISP等在內(nèi)的多種下載方式可供選擇,該文選用SWD方式下載代碼,該方式下載速度快且調(diào)試方便[8-9]。此外,該芯片還包括16通道12位AD輸入3個、定時器4個、通用IO口112個、SPI口3個、高級定時器2個、UART5個和2通道12位DA輸出2個。共有外部中斷線19個,可根據(jù)分配的不同搶占優(yōu)先級和響應優(yōu)先級先后執(zhí)行中斷服務程序[10]。由此可見,STM32F103ZET6微處理器可以作為本系統(tǒng)的主控芯片,能夠滿足本系統(tǒng)的需求。
1.2.2 數(shù)據(jù)采集模塊
系統(tǒng)需要采集海量的數(shù)據(jù)信息,比如溫度、一氧化碳氣體濃度和煙霧濃度等,需要數(shù)據(jù)采集接口負責系統(tǒng)數(shù)據(jù)的采集和傳輸,該系統(tǒng)采用RS485作為數(shù)據(jù)采集接口通訊方式。RS485采用差分信號負邏輯,遵循MODBUS協(xié)議,支持的傳感器多,實施較為便捷,符合本系統(tǒng)設計需求。圖2為RS485接口電路圖,UART2和MAX485芯片共同組成RS485接口。
圖2 RS485接口電路圖
1.2.3 最小系統(tǒng)
STM32F103ZET6微處理器最小系統(tǒng)電路圖如圖3所示,采用 DC3.3 V信號作為電源,芯片引腳與電源之間通過濾波電容來抑制電源干擾,采用8 MHz的外部高速時鐘和32.768 kHz的外部低速時鐘,復位電路中采用充放電電容和限流電阻。
圖3 最小系統(tǒng)電路圖
該系統(tǒng)軟件包括數(shù)據(jù)采集終端和數(shù)據(jù)接收終端兩個子程序,均經(jīng)過初始化、發(fā)射和接收三個過程。系統(tǒng)上電后,首先對各模塊進行初始化處理,然后將數(shù)據(jù)包發(fā)射至發(fā)射模塊,最后實現(xiàn)數(shù)據(jù)接收并對接收的數(shù)據(jù)進行處理。圖4和圖5分別為數(shù)據(jù)采集流程圖和數(shù)據(jù)接收流程圖。
圖4 數(shù)據(jù)采集端流程
圖5 數(shù)據(jù)接收端流程
BP神經(jīng)網(wǎng)絡結構包括輸入層、隱層和輸出層[11]。其中,隱層神經(jīng)元的數(shù)量根據(jù)實際需要確定,各層之間通過一對多的方式連接,同一層的神經(jīng)元之間互不相連[12]。該文采用常用的三層結構,反向傳播算法通過梯度對連接權值進行更新??紤]到這里要求輸出函數(shù)必須連續(xù)且可微,故輸出層使用Sigmoid 函數(shù)作為激活函數(shù)。BP神經(jīng)網(wǎng)絡結構見圖6。
圖6 BP神經(jīng)網(wǎng)絡結構
用xi代表輸入層中某個神經(jīng)元信號,yh代表隱層神經(jīng)元的輸出,z代表輸出層神經(jīng)元信號,Tj代表目標信號,wih代表輸入層神經(jīng)元到隱層神經(jīng)元的權值,Δ代表實際輸出與預期輸出之間的誤差,Ni,i=1,2,3分別代表輸入、隱層和輸出神經(jīng)元個數(shù),則隱層神經(jīng)元輸出可用式(1)、式(2)表示:
(1)
yh=f(neth)
(2)
輸出層神經(jīng)元輸出用式(3)、式(4)表示:
(3)
zj=f(netj)
(4)
其中:θh,γi分別表示輸入至隱層和隱層至輸出的閾值。
誤差函數(shù)用式(5)表示:
(5)
局部梯度用式(6)表示:
(6)
誤差對連接權值的偏微分為:
(7)
修正量如下式所示:
Δwih=-ηδhyh
(8)
wih(t+1)=wih(t)+Δwih(t)
(9)
對于Sigmoid函數(shù):y=f(x)=1/1+exp(-x),
成立:f(x)=exp(-x)/(1+exp(-x))2=y(1-y)
為加速網(wǎng)絡收斂的速度,式(8)中權值修正量用式(10)表示:
Δwih(t)=-ηδhyh+αΔwih(t-1)
(10)
其中:η表示步長;α表示慣性系數(shù)。
根據(jù)第二部分設計的火災自動報警系統(tǒng)原理,選取溫度、一氧化碳氣體濃度和煙霧濃度作為BP神經(jīng)網(wǎng)絡輸入,火災發(fā)生概率為輸出。為了更加準確的描述輸入信號,這里結合模糊理論對輸入信號進行處理,選取Gauss隸屬度函數(shù)將各輸入信號描述為低、正常、高3個語言變量。根據(jù)第三部分的理論,可確定輸入神經(jīng)元總數(shù)為17個,隱層神經(jīng)元數(shù)n由下式確定:
(11)
其中:ni,no分別表示輸入和輸出神經(jīng)元數(shù),c∈R且c∈[1,10]。于是隱層神經(jīng)元數(shù)在區(qū)間[6,20]內(nèi)取值,當其取值為20時系統(tǒng)最優(yōu),故隱層神經(jīng)元數(shù)設為20。
至此,BP神經(jīng)網(wǎng)絡結構已經(jīng)確定。網(wǎng)絡開始訓練之前還需要設置閾值和初始權值,在區(qū)間(-1,1)內(nèi)取值,這里取為0.5,將輸出限定為[-1,1],選用tanh作為隱層激活函數(shù),對數(shù)S型函數(shù)作為輸出激活函數(shù)。選取100 組故障數(shù)據(jù)作為實驗樣本集,其中90組用于訓練,10組用于測試,表1中列出了部分實驗數(shù)據(jù),訓練誤差曲線如圖7所示。
表1 實驗數(shù)據(jù)
圖7 訓練誤差曲線
圖7中的誤差曲線顯示,對原始數(shù)據(jù)直接使用BP神經(jīng)網(wǎng)絡進行訓練,需要迭代17次才會收斂,對輸入變量進行模糊處理后,只需迭代9次就能夠收斂。本設計所用的模糊-BP神經(jīng)網(wǎng)絡收斂更快。
訓練完成后,通過測試集數(shù)據(jù)對火災發(fā)生概率進行預測,實驗重復進行10次,圖8為10次實驗的平均預測擬合效果圖。
圖8 預測擬合效果圖
從圖8可以看出,BP神經(jīng)網(wǎng)絡的擬合曲線與實際值的偏差較大,經(jīng)過模糊化處理后的輸入用于預測的結果更接近于實際值,說明本設計使用的方法能夠較準確地對火災進行預測。另外,以標準差和均方根誤差作為評價指標,對預測效果進行分析,結果見表2。
表2 BP神經(jīng)網(wǎng)絡和模糊-BP神經(jīng)網(wǎng)絡誤差比較
從表2中兩種方法預測誤差的比較可以看出,無論是從標準差分析還是從均方根誤差來看,模糊-BP神經(jīng)網(wǎng)絡比單一BP神經(jīng)網(wǎng)絡的誤差更小,精度更高。
該文根據(jù)實際工程情況,設計了一套自動火災報警系統(tǒng),設計內(nèi)容包括硬件、軟件和模型設計。其中模型設計部分將模糊理論融入BP神經(jīng)網(wǎng)絡,解決了單一BP神經(jīng)網(wǎng)絡學習效率欠缺且選擇盲目性的問題。工程算例實驗結果表明,對輸入數(shù)據(jù)進行模糊處理后的預測值比使用單一BP神經(jīng)網(wǎng)絡的預測結果更接近真實值,且標準差和均方根誤差更小,預測效果更好。將該系統(tǒng)用于水電站火災報警是可行的,由于神經(jīng)網(wǎng)絡自身的特性,該系統(tǒng)還擁有對大規(guī)模數(shù)據(jù)進行處理的能力,而且可靠性較高。