海濤, 程沛源, 楊嘉芃, 林國忠, 付曦宇
(1.廣西大學電氣工程學院, 南寧 530000; 2.廣西電網公司南寧供電局, 南寧 530000)
隨著中國“雙碳”經濟戰略穩步推進,光伏發電技術因為其清潔環保、方便經濟的特點得到了廣泛的推廣與應用[1-2]。而最大功率點跟蹤(maximum power point tracking,MPPT)控制可以讓光伏系統在最大功率處持續輸出,有效提升光伏系統的發電效率,成為科研人員研究的焦點[3-5]。
傳統的跟蹤方法如電導增量法[6]、爬山法[7-8]、擾動觀察法等[9-10],這些方法簡單容易實現,在理想光照條件下跟蹤精度尚可,但在實際環境中出現陰影遮擋時,光伏陣列的P-U曲線呈現多峰現象,傳統的MPPT算法容易陷入局部極值點,而非真正的最大值點。針對這一問題,文獻[11]對爬山法進行改進,加入分段式變步長機制提升系統的控制精度,但系統在最大值附近會反復波動。文獻[12]引入積分器可以消除電導增量法中電導與電導變化率的差值來減小系統振蕩,加強系統穩定性。也有不少學者采取人工智能算法進行跟蹤控制,文獻[13]通過在粒子群算法(particle swarm optimization,PSO)基礎上加入自適應變異粒子,提高了算法控制精度,但算法的跟蹤時間較長導致損耗較大。文獻[14]將粒子群算法與電導增量法相結合進行協調控制,提高了算法控制效率并降低了硬件成本,但在復雜環境下跟蹤效果為不太理想。
針對以上問題,現對于粒子群算法進行改進,提出一種二階振蕩粒子群算法應用于最大功率點跟蹤。為避免粒子過于集中,將分散定位逼近極值的更新策略加入算法中,進一步提升算法的全局搜索能力。提出合理有效的終止策略防止系統趨于穩定時出現反復振蕩,減小系統損耗。最后采取仿真驗證本文算法的有效性。
光伏陣列是由多個光伏電池串并聯后組成的,其等效模型如圖1所示。模型包含參數有光生電流Iph、空間電荷區(PN junction)的暗電流ID1和ID2、輸出電壓Upv、輸出電流Ipv、串聯電阻Rs、旁路電阻Rsh、負載電阻RL。

圖1 光伏電池等效電路Fig.1 Equivalent circuit of photovoltaic cell
當有光照出現時,根據光生伏特效應光生電流Iph出現并分為三部分,分別是經過二極管VD1和VD2的暗電流ID、流入旁路電阻Rsh的旁路電流Ish、以及輸出電流Ipv。
根據基爾霍夫電流定律,光伏電池的I-U特性的關系式為

(1)


(2)
式中:Io1和Io2為二極管反向飽和電流;q為電子電荷;K為玻爾茲曼常數;T為光伏電池工作溫度;A1和A2為二極管理想因子;ns為光伏組件串聯數。
將式(1)和式(2)聯立簡化可得

(3)
式(3)中:
(4)

(5)
式(5)中:KI為電流溫度系數;KV為電壓溫度系數;ΔT為與標準情況的溫差。
光伏陣列的特性曲線一般指光伏陣列的輸出功率-電壓(P-U)曲線和電流-電壓(I-U)曲線,隨著輸出電壓變化,光伏陣列的功率和電流呈現不同的非線性變化。光伏陣列各個光伏組件會因為遮陰等因素處于不同的光照環境下,此時光伏系統的數學模型為

(6)
式(6)中:np為光伏組件并聯數;Ipva為光伏陣列輸出電流;Upva為光伏陣列輸出電壓;Upv為單個光伏組件輸出電壓。
借助于MATLAB/Simulink工具進行模擬仿真,光伏陣列的參數如表1所示。
根據表1的設置參數下的某3×1光伏陣列各種情況下光伏陣列特性曲線如圖2所示。

表1 光伏陣列參數設置Table 1 Parameter setting of photovoltaic array
根據圖2所示,理想狀況下光伏陣列的P-U和I-U曲線是一條平滑非線性曲線且峰值只有一個。當出現局部不均勻遮陰時,每個光伏組件因光照不同而導致輸出電壓不同,因此P-U曲線出現了3個峰值。由于光伏陣列工作環境的復雜,其串聯的各個光伏組件不能保持相同的光照條件,而電池彼此的光照差導致了光伏陣列輸出特性呈現多峰現象。

圖2 光伏陣列特性曲線Fig.2 Characteristic curve of photovoltaic array
PSO算法是通過模擬鳥群覓食行為而發展起來的一種基于種群的隨機搜索算法。其參數少并且在多變量系統中的尋優能力出色,所以PSO算法在近些年來有著快速的發展與廣泛的應用[15-16]。

(7)

(8)
式中:k為粒子的迭代次數;w為粒子迭代的慣性權重;c1為個體學習因子;c2為群體學習因子;r1和r2為[0,1]之間的隨機數。
PSO算法中參數通常為常量導致粒子特性單一,在復雜環境下搜索精度較低,提出在PSO中加入二階振蕩環節提升粒子多樣性以及在面對多峰函數時的全局搜索能力。通過限制在振蕩環節參數μ1、μ2變化范圍使得迭代函數能夠保持收斂。具體將調整算法迭代公式為


(9)

(10)
慣性權重參數w的選擇對于算法的影響很大,在算法迭代初期選擇較大的慣性權重使算法不容易陷入局部最優問題中,在算法后期減小慣性權重讓曲線更加平穩。將迭代過程分別為兩個階段,當前迭代次數k≤Gmax/2時,設置w=1,采取振蕩收斂加強全局搜索能力,此時二階振蕩環節參數為
(11)
當迭代次數k>Gmax/2時,設置w=0.75,采取漸進收斂來增強局部尋優能力。二階振蕩環節參數為
(12)
振蕩收斂和漸進收斂示意圖如圖3所示。

圖3 算法收斂示意圖Fig.3 Schematic diagram of algorithm convergence
對于n×m的光伏陣列最多可以出現n+1個極值點,設置粒子數量為n+1。假設第i個粒子電壓大小為Ui,將每個粒子初始化設置到每個可能的極值點附近,具體初始化公式為

(13)
式(13)中:Upvs為光伏系統的輸出電壓。當設置Boost變流器開關管的占空比為0時,Upvs可以直接測出。初始化粒子電壓的搜索范圍為0~Upvs。該策略既可以防止出現因初始值選擇過小而導致迭代次數過多、耗費時間過長的問題,又有全局性搜索的保障,防止遺漏任何可能出現的極大值。
算法在進行尋優的過程中反復多次的迭代會導致功率波動。為保證光伏系統的輸出功率盡快在最大功率點處穩定下來,減少系統在穩定值附近的波動,為控制算法設置一個明確的終止條件:當粒子群位置已經高度集中時即確認算法找到了最大功率點。在本文中設定當種群粒子間最大的電壓差值小于5%Upvs時,算法停止迭代。此時的功率為最大功率。
當光伏陣列的光照條件發生變化,光伏系統輸出功率隨之變化,此時的最大功率點位置已經改變,需要算法重新啟動進行追蹤使得系統可以保持最大功率輸出。設輸出功率的變化率為ΔP,其表示為

(14)
式(14)中:Pout為實際輸出的功率;Pm為最大功率值。本文中設定當ΔP>0.1重啟算法。
具體將該算法應用到局部陰影環境下求最大功率點步驟如下。
(1)初始化參數溫度、光照強度、光伏板串并聯個數、光伏板內部參數等。
(2)初始化光伏陣列算法模塊中粒子的速度、位置以及粒子數目等。
(3)通過功率計算公式獲取每個粒子i的個體功率,將其與過往個體信息作對比來更新個體最優值Pid,粒子間交換信息更新群體最優值Pg。
(4)檢查迭代次數是否超過最大迭代數Gmax或者滿足終止條件,滿足則保持輸出功率停止迭代,未滿足跳轉至第二步。
二階振蕩PSO算法流程圖如圖4所示。

圖4 二階振蕩PSO算法流程圖Fig.4 Flow chart of second-order oscillation PSO algorithm
為驗證二階振蕩PSO算法在有、無陰影情況下對于PSO算法的優化作用,使用MATLAB/Simulink工具搭建仿真模型,光伏陣列的電路仿真圖如圖5所示。
圖5中電路結構為經典的直流斬波(DC/DC)電路,通過Boost變流器來放大光伏陣列的電壓提升光伏系統的輸出功率[17-18],采集光伏陣列的電壓與電流利用二階振蕩粒子群算法來進行的最大功率點追蹤。通過脈沖寬度調制(pulse width modulation,PWM)改變金屬-氧化物半導體場效應晶體管(metal-oxide-semiconductor field-effect transistor,MOSFET)占空比去控制光伏系統的輸出電壓,以此達到最大功率點追蹤的目標。算法控制模塊接受傳感器采集到的光伏陣列的電壓電流信息,通過二階振蕩粒子群算法全局性地搜索當前最大功率點,控制模塊輸出PWM控制MOSFET的通斷實現Boost變流器的充、放電過程完成追蹤任務。

Upv為電池電壓;Ipv為電池電流;Uo為光伏系統輸出電壓圖5 光伏陣列MPPT系統電路圖Fig.5 Circuit diagram of photovoltaic array MPPT system
仿真選用3×1光伏陣列,通過仿真模型將PSO、自適應粒子群算法(adaptive particle swarm optimization, APSO)、二階振蕩PSO在標準光照條件(1 000 W/m2+1 000 W/m2+1 000 W/m2)下進行最大功率點追蹤,此時光伏陣列的P-U曲線如圖2所示。標準光照下仿真結果如圖6所示。
由圖2可知在標準光照條件下光伏陣列P-U曲線只存在一個極大值。根據圖6的仿真實驗結果,在標準光照條件下PSO、APSO、二階振蕩PSO都可以追蹤到最大功率點,然后保持穩定輸出。PSO算法在0.075 s左右穩定,APSO算法在0.098 s穩定,而二階振蕩PSO算法可以在0.047 s左右穩定到最大功率。相較于PSO算法和APSO算法,二階振蕩PSO算法作用下:收斂時間短且功率曲線波動幅度更小。

圖6 3種算法標準光照輸出功率特性Fig.6 Standard illumination output power characteristics of three algorithms
同樣的仿真電路系統設計,改變初始條件在局部陰影條件(800 W/m2+600 W/m2+400 W/m2)時,進行最大功率點追蹤。為方便觀察引入電壓曲線得到輸出特性曲線如圖7所示。
由圖2可知局部陰影條件下光伏陣列輸出存在兩個相近的極大值(20 V,96 W)和(32 V,105 W)。此時觀察圖 7中PSO算法穩定在(20 V,96 W)極大值點,陷入了局部最優的問題,算法穩定時間也由0.08 s增加到0.13 s且曲線波動更大;APSO算法跟蹤到30 V附近但誤差較大,且當0.13 s左右才穩定;而二階振蕩PSO算法可以很快收斂最大值點上。相較于在標準光照條件下,此時的二階振蕩PSO算法穩定時間仍為0.05 s左右。與PSO算法、APSO算法相比曲線波動更小,避免了局部最優的問題。證明算法在靜態陰影下追蹤最大功率是快速準確的。
圖7已證明二階振蕩PSO算法在靜態陰影下可以很好地跟蹤到最大功率點。而光伏組件工作環境是動態的,故設置光伏陣列光照條件(800 W/m2+600W/m2+400 W/m2)保持到0.3 s突然變為光照條件(700 W/m2+500 W/m2+300 W/m2)進行MPPT控制。

圖7 3種算法局部陰影條件輸出特性Fig.7 Local shadow condition output characteristics of three algorithms
根據圖2中P-U曲線看出當突變光照時光伏陣列輸出兩個相近的極大值為(20 V,80 W),(32 V,78 W),同時觀察輸出電壓與功率特性曲線,得到在動態陰影條件下光伏組件輸出特性曲線如圖8所示。
圖8結果所示,在0.3 s時光照條件突變控制算法重啟,此時最大值點轉移到20 V附近,PSO算法調整時間為0.24 s左右且波動幅度大。APSO算法由重啟到穩定用時0.12 s并且波動幅度較大。二階振蕩PSO算法由重啟到穩定用時在0.07 s左右并成功追蹤到最大值。說明二階振蕩PSO可以在突變陰影條件下快速準確地跟蹤到最大功率點。

圖8 3種算法動態陰影條件輸出特性Fig.8 Dynamic shadow condition output characteristics of three algorithms
算法本身具有一定隨機性,故針對每種情況算法運行30次,記錄下其追蹤輸出平均功率,穩定時間如表2所示。
根據表2可知:二階振蕩PSO算法在3種情況下均保持較高的平均輸出功率,證明了加入二階振蕩環節有效地幫助算法跳出局部最優困境,在控制精度和穩定速度上有較佳表現。

表2 3種算法性能指標Table 2 Performance indexes of three algorithms
針對PSO算法在局部陰影條件下出現的陷入局部最優的問題,提出了采用二階振蕩PSO算法,并對算法實際應用在MPPT上進行優化。
(1)算法迭代中將加入的二階振蕩環節分為振蕩收斂和漸近收斂兩個部分,更好平衡粒子的全局搜索和局部發掘。
(2)將粒子初始位置分散定位在可能極值處,并采取變慣性因子增加算法的搜索范圍。
(3)設計合適的終止、重啟條件,防止算法趨于穩定時反復波動,增加二階振蕩PSO算法在MPPT使用的實用性。
(4)仿真結果表明在無陰影、靜態陰影、動態陰影3種環境下二階振蕩PSO算法相較于其他兩種算法控制精度高、收斂速度快。在光伏系統中應用可以有效提高系統的輸出功率。