常州劉國鈞高等職業(yè)技術(shù)學校 胡丞熙
針對傳統(tǒng)方法在高精度數(shù)控機床加工軌跡控制實際應(yīng)用中存在誤差較大的問題,提出基于PLC 技術(shù)的高精度數(shù)控機床加工軌跡控制方法。通過對數(shù)控機床運動學正變換和逆變換,求解數(shù)控機床刀具驅(qū)動位移,建立數(shù)控機床運動數(shù)學模型,通過將讀取到的刀具實際點位數(shù)據(jù)與理想軌跡比對,預測出高精度數(shù)控機床加工軌跡誤差,利用PLC 技術(shù)對誤差點位坐標轉(zhuǎn)換,以及中心指令點擬合,生成加工軌跡控制程序,通過數(shù)控機床運動數(shù)學模型輸出,實現(xiàn)對數(shù)控機床加工軌跡優(yōu)化控制。經(jīng)實驗證明,應(yīng)用設(shè)計方法機床加工誤差小于傳統(tǒng)方法,在機床加工軌跡控制方面具有良好的應(yīng)用前景。
數(shù)控機床作為一種零件加工設(shè)備,已經(jīng)被廣泛應(yīng)用到多個領(lǐng)域中。隨著加工行業(yè)對精度要求的不斷提高,在傳統(tǒng)數(shù)控機床的基礎(chǔ)上,通過優(yōu)化刀具、伺服給進系統(tǒng)等,逐漸衍生出高精度數(shù)控機床,目前高精度數(shù)控機床已經(jīng)被廣泛應(yīng)用到航空航天制造業(yè)、汽車制造業(yè)等行業(yè)[1]。評價高精度數(shù)控機床的加工精度是衡量機床工作性能的關(guān)鍵指標,受到機床自身因素或者外界因素影響,高精度數(shù)控機床在加工過程中可能會存在動態(tài)誤差或者靜態(tài)誤差,誤差的存在直接影響著高精度數(shù)控機床加工軌跡,從而機床加工生產(chǎn)的產(chǎn)品質(zhì)量無法達標,因此對高精度數(shù)控機床加工軌跡控制是非常有必要的。針對高精度數(shù)控機床加工誤差問題,國外研究者從不同的角度提出了多種解決辦法,提出了高精度數(shù)控機床加工軌跡優(yōu)化控制方法,以及加工軌跡插補方法。但是國內(nèi)高精度數(shù)控機床加工軌跡控制技術(shù)起步比較晚,雖然近幾年掀起了研究熱潮,但是現(xiàn)有的控制方法在實際應(yīng)用中控制效果仍舊比較差,由于控制流程比較復雜,計算量較大,控制后數(shù)控機床加工軌跡與理想加工軌跡仍然存在較大的誤差,已經(jīng)無法滿足高精度加工需求,為此提出基于PLC 技術(shù)的高精度數(shù)控機床加工軌跡控制方法。
對于高精度數(shù)控機床加工軌跡的控制,涉及數(shù)控機床的運動學,故此次設(shè)計的控制方法,第一步為建立數(shù)據(jù)機床運動數(shù)學模型,對高精度數(shù)控機床運動學以數(shù)學形式描述,將其作為控制對象;第二步,通過讀取數(shù)控機床加工文件中相關(guān)數(shù)據(jù),獲取到數(shù)控機床運動軌跡坐標信息,并預測分析出數(shù)控機床加工軌跡誤差;第三步,根據(jù)預測結(jié)果,利用PLC 技術(shù)重新編碼數(shù)控機床加工軌跡,通過刀具空間位置坐標系轉(zhuǎn)換和中間指令點擬合,對原有的運動軌跡進行調(diào)整和優(yōu)化,實現(xiàn)對高精度數(shù)控機床加工軌跡的控制。
數(shù)控機床運動數(shù)學模型是加工軌跡控制轉(zhuǎn)換工具,由于其運動符合線性規(guī)律,可以利用數(shù)學方程式的形式將其運動軌跡表示出來[2]。數(shù)控機床運動軌跡為機床刀具位置在三維空間內(nèi)的變換所形成的路徑,其位置的變換主要依靠變換矩陣,假設(shè)數(shù)控機床工作面空間坐標系為N,在該三維坐標系中刀具繞空間坐標軸做旋轉(zhuǎn)、平移運動,故數(shù)控機床運動坐標變換為:
公式(1)中,F(xiàn)表示數(shù)控機床運動坐標變換數(shù)學模型;R(X,A)、R(Y,B)、R(Z,C)分別為數(shù)控機床刀具繞空間坐標系X、Y、Z坐標軸、沿矢量平移A、B、C的變換矩陣[3]。為了進一步對數(shù)控機床加工運動學數(shù)學描述,基于數(shù)控機床運動坐標變換數(shù)學模型,對數(shù)控機運動學逆變換和正變換。
逆變換是將刀具向空間坐標軸位移脈沖當量的轉(zhuǎn)換,假設(shè)數(shù)控機床工作面空間N中刀具參考點的位置信息為n,其中包括刀具參考點位的坐標、角度等信息,當機床刀具的擺動角度為零時,此時高精度數(shù)控機床可以等效為一個三軸聯(lián)動機床,刀具的驅(qū)動位移可表示為:
公式(2)中,q(t)表示刀具擺動角度為零情況下,在t時刻驅(qū)動刀具的位移;x、y、z表示在空間坐標系中刀具參考點位橫坐標、縱坐標、斜坐標;xw、yw、zw表示刀具偏置矢量的橫坐標、縱坐標和斜坐標[4]。當?shù)毒叩臄[動角度不為零時,此時高精度數(shù)控機床可以等效為一個五軸聯(lián)動機床,刀具的擺動角度由刀具繞坐標軸的角度所決定,利用歐拉角的形式描述刀具的位姿,進而可以求出刀具的驅(qū)動位移,其用公式表示為:
公式(3)中,q0(t)表示刀具擺動角度不為零情況下,在t時刻驅(qū)動刀具的位移;r表示刀具參考點在固定參考坐標系中的方位矢量;a表示三維空間坐標系N相對于固定參考坐標系的歐拉角;b表示刀具的姿態(tài)矢量;x0、y0表示參考點在固定參考坐標系中的橫坐標與縱坐標。
正變換是將刀具向空間坐標軸位置與擺動角度的變換,假設(shè)數(shù)控機床各支鏈轉(zhuǎn)動副的轉(zhuǎn)角為α,根據(jù)牛頓-拉斐遜數(shù)值理論,可以將數(shù)控機床運動學正變換表示為:
公式(4)中,q1(t)表示數(shù)控機床運動學正變換位移;β表示數(shù)控機床刀具擺動角度[5]。通過以上數(shù)控機床運動學正變換和逆變換分析,建立數(shù)控機床運動數(shù)學模型為:
公式(5)中,Q表示數(shù)控機床運動數(shù)學模型,在該數(shù)學模型上控制機床加工軌跡。
高精度數(shù)控機床所有運動數(shù)據(jù)都記錄在機床的加工文件中,利用OSHFI 讀卡器對數(shù)控機床加工文件中所有刀具點位數(shù)據(jù)讀取,將其作為加工軌跡誤差預測的數(shù)據(jù)依據(jù)。數(shù)控機床運動軌跡可以分解成為直線和曲線兩種,其軌跡誤差為直線軌跡誤差與曲線軌跡誤差總和,因此需要對這兩種誤差進行計算。將獲取的點位數(shù)據(jù)與理想點位比對,可以得出高精度數(shù)控機床的直線軌跡誤差,機床直線軌跡誤差如圖1所示。
圖1 高精度數(shù)控機床直線軌跡誤差示意圖Fig.1 Schematic diagram of linear trajectory error of high precision cnc machine tool
如圖1可以看出,γ表示數(shù)控機床理想軌跡與空間坐標系中的橫坐標軸的夾角,點T為數(shù)控機床刀具運動指令位置點,G為當前數(shù)控機床刀具實際位置點,m為數(shù)控機床刀具實際位置點與理想軌跡最近距離直線的交點,根據(jù)這幾個點的幾何關(guān)系,求出數(shù)控機床直線運動橫坐標軸跟隨誤差和縱坐標軸跟隨誤差,進而求出數(shù)控機床直線軌跡誤差:
公式(6)中,c表示數(shù)控機床直線運動軌跡誤差;s表示橫坐標軸的跟隨誤差;l表示縱坐標軸的跟隨誤差[6]。假設(shè)數(shù)控機床參考圓弧曲線軌跡為ρ,該曲線圓弧的圓心為ε,根據(jù)數(shù)控機床刀具參考點與實際點位的幾何關(guān)系,求出數(shù)控機床曲線誤差:
公式(7)中,c0表示數(shù)控機床曲線運動軌跡誤差;x*表示圓弧曲線圓心ε的橫坐標;δ表示圓弧曲線上過期望加工點的切線與橫軸的夾角;ex表示實際加工點的橫坐標;ey表示實際加工點的縱坐標[7]。將以上計算得出的直線運動誤差c與曲線運動誤差c0相加,即可得到高精度數(shù)控機床加工軌跡誤差,為后續(xù)加工軌跡實時插補控制提供依據(jù)。
在上述基礎(chǔ)上,利用PLC 技術(shù)對加工軌跡實時插補控制,生成加工軌跡實時插補控制程序,并通過可編程邏輯控制器(PLC)執(zhí)行,其控制程序如下。
打開待控制的高精度數(shù)控機床的刀位文件,根據(jù)刀位誤差,將刀位工件坐標系轉(zhuǎn)換為高精度數(shù)控機床坐標系,實現(xiàn)誤差優(yōu)化后的坐標轉(zhuǎn)換,假設(shè)P為與工件固聯(lián)的刀具坐標系,工件中心點為該坐標系的原點,L為數(shù)控機床刀具與定軸固聯(lián)的坐標系,該坐標系原點在工件固聯(lián)坐標系P的位置矢量為J,建立完坐標系后,利用以下公式確定工件坐標系下誤差點位在數(shù)控機床空間坐標系下的對應(yīng)值:
公式(8)中,C表示誤差點位在數(shù)控機床空間坐標系下的對應(yīng)值;?表示工件坐標系下刀軸矢量對應(yīng)的機床坐標系下的旋轉(zhuǎn)角度;υ表示誤差點位繞機床坐標系橫坐標軸的旋轉(zhuǎn)角度;xC、yC分別表示誤差點位的橫坐標和縱坐標[8]。
根據(jù)上述公式計算結(jié)果,在工件坐標系中對誤差點位進行調(diào)整,使其恢復到理想點位上,其用公式表示為:
公式(9)中,C*表示轉(zhuǎn)換后的工件坐標系中刀具坐標。通過PLC 技術(shù)對中間指令點擬合,使數(shù)控機床運動數(shù)學模型輸出的運動點集形成新的刀具軌跡,使刀具運動點坐標無線接近轉(zhuǎn)換后的刀具坐標,對其進行插補控制[9]。考慮到直接使用直線段對誤差點位進行逼近,會破壞掉原曲線的連續(xù)性,致使在數(shù)控機床加工軌跡插補控制過程中,機床的速度和加速度不連續(xù),因此采用曲線擬合方法對中間指令進行擬合,其擬合公式為:
公式(10)中,Zu表示中間指令擬合曲線;?表示節(jié)點向量;Pi表示曲線參數(shù);κ表示權(quán)值,為了簡化運算,將該權(quán)值默認為1。通過中間指令曲線擬合,使數(shù)控機床運動數(shù)學模型輸出的點位逼近理想軌跡,以此消除軌跡誤差。將以上程序使用編碼編寫在可編輯邏輯控制器(PLC)中,將PLC 與高精度數(shù)控機床伺服電機連接,通過執(zhí)行控制程序,調(diào)整高精度數(shù)控機床刀具加速度以及刀具移動姿態(tài),從而實現(xiàn)基于PLC 的高精度數(shù)控機床加工軌跡控制。
實驗以某高精度數(shù)控機床為實驗對象,該數(shù)控機床型號為SAFAE/55414,是典型的立式數(shù)控機床,刀具直徑為80-300mm,刀具重量為8kg,該數(shù)控機床目前主要用于加工汽車零部件,對加工精度要求較高,利用此次設(shè)計方法與傳統(tǒng)方法對該高精度數(shù)控機床加工軌跡進行控制。實驗以8 種汽車零部件為高精度數(shù)控加工對象,開啟數(shù)控機床開關(guān),根據(jù)零部件加工需求,將數(shù)控機床的加速度設(shè)定為45000mm/s3,給進速度設(shè)定為100mm/s,每個零部件各加工1000 件,將準備好的OSHFI 讀卡器與數(shù)控機床生產(chǎn)系統(tǒng)連接,并通過USB 接口接收到數(shù)控機床加工文件中的刀位數(shù)據(jù),具體如表1所示。
表1 數(shù)控機床刀位文件中刀位數(shù)據(jù)Tab.1 Tool position data in tool position file of nc machine tool
通過對讀取到的刀位數(shù)據(jù)分析、誤差預測、插補控制,完成零部件加工任務(wù)。實驗使用專用測量儀器對每個加工部件加工誤差進行測量,取平均值作為最終加工誤差,并使用電子表格對數(shù)據(jù)進行記錄,兩種方法應(yīng)用下機床加工誤差對比如表2所示。
表2 兩種方法應(yīng)用下機床加工誤差對比(mm)Tab.2 Comparison of machining errors of machine tools under the application of two methods (mm)
通過對表2中數(shù)據(jù)分析可以得出結(jié)論:應(yīng)用設(shè)計方法對高精度數(shù)控機床加工軌跡控制后,零部件加工誤差最大僅為0.03mm,最小加工誤差為0.01mm,均在誤差允許范圍內(nèi),說明應(yīng)用設(shè)計方法高精度數(shù)控機床運動軌跡與理想軌跡基本一致,設(shè)計方法具有良好的控制效果;而應(yīng)用傳統(tǒng)方法對高精度數(shù)控機床加工軌跡控制后,加工的零部件誤差最大為0.34mm,遠遠超出誤差允許范圍,而且最小加工誤差也已經(jīng)達到了0.13mm,遠遠高于設(shè)計方法,因此實驗結(jié)果證明了,在控制精度方面設(shè)計方法優(yōu)于傳統(tǒng)方法,能夠有效控制高精度數(shù)控機床加工軌跡,相比較傳統(tǒng)方法更適用于高精度數(shù)控機床加工軌跡控制。
將PLC 技術(shù)與數(shù)控機床加工軌跡控制融合,提出了一個新的加工軌跡控制思路,并通過實驗驗證了該思路的可行性,此次研究有助于提高高精度數(shù)控機床加工精度,同時還有助于提高生產(chǎn)質(zhì)量,以及高精度數(shù)控機床加工軌跡的控制技術(shù)水平,具有良好的現(xiàn)實研究意義。但是由于該方法尚未在實際中進行大量的操作和應(yīng)用,在某些方面可能存在一些不足之處,今后會對基于PLC技術(shù)的高精度數(shù)控機床加工軌跡控制方法優(yōu)化研究,為高精度數(shù)控機床加工軌跡的控制提供有力的理論支撐。