方奇文, 劉海鵬, 王 蒙, 李國強, 董 旭
(1.昆明理工大學 信息工程與自動化學院,云南 昆明 650500;2.國網(wǎng)山東省電力公司濰坊供電公司,山東 濰坊 261021)
由于光伏發(fā)電受材料物理性能等限制,光伏電池的轉(zhuǎn)換率較低,難以形成高功率發(fā)電系統(tǒng),阻礙了光伏發(fā)電的大規(guī)模推廣[1]。為了使光伏發(fā)電系統(tǒng)能夠以較高效率將太陽能轉(zhuǎn)換為電能以及光伏發(fā)電能得到大規(guī)模推廣,最大功率點跟蹤(MPPT)技術(shù)的研究已經(jīng)成為了當前光伏發(fā)電技術(shù)中的重要環(huán)節(jié)之一。按算法分類可將MPPT技術(shù)大致分為傳統(tǒng)的MPPT技術(shù)和基于智能算法的MPPT技術(shù)。
傳統(tǒng)的 MPPT 技術(shù)主要包括恒定電壓法、電導增量法、擾動觀察法以及在傳統(tǒng)MPPT算法的基礎(chǔ)上進行改進的算法[2-3]。在溫度和光照恒定的條件下光伏陣列的輸出功率只存在一個峰值,采用傳統(tǒng)的MPPT技術(shù)能夠快速尋找到全局最大峰值。然而,光伏電池的輸出具有很強的非線性,輸出功率易受到外界溫度和光照強度的影響。特別是當光伏電池被周圍建筑物、樹木的陰影遮擋時,可能會導致光伏陣列產(chǎn)生多峰功率輸出。文獻[4]指出在多個功率峰值情況下,電導增量(INC)算法追蹤到的功率點可能是局部極值點,而非真正的最大功率點。傳統(tǒng)的MPPT技術(shù)無法分辨出局部峰值和全局最大峰值[5],從而大大降低光伏陣列的發(fā)電效率。針對這一問題,研究者們也提出了一些基于智能算法的MPPT技術(shù)。
目前常見的基于智能算法的MPPT技術(shù)有粒子群算法[6]、布谷鳥搜索算法[7]、螢火蟲算法[8]、蟻群算法[9]和遺傳算法[10]。文獻[11]采用粒子群優(yōu)化算法(PSO)對多峰下光伏MPPT進行研究,該算法雖然參數(shù)較少,但能夠?qū)崿F(xiàn)對光伏系統(tǒng)輸出功率的全局最大功率點(GMPP)的追蹤,不過這只有在外界環(huán)境變化非常緩慢的情況下,即在研究全局尋優(yōu)過程中光伏發(fā)電系統(tǒng)的輸出功率特性沒有顯著變化時才能實現(xiàn)。在文獻[12]中也提到了PSO算法存在不收斂、捕獲不到GMPP、精度低等問題。文獻[13]中提到遺傳算法具有較高的性能,即具有相對較小的振蕩、較快的收斂速度及動態(tài)性能,但由于其算法簡單,不適用于超大規(guī)模、高復雜度和高耗時問題的優(yōu)化。
麻雀搜索算法(SSA)具有良好的全局尋優(yōu)能力和穩(wěn)定性,能夠快速地在最優(yōu)值附近收斂[14],因此本文采用SSA算法并結(jié)合Boost電路以追蹤光伏最大功率點。借鑒于烏鴉搜索算法[15](CSA),引入飛行步長對SSA算法中加入者的位置更新規(guī)則進行了改進,消除優(yōu)化問題的維度對SSA算法優(yōu)化性能造成的影響;同時通過邊界處理策略來處理跳出搜索范圍的麻雀個體,進一步提高了算法的搜索性能;除此之外,針對發(fā)現(xiàn)者也做了一定改進,使其能夠依據(jù)當前全局最優(yōu)解和最差解自適應調(diào)整搜索位置。最后,以6個基準測試函數(shù)對改進前后SSA進行對比,驗證改進SSA算法的優(yōu)越性,并將改進SSA算法應用于光伏MPPT問題中與粒子群算法進行對比分析,驗證其搜索性能。
光伏電池作為光伏發(fā)電系統(tǒng)的輸出端,利用光伏效應產(chǎn)生輸出電流,在整個發(fā)電系統(tǒng)中發(fā)揮極其重要的作用。只有更清晰地了解光伏發(fā)電的工作原理,洞悉光伏電池工作過程中的影響因素,才能更深入地對光伏發(fā)電系統(tǒng)最大功率點技術(shù)進行研究,因此對光伏電池的特性進行分析是必不可少的環(huán)節(jié)。
對光伏電池的特性進行仿真分析,仿真所采用的光伏電池各相關(guān)參數(shù)的取值分別為,開路電流Isc=3.8 A,開路電壓Uoc=21.1 V,最大功率點電流Imp=3.5 A,最大功率點電壓Ump=17.1 V。在不同條件下,以該型號的電池建立仿真模型得到的特性曲線如圖1和圖2所示,圖1為輸入的環(huán)境溫度T=25 ℃保持不變,輸入不同的光照強度得到的P-U特性曲線;圖2為輸入的光照強度S=1 000 W/m2保持不變,輸入不同的環(huán)境溫度得到的P-U特性曲線。
圖1 不同光照強度下的光伏電池P-U特性曲線
圖2 不同溫度下的光伏電池P-U特性曲線
由圖1和圖2可知,光伏電池的最大功率受外界光照強度和溫度的影響,不同光照強度或者溫度下呈現(xiàn)出不同的輸出曲線,在溫度恒定時,最大功率隨光照強度變化的波動范圍較大,因此本文主要針對光伏陣列在恒溫和不同光照強度下的多峰功率輸出特性進行研究。
基于上述光伏電池,利用Simulink對四塊電池模型串聯(lián)形成的光伏陣列進行仿真,部分遮陰是為了模擬由于建筑物、雨或云在光伏陣列上形成的一些陰影,使得串聯(lián)的光伏組件無法接收到同等水平的輻照度的現(xiàn)象[16]。本文設(shè)置三種遮陰情況進行分析,其中各組件輸入的溫度T=25 ℃保持不變,光照情況如表1所示。圖3為三種遮陰情況下光伏陣列功率電壓特性仿真曲線。
表1 光伏陣列遮陰情況下的光伏組件光照強度 W/m2
圖3 不同遮陰情況下光伏陣列P-U特性仿真曲線
從圖3可以看出,當光伏陣列中各個光伏組件的光照強度不同時,會在光伏陣列的P-U特性曲線上造成多個峰值。此時,傳統(tǒng)的MPPT技術(shù)可能無法跟蹤到全局最大功率點。
SSA是受麻雀覓食行為和反捕食行為的啟發(fā)而提出的一種新型群智能優(yōu)化算法[17]。麻雀種群由發(fā)現(xiàn)者、加入者以及警戒者三部分組成,根據(jù)適應度值的優(yōu)劣,不斷更新發(fā)現(xiàn)者、加入者以及警戒者的位置,從而找到目標函數(shù)的最優(yōu)解。
在 SSA 中,發(fā)現(xiàn)者具有較好適應度且發(fā)現(xiàn)者所獲得的覓食搜索范圍比加入者更大。在每次尋優(yōu)的過程中,發(fā)現(xiàn)者的位置更新規(guī)則如下:
(1)
式中:t為當前迭代數(shù);j=1,2,3,…,d(d為待優(yōu)化問題變量的維數(shù));iter_max為最大迭代次數(shù);Xi,j為第i個麻雀在第j維中的位置信息;α為一個隨機數(shù)α∈(0,1];R2和ST分別為預警值和安全值,R2∈[0,1],ST∈[0,1];Q為服從正態(tài)分布的隨機數(shù);L為一個1×d的矩陣,其中該矩陣內(nèi)每一個元素均為1。
一些加入者為了增加自己的捕食率可能會不斷地監(jiān)視發(fā)現(xiàn)者并且去爭奪食物資源。加入者的位置更新規(guī)則如下:
(2)
警戒者是指那些意識到危險的麻雀,這些麻雀的位置是在種群中隨機產(chǎn)生的。警戒者的位置更新規(guī)則如下:
(3)
式中:Xbest為當前的全局最優(yōu)位置;β為步長控制參數(shù),并且是服從均值為0,方差為1的正態(tài)分布的隨機數(shù);K為一個隨機數(shù),K∈[-1 ,1],表示麻雀移動的方向同時也是步長控制參數(shù);fi為當前麻雀個體的適應度值;fg和fw分別為當前全局最佳和最差的適應度值;ε為較小的常數(shù),用于避免分母為0。
2.2.1 改進發(fā)現(xiàn)者更新規(guī)則
發(fā)現(xiàn)者是麻雀種群中具有較好適應度的個體,負責為加入者尋找覓食的區(qū)域,是種群中至關(guān)重要的一個角色。但原始算法中發(fā)現(xiàn)者在迭代過程前期和后期搜索覓食區(qū)域的能力是保持不變的。為了使算法前期麻雀能夠搜索到較大的覓食區(qū)域,具有較好全局搜索能力,并且在算法迭代過程中不斷縮小其覓食搜索范圍,在算法后期具有較好的局部搜索能力,本文對發(fā)現(xiàn)者的位置更新規(guī)則進行了改進,改進后的表達式如下:
(4)
2.2.2 改進加入者更新規(guī)則
由SSA算法的原理可知,適應度較好的加入者位置更新時,其步長受參數(shù)A+控制,由式(3)可知,待優(yōu)化問題維度低時,參數(shù)的值可能過大,麻雀更新后的位置易跳出搜索范圍之外且降低了算法的搜索精度;反之,參數(shù)的數(shù)值過小,雖然麻雀的精度得到了提高,但會降低算法的多樣性且收斂時間過長。
以Boost電路的占空比作為麻雀的位置進行尋優(yōu),占空比的范圍為[0,1],可將該問題視為低維、小搜索范圍的尋優(yōu)問題。SSA中加入者的位置更新與維度有關(guān),在處理MPPT問題時麻雀位置更新步長會較大,存在跳出搜索空間、陷入局部最優(yōu)、精度低等問題。本文受到烏鴉搜索算法的啟發(fā),將烏鴉搜索算法引入到SSA中,使適應度較好的加入者位置更新時不受維度影響,增強了算法對光伏MPPT的實用性能。同時對適應度較差的加入者添加當前麻雀種群位置的平均值信息,對其更新規(guī)則進行了改進,避免其盲目地更新位置。改進后加入者的更新規(guī)則如下:
(5)
式中:fl為飛行步長。
為了更好地發(fā)揮算法的尋優(yōu)性能,保證算法前期能夠具有較好的全局搜索能力,后期具有較強的局部尋優(yōu)性能,本文參考了文獻[18]中的模型參數(shù)動態(tài)遞變策略,選取凹形下降型遞變規(guī)則對參數(shù)fl進行遞變,其數(shù)學表達式如下:
(6)
2.2.3 邊界處理策略
在尋優(yōu)進程中存在部分麻雀更新后的位置跳出搜索范圍之外,這將不利于充分發(fā)揮算法的尋優(yōu)性能,為此本文提出了一種邊界處理策略,當麻雀更新后的位置超出搜索邊界時,將會朝邊界相反的方向移動。其公式如下:
(7)
式中:Ub(j)、Lb(j)分別為麻雀在第j維中的上、下限。
為了對比改進SSA算法與傳統(tǒng)SSA算法的尋優(yōu)效果,本文利用6個基準測試函數(shù)進行測試,其基準測試函數(shù)具體信息如表2所示。為使性能測試具備公布性,將麻雀種群總個體數(shù)量統(tǒng)一設(shè)置為30個,最大迭代次數(shù)為300次,安全值均為ST=0.8;改進SSA算法的參數(shù)取值為fl_max=1.5,fl_min=0,α=1.5。各測試函數(shù)均獨立進行50次測試,以50次測試統(tǒng)計結(jié)果的平均值、標準差以及平均尋優(yōu)時間為評價指標,兩種算法的測試統(tǒng)計結(jié)果如表3所示。為了更加直觀地體現(xiàn)出改進SSA算法和SSA算法在各基準測試函數(shù)尋優(yōu)中的迭代進程差異,本文描繪出了兩種算法在測試函數(shù)尋優(yōu)中的仿真對比圖,如圖4所示。
表2 基準測試函數(shù)
表3 傳統(tǒng)SSA與改進SSA函數(shù)測試對比結(jié)果
圖4 兩種算法在測試函數(shù)尋優(yōu)中的仿真對比圖
本文采用了Boost電路對光伏陣列最大功率點進行跟蹤,以占空比作為麻雀的位置進行尋優(yōu),基于Boost電路的MPPT系統(tǒng)結(jié)構(gòu)圖[19]如圖5所示。
圖5 基于Boost電路的MPPT系統(tǒng)結(jié)構(gòu)圖
在采用SSA算法對最大功率點進行迭代尋優(yōu)后期,尤其是當麻雀的位置收斂到全局最大功率點所對應的占空比附近時,繼續(xù)迭代尋優(yōu)雖能提高追蹤的精度,但會降低算法的追蹤速度,也可能會增加輸出功率的振蕩幅度。因此,本文采用的迭代終止策略如下:當所有麻雀的位置非常集中時可認為系統(tǒng)已到達全局最大功率點附近,此時麻雀的位置滿足:
dmax=|Xmax-Xmin|<ΔX
(8)
設(shè)定當麻雀之間的最大距離dmax小于ΔX時,停止迭代,將當前麻雀位置所對應的功率最大者定為最佳位置Xm,其所對應的功率為最大功率和占空比為Pm和Dm。
(9)
式(9)中ΔP的取值范圍非常重要,取值過大會導致追蹤精度較低,可能運行于非最大功率點附近;過小會導致算法頻繁重啟。因此,此處設(shè)定ΔP=1%Pm。改進SSA算法的流程如圖6所示。
圖6 改進SSA算法的流程圖
為檢驗SSA算法的有效性,本文在MATLAB/Simulink環(huán)境下建立了一個基于Boost電路的MPPT系統(tǒng)模型,其結(jié)構(gòu)圖如圖5所示,其中開關(guān)頻率f=50 kHz,Ci=100 μF,Co=100 μF,L=0.5 mH,R=40 Ω。光伏陣列采用五塊光伏電池串聯(lián),采用改進SSA、PSO以及INC在不同情況下進行仿真對比。為保證試驗的公平性,此處粒子和麻雀的數(shù)量均為5個,且初始位置均設(shè)為0.1,0.3,0.5,0.7,0.9;最大迭代次數(shù)為20;ΔX=0.01。另外,INC算法參數(shù)取值為ΔD=0.01,初始位置設(shè)為0.6;PSO算法參數(shù)取值為ω=0.2,c1=0.3,c2=0.5;改進SSA算法中ST=0.8,fl_max=1.5,fl_min=0,發(fā)現(xiàn)者和警戒者占種群的比例均為0.25;系統(tǒng)的采樣周期為15 ms。
為了檢驗算法在不同情況下的優(yōu)良性,此處在相同的溫度T=25 ℃下采用表1中的方法1、方法2以及方法3三種情況進行仿真對比。
方法1情況為均勻光照條件,光伏陣列的P-U特性曲線上有且僅有一個峰值點。方法1光照情況的追蹤曲線如圖7所示,SSA算法由于加入者受MPPT問題的維度影響,其在一定時間內(nèi)無法追蹤到光伏陣列最大功率點。另外三種算法均能在均勻光照條件下追蹤到全局最大功率點,INC算法追蹤時間最短為0.60 s;其次是改進SSA算法追蹤時間為0.83 s;用時最長的是PSO算法為1.09 s。其中,INC算法追蹤到的最大功率點為292.2~303.7 W,即在最大功率點附近存在較大的振蕩,功率振動差為11.5 W;PSO算法追蹤到的功率為298.2 W;改進SSA算法追蹤到的功率為298.2 W。與PSO算法相比,改進SSA算法的追蹤時間縮短了23.85%。
圖7 方法1光照情況下的追蹤曲線
方法2中組件1與組件3光照強度相同,均為1 000 W/m2,其他組件各不相同,光伏陣列的P-U特性曲線上有4個峰值點,包含1個全局最優(yōu)解和3個局部最優(yōu)解。其追蹤曲線如圖8所示,采用INC算法在0.15 s后輸出功率為109.2~112.5 W,功率振蕩差為3.3 W,沒有追蹤到全局最大功率點;PSO算法追蹤時間為1.74 s,追蹤到的最大功率點為140.5 W;改進SSA算法的追蹤時間為0.83 s,追蹤到的最大功率點為141.8 W,比PSO算法追蹤精度更高,追蹤時間縮短了0.75 s。
圖8 方法2光照情況下的追蹤曲線
方法3光照為非均勻光照,光伏陣列的P-U特性曲線上有5個峰值點,包含1個全局最優(yōu)解和4個局部最優(yōu)解。方法3情況下的追蹤曲線如圖9所示,其中INC算法的追蹤時間為0.25 s,追蹤到的最大功率點為87.5~90.2 W,在最大功率點附近也存在較大的振蕩,功率振蕩差為2.7 W;PSO算法的追蹤時間為1.17 s,追蹤到的最大功率點為114.4 W;改進SSA算法的追蹤時間為0.83 s,追蹤到的最大功率點為114.5 W??梢姡琁NC算法在非均勻光照條件下可能會陷入局部最優(yōu)解,與PSO算法相比,改進SSA算法追蹤時間縮短了29.06%。
圖9 方法3光照情況下的追蹤曲線
為檢驗改進SSA算法在光照變化下的追蹤效果,0 s時使光伏陣列的光照情況為方法1,2.00 s時將光照情況改為方法3,其仿真結(jié)果如圖10所示。在方法1光照情況下時,該算法在0.84 s 時追蹤到最大功率點;光照突變后,2.57 s時再次追蹤到最大功率點??梢娫撍惴ㄔ诠庹胀蛔儣l件下也能有效地追蹤到光伏陣列的最大功率點。
圖10 改進SSA算法在光照突變情況下的追蹤曲線
傳統(tǒng)MPPT算法在運算過程中容易在最大功率點附近存在較大振蕩以及在非均勻光照情況下誤判而追蹤到局部峰值點,大大降低了光伏系統(tǒng)對太陽能的利用效率。本文所提出的一種基于SSA算法的MPPT算法,與SSA相結(jié)合,通過對部分參數(shù)和結(jié)構(gòu)進行改進后,消除了優(yōu)化問題維度對算法性能的影響,能夠有效避免麻雀的位置跳出當前搜索范圍,從而縮短SSA算法的搜索時間。仿真結(jié)果表明:
(1) 改進SSA算法能有效地搜索到全局最大功率點。
(2) 與PSO算法相比,改進SSA算法所追蹤到的最大功率點較高,搜索時長較短,使光伏系統(tǒng)能更高效地利用太陽能。
(3) 改進SSA算法在光伏多峰MPPT應用中能夠有效追蹤光照突變后的最大功率點,具有良好的動態(tài)性能。