李建國 ,陳永超,賴立海,劉建民
(1.上海電機學院 電氣學院,上海 200240;2.安陽師范學院 物理與電氣工程學院,安陽 455000;3.安陽高新區(qū)生產(chǎn)力促進中心,安陽 455002)
隨著能源危機的日益嚴峻,各種可再生能源得到了長足的發(fā)展。在諸多的可再生能源中,光伏發(fā)電在未來有著廣泛的應用前景[1],光伏產(chǎn)業(yè)是最有潛力的新能源之一。進行光伏發(fā)電時,對光伏電站發(fā)電狀態(tài)的監(jiān)測是十分必要的。因為單塊光伏組件輸出的直流電壓較低,一般在幾十伏左右,所以通常采用多塊光伏組件相互串聯(lián),然后各個組串相互并聯(lián)從而形成光伏陣列[2]。在發(fā)電過程中,光伏陣列的局部故障會導致整個供電系統(tǒng)輸出電壓或功率下降,直接影響系統(tǒng)性能和運行效率。為確保系統(tǒng)正常運行,應對光伏陣列進行狀態(tài)監(jiān)測,以便能及時地、有針對性地進行維護,從而提高光伏發(fā)電效率。據(jù)此,本文基于RS485通信和LabVIEW軟件平臺研發(fā)了一套光伏電站監(jiān)測系統(tǒng)。該系統(tǒng)具有可視化的監(jiān)測界面,可實時顯示光伏發(fā)電系統(tǒng)的發(fā)電狀態(tài),并可供用戶查詢歷史數(shù)據(jù)以便進行統(tǒng)計分析。
圖1為系統(tǒng)總體結(jié)構(gòu)框圖,PC機主要對光伏發(fā)電系統(tǒng)中的溫度、光照強度等環(huán)境參數(shù)和輸出電流、輸出電壓、輸出功率等發(fā)電信息進行監(jiān)控、統(tǒng)計及顯示。單片機、A/D轉(zhuǎn)換和傳感器構(gòu)成一個數(shù)據(jù)采集器,傳感器將環(huán)境參數(shù)和發(fā)電信息采集過來,通過A/D轉(zhuǎn)換將模擬信號變成數(shù)字信號發(fā)送至單片機,單片機將數(shù)據(jù)處理后緩存并發(fā)送。單片機與PC機之間采用RS485轉(zhuǎn)RS232通信協(xié)議進行數(shù)據(jù)傳輸。PC機將接受到的數(shù)據(jù)處理后保存并及時顯示,實現(xiàn)對光伏發(fā)電系統(tǒng)各類參數(shù)的實時監(jiān)測。
圖1 系統(tǒng)原理框圖Fig.1 System principle diagram
本系統(tǒng)硬件電路主要包括2方面:數(shù)據(jù)采集模塊和通信。數(shù)據(jù)采集部分將所需數(shù)據(jù)采集處理后,通過單片機發(fā)送至上位機;通信部分在硬件上主要是電平的轉(zhuǎn)換和與上位機通信時接口處理。
系統(tǒng)處理器采用STC公司生產(chǎn)的STC89C51芯片,該芯片具有8 K字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,3個16位定時器/計數(shù)器,4個外部中斷,1個7向量4級中斷結(jié)構(gòu),全雙工串行口,是一種低功耗、高性能微控制器[3]。
該模塊主要功能是采集電流、電壓、溫度、照度4類數(shù)據(jù)。利用模數(shù)轉(zhuǎn)換芯片將傳感器采集回來的模擬信號轉(zhuǎn)換成數(shù)字信號,再由單片機進行數(shù)據(jù)處理。模數(shù)轉(zhuǎn)換芯片采用TI公司生產(chǎn)的ADC0809,它是8位逐次逼近式模數(shù)轉(zhuǎn)換器,包括1個8位的逼近型的ADC部分,并提供1個8通道的模擬多路開關和聯(lián)合尋址邏輯,用它可直接將8個單端模擬信號輸入,分時進行A/D轉(zhuǎn)換。本系統(tǒng)中只需要應用其中的4個通道,分別對有傳感器采集回來的電流、電壓、溫度、照度4個模擬信號進行轉(zhuǎn)換,然后由51單片機進行數(shù)據(jù)存儲及數(shù)據(jù)處理,完成對模擬信號的采集。
由于ADC0809芯片內(nèi)部沒有時鐘脈沖源,可利用單片機89C51提供的地址鎖存控制輸入信號ALE經(jīng)D觸發(fā)器四分頻后,作為ADC0809的時鐘輸入。當CPU訪問外部存儲器時,ALE的輸出作為外部鎖存地址的低字節(jié)的控制信號;當不訪問外部存儲器時,ALE端以1/6的時鐘振蕩頻率固定地輸出正脈沖,可取單片機的時鐘頻率為12 MHz,則ALE端輸出的頻率為2 MHz,再經(jīng)四分頻后為500 kHz,符合ADC0809對時鐘的要求。
如圖2所示,ADC0809內(nèi)部設有地址鎖存器,通道地址由P2口的低3位直接與ADC0809的A、B、C相連,通道基本地址為0000H~0007H。模擬量由ADC0809的IN0~IN7輸入,數(shù)字量由ADC0809的 DO~D7輸出并接到單片機 I/O口的 P0口,ADC0809 其他引腳如:START、OE、ALE、A、B、C 等直接接到單片機的P2口。最后ADC0809的結(jié)束信號端口直接接到單片機的P2.7口。
圖2 ADC0809與單片機的接口電路Fig.2 Interface circuit of ADC0809 with single chip microcomputer
PC機串行口為標準的RS232C接口,最大通信距離僅為15 m,無法適用于遠距離的監(jiān)測[4]。選用RS485串行接口標準可實現(xiàn)管理微機遠距離對下位機進行通信管理。串口通信采用RS485協(xié)議進行,其傳輸距離較長,適用于從光伏發(fā)電設備到監(jiān)控設備之間的數(shù)據(jù)傳輸。RS485采用差分信號負邏輯,邏輯“1”以兩線間的電壓差為+(2~6)V 表示;邏輯“0”以兩線間的電壓差為-(2~6)V表示。RS485接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。RS485最大的通信距離約為1219 m,最大傳輸速率為10 Mb/s,傳輸速率與傳輸距離成反比。
采用RS485通信時,需要解決2個問題。STC89C51本身具有全雙工串行口,但進行RS485通信時需要電平轉(zhuǎn)換;PC機串行口為標準的RS232C接口,通信時需要將RS485接口的邏輯電平轉(zhuǎn)換成RS232電平。RS485通信的電平轉(zhuǎn)換芯片有全雙工的和半雙工的,為了便于軟件開發(fā),本次設計采用全雙工芯片MAX488。
如圖3所示,電平轉(zhuǎn)換電路采用MAX488全雙工集成芯片,使用時將單片機的串行收發(fā)端接入RS488的發(fā)收端。為保持通信信號的穩(wěn)定,一般會在MAX488加上、下拉電阻。上拉電阻把不確定的信號通過一個電阻嵌位在高電平,此電阻還起到限流的作用。同理,下拉電阻將不確定的信號嵌位在低電平。在實際工程應用中,由于存在反射信號和環(huán)境等各種干擾的影響,特別是在通訊波特率比較高的時候,在線路上加上、下拉偏置電阻是非常必要的。上、下拉電阻可提高總線的抗電磁干擾能力,管腳懸空容易受到外界的電磁干擾,同時長線傳輸中電阻不匹配容易引起反射波干擾,加上、下拉電阻就是電阻匹配,可有效地抑制反射波干擾。
圖3 RS485電平轉(zhuǎn)換電路Fig.3 RS485 level conversion circuit
RS485轉(zhuǎn)RS232接口電路主要包括了電源、RS232電平轉(zhuǎn)換、RS485電路3部分。本電路的RS232電平轉(zhuǎn)換電路采用了MAX232集成電路,RS485電路采用了MAX488集成電路。為使用方便,電源部分設計成無源方式,整個電路的供電直接從PC機的RS232接口中的DTR(4腳)和RTS(7腳)獲取。PC串口每根線可以提供大約9 mA的電流,因此2根線提供的電流足夠滿足這個電路的使用要求。使用本電路需注意PC程序必須使串口的DTR和RTS輸出高電平,經(jīng)過D3穩(wěn)壓后得到VCC,經(jīng)過實際測試,VCC電壓大約在4.7 V左右。其電路圖如圖4所示。
圖4 RS485轉(zhuǎn)RS232接口電路Fig.4 RS485 to RS232 interface circuit
下位機程序完成A/D轉(zhuǎn)換和通信收發(fā)的功能,串口接收采用中斷方式,為方便上位機識別數(shù)據(jù)以及減少錯誤率,發(fā)送時加上前后校驗碼。照度、溫度、電壓、電流4類數(shù)據(jù)分別采用不同的前后校驗碼。在主程序中,A/D轉(zhuǎn)換完成后,將數(shù)據(jù)處理后并儲存,緊接著查看上位機發(fā)送回來的信息,將指定類型數(shù)據(jù)發(fā)送給上位機。
上位機主要是完成3項任務:與下位機的通信;將下位機發(fā)送回來的數(shù)據(jù)進行處理及存儲;設計一個顯示界面,把數(shù)據(jù)變化情況以圖表形式顯示出來。
程序采用LabVIEW軟件平臺進行編寫,Lab-VIEW是當下最流行的圖形化編程開發(fā)軟件,利用它可以大量使用圖表、菜單、圖形等可視化工具,使系統(tǒng)具有豐富、靈活的畫面和圖表顯示功能[5]。
LabVIEW通過VISA與串行接口儀器通信[6]。VISA是應用于儀器編程的標準I/O應用程序接口(API),它本身并不具有儀器編程能力,而是為用戶提供了一套獨立的可方便調(diào)用的標準I/O底層函數(shù)。利用LabVIEW中的VISA函數(shù),可實現(xiàn)上位機與單片機之間的通信。通過LabVIEW平臺內(nèi)豐富的底層函數(shù),可進行高速精確的數(shù)據(jù)處理。其設計分為前面板和后面板,前面板為可視化的用戶界面,而后面板就是支撐系統(tǒng)運行的程序,并且采用圖形化的編程,數(shù)據(jù)的傳輸通過各函數(shù)之間的連線實現(xiàn)。
在前面板設立5個波形圖表控件,分別用于顯示照度、溫度、電流、電壓、功率5類數(shù)據(jù)信息的實時變化情況,若干數(shù)值顯示控件用于顯示各數(shù)據(jù)的平均值及發(fā)電量總值。
后面板串口通信利用LabVIEW中的VISA配置串口函數(shù)、VISA寫入函數(shù)、VISA讀取函數(shù)可完成對串口的配置及串口收發(fā),VISA關閉函數(shù)用于關閉VISA資源名稱指定的串口會話句柄或事件對象。是一個串口接收和發(fā)送的子VI,上位機可以向單片機發(fā)送命令及接受單片機發(fā)送回來的數(shù)據(jù)。
主程序采用平鋪式順序結(jié)構(gòu),先利用子VI生成5個電子表格文件以保存當天的數(shù)據(jù),然后在循環(huán)結(jié)構(gòu)下,調(diào)用串口收發(fā)子VI為每類數(shù)據(jù)分別發(fā)送獲取指令,讓下位機把相應數(shù)據(jù)發(fā)送過來。接收數(shù)據(jù)后,比對前后校驗碼,若有誤則重新發(fā)送,若正確則獲取數(shù)據(jù)碼進行數(shù)據(jù)處理。數(shù)據(jù)處理包括將數(shù)據(jù)還原、存入相應表格文件以及送入波形圖表控件進行顯示。
此外,設計子VI從各電子表格文件中獲取儲存的累計數(shù)據(jù),則可計算各類數(shù)據(jù)的平均值以及總發(fā)電量,便可得到光伏發(fā)電系統(tǒng)的發(fā)電信息。在LabVIEW中可自行設立用戶菜單,程序運行時操作用戶菜單,可方便用戶設置串口參數(shù)及查看歷史數(shù)據(jù)。
經(jīng)系統(tǒng)實際運行測試,系統(tǒng)可穩(wěn)定地監(jiān)測到各類參數(shù)的變化情況。各類參數(shù)的平均值和總發(fā)電量通過儲存的累計數(shù)據(jù)得到,并通過控件顯示。整個系統(tǒng)可完成數(shù)據(jù)的采集、處理、儲存、統(tǒng)計、顯示等功能,實現(xiàn)對光伏發(fā)電系統(tǒng)的監(jiān)測目的。將系統(tǒng)運用到光伏發(fā)電領域中,能夠供電站工作人員實時了解電站的環(huán)境情況及發(fā)電信息,還可對歷史數(shù)據(jù)進行統(tǒng)計分析。通過監(jiān)測界面能夠及時有效地發(fā)現(xiàn)電站運行故障,以實現(xiàn)系統(tǒng)檢修及有針對性地進行維護,提高光伏運行效率。
[1] 張筱文,鄭建勇.光伏電站監(jiān)控系統(tǒng)的設計[J].電工電氣,2010(9):12-16.
[2] 汪義旺,宋佳,張波,等.基于無線傳感器網(wǎng)絡的光伏組件監(jiān)測系統(tǒng)[J].計算機測量與控制,2014,22(1):36-38.
[3] 孫涵芳,徐愛卿.單片機原理及應用[M].北京:北京航空航天大學出版社,1996.
[4] 鄧素萍.串行通信RS232/RS485轉(zhuǎn)換器[J].國外電子元器件,2001(7):62-63.
[5] 侯國屏,王坤,葉齊鑫.LabVlEW7.1編程與虛擬儀器設計[M].北京:清華大學出版社,2005.
[6] 王水魚,李寧,胡樹燕.基于Labview實現(xiàn)PC機與單片機的串行通信[J].中國新通信:技術版,2007,9(23):11-15.