龔瑞昆,劉昊晟,張堪傲,鄧朋浩
(1.華北理工大學(xué)電氣工程學(xué)院,河北 唐山 063210;2.華北理工大學(xué) 冶金能源學(xué)院,河北 唐山 063210)
太陽(yáng)能發(fā)電技術(shù)日趨成熟,但是受地理位置等環(huán)境因素的局限性,在實(shí)際應(yīng)用的復(fù)雜環(huán)境中產(chǎn)生了許多問(wèn)題。光伏陣列受外部環(huán)境因素影響比較大,輸出曲線具有非線性,呈現(xiàn)多峰現(xiàn)象,造成大量功率損失,而且可能導(dǎo)致熱斑效應(yīng),損壞電子設(shè)備。對(duì)此人們提出了許多方法來(lái)解決追蹤最大輸出功率的問(wèn)題。文獻(xiàn)[1]研究粒子群遺傳算法,縮短達(dá)到穩(wěn)定狀態(tài)的時(shí)間;文獻(xiàn)[2]研究細(xì)菌覓食算法,但尋優(yōu)精度不夠,不能準(zhǔn)確追蹤到最大功率點(diǎn);文獻(xiàn)[3]研究變步長(zhǎng)擾動(dòng)觀察法,改善了定步長(zhǎng)存在的功率振蕩等問(wèn)題,避免了跟蹤死區(qū)現(xiàn)象。傳統(tǒng)的最大功率點(diǎn)跟蹤(MPPT)控制算法是根據(jù)光伏電池特性參數(shù)進(jìn)行改進(jìn)[4],例如根據(jù)光伏電池的即時(shí)輸出進(jìn)行不斷檢測(cè)的擾動(dòng)觀察法(P&O)、電導(dǎo)增量法(INC)等算法。
對(duì)比傳統(tǒng)MPPT 優(yōu)化算法,本文引入粒子群(PSO)算法到細(xì)菌覓食(BFO)算法中,提出了一種基于PSO-BFO 混合算法的MPPT 優(yōu)化方法,可以彌補(bǔ)BFO 算法更新速度慢的缺點(diǎn),提高BFO 算法驅(qū)散過(guò)程中的全局搜索能力,而且彌補(bǔ)了PSO容易陷入局部最優(yōu)的缺點(diǎn),此算法在全局尋優(yōu)過(guò)程中追蹤精度更高,收斂速度更快。
圖1 所示為光伏發(fā)電系統(tǒng)結(jié)構(gòu)。系統(tǒng)分為四部分:光伏陣列、Boost 電路、PWM 模塊以及MPPT 模塊。當(dāng)光伏陣列被局部陰影遮擋時(shí),易產(chǎn)生熱斑效應(yīng),所以并聯(lián)旁路二極管。工作流程:光伏陣列將輸出的電壓電流輸入MPPT 模塊中,設(shè)計(jì)合適的MPPT 算法預(yù)測(cè)當(dāng)前的最大輸出功率位置;利用DC/DC 調(diào)控技術(shù),對(duì)比預(yù)測(cè)的最大輸出功率位置的電壓與輸出電壓,通過(guò)PWM 模塊改變開(kāi)關(guān)管IGBT 的占空比;最終通過(guò)改變Boost 電路中的阻抗,與負(fù)載的阻抗相匹配,達(dá)到改變輸出電壓的目的。
圖1 光伏發(fā)電系統(tǒng)拓?fù)浣Y(jié)構(gòu)
根據(jù)電路的伏安特性,光伏電池的等效電路可以用圖2表示。
圖2 光伏電池等效電路
光伏電池的輸出特性方程為:
其中Rsh和Rs為寄生電阻,是由光伏電池的結(jié)構(gòu)缺陷或者局部區(qū)域的雜質(zhì)摻雜造成的,Rs~0,Rsh~∞。所以公式(1)可以簡(jiǎn)化為:
根據(jù)系統(tǒng)的最大功率約束條件可得參數(shù)C1、C2:
當(dāng)外界條件變化時(shí),新?tīng)顟B(tài)下的電池參數(shù)為:
其中a、b、c為公式系數(shù)。為了考察環(huán)境變化對(duì)光伏電池輸出功率的影響,在Matlab 中搭建模型進(jìn)行仿真,得到如圖3所示的P-U 曲線。
圖3 不同光照強(qiáng)度下的P-U 曲線
PSO 算法是對(duì)動(dòng)物群體活動(dòng)行為的思考而提出的算法,類(lèi)似于遺傳算法,但又有所不同。因?yàn)镻SO 沒(méi)有“交叉”和“變異”操作,反而更容易實(shí)現(xiàn),所以常常把兩種算法的優(yōu)勢(shì)結(jié)合起來(lái)處理問(wèn)題。PSO 算法通過(guò)記憶并更新粒子群動(dòng)態(tài)信息,實(shí)現(xiàn)對(duì)解空間的全局搜索。它最優(yōu)越的地方是具有記憶能力,能記憶保留個(gè)體和群體的信息。
粒子群算法的基本原理為:將目標(biāo)函數(shù)的每個(gè)解看做無(wú)質(zhì)量且體積可忽略的粒子,用速度和適應(yīng)度值表示該粒子的特征,在迭代過(guò)程中,粒子通過(guò)更新自己的速度和位置,找出距離MPP 最近的個(gè)體最優(yōu)位置pbest 和群體最優(yōu)位置gbest,當(dāng)gbest 到達(dá)pbest 時(shí),函數(shù)迭代終止。
迭代過(guò)程中,粒子更新自身速度Vid和位置Xid,公式如下:
式中:ω 為慣性權(quán)重;c1、c2為學(xué)習(xí)因子;r1、r2為隨機(jī)數(shù);k為迭代次數(shù)。在光伏系統(tǒng)中,函數(shù)的解是光伏陣列的輸出功率。
BFO 算法是根據(jù)細(xì)菌生長(zhǎng)繁殖規(guī)律提出的一種新型仿生類(lèi)算法,算法簡(jiǎn)單、靈活,具有很強(qiáng)的魯棒性和適應(yīng)性,而且可以與其他各種算法結(jié)合生成新的算法,應(yīng)用于不同的領(lǐng)域。BFO 算法主要通過(guò)趨化、復(fù)制和驅(qū)散三種行為來(lái)實(shí)現(xiàn)尋優(yōu),細(xì)菌通過(guò)翻轉(zhuǎn)和前進(jìn)向富養(yǎng)區(qū)域聚集,達(dá)到一定次數(shù)后進(jìn)行分裂繁殖,用以避免種群更新的盲目性,分裂后的子細(xì)菌具有母細(xì)菌的位置步長(zhǎng)等特性。操縱如下。
趨化操作:細(xì)菌通過(guò)翻轉(zhuǎn)和前進(jìn)向富養(yǎng)區(qū)域聚集,同時(shí)細(xì)菌之間會(huì)有信息交流,通過(guò)釋放斥力和引力信號(hào)來(lái)促使細(xì)菌聚集在一起,可通過(guò)修正細(xì)菌適應(yīng)度函數(shù)來(lái)達(dá)到目的,其中適應(yīng)度函數(shù)和位置更新公式如式(11)、(12)所示。
式中:θi(j,k,l)為第l次遷移中的第k次復(fù)制中的第j次趨化中的細(xì)菌的位置;C(i)是在[-1,1]中隨機(jī)選擇的步長(zhǎng)大小,在方向上走了一個(gè)步長(zhǎng)后,確定第j+1 次趨化時(shí)的位置。
復(fù)制操作:對(duì)細(xì)菌的適應(yīng)度函數(shù)值進(jìn)行排序,活性好的細(xì)菌進(jìn)行分裂復(fù)制,分裂所得細(xì)菌具有與母菌相同的特性。
遷移操作:當(dāng)環(huán)境發(fā)生改變或者其他突變情況,區(qū)域內(nèi)的細(xì)菌會(huì)死亡或者遷移到其他地方。
PSO 算法有記憶功能,記憶粒子群的速度、位置動(dòng)態(tài)變化,以及優(yōu)化過(guò)程中的極值情況,通過(guò)比較適應(yīng)度函數(shù)的優(yōu)劣來(lái)進(jìn)行粒子更新,若適應(yīng)度函數(shù)值比上一次的差,則優(yōu)化過(guò)程回到原來(lái)的位置。PSO 算法中為單向信息傳輸,粒子根據(jù)gbest 或pbest 進(jìn)行動(dòng)態(tài)調(diào)整,屬于單向信息流動(dòng),搜索過(guò)程跟隨當(dāng)前最優(yōu)解進(jìn)行調(diào)整,所以PSO 的收斂速度較快。
BFO 算法通過(guò)翻轉(zhuǎn)和游動(dòng)來(lái)改變尋優(yōu)方向,搜索速度采用隨機(jī)數(shù),具有盲目性,僅僅使用復(fù)制過(guò)程中留下的細(xì)菌來(lái)進(jìn)行尋優(yōu),相對(duì)來(lái)說(shuō),尋優(yōu)速度較慢。
通過(guò)分析可以看出,BFO 算法搜索速度具有極大的盲目性,速度更新、位置更新并沒(méi)有PSO 算法簡(jiǎn)單明了,計(jì)算相對(duì)來(lái)說(shuō)比較復(fù)雜,而且全局搜索能力不如PSO 算法。所以提出改進(jìn)方法,用PSO 算法中的公式(9)來(lái)更新BFO 算法中的C(i),用公式(10)來(lái)更新θi(j,k,l),實(shí)現(xiàn)BFO 算法和PSO 算法的結(jié)合。利用PSO 算法的公式(9)和(10)簡(jiǎn)化BFO 算法中的位置更新,并把速度的更新與位置的gbest 和pbest 結(jié)合,如此使得BFO 算法在復(fù)制過(guò)程中加速找到最優(yōu)解,增加驅(qū)散過(guò)程中的全局搜索能力,加快追蹤到最優(yōu)目標(biāo)函數(shù)。這里最優(yōu)目標(biāo)函數(shù)就是輸出功率P,其最大值對(duì)應(yīng)的調(diào)制脈沖輸出就是混合算法的輸出。改進(jìn)后的公式如下:
圖4 為算法流程圖。算法的具體步驟如下:
圖4 算法流程
(1)初始化PSO、BFO 各參數(shù);
(2)PSO 算法進(jìn)行全局尋優(yōu),記憶個(gè)體和群體信息,找到pbest 和gbest 并初始化;
(3)細(xì)菌翻轉(zhuǎn)尋找全局最優(yōu),根據(jù)式(11)、(12)更新粒子動(dòng)態(tài),計(jì)算適應(yīng)度函數(shù);
(4)比較細(xì)菌的適應(yīng)度函數(shù)值,當(dāng)前值如果小于上一次的值,則返回步驟(3),進(jìn)行適應(yīng)度函數(shù)更新,否則進(jìn)行復(fù)制操作;
(5)趨化操作循環(huán);
(6)復(fù)制操作循環(huán);
(7)遷移操作循環(huán);
(8)判斷是否達(dá)到最大迭代次數(shù),如果達(dá)到,結(jié)束算法;否則返回步驟(4)。
為了驗(yàn)證PSO-BFO 混合算法的有效性,在Matlab/Simulink 中搭建光伏系統(tǒng)仿真模型。模型采用2×2 的光伏組件和S-Function 模塊,組件參數(shù)為Uoc=44.8 V,Isc=7.2 A,Vm=36 V,Im=5 A。環(huán)境參數(shù)光照強(qiáng)度設(shè)置為S1=1 000 W/m2,溫度為25 ℃。仿真模型如圖5 所示。
圖5 MPPT仿真模型
在模型中采用PSO-BFO 算法進(jìn)行仿真,可得到圖6 所示的仿真結(jié)果。
圖6 PSO-BFO 算法仿真
BFO 算法在具備較強(qiáng)局部搜素能力的同時(shí),加上PSO 算法的全局搜索能力,PSO-BFO 算法大大縮短了搜索時(shí)間,在所建模型中僅用了0.02 s 左右就追蹤到穩(wěn)定全局最大功率點(diǎn)294.6 W,而且搜索震蕩幅度特別小,穩(wěn)態(tài)時(shí)的振蕩幅度僅為±0.19 W 上下。
BFO 算法單獨(dú)作用時(shí),仿真結(jié)果如圖7 所示。在0.17 s 附近搜索到全局最大功率點(diǎn)251.5 W,搜索震蕩幅度較大,穩(wěn)態(tài)時(shí)的振蕩幅度為±3.6 W 上下。
圖7 BFO算法仿真
使用經(jīng)典測(cè)試函數(shù)Rastrigin 函數(shù)對(duì)BFO 算法和PSOBFO 混合算法進(jìn)行尋優(yōu)測(cè)試比較,迭代次數(shù)為5 000 次,維度為30。Rastrigin 函數(shù)表達(dá)式為:
尋優(yōu)效果如圖8 所示。PSO-BFO 算法收斂速度較快且精度較高,而B(niǎo)FO 算法收斂速度較慢且精度較低。在相同迭代次數(shù)下,PSO-BFO 算法用時(shí)0.113 s,而B(niǎo)FO 算法用時(shí)0.695 s,用時(shí)縮短了83.7%。
圖8 尋優(yōu)測(cè)試
再分別用經(jīng)典函數(shù)Rosenbrock 函數(shù)和Griewank 函數(shù)對(duì)兩種算法進(jìn)行尋優(yōu)測(cè)試,三種典型函數(shù)的測(cè)試結(jié)果如表1 所示。經(jīng)過(guò)多次測(cè)試結(jié)果表明,PSO-BFO 算法搜索精度更高,尋優(yōu)速度更快。
表1 兩種算法運(yùn)行最優(yōu)解
本文通過(guò)建立光伏系統(tǒng)模型,基于對(duì)外界環(huán)境導(dǎo)致的對(duì)光伏系統(tǒng)最大輸出功率追蹤出現(xiàn)偏差問(wèn)題的分析,提出了PSO-BFO 混合算法。BFO 算法局部搜索能力較強(qiáng),通過(guò)引入PSO 算法加強(qiáng)BFO 算法的全局搜索能力,增強(qiáng)更新速度,把兩種算法優(yōu)勢(shì)結(jié)合起來(lái),準(zhǔn)確快速地追蹤最大輸出功率。通過(guò)Matlab 進(jìn)行仿真實(shí)驗(yàn),觀察PSO-BFO 混合算法和BFO 算法的仿真尋優(yōu)性能,可以看出在2×2 的光伏陣列模型中,相比于BFO 算法單獨(dú)使用,PSO-BFO 混合算法在尋優(yōu)精度和收斂速度上都優(yōu)于BFO 算法,能夠改善功率損失的情況,而且此算法可以進(jìn)一步推廣到多分布式光伏陣列中使用。