金德發,呂 勇,夏潤秋,陳青山
(北京信息科技大學 儀器科學與光電工程學院,北京 100192)
音圈電機是一種通過安培力驅動的線性運動電機,具有結構簡單、響應速度快、運動精度高等特性[1]。隨著對高速、高精度定位系統性能的要求提高,音圈電機被廣泛應用于天文望遠鏡、自適應光學、相移補償、精密跟蹤等領域[2]。
目前,常用的音圈電機控制算法有PID控制、自適應控制、模糊PID控制等[3]。文獻[4]借鑒直流電機控制方式,分析音圈電機的控制方法,以DSP TMS320F2812作為控制核心,以高精度光柵尺作為位置檢測裝置,采用前饋微分先行PID 控制器實現位置閉環控制,取得了較好的控制效果。文獻[5]采用了自尋優PID控制策略和模糊PID算法控制策略,利用模糊規則對PID的3個參數進行實時更新優化,克服了常規PID參數無法實時調整的缺點,降低了控制系統響應時間,減小了控制系統的超調量。這些算法在一定程度上均取得了較好的控制效果,但是由于音圈電機種類的多樣性,常規的控制算法對于控制器初始值的選取不易掌握,容易產生系統誤差[6-7]。主要表現為當外界條件變化時,需要重新設計控制器來調整初始參數,對系統控制帶來不便。本文通過對音圈電機驅動特性的研究,提出了基于RBF神經網絡的智能控制算法,選取適當的控制器初始值,利用神經網絡的自組織、自適應功能,既減小了控制器初始值對控制系統的影響,又能通過FPGA對隱層節點的矩陣運算能力提高運算速度,并將該算法應用于激光精密指向系統中[9]。
音圈電機工作原理和其他電機類似,都是將電能轉化為其他形式的能量,其結構示意圖如圖1所示。F為線圈在磁場中受力,其大小:
F=Blni(t)
(1)
式中:B為間隙中磁感應強度;i為流過線圈電流的大小;l為線圈在磁場中的長度;n為線圈的匝數。
因此,線圈電流的大小決定了音圈電機出力大小。

圖1 音圈電機結構示意圖
將音圈電機連接至驅動電路后,改變電流的方向即可改變音圈電機線圈運動的方向,通過開環階躍響應測得線圈中電流上升時間約為300 μs。
由于音圈電機電壓直接驅動負載,在線圈組件高速往復運動中,會表現出強烈的非線性特性,即復雜遲滯特性和與運動特性有關的摩擦特性。其出現的非增函數變化、非光滑復雜遲滯特性,導致了系統的振動,造成性能的下降。尤其是在高速運動下,音圈電機表現出與一般直線電機完全不同的復雜遲滯特性[10]。因此,針對音圈電機電壓與位移之間的非光滑、復雜遲滯特性,采用音圈電機遲滯模型與神經網絡模型串聯,建立音圈電機混合遲滯模型框圖,如圖2所示。

圖2 音圈電機遲滯混合模型框圖
圖2中的Z-1是一個采樣周期滯后單元,以獲得音圈電機前一時刻的位移輸出y(t-1)。音圈電機遲滯模型的結構表達式:
(2)
式中:u為音圈電機線圈電壓;d(t)為音圈電機線圈位移;k,β,γ及n均為參數。可以得到,音圈電機的非線性結構影響著線圈電壓大小,從而對線圈位移產生影響[11]。
RBF神經網絡是一種三層前向網絡,包括輸入層、隱含層及輸出層,隱含層神經元激活函數由徑向基函數構成,結構如圖3所示。

圖3 RBF神經網絡控制器結構圖
隱含層組成的數組運算單元稱為隱含層節點,每個隱含層節點包含一個中心向量c以及基寬參數b,其激活函數表達式:
(3)
控制目標函數:
(4)
式中:r(k)為輸入目標值;y(k)為實際輸出值;e(k)為誤差。
結構為3-4-1的RBF神經網絡算法,取前三次的誤差e(k),e(k-1),e(k-2)作為RBF網絡的3個輸入節點。由于FPGA對于浮點數的計算較復雜,對于指數函數等計算不方便,故取高斯基函數的泰勒級數展開式的前幾項作為RBF網絡的激活函數式(5),其產生的誤差可以通過權值更新調整。
(5)

控制器為RBF網絡的輸出:
u(k)=h1w1+…+hjwj+…+hmwm
(6)
式中:m為RBF網絡隱層神經元的個數;wj為第j個網絡隱層神經元與輸出間的連接權值;hj為第j個隱層神經元輸出。
按梯度下降法及鏈式法則,可得權值的學習算法如下:
(7)
wj(k)=wj(k-1)+Δwj(k)+αΔwj(k)
(8)
式中:η為學習速率;α為動量因子。同理可得RBF神經網絡隱層神經元的高斯函數基寬參數及中心向量學習算法如下:
(9)
bj(k)=bj(k-1)+ηΔbj(k)+
α[bj(k-1)-bj(k-2)]
(10)
(11)
cij(k)=cij(k-1)+
ηΔcij(k)α[cij(k-1)-cij(k-2)]
(12)

圖4 RBF網絡控制算法流程圖
RBF網絡輸入到輸出的映射是非線性的,隱層空間到輸出空間的映射是線性的,是一種局部逼近的神經網絡。采用RBF網絡可大大加快學習速度并避免局部極小問題,適合于實時控制的要求[12]。
在MATLAB上分別對單神經元自適應控制算法和RBF神經網絡控制算法進行仿真,選取音圈電機電流環二階傳遞函數:
(13)
輸入指令為方波信號:
r(k)=3 276.8sign[sin(2πtsk)]
采樣頻率100 kHz,其中幅值3 276.8對應于1 A電流。設置兩種算法各節點的初始權值均為w=0.1,學習速率0.1,仿真時間0.5 ms,得到兩種算法的階躍響應及誤差變化如圖5所示。

圖5 兩種算法仿真階躍響應曲線
從圖5中可以看出,單神經元自適應控制的上升時間為19 μs;當RBF神經網絡控制器隱含層節點數為4時,上升時間為26 μs,與單神經元自適應控制器相比性能相對較低;當隱含層節點數為6時,上升時間僅為14 μs,相對于單神經元自適應控制器縮短了26.3%,對上升時間的控制效果優于單神經元自適應控制。由于單神經元自適應控制的3個神經元權值更新有先后順序,故計算時間長,迭代74次后到達最大值;RBF控制器權值更新是通過權值矩陣來計算的,各節點同時更新,隱含層節點為6時,迭代30次后就能達到最大值。
搭建音圈電機驅動系統如圖6所示。上位機采用NI公司的PXIe-1071機箱,其中插入NI PXI-7852R系列板卡,配有型號為Virtex-5 LX50的FPGA。LabVIEW FPGA模塊采用LabVIEW可視化編程,與FPGA通過DMA FIFO通信,配合FPGA豐富的觸發器和邏輯片以及并行傳輸數據能力,可大大加快神經網絡的計算能力和收斂速度。被測音圈電機部分參數如表1所示。

圖6 音圈電機驅動系統連接圖

表1 音圈電機驅動系統部分參數
在LabVIEW中采用隨機數生成的方式產生網絡初始權值,并根據經驗設置激活函數的基寬參數、中心向量,權值學習速率取0.015。將大小為1 A的電流信號作為輸入值,得到系統的階躍響應。將隱層節點為4的RBF神經網絡控制器與單神經元自適應控制器及常規PID控制器進行對比,控制曲線如圖7所示。

圖7 音圈電機電流階躍響應曲線對比
圖7中,單神經元自適應控制在采樣頻率為100 kHz時電流上升時間為17 μs。受LabVIEW FPGA資源限制,在實驗過程中僅采用了隱層節點為4的3-4-1結構,控制系統依然可以較好地跟蹤目標輸入,上升時間約為25 μs,比常規PID控制器縮短了28.6%。從仿真結果來看,RBF神經網絡在隱含層節點大于6時是優于單神經元自適應的,在FPGA上由于邏輯片等資源限制,隱層節點僅為4,但效果與PID控制及單神經元自適應控制效果相差不大,實驗結果與仿真結果基本吻合,驗證了在LabVIEW FPGA上使用神經網絡算法控制音圈電機的可行性。
本文針對激光精密指向系統中優化、簡化不同音圈電機的控制算法調試過程,對音圈電機出力效果及對線圈位移的影響進行分析,提出了一種改進的RBF神經網絡控制算法。將算法與單神經元自適應控制算法在MATLAB上進行了仿真,并搭建了系統,與經典PID算法對比,對算法的可行性進行了實驗驗證。仿真與實驗結果表明,當實驗裝置及條件相同時,RBF神經網絡控制算法在隱含層節點大于6時,對音圈電機電流環的控制效果優于單神經元自適應控制。隱層節點為6時,上升時間縮短了26.3%;上升時間在隱含層節點較少時也與單神經元比較接近,且相對經典PID控制器也縮短了28.6%,提高了系統的快速性,取得了較好的控制效果。
RBF神經網絡控制不僅適用于音圈電機驅動的高速精密光束指向系統,同時還可應用于PWM控制的其它伺服控制系統中。不但能提高系統的動態響應和穩態性能,還能在自動調節參數的同時,提高系統的魯棒性。實驗受限于硬件條件,RBF網絡控制為3-4-1結構,故對系統的控制效果有一定的影響。可以通過降低FPGA的計算精度(浮點改為定點)、增加隱含層節點數、繼續修正激活函數的基寬及中心向量等方法來提高系統的采樣頻率和速度,增強系統的穩態性能。