鴉 婧,俞竹青,蘇 娜
(常州大學 機械與軌道交通學院,常州 213100)
直流電機在某一特定負載下,通過改變電樞供電電壓以調節電機的穩定轉速[1]。 因其轉速可以平滑無極調節(在額定轉速以下調節),調速方便,過載能力大等優良的調速特性, 被廣泛應用于輕工、機械制造和冶金等多種現代工業部門。 直流電機速度的調節可以通過改變電壓來實現,但是在電壓不變的情況下,電機速度會受到負載轉矩變化的影響。目前,直流電機的數學模型大多采用傳統公式進行理論建模,根據直流電機電氣方程和機械特性方程通過查用工廠或手冊的典型數據推導計算,或不得已采樣簡化模型。 由于數據不全面,影響了計算的準確度和可信度,往往計算結果與實際模型相比有一定的誤差。
在需要精確控制的領域,一般會將被控對象描述為具體的數學表達式,數學表達式能夠很好地體現出輸入與輸出之間的關系。 在運用計算機仿真整個系統的運動狀態時,也需要確立每個模塊的特征和各模塊之間相互關聯的數學關系。 所以如何建立準確的直流電機的變化量與其控制量的關系曲線和數學表達式是實現其精確控制的重要前提。
目前,已經有許多文獻就直流電機數學模型的建立提出了辨識方法。 以提高智能車的控制性能為前提,通過實驗獲得參數建立直流電機電樞電壓與轉速的傳遞函數的方法, 能夠應用于電機的選型、仿真平臺的搭建以及作為輔助調試手段等方面[2]。但是該方法的傳遞函數以傳統公式計算為基礎而建立,且傳遞函數的正確性依賴于獲取的參數是否準確;通過測量出多組輸人電壓、輸出電壓、反饋電壓、輸出轉速的數值,利用Matlab 軟件將數據擬合成曲線,進而得到它們之間的函數表達式,最后通過在單片機中進行函數表達式的運算來實現電機的無級調速的方法[3],能夠提高BLDCM 驅動器調速精度;通過實驗和理論分析研究了電機端電壓平均值與電機轉速之間的非線性關系,運用Matlab 分別對端電壓平均值與轉速進行一次和二次線性擬合,得到兩者關系曲線和拋物線關系式這一方法可以實現PWM 精準調速[4]。 文獻[3]、文獻[4]雖通過實驗給出了直流電機控制電壓與轉速之間的函數關系,但兩者的擬合數據都是在電機空載情況下獲得的,未能考慮到負載轉矩的變化對電機速度的影響。
針對在PWM 調速系統中電機速度的變化會受到負載轉矩與電壓兩者的影響問題,提出一種基于BP 神經網絡建立的直流電機扭矩電壓與轉速數學模型辨識新方法,根據電機在不同的負載轉矩情況下電壓與轉速樣本數據, 經LM 算法訓練網絡模型能夠辨識出直流電機的數學模型。
誤差反向傳播(back propagation,BP)神經網絡是一種采用監督學習規則的多層前饋人工神經網絡。 BP 網絡結構如圖1 所示,通常由1 個輸入層,1個輸出層和若干個隱含層構成,每層又由若干個神經元組成,同層神經元之間無關聯,每一個神經元的輸出值由輸入值、激活函數、閾值所決定[5]。 實際上,研究表明只需1 個隱含層(激活函數為sigmoid)的BP 神經網絡就具有能夠逼近任意非線性函數的能力[6]。
BP 神經網絡的學習過程可分為前向網絡計算和誤差反向傳播,這兩個過程是相繼連續反復進行的。 前向網絡計算是指輸入層樣本信號一層一層向前傳播,每層神經元的輸出由前一層神經元經相應的加權和計算而得到。 前向計算的過程既是網絡訓練的一部分,也是網絡模型建立完成后應用其工作的過程[7]。 誤差反向傳播過程主要是對各層權值和閾值進行修改,修改條件為網絡實際輸出與給定的樣本期望輸出之間的誤差未能達到要求的性能指標。
以圖1 所示的BP 網絡結構M-Q-L 為例,其中M,Q,L 分別為輸入層、隱含層、輸出層的神經元個數。

圖1 BP 網絡結構示意圖Fig.1 BP network structure diagram
隱含層的第i 個神經元輸入neti、輸出oi為

式中:ωij為權值;xj為第j 個輸入神經元;bi為閾值;g(·)為隱含層激活函數。
輸出層第k 個神經元的輸入netk、輸出ok為


式中:f(·)為輸出層激活函數。
以上是前向計算過程,若在前向傳播后的輸出層未能達到所期望的效果則會進入誤差反向傳播過程,對權值和閾值進行修正,即從輸出層開始向前計算各權值和閾值對總誤差的影響(梯度)。
為了對權值和閾值進行調整,對每個樣本引入均方誤差性能函數:

式中:ok為BP 神經網絡的輸出;tk為輸出樣本。
為了使得網絡學習過程中朝著逐漸減小的方向,即應該按照誤差性能函數的負梯度方向調整,從而使模型收斂。
輸出層的權值修正公式為

式中:η 為學習率。
隱含層的權值修正公式為

傳統的BP 神經網絡采用最速下降法來修正權值和閾值,但是網絡收斂速度慢,易于陷入局部極小,訓練過程常常發生振蕩等缺陷[8]。 而LM 算法以數值優化為背景,經過經典牛頓算法發展而來。 牛頓法是一種基于二階泰勒級數的快速優化算法,其基本方法是:

式中:W(k)為第k 次迭代各層之間的權值矩陣或閾值矩陣;A(k)為誤差性能函數在當前權值和閾值下的Hessian 矩陣(二階導數);g(k)=為第k 次迭代的網絡輸出誤差對各權值或閾值的梯度矩陣,負號表示梯度的最速下降方向。
牛頓法雖然收斂速度很快,但是因其需要計算Hessian 矩陣,所以對于前饋神經網絡來說牛頓法具有計算復雜、工作量大等缺陷。而LM 算法的提出就是為了在以近似二階訓練速率進行修正時避免計算Hessian 矩陣,將Hessian 矩陣近似表示為

梯度表達式為

類似于牛頓法,LM 算法的權值或閾值修正表達式為

式中:I 為單位矩陣;J 為雅克比矩陣。
式(13)可以看出,若μ=0 時,則為牛頓法;若μ取值很大時,LM 算法則變為步長較小的梯度下降法。 實驗研究表明[9],通常對于包含數百個權值的函數逼近網絡,LM 算法的收斂速度最快,網絡誤差最小,不易陷入局部極小點,具有很強的容錯能力。
基于神經網絡直流電機神經網絡模型建立的過程如圖2 所示,網絡訓練前首先就需要獲得輸入、輸出樣本數據。 因為在PWM 調速系統中直流電機的轉速與控制電壓是非線性的,并且電機實際工作時需帶負載運轉,電機速度的變化會受到負載轉矩與控制電壓兩者的影響,所以將負載轉矩和控制電壓作為神經網絡的輸入,電機轉速作為神經網絡的輸出。 樣本數據的選取對網絡模型訓練的準確性非常重要,樣本數據量過多會使計算量大,內存資源浪費,模型訓練效率降低;樣本數量過少會導致不能獲得有效的模型。 本文選取了適當的樣本數量(5組不同負載轉矩下電壓與電機轉速)以表明方法可行性,樣本數據參考文獻[4]測試方法獲得,每組數據測試3 次以保證準確性,具體數據截取部分如表1 所示。

圖2 直流電機神經網絡模型建立流程Fig.2 Flow chart of neural network model establishment of DC motor

表1 訓練樣本數據Tab.1 Training sample data
數據的預處理對網絡模型的訓練效率有很大的影響, 所以需要在訓練前將數據進行歸一化處理。 歸一化不改變數據的相對大小和排列順序,而只是將其按比例縮放,使之變換于某個區間內[10]。因為本文的樣本數據不可能為負值,所以利用最大值和最小值方法將數據按式歸一化至區間[0-1]。

式中:x′為歸一化后樣本數據;x 為歸一化前樣本數據;xmax為樣本數據中最大值;xmin為樣本數據中最小值。
本文利用Matlab 仿真軟件中的神經網絡工具箱對直流電機在不同負載轉矩情況下控制電壓與轉速非線性模型進行訓練,網絡的訓練過程如下所示。
(1)確定神經網絡結構。 輸入層節點數M=2,設置1 個隱含層節點數且激活函數為logsig, 輸出層節點數,激活函數為purelin,并對各層之間的權值閾值隨機初始化。 設置性能函數為均方誤差函數Ep且其指標為默認值0,表明盡最大努力建立最佳網絡。
(2)開始網絡訓練,計算網絡正向傳播誤差Ep。
(3)若Ep>0,則進入誤差反向傳播過程,利用LM 算法進行權值和閾值的修正。
(4)若Ep=0 或者迭代次數超過1000,則終止網絡訓練。
神經網絡模型訓練迭代1000 次的均方誤差如圖3 所示,隨著迭代次數的增加,均方誤差逐漸減少, 網絡在第1000 次訓練迭代完成后模型誤差達到最佳為1.0932×10-3。

圖3 均方誤差圖Fig.3 Mean square error diagram
模型訓練完成后利用Matlab 神經網絡工具箱函數將各網絡層之間的連接權值與閾值提取出來建立直流電機模型數學表達式。

式中:simy 為電機神經網絡模型輸出;x 為電機神經網絡模型輸入矩陣;net.iw{1,1}為輸入層到隱含層權值矩陣;net.lw{2,1}為隱含層到輸出層權值矩陣;net.b{1}為輸入層到隱含層閾值矩陣;net.b{2}為隱含層到輸出層閾值矩陣;logsig 為
訓練結束得到的權值閾值結果為

加載訓練完成后的神經網絡模型,給出在電機空載和負載轉矩為0.14 N·m 運行情況下,直流電機電壓與轉速實際樣本數據作為輸入值,得到的模型預測輸出結果如圖4 所示。

圖4 神經網絡模型擬合圖Fig.4 Fitting diagram of neural network model
神經網絡模型擬合圖可以看出,訓練后的神經網絡模型輸出數據與樣本實際數據基本吻合,誤差較小且保持在一定的范圍內。 與文獻[7]以二次函數擬合曲線相比, 基于BP-LM 算法直流電機負載轉矩、電壓與轉速的非線性函數擬合效果具有較大的優勢。
本文基于BP-LM 算法提出了一種直流電機在不同負載轉矩情況下的控制電壓與轉速非線性數學模型表達的新方法。 首先,根據實驗獲得不同負載轉矩工作情況下, 直流電機在PWM 調速系統中控制電壓、負載轉矩與轉速的數據作為神經網絡的輸入輸出;然后再利用Matlab 軟件的神經網絡工具箱建立神經網絡結構,經過LM 算法的優化、訓練得到直流電機負載轉矩電壓與轉速數學模型; 最后,訓練結果證明基于BP-LM 算法構建的直流電機數學模型能夠對輸入準確的映射輸出,模型預測誤差小,均方誤差最佳為。 模型驗證結果表明,本文提出的基于BP-LM 算法直流電機電壓轉矩與轉速非線性數學模型建立方法是可行的。