武海強(qiáng),徐文潭,王光慶,崔素娟,趙澤翔,譚江平
(浙江工商大學(xué), 杭州 310018)
超聲波電動機(jī)作為一種全新的微特電機(jī),通過壓電材料的逆壓電效應(yīng),將電能轉(zhuǎn)化為機(jī)械能,具有抗干擾、低速大扭矩、響應(yīng)速度快、結(jié)構(gòu)設(shè)計(jì)靈活等優(yōu)點(diǎn),在現(xiàn)代工業(yè)中有著廣闊的應(yīng)用前景。
超聲波電動機(jī)的運(yùn)行過程包括多個層次的能量轉(zhuǎn)換。壓電陶瓷將高頻電壓激勵通過逆壓電效應(yīng)轉(zhuǎn)換為定子表面的微觀機(jī)械能,由定轉(zhuǎn)子接觸面將微觀機(jī)械能通過摩擦作用轉(zhuǎn)換為轉(zhuǎn)子的宏觀運(yùn)動。在這個過程中,定轉(zhuǎn)子長時(shí)間摩擦,使得電機(jī)溫度升高,定子的諧振頻率產(chǎn)生漂移,此時(shí)電機(jī)轉(zhuǎn)速變化具有明顯的非線性特性[2-3]。此外,溫度升高也會對壓電陶瓷的壓電效應(yīng)產(chǎn)生影響,內(nèi)部的極化翻轉(zhuǎn)更容易改變,而且高溫會對壓電片與定子間的粘合劑產(chǎn)生一定的作用,這些就是使得超聲波電動機(jī)非線性加重的原因[4]。超聲波電動機(jī)因特殊的能量轉(zhuǎn)換機(jī)制和能量傳遞方式,導(dǎo)致其運(yùn)行過程具有非線性特征強(qiáng)、控制準(zhǔn)確度低和穩(wěn)定性差的特點(diǎn)[1]。
為改善超聲波電動機(jī)的控制特性,已有多種不依賴電機(jī)數(shù)學(xué)模型的控制策略被提出。文獻(xiàn)[5-6]提出了運(yùn)用驅(qū)動電壓和電機(jī)溫度作為控制量的控制系統(tǒng),電壓控制有明顯的控制死區(qū),而溫度控制的滯后性較為明顯,兩種策略的實(shí)時(shí)控制效果均不理想。以頻率作為控制量,實(shí)現(xiàn)轉(zhuǎn)速在線調(diào)節(jié)的控制策略有模型自適應(yīng)[7]、單神經(jīng)元自適應(yīng)[8]、H∞混合靈敏度法[9]等,這些控制策略需要復(fù)雜的算法和大量計(jì)算來尋找最優(yōu)參數(shù),不利于實(shí)時(shí)控制。
針對行波型超聲波電動機(jī),本文基于階躍響應(yīng)對超聲波電動機(jī)模型進(jìn)行參數(shù)識別,根據(jù)該識別結(jié)果,研究了基于BP神經(jīng)網(wǎng)絡(luò)(以下簡稱BPNN)算法的速度控制策略;利用實(shí)驗(yàn)選出合適的參數(shù)集,在保證較快響應(yīng)速度的同時(shí),減少算法的在線計(jì)算量,提高實(shí)時(shí)控制速度,在電機(jī)目標(biāo)轉(zhuǎn)速跳變的運(yùn)行過程中具有較高的跟蹤精度;建立了電機(jī)速度控制實(shí)驗(yàn)系統(tǒng),通過實(shí)驗(yàn)研究控制策略的實(shí)際控制效果,給出對應(yīng)的實(shí)驗(yàn)數(shù)據(jù)和結(jié)論。
在選定驅(qū)動電壓頻率作為控制變量時(shí),頻率作為輸入量的控制模型就顯得更加重要。控制模型是否合適,將直接影響分析測試的復(fù)雜度和準(zhǔn)確性。本文通過實(shí)測電機(jī)的頻率-轉(zhuǎn)速階躍響應(yīng)特性以及辨識方法,構(gòu)建超聲波電動機(jī)的頻率-轉(zhuǎn)速控制模型。超聲波電動機(jī)的起動響應(yīng)具有衰減振蕩的特性,因此,可以采用二階欠阻尼振蕩模型對電機(jī)模型參數(shù)進(jìn)行辨識。
設(shè)該電機(jī)的頻率-轉(zhuǎn)速控制模型傳遞函數(shù)[11-12]:
(1)
式中:K=ν1/f,ν1是穩(wěn)定轉(zhuǎn)速,f是輸入的階躍頻率值;τ是延遲時(shí)間;ξ和ωn為模型的等待識別參數(shù),分別表示電機(jī)的阻尼系數(shù)和諧振頻率。
對式(1)做歸一化處理,可以得到二階欠阻尼標(biāo)準(zhǔn)模型單位的傳遞函數(shù):
(2)
由式(2)可以得到歸一化的階躍響應(yīng)表達(dá)式:
(3)
由式(3)可以得到ξ和ωn為待識別的模型參數(shù):
(4)
通過式(2)的電機(jī)階躍響應(yīng)模型,采用特征點(diǎn)法對實(shí)測頻率和轉(zhuǎn)速數(shù)據(jù)進(jìn)行辨識計(jì)算。實(shí)驗(yàn)中所用的Φ60行波型超聲波電動機(jī),工作頻率范圍是41.0~45.7 kHz,經(jīng)過嘗試性開環(huán)運(yùn)行測試,選定輸入階躍頻率范圍是41.5~45.0 kHz。表1是輸入頻率數(shù)值后,電機(jī)階躍響應(yīng)穩(wěn)定后對應(yīng)的轉(zhuǎn)速。
表1 階躍響應(yīng)測試數(shù)據(jù)分布
利用表1結(jié)果和式(2)識別得到的最優(yōu)模型參數(shù):
(5)
辨識后的控制模型輸出與實(shí)測數(shù)據(jù)誤差平均值最小。目標(biāo)轉(zhuǎn)速80 r/min和50 r/min時(shí)的實(shí)測與仿真數(shù)據(jù)的對比結(jié)果如圖1所示,可見,識別結(jié)果與實(shí)測數(shù)據(jù)比較吻合,特別是穩(wěn)定運(yùn)轉(zhuǎn)狀態(tài)下,兩者之間的誤差控制在2%以內(nèi)。
(a) 80 r/min
(b) 50 r/min
圖1電機(jī)實(shí)測與仿真階躍響應(yīng)對比結(jié)果
BPNN控制主要包括神經(jīng)網(wǎng)絡(luò)控制器和神經(jīng)網(wǎng)絡(luò)辨識器[10],基于BPNN的超聲波電動機(jī)轉(zhuǎn)速控制原理結(jié)構(gòu)如圖2所示??紤]到控制對象實(shí)時(shí)調(diào)整的動態(tài)要求,神經(jīng)網(wǎng)絡(luò)辨識器應(yīng)具備高速識別和快速響應(yīng)特性,而且還應(yīng)該有一定的容錯性,避免未知干擾引起系統(tǒng)較大的振蕩。
圖2神經(jīng)網(wǎng)絡(luò)控制結(jié)構(gòu)圖
BPNN是有方向的多層次的前饋型神經(jīng)網(wǎng)絡(luò),一般采用s型函數(shù)作為神經(jīng)元的傳遞函數(shù)。s型函數(shù)輸出量可以連續(xù)地映射到函數(shù)劃定范圍內(nèi),超聲波電動機(jī)控制的非線性特性借助BPNN的這一特性可以得到較好的解決。
BPNN的學(xué)習(xí)規(guī)則是網(wǎng)絡(luò)權(quán)值和閾值通過反向傳播,沿著負(fù)梯度方向修正,即:
xk+1=xk-αkgk
(6)
式中:xk是權(quán)值和閾值矩陣;gk是當(dāng)前變現(xiàn)函數(shù)的梯度值;αk是學(xué)習(xí)速率。假設(shè)網(wǎng)絡(luò)層數(shù)為三層,輸入節(jié)點(diǎn)設(shè)為xi,隱層節(jié)點(diǎn)為yj,輸出層為zl,輸入層和隱含層的網(wǎng)絡(luò)權(quán)值為Wji,隱含層和輸出層的網(wǎng)絡(luò)權(quán)值為Vjl。當(dāng)輸出節(jié)點(diǎn)的期望值為tl時(shí),隱含層輸出:
(7)
輸出節(jié)點(diǎn)的輸出值:
(8)
輸出節(jié)點(diǎn)的誤差:
(9)
輸出節(jié)點(diǎn)的誤差一般用來對比網(wǎng)絡(luò)訓(xùn)練時(shí)所設(shè)置的誤差指標(biāo)。如果輸出節(jié)點(diǎn)的誤差小于所設(shè)定的誤差指標(biāo),則說明網(wǎng)絡(luò)已經(jīng)訓(xùn)練完成。如果網(wǎng)絡(luò)訓(xùn)練長時(shí)間不能達(dá)到要求,說明選擇的網(wǎng)絡(luò)訓(xùn)練方法有問題,因此需要設(shè)定合適的迭代次數(shù)來控制迭代時(shí)間。當(dāng)?shù)螖?shù)達(dá)到設(shè)定值時(shí),輸出節(jié)點(diǎn)的誤差還未達(dá)到要求,訓(xùn)練過程立即終止。
BP網(wǎng)絡(luò)常用的傳遞函數(shù)有三種:log-sigmoid型函數(shù),輸入值任意,輸出值位于0和1之間;tan-sigmoid型傳遞函數(shù),輸入值不限,輸出值介于-1和+1之間;purelin線性傳遞函數(shù),輸入和輸出值都可以取任意值。本文設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)PID算法的輸出量為Kp,Ki,Kd值,實(shí)際操作時(shí)為了避免產(chǎn)生系統(tǒng)振蕩,需要將輸出值轉(zhuǎn)變?yōu)閷?yīng)參數(shù)的增量。log-sigmoid型函數(shù)的輸出值只能取正數(shù),所以不可用。歸一化處理是網(wǎng)絡(luò)訓(xùn)練之前必要的數(shù)據(jù)處理手段,一是為了方便tan-sigmoid型傳遞函數(shù)的應(yīng)用,使數(shù)據(jù)映射到傳遞函數(shù)的作用域中;二是減小權(quán)值調(diào)整幅度,消除原始數(shù)據(jù)集影響。
BP網(wǎng)絡(luò)常用的訓(xùn)練函數(shù)分別為trainbfg,traingd和traingdm。trainbfg是BFGS擬牛頓BP函數(shù),可以訓(xùn)練任意神經(jīng)網(wǎng)絡(luò);traingd為批梯度下降訓(xùn)練函數(shù),沿網(wǎng)絡(luò)性能負(fù)梯度方向調(diào)整網(wǎng)絡(luò)性能參數(shù)的權(quán)值和閾值;traingdm為動量批梯度下降函數(shù),可以有效地避免局部最小問題在網(wǎng)絡(luò)訓(xùn)練中出現(xiàn)。
三層BP網(wǎng)絡(luò)可以實(shí)現(xiàn)對任意非線性模型的辨識,將電機(jī)轉(zhuǎn)速誤差e和誤差變化率ec作為BPNN的輸入,Kp,Ki,Kd作為神經(jīng)網(wǎng)絡(luò)的輸出,加上中間隱含層,組成的三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3BPNN結(jié)構(gòu)
由于輸入和輸出值都進(jìn)行了歸一化處理,網(wǎng)絡(luò)中都設(shè)為tan-sigmoid傳遞函數(shù)。對于隱含層節(jié)點(diǎn)數(shù)的確定并沒有一個明確的標(biāo)準(zhǔn),往往需要通過大量的數(shù)據(jù)驗(yàn)證后的經(jīng)驗(yàn)獲得。隱含層節(jié)點(diǎn)數(shù)的多少決定著訓(xùn)練網(wǎng)絡(luò)的優(yōu)劣,節(jié)點(diǎn)數(shù)過少,網(wǎng)絡(luò)泛化能力差,適應(yīng)性不夠;節(jié)點(diǎn)數(shù)過多,增加訓(xùn)練時(shí)間,造成網(wǎng)絡(luò)過適應(yīng)性,隱含層節(jié)點(diǎn)數(shù)參考以下公式得到:
(10)
式中:m為隱含層節(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);o為輸出層節(jié)點(diǎn)數(shù);a為1~10之間的常數(shù)。
用MATLAB構(gòu)建三層BP網(wǎng)絡(luò),傳遞函數(shù)分別設(shè)定為tansig和purelin,訓(xùn)練算法默認(rèn)選擇trainlm。使用電機(jī)控制數(shù)據(jù)中間變量,每組變量包括[eecΔKpΔKiΔKd]。設(shè)定隱含層節(jié)點(diǎn)m的起始數(shù)目為5,進(jìn)行1 000次訓(xùn)練后的網(wǎng)絡(luò)收斂誤差如表2所示。假設(shè)最小誤差為1×10-5,訓(xùn)練網(wǎng)絡(luò)達(dá)到誤差要求所需的迭代次數(shù)N如表3所示。
表2 網(wǎng)絡(luò)訓(xùn)練收斂誤差值
表3 網(wǎng)絡(luò)訓(xùn)練誤差達(dá)標(biāo)迭代次數(shù)
從表2和表3中數(shù)據(jù)可以看出,同樣訓(xùn)練次數(shù)下,隱含層節(jié)點(diǎn)數(shù)為11時(shí)收斂誤差最??;同樣的收斂誤差下,隱含層節(jié)點(diǎn)數(shù)為7時(shí)迭代次數(shù)最小。
訓(xùn)練BP網(wǎng)絡(luò)的樣本由模糊PID控制算法中的過程量構(gòu)成,每一組數(shù)據(jù)由e,ec兩個輸入變量和ΔKp,ΔKi和ΔKd三個輸出變量組成,記為[(e,ec),(ΔKp,ΔKi,ΔKd)]。訓(xùn)練過程如圖4所示,誤差e和誤差變化率ec沿網(wǎng)絡(luò)正向傳播,輸出ΔKp,ΔKi,ΔKd值,網(wǎng)絡(luò)輸出值與訓(xùn)練數(shù)據(jù)總的輸出值之間的差值分別為誤差ep,ei,ed,誤差值沿網(wǎng)絡(luò)反方向傳播,修改網(wǎng)絡(luò)層之間的權(quán)值和網(wǎng)絡(luò)節(jié)點(diǎn)的閾值。對于隱含層單個節(jié)點(diǎn),抽象過程如圖5所示。
圖4BP網(wǎng)絡(luò)數(shù)據(jù)傳輸過程
圖5單節(jié)點(diǎn)數(shù)據(jù)傳遞過程
對于傳遞函數(shù)tansig,則有:
(11)
得到五例電機(jī)實(shí)測數(shù)據(jù),每例數(shù)據(jù)包括100組[(e,ec),(ΔKp,ΔKi,ΔKd)]。其中兩例用于網(wǎng)絡(luò)訓(xùn)練,調(diào)整網(wǎng)絡(luò)層之間的權(quán)重,兩例用于測試訓(xùn)練網(wǎng)絡(luò)的準(zhǔn)確度,最后一例數(shù)據(jù)用于驗(yàn)證。圖6和圖7是隱藏層節(jié)點(diǎn)數(shù)為7時(shí)的網(wǎng)絡(luò)訓(xùn)練誤差曲線和回歸曲線。
圖6訓(xùn)練誤差曲線
圖7訓(xùn)練回歸曲線
由圖6結(jié)果可見,訓(xùn)練達(dá)到91次時(shí),網(wǎng)絡(luò)達(dá)到設(shè)定最小收斂誤差1×10-5,收斂速度較快。圖7為網(wǎng)絡(luò)訓(xùn)練全部樣本回歸曲線,此時(shí)線性相關(guān)系數(shù)R為0.998 1,訓(xùn)練輸出與擬合結(jié)果重合,可見訓(xùn)練后的網(wǎng)絡(luò)具有良好的適應(yīng)性。
設(shè)定電機(jī)目標(biāo)轉(zhuǎn)速值為100 r/min,用訓(xùn)練好的BP網(wǎng)絡(luò)去調(diào)整控制PID的參數(shù)變化,得到電機(jī)轉(zhuǎn)速階躍響應(yīng)曲線如圖8所示。可以看出,響應(yīng)穩(wěn)定時(shí)間約為30 ms,要快于定值PID和模糊PID控制,并且沒有超調(diào),BPNN對電機(jī)起動特性的改善要遠(yuǎn)遠(yuǎn)強(qiáng)于定值PID和模糊PID控制。設(shè)定電機(jī)轉(zhuǎn)速區(qū)間為80~100 r/min,仿真BP網(wǎng)絡(luò)控制下電機(jī)模型的轉(zhuǎn)速跟蹤情況和PID參數(shù)值變化情況,結(jié)果分別如圖9、圖10所示。由圖9和圖10可知,電機(jī)轉(zhuǎn)速下降時(shí)出現(xiàn)了輕微的超調(diào),同時(shí)Kp和Ki參數(shù)也出現(xiàn)了超調(diào)現(xiàn)象,但是電機(jī)轉(zhuǎn)速在上升過程中卻沒有超調(diào)現(xiàn)象,對應(yīng)時(shí)間段內(nèi)PID參數(shù)值也都未發(fā)生超調(diào)。電機(jī)轉(zhuǎn)速上升和下降的響應(yīng)時(shí)間都在25 ms左右,響應(yīng)速度要遠(yuǎn)遠(yuǎn)快于模糊PID控制。仿真結(jié)果表明,BP網(wǎng)絡(luò)對電機(jī)轉(zhuǎn)速的控制性能要好于模糊控制方式,控制系統(tǒng)穩(wěn)定性和響應(yīng)速度上都有一定提升。
圖8階躍響應(yīng)曲線
圖9模型轉(zhuǎn)速跟蹤情況
圖10BP網(wǎng)絡(luò)PID參數(shù)變化曲線
本文選用Φ60行波型超聲波電動機(jī)為控制對象,如圖11所示,電機(jī)諧振頻率為41.6 kHz。圖12是搭建的電機(jī)轉(zhuǎn)速控制實(shí)驗(yàn)平臺,包括Φ60行波型超聲波電動機(jī),DSP2407A開發(fā)平臺及其外圍電路,驅(qū)動電路模塊,OMRON公司生產(chǎn)的EB50S8A-5000p/r型光電編碼器,JC2733D型直流電源,TDS2024C示波器以及PC機(jī)。
圖11控制對象超聲波電動機(jī)
圖12電機(jī)轉(zhuǎn)速控制平臺
(a) BPNN訓(xùn)練過程 (b) BPNN控制電機(jī)流程
圖13BPNN控制算法流程
為了驗(yàn)證本文控制算法的效果,將BPNN-PID算法與模糊PID算法的控制結(jié)果進(jìn)行了比較。圖14是設(shè)定轉(zhuǎn)速值為100 r/min時(shí),電機(jī)在模糊PID算法控制下實(shí)測的階躍響應(yīng)曲線。電機(jī)轉(zhuǎn)速響應(yīng)穩(wěn)定時(shí)間約為40 ms,最大超調(diào)量約為17%,穩(wěn)態(tài)時(shí)轉(zhuǎn)速誤差為5%。圖15是電機(jī)在BPNN-PID算法控制下的階躍響應(yīng)曲線。電機(jī)響應(yīng)穩(wěn)定時(shí)間約為30 ms,沒有超調(diào)發(fā)生,穩(wěn)態(tài)時(shí)轉(zhuǎn)速誤差為2%,相比于模糊PID控制效果,具有更好的起動穩(wěn)定性。
圖16是目標(biāo)轉(zhuǎn)速設(shè)定在80~100 r/min之間,模糊PID算法電機(jī)轉(zhuǎn)速跟蹤實(shí)測曲線。電機(jī)減速時(shí)轉(zhuǎn)速響應(yīng)時(shí)間約為35 ms,電機(jī)加速時(shí)響應(yīng)時(shí)間約為33 ms,且轉(zhuǎn)速調(diào)節(jié)過程中存在明顯的振蕩現(xiàn)象。圖17是BPNN-PID算法時(shí)電機(jī)轉(zhuǎn)速跟蹤實(shí)測曲線。轉(zhuǎn)速下降時(shí)沒有明顯的超調(diào),響應(yīng)時(shí)間約為32 ms;轉(zhuǎn)速上升過程中有輕微的超調(diào),其響應(yīng)時(shí)間約為31 ms。圖18是兩算法轉(zhuǎn)速誤差統(tǒng)計(jì)結(jié)果。BPNN-PID算法的穩(wěn)定性明顯好于模糊PID算法,避免了模糊PID算法控制下0誤差值附近振蕩的情況;BPNN-PID具有更小的超調(diào)量,穩(wěn)態(tài)轉(zhuǎn)速誤差控制在2 r/min以內(nèi),優(yōu)于模糊PID算法結(jié)果。
圖14模糊PID電機(jī)階躍響應(yīng)測試結(jié)果
圖15BPNN-PID電機(jī)階躍響應(yīng)實(shí)測結(jié)果
圖16模糊PID電機(jī)轉(zhuǎn)速跟蹤實(shí)測結(jié)果
圖17BPNN-PID電機(jī)轉(zhuǎn)速跟蹤實(shí)測結(jié)果
圖18穩(wěn)定運(yùn)行時(shí)誤差統(tǒng)計(jì)圖
針對超聲波電動機(jī)非線性強(qiáng)和轉(zhuǎn)速控制難等問題,設(shè)計(jì)了基于BPNN-PID算法的超聲波電動機(jī)轉(zhuǎn)速控制策略,搭建了控制平臺,仿真、實(shí)測和對比驗(yàn)證了本文的BPNN-PID算法的實(shí)用性和的有效性。BPNN-PID具有較強(qiáng)的適應(yīng)性,對控制參數(shù)的調(diào)整更加趨于線性,因此其控制效果要優(yōu)于模糊PID算法,且具有更小的超調(diào)量,穩(wěn)態(tài)時(shí)轉(zhuǎn)速誤差控制在2 r/min以內(nèi),實(shí)時(shí)控制精度達(dá)到±2%。