本發(fā)明屬于光伏發(fā)電技術領域,更為具體地講,涉及一種局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法。
背景技術:
光伏發(fā)電是利用太陽能轉換成電能的一種主要形式,也是可再生能源的重要組成部分,為全球能耗補給做出了突出貢獻。光伏發(fā)電系統的好壞決定于其核心部分——光伏電池的利用效率。經研究表明,只有當光伏電池一直工作在其最大功率點附近,其利用率才能達到最高,從而提高光伏發(fā)電系統的性能。因此許多傳統的光伏最大功率點跟蹤MPPT控制算法得到廣泛地利用,以便跟蹤到光伏電池的最大功率點,并使光伏系統在該點狀態(tài)下工作,從而提高光伏發(fā)電效率。
然而對于光伏電池利用率而言,不僅與其自身結構有關,還與光照強度、環(huán)境溫度等因素有關。特別是當光伏電池受光照強度不均時,會產生局部陰影的效果,從而導致功率出現多個峰值的情況,對于其電能轉換率有很大的影響。而傳統的MPPT控制算法默認只存在一個功率峰值,對于局部陰影下的光伏最大功率跟蹤存在局限性,因此需要提出新的跟蹤方法。
技術實現要素:
本發(fā)明的目的在于克服現有技術的不足,提供一種局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法,建立光伏陣列模型,通過不斷改變光伏陣列模型電壓的初始點進行極值搜索,以準確實現局部陰影下的光伏最大功率跟蹤。
為實現上述發(fā)明目的,本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法包括以下步驟:
S1:建立光伏電池串并聯組成的光伏陣列模型,通過設定相關子模塊中的光照值,模擬實際光伏陣列中的局部陰影情況,將電壓作為光伏陣列模型的輸入,功率作為光伏陣列模型的輸出;
S2:設定梯度法極值搜索的初始電壓v0;
S3:以初始電壓v0作為光伏陣列模型輸入,采用梯度法極值搜索算法進行時長為t+m的極值搜索,記錄時刻t的光伏陣列模型的功率Pt和時刻t+m的功率Pt+m,t和m都是根據實際情況設置的時間參數;梯度法極值搜索算法的具體步驟包括:
S3.1:令系統初始估計電壓
S3.2:將估計電壓與擾動R(t)相加,得到電壓
S3.3:將電壓v輸入光伏陣列模型,得到對應的功率P,通過濾波器濾去不穩(wěn)定的波形,得到穩(wěn)定的功率
S3.4:將功率與擾動Q(t)相乘,得到信號
S3.5:將ΔP經過濾波器得到信號乘以一個常系數K后進行積分,其中K>0,在估計電壓點處尋找到下一個估計迭代點即令返回步驟S3.2;
S4:判斷是否|Pt+m-Pt|<μ,μ表示預設閾值,μ>0,如果是,將Pt+m作為當前極值進行記錄,同時記錄其對應的電壓v,進入步驟S7,否則進入步驟S5;
S5:延長梯度法極值搜索算法的搜索時間,延長的搜索時間為τ+m,τ表示延長時間參數,記錄本次延長搜索時間中時刻τ的功率Pτ和時刻τ+m的功率Pτ+m;
S6:判斷是否|Pτ+m-Pτ|<μ,如果是,將Pτ+m作為當前極值進行記錄,同時記錄其對應的電壓v,進入步驟S7,否則返回步驟S5;
S7:令初始電壓v0=v0+h,返回步驟S3,h表示初始點更新步長;
在步驟S3至步驟S7循環(huán)執(zhí)行期間,對搜索結束參數進行監(jiān)測,一旦達到搜索結束條件,則極值搜索結束,在記錄的所有極值中選擇最大值作為光伏系統的最大功率點,按照其對應的光伏陣列電壓對光伏陣列進行控制。
本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法,建立光伏電池串并聯組成的光伏陣列模型,通過設定光伏陣列相關子模塊中的光照值,模擬實際光伏陣列中的局部陰影情況;給定初始電壓,采用梯度法極值搜索進行預設時間的極值搜索,通過判斷搜索結束時段兩個相近時間點的功率差值來確定是否搜索到局部功率極值,如果搜索到局部功率極值,則更新初始電壓搜索下一個局部功率極值,否則延長搜索時間繼續(xù)搜索該初始電壓對應的局部功率極值。
本發(fā)明針對存在局部陰影的光伏陣列存在多峰極值的情況,提出基于梯度法極值搜索光伏最大功率跟蹤方法,通過改變初始電壓,利用梯度法極值搜索算法搜索出不同初始電壓附近的功率峰值,從而避免陷入到某一個局部峰值,最后通過對多個峰值的比較得到最大峰值,能精確地得到光伏陣列的最大功率點。通過仿真驗證可以發(fā)現,本發(fā)明是一個雙閉環(huán)系統,可以準確搜索到不同輸入初始電壓相對應的極值,搜索速度快,穩(wěn)定性好。
附圖說明
圖1是本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法的具體實施方式流程圖;
圖2是本發(fā)明中梯度法極值搜索算法示意圖;
圖3是本實施例中光伏陣列模型的p-v封裝模塊圖;
圖4是本實施例中p-v封裝模塊內部示意圖;
圖5是光伏陣列模擬局部陰影環(huán)境仿真圖;
圖6是兩峰時光伏陣列I-v曲線圖;
圖7是兩峰時光伏陣列p-v曲線圖;
圖8是兩峰時極值搜索算法下v-t曲線圖;
圖9是兩峰時極值搜索算法下p-t曲線圖;
圖10是三峰時光伏陣列I-v曲線圖;
圖11是三峰時光伏陣列p-v曲線圖;
圖12是三峰時極值搜索算法下v-t曲線圖;
圖13是三峰時極值搜索算法下p-t曲線圖。
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式進行描述,以便本領域的技術人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當已知功能和設計的詳細描述也許會淡化本發(fā)明的主要內容時,這些描述在這里將被忽略。
實施例
圖1是本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法的具體實施方式流程圖。如圖1所示,本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法的具體步驟包括:
S101:建立光伏陣列模型:
首先建立光伏電池串并聯組成的光伏陣列模型,通過設定光伏陣列相關子模塊中的光照值,模擬實際光伏陣列中的局部陰影情況,將電壓作為光伏陣列模型的輸入,功率作為光伏陣列模型的輸出。
S102:設定初始電壓:
設定梯度法極值搜索的初始電壓v0。
S103:梯度法極值搜索:
以初始電壓v0作為光伏陣列模型輸入,采用梯度法極值搜索算法進行時長為t+m的極值搜索,記錄時刻t的光伏陣列模型的功率Pt和時刻t+m的功率Pt+m,t和m都是根據實際情況設置的時間參數。
圖2是本發(fā)明中梯度法極值搜索算法示意圖。如圖2所示,梯度法極值搜索算法的具體過程包括以下步驟:
S201:令系統初始估計電壓即光伏陣列模型電壓
S202:輸入擾動處理:
將估計電壓與擾動R(t)相加,得到電壓
本實施例中采用的擾動表示式為:
R(t)=a(l1cos(W(t))+l2sin(W(t)))=aLTδ(t) (1)
其中,δ(t)=[cos(W(t)),sin(W(t))]T表示布朗單位圓擾動,L=[l1 l2]T是常向量,l1>0,l2>0和a>0是設計參數。
S203:獲取對應功率:
將電壓v輸入光伏陣列模型,得到對應的功率P,通過濾波器濾去不穩(wěn)定的波形,得到穩(wěn)定的功率
S204:功率擾動處理:
將功率與擾動相乘,得到信號
本實施例中擾動Q(t)可表示為:
Q(t)=l1cos(W(t))+l2sin(W(t)) (2)
S205:尋找下一個估計迭代點:
將ΔP經過濾波器得到信號乘以一個常系數K后進行積分,其中K>0,在估計點處尋找到下一個估計迭代點即令返回步驟S202。
S104:判斷是否搜索得到局部極值:
通過比較時刻t的功率Pt和時刻t+m的功率Pt+m的差值是否小于預設閾值即可判定是否搜索得到局部極值,即判斷是否|Pt+m-Pt|<μ,μ表示預設閾值,是一個很小的正數,即μ>0,如果是,將Pt+m作為當前極值進行記錄,同時記錄其對應的電壓v,進入步驟S107,否則進入步驟S104。顯然,m是一個較短的時間間隔。
S105:延長搜索時間:
如果還未搜索到當前初始點v0對應的極值,則需要延長梯度法極值搜索算法的搜索時間,延長的搜索時間為τ+m,τ表示延長時間參數,記錄本次延長搜索時間中時刻τ的功率Pτ和時刻τ+m的功率Pτ+m。
S106:判斷延長搜索是否搜索得到局部極值:
與步驟S104類似,通過比較延長搜索時間中時刻τ的功率Pτ和時刻τ+m的功率Pτ+m的差值是否小于預設閾值即可判定是否搜索得到局部極值,即判斷是否|Pτ+m-Pτ|<μ,如果是,將Pτ+m作為當前極值進行記錄,同時記錄其對應的輸入電壓v,進入步驟S107,否則返回步驟S105。
可見,如果從以初始電壓v0作為梯度法極值搜索的初始輸入開始計時,首先會進行時長為t+m的極值搜索,如果搜索不到極值,還會繼續(xù)進行時長τ+m的極值搜索,以此類推,每次延長時長為τ+m的搜索,一直搜索下去。
S107:更新初始電壓:
令初始電壓v0=v0+h,返回步驟S103,h表示初始點更新步長,是根據實際情況來設置的。
可見,步驟S103至步驟S107形成了一個循環(huán),持續(xù)搜索得到系統的各個極值。在步驟S103至步驟S107循環(huán)執(zhí)行期間,對搜索結束參數進行監(jiān)測,一旦達到搜索結束條件,則極值搜索結束,在記錄的所有極值中選擇最大值作為光伏系統的最大功率點,按照其對應的光伏陣列電壓對光伏陣列進行控制。
一般來說,搜索結束參數可以設置為兩種,一種是多峰極值搜索方法的總體運行時間,即采用一個計時器來記錄多峰極值搜索方法的總體運行時間,當總體運行時間達到預設閾值,則多峰極值搜索結束;一種是當前初始點的值,即如果初始點v0超出預設范圍,則多峰極值搜索結束。用戶可以根據實際系統的情況來選擇采用哪種搜索結束條件進行判定。
為了說明本發(fā)明的可行性和正確性,下面分別通過理論推導和仿真驗證兩種方式來對本發(fā)明的技術方案進行分析說明。
本發(fā)明在對每個初始輸入電壓進行最大功率點搜索時,采用的是梯度法極值搜索算法,該方法對于一個給定的初始電壓,能通過不斷的迭代進行自閉環(huán)循環(huán),從而搜索到給定初始電壓附近的功率峰值,其證明的具體過程如下。
對于光伏系統可以簡化為如下方程:
其中上標圓點表示求導,P是光伏系統的功率。
定義u=η(x,v),v∈R,v是光伏系統的電壓,所以系統方程可以表示為:
其存在極值點,當有以下假設成立:
假設1:存在函數r:R→Rm,使得當且僅當x=r(v)時,f(x,η(x,v))=0成立;
假設2:對于任意的v∈R,系統(4)的平衡點x=r(v)是以指數形式收斂穩(wěn)定的。
假設3:存在v*∈R使得以下式子成立:
其中,gor是二階連續(xù)可微函數。
因此假設功率P=g(r(v))在v=v*處有局部極值。
根據圖2所示的基于梯度法的極值搜索方法可知其系統方程如下:
其中,h1>0,h2>0,分別為濾波器參數,s表示拉普拉斯算子。
定義誤差變量:可以得到:
定義χ(t)=W(σt),σ表示時間尺度變量,可得系統方程:
其中下標r用于對式(8)和式(10)中的相同變量進行區(qū)分。
根據假設3,有:
l(0)=0,
將系統(10)均值化后得到均值化系統方程為:
其中θ=t/σ,且系統(12)的平衡點滿足:
假設的形式滿足定義帶入平衡點所滿足的公式有:
可得參數:因此
由此可以得到:
綜上,系統(12)的平衡點為:
求解出系統(12)的雅可比矩陣后,將式(15)所示的平衡點帶入矩陣,可得:
將通過行變換為下三角矩陣,有:
由霍爾維茨判據可知,若穩(wěn)定則需要由泰勒展開式可得且已知H<0,K,a,因此中的參數a是一個非常小的值,所以系統(12)可以穩(wěn)定收斂到平衡點處。至此證明了對任意一個給定的初始點,可以通過梯度法極值搜索算法穩(wěn)定的搜索到其附近的極值。
本發(fā)明局部陰影下基于梯度法極值搜索的光伏最大功率跟蹤方法通過比較兩個相近時間點功率的差值是否小于一閥值來判斷是否搜索到該初始電壓附近的功率峰值,若搜索到,則將初始電壓每次增加h后作為新的初始電壓。通過更新初始電壓的值,實現對多個功率峰值的搜索,通過對多個功率峰值的比較得到最大峰值,從而精確地得到存在多個功率峰值的光伏陣列最大功率點,實現最大功率跟蹤。
為了證明本發(fā)明的技術效果,采用一個具體的光伏系統進行了仿真驗證。本實施例中為了建立光伏陣列的實用仿真模型,在Matlab軟件的Simulink環(huán)境下,采用賽維LDK光伏組件建立光伏電池串并聯組成的光伏陣列模型。圖3是本實施例中光伏陣列模型的p-v封裝模塊圖。如圖3所示,PV模塊輸入的T表示實時的環(huán)境溫度,S表示實時的光照強度。本次仿真驗證中,可以根據光伏電池生產廠商為用戶提供在標準測試條件STC下的短路電流Isc、開路電壓Uoc、最大功率Pm、最大功率點電壓Um、最大功率點電流Im,來建立仿真模型。圖4是本實施例中p-v封裝模塊內部示意圖。如圖4所示,設置光伏系統參數為:Um=37.9,Im=5.16,Uoc=45.3,Isc=5.54。圖5是光伏陣列模擬局部陰影環(huán)境仿真圖。如圖5所示,光伏陣列由六塊PV模塊通過串并聯的形式組成,同時為了在光伏發(fā)電中盡量避免錯配現象,抑制熱斑效應,在每個光伏組件中都增加了旁路二極管和阻塞二極管,達到減少光伏組件間錯配現象帶來能耗損失的目的,但因為二極管的加入增加了光伏陣列輸出特性的復雜度,會使得p-v曲線出現多峰值的情況,從而復雜化了全局最大功率點的搜尋。
本實施例中通過改變部分PV模塊的光照S值,來模擬光伏電池局部陰影的環(huán)境,使得光伏陣列出現多峰的情況。將T統一設置為25,首先將光照S分別設置為200lux和1000lux。圖6是兩峰時光伏陣列I-v曲線圖。如圖6所示,由于設置了兩種不同的光照值,其I-v圖有兩個階梯。圖7是兩峰時光伏陣列p-v曲線圖。如圖7所示,其p-v圖有兩個峰值,第一個峰值的電壓約為78.88,對應功率約為819.22,第二個峰值的電壓約為114.28,對應功率約為710.56。
采用本發(fā)明方法對以上光伏系統的光伏陣列模型進行功率峰值搜索,其中各參數設置如下:初始電壓v0=10,初始值更新步長h=20,搜索時間參數t=20,m=1,延長時間參數τ=6,局部極值的判斷閾值μ=0.4,搜索結束條件采用搜索的總體運行時間t總=100。
圖8是兩峰時極值搜索算法下v-t曲線圖。圖9是兩峰時極值搜索算法下p-t曲線圖。由圖8可知,當初始電壓設定在10、30、50時,其搜索到的功率峰值對應的電壓值均在78.10左右,當初始電壓設定在70時,其搜索到功率峰值對應的電壓值在115.31左右。而相對應的功率值如圖8所示,當初始電壓設定在10、30、50時,其搜索到的功率峰值均在814.51左右,當初始電壓設定在70時,其搜索到的功率峰值在711.97左右。由圖8和圖9的結果可知,運用本發(fā)明方法針對光伏陣列模塊可以搜索到兩個峰值,第一個峰值對應的電壓約為78.10,對應功率約為814.51,第二個峰值對應的電壓約為115.31,對應功率約為711.97。表1是兩峰值數據分析表。
表1
由表1可知,運用本發(fā)明方法對光伏陣列模塊搜索的結果與其本身仿真結果的誤差在1%以內,說明本發(fā)明方法可以準確的搜索到光伏陣列模塊的各個功率峰值,通過比較各功率峰值的大小,即可確定全局最大功率峰值。
為進一步說明本發(fā)明方法的可行性,在光伏陣列數學模型中設置三種不同的光照值,分別為500lux,100lux和800lux。圖10是三峰時光伏陣列I-v曲線圖。如圖10所示,由于設置了三種不同的光照值,其I-v圖有三個階梯。圖11是三峰時光伏陣列p-v曲線圖。如圖11所示,其p-v圖有三個功率峰值,第一個峰值對應的電壓約為38.96,對應功率約為354.54,第二個峰值對應的電壓約為75.53,對應功率約為611.66,第三個峰值對應的電壓約為112.98,對應功率約為646.16。
同樣地,采用本發(fā)明方法對以上光伏系統的光伏陣列模型進行功率峰值搜索,其中各參數設置如下:初始電壓v0=2,初始值更新步長h=40,搜索時間參數t=30,m=1,延長時間參數τ=6,局部極值的判斷閾值μ=0.2,搜索結束條件采用搜索的總體運行時間t總=100。
圖12是三峰時極值搜索算法下v-t曲線圖。圖13是三峰時極值搜索算法下p-t曲線圖。由圖12可知,當初始電壓設定在2時,其搜索到功率峰值對應的電壓值在38.59左右,當初始電壓設定在42時,其搜索到的功率峰值對應的電壓值在74.57左右,當初始電壓設定在82時,其搜索到的功率峰值對應的電壓值在113.36左右。而相對應的功率值如圖12所示,當初始電壓設定在2時,其搜索到的功率值在355.68左右,當初始電壓設定在42時,其搜索到的功率值在608.57左右,當初始電壓設定在82時,其搜索到的功率值在646.46左右。由圖12和圖13的結果可知,運用本發(fā)明方法針對上述光伏陣列模塊可以搜索到三個功率峰值,第一個峰值對應的電壓約為38.59,對應功率約為355.68,第二個峰值對應的電壓約為74.57,對應功率約為608.57,第三個峰值對應的電壓約為113.36,對應功率約為646.46。表2是三峰值數據分析表。
表2
由表2可知,運用本發(fā)明方法對光伏陣列模塊搜索的結果與其本身仿真結果的誤差在2%以內,進一步說明了本發(fā)明方法可以準確的搜索到光伏陣列模塊的各個功率峰值,通過比較各功率峰值的大小,即可確定全局最大功率峰值。
盡管上面對本發(fā)明說明性的具體實施方式進行了描述,以便于本技術領域的技術人員理解本發(fā)明,但應該清楚,本發(fā)明不限于具體實施方式的范圍,對本技術領域的普通技術人員來講,只要各種變化在所附的權利要求限定和確定的本發(fā)明的精神和范圍內,這些變化是顯而易見的,一切利用本發(fā)明構思的發(fā)明創(chuàng)造均在保護之列。