饒鴻江,肖麗仙,何永泰,徐道龍,趙高亮
(楚雄師范學院 物理與電子科學學院,云南 楚雄 675000)
在局部陰影條件下,光伏陣列輸出功率呈現多峰值特性。在此條件下如何實現光伏系統的MPPT,進而提高光伏系統的發電效率,是一個值得關注的問題[1,2]。光伏系統MPPT 控制方法主要分為:傳統MPPT、智能算法、改進智能算法、多種智能算法結合、智能算法與傳統MPPT 結合。
傳統MPPT 控制方法適用于均勻光照下光伏陣列輸出功率為單峰值的情況,目前有電導增量法、擾動觀察法、恒定電壓法[3-5]。局部陰影下,傳統的MPPT 控制方法無法逃避局部極值點,MPPT 控制有可能失效,進而造成輸出功率失配。
目前智能算法應用于光伏系統MPPT 中已經取得一定的進展,如文獻[6]中采用PSO 算法,一定程度上提高了MPPT 追蹤的速度和精度;但算法存在容易陷入局部最優值的缺點。文獻[7,8]采用的GWO 雖具有輸入參數少、精度高的優點,但應用于光伏系統的MPPT 控制中存在全局搜索能力不足、易陷入局部最優的問題。文獻[9]提出飛蛾火焰優化算法。該算法在多峰值MPPT 控制方面也存在全局開發能力不強、容易陷入局部最優等問題。文獻[10]采用免疫螢火蟲算法,通過建立疫苗庫提高尋優速度;但是該算法收斂精度低,無法實現全局最大功率的準確跟蹤。
改進智能優化算法。文獻[11]采用自適應變異粒子群算法,實現迭代過程中同步調整學習因子與慣性權重、變異機制;但變異機制不利于后期局部尋優。文獻[12]運用改進粒子群算法,將種群分為收斂粒子和自由粒子。自由粒子雖增強了全局探索能力,但文中未考慮全局尋優與局部尋優能力的平衡,所以算法容易陷入局部最優。文獻[13]利用細菌覓食行為優化蝴蝶位置函數,提出用改進蝴蝶算法實現光伏局部陰影MPPT。該算法存在收斂振蕩問題。
多種智能優化算法結合。文獻[14]利用PSO與神經網絡的優點,在MPPT 控制方面取得了一定效果。由于人工神經網絡算法需要大量數據進行復雜的學習訓練,在訓練不足的情況下文中算法容易陷入局部極值點。文獻[15]將布谷鳥算法與粒子群混合算法應用于MPPT 控制。該方法使模型能跳出局部極值,也能提高收斂精度;但其控制成本高、結構比較復雜。文獻[16]采用差分進化、基本遺傳與PSO 結合的混合算法。該算法的全局搜索能力強,但尋優耗時長、功率振蕩明顯。文獻[17]將黃金正弦與原子搜索算法結合解決收斂速度慢和容易陷入局部最優值的問題;但是,算法在迭代初期存在功率振蕩問題。文獻[18]提出蝙蝠算法與粒子群混合的算法。該算法的前后期分別采用蝙蝠算法和粒子群算法,但算法復雜性導致其收斂速度慢,且在前期存在功率振蕩問題。
智能算法與傳統MPPT 結合。文獻[19]提出改進布谷鳥算法與傳統MPPT 電導增量法相結合的方法。該算法的特點是根據迭代結果對種群分類后采取不同進化策略,在游走過程加入信息共享機制,從而避免了局部最優;在算法后期,結合電導增量法解決收斂精度低的問題。文中算法的缺陷是在迭代初期采用策略復雜、功率輸出振蕩大、尋優時間長。文獻[20]提出電導增量法與粒子群結合的算法,使用粒子群算法快速定位最大功率點(Maximum power point,MPP),再用小長電導增量法增強局部搜索能力。由于用該方法得到的MPP 點不一定是全局最大功率點,所以算法也容易陷入局部最優。文獻[5]提出將自適應布谷鳥算法與擾動觀察法結合的MPPT 控制策略。在初期,算法自適應調整飛行步長并切換概率,搜索能力強;在后期,算法采用擾動觀察法提高收斂精度。由于在算法檢測到計算結果收斂于GMPP 附近時將切換到P&O 算法,所以在切換失敗的情況下,模型將無法追蹤到最大功率點。
綜上,傳統MPPT 算法不適用于光伏陣列輸出為多峰值的情況,無法精確收斂于最大功率點,且收斂速度慢;智能算法、改進智能算法或多種智能算法相結合的MPPT 控制模型存在輸出功率振蕩、收斂速度慢的問題;智能算法與傳統MPPT結合的方法也會出現上述問題。
鑒于此,本文采用一種基于蒲公英優化算法的MPPT 控制策略,以解決局部陰影條件下的光伏多峰值MPPT 問題:上升階段,DO 算法初期自適應參數α和向下凸振蕩的k值較大,以增強全局搜索能力。在后期,隨著α和k值的減小,算法由全局搜索轉向局部開發。隨著迭代次數遞增,輸出最終精確收斂。在下降階段,采用布朗運動模擬飛行軌跡,遍歷更多搜索區域,逃避局部極值。在前兩個階段,用DO 算法實現全局探索和局部開發之間的平衡;在著陸階段,充分利用精英個體信息,避免過度開發,使模型精確收斂到全局最大功率點。
光伏電池等效電路如圖1 所示。

圖1 光伏電池等效電路Fig. 1 Equivalent circuit of photovoltaic cells
根據圖1 求得光伏電池輸出特性方程如(1)式所示[11]。
式中:Iph為光生電流;I0為反向飽和電流;Uoc和I分別為光伏電池輸出電壓、電流;Rs、Rsh為光伏電池等效串聯、并聯電阻;q為電荷常數;k為玻爾茲曼常數;A為光伏電池特性常數;T為光伏電池工作溫度。
單個光伏電池輸出功率、電壓、電流值比較小,不能滿足負載需求,因此需要將多個光伏電池組件串并聯組合構成光伏組件,然后將N個光伏組件串聯形成光伏陣列,輸出特性方程如式(2)所示。
現場光伏組件通過串并聯組合為光伏陣列。局部陰影的出現會導致陣列功率輸出失配,以及熱斑效應發生。
將環境溫度設置為25°C。以5×1 光伏陣列為例,光照強度仿真條件設置如表1 所示,其P-U特性如圖2 所示。

表1 光照強度仿真條件設置Tab. 1 Light intensity simulation condition setting W/m2

圖2 光伏系統輸出特性曲線Fig. 2 Output characteristic curve of photovoltaic system
由圖2 可知:光照強度為強度1 時,陣列所受光照條件一致,光伏陣列輸出特性曲線功率只有1個最大值;光照強度為強度2 時,輸出功率曲線有2 個峰值;光照強度為強度3 時,輸出功率曲線有3 個峰值,其中有2 個峰值比較接近;光照強度為強度4 時,輸出功率曲線呈現4 個峰值,其中有2個峰值比較接近。因此,在局部陰影條件下,光伏陣列輸出特性將呈現多個峰值點,其中某些峰值會比較接近,尋優具有全局最優和局部最優解,MPPT算法易陷入局部極值點導致MPPT 控制失效。
DO 算法為自然啟發的工程應用元啟發式算法,其所模擬的蒲公英御風長距離飛行過程分為上升、下降和著陸3 個階段[21]。在上升階段,根據不同天氣條件,種子在群落中以螺旋式上升方式運動或在局部中飄逸;在下降階段,通過在全局空間中不斷調整飛行方向,上升到一定高度后種子穩定下降;在著陸階段,在風和天氣的影響下,種子隨機選擇位置降落。蒲公英種子傳播經歷3 個階段,實現了種群進化。
1)上升階段。蒲公英種子達到一定高度后分散。受風速、溫度、濕度等影響,蒲公英種子上升高度不同,按天氣可分為2 種情況。
晴天。風速服從對數性質的正態分布lnY~N(μ,σ2)隨機沿Y軸均勻分布。蒲公英種子有更多機會傳播至遙遠區域。在此過程中,DO 算法強調探索。在探索空間內,蒲公英種子被風隨機吹到不同的位置。風速決定種子飛行高度。風越強,種子撒得越遠。風速不斷調整種子上方的漩渦,上升姿態呈現螺旋狀。在這個過程中,種子上升階段對應的表達式如式(3)所示。
式中:Xt為t次迭代時種子的位置;Xs為迭代時搜索空間中隨機選擇的位置。
Xs選擇的隨機位置如式(4)所示。
式中:UB和LB值分別設置為1 和0,rand(1)為隨機數。
函數lnY服從μ=0 和σ2=1 的對數正態分布,其公式如(5)所示。
式中:Y為標準正態分布N(0,1)。
調整搜索步長α為自適應參數,如式(6)。
隨機擾動因子α∈ [0,1]。隨著迭代次數遞增,α非線性減小,趨向于0。在算法初期,擾動比較大,算法更注重全局搜索;在算法后期,α減小,算法轉向局部搜索。全局搜索之后轉向局部搜索更有利于精確收斂。
當分離渦流作用于蒲公英時,會產生升力分量系數vx、vy??勺兙S度力公式如式(7)所示。
式中:θ為[-π,π]的隨機數。
雨天。受空氣濕度、空氣阻力等因素影響,蒲公英種子無法充分地隨風上升,種子在局部領域開發,對應公式如式(8)所示。
k值調節蒲公英的局部搜索區域。k值計算如式(9)所示。
式(9)中k值向下凸振蕩。這有利于算法在初期階段以長步長搜索全局區域,在后期階段以短步長開發局部區域。隨著迭代次數增加,參數k值越來越接近于1,可確保種群最終收斂于最優搜索個體。
綜合上述分析,描述蒲公英種子處于上升階段的解析式如式(10)所示。
式中:rand(n)為服從標準正態分布的隨機數。
式(10)給出了蒲公英種子進化的大致位置:天氣晴朗條件下,隨機選擇位置信息進行更新,通過vx、vy修正種子螺旋運動方向,強調探索過程;在雨天,蒲公英種子在局部區域開發。利用隨機數的正態分布動態控制算法的探索和開發,截斷點值設為1.5,使算法能更面向全局搜索,且在初期盡可能地遍歷整個搜索空間,為下次迭代優化提供正確方向。
2)下降階段。在此階段,DO 算法強調算法的探索尋優性。蒲公英種子上升到一定高后穩定下降。DO 算法采用服從正態分布的布朗運動來模擬蒲公英種子的運動軌跡,使個體在迭代過程中容易遍歷更多搜索區域。采用上升階段后的平均位置信息反映蒲公英下降的穩定性,有助于整個種群向最優個體的區域搜索開發,如式(11)所示。
式中:βt為隨機數,服從正態分布的布朗運動;為第t次迭代時種群平均位置信息,如式(12)所示。
式中:Np為種群個數。
種群平均位置信息決定個體進化方向,對個體的迭代更新至關重要?;谌炙阉鞯牟灰巹t布朗運動在迭代更新時可使個體以很高的概率逃離局部極值點,迫使種群在接近全局最優范圍內尋優。
3)著陸階段。DO 算法側重于開發。經歷前2 個階段后,蒲公英種子隨機選擇位置降落。隨著迭代次數增加,算法有望收斂于全局最優解、反映種子最容易存活的近似位置。因此,在得到最優蒲公英種子最容易生長的大概位置后,利用當前精英個體局部領域內的信息,可使算法精確收斂于全局最優解。隨著種群不斷進化,最終算法收斂于全局最優解,表達式如式(13)。
式中:Xelite為種子在第t次迭代產生的最優位置;Levy(λ)為萊維飛行函數,用于增強局部搜索能力;δ為線性遞增函數,取值于[0,2],用于避免過度開發,使精確收斂到全局最優,T為總的迭代次數。
式中:β為隨機數,取值范圍為[0, 2],文中取1.5;s為0.01;w、t為隨機數,取值于[0, 1]。
σ值計算如式(16)。
將DO 算法用于光伏發電系統,通過調節電路占空比來實現MPPT 控制。
為穩定功率輸出并在光照強度發生改變后追蹤到全局最大功率點,MPPT 控制策略需設計算法終止和算法重啟條件,以提高搜索效率并減小功率損失。
算法終止判定。若蒲公英種群的位置分布較為集中,為減少輸出功率的波動、使其保持在最大功率點,設定當DO 算法滿足以下條件2 個條件時算法終止運行,并保持其最優占空比。
1)蒲公英種子最大位置差如式(17)所示。
2)ΔP<0.000 1。
式中:ΔP為相鄰2 次迭代計算功率差值;Pi(k)為當前功率;PG,max為經歷的全局最大功率。
算法重啟條件:光伏系統外部條件(如光照)發生變化時,輸出特性隨即發生改變。此時的全局最優種子位置(占空比)通常不再對應最大功率點,需初始化并重啟算法,追蹤新的最大功率點。設計判定條件如式(19)所示。
式中:Preal為光伏系統的實時輸出功率;Pm為工作穩定時的輸出功率;ΔP1為輸出功率變化量。
ΔP1大于5%時,判定光照強度發生變化,重啟DO 算法搜索最大功率新值。
DO 算法應用于光伏系統MPPT 的具體步驟如下。
步驟1)DO 算法初始化設置。
步驟2)計算初始種子位置的輸出功率,根據輸出功率選擇蒲公英種子的最佳位置。
步驟3)在上升階段,判斷隨機數rand(n)是否小于截斷點1.5。若滿足,按式(6)和式(3)計算自適應參數α值和更新種子位置;若不滿足,則按式(9)計算k值,按式(8)更新種子位置。
步驟4)在下降和著陸階段,分別按式(11)和式(13)更新種子位置。
步驟5)根據更新種子位置計算輸出功率,保持最佳種子位置和最大輸出功率。
步驟6)判斷是否滿足終止條件。若滿足,則維持最優種子位置,輸出最大功率;若不滿足,返回步驟2),繼續迭代尋優。
步驟7)判定是否滿足重啟條件。若不滿足則結束,維持最優種子位置,輸出全局最大功率;若滿足,跳轉至步驟1),求解最大功率新值。
如圖3 所示,基于Simulink 搭建光伏系統仿真模型。圖中,光伏系統包括5×1 的光伏陣列、Boost 電路、MPPT 控制模塊和負載電阻。

圖3 光伏系統MPPT 仿真模型Fig. 3 Photovoltaic system MPPT simulation model
單個光伏電池參數:最大功率Pmax=213.15 W;短路電流Isc=7.84 A;最大功率點電壓Ump=29 V;最大功率點電流Imp=7.35 A;開路電壓Uoc=36.3 V。
Boost 電路參數:C1=500 μF;C2=20 μF;L=8.6 mH。
負載電阻R=20 Ω;PWM 載波頻率f=20 kHz;粒子數目Np=4;設定環境溫度為25 °C。
按照表1 設置的4 種光照強度,分別使用PSO算法、GWO 算法與DO 算法在無陰影遮擋、局部靜態陰影和動態陰影環境條件下進行仿真對比分析。
在光伏系統處于光照強度1 工況下時,輸出P-U功率曲線只有1 個極值點,光伏系統實際最大功率為8.517 kW。仿真時長設置為0.8 s,對DO、GWO、PSO 算法進行仿真。圖4 為輸出功率曲線。

圖4 均勻光照下3 種算法的MPPT 曲線Fig. 4 The MPPT curves of the 3 algorithms under uniform illumination
由圖4 可知,DO 算法在0.075 s 時收斂于最大功率點,誤差0%,GWO、PSO 算法分別耗時0.427 s 和0.507 s,誤差為0%,可見DO 算法收斂速度更快。
在光照強度2、3、4 條件下,仿真時長設置為0.8 s,對比3 種算法在局部陰影條件下的最大功率追蹤性能。
光照強度2:P-U曲線存在2 個極值點。
光照強度3:P-U曲線存在3 個極值點,其中2 個極值點比較接近。這種情況容易造成模型收斂于局部最大功率。
光照強度4:P-U曲線存在4 個極值點,其中也有2 個極值點比較接近。這種情況容易造成模型追蹤到全局最大功率較困難。
3 種算法的功率追蹤曲線如圖5 所示。

圖5 局部陰影下3 種算法的MPPT 曲線Fig. 5 The MPPT curves of the 3 algorithms under partial shading
由圖5 可知,3 種算法都追蹤到各自的最大功率點,并穩定輸出。
3 種算法在靜態陰影下的MPPT 性能詳細見表2。
結合圖5、表2 可知:DO 算法在3 種光照強度下的最大功率追蹤耗時最短,跟蹤精度都達到100%,功率輸出無振蕩。這表明DO 算法具有很強的極值避免性和較高的收斂精度。GWO、PSO算法不僅收斂速度慢,且在迭代初期存在功率振蕩,GWO 算法更易陷入局部最優,PSO 算法則是全局搜索能力不強,導致收斂速度慢。
動態陰影設置為2 種情況,仿真時長設置為2 s,取0.8—1.8 s 內系統的輸出功率。
工況1。t=0 s 時,光照條件設置為光照強度1,理論最大功率8.517 kW;t=1 s 時光照條件突變為光照強度3,理論最大功率5.073 kW。
工況2。t=0 s,光照條件設置為光照強度2,理論最大功率7.312 kW;t=1 s 時光照條件突變為光照強度4,理論最大功率為4.575 kW。
3 種算法的最大功率追蹤曲線如圖6 所示。


圖6 動態陰影下3 種算法的MPPT 曲線Fig. 6 The MPPT curves of the 3 algorithms under dynamic shadows
由圖6(a)可知,在工況1 時:
光照強度突變前,3 種算法都能收斂到最大功率8.517 kW。
在光照強度突變后,DO 算法重啟,在耗時0.374 s 后收斂到最大功率5.073 kW,動態跟蹤精度為100%。
PSO、GWO 算法在光照強度突變后重啟算法,分別耗時0.400 s、0.612 s 追蹤到最大功率點,收斂精度也為100%。
與GWO、PSO 算法相比,DO 算法在光照突變后能快速地追蹤到最大功率點,且追蹤精度較高,追蹤過程中沒有振蕩,輸出穩定并維持在最大功率點。
PSO 算法振蕩較大,GWO 算法振蕩較小,但是收斂速度慢。該結果反映出GWO 算法存在局部開發能力不強的缺點。
由圖6(b)可知,在工況2 時:
在光照強度突變前后,3 種算法都追蹤到最大功率,誤差都為0%。重啟算法后DO 算法耗時0.193 s 追蹤到最大功率新值點,迭代前期和后期無振蕩;GWO 算法耗時0.478 s 追蹤到新值4.575 kW,誤差0%,迭代前期全局搜索能力不強,存在功率振蕩;PSO 算法無法追蹤到最大功率,陷入局部最優。
綜上結果可知,動態局部陰影下,DO 算法具有響應快速、收斂精度高,收斂后能維持在最大功率點等優點,能有效提升光伏系統的發電效率、降低失配損失。
針對因光伏系統在局部陰影下的輸出功率存在多極值點而造成MPPT 控制過程收斂速度慢、易陷入局部最優的問題,提出一種基于DO 算法的MPPT 控制策略。仿真結果表明:
1)本文算法在均勻光照和局部陰影環境下可追蹤到的全局最大功率點,且精度高、速度快,追蹤過程中功率波動更小、更穩定。
2)動態陰影環境下,算法能快速響應,追蹤到全局最大功率新值點。
3)算法具有較強的優化性能,全局探索能力強,局部開發、局部極值避免能力強。復雜局部陰影下,該算法仍然具有很強的局部極值避免能力和較高的收斂精度。