閆賽賽,解瑞東,高 峰,李 艷,趙天林,張雪敏
(1.西安理工大學(xué)機(jī)械與精密儀器工程學(xué)院,陜西西安710048;2.江蘇天寶利自動(dòng)化科技有限公司,江蘇鎮(zhèn)江212009;3.西安思源學(xué)院基礎(chǔ)部,陜西西安710038)
為了滿足大型汽車覆蓋件模具復(fù)雜表面高效率、高自動(dòng)化、低成本淬火的要求,開發(fā)基于感應(yīng)熱處理方式的汽車大型覆蓋件模具表面五軸數(shù)控淬火機(jī)床是非常有必要的。淬火機(jī)床根據(jù)用途可分為通用型和專用型淬火機(jī)床[1]。通用型淬火機(jī)床如捷克早期生產(chǎn)的EKS-30型淬火機(jī)床、我國(guó)一汽技術(shù)中心研制的通用多功能數(shù)控淬火機(jī)床[2]等;專用型淬火機(jī)床如曲軸感應(yīng)淬火機(jī)床[3]、凸輪感應(yīng)淬火機(jī)床[4]、冷軋輥雙頻感應(yīng)淬火機(jī)床[5]等。數(shù)控淬火機(jī)床在生成數(shù)控程序方面有手工編程、示教編程[6]、CAD/CAM自動(dòng)編程。手動(dòng)編程工作量大、效率低,且一些復(fù)雜形狀的淬火程序難以手工編程。張勤儉等[6]在對(duì)汽車覆蓋件模具進(jìn)行淬火時(shí),由于被加工件三維模型未知且形狀較為復(fù)雜,采用了示教編程的方式生成數(shù)控程序。CAD/CAM自動(dòng)編程一般用于數(shù)學(xué)模型已知且形狀較為復(fù)雜零件的數(shù)控編程。CAD/CAM自動(dòng)編程分為兩部分:前置處理和后置處理。前置處理主要是進(jìn)行刀具路徑規(guī)劃和軌跡計(jì)算,生成刀位文件。但刀位文件是以工件坐標(biāo)系為基準(zhǔn)的,并沒有考慮機(jī)床的具體結(jié)構(gòu),不能直接用于數(shù)控加工,因此需要后置處理,即根據(jù)機(jī)床機(jī)構(gòu)和數(shù)控系統(tǒng)的信息將前置處理得到的刀位文件轉(zhuǎn)化為數(shù)控系統(tǒng)識(shí)別的數(shù)控加工程序,來驅(qū)動(dòng)機(jī)床加工零件[7]。
本文研究了三維模型已知的大型汽車覆蓋件模具數(shù)控淬火CAD/CAM自動(dòng)編程后置處理算法,該算法可有效簡(jiǎn)化編程過程、提高淬火效率。
汽車覆蓋件模具主要是對(duì)模具邊緣輪廓進(jìn)行淬火(圖1),不同曲率的輪廓段需要采用不同尺寸的淬火感應(yīng)線圈,因此需要分段淬火。在每一段淬火軌跡的起始點(diǎn)感應(yīng)線圈通電預(yù)熱(進(jìn)刀),達(dá)到設(shè)定的預(yù)熱時(shí)間后打開冷卻水開關(guān)開始淬火,到達(dá)每一段淬火軌跡的終點(diǎn)后感應(yīng)線圈斷電,在只開冷卻水開關(guān)的狀態(tài)下繼續(xù)前進(jìn)一小段軌跡(退刀),以保證全部淬火軌跡的充分冷卻。這段軌跡淬火完成后,線圈快速移動(dòng)到另一段曲率與之相同輪廓上方繼續(xù)淬火,所有相同曲率的輪廓段完成淬火后,更換不同尺寸的感應(yīng)線圈進(jìn)行另一曲率輪廓段的淬火。
先采用UG8.0構(gòu)建汽車覆蓋件模具的三維模型,再利用其自動(dòng)編程功能,在可變軸輪廓銑的加工方式下設(shè)置加工參數(shù)。在淬火時(shí)感應(yīng)線圈要與工件保持一定的距離,因此加工余量設(shè)置為2毫米,不同的淬火加工階段設(shè)置為不同的顏色加以區(qū)分(圖1)。然后由UG8.0自動(dòng)生成合理的加工軌跡,并將其導(dǎo)出為刀位源文件。由基于VC++6.0開發(fā)的專用后置處理軟件讀取該刀位源文件,并根據(jù)生成軌跡的顏色來控制感應(yīng)線圈的通斷和冷卻水的開關(guān)。
雙擺頭式五軸龍門淬火機(jī)床的運(yùn)動(dòng)原理見圖2,該機(jī)床包括X、Y、Z三個(gè)直線運(yùn)動(dòng)坐標(biāo)軸和A、C兩個(gè)旋轉(zhuǎn)坐標(biāo)軸,A軸的旋轉(zhuǎn)中心與X軸平行,轉(zhuǎn)角范圍為[-90°,+90°],C軸的旋轉(zhuǎn)中心與Z軸平行,轉(zhuǎn)角范圍為[-360°,+360°],A、C軸相交于一點(diǎn)。A軸在繞自身軸線旋轉(zhuǎn)的同時(shí)由于C軸的旋轉(zhuǎn)而以A、C軸的交點(diǎn)為中心擺動(dòng)。
圖2 五軸龍門淬火機(jī)床運(yùn)動(dòng)原理圖Fig.2 The principle diagram of the five-axis gantry quenching machine tool movement
機(jī)械加工過程實(shí)際上是通過機(jī)床各運(yùn)動(dòng)軸的運(yùn)動(dòng)使得刀具坐標(biāo)系下的刀位點(diǎn)和刀軸矢量與在工件坐標(biāo)系下編制的刀位點(diǎn)和刀軸矢量重合的過程[8]。設(shè)五軸龍門淬火機(jī)床初始狀態(tài)下工件坐標(biāo)系為OwXwYwZw,刀具坐標(biāo)系為OtXtYtZt,在擺動(dòng)中心處建立機(jī)床坐標(biāo)系OmXmYmZm,機(jī)床坐標(biāo)系坐標(biāo)方向與刀具坐標(biāo)系和工件坐標(biāo)系相同,刀具坐標(biāo)系與工件坐標(biāo)系原點(diǎn)重合。雙擺頭五軸聯(lián)動(dòng)加工中心的坐標(biāo)變換及刀軸矢量變換見圖3~4。
圖3 機(jī)床坐標(biāo)變換簡(jiǎn)圖Fig.3 The transformation of machine tool coordinate
圖4 刀軸矢量變換關(guān)系圖Fig.4 The transformation of cutter axis vector
從刀具坐標(biāo)系到工件坐標(biāo)系通過齊次坐標(biāo)變換可得如下公式:
(1)
A、C軸轉(zhuǎn)角的計(jì)算實(shí)際上是計(jì)算刀軸矢量的變化,而刀軸矢量T(i,j,k)T的變換即刀具相對(duì)于工件位置的變化。見圖4,首先將刀軸矢量T繞Z軸順時(shí)針轉(zhuǎn)動(dòng)C角到(-Y)(+Z)平面上,再將刀軸矢量T繞X軸順時(shí)針轉(zhuǎn)動(dòng)A角到與Z軸坐標(biāo)方向一致,完成刀軸矢量的轉(zhuǎn)換可得到如下公式:
α=arccos(k)
(2)
(3)
式中:px、py、pz分別表示X、Y、Z軸的指令移動(dòng)量;α、β分別表示A、C轉(zhuǎn)動(dòng)軸的指令轉(zhuǎn)動(dòng)量; (xT,yT,zT)T為工件坐標(biāo)系下的刀位點(diǎn)坐標(biāo);(i,j,k)T為工件坐標(biāo)系下的刀軸姿態(tài)矢量;L為擺動(dòng)中心到刀心點(diǎn)的距離。
針對(duì)后置處理生成的數(shù)控程序中經(jīng)常出現(xiàn)相鄰兩行NC代碼的C軸轉(zhuǎn)角值的跳變,從而導(dǎo)致在淬火過程中感應(yīng)線圈與汽車覆蓋件模具發(fā)生碰撞干涉的問題,提出了機(jī)床A、C旋轉(zhuǎn)軸旋轉(zhuǎn)角的優(yōu)化選擇策略及算法,具體內(nèi)容詳述如下。
當(dāng)A軸和C軸的轉(zhuǎn)角分別為α、β±2π和-α、β±π時(shí),代入式(1),px、py、pz的值不變,可據(jù)此來對(duì)A、C軸轉(zhuǎn)角進(jìn)行優(yōu)化,其算法流程見圖5。具體方法詳述如下。
圖5 A、C軸轉(zhuǎn)角優(yōu)化算法流程圖Fig.5 Rotary angle of A and C axis optimization algorithm flow chart
1) 根據(jù)淬火機(jī)床A、C軸轉(zhuǎn)角范圍,設(shè)置A軸最大轉(zhuǎn)角αmax,以及C軸的初步優(yōu)化極限角度C1、C2,一般取C1∈(120°,180°),C2∈(300°,360°)。讀取刀位源文件,獲取后置處理軟件中各項(xiàng)參數(shù),對(duì)一行刀位源文件進(jìn)行后置處理求出xi、yi、zi及αi、βi。若該行A軸轉(zhuǎn)角絕對(duì)值|αi|大于A軸最大轉(zhuǎn)角αmax,則不能生成該行數(shù)控程序;否則執(zhí)行下一步。
2) 根據(jù)C軸初步優(yōu)化極限角度C1、C2,對(duì)A、C軸轉(zhuǎn)角進(jìn)行初步優(yōu)化。若該行C軸轉(zhuǎn)角絕對(duì)值大于C1小于C2,βi>0時(shí)βi=βi-π、αi=-αi,βi<0時(shí)βi=βi+π、αi=-αi;若該行C軸轉(zhuǎn)角絕對(duì)值大于C2,βi>0時(shí)βi=βi-2π、αi=αi,βi<0時(shí)βi=βi+2π、αi=αi。
3) 根據(jù)前一行C軸轉(zhuǎn)角的大小,再一次對(duì)A、C軸轉(zhuǎn)角進(jìn)行優(yōu)化。若該行C軸轉(zhuǎn)角βi減前一行C軸轉(zhuǎn)角βi-1的絕對(duì)值大于C1,則對(duì)該行C軸轉(zhuǎn)角進(jìn)行循環(huán)優(yōu)化如下。
① 該行C軸轉(zhuǎn)角絕對(duì)值小于前一行C軸轉(zhuǎn)角絕對(duì)值,若前一行C軸轉(zhuǎn)角βi-1≥0,βi=βi-π、αi=-αi;否則βi=βi+π、αi=-αi。
② 該行C軸轉(zhuǎn)角絕對(duì)值大于前一行C軸轉(zhuǎn)角絕對(duì)值,若該行C軸轉(zhuǎn)角βi≥0,βi=βi-π、αi=-αi;否則βi=βi+π、αi=-αi。
根據(jù)上述后置處理算法,基于VC++6.0的MFC模塊,設(shè)計(jì)了針對(duì)該機(jī)床的后置處理軟件,后置處理流程見圖6,后置處理軟件的主界面見圖7。在后置處理器主界面中可分為讀取刀位文件、輸入?yún)?shù)、后置處理、保存數(shù)控代碼四個(gè)部分,該軟件可將刀位源文件轉(zhuǎn)換為有合理A、C軸轉(zhuǎn)角的數(shù)控程序。采用UG8.0建立汽車覆蓋件模具三維模型(圖1)并生成刀位源文件,采用后置處理軟件讀取刀位源文件生成數(shù)控加工程序。
圖6 后置處理器操作流程Fig.6 The operation process of post processor
圖7 后置處理器界面Fig.7 The interface of post processor software
用Matlab2010編寫程序讀取該數(shù)控加工程序C軸轉(zhuǎn)角變化情況,與未添加A、C軸轉(zhuǎn)角優(yōu)化算法的汽車覆蓋件模具數(shù)控加工程序的C軸轉(zhuǎn)角變化情況進(jìn)行比較,比較結(jié)果見圖8。未添加A、C軸轉(zhuǎn)角優(yōu)化算法時(shí)存在相鄰兩行NC代碼的C軸轉(zhuǎn)角值存在跳變(圖8(a));而添加優(yōu)化算法后相鄰兩行NC代碼的C軸轉(zhuǎn)角值變化均勻(圖8(b))。
圖8 數(shù)控代碼中的C軸轉(zhuǎn)角變化情況比較Fig.8 The comparison of rotary angle changes for C in NC code
將三維模型和數(shù)控程序?qū)隫ERICUT7.0數(shù)控加工仿真軟件,并與未添加優(yōu)化算法的加工仿真過程進(jìn)行比較,比較結(jié)果見圖9,圖9中黃色部分為仿真的淬火軌跡。
圖9 淬火機(jī)床VERICUT數(shù)控加工仿真比較Fig.9 Quenching machine tool VERICUT simulation
由圖9可見,未添加A、C軸轉(zhuǎn)角優(yōu)化算法時(shí),感應(yīng)線圈在汽車覆蓋件模具圓角處與之發(fā)生碰撞(見圖9(a)中紅色圈出部分);添加A、C軸轉(zhuǎn)角優(yōu)化算法后,仿真過程中運(yùn)動(dòng)平穩(wěn)、感應(yīng)線圈與汽車覆蓋件模具之間無碰撞(圖9(b))。
本文主要工作包括雙擺頭五軸龍門數(shù)控淬火機(jī)床淬火軌跡的生成,后置處理算法的推導(dǎo),包括對(duì)后置處理求解過程中的多解問題進(jìn)行分析,提出A、C軸轉(zhuǎn)角優(yōu)化算法,并進(jìn)行了淬火加工過程仿真。仿真結(jié)果表明,本文推導(dǎo)的后置處理算法能夠有效地避免因轉(zhuǎn)角選擇產(chǎn)生的碰撞問題,表明該算法是正確、有效的。本文的研究工作,對(duì)于提高數(shù)控淬火機(jī)床的效率具有重要的意義。