朱 寧
(徐州機電技師學院,江蘇 徐州 221000)
三次樣條曲線是在生產(chǎn)實踐中產(chǎn)生和發(fā)展起來的。在CAD/CAM技術(shù)還沒有得到廣泛應用時,技術(shù)人員繪制飛機、船舶和汽車上的復雜輪廓曲線都是借助于樣條通過手工來完成[1]。繪制樣條曲線時,先選定好支點位置,然后在另一端放上重物或壓鐵使其作自由彈性彎曲,獲得的曲線即所需要的樣條曲線。
已知n個點P1(x1,y1),P2(x2,y2),…,Pn(xn,yn),且x1<x2…<xn,若函數(shù)S(x)滿足條件:
(1)曲線通過所有的型值點,即S(xi)=yi(i=1,2,…n);
(2)S(x)在[xi,xn]區(qū)間上有連續(xù)的一階和二階導數(shù);
(3)S(x)在每一個子區(qū)間[xi,xi+1]上都是三次多項式,即每一個子區(qū)間內(nèi)有Si(x)=Ai+Bi(x-xi)+Ci(xxi)2+Di(x-xi)3,(i=1,2,…n-1)。
則稱S(x)為[xi,xn]上以xi(i=1,2,…n)為結(jié)點的三次樣條函數(shù)。
令t為弦長參數(shù),x=x(t),y=y(t)。可以看出:對應于n個型值點(xi,yi)(i=1,2,…n)有n個弦長參數(shù)ti(i=1,2,…n),如圖1所示。
圖1 弦長參數(shù)示意圖
令t1=0,t2=[(x2-x1)2+(y2-y1)2]1/2,…,tn=[(xn-x1)2+(yn-y1)2]1/2。選擇嚴格單調(diào)的t1,t2,t3,…tn,構(gòu)成t1<t2…<tn序列。以弦長作為參數(shù),大部分加工曲線可以滿足這個條件。對于有特殊曲線的工件,以采用分段的方法滿足弦長遞增的條件,然后分段進行插補??梢宰C明:在[ti,ti+1](i=1,2,…n-1)條函數(shù)能量極小性,但仍有連續(xù)的一階和二階導數(shù)。
在 區(qū) 間 [ti,ti+1](i=1,2,…n-1)內(nèi),(xk,yk),(xk+1,yk+1)為相靠近的插補點,tk、tk+1為這些點對應的弦長參數(shù),如圖2所示。
圖2 弦長增量示意圖
為了提高加工精度,采樣周期要很小,這樣在每個插補周期內(nèi)的加工進給量也很小。在加工進給時,可以用弦長AB近似的代替弧長AB,有|AB|=λT。如果用O作為圓心,|OA|作為圓的半徑畫圓,與OB相交于C點,|BC|作為插補弦長增量Δt。
由余弦定理得:
很顯然,|AB|>|CB|。但是,因為|AB|非常小,θ也非常小,同時實際加工中給出的區(qū)間段也非常小,所以|AB|與|CB|相差也非常小。若選擇弦長增量Δt=|AB|=λT,即tk+1=tk+λT,則實際插補弦進給為|AB'|。因樣條曲線的連續(xù),B′仍在插補輪廓曲線上。因為|AB|與|CB|相差很小,所以|AB|與|AB'|相差也很小。因此,將弦長增量Δt選作恒定值λT,完全可以保證恒定的切削進給速度。
目前,世界上發(fā)達國家的數(shù)控技術(shù)發(fā)展較快,我們國家與之相比還相距較遠。雖然某些公司花巨資進口一些比較先進的數(shù)控設備,但是因為工人的操作水平、生產(chǎn)零件的性價比等因素的制約,很多廠家仍然使用經(jīng)濟型數(shù)控機床,而這些機床基本是由步進電機驅(qū)動的。在步進電機驅(qū)動的數(shù)控系統(tǒng)中,逐點比較法簡單、快速,應用比較普遍。本文提出的最小偏差法是在逐點比較法的基礎上發(fā)展起來的。
加工前先采集到初始變量,借助計算機運算能力強的優(yōu)勢,由初始數(shù)值通過曲線的數(shù)學公式,把加工點的位置坐標算出,并判斷該點在小正方形中的位置,選擇較優(yōu)的進給方向,發(fā)出脈沖指令驅(qū)動各坐標軸運動,這就是最小偏差法的原理,而這些任務基本是由軟件來執(zhí)行。加工程序是通過計算機與機床之間的接口直接傳輸?shù)模缓筠D(zhuǎn)換成脈沖指令。機床接收到指令后,按指令在步進電機的驅(qū)動下做相應的運動,以加工工件。
平面上,以直線AB(y=2x/3)為例。假設AB在第一象限,在[0,3]區(qū)間內(nèi),把直線AB所在的區(qū)域劃分為6個相等的小正方形,用小正方形的邊長表示一個脈沖大小[2]。由圖3可以直觀看出,利用最小偏差法進行直線插補時,正方形邊長越小,即每一個脈沖距離越小,插補的精度越高。
圖3 最小偏差法直線插補軌跡
對于脈沖進給方向的判斷,以直線在第I象限內(nèi)為例,如表1所示。
表1 直線脈沖進給方向判斷
當對三維直線進行插補時,也可以用二維直線的插補道理,先把三維直線投影到平面上分別進行插補運算,而脈沖進給方向同樣也沿著長軸的方向。
圓弧與直線相比,用最小偏差法插補要復雜。直線可以在一個象限里處理,而圓弧有時要跨越若干個象限,偏差函數(shù)和最長軸都隨著象限的變化而變化。因此,在圓弧插補過程中,每次改變象限時都要重新計算偏差,而不能使用上一步的偏差值[3]。以x2/92+y2/92=1逆半圓為例,其中y∈[0,9],得到的插補軌跡如圖4所示。
圖4 最小偏差法圓弧插補軌跡
可以通過改變每個脈沖距離來改善圓弧的插補精度,其脈沖進給方向的判斷由表2所示。
表2 圓弧脈沖進給方向判斷
圖5中,每一次脈沖后移動的距離用正方形的邊長L表示,這里取L>0。設當前加工點為Li,可以得到另外三個正方形的邊界點:La(xi,yi+1)、Lb(xi+1,yi)和Li+1(xi+1,yi+1),其中xi+1=xi+L,yi+1=yi+L。如直線和圓弧插補所述的一樣,只有每一個脈沖都取得很小,才能使生產(chǎn)出來的零件滿足加工精度要求。因此,需要把正方形的邊長設定得很小。由此可以得到:被加工的零件輪廓線與對面兩邊LaLi+1或者LbLi+1必然相交,且每一點的方向都不一樣,用Lm(xm,ym)表示。
圖5 最小偏差正方形
由以上的論述,得到兩種結(jié)果。
第一,假設點Lm在LaLi+1邊上,下一進給脈沖傳送過來時,進給方向用數(shù)學方法進行判別。假如是|xm-xi|>L/2,脈沖在x軸和y軸方向上都輸出,接下來一個最小偏差正方形的開始點就是點Li+1;否則當|xm-xi|<L/2時,輸出脈沖信號,電機驅(qū)動y軸運動,接下來一個最小偏差正方形的開始點就是點La。很明顯,在這兩種情況下,下一個脈沖進給方向分別向右或向左。
第二,假設Lm點在邊LbLi+1上。假如|ym-yi|>L/2,脈沖在x軸和y軸方向上都輸出,接下來一個最小偏差正方形的開始點就是點Li+1;否則當|ym-yi|<L/2,輸出脈沖信號,電機驅(qū)動x軸運動,接下來一個最小偏差正方形的開始點就是點Lb。很明顯,在這兩種情況下,下一個脈沖進給方向分別向上或向下。
另外,還有一種需要考慮的情況,是當點Lm與點Li重合時。因不論是什么條件,在這種情況下,一定是x軸和y軸都輸出脈沖,所以就把它歸入第一種條件。
本文主要介紹了樣條曲線的插補技術(shù)并對其進行改進。已經(jīng)使用的樣條曲線插補算法存在加工速度慢、誤差高、難于控制等問題。改進后的算法以低檔數(shù)控機床為基礎,運用最小偏差正方形判斷該點在小正方形中的位置來選擇較優(yōu)的進給方向,然后發(fā)出脈沖指令驅(qū)動各坐標軸運動。這些任務基本是由軟件來執(zhí)行的,而加工程序是通過計算機與機床之間的接口直接傳輸,然后轉(zhuǎn)換成脈沖指令。機床接收到指令后,按指令在步進電機的驅(qū)動下做相應運動來加工工件,從而在較小成本下,加工出較高精度的工件。
[1] 呂紅亞.樣條曲線插補速度規(guī)劃算法的研究[J].機械與電子,2010,(4):3-6.
[2] 商允舜.CNC數(shù)控系統(tǒng)加減速控制方法研究與實現(xiàn)[D].杭州:浙江大學,2006.
[3] 馬 駿,宋穎慧,趙萬生.非圓曲線數(shù)控插補的直接刀具半徑補償算法[J].電加工與模具,1995,(5):13-16.