潘海鵬, 李明華*, 雷建峰, 林建豪, 江先志
(1.浙江理工大學 機械與自動控制學院, 浙江 杭州 310018;2.浙江騰騰電氣有限公司, 浙江 溫州 325000)
隨著世界科技的發(fā)展,化石能源不斷消耗,能源短缺問題日益嚴重[1-3],環(huán)境污染問題引起世界各國的關(guān)注,研究發(fā)展無污染、可再生的新能源來促進可持續(xù)發(fā)展早已成為全球共識,并被不遺余力地執(zhí)行[4-6]。太陽能是一種取之不盡用之不竭的無污染新能源,目前存在的利用方式主要有4種:光熱利用、太陽能發(fā)電、光化利用和光生物利用。經(jīng)過工業(yè)革命電氣時代的發(fā)展,目前世界的發(fā)展離不開電的應(yīng)用,研究光伏發(fā)電不可或缺。光伏發(fā)電技術(shù)環(huán)保、安全,在全球范圍內(nèi)都得到了廣泛使用[7]。但是單位面積的太陽能電池板光電轉(zhuǎn)換效率低,而太陽能電池板不能做太大,并且太陽能電池板輸出特性沒有標準函數(shù),受光照強度、環(huán)境溫度影響較大,所以提高光電利用效率成為了當前研究的熱點。最大功率點跟蹤技術(shù)(MPPT)可以持續(xù)追蹤太陽能電池板輸出能量的最大功率點,MPPT傳統(tǒng)的算法有恒定電壓法、擾動電壓法和電導增量法等[8-10],諸多學者對這些方法及改進方法進行了分析和仿真研究,但結(jié)果并不理想,仍然存在追蹤精度差、追蹤速度低,及在最大功率點震蕩過大導致功率損失太大的問題。近年來,隨著人工智能、機器學習等優(yōu)化控制算法不斷提出,并逐漸和MPPT算法相關(guān)聯(lián),其中算法的非線性、學習性和智能性不斷優(yōu)化解決了光伏發(fā)電系統(tǒng)的不穩(wěn)定性、不確定性等問題。李天博等[11]提出了總體分布的粒子群算法,將峰值電壓設(shè)置成初始算法,但是因為粒子群算法初始隨機性,該方法還有陷入局部峰值點的風險,且尋優(yōu)過程會造成較大的電壓波動,影響到系統(tǒng)的穩(wěn)定性。商立群等[12]提出了基于全局的自適應(yīng)細菌覓食算法的全局最大功率跟蹤算法。王素寧[13]提出了基于果蠅優(yōu)化算法的多峰值MPPT方案。Padmanaban S等[14]提出了改進的人工蜂群算法,但是收斂速度較慢,局部搜索能力較弱。雖然在仿真中,有些算法表現(xiàn)優(yōu)異,但實際應(yīng)用中缺陷較多,仿真中計算適應(yīng)度可以利用函數(shù)重復計算,但實際應(yīng)用中需要不斷調(diào)節(jié)光伏輸出電壓,引發(fā)頻繁震蕩和采集精度差等問題。
課題組通過對太陽能電池特性及MPPT算法原理進行分析,結(jié)合卡爾曼濾波算法的優(yōu)異濾波能力[15]和粒子群算法簡單的算法結(jié)構(gòu)和良好優(yōu)化性能,提出了一種改進粒子群算法控制的MPPT算法。首先,設(shè)計太陽能充電器作為太陽能控制器實驗平臺,調(diào)試電壓電流雙閉環(huán)模糊控制參數(shù);然后,分析粒子群算法的特性,利用結(jié)合了恒定電壓法、卡爾曼濾波和冒泡排序等算法的改進粒子群算法進行測試,進一步提高了粒子群算法的跟蹤速度和跟蹤精度,保證系統(tǒng)的動態(tài)性能和穩(wěn)定性能。由于太陽能電池板輸出電壓低、電流大,在控制設(shè)備正常運行過程中,如果光照陡然增強或長時間大電流運行,會導致設(shè)備中的晶體管發(fā)熱嚴重,嚴重情況甚至燒毀,所以采用電壓電流雙閉環(huán)的控制方式,可以有效防止電流過大和溫度過高。
太陽能電池等效模型如圖1所示。等效電路中包括1個電流源、1個并聯(lián)二極管、1個并聯(lián)電阻Rsh、1個負載RL以及1個串聯(lián)電阻Rs。
ID為PN結(jié)的正向?qū)娏?,Ish為并聯(lián)電阻Rsh的電流,Ipv為光伏電池正常工作時的電流,對應(yīng)的太陽能電池的特性方程為:
(1)
(2)
(3)
(4)
式中:I0為反向飽和電流,Upv為太陽能電池板的輸出電壓,Isc為太陽能電池短路電流,Ic為標準環(huán)境下單晶短路電流,T為工作環(huán)境溫度,Tb為標準溫度,G為環(huán)境光照強度,q為電子電荷常數(shù),Voc為太陽能電池板開路電壓,n為二極管品質(zhì)因子,K為玻爾茲曼常數(shù),Ego為半導體帶隙能量,Ns為太陽能電池板單晶個數(shù)。
課題組根據(jù)太陽能電池的輸出特性,在Simulink中建立相應(yīng)的仿真模型如圖2所示。其中,開路電壓為40 V,短路電流為10 A,光照強度為1 000 W/m2,溫度為25 ℃。
圖2 太陽能電池Simulink仿真模型
圖3(a)和(b)所示為在理想下即光照強度為1 000 W/m2,溫度為25 ℃時輸出的I-U特性曲線和P-U特性曲線。
圖3 太陽能電池板輸出特性曲線
在光照為 1000 W/m2,溫度分別為90,60,30和0 ℃條件下進行仿真,得出如圖4所示的仿真曲線。從圖4可以看出如果保持環(huán)境中的光照強度不變,溫度越高,太陽能電池板的輸出電流越小,功率越低。
圖4 固定光照強度下不同溫度的輸出特性曲線
在溫度為25 ℃,光照強度分別為1 000,800,600和400 W/m2時進行仿真,得出如圖5所示的仿真曲線。從圖5中可以看出當環(huán)境溫度不變時,光照強度越強,太陽能電池板輸出電流越大,輸出功率越高。
圖5 固定溫度下不同光照的輸出特性曲線
由于環(huán)境變化及信號干擾,處理器通過采集電路采集到的電壓、電流信號不精確,且波動較大,從而影響太陽能充電器的性能。因此需要對數(shù)據(jù)進行濾波,但是課題組所研究的太陽能充電器中,通用的平均、中值等濾波算法難以取得理想的效果;而卡爾曼濾波算法是一種線性濾波器,可以將環(huán)境中的線性高斯噪聲過濾,并且算法結(jié)構(gòu)實現(xiàn)簡單。
卡爾曼濾波算法的原理是由上一個采樣周期中的系統(tǒng)狀態(tài)定義且預估為當前狀態(tài),結(jié)合傳感器采集到的數(shù)據(jù)進行加權(quán)組合,得到系統(tǒng)真實狀態(tài)??柭鼮V波的數(shù)學模型包括2組方程,分別為時間更新和狀態(tài)更新。
時間更新方程:
(5)
(6)
狀態(tài)更新方程:
(7)
(8)
(9)
由于是對采集到的單變量數(shù)據(jù)進行濾波,所以矩陣的維數(shù)是1,通過卡爾曼濾波算法公式編寫濾波算法程序的核心代碼如下:
typedef struct kalman{
s32 Q;
s32 R;
s32 X;
s32 X_;
s32 CP;
s32 CP_;
s32 K;
s32 Z;
}KalmanTypeDef;
void kalman_cal(int*data,KalmanTypeDef*k)
{
k->Z=*data;
//時間更新
k->X_=k->X;
k->CP_=k->CP+k->Q;
//狀態(tài)更新
k->K=_IQ24div(k->CP_,(k->CP_+k->R));
k->X=k->X_+_IQ24mpy(k->K,(k->Z-k->X_));
k->CP=_IQ24mpy((1-k->K),k->CP_);
*data=k->X;
}
粒子群算法(particle swarm optimization algorithm,PSO)是人工智能領(lǐng)域中一種基于群體的優(yōu)化算法,該算法受鳥類覓食活動啟發(fā)。鳥群中的任意一只鳥隨機分布在一定區(qū)域內(nèi),通過計算各自的適應(yīng)度,經(jīng)過比較后可以得出鳥群中的群體最優(yōu)值以及歷次迭代中每只鳥本身的歷史最優(yōu)值,利用這2個最優(yōu)值按照規(guī)則不斷迭代更新鳥群個體的位置,向著最優(yōu)值的方向變動,最終達到系統(tǒng)的最優(yōu)值。假設(shè)鳥類群體中存在N個個體,維度為d,位置向量為S,飛行速度向量為V,則有:
Sd=(s1d,s2d,s3d,…,sNd);
(10)
Vd=(v1d,v2d,v3d,…,vNd)。
(11)
鳥群中每個個體在每次迭代中的速度向量迭代公式為:
(12)
位置迭代公式為:
(13)
式中:Sd為d維粒子群體位置矩陣;Snd為第n個d維粒子位置矩陣;Vd為d維粒子群體速度矩陣;Vnd為第n個d維粒子速度矩陣;ω為上次鳥群個體上次迭代速度的權(quán)重;c1,c2為學習因子,用于調(diào)節(jié)向個體歷史最優(yōu)和全局最優(yōu)的傾向權(quán)重;r1,r2為隨機數(shù),用于調(diào)整學習因子的步長;j為迭代次數(shù);pbest,id為粒子位置的歷史最優(yōu)值;gbest,id粒子位置的為全局最優(yōu)值。
課題組對粒子群算法進行改進,并應(yīng)用在光伏充電器的MPPT控制中,具體措施包括3個部分:
1) 在粒子位置初始化時,結(jié)合固定電壓法將粒子的初始電壓設(shè)置為在太陽能電池板70%~80%開路電壓的等差電壓點,確保最大功率點在初始范圍內(nèi),加快收斂速度。
2) 粒子群算法的各個粒子在每次迭代以后尤其是在最大功率點附近,粒子更新后得到的電壓點電壓順序雜亂。在控制過程中,由于系統(tǒng)采集響應(yīng)較快,且在粒子變換過程中,如果控制的目標電壓波動太頻繁,即使濾波效果再好,也難以采集到正確的電壓及電流。故而課題組提出改進的粒子群算法,在各個粒子每次迭代以后進行冒泡排序,且分別按由大到小和由小到大的順序進行排列,確保在電壓控制過程中粒子不會出現(xiàn)波動頻繁的狀況。
3) 在粒子群算法迭代過程中,大多數(shù)點都能快速跟蹤到最大功率點,但是經(jīng)常會有少數(shù)幾個點距離最大功率點較遠。因此,課題組提出了粒子過濾算法,在粒子群算法的執(zhí)行過程中,通過設(shè)置電壓差和功率差的范圍,將距離最大功率點較遠和功率較低的點過濾掉,在最后更新粒子位置時直接更新粒子的速度和位置。
改進粒子群算法流程如圖6所示。
圖6 改進粒子群算法流程圖
太陽能電池充電器硬件平臺主要包括反激電源電路、同步BUCK整流電路、模擬量信息采樣電路和最小系統(tǒng)電路4個部分,系統(tǒng)結(jié)構(gòu)如圖7所示。
圖7 太陽能充電器硬件結(jié)構(gòu)圖
反激電源將電池輸出通過變壓器轉(zhuǎn)換獲得3組電源分別為VCC、AVCC和VDD-VEE。其中:VCC電壓為5 V,用于系統(tǒng)數(shù)字電路部分;AVCC電壓為15 V,用于負載輸出部分控制;VDD-VEE電壓為±15 V電源作為運放供電和同步BUCK驅(qū)動芯片供電。反激電源結(jié)構(gòu)如圖8所示。
圖8 反激電源結(jié)構(gòu)示意圖
同步BUCK整流電路相對于普通BUCK電路在電流續(xù)流部分采用N型金屬-氧化物-半導體(N-metal-oxide-semiconductor,NMOS)管,相比二極管,NMOS管壓降更小,內(nèi)阻更低,發(fā)熱更少。同步BUCK整流電路如圖9所示。
圖9 同步BUCK整流電路圖
模擬量信息采樣電路包括對蓄電池電壓、太陽能電池板電壓、充電電流和溫度采樣,采用TL074IDR芯片對模擬量進行信號放大或縮小,從而方便處理器進行處理。模擬信號采集電路結(jié)構(gòu)如圖10所示。
圖10 模擬信號采集電路圖
最小系統(tǒng)結(jié)構(gòu)如圖11所示,包括2個芯片:AT24C64和TMS320F28021PIT。AT24C64用于存儲重要參數(shù),方便系統(tǒng)初始化和運行;TMS320F28021PIT為處理器,控制系統(tǒng)的各部分正常工作。
圖11 最小系統(tǒng)部分原理圖
蓄電池的電壓相對于太陽能電池板的電壓更為穩(wěn)定,故課題組以蓄電池電壓為例進行卡爾曼濾波分析。如圖12所示,將采集到的數(shù)據(jù)經(jīng)過卡爾曼1次濾波以后仍有較大波動,但當再次調(diào)用卡爾曼濾波以后,采集到的電壓便非常平穩(wěn),且經(jīng)過和實際電壓的比較基本一致。故本文中的其他模擬量數(shù)據(jù)采集同樣調(diào)用2次卡爾曼濾波算法,確保采集到的數(shù)據(jù)可以正常使用。
圖12 卡爾曼濾波效果
由于實際太陽能電池板受到環(huán)境影響較大且不能觀察到算法的效率,故課題組采用西沃西電子公司的CV600太陽能電池模擬器作為供電源。在實驗環(huán)境、實驗平臺相同,僅MPPT算法不同的條件下,課題組依次對基本粒子群算法以及改進以后的粒子群算法進行了實驗。圖13(a)為采用基本粒子群算法得出太陽能電池板的目標電壓的曲線圖,圖13(b)為采用課題組提出的改進粒子群算法得出的太陽能電池板目標電壓的曲線圖。通過分析對比可以明顯看出,采用課題組提出的改進粒子群算法在收斂速度和收斂精度方面明顯優(yōu)于基本粒子群算法。采用基本粒子群算法,即使在大多數(shù)點趨向于最大功率點時仍然會有較大波動,而采用改進粒子群算法在粒子快速收斂到最大功率點后更加平穩(wěn)。
圖13 對比試驗結(jié)果
課題組結(jié)合所開發(fā)的太陽能電池充電控制器,提出了結(jié)合卡爾曼濾波和改進粒子群算法的MPPT應(yīng)用算法。針對太陽能電池的環(huán)境變化而導致的數(shù)據(jù)波動問題,提出了雙卡爾曼濾波算法對采集到的數(shù)據(jù)進行濾波,得到了非常平穩(wěn)的實時數(shù)據(jù);通過改進粒子群算法,提高了粒子群算法在初始階段的最大功率點初始化時的收斂速度;通過對粒子進行排序,使追蹤精度更加穩(wěn)定;通過濾掉功率過小或電壓差過大的點,減少了電壓的波動,顯著提高了控制穩(wěn)定性??刂茖嶒灲Y(jié)果表明課題組提出的基于卡爾曼濾波和改進粒子群算法的MPPT算法比基本粒子群MPPT算法速度更快、精度跟高。