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