汪兆巍,武志剛(華南理工大學 電力學院,廣東 廣州 510641)
電機是根據(jù)電磁感應原理工作的機器,隨著生產(chǎn)的發(fā)展,電機的發(fā)展反過來促進了社會生產(chǎn)力的不斷提高。隨著自動化技術的發(fā)展,電機也有了相當大的改進。由于控制系統(tǒng)和計算機技術的發(fā)展,許多類型的控制電機都是基于通用旋轉電機的理論而開發(fā)的。電機控制具有很高的可靠性和準確性。作為最關鍵的機電能量轉換設備,電機已應用于國民經(jīng)濟和人們?nèi)粘I畹母鱾€領域。
在電氣時代,電機的速度控制一般采用模擬方法,并且多數(shù)是簡單控制方法。簡單的控制包括電機的啟動、制動、正向和反向控制以及順序控制。近年來,隨著技術的發(fā)展和進步,以及市場對產(chǎn)品功能和性能的要求不斷提高,同步電機的應用越來越廣泛,特別在智能化領域更是如此。永磁同步電機由于具有功率密度高、效率高、可靠性高、結構簡單、體積小、重量輕等特點,可以滿足高性能系統(tǒng)的要求。近年來永磁材料的價格下降,使其成為電機系統(tǒng)節(jié)能的首選。
電機的參數(shù)易受溫度影響,其中轉子電感易受磁路飽和的影響,導致電機的參數(shù)經(jīng)常改變。此外,對電機進行理想化速度控制時,需要對電機進行建模。在矢量控制系統(tǒng)中,由于電機運行過程中的溫度變化和磁路飽和,電機的定子和轉子參數(shù)不再保持恒定,這都導致參數(shù)隨而時間變化。為了獲得出色的動態(tài)特性,必須實時識別電機參數(shù)。
目前常用的方法有最小二乘法、頻域響應法、卡爾曼濾波法、模型參考自適應法、人工智能算法等。最小二乘法具有收斂速度快、辨識精度高、動態(tài)響應好等優(yōu)勢,但存在收斂速度與辨識穩(wěn)定性相矛盾的問題[1-5]。頻域響應法將采樣數(shù)據(jù)導入計算機后,經(jīng)過一系列的軟件處理程序可以有效辨識出對應參數(shù);但該方法對輸入信號的要求極高,并且無法反映動態(tài)過程中的非線性[6]??柭鼮V波法則是將電機受擾動過程看作一個動態(tài)過程,利用擾動的統(tǒng)計特性將擾動信號濾出去,最終得到有用信號[7],可適用于非線性系統(tǒng)的離線和在線計算;但必須保證待辨識參數(shù)收斂于它們的真實值,同時也對硬件要求比較高[8]。模型參考自適應法通過比較相同輸入量情況下的參考模型和可調(diào)模型的差值,調(diào)整可調(diào)模型中的辨識參數(shù),當差值達到最小值時,可以將可調(diào)模型中的參數(shù)看作實際系統(tǒng)中的參數(shù)[9-11],有效解決收斂速度與辨識穩(wěn)定性的矛盾;但開關器件的延遲會影響可調(diào)模型中電壓和電流值檢測的誤差,最終影響實際運行狀態(tài)的辨識精度[12-13]。人工智能算法包括神經(jīng)網(wǎng)絡法[14-19]、粒子群優(yōu)化算法、遺傳因子算法等,這類算法可應用于解決復雜運行狀況下電機的參數(shù)辨識問題;但是模型以及算法較為復雜,同時需要通過系統(tǒng)利用算法進行學習以減小誤差函數(shù)[20-23]。
上述常用方法固然在某些方面有一定的優(yōu)勢,但仍存在收斂速度與穩(wěn)定性相矛盾等方面的問題。為了解決此類問題,本文主要采用較為簡單的多項式演化模型,利用MATLAB/Simulink軟件中的相應工具測算出電壓、電流和轉速的實時數(shù)據(jù),并通過對時間模型中的第一階段數(shù)據(jù)進行處理即可得出辨識結果,采用在隨機噪聲干擾情況下進行多次試驗取平均值的方式能較為精確地辨識出對應參數(shù);因此,該方法具有算法簡單、辨識精度高、應用范圍廣、響應速度快等優(yōu)勢。
本文首先介紹了永磁同步電機的數(shù)學模型,并根據(jù)數(shù)學模型推導出相應的開環(huán)和閉環(huán)速度控制模型,從而引出模型中的待辨識值(包括d軸和q軸的等效電感L、定子電阻Rs、增益系數(shù)KT、折算到轉子軸的總轉動慣量J、折算到轉子軸上的黏性摩擦系數(shù)f和干摩擦轉矩折算到轉子軸的總轉動慣量Cr)以及直接測量值(包括d軸和q軸上的等效電壓ud、uq和等效電流id、iq,轉子轉速ω);然后,針對永磁同步電機的速度控制模型設計出一種參數(shù)辨識方法,該辨識方法引入了多項式演化模型作為轉速參考值,運用曲線擬合方法以及相應的矩陣變換計算出待辨識參數(shù)值;最后,運用該辨識方法進行MATLAB/Simulink仿真算例驗證。
本文介紹的同步電機控制系統(tǒng)包括三相同步電機和機械負載,其中同步電機選擇具有非凸極永磁體的類型,以便于忽略飽和度和阻尼效應對電機的影響。由于需要對電機進行速度和轉矩控制,因而在現(xiàn)有的幾種電機模型中選取在dq參考系下功率守恒的park模型對電機控制系統(tǒng)進行建模。
該電機控制系統(tǒng)的電氣部分方程式為:
(1)
(2)
式(1)、(2)中:ψsf為來自永磁體的磁通量峰值;Np為電機的極對數(shù)。
該電機控制系統(tǒng)的機械部分方程式為:
(3)
(4)
式(3)、(4)中Tem(t) 為電磁轉矩。
假設
(5)
將式(5)代入式(2)可得
NpLω(t)id(t)+ω(t)KT.
(6)
聯(lián)立式(3)、(4)和(5)可得
(7)
其中L、Rs、KT、J、f、Cr為待辨識值,ud(t)、uq(t)、id(t)、iq(t)、ω(t)為直接測量值,后文將式(1)、(6)和(7)作為辨識算法的依據(jù)。
當同步電機處于相對穩(wěn)定狀態(tài)時,可以忽略干擾以對同步電機進行開環(huán)控制。在給出速度信號后,同步電機將不受控制。隨著負載的變化,電機的速度也會變化,這種變化取決于電機的特性。此時,無需將電機的速度與給定速度進行比較,因此速度的開環(huán)控制相對簡單,不利之處是速度變化很大。
假設ed=-NpLω(t)iq(t)、eq=ω(t)(NpLid(t)+KT),p為微分算子,則電機控制系統(tǒng)的電氣部分可以等效為:
(8)
電機控制系統(tǒng)的機械部分可以等效為
(9)
考慮到干擾對同步電機速度控制系統(tǒng)的影響,給定速度后,同步電機常數(shù)將輸出端子的信息(轉速)反饋到輸入端,并使用輸入信號進行激勵。當發(fā)現(xiàn)電機速度發(fā)生變化時,輸出端的反饋信號不滿足原始輸入信號的要求。此時,輸入信號將被更改,以使電機速度盡可能接近設定值。同步電機調(diào)速的閉環(huán)控制更加復雜,系統(tǒng)的速度變化也小得多。
圖1 dq參考系下同步電機的一般開環(huán)速度控制方案Fig.1 General open loop speed control scheme for synchronous motor in the dq reference frame
大多數(shù)識別方法使用特定的輸入信號﹝例如二進制序列隨機信號(binary sequence random signal,BSRS)﹞來完全激勵系統(tǒng)。但是,長時間使用BSRS這類信號會使電機控制系統(tǒng)產(chǎn)生許多問題。BSRS使用速度步進信號激勵電機控制系統(tǒng),從而產(chǎn)生峰值機械轉矩以增大負載轉速,同時還需要考慮到電機運動過程中產(chǎn)生的感應電流而引起的機械阻力;因此,電機的機械部件需要承受機械阻力,而電氣部件需要承受產(chǎn)生的感應電流,兩者均會加重電機系統(tǒng)的負擔。
對于jerk激勵信號而言,jerk是加速度的導數(shù),使用jerk控制信號可以限制振動,而振動是機械驅動精度和磨損的誤差來源。該控制信號對于大慣性的快速運動特別有用。圖3顯示了jerk控制信號中的jerk值、加速度、速度和位移曲線。
圖2 在dq參考系中同步電機閉環(huán)速度控制方案Fig.2 Closed-loop speed control scheme for synchronous motor in the dq reference frame
與其他的控制信號相比,加速度變化不是那么突然。使用分段恒定的jerk值可以獲得比第一級系統(tǒng)約束更少的加速度斜坡。由于同步電機具有相似的加速度和轉矩,因此沒必要進行過多的轉矩限制。
(10)
(11)
(12)
(13)
式(10)—(13)中j為恒定的jerk值。
基于之前建立的同步電機模型輸入和輸出變量的相應關系,本辨識方法分別對電機控制系統(tǒng)機械部分及電氣部分進行測量與分析。這些變量是時間多項式,其范圍取決于jerk激勵曲線,并施加于電機控制系統(tǒng)的運行過程。
首先,數(shù)據(jù)獲取階段需要電流、電壓和速度信號的演變?;谏衔膶δP徒Y構和設定值信號的知識,可知描述輸入及輸出變量的時間多項式形式。然后通過已有的曲線擬合工具(如MATLAB曲線擬合工具)計算這些多項式的系數(shù),曲線擬合的方式可以通過采樣取點自行擬合方式或者MATLAB曲線擬合的方式,但經(jīng)過多次實驗發(fā)現(xiàn)自行擬合的誤差較大,因而本文仍采取MATLAB曲線擬合的方式進行電機參數(shù)辨識。由于待辨識參數(shù)為多項式系數(shù)的函數(shù),最后可以計算出相應的參數(shù)值。為了達到簡化運算的目的,可以將id的參考信號設定為零。
如果影響信號的擾動是高斯白噪聲且均值為零,那么使用辨識的時間信號多項式系數(shù)可獲得無偏結果。本文所提出的方法具有以下特征:使用多項式參考信號而不是BSRN類型輸入;通過分析系統(tǒng)可測量變量的時間多項式來執(zhí)行識別,而不是使用基于動態(tài)行為的經(jīng)典方法。
圖3 jerk速度激勵信號Fig.3 Jerk velocity excitation signal
圖4 參數(shù)辨識方法的原理 Fig.4 Principle of parameter identification method
圖5顯示了可測量變量ud、uq、id、iq和ω(t)和ωr(t)的波形實例。
圖5 jerk激勵下的同步電機可測量變量實例Fig.5 Measurable variables of synchronous motor excited by jerk excitation
從圖5可以看出,速度設定值和實際速度值大致相同,同時d軸的電流設定值也近似與實際電流保持一致。
當t0+Δt ω(t)=aωt2+bωt+cω, (14) 聯(lián)立等式(7)和(14)可得 (15) 式(15)可以寫成 iq(t)=aiqt2+biqt+ciq. (16) 由于將d軸電流參考值設定為0以簡化運算,式(14)和(16)均代入式(1)和(6)可得: (17) 其中電機極對數(shù)Np=4,式(17)可以寫成: (18) 式(14)—(18)中,計算參數(shù)aω、aiq、aud、auq、bω、biq、bud、buq、cω、ciq、cud、cuq、dud、kud均可由MATLAB曲線擬合工具得到。該辨識算法的思路是:通過曲線擬合工具得到測量值,根據(jù)測量值以及矩陣變換計算出電機的參數(shù)值。 如果將聯(lián)立式(17)和(18)的結果寫成矩陣形式 Avθv=Bv, (19) 根據(jù)多項式系數(shù)的對應關系,其中 Bv=[audbudcuddudkudauqbuqcuq]T, θv=[LRsKT]T. (20) 由于Av不是方陣,需要對式(19)的矩陣形式進行如下變換 (21) 將式(21)進行矩陣變換,得到矩陣 (22) 然后由矩陣θv得到相應的L、Rs、KT。 相似地,也可以將聯(lián)立式(15)和(16)的結果寫成如下的矩陣形式 Aeθe=Be, (23) 根據(jù)多項式系數(shù)的對應關系,其中 (24) 與前面的矩陣不同的是Ae為方陣,因而不需要進行其他的矩陣變換,矩陣 (25) 然后由矩陣θe得到相應J、f、Cr。 2.3.1 開環(huán)控制模型 上文介紹的系統(tǒng)識別方法涉及線性、開環(huán)和閉環(huán)線性模型的參數(shù)識別,其中可能包含純延遲。在閉環(huán)的情況下,所提出的算法可以應用于具有單個回路的系統(tǒng),并且僅應用于傳感器噪聲類型的干擾。如果將此方法擴展到嵌套的和受干擾的回路系統(tǒng)(例如機電過程),則需要對算法進行改進。 式(8)和(9)的物理參數(shù)值是從系統(tǒng)的初始估算、所進行的測量以及制造商給出的機械特性中得出的。圖6所示的Simulink仿真框圖描述了電機開環(huán)控制系統(tǒng)的模型和控制策略。 根據(jù)式(8)可得: (26) 式中的ud1和uq1在圖6中分別由voltaged_ol和voltageq_ol表示。 圖6中Cid_ol是用于調(diào)節(jié)d軸電流的PI調(diào)節(jié)器,其調(diào)節(jié)參數(shù) (27) 2.3.2 閉環(huán)控制模型 圖7所示的Simulink仿真框圖描述了電機閉環(huán)控制系統(tǒng)的模型和控制策略。圖7中:voltaged_cl、voltageq_cl、currentd_cl、currentq_cl、omega_cl分別代表直流電機的閉環(huán)電壓、電流、轉矩和速度;Omegaref_cl代表輸入轉速參考值;Cid_cl、Ciq_cl和Comega_cl分別代表電流PI調(diào)節(jié)器和速度PI調(diào)節(jié)器。 圖6 同步電機開環(huán)仿真框圖Fig.6 Simulation block diagram of synchronous motor open loop 圖7 同步電機閉環(huán)仿真框圖Fig.7 Simulation block diagram of synchronous motor closed loop 圖7類似于圖6,新的PI調(diào)節(jié)器參數(shù)設置為: (28) 其余參數(shù)、采樣時間、仿真結果的表示形式、隨機干擾的實驗次數(shù)均與開環(huán)系統(tǒng)的參數(shù)設置相同,不再重復介紹。 同步電機的特性及其負載在表1中給出。 具體仿真過程主要分3種干擾情況:無干擾;僅有固定干擾(只有Cr干擾);固定及隨機干擾。 使用Simulink工具對系統(tǒng)進行仿真,并使用MATLAB R2018a進行參數(shù)識別,jerk激勵電壓用于辨識電機的參數(shù),直接測量值ud(t)、uq(t)、id(t)、iq(t)、ω(t)可以由MATLAB中的工作區(qū)數(shù)據(jù)得到,通過使用MATLAB提供的曲線擬合工具分別辨識3種干擾情況下的電機開環(huán)系統(tǒng)的參數(shù)。 對于不存在隨機擾動的情況,用于多項式的系數(shù)估計的第一階段過程在0.59 s和1.0 s之間。而且只需進行一次仿真實驗辨識同步電機的相關參數(shù)就足夠。仿真結果表示為誤差εp和參數(shù)距離D,其計算方法如下: (29) (30) 表1 同步電機的仿真特性Tab.1 Simulation characteristics of synchronous motor 對于存在隨機干擾的情況,進行單一的仿真實驗辨識無法準確地計算同步電機的相關參數(shù)值和辨識精度,將100次仿真實驗測定出的仿真結果表示為平均值、誤差和參數(shù)距離,其計算方法如下: (31) (32) 上述3種情況進行參數(shù)辨識的結果見表2。 從表2中仿真結果可以看出:在精確性方面,該辨識方法對于除f以外的其他參數(shù)辨識精度較高,辨識參數(shù)f仍具有一定誤差;在波動性方面,該辨識方法在無隨機干擾情況下的波動程度較小,在有隨機干擾的情況下,參數(shù)L的辨識結果波動程度較大,而除L之外的其他參數(shù)的辨識結果波動程度較小。 與電機開環(huán)控制模型相似的3種情況下進行參數(shù)辨識的結果見表3。 從表3中的仿真結果可以看出:在精確性方面,該方法對電機閉環(huán)控制系統(tǒng)中除了L以外的參數(shù)辨識具有高精確度,但是對L的辨識仍存在不可忽略的誤差;在波動性方面,該方法對不具有隨機干擾的電機閉環(huán)控制系統(tǒng)辨識結果較為穩(wěn)定,而對于有隨機干擾情況下的L參數(shù)辨識波動程度較大。L的辨識偏差產(chǎn)生的原因:L參數(shù)對多項式系數(shù)辨識過程的誤差過于敏感,由于存在曲線擬合時多項式系數(shù)的辨識結果波動,L的辨識結果精確度也會受影響,其他參數(shù)的辨識也具有一定程度的波動性。對于L測量精確度較低的問題,可以采用多時間段采樣并進行多次參數(shù)辨識的方式以減小誤差。 表2 同步電機開環(huán)控制系統(tǒng):jerk激勵電壓輸入的仿真結果Tab.2 Synchronous motor open loop control system:simulation results of jerk excitation voltage input 表3 同步電機閉環(huán)控制系統(tǒng):jerk激勵電壓輸入的仿真結果Tab.3 Synchronous motor closed loop control system:simulation results of jerk excitation voltage input 本實驗基于永磁同步發(fā)電機SM6443數(shù)據(jù),在Simulink中建立電機速度控制模型,并采用芯片ADE7758將電機和電腦進行連接,在電機啟動過程中,通過芯片將電壓、電流和轉速的實時數(shù)據(jù)輸入到MATLAB工作區(qū)。 利用MATLAB自帶的曲線擬合工具分別計算出曲線的多項式系數(shù),通過多項式系數(shù)與待辨識參數(shù)的曲線關系辨識出相應參數(shù),結果見表4。 由于外界溫度和磁鏈飽和等因素的影響,電機參數(shù)具有實時變化性。當需要進行長時間參數(shù)辨識時,需要對每個時間段進行數(shù)據(jù)采樣,通過將前一段時間的電流、電壓和轉速數(shù)據(jù)導入MATLAB工作區(qū),利用MATLAB曲線擬合工具及相應的矩陣變換能辨識出該時間段電機參數(shù)的近似值。以電阻Rs為例,圖8所示為電機正常運行狀態(tài)下1 min內(nèi)電阻的實際值和測量值曲線,實際值為電機在工況下的變化曲線,測量值為數(shù)據(jù)采樣時間3 s中參數(shù)辨識結果。 表4 永磁同步電機SM6443:jerk激勵電壓輸入的實驗結果Tab.4 Permanent magnet synchronous motor SM6443:experimental results of jerk excitation voltage input 圖8 jerk激勵下的同步電機Rs變化曲線Fig.8 Rs curve of synchronous motor under jerk wave excitation 將圖8中各個點與實際值相比較可以得出結論:本文所述的辨識方法可以應用于一段時間電機內(nèi)參數(shù)的測量,測量結果具有一定的精確度,并可有效應用于環(huán)境因素造成的電機參數(shù)變化情況。 參數(shù)辨識是永磁同步電機控制系統(tǒng)穩(wěn)定運行的基礎,參數(shù)辨識結果的精確性和穩(wěn)定性不僅受電機建模方式的影響,而且依賴于運動的參數(shù)辨識方法。本文根據(jù)相應的電機數(shù)學模型,建立了電機的多項式演化模型,然后運用jerk波激勵電機控制系統(tǒng),對模型中的相關參數(shù)進行矩陣變化從而計算出待辨識參數(shù)值,最后使用MATLAB/Simulink對上述模型及方法進行仿真算例驗證。 算例結果表明該辨識方法可以精確辨識出永磁同步電機速度控制系統(tǒng)中的L、Rs、KT、J、f、Cr這6個參數(shù)值,有效解決收斂速度和辨識穩(wěn)定性相矛盾的問題。由于算法以及模型較為簡單,不需要系統(tǒng)對算法進行學習,同時對控制信號和硬件的要求較低。 基于此方法,未來的研究工作可以針對多項式演化模型中的系數(shù)進行無偏估計,而且可以通過階段性數(shù)據(jù)采樣的方法將電機電壓、電流和轉速數(shù)據(jù)輸入到MATLAB工作區(qū),從而開發(fā)出對同步電機參數(shù)的在線辨識算法。2.3 具體仿真實現(xiàn)方式
3 算例分析
3.1 電機開環(huán)控制模型算例
3.2 電機閉環(huán)控制模型算例
3.3 實驗驗證
4 結束語