如何進行電機動態模型的識別
一、為什麼進行系統識別
系統建模有兩種方法:
- 機理分析法(First Principles Modeling),又稱白箱(white-box)建模法:通過物理、化學、生物等學科的相關原理寫書數學模型;
- 辨識法(Identification),又稱黑箱(black-box)建模法,根據測量得到的輸入輸出資料得到模型。
任何一個系統都有一個真實的模型,而且真實系統嚴格來說是非線性且時變的,因此只能用有限維線性時不變系統模型來近似。即便是近似,真實的模型在絕大多情況下通過機理分析法是很難獲得的,即使能夠獲得,一般也及其複雜而無法使用的。在這種情況下,辨識法就成了我們為數不多的選擇,目的是希望得到的模型是複雜度在可接受的範圍內,能夠基本反映真實系統的模型。
二、系統識別的基本思想
假設我們通過那次觀察,測得系統的 輸入 為: ;
測得系統的 輸出 為: ;
假定系統的數學 模型 如下:
其中 為擾動誤差。顯然,該模型的引數向量為
,一個很顯然的想法就是對引數向量 的最佳估計應當是對所有時刻的擾動的平方和最小的一組引數,即
要想取得極值,需要
便可以獲得模型的引數估計值 和 ,這就是辨識法最簡單的基本思想。當然,實際的模型識別要比這複雜一些,但本質沒有變化。
三、如何識別直流電機系統模型
先以簡單的直流電機為例,一個典型的直流電機的數學模型如下:

其中 為力矩係數,
為反電勢係數,
為線圈電感,
為線圈電阻,
為轉子轉動慣量,
為轉子阻尼係數,
為負載,
為轉子速度, 為轉子位置,
為端部電壓,這就是理想直流電機的數學模型,注意這是開環的電機模型。
電壓平衡方程式為:
反電勢方程為:
力矩方程為:
轉子的力矩平衡方程為:
因為 一般比較小,而且電氣時間常數一般遠比機械時間常數小,我們可以忽略電感
,即忽略電氣瞬態過程,這樣在建立狀態方程時就可以減少一個狀態變數
則可以得到直流電機的狀態方程為:
其中狀態變數為電機轉角和轉速:
,
,
因為我們要識別電機模型,負載沒有影響,因此可以假定 恆為零。則狀態方程簡化為;
現在我們要通過模型識別來確定 和 ,模型處理來自Ljung, L. System Identification。
為了確定電機的動態模型,我們可以在開環狀態下施加 隨機的PWM 控制訊號(輸入),然後對 輸出 進行取樣記錄,這樣我們就有了 輸入 、 輸出 以及 模型 三個必要的要素,這個過程要通過試驗來獲得,比如我們獲得的電壓和電機轉角資料如下(資料來自MATHWORKS公司):

電壓和轉速資料如下:

速度一般是通過位置微分得到的,可見速度已經出現一定的噪音。在前面我們建立方程的時候,我們知道:
,
因此我們可以通過電機的基本引數來預估 和 ,我們將預估值帶進狀態方程進行計算,理想氣礦來說,測量值和計算值應該很接近,我們不妨畫出來看一下:

很不幸,由於建模的過程中很難面面俱到,實際通過機理分析得到的模型和實際的物理模型還是有較大的差別的。這時候就要用到我們的模型識別了!——識別的結果見下圖:

可見,電機轉角曲線基本吻合,速度曲線吻合度也非常高!誤差如下:

誤差基本呈白噪音形態,這屬於測量噪音,通過軟體層面(模型識別)是無法消除的,只能提高硬體水平(感測器精度)。值得一提的是,本算例中忽略了電感,當然我們還可以增加電流狀態變數以及電流測量,對電感的影響也加以辨識,情況會複雜一些,感興趣的可以試一下。