張帥,葉琳,丁之劼,茅一峰,陳志杰,晉欣橋,杜志敏*
(1-上海交通大學制冷與低溫工程研究所,上海 200240;2-中國船舶重工集團公司第七〇四研究所,上海200031)
空調系統的故障會增大空調系統的能耗,降低運行效率,同時增加維修費用。因此對空調系統的運行狀態進行合理且準確評估,對系統故障進行識別和診斷,是十分有必要的。ROTH 等[1]研究發現,解決家用空調中的故障會減少5%~20%的能耗??照{系統的故障診斷方向無疑可以帶來巨大的經濟效益和能源節約。
20世紀90年代初,在國際能源組織的引領下,一批故障診斷的方法陸續被提出。ROSSI 等[2]利用測量得到的溫濕度,結合數學中的統計規律,建立了基于規則的故障診斷方法。BREUKER 等[3-5]對ROSSI 等[2]的故障診斷方法進行了評估,并針對屋頂機空調系統進行了更為深入的研究。進入20世紀以來,XIAO 等[6]分析了不同故障指標對故障的敏感度,改進了診斷規則,提高了診斷正確率。以上研究由于不同故障間的相互干擾,部分故障的診斷正確率無法令人滿意。為提高單個故障的診斷正確率,一些基于數學模型虛擬傳感器[7]被運用于故障的解耦以及診斷中,如虛擬充注量傳感器模型等。
隨著機器學習的興起,空調系統的故障診斷與機器學習算法的結合越來越緊密。丁新磊等[8]提出了一種利用已知類型的故障數據建立的神經網絡,可有效診斷未知故障。王路瑤等[9]建立了基于長短期記憶神經網絡的診斷方法,可診斷數據中心中的傳感器故障。吳斌等[10]基于隨機森林算法建立了屋頂機空調系統的故障診斷方法,在3 個不同的屋頂機系統中證明了該方法的有效性。
然而現階段應用于故障診斷領域的機器學習算法存在著一定的問題。以神經網絡為例,很多研究采用一個神經網絡診斷多種故障,即用同一組輸入特征量來區分不同的故障類型。而同一特征量對不同故障的敏感度是不同的,對某一類故障不敏感的輸入特征量可能會降低該故障的診斷正確率。
本文提出了由多個平行的誤差反向傳播神經網絡(Back Propagation Neural Network,BPNN)組成的診斷模型,每一個神經網絡分別用來診斷一類故障,其輸入特征量的選取由相關性分析得出,是與該類故障相關度最高的特征量。另外,神經網絡的參數需要進行優化調整,本文采用的算法是粒子群優化算法(Particle Swarm Optimization,PSO)。數據表明本文提出的PSO-BPNN 方法較傳統的BP神經網絡可有效提高診斷正確率。
目前,分體式定頻空調被廣泛應用在了家居生活中。本文的研究對象是一臺額定制冷量為8.8 kW的分體式定頻空調。其組成部分包括翅片式蒸發器、冷凝器、熱力膨脹閥以及渦旋式壓縮機。以該設備為基礎,本文開展了大量的故障和無故障(NoF)條件下的模擬實驗。本文所研究的故障類型包括蒸發器結垢(EF)、冷凝器結垢(CF),壓縮機閥泄漏(CMF)以及液管阻力增大(LL),所有的實驗都是在焓差室內完成。
實驗測點的布置如圖1所示。首先看風側的測點布置,實驗系統在蒸發器和冷凝器的送風側以及回風側都布置有干球溫度測點,干球溫度的測值是多個T 型熱電偶的測值取平均所得。在蒸發器側,還布置了濕球溫度測點,這是因為蒸發溫度比較低,表面容易出現水蒸氣冷凝的現象。

圖1 系統測點布置
而在制冷劑側,每個部件的入口和出口都布置有壓力傳感器和熱電偶,從而保證了制冷循環中各個節點的熱力狀態可求。在冷凝器和膨脹閥間的液體管路中,布置有質量流量傳感器,在壓縮機中則布置了功率的測點。
除上述可由傳感器直接測得的物理量,實驗中還通過基本的能量守恒計算得到一些間接測量量,如蒸發器換熱量是由制冷劑質量流量乘以蒸發器進出口焓差為:

式中,Qevap為蒸發器換熱量,kW;mr為制冷劑質量流量,kg/s;hr,evap,out為蒸發器出口比焓,kJ/kg;hr,evap,in為蒸發器入口比焓,kJ/kg;
由蒸發器換熱量和壓縮機功率可以計算得到性能系數(Coefficient of Performance,COP):

實驗過程中空調設備所工作的工況范圍,與實際應用中的工況范圍十分接近。室外干球溫度為20.95~37.75 ℃,室內干球溫度為20.85~26.85 ℃,室內露點溫度在0.5~16.05 ℃。包括工況參數在內,實驗中直接測量以及間接測量的參數包括蒸發溫度(Te)、冷凝溫度(Tc)、過熱度(SH)、過冷度(SC)、吸氣溫度(Tsuc)、吸氣壓力(psuc)、排氣溫度(Tdis)、排氣壓力(pdis)、蒸發器回風干球溫度(Teai)、蒸發器送風干球溫度(Teao)、蒸發器回風露點溫度(Tdpeai)、冷凝器回風干球溫度(Tcai)、冷凝器送風干球溫度(Tcao)、液管溫度(Tll)、液管壓力(pll)、蒸發器風側溫差(dTea)、冷凝器風側溫差(dTca)、壓縮機功率(Wcmp)、蒸發器換熱量(Qevap)、性能系數(COP)和液管壓降(dpll)。
在確定診斷模型的輸入時,工況參數是必需的,需要將工況變化對其他特征量的影響考慮進來。除此之外,應盡量選擇受某類故障影響大同時受工況變化影響小的特征量作為該類故障的輸入特征量,根據文獻[11-12]推薦,列出了一些備選指標。本文采用統計學中的皮爾遜相關系數來衡量故障與各個備選指標的相關性,計算公式為:

式中,Xi為第i組數據(共n組數據)某一特征量的大??;Yi為第i組數據某一類故障的故障等級,r為皮爾遜相關系數。皮爾遜相關系數越接近1,代表兩個變量間越趨向于正相關;越接近-1,代表兩個變量間越趨向于負相關。而越接近0,則表示越無關,這里皮爾遜相關系數取絕對值。圖2所示為不同故障類型故障等級與各特征量相關度分析的結果。

圖2 不同故障與各系統變量的相關系數
通過相關性分析,可以確定與故障相關度較高的幾個系統指標,從這幾個指標中,再選出與環境工況不太相關的。方法是計算每一個指標在同一故障等級不同環境工況下的最大的變化范圍,并與額定值相除獲得相對值,再進行排序,保留變化范圍比較小的幾個指標。通過以上的故障特征選取步驟,最后獲得的各類故障輸入特征如表1所示。

表1 不同故障的輸入特征集(不含工況參數)
BP 神經網絡[13-17]是現階段應用最為成功以及廣泛的人工神經網絡,在處理非線性問題時可以取得良好的效果。由于空調系統的故障診斷本質上是非線性的數學問題,因此本文采用BP 神經網絡作為基礎診斷模型。一個簡單的神經網絡的拓跋結構如圖3所示。

圖3 神經網絡拓跋結構
完整的神經網絡在結構上分為3 部分:輸入層、隱含層以及輸出層,其中隱含層可以不止一層。BP神經網絡的核心思想是誤差反向傳播。訓練過程中,首先在輸出層計算實測值與網絡預測值的偏差,然后將該偏差反向傳播,分別調節輸入層到隱含層、隱含層到輸出層各節點的閾值和權重。在故障診斷領域,傳統的神經網絡的用法是單標識技術,如表2所示。這種用法下只建立一個神經網絡,并采用同一套輸入特征。通過輸出矩陣取值的不同,判斷故障是否發生以及具體的故障類別。

表2 單故障標識技術
上節指出的BP 神經網絡只采用一套輸入特征集,因此很難保證輸入特征對每一類故障都保持高度敏感 。如果某類故障的輸入特征與該故障毫不相關,會混淆神經網絡的訓練,導致診斷正確率下降。
為了解決上述問題,本文提出了如圖4所示的故障檢測與診斷邏輯。根據相關性分析找到與每一類故障高度相關的特征量,再用訓練數據為每一類故障單獨訓練一個神經網絡,訓練過程中采用PSO算法優化神經網絡的參數;訓練完畢的神經網絡模型將被保存。在一組新的測試數據導入時,它會遍歷每一類故障的神經網絡模型,并給出相應的診斷結果(0/1),最后所有子模型的診斷結果會匯總在一起,確定該數據所對應的空調系統運行狀態。如果有多類故障的神經網絡同時發出故障警報,則認為預測置信度最大的警報是所發生的故障類型。

圖4 基于PSO-BPNN 的空調系統診斷邏輯
本文提出平行神經網絡診斷方法本質上是設置多個神經網絡故障診斷器,神經網絡模型是一個回歸器,而不是分類器,它的輸出可以通過歸一化函數限制為[0,1]區間內的連續值。但是,故障診斷的輸出應是離散的0/1 輸出,這就需要確定一個合理的閾值,將神經網絡輸出的連續值轉換為離散值。大量的研究表明,BP 神經網絡隱藏層的節點數會影響神經網絡的表現,節點數太少會降低訓練數據的準確率,甚至無法完成訓練;節點數太多會增加訓練時間,并降低網絡的泛化能力。因此有必要對判斷閾值以及隱藏層節點數進行優化。本文采用的PSO 算法[18-20]是通過模擬自然界中魚類、鳥類的遷徙規律,提出從全局出發隨機搜索的算法。
PSO 算法指的是,在一個D維空間中,有m個代表問題潛在解的粒子,每個粒子都會在其附近搜尋最佳位置,使得尋優函數最優。每個粒子可表示為xi=(xi1,xi2,……,xiD),其具有速度vi=(vi1,vi2,……,viD),每個粒子在搜索過程中經歷過的歷史最佳位置為pi=(pi1,pi2,pi3,……,piD),在搜索過程中,整個群體所經歷過的最佳位置為:pg=(pg1,pg2,pg3,……,pgD)。每個粒子具體的移動速度和位置可求解如下:

式中,c1和c2為學習因子,是個可調整的常數,本文取值為2;r1和r2為[0,1]區間內的隨機數。
PSO 算法的執行流程:1)確定粒子數,初始化或者更新每一個粒子的初始位置xi和vi,并計算每個粒子對應的尋優函數值(這里指的是神經網絡診斷準確率);2)更新粒子的個體最優值和全局最優值;3)判斷全局最優值是否滿足結束條件。如果滿足,則輸出全局最優值對應的粒子位置,否則回到第一步,重復循環。
通過采用PSO 算法作為優化算法,對神經網絡進行優化,尋找合適的輸出判斷閾值以及隱藏層節點數,本文所提出的平行PSO-BPNN 算法訓練流程如圖5所示。

圖5 PSO-BPNN 模型訓練流程
當PSO 算法找到使得準確率滿足要求的判斷閾值和隱藏層節點數時,訓練流程中止,訓練好的BP 神經網絡保存并可按照圖4所示的診斷邏輯對測試數據進行診斷。
為了測試本文所提出的平行PSO-BPNN 模型故障診斷的效果,本文將故障和無故障的實驗數據,隨機分出70%用作訓練數據,另外30%用作測試數據;同時,將傳統的單BPNN 模型作為對照組,用相同的數據進行訓練和測試。單BPNN 模型的輸入包括了三個工況參數:室外干球溫度,室內干球溫度和室內露點溫度,以及7 個熱力參數,包括蒸發溫度(Te)、冷凝溫度(Tc)、過熱度(SH)、過冷度(SC)、蒸發器風側溫差(dTea)、冷凝器風側溫差(dTca)和排氣溫度(Tdis)。輸出如表2所示的1×5 的矩陣。為了方便評估平行PSO-BPNN 模型和BPNN 模型故障診斷表現的好壞,設置了3 個故障指標,分別是正確率、漏報警率和誤報警率。正確率指的是正確診斷故障類型的樣本數所占的比例,漏報警率指的是實際為該故障、卻認定為無故障的樣本數所占的比例,誤報警率指的是實際不是該故障、卻被錯誤診斷為該故障的樣本數所占的比例。平行PSO-BPNN 模型和單BPNN 模型具體的故障診斷表現對比如表3 和圖6所示。

圖6 平行PSO-BPNN 與單BPNN 模型診斷正確率對比

表3 數據驗證結果
由表3 可知,PSO-BPNN 模型的診斷正確率要明顯高于單BPNN 模型,平均提高了6.85%,最高更是提高了8.57%。由圖6 可知,提高最為明顯的故障類型是蒸發器結垢故障(EF)和液管阻力增大故障(LL)。實際上,這兩類故障診斷準確率的提高都和本文提出的“定制”輸入特征有關。在蒸發器結垢故障中,PSO-BPNN 模型相較于單BPNN 模型增加了蒸發器換熱量作為輸入,而蒸發器結垢最直接的影響就是蒸發器換熱系數的降低,及其帶來的蒸發器換熱量的降低。因此,該故障診斷正確率的提高也就不足為奇。對于液管阻力增大故障,增加了液管壓降作為輸入特征,這也是直接和故障相關的特征量,因此可以大幅提高故障診斷正確率;由PSO 算法帶來的神經網絡參數的優化,也是造成診斷正確率上升的原因。表3 的結果顯示,本文所提出的PSO-BPNN 模型較傳統的診斷模型,正確率明顯提升。
本文研究了基于平行PSO-BPNN 模型的故障診斷方法,采用相關性分析找到了與某類故障相關度較高同時受工況影響較小的特征量,設計了多個平行的BP 神經網絡故障診斷器,并采用PSO 算法優化了建立的BP 神經網絡,得出如下結論:
1)皮爾遜相關性分析可以用來尋找與故障相關度較高的特征量,每一類故障相關度較高的特征都是不同的;
2)針對每一類故障可定制單獨的故障診斷模型,并且可用PSO 算法優化故障診斷模型的參數;
3)本文所提出的平行PSO-BPNN 模型相較于傳統的單BPNN 模型,在故障診斷正確率上有明顯提升,平均提高了6.85%,最大提高了8.57%。