文 | 高尚,鄧英
模型預(yù)測對減緩風(fēng)電機組傳動鏈疲勞載荷的作用
文 | 高尚,鄧英
隨著風(fēng)電機組容量的增大,提高機組風(fēng)能利用效率、降低傳動鏈疲勞載荷、增加機組安全運行可靠性等成為機組主流研究方向。由于自然界的風(fēng)是隨機波動的,機組具有運行范圍寬、隨機擾動大、非線性顯著等特點,機組各部分在周期擾動應(yīng)力作用下,傳動鏈疲勞載荷震蕩明顯,不僅易形成裂紋或斷裂造成安全事故,而且影響發(fā)電效率。PID控制策略只能在特定線性模型工作點周圍有良好的控制效果,且面對擾動調(diào)節(jié)時間長,控制效果不佳。因此,非線性、變參數(shù)的智能化控制策略如模型預(yù)測控制策略受到重視。
在算法分類上,模型預(yù)測控制屬于先進過程控制的范疇,實現(xiàn)過程通常是基于計算機的手段,所以模型預(yù)測控制是一種離散的采樣控制算法,該控制策略的模型可以是傳遞函數(shù)模型、狀態(tài)空間模型、零極點增益模型等,最基本的特點是滾動優(yōu)化,反饋校正。
通過預(yù)測控制算法對風(fēng)電機組變槳距系統(tǒng)進行調(diào)節(jié),可以解決由于電液比例變槳距執(zhí)行機構(gòu)的差動回路設(shè)計和風(fēng)力負(fù)載的單方向性造成槳葉順槳和逆槳時系統(tǒng)模型不一致的問題。而采用基于神經(jīng)網(wǎng)絡(luò)的分段復(fù)合控制方法進行變槳距控制,可以依據(jù)運行工況分別進行模型預(yù)測控制和前饋控制,提高了變距系統(tǒng)的快速響應(yīng)和抗干擾能力。
之前的研究大多沒有結(jié)合實際的運行目標(biāo),也沒有提出優(yōu)化載荷目標(biāo)。本文在前人研究的基礎(chǔ)上,設(shè)計機組模型預(yù)測控制器,并通過聯(lián)合仿真平臺和PID控制器進行對比,驗證其在降低傳動鏈疲勞載荷及減少變槳機構(gòu)動作方面的作用。實驗結(jié)果表明,該控制策略降低了傳動鏈的疲勞載荷。
一、模型預(yù)測控制基本原理
模型預(yù)測的基本原理可以表述為:根據(jù)當(dāng)前預(yù)測模型的狀態(tài)和輸出測量值,對過程輸出的未來進行預(yù)測,然后在線求解一個有限時域內(nèi)的開環(huán)優(yōu)化問題,并將優(yōu)化結(jié)果控制序列的第一個值施加于系統(tǒng)。在下一時刻,更新優(yōu)化問題,重新運行,滾動進行。
由于預(yù)測控制可以采用不同形式的參考模型,考慮到風(fēng)電機組的特殊性,采用基于狀態(tài)空間模型的預(yù)測控制。為了簡單地說明算法模型,假設(shè)系統(tǒng)是一個SISO的系統(tǒng)。
其中:u是輸入變量,y是系統(tǒng)輸出,xm是系統(tǒng)的狀態(tài)變量,假設(shè)維數(shù)為n1,注意系統(tǒng)模型用u(k)來表示輸入。
一般形式的狀態(tài)空間模型表示輸入信號u(k)和輸出信號y(k)的關(guān)系如下形式:
基于模型預(yù)測控制的原則,我們先假設(shè)輸入信號u(k)在同一時刻不能影響輸出信號y(k),在系統(tǒng)模型中選擇Dm=0
將式(1)兩邊取差值,我們得到:
控制量的變化量取為:Δu(k)=u(k)-u(k-1),這些變量都是變量xm(k)和u(k)的增量,經(jīng)過推導(dǎo),狀態(tài)空間的方程的增量為:
注意到此時狀態(tài)空間模型的輸入變量是Δu(k),下一步的推導(dǎo)過程是連接Δxm(k)和y(k),選擇一個新的狀態(tài)變量向量x(k):
將式(5)和式(6)合并起來,得到下列的狀態(tài)空間模型:
其中, om=[0 0 0 0 0],為n1維的零向量,式中新的矩陣成為增廣模型,這個增廣模型是用來設(shè)計預(yù)測控制的控制器。
有了增廣模型后,下面利用增廣模型求取系統(tǒng)的最優(yōu)解。
假設(shè)當(dāng)前時刻是ki,預(yù)測時域是Np,控制時域是Nc,未來的控制軌跡是由這些增量來推導(dǎo):
中x^ ki+m kih是通過當(dāng)前系統(tǒng)的x(ki)在ki+m時刻的預(yù)測狀態(tài)變量值,控制時域NC小于或等于預(yù)測時域NP的值。基于上文求取的增廣狀態(tài)空間模型,未來時刻的狀態(tài)相繼計算如下:
通過輸入求出輸出:
注意到所有的預(yù)測變量都是基于當(dāng)前狀態(tài)變量x(ki)和將來的控制變化量Δu(ki+j):
其中,在單入單出的情況下,Y的維數(shù)是NP,ΔU的維數(shù)是NC,將兩式合并起來得到一個組合矩陣形式如:
設(shè)定一個包括設(shè)定點信息的向量:RST=[1 1 … 1] r(ki),其中[1 1 … 1]是一個NP維的向量。定義目標(biāo)函數(shù)J:
其中:矩陣?T?的維數(shù)是mNC×mNC,權(quán)值矩陣由m個對角陣塊組成,其維數(shù)等于?T?的維數(shù)。雖然優(yōu)化參數(shù)向量ΔU包括Δu(ki),Δu(ki+1),Δu(ki+2),…Δu(ki+NC-1),根據(jù)模型預(yù)測控制的原則,我們只取第一列,其他的元素都忽略。到了下一個采樣時刻,再重新計算,這個過程是實時的。應(yīng)用滾動時域控制原則,在ki時刻ΔU的第一個元素作為增量最優(yōu)控制如下:的第一排元素。
二、模型預(yù)測控制在風(fēng)電機組中的應(yīng)用
風(fēng)電機組是一個非線性多參數(shù)耦合的系統(tǒng),而MPC能夠很好地處理非線性問題,圖1為風(fēng)電機組模型預(yù)測邏輯框圖,圖2為風(fēng)電機組模型預(yù)測整體控制框圖。
預(yù)測模型是模型預(yù)測控制的基礎(chǔ),模型預(yù)測控制是根據(jù)預(yù)測系統(tǒng)在預(yù)測時間內(nèi)的輸出,計算目標(biāo)函數(shù)最后確定控制輸出。論文的研究以2.0MW雙饋機組線性離散狀態(tài)空間模型作為預(yù)測模型。利用Bladed軟件線性模型計算模塊和
后處理模塊,得到狀態(tài)空間參數(shù):
其中:輸入變量有三個分別為風(fēng)速,槳距角位置需求,發(fā)電機轉(zhuǎn)矩需求,輸出變量只有發(fā)電機轉(zhuǎn)速測量值一個。
離散形式的線性風(fēng)電機組狀態(tài)空間模型如式(17)所示:
其中:u(k),x(k),y(k)分別表示系統(tǒng)在k時刻輸入向量,狀態(tài)向量和輸出向量矩陣。
模型預(yù)測控制最大的特點是在實現(xiàn)控制作用過程中的滾動優(yōu)化,滾動實施。在k時刻對系統(tǒng)的輸出進行預(yù)測,得到系統(tǒng)的轉(zhuǎn)速輸出向量序列為:
其中:p為預(yù)測時域。
預(yù)測過程將x(k)作為狀態(tài)變量的起點,預(yù)測輸出的起點是當(dāng)前時刻的轉(zhuǎn)速輸出測量值y(k)。預(yù)測系統(tǒng)未來的動態(tài)輸出,還需要考慮在預(yù)測時域內(nèi)控制輸入量y(k),…u(k+p)。本論文所研究的是額定風(fēng)速以上的變槳模型預(yù)測控制器,因此控制輸入量為槳距角需求β,控制變量槳距角正是需要求解的優(yōu)化問題的獨立變量。論文取預(yù)測時域為10,控制時域為1,即只將預(yù)測的10步控制變量中的第1步施加到系統(tǒng),即將βk作用于系統(tǒng),完成第k步的預(yù)測。仿真間隔取0.1s,即步間時間間隔為0.1s。
風(fēng)電機組模型預(yù)測控制器控制目標(biāo)是在額定風(fēng)速以上出現(xiàn)擾動之后,通過改變控制輸入量β使系統(tǒng)的轉(zhuǎn)速輸出軌跡與額定轉(zhuǎn)速差值最小,為此引入優(yōu)化函數(shù)來表示預(yù)測輸出和期望目標(biāo)之間的累積誤差,優(yōu)化函數(shù)的數(shù)值越小代表控制器的性能越好。
式中:p為預(yù)測時域,ωn為輸出轉(zhuǎn)速的權(quán)值,ωβ為槳距角需求的權(quán)值,ωΔβ為槳距角需求變化量的權(quán)值;eni為輸出轉(zhuǎn)速與轉(zhuǎn)速設(shè)定值在i時刻的差值,eβi為槳距角需求和目標(biāo)設(shè)定值在i時刻的偏差,Δβi為在i時刻槳距角需求的變化量。
風(fēng)電機組在進行最優(yōu)化控制時由于受到機械和設(shè)計等制約會受到各種約束,額定風(fēng)速以上的變槳模型預(yù)測控制應(yīng)滿足:
最優(yōu)控制的問題可以表述為在控制約束的條件下,使懲罰函數(shù)值最小,這就是風(fēng)電機組模型預(yù)測控制的工作原理。
基于模型預(yù)測控制原理,本章利用Matlab模型預(yù)測工具箱設(shè)計控制器,并通過Simulink搭建變槳PI控制器和變槳MPC控制器。由于風(fēng)電機組的非線性和模型失配等原因,設(shè)計了復(fù)合MPC變槳控制器。
一、風(fēng)電機組MPC控制器設(shè)計
本節(jié)建立了基于狀態(tài)空間預(yù)測模型的MPC控制器??刂破鞯臏y量輸出是實際發(fā)電機轉(zhuǎn)速與額定轉(zhuǎn)速的差值,控制變量為槳距角位置需求,將槳距角需求和風(fēng)速作為可測擾動。經(jīng)過參數(shù)調(diào)整和優(yōu)化,得到變槳MPC控制器如圖3。
對搭建好的模型進行仿真并和PI控制器進行對比,為了得到不同風(fēng)速變化下的仿真效果,這里選用兩種風(fēng)速條件:(1)19m/s-20m/s的階躍風(fēng)速(2)平均風(fēng)速為19m/s的湍流風(fēng)。仿真采用相同的風(fēng)電機組線性化模型,相同的采樣時間,在仿真過程中記錄發(fā)電機轉(zhuǎn)速,槳距角的輸出值及轉(zhuǎn)矩的變化。
二、復(fù)合模型預(yù)測控制器設(shè)計
自然界的風(fēng)是隨機波動的,風(fēng)電機組的運行工作點一直在變化,基于單工作點的MPC控制器效果將受到影響。復(fù)合模型預(yù)測即設(shè)計多個工作點的MPC變槳控制器,每個控制器對應(yīng)于一定的運行區(qū)域,保證區(qū)域連續(xù)且不重疊,本文采用三個MPC控制器,分別對應(yīng)于風(fēng)速18m/s,19m/s,20m/s,
為保證控制器能夠連續(xù)的提供控制信號同時不發(fā)生耦合,設(shè)計如圖4的切換機制,切換機制采用風(fēng)速作為判別條件。
風(fēng)電機組控制器設(shè)計的目標(biāo)是改善風(fēng)電機組的運行特性??刂破髟O(shè)計過程中需要多次的參數(shù)修改和仿真,其中最重要的步驟就是仿真驗證控制效果,本文基于GH Bladed、Matlab和Visual studio等軟件設(shè)計聯(lián)合仿真平臺。
軟件平臺的編程是用C++語言編寫的可執(zhí)行文件,利用discon.dll動態(tài)鏈接庫的內(nèi)存共享的方式實現(xiàn)Bladed和平臺之間的通訊,利用Matlab engine引擎實現(xiàn)Simulink和平臺之間的通訊,進而實現(xiàn)軟件的聯(lián)合仿真運行。本文的聯(lián)合仿真軟件平臺中,外部控制器接口文件DLL程序和中間交互平臺程序不涉及控制算法,每次調(diào)用只執(zhí)行數(shù)據(jù)的讀入讀出操作。數(shù)據(jù)的傳輸過程如圖5。
Discon.dll需要按照Bladed軟件接口的規(guī)則進行編寫,實現(xiàn)對Bladed仿真數(shù)據(jù)的讀取和寫入。構(gòu)建好基本的框架后,需要加入內(nèi)存共享的代碼。我們將開辟共享數(shù)據(jù)的程序和Bladed向內(nèi)存中讀寫數(shù)據(jù)的程序同時在discin.dll進行,就實現(xiàn)了Bladed中的數(shù)據(jù)寫入計算機內(nèi)存中,根據(jù)控制器的需要,將數(shù)據(jù)在共享數(shù)組指定位置進行儲存。
數(shù)據(jù)寫入共享內(nèi)存中后,為了實現(xiàn)Bladed和Matlab的通訊,需要編寫中間交互平臺程序來協(xié)調(diào)數(shù)據(jù)通訊。Discon. dll已經(jīng)對共享數(shù)據(jù)進行了編譯,所以平臺程序只要調(diào)用discon.dll,然后進行數(shù)據(jù)的讀寫就可以,在得到數(shù)據(jù)后,調(diào)用Matlab的Engine引擎進行仿真計算,然后將結(jié)果寫入共享內(nèi)存中,供Bladed讀取。
為了獲得MPC控制器的非線性控制效果,本文采用Bladed中2MW機組模型作為風(fēng)電機組非線性模型,在通過GH Bladed、Matlab和Visual stidio搭建的聯(lián)合仿真環(huán)境中仿真得到控制效果如圖6、圖7和圖8。
一、階躍風(fēng)仿真結(jié)果分析
圖6中的三幅圖記錄了階躍風(fēng)擾動下的風(fēng)速,測量發(fā)電機轉(zhuǎn)速、槳距角和轉(zhuǎn)矩的仿真結(jié)果。從圖中可以看出,在階躍風(fēng)速發(fā)生的時刻,發(fā)電機轉(zhuǎn)速和轉(zhuǎn)矩出現(xiàn)了波動,槳距角相應(yīng)的變化對轉(zhuǎn)速和轉(zhuǎn)矩進行控制。PI控制的轉(zhuǎn)矩波動最大值明顯比MPC控制轉(zhuǎn)矩大且震蕩明顯,MPC控制的轉(zhuǎn)矩在10s內(nèi)基本穩(wěn)定,而PI控制器穩(wěn)定時間長,PI控制器發(fā)電機轉(zhuǎn)速和轉(zhuǎn)矩的劇烈變化增大了傳動鏈疲勞載荷。PI控制器對于槳距角需求的控制是震蕩的,而MPC控制器作用下的槳距角是階躍變化的并迅速給定準(zhǔn)確的給定設(shè)定值,降低了槳距角的變化動作量。
二、湍流風(fēng)擾動仿真結(jié)果分析
圖7中的三幅圖記錄了湍流風(fēng)下的風(fēng)速,測量發(fā)電機轉(zhuǎn)速槳距角和轉(zhuǎn)矩的仿真結(jié)果。湍流風(fēng)波動范圍大概在18m/s-20m/s之間。PI控制器控制下的發(fā)電機轉(zhuǎn)速和轉(zhuǎn)矩振幅大且震動頻率高,MPC控制器能將波動控制在很小的范圍內(nèi),降低了傳動鏈的疲勞載荷,采用標(biāo)準(zhǔn)差的方法計算得疲勞載荷降低了62.7%。PI控制器作用下的槳距角需求震動幅值略大于MPC作用下的槳距角需求震動幅值,需要較大的變槳能量,增大了變槳機構(gòu)故障的概率。
圖8中的三幅圖記錄了聯(lián)合仿真環(huán)境中湍流風(fēng)下風(fēng)速、發(fā)電機轉(zhuǎn)速、槳距角需求和發(fā)電機轉(zhuǎn)矩的仿真結(jié)果。湍流風(fēng)在18m/s-20m/s之間,在三個MPC控制器的控制范圍內(nèi)。MPC對于發(fā)電機轉(zhuǎn)速和發(fā)電機轉(zhuǎn)矩的控制效果相對于PI控制器波動小,降低了傳動鏈的疲勞載荷,采用標(biāo)準(zhǔn)差的方法計算的疲勞載荷降低了42.86%,驗證了MPC控制器的非線性控制效果。
(作者單位:華北電力大學(xué))