周海峰 黃元慶 陳 蘇 董敬德
?
基于單片機的太陽光伏發電系統逆變器的仿真設計
周海峰1,2黃元慶1,*陳 蘇3董敬德2
1.廈門大學機電工程系 2.集美大學輪機工程學院 3.福州大學電氣工程與自動化學院
介紹了一種應用于太陽能的發電系統中基于單片機控制的單相全橋逆變器的設計。逆變器主電路為全橋逆變結構,由4個IRF830A組成。以單極性SPWM倍頻調制方式工作。經過分析和比較,確定采用直接PWM法來計算SPWM波的占空比并設計了控制器。以AT89S51作為控制芯片,基于KeilC和Proteus的集成開發環境進行系統軟件設計,結合軟件對硬件電路進行調試,結果表明各部分指標滿足要求。
逆變器 光伏 單片機 脈沖寬度調制
太陽能是各種可再生能源中最重要的基本能源,生物質能、風能、海洋能、水能等都來自太陽能,廣義地說,太陽能包含以上各種可再生能源。太陽能作為可再生能源的一種,則是指太陽能的直接轉化和利用,通過轉換裝置把太陽輻射能轉換成電能利用的屬于太陽能光發電技術[1]。
本文介紹了一個應用于可再生能源發電系統,采用直接電流控制的單相電壓源型PWM逆變器的設計過程,并對逆變器的控制策略進行了分析和研究,采用ATMEL公司的MCU芯片AT89S51作為控制芯片完成了設計。
太陽能光伏發電產業自上個世紀80年代以來持續高速發展,每年以30%~40%的速度遞增,同時全球光伏電池產量快速增長,全球太陽能企業在1995年-2005年增長了17倍。2005年世界太陽能電池產量達到1650MW累計裝機容量5GW。為了鼓勵太陽能的開發和利用,各國政府分別積極制定各種優惠政策來推動太陽能光伏發電的發展。其中,以美、日、德、等西方發達國家為主[2]。
我國的太陽能光伏發電系統起步較晚,但是發展速度很快。2005年2月28日第十屆全國人民代表大會常務委員會第十四次會議通過的“中華人民共和國可再生能源法”,已于2006年1月1日起正式實施。2006年4月國務院能源領導小組會議上已批準國家發改委提出的我國太陽能發電的中長期發展規劃、發展重點和目標。
隨著人類對新能源的需求不斷的增加,而利用新能源的關鍵技術就是如何將新能源轉化成電能。因此逆變器的研究也成為合理利用新能源的課題中的重中之重。目前,可靠、高效和廉價的逆變器己成為生活中的迫切需要。本文采用高運算速率,低功耗的單片機AT89S51作為控制芯片,提高了逆變器的工作效率。
本文介紹逆變器的結構、控制方法和PWM控制方式,著重進行了系統硬件和軟件的設計,給出了部分程序,通過實驗得到相關實驗波形并進行了分析,最后進行了總結。
與整流相對應,把直流電轉化成交流電稱為逆變。當交流側接在電網上,即交流側接有電源時,稱為有源逆變;當交流側直接和負載連接時,稱為無源逆變。逆變電路的應用非常廣泛。在已有的各種電源中,蓄電池、干電池、太陽能電池等都是直流電源,當需要這些電源向交流負載供電時,就需要逆變電路。逆變電路在電力電子電路中占有十分突出的地位[3]。
逆變電路根據直流側電源性質的不同可分為兩種:直流側是電壓源的稱為電壓型逆變電路;直流側是電流源的稱為電流型逆變電路。它們也分別被稱為電壓源型逆變電路(Volt-age Source Type Inverter—VSTI)和電流源型逆變電路(Current Source Type Inverter—CSTI)。本文采用的是全橋逆變電路的原理圖。
驅動電路是電力電子變換器的關鍵技術之一。它的輸出脈沖的幅值和波形與功率開關管的開關特性有很大的關系,進而會影響到整個逆變系統的效率和調節特性[4]。
本設計中驅動電路采用4輸入與非門HD74HC00P。由單片機輸出的PWM波通過兩個與非門之后,輸入給功率器件V1、V4的門級;通過一個與非門輸入給V2、V3的門級,以此來作為驅動信號,并且實現驅動信號的互補。
經過分析和比較,逆變部分決定采用全橋逆變電路,由場效應管IRF830A組成逆變橋,采用4輸入與非門HD74HC00P來作為驅動電路。單片機產生的PWM信號經過HD74HC00P后,來控制逆變橋中開關器件IRF830A的關斷與導通,就可以在逆變橋的輸出端產生正弦波。不過此時的正弦波含有大量的高次諧波,需要通過LC濾波電路才能得到平滑、不含高次諧波的標準的正弦波。而電容與電感數值的大小需要經過理論計算與實際調試后才能確定。在本設計中我們取C=22μF,L=10mH。
脈寬調制(PWM)是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中[6]。
簡而言之,PWM是一種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。
在采樣控制理論中有一個重要的結論:沖量相等而形狀不同的窄脈沖加在具有慣性的環節上時,其效果基本相同[7]。到目前為止,已出現了多種PWM控制技術,4種主要方法:自然采樣法[8](對稱規則采樣法和不對稱規則采樣法[9])、面積等效法和面積中心等效法。
系統的控制電路采用單片機開發板來實現。該開發板是基于MCU 89S51的功能而開發設計制造的,可以作為一個硬件開發的平臺,板上提供了各種接口,可以很方便的將其與外圍電路連接,方便了設計。此開發板主要包括以下幾個部分[11]:USB電源(U1);外接電源接口;5V穩壓芯片;RS232串口,可簡單的與主處理器連接;DS1302時鐘芯片;DS1802溫度傳感器;指示電源的發光二極管(LED1);32路I/O接口引出;24C02存儲器、4位按鍵、紅外線插座、LCD1602、ISP下載插座、4位共陽數碼管、蜂鳴器。
在本設計中主要是用了P1接口,利用接口的P10腳作為SPWM信號的輸出口來分別控制功率器件V1、V2、V3、V4。
PWM控制方式的應用范圍非常廣泛,不僅可以實現逆變,還可以應用在電機調頻、調速、控制燈泡的亮度的場合中。可以說在未來的電力電子技術的發展中PWM技術將得到越來越多的關注。
本文計算PWM波的占空比采用直接PWM法。由于單片機指令執行延遲時間的存在,必然會引進誤差,尤其在實現高頻 SPWM波時,因為程序中往往忽略指令執行時間,但當輸出可調脈沖寬度小于10μs,與指令執行速度可比擬時(尤其對于以 C語言編寫的指令,其編譯后代碼效率比較低,指令執行時間可達μs數量級) ,中斷執行時間過長會對計數器計數產生延遲,最后會影響波形準確性[10]。
Proteus支持多種主流單片機系統的仿真,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。并且提供軟件調試功能與豐富的外圍接口器件及其仿真RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
隨著科技的發展,“計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結果、過程的統一的特點。可使設計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發應用中PROTEUS也能茯得愈來愈廣泛的應用[11]。
單片機應用技術所涉及到的實驗實踐環節比較多,而且硬件投入比較大。在具體的工程實踐中,如果因為方案有誤而進行相應的開發設計,會浪費較多的時間和經費。Proteus仿真軟件很好的解決了這些問題,它可以象Protel一樣畫好硬件原理圖與KEIL編程軟件結合進行編程仿真調試。
3.2.1 Protues軟件與Keil uVision的結合
設置步驟如下: (1)把proteus安裝目錄下VDM51.Dll(C:Program FilesLabcenterElectronics Proteus6 ProfessionalMODELS)文件復制到Keil安裝目錄的 C51BIN目錄中; (2)編輯C51里tools.ini文件,加入:TDRV1=BINVDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER"); (3) Keil uVision里設置: project-->options for project-->debug tab; (4) 選中use proteus VSM monitor 51( 如果想用兩臺電腦仿真,雙擊setting,輸入IP地址或者DNS name); (5) 載入proteus文件; (6) proteus 里選擇DEBUG-->use remote debug monitor; 進入KEIL的project菜單option for target '工程名'。在DEBUG選項中右欄上部的下拉菜選中 Proteus VSM Monitor-51 Driver。在進入seting,如果同一臺機IP 名為127.0.0.1,如不是同一臺機則填另一臺的IP地址。端口號一定為8000 注意:可以在一臺機器上運行keil,另一臺中運行proteus進行遠程仿真. (7)打開KEIL uVision, 按F5 開始仿真。
3.2.2 proteus的工作過程
運行proteus的ISIS程序后,進入該仿真軟件的主界面。在工作前,要設置view菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices窗口中選擇電路所需的元件,放置元件并調整其相對位置,元件參數設置,元器件間連線,編寫程序;在source菜單的Define code generation tools菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files命令下,加入單片機硬件電路的對應程序;通過debug菜單的相應命令仿真程序和電路的運行情況。
綜上所述,利用Proteus軟件能夠提供實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數量、質量上難以相比的虛擬儀器、儀表,通過與KeilC軟件的聯合調用,PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。
第一、測試指標:輸出電壓值:3VAC±5% ;正弦波輸出頻率:50HZ;第二、參數設置:直流側輸入電壓5VDC;參考正弦波頻率50Hz,直流輸入電壓5V,逆變器輸出電壓3V;第三、調試儀器:利用實驗室的電壓源的直流輸出5VDC電壓作為逆變器直流輸入信號與驅動電路的電源。TDS1002數字存儲示波器觀察逆變器輸出波形;第四、調試步驟:①對硬件電路中的全橋逆變電路和驅動電路進行調試.②對PWM模塊進行調試,軟件產生的四路的MOSFET驅動信號,主要觀察上下橋臂的驅動信號是否互補,死區時間是否正確。③利用單片機AT89S52編程來產生SPWM波,由P10口輸出。④對主電路進行開環調試,將步驟中單片機產生的SPWM信號連入主電路,觀察逆變器輸出波形。
根據以上設計方案,在實驗室搭建完成了逆變系統的試驗裝置。實驗電路有電源、逆變橋、單片機開發系統、驅動電路、LC濾波電路、示波器組成。軟件開發環境為KeilC μVision2。
4.2.1 IRF830A的驅動信號波形
由單片機P10口輸出的2路驅動信號。這2路驅動信號互補,分別驅動同一個橋臂的上下2個開關管。其中CH1所示波形為驅動V1的信號,V2/V3的驅動信號與此相似就沒有給出波形了。為了能更好的觀察單片機P10口輸出的SPWM波的整體變化情況,截取變化較為明顯的一段。

圖1 Proteus仿真電路圖

圖2 驅動信號波形
4.2.2 Proteus與KeilC聯合仿真分析
圖1所示的是用Proteus建立的逆變系統仿真電路原理圖。圖2中功率器件的驅動信號來自單片機AT89S52的P10口。通過KeilC軟件運行編寫好的控制程序,然后把程序載入Proteus仿真電路中的單片機芯片AT89S51中,運行仿真電路,AT89S51的P10口就可以輸出SPWM波。把得到的SPWM波通過非門驅動后輸入給功率器件,來控制功率器件的導通與關斷,再用仿真示波器觀察逆變電路輸出,可以得到如圖3所示的經過Proteus與KeilC聯合仿真之后得出的示波器輸出波形。由圖可見,正弦波周期十分接近20ms,波峰波谷有輕微的畸變。

圖3 逆變器輸出波形
4.2.3逆變器輸出波形
利用實驗室的電流源的直流輸出作為逆變器的直流輸入與驅動電路的電源,按照要求連接好硬件電路,經過LC濾波電路后,用TDS1002數字存儲示波器來觀察逆變器輸出波形。輸出波形如圖3所示。由于單片機的性能有限以及實際電路中存在的各種干擾因素,輸出的正弦波頻率為46.8569HZ存在一定的誤差。為了讓正弦波的頻率更接近工頻50HZ,我們進一步改進算法,在減少一個周期內的取點數目后,再次觀察輸出波形頻率,發現頻率更加接近50HZ,但是正弦波的波峰與波谷出現了較嚴重的畸變。經過分析,波形發生較嚴重的畸變是由于PWM控制算法精度的下降以及LC濾波電路所需的參數改變而導致的。如果想要使得波形更加接近完美的正弦波,首要考慮的是提高PWM控制算法的精度。可以選擇更加精確的算法來產生PWM波;并且需要重新選擇LC濾波電路的參數;這樣才能在使用相同的硬件電路條件下,取得良好的逆變效果。可以考慮使用性能強大的IGBT來構成逆變電路,并采用DSP來作為控制芯片。
本文采用全橋逆變電路的系統結構,采用IRF830A電力場效應管來實現。以AT89S51的單片機作為控制芯片完成了逆變器的設計。制作出了實物,基于Proteus與KeilC的集成開發環境完成了軟件的設計,根據軟硬件的設計方案實現了整個系統,軟硬件相結合進行了調試,調試結果顯示逆變器運行結果符合要求。

開發板的PCB圖
實物圖
部分程序
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit P10=P1^0;
uchar n0;
uint ledi;
uchar code ledp[200]={
……};
void main(void)
{
TMOD=0x01;
TR0=1;
ET0=1;
P10=1;
n0=ledp[ledi];
TH0=0xff;
TL0=266-n0;
EA=1;
While(1)
{
}
}
timer0() interrupt 1
P10=~P10;
ledi++;
if(ledi==200)ledi=0;;
n0=ledp[ledi];
TH0=0xff;
……
[1] 張凌. 單相光伏并網發電器的研制[D]. 北京:北京交通大學碩士學位論文,2007.
[2] 吳海濤. 光伏并網逆變器及其仿真研究[D].青島:青島大學碩士學位論文,2007.
[3] 王兆安,黃俊.電力電子技術[M].第四版. 北京:機械工業出版社,2005.
[4] 曲學基,于明揚,曲敬鎧. 逆變技術基礎與應用[M].北京:電子工業出版社,2007.
[5] D. G. Holmes and D. A. Martin. Implementation of a direct digital predictive current controller for single and three phase voltage source inverters[J]. IEEE IAS Annu. Meeting, 1996:7-11.
[6] 陳厚巖. 1KW具有零關斷功能的并網逆變器的研制[D]. 北京:中國科學院碩士學位論文,2004.
[7] Zhang Chunjiang, Cao Lingling etc. Grid-connected inverters interface control with unified constant-frequency integration control[J]. YanShan University,2006:3-5.
[8] 劉鳳君. 逆變器用整流電源[M]. 北京:機械工業出版社,2004.
[9] 王飛. 單相光伏并網系統的分析與研究[D].合肥:合肥工業大學碩士學位論文,2005.
[10] 周志敏等. 逆變電源實用技術-設計與應用[M]. 北京:中國電力出版社,2005.
[11] 陳道煉.DC-AC逆變技術及其應用[M]. 北京:機械工業出版社,2003
* 此項工作得到國家863重大科技項目子課題資助,項目批準號:2006AA050203-1