趙 銳,陳思遠(yuǎn),江 磊,馬術(shù)文
(西南交通大學(xué)機(jī)械工程學(xué)院,四川 成都 610031)
螺旋刃立銑刀在鈦合金等難加工材料的加工中有著重要應(yīng)用,在高速加工和精密加工中也有廣泛應(yīng)用。立銑刀的幾何參數(shù)直接影響銑削加工的零件精度與質(zhì)量,對刀具使用壽命和切削性能也有重要的影響。其中螺旋角的大小將直接對切削力、已加工表面粗糙度、刀具壽命和失效形式產(chǎn)生影響,因此立銑刀的螺旋角測量尤為重要。
對于刀具幾何參數(shù)的測量,劉國華介紹了一種基于圖像處理的刀具幾何參數(shù)測量方法[1]。汪迪、葉峰等人基于機(jī)器視覺設(shè)計(jì)了一套影像檢測系統(tǒng)并研究銑刀刃面的圖像處理算法[2]。段能全等把基于計(jì)算機(jī)圖像處理的機(jī)器視覺技術(shù)引入到刀具參數(shù)測量中,利用圖像預(yù)處理和邊緣檢測等處理技術(shù),實(shí)現(xiàn)了刀具幾何參數(shù)測量的自動化[3]。王巍、唐臣升等人提出了一種立銑刀周刃前角測量及計(jì)算方法,實(shí)現(xiàn)了立銑刀周刃前角測量及其實(shí)際作用角度計(jì)算[4]。田國富研究了基于計(jì)算機(jī)視覺檢測技術(shù)的高精度刀具測量系統(tǒng)[5]。上述研究都采用非接觸式測量方法測量立銑刀幾何參數(shù)。非接觸式測量方法具有非接觸、速度快、易于自動化等優(yōu)點(diǎn)。但是由于光學(xué)系統(tǒng)的成像質(zhì)量、CCD相機(jī)的像素大小和圖像采集卡分辨率的限制,使測量精度與接觸式測量相比存在著一定的差距[6]。同時(shí)這些研究都采用離線測量的方法,這樣會導(dǎo)致測量效率低下。
針對上述問題,采用接觸式測量的方式在數(shù)控工具磨床上對加工完成的立銑刀的螺旋角進(jìn)行測量。通過立銑刀的裝夾位置、數(shù)學(xué)模型和測量輔助參數(shù)來確定探測點(diǎn)的坐標(biāo),根據(jù)探測點(diǎn)坐標(biāo)和測頭運(yùn)動矢量計(jì)算測量數(shù)控代碼,在獲取了探測點(diǎn)測量坐標(biāo)后經(jīng)過數(shù)據(jù)處理算法求得立銑刀的螺旋角。
立銑刀螺旋角是在機(jī)測量系統(tǒng)中的一個(gè)被測參數(shù),首先研究在機(jī)測量系統(tǒng)的軟硬件組成。
如圖1所示,在機(jī)測量系統(tǒng)硬件由五軸工具磨床、測頭、數(shù)控系統(tǒng)和上位機(jī)組成。五軸工具磨床裝夾立銑刀、完成測量動作,測頭與立銑刀接觸獲取探測點(diǎn)坐標(biāo)并將其傳輸?shù)缴衔粰C(jī),上位機(jī)生成測量代碼并對探測點(diǎn)坐標(biāo)進(jìn)行計(jì)算。
圖1 在機(jī)測量系統(tǒng)硬件組成Fig.1 Hardware of On-Machine Measurement System
在機(jī)測量系統(tǒng)軟件內(nèi)置到機(jī)床數(shù)控系統(tǒng)中,由立銑刀參數(shù)模塊、代碼生成模塊、測量模塊和數(shù)據(jù)處理模塊組成。各個(gè)模塊的輸入輸出數(shù)據(jù)、功能和包含的算法,如圖2所示。測量時(shí),首先在被測參數(shù)庫中選擇一個(gè)要測的幾何參數(shù),這里的測量參數(shù)為螺旋角。然后輸入測量輔助參數(shù),經(jīng)過測量運(yùn)動文件生成算法和測量代碼生成算法處理生成測量數(shù)控代碼,之后執(zhí)行數(shù)控代碼由寄存器獲取探測點(diǎn)空間坐標(biāo),最后通過數(shù)據(jù)處理算法獲取測量結(jié)果。
圖2 在機(jī)測量系統(tǒng)軟件組成Fig.2 Software of On-Machine Measurement System
如圖3所示,建立工件坐標(biāo)系Ow-XwYwZw,坐標(biāo)系原點(diǎn)位于立銑刀刀刃起點(diǎn)主截面中心,X軸與立銑刀軸線重合,Z軸豎直向上,Y軸通過右手定則確定。測量路徑生成算法通過對立銑刀幾何參數(shù)數(shù)學(xué)模型進(jìn)行分析確定測量軌跡文件。測量運(yùn)動文件由測頭運(yùn)動點(diǎn)和測頭運(yùn)動矢量組成,Pw(xw,yw,zw,1)T為測頭運(yùn)動點(diǎn),F(xiàn)w(iw,jw,kw)T為測頭運(yùn)動矢量。
圖3 測量軌跡示意圖Fig.3 Schematic Diagram of the Measurement Track
測頭運(yùn)動點(diǎn)包括探測點(diǎn)和探測接近點(diǎn)。探測接近點(diǎn)為測頭從起始運(yùn)動到接近探測點(diǎn)的運(yùn)動點(diǎn),如圖3中的P0、P1、P2、P3。探測點(diǎn)為立銑刀與測頭接觸的點(diǎn),如圖3中的P4探測點(diǎn)的確定包括確定探測點(diǎn)的數(shù)量和坐標(biāo)。
為了確定探測點(diǎn)數(shù)量和坐標(biāo),必須建立螺旋線模型。如圖4所示,圓柱等螺旋角立銑刀螺旋線上點(diǎn)P的坐標(biāo)Pw(xw,yw,zw)T為[7]:
式中:β—設(shè)計(jì)螺旋角;LT—刀刃長;φ0—初始轉(zhuǎn)角;Rw—立銑刀半徑。
對式求導(dǎo),得到螺旋線的單位切矢量為:
式中:Fx、Fy、Fz—螺旋線單位切矢量在x、y、z方向的分量。
圖4 圓柱立銑刀螺旋刃線模型Fig.4 Cylindrical End Mill Spiral Edge Line Model
根據(jù)式可得:
式中:實(shí)測初始轉(zhuǎn)角φ’0和實(shí)測螺旋角β’—探測時(shí)的未知量,(xi,yi,zi)—探測點(diǎn)坐標(biāo)。
要求解這兩個(gè)未知量,至少獲取兩組坐標(biāo)(xi,yi,zi)。因此要探測螺旋角,至少需要兩個(gè)探測點(diǎn)。探測點(diǎn)的增加可以適當(dāng)提高探測精度,但同時(shí)會延長測量時(shí)間,降低探測效率。綜合考慮探測精度和探測效率,選取兩個(gè)探測點(diǎn)來探測螺旋角,n=2。
螺旋角的探測點(diǎn)坐標(biāo)通過X坐標(biāo)方向的測量距離l1,l2(l1<LT,l2+l1<LT)確定。如圖4所示,根據(jù)式可以求得工件坐標(biāo)系下:
測頭運(yùn)動矢量為測頭從一個(gè)運(yùn)動點(diǎn)到下一個(gè)運(yùn)動點(diǎn)的運(yùn)動方向。為了提高測量效率,探測接近點(diǎn)之間的運(yùn)動均采用直線,即Fw=(xw-xw-1,yw-yw-1,zw-zw-1)T。探測點(diǎn)的探測矢量將影響測頭的測量點(diǎn)坐標(biāo)獲取準(zhǔn)確性和測頭半徑補(bǔ)償方式。如圖5(a)所示,當(dāng)測頭以軸向矢量方向運(yùn)動獲取測量點(diǎn)坐標(biāo)時(shí),實(shí)際接觸點(diǎn)C與測量輸出點(diǎn)B不重合,測頭半徑補(bǔ)償將變得復(fù)雜。如圖5(b)所示,當(dāng)測頭以法向矢量方向運(yùn)動獲取測量點(diǎn)坐標(biāo)時(shí),實(shí)際接觸點(diǎn)B與測量輸出點(diǎn)重合,進(jìn)行測頭半徑補(bǔ)償時(shí)直接補(bǔ)償測頭半徑即可,因此本論文的名義探測矢量均采用法向矢量。由式可以求得過探測點(diǎn)且垂直于立銑刀毛坯面的法向矢量為:
式中:Fwxi、Fwyi、Fwzi—切矢量在x、y、z方向的分量。
圖5 探測點(diǎn)運(yùn)動矢量Fig.5 Motion Vector of Probe Points
測量軌跡文件所得的是測頭運(yùn)動點(diǎn)和運(yùn)動矢量,需要轉(zhuǎn)換為機(jī)床各個(gè)軸的運(yùn)動量,即將測量軌跡文件轉(zhuǎn)換為測量數(shù)控代碼[8]。
3.2.1 坐標(biāo)系定義
五軸磨床采用XYZAC結(jié)構(gòu),計(jì)算測量代碼需要根據(jù)磨床運(yùn)動軸的情況,建立測頭運(yùn)動點(diǎn)測頭坐標(biāo)系到銑刀坐標(biāo)系下的運(yùn)動變換方程,求解運(yùn)動變換方程即可得到測量時(shí)機(jī)床各個(gè)軸運(yùn)動的平動量和旋轉(zhuǎn)量。為此建立的測量代碼生成坐標(biāo)系,如圖6所示。
測量代碼生成坐標(biāo)系包括機(jī)床坐標(biāo)系OM-XMYMZM、工件坐標(biāo)系Ow-XwYwZw、旋轉(zhuǎn)坐標(biāo)系OR1-XR1YR1Z1和OR2-XR2YR2ZR2、測頭坐標(biāo)系OP-XPYPZP,各個(gè)坐標(biāo)系的X、Y、Z軸的方向均與機(jī)床坐標(biāo)系相同,工件坐標(biāo)系的原點(diǎn)為立銑刀刀刃起點(diǎn)主截面的中心,測量坐標(biāo)系的原點(diǎn)為測球幾何中心,為了方便建立旋轉(zhuǎn)運(yùn)動矩陣,兩個(gè)旋轉(zhuǎn)坐標(biāo)系的原點(diǎn)設(shè)置在轉(zhuǎn)動軸上。
圖6 測量代碼生成坐標(biāo)系Fig.6 Measurement Code Generation Coordinate System
各個(gè)坐標(biāo)系原點(diǎn)在機(jī)床坐標(biāo)系下的坐標(biāo)分別為:OW(xw,yw,zw),OR1(xR1,yR1,zR1),OR2(xR2,yR2,zR2),OP(xP,yP,zP),工件坐標(biāo)系原點(diǎn)通過測量立銑刀端面裝夾位置和刃長共同確定,測頭坐標(biāo)系原點(diǎn)通過將測頭運(yùn)動到機(jī)床坐標(biāo)系原點(diǎn)得到。
3.2.2 運(yùn)動方程建立
測量軌跡文件中的運(yùn)動點(diǎn)坐標(biāo)和運(yùn)動矢量分別為:Pw(xw,yw,zw,1)T,F(xiàn)w(iw,jw,kw)T。測頭坐標(biāo)系下初始運(yùn)動點(diǎn)坐標(biāo)和運(yùn)動矢量分別為PP(0,0,0,1)T,F(xiàn)P(0,1,0,0)T。
銑刀與夾頭靠近的轉(zhuǎn)軸為A轉(zhuǎn)軸,與測頭靠近的轉(zhuǎn)軸為C轉(zhuǎn)軸,按照將測量矢量和測量點(diǎn)坐標(biāo)從砂輪組坐標(biāo)系下變換到工件坐標(biāo)系下的方式建立運(yùn)動求解方程:
式中:MR1W、MR2R1、MTR2—各個(gè)坐標(biāo)系間的變換矩陣;RR1、RR2和TXYZ—兩個(gè)轉(zhuǎn)動軸的旋轉(zhuǎn)變換矩陣和平動變換矩陣。
討論的數(shù)控工具磨床的床身和測頭之間的運(yùn)動軸的正方向與右手系規(guī)定的正方向相同,這樣運(yùn)動變換矩陣具有如下形式:
式中:θR1—A轉(zhuǎn)軸旋轉(zhuǎn)角度;θR2—C轉(zhuǎn)軸旋轉(zhuǎn)角度,dx、dy、dz—默認(rèn)運(yùn)動方向下三個(gè)平動軸的運(yùn)動量。
3.2.3 運(yùn)動方程求解
由式測頭運(yùn)動矢量方程可以得到角度求解方程:
式中:θA、θC—機(jī)床A、C軸的轉(zhuǎn)角。求解方程可以得到兩個(gè)轉(zhuǎn)軸的轉(zhuǎn)角。對于θC,其取值范圍在(-π~π)之間:
對于θA,其值需要根據(jù)jw、kw、θC的取值情況進(jìn)行討論:
式中:R—任意實(shí)數(shù)。
求解過程中需要先按照式求解出兩個(gè)θC,再帶入式求解出相應(yīng)的θA,每組測量運(yùn)動矢量可以求得兩組滿足方程的解,需要根據(jù)運(yùn)動連續(xù)性和行程限制等條件對兩組解進(jìn)行篩選。
由式中運(yùn)動點(diǎn)方程可以求解平動量:
經(jīng)過上述過程得到的測量數(shù)控代碼可以保證測頭正確地運(yùn)動,但無法獲取測量點(diǎn)坐標(biāo)。為了獲取測量點(diǎn)坐標(biāo),數(shù)控代碼中通過G31宏程序代碼來表示測頭與銑刀接觸的運(yùn)動。G31代碼為跳躍機(jī)械運(yùn)動,其具體含義為當(dāng)測頭與銑刀接觸時(shí)立即停止機(jī)床運(yùn)動,測頭發(fā)出一個(gè)脈沖信號到數(shù)控系統(tǒng),指定的寄存器記錄探測點(diǎn)坐標(biāo),然后跳到下一行執(zhí)行。因此在上述過程獲取的數(shù)控代碼的基礎(chǔ)上,將獲取測量點(diǎn)坐標(biāo)的運(yùn)動均替換為G31并加上判斷語句和坐標(biāo)獲取代碼即可得到最終的測量數(shù)控代碼。
測頭執(zhí)行測量動作后,得到的是一系列離散的測量點(diǎn)空間坐標(biāo),要獲取立銑刀螺旋角,必須經(jīng)過一定的數(shù)據(jù)處理算法計(jì)算。采取的算法是根據(jù)幾何參數(shù)的數(shù)學(xué)模型,進(jìn)行反算求解。執(zhí)行螺旋角探測動作后可以獲得探測點(diǎn)實(shí)際坐標(biāo)P1(x1,y1,z1),P2(x2,y2,z2)。根據(jù)式可得:
在實(shí)際求解時(shí),由于式中的xi*tanβ’/Rw+φ0不一定位于(-π/2,π/2)內(nèi),而arctan(yi/zi)求出來的角度值在(-π/2,π/2)內(nèi),因此xi*tanβ’/Rw+φ0與arctan(yi/zi)存在nπ的角度差,即xi*tanβ’/Rw+φ0=arctan(yi/zi)+nπ(n=0,1,2,3…N),為了保證能正確求解,實(shí)際求解時(shí)的公式修正為:
其中,
在五軸磨床上采用TP300測頭對如圖7所示的立銑刀進(jìn)行測量,TP300測頭的重復(fù)定位精度為1μm,該立銑刀的主要參數(shù),如表1所示。
圖7 被測立銑刀實(shí)物Fig.7 Measured End Mill
表1 立銑刀主要參數(shù)Tab.1 Main Geometric Parameter of End Mill
輸入l1=4mm、l2=3mm后得到的部分測量代碼如下所示。
G91 G31 Y-3.2F120;
IF[#1801==1]GOTO 10;//非測量動作判斷是否發(fā)生碰撞
G90G56G31A-90F200;
IF[#1801!=1]GOTO 10;//測量動作判斷是否接觸
G91 A3.0;//接觸后撤回
G90G56G31A-90F 80;//減小探測速度再次接觸
G04 X0.5;//接觸后暫停0.5s獲取探測點(diǎn)坐標(biāo)
#68=#2104;//獲取探測點(diǎn)Y軸坐標(biāo)到寄存器#68
#69=#2105;//獲取探測點(diǎn)Z軸坐標(biāo)到寄存器#69
由表2可知,在l1=4mm,l2=1-6mm的范圍內(nèi),螺旋角測量絕對誤差不超過0.218°,相對誤差不超過0.8%,測量方差不超過0.006平方度。測量精度較高,穩(wěn)定性好,所測結(jié)果滿足公差。
由于采用的是觸發(fā)式測頭,必定存在預(yù)行程誤差。同時(shí)機(jī)床存在運(yùn)動誤差、每次測量均存在偶然誤差等都是誤差的來源。后續(xù)可以通過提高機(jī)床運(yùn)動精度、標(biāo)定測頭預(yù)行程并進(jìn)行補(bǔ)償來進(jìn)一步提高在機(jī)測量的精度。
表2 螺旋角30°銑刀螺旋角測量結(jié)果Tab.2 Measurement Results of Spiral Angle 30° Milling Cutter
(1)提出了一種基于接觸式測量的立銑刀螺旋角在機(jī)測量方法。該方法能根據(jù)螺旋角數(shù)學(xué)模型確定探測點(diǎn)數(shù)量、探測點(diǎn)坐標(biāo)和測量運(yùn)動矢量,通過測量運(yùn)動文件、機(jī)床結(jié)構(gòu)、測頭位置和立銑刀裝夾位置生成測量數(shù)控代碼,在執(zhí)行探測運(yùn)動獲取探測點(diǎn)坐標(biāo)后對探測點(diǎn)坐標(biāo)進(jìn)行計(jì)算獲取螺旋角數(shù)值。
(2)對一把標(biāo)準(zhǔn)立銑刀進(jìn)行了螺旋角測量,結(jié)果表明測量絕對誤差不超過0.218°,相對誤差不超過0.8%,方差不超過0.006平方度。測量精度較高,穩(wěn)定性較好。