張耿, 汪有為
(1.合肥工業(yè)大學(xué) 機械工程學(xué)院,安徽 合肥 230009;2.奇瑞汽車股份有限公司,安徽 蕪湖 241000)
在一般多軸機床系統(tǒng)中,每個軸是被單獨的伺服控制回路設(shè)計成最小化軸向位置誤差。即使用最佳設(shè)計的伺服算法,這些類型的傳統(tǒng)解耦控制策略也不能夠控制機床擁有足夠的精度來滿足新設(shè)計零件不斷增長的精度要求。
雙軸輪廓加工系統(tǒng)的電機按給定的信號運轉(zhuǎn),要求運動的實際輪廓與預(yù)期輪廓之間的輪廓誤差控制在相對小的范圍內(nèi),以提高數(shù)控加工的精度。為了實現(xiàn)這個功能,本文選擇將單軸PID控制和交叉耦合策略同時應(yīng)用到雙軸控制系統(tǒng)中,以減小直線路徑和圓弧路徑下輪廓誤差[1]。
雙軸輪廓加工系統(tǒng)硬件組成包括上位機、DSP控制板、伺服電機驅(qū)動器和三相交流電機。如圖1所示,上位機軟件可以向DSP控制板發(fā)送預(yù)期的輪廓信號,并接收來自下位機的預(yù)期位置信息以及實際位置信息。DSP控制板通過伺服驅(qū)動器向電機發(fā)送控制信號并能接收電機的位置反饋。
圖1 硬件結(jié)構(gòu)圖
圖2為軟件設(shè)計結(jié)構(gòu)圖[2],包含了1個插補單元、2個單軸控制單元、1個交叉耦合的系統(tǒng)控制器以及2個被控對象。就本系統(tǒng)而言, 2個被控對象就是2臺三相交流伺服電機。
圖2 軟件結(jié)構(gòu)圖
插補單元就是一個直線路徑或者圓弧路徑的插補器,根據(jù)加工指令的進給速度,逼近預(yù)期輪廓。
單軸控制器在本系統(tǒng)中是一個PID控制器,它所產(chǎn)生的作用是為了減小每個軸的軸向跟蹤誤差。
交叉耦合控制器是針對雙軸之間動態(tài)影響形成的輪廓誤差精度問題,在直線路徑或者圓弧路徑下改善輪廓誤差。
插補計算的主要目標(biāo)是算出下一插補點的坐標(biāo),即每個坐標(biāo)的進給量ΔX和ΔY,根據(jù)加工指令的進給速度,以插補周期為時間單位,計算每一插補周期的輪廓步長,到達下一插補點。在進給過程中,對實際位置采樣,與理論坐標(biāo)值比較,在后一插補周期修正位置誤差[3]。在本設(shè)計中,插補單元是一個直線路徑或者圓弧路徑的插補器。根據(jù)上位機發(fā)送到下位機DSP的位置信號,逐步逼近預(yù)期的輪廓。
無論進行直線還是圓弧插補,都必須要計算出單位時間的進給量,然后進行插補點的計算。
(1)
式中:V為指令進給速度, mm/min;T為插補周期, ms;L為單位時間進給量,μm/ms。
圖3 直線插補模型
如圖3所示,直線起點在O(0,0),終點在N(XN,YN),M為直線上一點,直線與X軸正方向夾角為α, 單位時間進給量為L[4]??傻茫?/p>
(2)
則X、Y軸坐標(biāo)的進給量為:
ΔX=L×cosα
(4)
(5)
圖4 圓弧插補模型
圓弧插補,就是以步長為相鄰兩個插補點間的弦長,由半徑和當(dāng)前插補點的坐標(biāo),計算當(dāng)前插補點到后一插補點的進給量△X和△Y[5],如圖4所示??傻茫?/p>
∠MOF=∠NOF=0.5Δφ
(6)
θ=φi+0.5Δφ
(7)
(8)
則X、Y軸坐標(biāo)的進給量為:
(9)
(10)
雙軸伺服控制系統(tǒng)是要控制兩個軸協(xié)調(diào)運動,對單軸的運動的精確控制是實現(xiàn)對雙軸運動控制的重要前提。為提高X軸或Y軸的單軸跟蹤誤差,需要將單軸的PID控制器加到單軸控制中,對輪廓加工過程中的誤差進行補償[6]。
被控對象通過PID控制器求出系統(tǒng)的偏差,然后對偏差進行比例、積分和微分的線性組合,獲得偏差e(t)的過去、現(xiàn)在以及未來的相關(guān)信息[7]。數(shù)字式的PID增量形式為:
u(k)=u(k-1)+c0×e(k)+c1×e(k)+
c2×e(k-2)
(11)
其中:c0=Kp×(1+T/Ti+Td/T)
c1=-Kp×(1+2×Td/T)
c2=Kp×Td/T
式中:u(k) 為當(dāng)前單軸的控制量;u(k-1)為上一次單軸的控制量;e(k) 為現(xiàn)在的偏差值;e(k-1)為上一次的偏差值;T為采樣周期;Kp為比例系數(shù);Ti為積分系數(shù);Td為微分系數(shù)。
PID控制器中參數(shù)取值的方法雜多,實際調(diào)試中普遍采用試湊法[8]。通過試驗確定第一軸的PI參數(shù)Kp=1.4、Ti=0.2,第二軸的PI參數(shù)Kp=1.1、Ti=0.175。
單軸系統(tǒng)的軟件流程圖設(shè)計如圖5所示,通過插補計算,計算偏差和PID控制調(diào)節(jié),得出下一插補點的位置,控制電機的角度與方向。
圖5 單軸PID功能程序流程圖
圖6為PID調(diào)節(jié)前后的脈沖偏差對比圖??梢钥闯?,PID調(diào)節(jié)前,偏差Ek在+9~+14個脈沖之間,PID調(diào)節(jié)后,偏差Ek在-3~+3個脈沖之間。所以,單軸PID能夠明顯減小系統(tǒng)的輪廓誤差。
圖6 PID調(diào)節(jié)前后的脈沖偏差對比圖
圖2中虛線部分是交叉耦合部分的原理示意圖,它的輸入是兩個單軸的跟蹤誤差,輸出是輪廓誤差值進行PID計算后的控制量,再將該控制量按一定比例分配到兩個單軸控制[9]。下面分別以直線路徑和圓弧路徑分別對雙軸交叉耦合控制系統(tǒng)的輪廓誤差進行分析。
圖7 直線運動的輪廓誤差示意圖
對于直線路徑下的輪廓誤差建模如圖7所示。圖7中QN(XN,YN)為任意時刻預(yù)期點,Q(XO,YO)為同一時刻實際所運行到的點,α為參考輸入位置處軌跡切線與同X軸正方向的夾角,E為跟蹤誤差,ε為輪廓誤差,E沿X、Y軸分解得到EX、EY[10]。
由圖7可得:
(12)
則:
ε=-EXsinα+EYcosα
(13)
由式子可得E沿X軸與Y軸的值與ε之間的函數(shù)關(guān)系,觀察上式可知當(dāng)路徑為直線運動時,ε為EX與EY的線性表達式。只要運動路徑不發(fā)生變動,斜率保持固定,并不需要變增益交叉耦合理論,只用在兩軸方向分別加一個固定的補償量即可。
圖8 圓弧運動的輪廓誤差示意圖
對于圓弧路徑,曲率半徑ρ即為圓的半徑,在所取點附近用圓來代替曲線,當(dāng)線段取得很小時這樣的操作是可行的。圖8為圓弧路徑下所構(gòu)造的模型。QN(XN,YN)點是運行時實際點的位置,Q(XO,YO)為這一時刻預(yù)期曲線弧線對應(yīng)預(yù)期點處的曲率圓心坐標(biāo)。
系統(tǒng)輪廓誤差可表示為:
(14)
經(jīng)過泰勒展開后得到:
ε=-(sinβ-EX/2ρ)×EX+(cosβ+EY/2ρ)×EY
(15)
在系統(tǒng)運行時,β的值在不斷地變化,下位機需要根據(jù)系統(tǒng)的位置不斷地計算出交叉耦合算法的增益。
交叉耦合控制器的輸入是兩個軸的跟蹤誤差EX和EY,經(jīng)過交叉耦合后,輸出分別被加到兩個軸。
如圖9所示,當(dāng)系統(tǒng)的EX與EY都產(chǎn)生后,交叉耦合算法會先判斷它所對應(yīng)的輪廓誤差模型,以求得輪廓誤差值,然后對輪廓誤差值進行PID計算,最后將求得的控制量分配到X、Y軸上,使得輪廓誤差的值被優(yōu)化,精度有所提高。經(jīng)整定得到Kp=0.55、Ti=1.3、Td=0.000 5。
圖9 交叉耦合程序流程圖
為了驗證所設(shè)計的交叉耦合控制策略能否減小系統(tǒng)的輪廓誤差,需要在帶負載條件下,對沒有添加交叉耦合控制策略的輪廓誤差值與添加交叉耦合控制策略的輪廓誤差值進行比較。試驗選擇的伺服電機額定電壓36 V、功率0.2 kW,所帶的負載為600 g的砝碼。
5.1.1不帶交叉耦合控制策略的直線誤差分析
當(dāng)不帶交叉耦合控制策略,系統(tǒng)控制雙軸走直線時,根據(jù)直線插補原理可知,此過程相當(dāng)于雙軸各自的PID控制進行勻速運動。電機沒有正反轉(zhuǎn)換向的情況發(fā)生,運動比較平緩。輪廓誤差值如圖10所示。
圖10 不帶交叉耦合的直線輪廓誤差折線圖
由圖10可以看出,系統(tǒng)的輪廓誤差在-26~+26個脈沖之間,大部分集中在-1、0、+1,三者約占40%左右,超過5個脈沖的約占20%。
5.1.2帶交叉耦合控制策略的直線誤差分析
帶交叉耦合控制是雙軸PID控制的優(yōu)化,交叉耦合控制能夠結(jié)合X軸的跟蹤誤差與Y軸的跟蹤誤差來控制輪廓誤差值,使實際輪廓更接近預(yù)期的輪廓。輪廓誤差值如圖11所示。
圖11 帶交叉耦合的直線輪廓誤差折線圖
由圖11可以得到,輪廓誤差值最大不超過4個脈沖,最小不超過6個脈沖,輪廓誤差值超過5個脈沖的比例幾乎等于零。與圖10所示的輪廓誤差值相比,性能有了明顯的提高,不僅輪廓誤差的最大值變小很多,也更加集中于0附近,使系統(tǒng)誤差更加穩(wěn)定、精度更高。
5.2.1不帶交叉耦合控制策略的圓弧誤差分析
當(dāng)不帶交叉耦合控制策略、系統(tǒng)控制雙軸走圓弧輪廓時,根據(jù)圓形輪廓插補原理可知:當(dāng)系統(tǒng)運行到與X軸或Y軸垂直時會使相對應(yīng)的軸發(fā)生方向上的改變。并且在走順時鐘圓形輪廓時,當(dāng)系統(tǒng)運行在第一和第三象限時,X軸的插補脈沖數(shù)會減小,Y軸的插補脈沖數(shù)會逐漸增多;當(dāng)系統(tǒng)運行在第二和第四象限時,X軸的插補脈沖數(shù)會增多,Y軸的插補脈沖數(shù)會逐漸減少。輪廓誤差值如圖12所示。
圖12 不帶交叉耦合的圓弧輪廓誤差折線圖
由圖12可以得到輪廓誤差值最大不超過22個脈沖,最小不超過-29個脈沖,集中在0個脈沖值附近,但是誤差值超過5個脈沖的比例上升為26%附近。
5.2.2帶交叉耦合控制策略的圓弧誤差分析
帶交叉耦合的圓弧路徑與帶交叉耦合的直線路徑有所不同,因為在直線路徑下,走直線的斜率是一定的,參數(shù)很精確,并且不需要時刻改變系統(tǒng)運行時候的參數(shù)。但是在走圓弧時候,由于不同時刻所在圓的位置的不同,造成所走輪廓上切線斜率不一樣,因參數(shù)與斜率成一定的函數(shù)關(guān)系,所以在走圓弧路徑時候,需要每次走完一組脈沖后改變系統(tǒng)的參數(shù)值。輪廓誤差值如圖13所示。
圖13 帶交叉耦合的圓弧輪廓誤差折線圖
由圖13可知,輪廓誤差值最大不超過13個脈沖,最小不超過-18個脈沖,輪廓誤差值超過5個脈沖的比例約為10%略低。與圖12相比較而言,添加交叉耦合控制策略能夠明顯提高系統(tǒng)的輪廓精度。
由于輪廓誤差的形成原因主要是兩軸的跟蹤誤差,添加兩個單軸的PID控制可以觀察到雙軸控制系統(tǒng)的軸向跟蹤誤差值的減小。最后,在帶負載條件下,比較沒有添加交叉耦合控制策略的輪廓誤差值與添加交叉耦合控制策略的輪廓誤差值,根據(jù)試驗可以確定,基于交叉耦合控制的該雙軸輪廓加工系統(tǒng)具有較好的加工精度。