
摘 要:隨著化石能源的枯竭,太陽能光伏發電越來越備受關注。因此對光伏發電系統中的光伏組件故障進行有效便捷的在線檢測顯得十分必要。文章介紹在基于Android平臺下設計出的光伏列陣故障檢測分析系統。實現了以DSP28027為核心對光伏列陣電路電壓、電流、溫度、輻照度數據的采集,并且通過Wi-Fi通信方式把采集的數據發送到Android終端。最后介紹了本系統的Android終端的設計,在Android終端經算法分析找到故障點的位置,并顯示相關參數。
關鍵詞:光伏列陣;故障檢測;Android;SP結構
目前,光伏發電利用太陽能逐漸引起了人們的重視。熱斑現象是光伏陣列中最常見也最易發生的故障,它不但會使系統的輸出功率降低,更重要的是若不及時處理,容易損壞光伏組件,同時引發安全問題。在文獻[1]指出光伏列陣故障中包括太陽電池的衰降、電池短路、電池開路、組件短路、組件分層、熱斑失效等。熱斑現象通常是光伏陣列的局部被遮擋而產生,不僅消耗電能,并且還將產生大量的熱量,使得遮蔽的光伏組件迅速升溫,會燒毀光伏組件使得整個光伏支路都不能正常工作。文章將通過分析光伏電池的輸出特性來辨別電池是否處于正常工作狀態。需要測量光伏列陣的電壓、電流、溫度參數預測或監控列陣是否出現熱斑問題。
小巧玲瓏、外觀時尚且功能豐富的現代移動設備已經成為了集觸摸屏、攝像頭、媒體播放器、GSP系統和近場通信(Near Field Communications,NFC)硬件為一體的強大工具[2]。隨著技術的發展,手機的功能已不再僅僅是打電話那么簡單。因此文章利用Android手機便捷等特點,將基于Android的軟硬件平臺開發光伏陣列故障檢測系統的數據處理終端,相對于PC機來說可以顯著提高光伏系統故障檢測的便攜性和靈活性,而且Android系統的數據處理、存儲、管理、通信以及人機接口等性能也可以與PC機相媲美。
1 系統框架
文章設計的是一個基于Android的光伏陣列故障檢測系統(后文簡稱故障檢測系統),該故障檢測系統主要可以分為兩部分:(1)硬件部分,即數據采集終端;(2)Android終端部分,即應用程序設計。
2 數據采集與故障定位方法
本系統AD采集模塊是基于最常用的SP結構,采集終端包括對電壓、電流、溫度、輻照度的采集。其中,溫度傳感器采用高精度的數字溫度傳感器18B20,其輸出量為二進制量直接接入到DSP28027的GPIO口讀取溫度;電壓傳感器并入監測點的電路,霍爾電流傳感器串接到檢測點的電路,輻照度傳感器檢測當前光伏陣列的太陽輻射度。電壓、電流、輻照度傳感器輸出量為電壓模擬量,利用DSP28027自帶16路12位的AD轉換器,將輸出接到DSP28027的AD口進行A/D轉換。為了消除電路中的負載效應,可在傳感器與AD口之間加入電壓跟隨器進行隔離。采集模塊結構設計示意圖如圖2。
假設檢測的是一個基于SP結構的N×M的光伏列陣。每條支路上串接一個電流傳感器檢測支路電流。再在每條支路上檢測電壓,一條支路有N個組件,如果每個電壓傳感器只檢測1個組件間的電壓,則至少需要N-1個電壓傳感器。顯然這樣需要的電壓傳感器的數量太大,成本高。如果每個電壓傳感器檢測2個組件間的電壓,則每3個組件需要2個電壓傳感器。如果每個電壓傳感器檢測3個組件則每5個組件需要3個電壓傳感器……對于一次性檢測n個組件則(2n-1)個組件需要n個電壓傳感器,則整個光伏陣列所需電壓傳感器個數S=M×(N-1)×n/(2n-1),(n?燮N/2),當出現小數是采取進1發取整,由所需電壓傳感器個數表達式可以得出,當n等于N/2時其需要的電壓傳感器個數最少。以下以N=5說明故障組件確定方法:
溫度數據通過則采集光伏列陣上對稱的四個點得到,每個點測出的溫度作為當前區域光伏列陣工作時的溫度。假定光伏列陣所處位置空曠,則可以認為該片區域所受到的光照均勻,因此輻照度的所需測量點個數很少,直接由測量輻照度的平均值作為當前光伏列陣所在環境的輻照度。根據文獻[3]提出的模型,給出了根據任意輻照度與溫度下求取I-V關系的等式,并且文獻[4]給出模型分析指出當光伏組件沒有正常工作時其輸出電壓會明顯減小。因此可以根據檢測到的溫度與輻照度可以確定該光伏列陣的I-V關系,再根據檢測到的電壓就可以得到正常工作時的支路電流了。所得到的理論值用做算法判支路是否正常工作的依據,既當檢測的數據與理論值相差太大則認為組件沒有正常工作。找到有故障的支路后,再對組件電壓進行分析,即檢測到組件輸出電壓比平均輸出電壓小的則認為是有故障的組件。
3 Android終端應用程序設計
3.1 程序框架
文章Android應用程序開發基于Java語言,在eclipse安裝ADT(Android Development Tools)的集成開發環境下開發的,并且設置目標版本為Android 4.4,最低兼容版本為Android4.0。主要包括四個模塊:主活動、繪圖活動和設置活動以及數據分析算法的程序實現部分。其中程序框架如圖4所示。
框架創建三個Activity實現人機交互,分別實現不同的操作和功能,MainActivity是主活動交互界面,該界面是應用程序啟動進入的第一個界面,其他界面都由該界面進行相關操作觸發啟動:DrawActvity是運行曲線交互界面,該界面實現將接收到的數據繪制成曲線圖,可以直觀地分析數據;Setting是設置光伏組件參數界面,是在Menu菜單之下的選項,進入該界面可進行光伏組件參數的具體設置,主要參數包括:工作電壓、工作電流、開路電壓、短路電流、系統電壓和最大功率,以供分析數據算法初始化,進而進行故障分析。各活動間數據通信通過Intent實現,以及各界面的按鈕、布局等是用XML文件實現的。其中,數據分析算法在DataAnalyse.java中實現,并在主活動中調用DataAnalyse.class中的方法進行故障組件的定位。
3.2 程序設計
文章設計的系統運用Wi-Fi實現數據采集終端與Android終端的通信,其中Wi-Fi連接部分使用系統中的網絡連接設置實現將Android終端與服務器連接,連接成功后通過設計的應用程序實現相關操作和功能。程序設計中主要應用到了Activity類、File類、Socket類等。利用Android開發中Java語言、XML布局和配置文件間的獨立性和關聯性可以分別在各不同文件下編程實現相關功能,在相互根據聯系調用組成一個有機的系統。其中,繪圖活動使用了Android開源圖表庫MPAndroidChart里面的相關函數。
3.2.1 數據接收并存儲
文章設計的應用程序工作在客戶端模式,在Android終端連接服務器之后,便可以開始進行接收數據。手機客戶端先向服務器發起連接請求后,就被動地等待服務器的響應,文中客戶端實現功能過程為[5]:
(1)創建一個Socket實例:構建函數向指定的遠程主機和端口建立一個TCP連接;(2)通過套接字的輸入輸出流(I/O streams)進行通信:一個Socket連接實例包括一個InputStream和一個OutputStream;(3)使用Socket類的close()方法關閉連接。
3.2.2 數據分析算法
對接收到的數據進行分析,從而找到故障點的位置并且顯示出來。算法設計思路主要為:由前面分析學可以根據采集到的輻照度以及溫度數據,可以計算得到該輻照度,溫度下光伏列陣理論的正常工作電流值。然后找到檢測值偏離理論值較大的支路電流,該支路判定為有故障的支路。
支路上的故障組件的確定:以一條支路上有N個組件為例。由前面分析可知每次檢查M(M=N/2)個所用傳感器數目最少,出現故障的組件輸出電壓明顯變小。如果電壓傳感器檢測的N/2個組件中包含有故障點,則這N/2組件輸出的值肯定小于U/2,所以當電壓檢測值大于U/2的這N/2個組件中沒有包含故障點,根據此原理逐步排查,最后確定故障點的位置。程序設計示意框圖如圖5所示。
4 應用
和服務器端建立連接后接收到數據,運行主界面及運行曲線界面效果如圖6所示,該界面是接收數據后,系統調用故障檢測算法后得到的結果,其中電流、電壓和溫度是算法中計算值而非實測值。運行曲線是對選中組件歷史接收到的數據進行繪制而得,主要顯示出組件歷史上工作的波動情況。
5 結束語
本系統是基于Android平臺的光伏列陣故障在線分析系統,使得光伏故障的檢測十分方便高效,同時還方便對光伏列陣檢測數據的管理分析,檢測結果明了直觀。
參考文獻
[1]李兵峰.光伏陣列故障檢測方法的研究[D].天津大學,2010,6.
[2](美)邁耶(Meier,R.).Android 4高級編程[M].佘建偉,趙凱譯.北京:清華大學出版社,2013,4.
[3]邱純.任意輻照度與溫度條件下光伏系統輸出特性建模[D].華中科技大學,2011.
[4]唐佳能.太陽能光伏陣列故障檢測及仿真分析[D].華北電力大學,2012.
[5](美)卡爾弗特(Calvert, K.L.),(美)多納霍(Donahoo, M.J.).Java TCP/IP Socket編程(原書第2版)[M].周恒民譯.北京:機械工業出版社,2009,1.