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