馬相如,楊澤斌
(1.國網(wǎng)漣水縣供電公司,淮安 223400;2. 江蘇大學(xué) 電氣信息工程學(xué)院,鎮(zhèn)江 212013)
無刷直流電動機(以下簡稱BLDCM)的傳統(tǒng)位置傳感器控制方法,增加了硬件成本和體積,且位置傳感器易受電磁信號、粉塵等干擾,使得控制性能下降。目前BLDCM常用的無位置傳感器控制方法包括反電動勢法、磁鏈觀測法、續(xù)流二極管導(dǎo)通檢測法、擴展卡爾曼濾波法等,其中擴展卡爾曼濾波法是卡爾曼濾波在非線性系統(tǒng)中的擴展,其利用較容易獲得的電壓、電流信號,結(jié)合BLDCM狀態(tài)方程,實現(xiàn)對轉(zhuǎn)子位置和轉(zhuǎn)速信號的觀測,具有魯棒性好、調(diào)速范圍寬等優(yōu)點,是目前BLDCM無位置傳感器控制研究的熱點。但是這種方法是通過泰勒展開式逼近非線性函數(shù),由于僅保留到一階精度,觀測到的轉(zhuǎn)速和轉(zhuǎn)子位置信號誤差較大[1-2]。
為了提高擴展卡爾曼濾波器觀測的精度,本文提出了一種改進的無跡卡爾曼濾波(以下簡稱UKF)算法,相較于擴展卡爾曼濾波算法,可有效提升估算精度。UKF沒有忽略高階項,最低可達到非線性函數(shù)的二階精度,因此具有更高的估算精度。本文將其應(yīng)用于BLDCM轉(zhuǎn)速和轉(zhuǎn)子位置觀測中,實現(xiàn)了BLDCM無傳感器控制[3-4],仿真和實驗結(jié)果證實了理論分析的正確性。
本文的BLDCM為三相星形連接,采用全橋逆變器驅(qū)動、兩兩導(dǎo)通方式,其連接示意圖如圖1所示。
圖1 BLDCM連接示意圖
理想情況下,BLDCM電壓方程如下:
(1)
式中:ua、ub、uc,ia、ib、ic,ea、eb、ec分別為定子繞組相電壓,相電流,反電動勢;R、L、M分別為每相繞組電阻、自感和相間互感。
BLDCM電磁轉(zhuǎn)矩方程如下:
(2)
式中:ω是角速度。
BLDCM運動方程如下:
(3)
式中:J、Bv、Tl分別為轉(zhuǎn)動慣量、摩擦系數(shù)和負載轉(zhuǎn)矩。
卡爾曼濾波器結(jié)構(gòu)如圖2所示,其采用遞歸方法在考慮外部干擾的情況下仍然能夠獲得最優(yōu)估測值,并且便于數(shù)字化實現(xiàn),在導(dǎo)航制導(dǎo)、信號處理等領(lǐng)域應(yīng)用廣泛。
圖2 卡爾曼濾波器系統(tǒng)結(jié)構(gòu)圖
卡爾曼濾波器工作原理如下:控制系統(tǒng)的狀態(tài)變量同時輸入至系統(tǒng)模型和卡爾曼濾波器模型,系統(tǒng)模型估測值與卡爾曼濾波器模型估測值作差后,由卡爾曼濾波器模型估測出最優(yōu)值,再將其反饋至卡爾曼濾波器模型,通過不斷遞推與迭代,最終估計值收斂于接近真實值的范圍。
系統(tǒng)的狀態(tài)方程和量測方程如下:
(4)
式中:x(k)為系統(tǒng)狀態(tài)向量;Φ(k+1,k)為轉(zhuǎn)移矩陣;H(k)為測量矩陣;w(k)和v(k)分別為系統(tǒng)本身和測量過程中的干擾信號。
w(k)和v(k)的統(tǒng)計特性如下:
(5)
系統(tǒng)初值的統(tǒng)計特性如下:
(6)
(7)
根據(jù)上面的結(jié)果求出卡爾曼濾波增益Kk:
(8)
(9)
最后計算迭代過程所用最優(yōu)估測方差矩陣Pk:
Pk=Pk/k-1-KkHkPk/k-1
以上的卡爾曼濾波算法分析是基于線性模型,而實際系統(tǒng)多為非線性模型,為了彌補卡爾曼濾波算法不適應(yīng)非線性系統(tǒng)的缺陷,提出擴展卡爾曼濾波算法(以下簡稱EKF),先對非線性系統(tǒng)線性化變換,再作離散化處理。然而,傳統(tǒng)EKF方法在對非線性系統(tǒng)方程進行線性化處理時,只具有泰勒級數(shù)的一階精度,導(dǎo)致誤差較大。在實際應(yīng)用中,需要對EKF方法進一步優(yōu)化。以確定性采樣為思路,Julier等學(xué)者進一步將無跡變換與EKF算法相結(jié)合,提出了UKF算法,它具有更高的估測精度。
對于任意非線性系統(tǒng),其非線性函數(shù)可用下式表示:
y=f(x)
(10)
無跡變換[5-6]過程如下:
首先,選取合適的Sigma點χi,實際選擇過程中可參考下式:
(11)
其次,對2n+1個Sigma點作非線性傳播,如下:
yi=f(χi) (i=0,…,2n)
(12)
計算可得:
(13)
UKF算法主要利用比例無跡變換替換EKF算法中的雅克比矩陣,從而實現(xiàn)非線性系統(tǒng)的線性化變換,其遞推過程主要包括4個步驟[7-8]。假設(shè)存在某非線性系統(tǒng),離散化表示如下式:
(14)
式中:xk代表系統(tǒng)狀態(tài)向量;uk代表輸入向量;σk、μk代表相互獨立的高斯白噪聲,且滿足下式關(guān)系:
(15)
第一步初始化。計算初始狀態(tài)統(tǒng)計特性如下式:
(16)
(17)
第二步采樣。根據(jù)Sigma點的選取規(guī)則,取2n+1個Sigma點,并計算其權(quán)值:
(18)
第三步時間更新。利用非線性狀態(tài)函數(shù)f(·)對采樣中所得Sigma點作非線性傳播,如下:
(19)
進而可得:
(20)
(21)
(22)
式中:α值通常在0.000 1~1內(nèi),β值通常等于2。
(23)
(24)
(25)
(26)
進一步可得:
(27)
式中:Kk代表濾波增益矩陣。
根據(jù)新的測量yk即可進行量測更新:
(28)
(29)
BLDCM非線性數(shù)學(xué)模型如下:
(30)
式中:x(t)代表狀態(tài)變量;u(t)、y(t)分別代表輸入、輸出變量;δ(t)代表系統(tǒng)擾動、轉(zhuǎn)速波動、參數(shù)誤差等所有系統(tǒng)噪聲;μ(t)代表測量噪聲。
各變量方程如下:
為了將本文研究的UKF算法運用到BLDCM控制中,需進一步對BLDCM系統(tǒng)方程作離散化處理,結(jié)果如下:
(31)
根據(jù)上式,結(jié)合前文分析的UKF原理,可得基于UKF算法的BLDCM無傳感器算法實現(xiàn)流程,如圖3所示[9-10]。
圖3 UKF算法實現(xiàn)流程圖
進一步可得BLDCM基于UKF算法的無位置傳感器、雙閉環(huán)控制結(jié)構(gòu)框圖[11-12],如圖4所示。
圖4 BLDCM基于UKF算法的雙閉環(huán)控制
控制系統(tǒng)采用無跡卡爾曼濾波器觀測得出轉(zhuǎn)速和轉(zhuǎn)子位置信號,并將其應(yīng)用于BLDCM轉(zhuǎn)速、電流雙閉環(huán)控制中。
利用MATLAB軟件自帶的S函數(shù)功能模塊編寫UKF算法,并嵌入到模型中,搭建MATLAB仿真模型,BLDCM仿真參數(shù)如表1所示。
表1 仿真參數(shù)
針對不同轉(zhuǎn)速、轉(zhuǎn)速發(fā)生突變、負載發(fā)生擾動三種情況進行仿真。
當(dāng)BLDCM給定轉(zhuǎn)速分別為2 000 r/min和200 r/min時,UKF觀測與實際測量的轉(zhuǎn)速和轉(zhuǎn)子位置分別如圖5、圖6所示。需要說明的是UKF算法得到的轉(zhuǎn)子位置信號是連續(xù)的角度,在BLDCM驅(qū)動控制中還需要對其進行轉(zhuǎn)換,轉(zhuǎn)換原理如圖7所示。
圖5 給定轉(zhuǎn)速為2 000 r/min時仿真結(jié)果
圖6 給定轉(zhuǎn)速為200 r/min時仿真結(jié)果
圖7 UKF算法獲取轉(zhuǎn)子位置轉(zhuǎn)換原理
由圖5、圖6可見,高、低速情況下UKF觀測與實際測量的轉(zhuǎn)速和轉(zhuǎn)子位置之間誤差較小,且高速時的觀測精度優(yōu)于低速情況。
初始狀態(tài)下BLDCM給定轉(zhuǎn)速為1 500 r/min,0.1 s時轉(zhuǎn)速突增至2 000 r/min,UKF觀測與實際測量的轉(zhuǎn)速和轉(zhuǎn)子位置如圖8所示。
圖8 轉(zhuǎn)速發(fā)生突變時的仿真結(jié)果
由圖8可見,轉(zhuǎn)速發(fā)生突變時UKF觀測器仍能夠準確觀測轉(zhuǎn)速和轉(zhuǎn)子位置,觀測精度較高,與實際測量值之間誤差較小,動態(tài)觀測效果良好。
初始狀態(tài)下負載轉(zhuǎn)矩為0.66 N·m,0.1 s時負載轉(zhuǎn)矩開始增大,0.15 s時達到最大值0.96 N·m,之后逐漸恢復(fù)至0.66 N·m,UKF觀測與實際測量的轉(zhuǎn)速和轉(zhuǎn)子位置如圖9所示。
圖9 負載發(fā)生擾動時的仿真結(jié)果
由圖9可見,當(dāng)負載轉(zhuǎn)矩發(fā)生擾動時,UKF算法仍然能夠準確觀測轉(zhuǎn)速和轉(zhuǎn)子位置,具有較好的抗負載擾動能力。可見,UKF算法可以實現(xiàn)BLDCM高、低速無位置傳感器控制,且在轉(zhuǎn)速發(fā)生突變、負載發(fā)生擾動等情況下,仍然能夠準確觀測轉(zhuǎn)速和轉(zhuǎn)子位置,具有較好的動、靜態(tài)性能及觀測精度。
為進一步驗證理論分析的正確性,基于DSP28335+FPGA的控制器結(jié)構(gòu)進行實驗驗證,實驗現(xiàn)場接線如圖10所示。
圖10 實驗接線圖
實驗主程序、定時器中斷子程序及捕獲單元中斷子程序流程圖如圖11所示。
實驗所用BLDCM參數(shù)與仿真參數(shù)一致,BLDCM空載起動過程中電壓、電流波形如圖12所示。
由圖12可見,由于電機電感、換相及小功率BLDCM齒槽效應(yīng)等原因,空載狀態(tài)下電流波形并不是理想的方波。
圖11 程序流程圖
圖12 BLDCM電壓、電流波形
為了比較UKF估測的轉(zhuǎn)子位置與實際轉(zhuǎn)子位置間差異,本文同時采用霍爾傳感器進行實測。然而霍爾傳感器輸出信號并不是連續(xù)的角度,而UKF輸出信號是連續(xù)的角度,難以直接對比。因此,本文按照圖7的霍爾傳感器輸出脈沖信號與轉(zhuǎn)子位置之間關(guān)系對UKF輸出結(jié)果進行轉(zhuǎn)換。
當(dāng)BLDCM轉(zhuǎn)速分別為200 r/min、2 000 r/min時,霍爾傳感器實測轉(zhuǎn)子位置信號與UKF觀測轉(zhuǎn)子位置信號轉(zhuǎn)換后波形如圖13所示。
圖13 轉(zhuǎn)子位置測量結(jié)果
由圖13可見,無論BLDCM工作在高速或者低速狀態(tài),UKF算法觀測的轉(zhuǎn)子位置與霍爾位置傳感器測量結(jié)果基本一致,二者之間誤差較小,可見UKF算法具有較高的轉(zhuǎn)子位置觀測精度。
在DSP28335中UKF觀測的轉(zhuǎn)速信號和實際轉(zhuǎn)速信號均為數(shù)字量,若采用示波器顯示,則需要將其轉(zhuǎn)化成模擬信號,而在數(shù)模轉(zhuǎn)換過程中會受到噪聲干擾等產(chǎn)生誤差,影響判斷結(jié)果。為了避免此問題,本文將UKF觀測的轉(zhuǎn)速和實際轉(zhuǎn)速分別存放在兩個變量中,再通過MATLAB繪制出來進行分析。
當(dāng)BLDCM給定轉(zhuǎn)速分別為2 000 r/min、200 r/min時,UKF觀測轉(zhuǎn)速與實際轉(zhuǎn)速如圖14所示,由于轉(zhuǎn)速是根據(jù)CCS中數(shù)組變量繪制而來,圖中橫坐標是數(shù)組變量的下標值。
圖14 實際轉(zhuǎn)速與UFK觀測轉(zhuǎn)速
由圖14可見,在高、低速情況下BLDCM起動初期UKF算法觀測轉(zhuǎn)速與實際轉(zhuǎn)速之間存在一定誤差,經(jīng)過短暫收斂后,轉(zhuǎn)速趨于穩(wěn)定,UKF算法觀測轉(zhuǎn)速與實測轉(zhuǎn)速基本一致,誤差較小。
當(dāng)給定轉(zhuǎn)速由1 000 r/min增至2 000 r/min時,UKF觀測轉(zhuǎn)速與實際轉(zhuǎn)速如圖15所示。
圖15 轉(zhuǎn)速突變時實際轉(zhuǎn)速與測量轉(zhuǎn)速
由圖15可見,當(dāng)給定轉(zhuǎn)速參考值發(fā)生突變時,UKF算法仍可以準確跟蹤并觀測轉(zhuǎn)速,且與實際測量值之間誤差較小。
由以上實驗結(jié)果可見,基于UKF算法的BLDCM無位置傳感器控制方法具有良好的動、靜態(tài)性能,能夠有效提高BLDCM轉(zhuǎn)速、轉(zhuǎn)子位置的觀測精度,具有一定的推廣應(yīng)用價值。
針對擴展卡爾曼濾波器算法觀測精度不夠高的問題,本文提出了一種改進的UKF算法。相較于EKF算法,UKF算法可有效提升估算精度,將其應(yīng)用于BLDCM無位置傳感器控制中,理論證明UKF算法至少可以達到非線性函數(shù)的二階精度。仿真和實驗結(jié)果表明,UKF算法在BLDCM高、低速運行情況下,均可以準確觀測轉(zhuǎn)速和轉(zhuǎn)子位置,并且在轉(zhuǎn)速、負載轉(zhuǎn)矩發(fā)生突變時,仍然能夠準確跟蹤觀測,具有較好的動、靜態(tài)性能和觀測精度。