劉曉飛 高興華 郭慶東 崔金鵬
(北華大學機械工程學院,吉林省吉林市 132021)
機械手臂作為機器人的末端執(zhí)行機構[1-4]已在一些流水線生產(chǎn)中得到廣泛應用[5]。在智能化生產(chǎn)中,步進電機是主要的驅動部件之一[6],作業(yè)時其運行的精確性和響應速度尤為重要。由于步進電機受脈沖頻率控制,其高速時的運動特性易對生產(chǎn)線上的裝配動作如抓、卡、擰工件等產(chǎn)生沖擊,從而造成位置錯移,甚至結構變形等。為確保生產(chǎn)線正常運轉,通常采用降低生產(chǎn)線速度的方式以避免問題的發(fā)生,但因此會影響生產(chǎn)效率[7]。針對以上問題,劉靜等[8-11]對步進電機的應用特性進行了研究與改進,以提高智能化生產(chǎn)效率。
合理控制頻率可為步進電機提供平穩(wěn)的工作特性,頻率過低或過高均會影響步進電機輸出特性,產(chǎn)生低頻振蕩或高頻振動。步進電機低頻振蕩是由于電機的轉子達到穩(wěn)定平衡位置時具有多余的動能[12]。當控制脈沖的頻率等于自由振蕩頻率時,就會發(fā)生低頻振蕩。而當控制脈沖的頻率很高時,脈沖間隔的時間很短,電機轉子尚未到達第一次振蕩幅值,下一個脈沖就到來,如此會產(chǎn)生失步,甚至還會產(chǎn)生高頻振動。
為提高步進電機在智能生產(chǎn)線裝配中的工作性能,消除振蕩與振動的產(chǎn)生,研究適合不同生產(chǎn)需求的輸出特性,本文采用正交兩指機械手臂,以步進電機為動力,研究以S曲線算法作為機械手臂控制算法的運動控制,通過合理設計每一個脈沖的升、降頻,保證步進電機不堵轉、不失步、不過沖,使機械手臂以最少的時間精確運行至指定位置。
機械手臂由步進電機、氣滑環(huán)、滑臺氣缸和機械手指組成,如圖1 所示。
圖1 正交兩指機械手臂結構圖Fig.1 Structural drawing of orthogonaltwo-finger manipulator
步進電機為機械手臂提供旋轉動力,帶動氣滑環(huán)、滑臺氣缸和機械手作旋轉運動。氣滑環(huán)在旋轉的同時傳遞氣路,通過氣動回路控制機械手作夾持動作。
常見的步進電機速度控制算法有梯形曲線算法、指數(shù)型曲線算法以及S曲線算法。
梯形曲線具有運算簡單[13]等特性,但存在加速突變、運行不穩(wěn)定等問題,適用于低精度場合。指數(shù)控制算法曲線實現(xiàn)繁瑣[14-15],適用于高精度場合。S曲線算法的核心在于防止加速度產(chǎn)生突變,減小沖擊,并使步進電機運動具有快速平穩(wěn)的特性,常被應用于精確控制[16];以低頻啟動,高頻率降頻實現(xiàn)減速[17],以此達到快速響應的要求。
步進電機轉矩與輸入的脈沖頻率在電流等參數(shù)不變的情況下一一對應,為實現(xiàn)輸出特性的柔順平滑,利用數(shù)字控制器將連續(xù)S曲線函數(shù)轉換為離散S曲線函數(shù),使步進電機的每個控制脈沖成為頻率可調的S離散信號,從而達到對步進電機輸出特性的良好控制。
S曲線的函數(shù)為Logistic函數(shù),Logistic函數(shù)是一個嚴格的遞增函數(shù),圖形為一個連續(xù)光滑的 S 形,其函數(shù)定義式為:
式中:a為控制曲線傾斜的斜率參數(shù)[18-19]。設脈沖頻率為f(kHz),則
式中:n為電機轉速,r/s ;P為細分倍數(shù)。
由式(2)可得出步進電機最小啟動頻率fmin(kHz),以及運行最大頻率A(kHz)。
設步進電機運行頻率為f(t)(kHz),則
式中:a為斜率常數(shù),是決定運動快慢時間的關鍵因素;t為電機運行時間,s;k為達到A的時間,s;C為常數(shù)。
步進電機是一種數(shù)字電動機,可作為數(shù)字控制系統(tǒng)中的執(zhí)行元件,步進電機將輸入的脈沖電信號變換為階躍性的角位移或直線位移[20-21]。其角位移與脈沖數(shù)成正比,電機的轉速和脈沖信號成正比,通過改變頻率的高低即可改變電機的轉速[22-25]。
根據(jù)步進電機的轉矩頻率特性曲線可知,在電流不變的情況下,當脈沖頻率增加時,電機鐵芯中的渦流損耗隨之增加,輸出功率和轉矩下降,使步進電機頻率隨輸出轉矩的增大而減小。當輸入脈沖頻率增加到一定值時,步進電機將無法帶動任何負載,而且只要受到很小的擾動,就會振蕩、失步,甚至停轉。
步進電機的運動方程,即
式中: Te為步進電機的電磁轉矩,Nm;J為步進電機的轉動慣量,kg·m2;D為系統(tǒng)粘性阻尼系數(shù);T為輸出轉矩,Nm;ω為電機瞬時角速度,rad/s。
ω與f成正比關系,即
式中:Q為線性系數(shù),Q=2π。
電機從靜止開始加速,即t=0 時,ω=0,則聯(lián)立式(3)(4)(5)得:
以正轉90°為例,根據(jù)步進電機的參數(shù)以及不同的斜率常數(shù)a計算得出多組頻率曲線,如圖2 所示。
圖2 不同斜率常數(shù)a下的頻率曲線Fig.2 Frequency curve under diあerent time constant a
圖3 不同斜率常數(shù)a下的轉矩曲線Fig.3 Torque curve under diあerent time constant a
轉矩曲線如圖3 所示,在不同斜率參數(shù)a下轉矩的單位時間變化率不同,電機分別在13、22 ms與28 ms時,頻率達到最大,轉速最快,轉矩最小,符合電機運動規(guī)律。
一般情況下S曲線分為 “三段”,即加速、勻速和減速階段,但當步進電機轉過的角度很小時,運動曲線只需要兩段,即加速和減速階段。電機先加速再減速,此曲線為前半段加速曲線;減速階段和加速階段類似,可以分別單獨在軟件編程中做一個數(shù)組,也可以和加速階段共用一個數(shù)組。
輸入步進電機參數(shù),得到頻率曲線,并利用改進歐拉遞推方法獲得離散頻率。設微分方程為:
設時間區(qū)間為[a,b],從區(qū)間中取離散的點
取k=0,1,2,…,N,從t0開始,逐漸遞推求解t1時的y1,t2時的y2,…,直至tn時的yn。
其改進歐拉遞推公式為:
式中:h=tn+1-tn。
設置優(yōu)化曲線的約束參數(shù)條件,細分倍數(shù)P、最小啟動頻率fmin、最大運行頻率A,時間區(qū)間為[0,30],離散點數(shù)為100。得到a=0.44 時的離散頻率曲線如圖4所示。
圖4 連續(xù)頻率曲線與對應的優(yōu)化離散頻率曲線Fig.4 Continuous frequency curve and the corresponding discrete frequency curve
確定定時器的自動重裝值。本試驗機械手臂的控制器為STM32,將STM32 的定時器設置為溢出中斷模式, 定時器的溢出中斷周期由時鐘預分頻數(shù)和自動重裝值決定,固定預分頻數(shù)后,中斷周期由自動重裝值決定。
將計算得到的離散頻率值處理為數(shù)組保存于控制器中,控制器按順序讀取數(shù)組里的頻率值進行定時器計數(shù)值重裝載。根據(jù)不同時刻的頻率,對應不同的自動重裝載值,從而實現(xiàn)S曲線離散化。
本試驗的機械手臂使用86 系列步進電機,選用HB860 驅動器。氣缸選用型號MHF2-8D1R的滑臺氣缸,行程為260 mm。試驗所用三階魔方為市面比賽專用魔方,材料為ABS塑料,摩擦系數(shù)為0.48,邊長為57 mm。手臂模型如圖5 所示。
圖5 正交兩指機械臂三維建模圖Fig.5 3D modeling diagram of orthogonal two-finger manipulator
機械臂控制核心采用STM32F407,通過定時器輸出PWM波調控電機運動,利用I/O口控制電磁閥換向,實現(xiàn)機械手爪動作。
建立步進電機平衡方程,并在MATLAB中搭建仿真模型,如圖6 所示。
圖6 系統(tǒng)仿真建模Fig.6 System simulation modeling
頻率發(fā)生器輸出離散的頻率數(shù)組,通過PWM得到不同頻率的方波,輸入到驅動,驅動電機輸出轉矩仿真結果。根據(jù)不同斜率系數(shù)a得到相應的轉矩曲線圖,如圖7 所示。
圖7 不同斜率常數(shù)所對應的轉矩曲線圖Fig.7 Torque curve corresponding to diあerent slope constants
仿真結果表明,電機在22 ms,頻率達到最大,轉矩達到最小,此時轉速最大,加速度最大;當a為0.3 時,頻率與轉矩的單位時間變化率較小,因此加速時間較長,如圖7a所示;當 a為0.8 時,頻率與轉矩的單位時間變化率較大,導致電機發(fā)生失步,如圖7c所示。理論計算輸出的轉矩曲線與仿真曲線擬合度基本一致,其中誤差由軟件處理所致。
將機械手臂應用于魔方機器人上進行測試,機械手臂試驗平臺如圖8 所示。
圖8 魔方機器人試驗平臺Fig.8 Rubik's cube robot test platform
以帶載正轉90°為例,采用2.2 章節(jié)計算優(yōu)化后的3 組離散S曲線,其中a=0.44 時的曲線如圖9 所示。
圖9 優(yōu)化后的S曲線圖Fig.9 The optimized S-curve
離散點數(shù)為100,分別輸入到控制器中,讀取試驗數(shù)據(jù),與仿真數(shù)據(jù)進行對比。對比結果如表1 所示。
表1 仿真用時與試驗用時對比Tab.1 Comparison of simulation time and experiment time
測試結果表明:電機帶載正轉90°時,斜率常數(shù)等于0.3 時,電機運行時間并未達到最短;斜率常數(shù)等于0.44 時,運行平穩(wěn),時間短,且不發(fā)生失步及過沖;而斜率常數(shù)等于0.8 時,由于頻率提升快,導致失步,嚴重時堵轉,致使電機平穩(wěn)后并未達到期望轉角。
本文結合實際需求,研究將離散S曲線算法用于步進電機輸出平滑轉矩控制,算法在還原魔方機械臂調控中應用,達到了速度快、精度高的效果。該方法通過合理設計每個脈沖頻率的升、降,有效防止了步進電機失步、過沖等現(xiàn)象,并且使步進電機能以最快的響應速度執(zhí)行動作。算法理論可推廣應用于不同的步進電機,通過優(yōu)化理論方程中的參數(shù),確定適用于不同環(huán)境下步進電機的S曲線,經(jīng)過離散處理后控制步進電機的運動,可以實現(xiàn)不失步、不過沖,達到快速、精準控制的目的。S曲線算法是一種全新的步進電機調速算法,適用于機械手裝配柔性動作等控制。