田 威,張幽彤,李建航
(北京理工大學 清潔車輛實驗室,北京 100081)
永磁同步電機(以下簡稱PMSM)廣泛應用在高精度、高性能的工業場合,這對其速度動態性能提出了更高的要求。電機在運行過程中轉動慣量是恒定的,進行離線辨識即可,然而對于整個電機系統,在不同負載工況下,作用在電機軸上的力發生改變,使電機系統的轉動慣量發生變化,進而導致系統的速度響應特性降低,最終影響整個系統的機械特性[1]。在工業場合的實際應用中,PMSM的轉動慣量要小于異步電機,對外部環境或者工況變化更加敏感,其調速系統受負載慣量的影響更大[2]。因此,準確辨識PMSM系統的轉動慣量值,對提升調速系統的動態性能意義重大[3]。
針對PMSM轉動慣量準確辨識問題,國內外學者進行了大量研究。PMSM轉動慣量辨識方法主要有離線辨識和在線辨識[4]。離線辨識[5-6]是在電機工作前完成對電機參數的測量,其易于實現但是不能實時獲得電機運轉中慣量參數的變化,不適用于對精度與動態性能要求高的工業場合。在線辨識方法[7-8]可以在電機系統運行過程中,實時獲取電機的參數來完成慣量參數辨識,其辨識方法主要有卡爾曼濾波法(EKF)、遞推最小二乘法(RLS)、模型參考自適應法(MRAS)等[9]。文獻[10]使用EKF算法,將慣量值作為狀態變量,通過濾波算法對其進行辨識,其所需數據量較大和計算復雜等問題有待解決;文獻[11]提出利用遺忘因子遞推最小二乘法(以下簡稱FFRLS)來完成轉動慣量的辨識,仿真結果具有較快的收斂速度和辨識精度,但是其遺忘因子值固定,無法保證辨識效果最優;文獻[12]采用基于模型參考的自適應辨識,其辨識精度較高,然而模型中的自適應率需要不斷更換,不具有通用性;文獻[13-14]分別提出了重力搜索算法(GSA)和變步長Adaline 神經網絡算法,這些智能算法雖然對于參數辨識具有較高精度,但是其實現復雜,需要大量的迭代計算或訓練,計算耗時長,無法滿足系統的快速響應要求。
針對以上轉動慣量辨識算法存在的問題以及對算法復雜度和實用性的綜合考慮,本文設計了一種自適應遺忘因子遞推最小二乘算法(以下簡稱A-FFRLS)的轉動慣量辨識方法,在FFRLS算法基礎上,引入模糊控制理論[15]對遺忘因子值進行動態控制,使慣量辨識系統可以根據算法辨識結果與實際值之間的差距自適應調整遺忘因子值,使慣量估計值能夠快速且準確地逼近真實值,從而實現轉動慣量的實時在線辨識。本文通過仿真和實驗,對比了A-FFRLS與FFRLS算法對轉動慣量的辨識結果,證明了所設計的算法在對PMSM進行轉動慣量辨識時,在保證辨識速度的同時,具有更高的穩定性和精度,可為電機的調速控制提供參數依據。
常規的最小二乘算法收斂速度慢,因此為提高收斂速度,需要引入遺忘因子進行數據加權[16],其算法基本步驟如下。
PMSM系統模型定為自回歸模型:
y(k)=φT(k)θ+ξ(k)
(1)
式中:k表示時刻;y(k)為k時刻系統輸出;φT(k)為測量數據向量;θ為實際的參數向量;ξ(k)為噪聲向量。

(2)
加入遺忘因子λ(0<λ<1),系統的目標函數:
(3)
(4)

PMSM機械轉矩平衡方程:
(5)
式中:Te與Tl分別為電機的驅動轉矩和負載轉矩;J為轉動慣量;ωm為機械角速度;B為阻尼常量。
對式(5)進行Laplace變換,以ωm為輸入,以Te-Tl為輸出,系統的傳遞函數:
(6)
通過式(6)可推導出系統帶零階保持器的脈沖傳遞函數:
(7)
式中:Ts為相鄰兩個采樣周期間隔。聯立式(5)和式(7),將電機的機械轉矩平衡方程離散化,可得:

(8)
進一步整理可得:

(9)

當Ts趨近于無窮小時,可得:
(10)
此時,系統可根據角速度ωm和電磁轉矩Te為輸入,依據FFRLS的遞推公式可依次辨識出控制系統的轉動慣量J與負載轉矩Tl。
FFRLS算法中的遺忘因子λ為恒定值,但λ的大小會影響算法的收斂速度和穩定性[17]。隨著λ的增大,穩定性增強,收斂速度減慢,二者呈現出相反的趨勢,常規選固定折中值的方法很難保證全工況條件下的穩定性和收斂速度得到較好的滿足[18]。本文采用模糊控制理論對FFRLS算法進行優化,以解決FFRLS算法中結果收斂速度和穩定性相互矛盾的問題,以下為具體操作方法。

(11)
辨識過程中,|e(k)|越大,參數辨識模型與實際模型間差距越大,λ的值應減小,保證算法快速收斂;|e(k)|越小,參數辨識模型與實際模型間差距越小,λ的值應增大,提高算法的穩定性[19]。

(12)
式中:m為選取殘差的數量;Ts為仿真步長。
綜上,基于模糊控制的遺忘因子在線優化的原理圖如圖1所示。

圖1 基于模糊控制的遺忘因子在線優化


表1 模糊控制規則表
在實際轉動慣量辨識過程中,為減少計算量,提高算法效率,支持算法實用應用,定義λ值的修正周期為仿真步長的α倍,第k時刻的辨識過程如圖2所示。

圖2 第k時刻的辨識算法流程圖
重復執行以上過程,即可實現PMSM系統轉動慣量的在線辨識。
在MATLAB/Simulink中構建表貼式永磁同步電機雙閉環矢量控制系統,仿真電機參數來源于實驗室自研的太陽能賽車用輪轂電機,主要參數如表2所示。圖3為PMSM控制系統轉動慣量辨識框圖,在矢量控制系統基礎上引入A-FFRLS算法,利用電機模型獲得轉速與轉矩參數,完成算法的迭代計算,實現PMSM轉動慣量的辨識。其中,仿真步長Ts=10-5s,仿真工況為太陽能賽車道路行駛最常用工況,轉速800 r/min,負載為20 N·m。考慮到電機實際運行過程中,轉動慣量在不同工況下的變化不明確,因此在仿真過程中以轉動慣量的階躍和漸變兩種工況來驗證算法的有效性。

表2 電機模型參數表
基于圖3的辨識模型,使用不同遺忘因子值的FFRLS算法對轉動慣量進行辨識,對辨識數據的平均誤差和平均方差進行分析,公式如下:

圖3 PMSM控制系統轉動慣量辨識框圖
(13)
(14)

表3為不同遺忘因子值下的辨識結果,結果驗證了FFRLS算法隨著遺忘因子的值增大,辨識速度逐漸降低,辨識結果穩定性逐漸升高。取折中值λ=0.95作為算法的對比對象[19],來驗證A-FFRLS算法的有效性。

表3 不同遺忘因子下轉動慣量辨識結果
PMSM在運行過程中可能出現負載激增,導致被控電機的轉矩發生劇烈變化,此時轉動慣量可能發生階躍變化,因此建立電機在此種情況下轉動慣量發生突增、隨后重新穩定的仿真工況,旨在驗證算法在電機轉動慣量發生突變時的辨識效果。電機轉動慣量參數變化如下:
(15)
圖4和圖5中設置電機轉動慣量在0.2 s處發生突變,將A-FFRLS算法與λ=0.95的FFRLS算法進行對比,通過對比圖4中轉動慣量辨識曲線可發現,兩種算法的收斂速度相差不大,均能在0.004 s之內收斂,但穩定性的差異較大。

圖4 階躍工況轉動慣量仿真辨識結果

圖5 階躍工況遺忘因子變化
參考表4中所計算出兩種算法辨識結果的平均誤差和平均方差可得出結論:在階躍工況下,A-FFRLS算法的誤差和方差都更小、更穩定,曲線更平滑,在保證了收斂速度的同時,有效提高了算法的精度。

表4 階躍工況轉動慣量辨識結果
電機轉動慣量漸變過程模擬的是電機平穩工作時電機內部轉矩等參數連續改變,從而影響轉動慣量值發生連續變化并最終穩定的情況。仿真旨在驗證A-FFRLS算法在電機轉動慣量漸變時的辨識結果。電機轉動慣量參數變化如下式:

(16)
設置電機轉動慣量值在0.1~0.3 s間漸變,將A-FFRLS算法與λ=0.95的FFRLS算法進行對比。通過圖6可發現,兩種算法的收斂速度相近,但穩定性存在較大差異,A-FFRLS算法的曲線波動要小得多。依據表5中計算出兩種算法辨識結果的平均誤差和平均方差,在漸變工況下,A-FFRLS算法相對于固定遺忘因子遞推最小二乘算法辨識結果更加平滑穩定,更加有利于PMSM系統控制的穩定。

圖6 漸變工況轉動慣量辨識結果

圖7 漸變工況遺忘因子變化

表5 漸變工況轉動慣量辨識結果
在以上兩種情況下A-FFRLS算法相對一般的FFRLS算法在保證高收斂速度的同時,其辨識結果的誤差和方差更小,具有更高的穩定性和精度,有效地解決了常規FFRLS算法中結果收斂速度和穩定性相互矛盾的問題,可實現PMSM轉動慣量的實時辨識,為電機的調速控制提供參數依據。
電機測試平臺采用對拖形式搭建,圖8為PMSM實驗測試平臺搭建示意圖,圖9為測試平臺實物圖。硬件主要由加載電機、被測電機、控制器和采集卡等組成,軟件方面以LabVIEW為上位機,通過CAN通信的方式對2臺電機進行控制,使電機能在特定的工況下運行。實驗過程中,采用高精度轉矩儀對實際的負載轉矩與轉速進行測量,并將信號傳遞給采集卡,由采集卡將轉速轉矩值傳遞到上位機,同時將A-FFRLS算法寫入LabVIEW上位機,在上位機上進行算法的迭代計算,從而完成轉動慣量的辨識。

圖8 PMSM實驗測試平臺搭建示意圖

圖9 PMSM實驗測試平臺實物圖
為直觀評估A-FFRLS算法的有效性,設計了負載突變工況作為實驗工況。被測電機為太陽能賽車用輪轂電機,未加負載的情況下,通過電機和聯軸器的尺寸和質量可計算出系統轉動慣量約為0.002 kg·m2,電機的額定工況為轉速800 r/min,額定轉矩20 N·m,在行駛過程中單電機的峰值轉矩能到30 N·m,綜合考慮電機實際使用場景的需求,同時為驗證電機在瞬態工況下算法的辨識能力,實驗中通過CAN信號直接控制轉矩的突變,將電機從空載突變為額定轉矩再突變為峰值轉矩的連續階躍工況作為實驗工況,即選擇轉速800 r/min,0.15 s時轉矩由0突變為20 N·m,0.3 s處再突變為30 N·m,來對比A-FFRLS與FFRLS在負載突變時的辨識速度以及工況穩定后的辨識精度。與仿真不同,在進行實驗測試時,轉動慣量值無法人為設定,只能根據算法來進行辨識,同時由于外部干擾以及上位機實際計算處理能力有限等問題,實際辨識結果與仿真存在一定差異。實際的轉動慣量辨識結果如圖10所示,其遺忘因子值變化如圖11所示。

圖10 實驗轉動慣量辨識結果

圖11 實驗遺忘因子變化
通過圖10和圖11可看出,電機負載分別在0.15 s、0.3 s發生階躍突變時,所對應的遺忘因子值迅速減小,以提高算法收斂速度;當工況穩定后,A-FFRLS算法的遺忘因子值穩定為0.99,符合算法設計的預期效果。電機空載時,兩種算法的轉動慣量辨識值約為0.002 kg·m2,與實際計算出的結果一致,證明了算法的準確性;在負載發生突變的瞬態工況下,A-FFRLS相對于FFRLS算法的辨識速度稍快,在20 ms內辨識值即可達到收斂值。同時負載工況的不同會導致電機系統實際轉動慣量的值發生改變,其辨識值從0.002 kg·m2突變為0.003 9 kg·m2再突變為0.005 3 kg·m2,以此值為標準計算出的兩種算法辨識結果的平均誤差和平均方差,如表6所示。在此種工況下A-FFRLS相對于FFRLS算法辨識平均誤差能夠降低50.2%,平均方差降低42.6%。

表6 實驗轉動慣量辨識結果
綜上可知,在負載發生突變的瞬態工況下,A-FFRLS相對于FFRLS算法的辨識速度稍快;當工況穩定后,A-FFRLS算法的辨識結果更加準確和穩定,辨識曲線更加平滑,證明了本文設計的算法在進行轉動慣量辨識時,解決了FFRLS算法中辨識結果收斂速度和穩定性相互矛盾的問題。在保證辨識速度的同時,具有更高的穩定性和精度,可實現PMSM轉動慣量的實時辨識,為電機的調速控制提供參數依據。
為實現PMSM系統轉動慣量的實時準確辨識,本文在FFRLS的基礎上采用A-FFRLS算法以改善傳統方法存在精度和實時性相矛盾的問題,同時保證了辨識具有良好的精度和實時性。本文在分析常規FFRLS算法優缺點的根本原因后,將FFRLS算法與模糊控制理論相結合,實現了遺忘因子的自適應控制。隨后在MATLAB/Simulink平臺上通過階躍和漸變兩種工況對比分析了A-FFRLS和FFRLS兩種算法的辨識能力,證明了A-FFRLS算法的可行性和有效性。最后在電機測試平臺上,依據電機的實際使用情況設計了負載瞬態突變實驗,對比了兩種算法下的轉動慣量辨識效果。實驗結果表明,在負載發生突變的瞬態工況下,A-FFRLS相對于λ=0.95的FFRLS算法的辨識速度稍快;當工況穩定后,A-FFRLS算法的的辨識結果更加準確和穩定,辨識平均誤差能夠降低50.2%,平均方差降低42.6%,可實現PMSM轉動慣量的實時準確辨識,為電機的調速控制提供參數依據。