馮 浩,蔣 鵬,毛 毅
(杭州電子科技大學,杭州 310018)
?
基于STM32的行波超聲波電動機定位控制系統研究
馮 浩,蔣 鵬,毛 毅
(杭州電子科技大學,杭州 310018)
針對超聲波電動機自鎖能力強、響應速度快的特點,提出了一種基于STM32的超聲波電動機直線定位方法。通過對光電編碼器產生的信號再次處理,精確控制超聲波電動機的旋轉角度,進而達到利用超聲波電動機進行高精度定位的目的,使直線定位系統的誤差進一步減小。實驗結果表明,該方法能較好地達到利用超聲波電動機進行高精度定位的目的。
超聲波電動機;STM32;高精度;定位控制
行波超聲波電動機(以下簡稱USM)作為新興的運動控制部件,其結構及運行原理同以往的電磁電動機有很大的區別。USM依靠壓電材料的逆壓電效應實現能量轉換,通過定子和轉子之間的摩擦耦合來傳遞驅動力的。它具有定位精度高、抗惡劣環境、轉矩大、自鎖能力強等優勢[1],這些優勢使得USM在工業控制領域、精密定位系統、相機調焦等方面得到了較為廣泛的使用[2]。
USM是一類非線性的控制對象,而且具有時變特,因此,在對USM的定位控制上具有較大的難度。在比較充分研究電機系統特征的基礎上,根據控制要求,有針對性的設計USM的控制方法[3]。USM在實際運行中,隨著時間的累積,電機的溫度會上升,轉速下降,即產生了蠕動。這對于需要穩速應用的控制系統帶來了比較大的困難。
為了解決這些問題,本文使用型號為USR60-E3的USM,在實驗系統開發研究的基礎上,提出了基于STM32的直線定位方法。
1.1 行波USM的工作原理
行波USM作為新興的運動控制部件,它的結構及運行原理和以往的電磁電動機不同,USM依靠壓電材料自身的逆壓電效應實現機電能量轉換。圖1為壓電材料的逆壓電效應。

圖1 逆壓電效應
如圖1所示,當對壓電材料的兩端分別施以不同方向的電壓時,壓電材料就會被拉伸或者被壓縮,即為壓電材料的逆壓電效應。USM就是利用壓電材料自身的逆壓電效應來產生機械振動,再把該振動轉換成旋轉或直線運動等多種形式。其能量轉換過程如圖2所示。

圖2 能量轉換過程
USM在實際轉動的過程中,會涉及到兩個能量的變換過程。首先,由壓電材料自身的逆壓電效應產生機械振動,把電能轉換為機械能。其次,彈性體的微觀振動通過定子和轉子之間的摩擦耦合,使移動體沿著某一方向進行連續的宏觀運動,從而把彈性體的超聲振動的能量轉換成轉子的動能[4]。
1.2 USM的運行性能
本文的控制對象是型號為USR60-E3的USM,同時使用對應的電機驅動器。實驗過程中,對該電機轉速特性進行了實際測定,并繪制了外部輸入調速電壓與轉速的曲線圖,曲線圖如圖3所示。由圖3可知,電壓在0.5~2.2 V區間內,USM的外部輸入調速電壓與轉速的關系總體上呈線性變化。

圖3 外部輸入調速電壓與轉速的曲線圖
2.1 定位控制原理
本定位控制系統采用的光電編碼器的分辨率為1 000線/圈,為了使系統的定位精度進一步提高,需要在信號檢測的精度方面進一步提高。本定位控制系統采用對光電編碼器的信號進行細分,在一個脈沖周期內使用定時器來計數,脈沖周期不同,定時器的計數值就不同,這樣就可以實現精度的提高[5]。
高頻插值的實現方法首先是用STM32的外部中斷將光電編碼器的脈沖信號的下降沿進行捕獲。當編碼器脈沖的下降沿第一次被檢測到時,產生中斷,同時定時器開始啟動。定時器在系統開始定位之前,就已經配置好,只是未啟動。啟動定時器后,定時器的計數器就會開始計數,在光電編碼器下一個脈沖下降沿到來之前,該計數器一直在進行計數。如果計數器計到設定值,產生中斷,將該計數器復位,并記錄進入中斷的次數。如果光電編碼器的輸出脈沖下降沿再次被檢測到時,便停止計數,將定時器的預設值乘以進入中斷的次數加上計數器寄存器的當前值,即為編碼器一個脈沖周期的高頻插值數目。部分程序如下:
void EXTI1_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line1) != RESET)
{
if(capture_number==0 ) //第一次捕獲
{
TIM_Cmd(TIM2, ENABLE); //開啟定時器
capture_number=1; //設置標志
}
else if(bujincircle*4>=circlepulse&&capture_number==1)
//第二次捕獲
{
TIM_Cmd(TIM2, DISABLE); //關閉定時器
finish_flag = 1;
}
EXTI_ClearITPendingBit(EXTI_Line1);
//清除EXTI1線路掛起位
EXTI_ClearFlag(EXTI_Line1);
}
}
Number = 65535*Cnt+TIM2->CNT;
//計算高頻插值數,TIM2->CNT是計數器寄存器內部的值,
//CNT是進入中斷的次數,65535是定時器的預設值
高頻插值數目同轉速之間的關系式:
(1)
式中:f是STM32的定時器的計數頻率;S是編碼器分辨率;N是高頻插值數目。
高頻插值脈沖數和電機旋轉的角度存在相應的關系。若光電編碼器分辨率為S,光電編碼器一個周期的高頻插值數為M, 則可計算出1個高頻脈沖對應的電機旋轉角度θ:
(2)
電機需要旋轉的角度可以通過式(2)轉換為高頻脈沖數。定時器的計數頻率越高,光電編碼器的一個脈沖周期對應的高頻插值數就越大,控制系統的定位精度就越高。因此,根據高頻插值數對電機進行旋轉角度控制,進而實現位置的控制,可以達到比較理想的效果。
2.2 定位控制實現方法
USM直線定位的實現過程如下:首先預設USM需要旋轉的角度和轉速,由式(2)計算出電機旋轉的角度對應的光電編碼器輸出脈沖數,一般情況下,計算得到的脈沖數都是小數,將該脈沖數分為整數部分和小數部分;然后起動USM,當光電編碼器輸出的脈沖數到達計算出的整數脈沖后,開始利用高頻插值進行定位。采用高頻插值是為了準確地完成計算所得脈沖的小數部分對應的距離。具體如下:由于使用了PID算法對USM進行了控速,其一個脈沖周期的高頻插值數是恒定的。將該高頻插值數與計算所得的小數部分相乘。所得結果賦值給定時器作為預設值。啟動該定時器,當定時器產生中斷時,使USM停止,如此小數部分的對應的距離也能準確走完。這樣便可以提高USM的定位精度。USM的定位流程框圖如圖4所示。

圖4 USM的定位流程框圖
為了檢驗USM的控制精度,我們將精度為1μm的光柵尺與直線導軌固定,直線導軌的滑塊和光柵尺的光柵讀數頭同步移動,如此可將滑塊實際的距離變化測量出來。在定位高頻脈沖個數計數完成時,USM停止,此時數顯表上顯示的數值即為滑塊實際移動的距離。將實際移動距離和理論距離進行比較,算出誤差,即可知USM的定位精度,從而可達到USM定位控制精度上的提高。整個直線控制系統搭建好后,進行實驗測定,控制系統的實際數據如表1所示。

表1 直線控制系統實際運行過程測量的數據
USM轉速穩定是本直線定位控制系統研究方法的前提。只有當轉速恒定時,進行高頻插值的數目才能保持不變,這樣就可以根據高頻插值數來判定USM的旋轉位置,實現USM的高精度定位。
將高頻插值r(k)與預設值y(k)進行比較,即可以得到誤差e(k):

(3)
實驗中應用PID算法,它的計算公式:
(4)
式中:Kp是比例系數;Ki是積分系數;KD是微分系數。
通過運算可以得到增量Δu(k),然后把Δu(k)加上初始值u(k-1),結果作為電壓值u(k)。
程序流程框圖如圖5所示。

圖5 數字PID程序流程框圖
在實際調試過程中,為了驗證設計的PID算法的作用,不斷修改PID參數進行調試,并通過實驗記錄了幾組數據。USM在沒有負載的狀況下,轉速的初始值是28r/min。實驗過程中不斷修改PID的參數,最終可以達到轉速的相對穩定,實驗數據如表2所示。本系統實驗整定的Kp=0.000 625,Ki=0.000 1,KD=0.000 5。

表2 PID控制系統轉速和高頻插值數測量表
由表2可知,USM的轉速蠕動得到了較好的控制,轉速誤差較小,有助于提高USM的定位控制精度,實現高精度的定位控制。
本文針對USR60-E3型的行波USM,設計了基于STM32的USM直線定位系統,并對USM轉速恒定進行了重點研究,設計一種較為實用的定位控制系統,較好地解決了USM隨溫度的上升導致的轉速降低問題,控制精度也得到了較好的提高,在低速的控制場合可以很好地滿足控制要求。
[1] 趙淳生,李朝東.日本超聲電機的產業化、應用和發展[J].振動、測試與診斷,1999,19(1):1-7.
[2] 趙淳生. 面向21世紀的超聲電機技術[J]. 中國工程科學,2002,4(2):86-91.
[3] 李華峰,辜承林.使用PI控制的超聲波電動機精密位置控制[J].微電機,2002,35(2):23-26.
[4] 黃茹楠,陳在禮.超聲電機在國外的發展[J]. 振動、測試與診斷,2002,22(4):270-276.
[5] 馮曉英,李憲章,馮浩.行波超聲波電動機的微步精密定位控制研究[J].嘉興學院學報,2008,20(3):21-25.
Research on Positioning Control System of Ultrasonic Motor Based on STM32
FENGHao,JIANGPeng,MAOYi
(Hangzhou Dianzi University,Hangzhou 310018,China)
According to the characteristics of ultrasonic motor which has the self-locking and the advantages of fast response, an ultrasonic motor positioning method based on STM32 was proposed. By processing the signal generated by the photoelectric encoder again, the rotating angle of ultrasonic motor was accurately control, and the purpose of high precision positioning of using the ultrasonic motor was achieved, further reducing the error of the linear positioning system. The experimental results show that this method can achieve the goal of using ultrasonic motor for high precision positioning.
ultrasonic motor; STM32; high precision; positioning control
2015-06-26
TM359.9
A
1004-7018(2016)04-0065-03
馮浩(1956-),男,博士,教授,研究方向為電機與控制。