李建國 ,陳永超,賴立海,劉建民
(1.上海電機學院 電氣學院,上海 200240;2.安陽師范學院 物理與電氣工程學院,安陽 455000;3.安陽高新區生產力促進中心,安陽 455002)
隨著能源危機的日益嚴峻,各種可再生能源得到了長足的發展。在諸多的可再生能源中,光伏發電在未來有著廣泛的應用前景[1],光伏產業是最有潛力的新能源之一。進行光伏發電時,對光伏電站發電狀態的監測是十分必要的。因為單塊光伏組件輸出的直流電壓較低,一般在幾十伏左右,所以通常采用多塊光伏組件相互串聯,然后各個組串相互并聯從而形成光伏陣列[2]。在發電過程中,光伏陣列的局部故障會導致整個供電系統輸出電壓或功率下降,直接影響系統性能和運行效率。為確保系統正常運行,應對光伏陣列進行狀態監測,以便能及時地、有針對性地進行維護,從而提高光伏發電效率。據此,本文基于RS485通信和LabVIEW軟件平臺研發了一套光伏電站監測系統。該系統具有可視化的監測界面,可實時顯示光伏發電系統的發電狀態,并可供用戶查詢歷史數據以便進行統計分析。
圖1為系統總體結構框圖,PC機主要對光伏發電系統中的溫度、光照強度等環境參數和輸出電流、輸出電壓、輸出功率等發電信息進行監控、統計及顯示。單片機、A/D轉換和傳感器構成一個數據采集器,傳感器將環境參數和發電信息采集過來,通過A/D轉換將模擬信號變成數字信號發送至單片機,單片機將數據處理后緩存并發送。單片機與PC機之間采用RS485轉RS232通信協議進行數據傳輸。PC機將接受到的數據處理后保存并及時顯示,實現對光伏發電系統各類參數的實時監測。

圖1 系統原理框圖Fig.1 System principle diagram
本系統硬件電路主要包括2方面:數據采集模塊和通信。數據采集部分將所需數據采集處理后,通過單片機發送至上位機;通信部分在硬件上主要是電平的轉換和與上位機通信時接口處理。
系統處理器采用STC公司生產的STC89C51芯片,該芯片具有8 K字節Flash,512字節RAM,32位I/O口線,看門狗定時器,3個16位定時器/計數器,4個外部中斷,1個7向量4級中斷結構,全雙工串行口,是一種低功耗、高性能微控制器[3]。
該模塊主要功能是采集電流、電壓、溫度、照度4類數據。利用模數轉換芯片將傳感器采集回來的模擬信號轉換成數字信號,再由單片機進行數據處理。模數轉換芯片采用TI公司生產的ADC0809,它是8位逐次逼近式模數轉換器,包括1個8位的逼近型的ADC部分,并提供1個8通道的模擬多路開關和聯合尋址邏輯,用它可直接將8個單端模擬信號輸入,分時進行A/D轉換。本系統中只需要應用其中的4個通道,分別對有傳感器采集回來的電流、電壓、溫度、照度4個模擬信號進行轉換,然后由51單片機進行數據存儲及數據處理,完成對模擬信號的采集。
由于ADC0809芯片內部沒有時鐘脈沖源,可利用單片機89C51提供的地址鎖存控制輸入信號ALE經D觸發器四分頻后,作為ADC0809的時鐘輸入。當CPU訪問外部存儲器時,ALE的輸出作為外部鎖存地址的低字節的控制信號;當不訪問外部存儲器時,ALE端以1/6的時鐘振蕩頻率固定地輸出正脈沖,可取單片機的時鐘頻率為12 MHz,則ALE端輸出的頻率為2 MHz,再經四分頻后為500 kHz,符合ADC0809對時鐘的要求。
如圖2所示,ADC0809內部設有地址鎖存器,通道地址由P2口的低3位直接與ADC0809的A、B、C相連,通道基本地址為0000H~0007H。模擬量由ADC0809的IN0~IN7輸入,數字量由ADC0809的 DO~D7輸出并接到單片機 I/O口的 P0口,ADC0809 其他引腳如:START、OE、ALE、A、B、C 等直接接到單片機的P2口。最后ADC0809的結束信號端口直接接到單片機的P2.7口。

圖2 ADC0809與單片機的接口電路Fig.2 Interface circuit of ADC0809 with single chip microcomputer
PC機串行口為標準的RS232C接口,最大通信距離僅為15 m,無法適用于遠距離的監測[4]。選用RS485串行接口標準可實現管理微機遠距離對下位機進行通信管理。串口通信采用RS485協議進行,其傳輸距離較長,適用于從光伏發電設備到監控設備之間的數據傳輸。RS485采用差分信號負邏輯,邏輯“1”以兩線間的電壓差為+(2~6)V 表示;邏輯“0”以兩線間的電壓差為-(2~6)V表示。RS485接口是采用平衡驅動器和差分接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。RS485最大的通信距離約為1219 m,最大傳輸速率為10 Mb/s,傳輸速率與傳輸距離成反比。
采用RS485通信時,需要解決2個問題。STC89C51本身具有全雙工串行口,但進行RS485通信時需要電平轉換;PC機串行口為標準的RS232C接口,通信時需要將RS485接口的邏輯電平轉換成RS232電平。RS485通信的電平轉換芯片有全雙工的和半雙工的,為了便于軟件開發,本次設計采用全雙工芯片MAX488。
如圖3所示,電平轉換電路采用MAX488全雙工集成芯片,使用時將單片機的串行收發端接入RS488的發收端。為保持通信信號的穩定,一般會在MAX488加上、下拉電阻。上拉電阻把不確定的信號通過一個電阻嵌位在高電平,此電阻還起到限流的作用。同理,下拉電阻將不確定的信號嵌位在低電平。在實際工程應用中,由于存在反射信號和環境等各種干擾的影響,特別是在通訊波特率比較高的時候,在線路上加上、下拉偏置電阻是非常必要的。上、下拉電阻可提高總線的抗電磁干擾能力,管腳懸空容易受到外界的電磁干擾,同時長線傳輸中電阻不匹配容易引起反射波干擾,加上、下拉電阻就是電阻匹配,可有效地抑制反射波干擾。

圖3 RS485電平轉換電路Fig.3 RS485 level conversion circuit
RS485轉RS232接口電路主要包括了電源、RS232電平轉換、RS485電路3部分。本電路的RS232電平轉換電路采用了MAX232集成電路,RS485電路采用了MAX488集成電路。為使用方便,電源部分設計成無源方式,整個電路的供電直接從PC機的RS232接口中的DTR(4腳)和RTS(7腳)獲取。PC串口每根線可以提供大約9 mA的電流,因此2根線提供的電流足夠滿足這個電路的使用要求。使用本電路需注意PC程序必須使串口的DTR和RTS輸出高電平,經過D3穩壓后得到VCC,經過實際測試,VCC電壓大約在4.7 V左右。其電路圖如圖4所示。

圖4 RS485轉RS232接口電路Fig.4 RS485 to RS232 interface circuit
下位機程序完成A/D轉換和通信收發的功能,串口接收采用中斷方式,為方便上位機識別數據以及減少錯誤率,發送時加上前后校驗碼。照度、溫度、電壓、電流4類數據分別采用不同的前后校驗碼。在主程序中,A/D轉換完成后,將數據處理后并儲存,緊接著查看上位機發送回來的信息,將指定類型數據發送給上位機。
上位機主要是完成3項任務:與下位機的通信;將下位機發送回來的數據進行處理及存儲;設計一個顯示界面,把數據變化情況以圖表形式顯示出來。
程序采用LabVIEW軟件平臺進行編寫,Lab-VIEW是當下最流行的圖形化編程開發軟件,利用它可以大量使用圖表、菜單、圖形等可視化工具,使系統具有豐富、靈活的畫面和圖表顯示功能[5]。
LabVIEW通過VISA與串行接口儀器通信[6]。VISA是應用于儀器編程的標準I/O應用程序接口(API),它本身并不具有儀器編程能力,而是為用戶提供了一套獨立的可方便調用的標準I/O底層函數。利用LabVIEW中的VISA函數,可實現上位機與單片機之間的通信。通過LabVIEW平臺內豐富的底層函數,可進行高速精確的數據處理。其設計分為前面板和后面板,前面板為可視化的用戶界面,而后面板就是支撐系統運行的程序,并且采用圖形化的編程,數據的傳輸通過各函數之間的連線實現。
在前面板設立5個波形圖表控件,分別用于顯示照度、溫度、電流、電壓、功率5類數據信息的實時變化情況,若干數值顯示控件用于顯示各數據的平均值及發電量總值。
后面板串口通信利用LabVIEW中的VISA配置串口函數、VISA寫入函數、VISA讀取函數可完成對串口的配置及串口收發,VISA關閉函數用于關閉VISA資源名稱指定的串口會話句柄或事件對象。是一個串口接收和發送的子VI,上位機可以向單片機發送命令及接受單片機發送回來的數據。
主程序采用平鋪式順序結構,先利用子VI生成5個電子表格文件以保存當天的數據,然后在循環結構下,調用串口收發子VI為每類數據分別發送獲取指令,讓下位機把相應數據發送過來。接收數據后,比對前后校驗碼,若有誤則重新發送,若正確則獲取數據碼進行數據處理。數據處理包括將數據還原、存入相應表格文件以及送入波形圖表控件進行顯示。
此外,設計子VI從各電子表格文件中獲取儲存的累計數據,則可計算各類數據的平均值以及總發電量,便可得到光伏發電系統的發電信息。在LabVIEW中可自行設立用戶菜單,程序運行時操作用戶菜單,可方便用戶設置串口參數及查看歷史數據。
經系統實際運行測試,系統可穩定地監測到各類參數的變化情況。各類參數的平均值和總發電量通過儲存的累計數據得到,并通過控件顯示。整個系統可完成數據的采集、處理、儲存、統計、顯示等功能,實現對光伏發電系統的監測目的。將系統運用到光伏發電領域中,能夠供電站工作人員實時了解電站的環境情況及發電信息,還可對歷史數據進行統計分析。通過監測界面能夠及時有效地發現電站運行故障,以實現系統檢修及有針對性地進行維護,提高光伏運行效率。
[1] 張筱文,鄭建勇.光伏電站監控系統的設計[J].電工電氣,2010(9):12-16.
[2] 汪義旺,宋佳,張波,等.基于無線傳感器網絡的光伏組件監測系統[J].計算機測量與控制,2014,22(1):36-38.
[3] 孫涵芳,徐愛卿.單片機原理及應用[M].北京:北京航空航天大學出版社,1996.
[4] 鄧素萍.串行通信RS232/RS485轉換器[J].國外電子元器件,2001(7):62-63.
[5] 侯國屏,王坤,葉齊鑫.LabVlEW7.1編程與虛擬儀器設計[M].北京:清華大學出版社,2005.
[6] 王水魚,李寧,胡樹燕.基于Labview實現PC機與單片機的串行通信[J].中國新通信:技術版,2007,9(23):11-15.