朱寧
(徐州機(jī)電技師學(xué)院,江蘇 徐州 221131)
在銑削變曲率輪廓時,銑削力處于不穩(wěn)定的狀態(tài),這影響著刀具的壽命。通過計算出銑削寬度ae、最大銑削力F、輪廓曲率半徑R 的關(guān)系,優(yōu)化刀路算法,使其在加工曲線輪廓時銑削力恒定。
在等距和變距偏置算法中,曲線y=C(x)規(guī)定為基準(zhǔn),沿法線方向偏移距離為d(x),通過采集偏置點(diǎn),得到偏置后的曲線y=Cs(x)。如圖1 所示。
在曲線y=C(x)上取一點(diǎn)A(x0,y0),該點(diǎn)斜率為k,法線與x 軸正向夾角為θ。取曲線上一點(diǎn)B(x,y)沿法線方向偏置得點(diǎn)B1(x1,y1),可 以 得出兩者之間的關(guān)系:
圖1 曲線的變距偏置原理
由上述公式可以計算出該曲線在法線方向上的所有偏置點(diǎn)。因所加工工件的輪廓曲線偏置曲線為精加工路徑,沿水平方向把曲線離散為等步長的點(diǎn)集{N(xi,yi)},通過計算得出曲線上離散點(diǎn)的斜率k,曲率ρ 和法向斜率n,并順著法線方向偏置距離δ(x),求得偏置點(diǎn)集{N(xj,yj)}。如圖2 所示。
原曲線上的點(diǎn)(x0,y0)與法線方向上偏置曲線的點(diǎn)(x1,y1)有以下的關(guān)系:
圖2 偏置點(diǎn)示意圖
(1)偏置距離δ(x0)和兩點(diǎn)間的距離相等。
(2)兩點(diǎn)連線方向與點(diǎn)(x0,y0)在原曲線上的法線方向一致。
把Δy=|y1-y0|,Δx=|x1-x0|帶入以上公式整理。
當(dāng)f'(x0)=0 時得:
當(dāng)f'(x0)≠0 時得:
通過精加工路徑的等距偏置可以得到半精加工路徑的曲線,由式(1)可得到精加工路徑的離散點(diǎn)集{N(xj,yj)}。采用以上的方法,可以得到半精加工路徑的點(diǎn)集{N(xk,yk)}。假定(x1,y1)為原曲線上一點(diǎn),偏置點(diǎn)(x2,y2)的計算方法為:
當(dāng)f'(x1)=0 時得
上式中計算方法是復(fù)合函數(shù)的求導(dǎo)方法。當(dāng)工件加工輪廓曲線復(fù)雜時,求解過程也比較復(fù)雜,這樣就影響計算效率。差分法比較簡單,使用向前差分法求解f'(x1)。
曲線的插補(bǔ)算法很多,常用的有等間距法、等弦長法和等誤差法。等間距法和等弦長法的特點(diǎn)是數(shù)據(jù)比較多,程序長,傳輸慢,進(jìn)給速度不穩(wěn)定,零件加工質(zhì)量低。
圖3 等誤差法
圖4 伸縮補(bǔ)償法
等誤差法比以上兩種方法較好,適用于復(fù)雜的曲線輪廓。用它計算曲線y=f(x)的節(jié)點(diǎn)時,要用上一個節(jié)點(diǎn)(x0,y0)為圓心,以公差為半徑建立圓方程,通過圓心做圓與曲線的切線平行線,與曲線交于一點(diǎn)(x1,y1),如圖3 所示。等誤差法插補(bǔ)精度高,但是計算復(fù)雜。
為了既能提高插補(bǔ)精度,又能簡化插補(bǔ)算法,于是伸縮步長插補(bǔ)算法被一些學(xué)者采用。它的數(shù)學(xué)模型簡單,在計算出每一插補(bǔ)段中點(diǎn)誤差后與允許誤差相比較,采用放大和縮小因子的方法讓步長S 改變,很容易計算出輪廓曲線的節(jié)點(diǎn),如圖4 所示。但是這種算法依然有下面這些缺點(diǎn)。
(1)插補(bǔ)誤差大。當(dāng)工件輪廓曲線為非圓曲線時,并且其參數(shù)和弧長為非線性關(guān)系時,采用伸縮補(bǔ)償算法,實(shí)際的零件加工精度要小于原先設(shè)定的精度值。
(2)產(chǎn)生的數(shù)據(jù)比較大。在計算某些非圓曲線時,在插補(bǔ)誤差比允許誤差值小的很多時就停止循環(huán),這樣計算出來的節(jié)點(diǎn)數(shù)較多。
(3)穩(wěn)定性差。節(jié)點(diǎn)的計算精度與步長縮小或放大的速度相關(guān),在計算不同類型的非圓曲線時,插補(bǔ)效果也相同。
(4)浮點(diǎn)數(shù)處理量大。由于傳統(tǒng)伸縮步長算法的特點(diǎn)易產(chǎn)生大量的浮點(diǎn)數(shù),數(shù)控系統(tǒng)在處理這些數(shù)據(jù)時,導(dǎo)致計算效率降低,處理量增大。
在總結(jié)以上缺點(diǎn)時,尋找出一種更加精確的改進(jìn)插補(bǔ)算法,它不但節(jié)點(diǎn)數(shù)少,零件加工精度高,而且能夠運(yùn)用在各種類型的非圓曲線上。與其他的插補(bǔ)算法相比,它做出了以下幾個方面的改進(jìn)。
(1)區(qū)間離散化。文中把插補(bǔ)區(qū)間離散成點(diǎn),這樣數(shù)值計算方便。目前工廠中使用的數(shù)控銑床加工精度大部分都是0.001mm/脈沖,這樣就可以把插補(bǔ)曲線沿橫坐標(biāo)方向進(jìn)行分割,使其間距均為0.001mm 的點(diǎn)。用點(diǎn)數(shù)來代替數(shù)值計算步長。節(jié)點(diǎn)的坐標(biāo)值可以由離散點(diǎn)轉(zhuǎn)換而來。采用這種方法可以避免大量的數(shù)據(jù)處理過程,從而提高數(shù)據(jù)的計算速度。
(2)誤差計算。插補(bǔ)計算是數(shù)控系統(tǒng)控制機(jī)床運(yùn)動軌跡的一項主要功能。采用弦長代替弧長的插補(bǔ)方法是直線插補(bǔ),所以可以用弧上一點(diǎn)到弦的距離為插補(bǔ)誤差,也叫做徑向插補(bǔ)誤差。我們主要研究徑向誤差δ。δ 變化的大小,直接影響加工零件的光潔度。用進(jìn)退法作為插補(bǔ)誤差計算的根源,插補(bǔ)區(qū)間內(nèi)的極限誤差使用輪換算法計算。這種辦法比較適宜在單峰函數(shù)中。由于是根據(jù)步長把非圓曲線離散成很多小的非圓曲線段,所以使用這種改進(jìn)插補(bǔ)算法求解誤差時,可以把每一小段曲線近似看做單峰函數(shù)曲線。在這區(qū)間中的一點(diǎn)誤差值最大,而誤差值為零在區(qū)間的兩端點(diǎn)處。改進(jìn)算法具體步驟如下。
步驟二:計算x0=(xA+xB)/2。
步驟三:令x1=x0+h,x2=x0-h(huán)。
當(dāng)x1<xA,讓x1=xA,否則轉(zhuǎn)步驟四;
當(dāng)x2>xB,讓x2=xB,否則轉(zhuǎn)步驟四。
步驟四:計算f0=f(x0),f1=f(x0+h),f2=f(x0- h),當(dāng)h ≤ε,否則轉(zhuǎn)步驟六。
步驟五:當(dāng)f1≤f0,且f2≤f0,讓h=0.5h,轉(zhuǎn)步驟三。
當(dāng)f2<f0<f1,讓x0=x0+h,f0=f2,h=2h,轉(zhuǎn)步驟四。
當(dāng)f1<f0<f2,讓x0=x0-h(huán),f0=f1,h=2h,轉(zhuǎn)步驟四。
步驟六:停止,輸出f0。
(3)改進(jìn)的等誤差插補(bǔ)算法。插補(bǔ)節(jié)點(diǎn)的運(yùn)算是插補(bǔ)算法的核心,曲線特性、允許誤差E 和輪廓曲線方程決定節(jié)點(diǎn)。數(shù)控系統(tǒng)根據(jù)這些節(jié)點(diǎn)發(fā)出脈沖信號,驅(qū)動機(jī)床產(chǎn)生目標(biāo)加工曲線。伸縮步長法是根據(jù)判斷插補(bǔ)誤差與允許誤差的關(guān)系,依次執(zhí)行循環(huán)。但是當(dāng)曲線的曲率比較大的時候,插補(bǔ)誤差在遠(yuǎn)小于允許誤差時便跳出循環(huán)。這種算法能夠滿足工件的加工精度,但是節(jié)點(diǎn)數(shù)量會增多,程序變得冗長,同時也會讓刀具在運(yùn)行時速度時快時慢,降低工件的光潔度。
通過改變終止循環(huán)的條件來改進(jìn)等誤差插補(bǔ)算法。當(dāng)插補(bǔ)誤差δ 小于允許誤差E 時,令參數(shù)T=0,而且增大步長。當(dāng)插補(bǔ)誤差δ 首次大于允許誤差E 時,令參數(shù)T=1,而且縮小步長,當(dāng)插補(bǔ)誤差δ 再度小于允許誤差E 時停止循環(huán),此時輸出插補(bǔ)節(jié)點(diǎn)坐標(biāo)。
使用這種方法,讓每一次計算的插補(bǔ)誤差δ 比較接近允許誤差E。不僅能夠滿足加工精度的要求,而且讓這種算法得到的節(jié)點(diǎn)更少。
本文設(shè)計了適用于恒切削力銑削變曲率輪廓工件的算法。在等誤差插補(bǔ)算法的基礎(chǔ)上設(shè)計了改進(jìn)算法,通過改進(jìn)后的插補(bǔ)算法計算插補(bǔ)點(diǎn),各插補(bǔ)段的插補(bǔ)誤差比較均勻。使用改進(jìn)算法計算,得到的誤差值更加準(zhǔn)確,不僅能夠保證工件的加工精度,而且能夠提高工件的表面質(zhì)量。改進(jìn)后的插補(bǔ)算法在處理不同類型非圓曲線時插補(bǔ)效果很好,穩(wěn)定性高。在銑削變曲率2D 輪廓工件的凹弧時,工件輪廓曲率半徑ρ 增大,最大切向力和法向力減??;銑削凸弧時,工件輪廓曲率半徑ρ增大,最大切向力和法向力增大。