【年度重磅】永磁同步電機的MPC控制
來自專欄 機械/電機/控制學拾遺
剛剛完成自己的碩士畢業論文。先前答應了一個同道,要把自己畢業論文的MPC控制這部分寫成知乎文章貼出來。現在我來執行啦。(關心EMPC的請稍等,我會儘快更新的)
嚴正聲明:本文是基於我個人的畢業論文的部分內容縮寫的。謹供同行朋友們學習參考,本人保有對此文包括知識產權和著作權在內的一切權利。如發現有人抄襲,必將嚴究到底。以及,看過這篇答案沒點贊的朋友們,不用找我問PMSM控制問題了,會被我拖黑的。
預測控制簡單來說到底什麼意思?蘇小蛇Arrogance:Explicit MPC簡介(一) 問題的轉化不用Matlab MPC工具箱怎麼編寫MPC?在開講以前,希望沒有基礎的朋友們可以先好好地看一下我的這幾篇文章,這幾篇文章若有沒有看懂的地方,敬請及時提問。
在先前的內容里,我們簡單介紹了什麼是MPC,如何將MPC轉化成一個二次規劃問題,以及如何將這個過程用MATLAB寫出來。今天我們將介紹如何將以上三點,運用於永磁同步電機(PMSM)的控制中。
首先,我們先寫出PMSM的三個基礎公式:
以及根據這三個公式,我們得出的PMSM的非線性動態方程:
設 ,有
根據線性化公式,對於 , ,有
若將 和 視作常數,令 ,則對於公式(1)有如下線性化過程:
當然,若你能有 的公式的話,完全可以代進去計算。相比於一般的線性化,MPC中的線性化存在這樣的一個問題。將線性化過程中的參考點視作兩個不同的點。在計算 和 時,我們稱該點為穩定點,因為當系統到達該點時,將有 ,系統將不再運動;第二個點我們成為參考點,即計算A和B時所取的 的值。若參考點取在目標轉速上( ),則對系統當前動態函數的計算將會很不準確;而若將穩定點取在當前的測得狀態量上,則系統將不再運動。
為此我畫了四張小圖來進行說明。
請大家忽略德語,我直接從自己的畢業論文里截圖了,Zielpunkt的意思是目標點,Systemdynamik是系統動態方程,Methode是方法,genommene是「採用的」的意思
因此,在PMSM的MPC控制中,線性化公式是這樣構造的:令 ,g下標表示目標,而公式(2)改寫為:
而到這裡為止,就出現了一個問題:PMSM控制中,我們只有目標轉速,那麼所謂的完整的 該如何求得呢?好問題。首先要注意到,目標點必須是均衡點,換言之, ,均衡點的計算與選擇,除非是在極限的滿負荷情況下,否則是有很多不同的criteria的,如MMPV,MMPA等等。這部分就留給大家自己研究了,有問題再個別來找我。
然後講講PMSM的參數約束及其線性化。
如上式所示,PMSM的約束是兩個圓。我們用圓的內接N邊形來擬似它,格式和EMPC-問題的轉化中所提到的相似,寫作:
現在的問題是求這兩個不等式里的A和b。
首先我們作出第一個約束:
然後寫出轉置矩陣:
由 ,我們可以得出整個內接n邊形,其中n任選,越大越精確,但計算量也會隨之增大,效率相對下降,自不多言。
在完成以上計算後, 還得加上第三列,一般我們不會對轉速作什麼約束,所以通常設置為全部是0。如有必要增加約束,請額外增加幾行來寫。
最後簡單介紹一下代價函數的寫法。沒有特殊原因的情況下,通常將 矩陣規定為單位矩陣,然後將 根據需要來設置,以調節電流、電壓和轉速互相之間的權重。在PMSM的問題中,建議將電流的權重設置為最大,而轉速的權重應相較於電流權重為小,因為其本身的絕對值很大。終末約束可設置為與之前相同的一般約束。終末代價函數往大里設置,直到系統穩定,然後可以考慮慢慢往下減。
我自己的論文中,終末代價函數 被我設置為了僅與電角速度相關的函數,而且值取的很大(相對於Q的1000,1000,10和R的1,1相比,P取的是0,0,100000)。預測步長取2-3步足矣,更長的話計算量太大,拖累運行效率。
這是用MPC控制PMSM的一個粗略框架。如閱讀完以後還有更具體的問題,歡迎提出。感謝閱讀。
推薦閱讀: