逐點比較插補算法設計_第1頁
逐點比較插補算法設計_第2頁
逐點比較插補算法設計_第3頁
逐點比較插補算法設計_第4頁
逐點比較插補算法設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、學院畢 業(yè) 論 文(設 計) 2015 屆機械設計制造及其自動化專業(yè) 13 班級題 目 逐點比較插補算法設計 姓 名 學號 1 指導教師 職稱 教授 二一 五 年 五 月 二十一 日 摘 要逐點比較法是數(shù)控加工中常用的插補方法,通過控制刀具每次移動的位置與理想位置的誤差函數(shù)進而實現(xiàn)零件加工,鑒于VB編程簡單、直觀,采用VB可以實現(xiàn)逐點比較插補原理的相關程序設計及加工過程虛擬化。插補技術是機床數(shù)控系統(tǒng)的核心技術,逐點比較法可以實現(xiàn)直線和圓弧插補算法,其算法的優(yōu)劣直接影響零件直線和圓弧輪廓的加工精度和加工速度。文章在傳統(tǒng)的逐點比較直線插補與圓弧插補算法的基礎上,提出以八方向進給取代傳統(tǒng)的四方向進給

2、,研究了偏差最小的走步方向的實現(xiàn)方法,同時研究了保證數(shù)控機床坐標進給連續(xù)的偏差遞推計算過程。結果表明,新算法可以提高零件輪廓的逼近精度且減少了插補計算次數(shù),從而提高了零件直線和圓弧輪廓的加工精度和加工速度。關 鍵 詞數(shù)控;插補;逐點比較;逼近;偏差函數(shù)The algorithm design of point-to-point comparison Author: LI Zhiyuan Tutor: Chen LiangjiAbstractAbstract: The algorithm of point-to-point comparison is a typical plugging met

3、hod in processing of numerical control,manufacturing parts by controlling error function between the position the cutting tool moves to and the perfect position.VB program is simple and visual,which can visualize the programming and processing of The algorithm of point-to-point comparison. Interpola

4、tion technology is the core technology of machine tools CNC system. The algorithm of point-to-point comparison can achieve the algorithms of linear and circular interpolation.The algorithm of point-to-point comparison linear and circular interpolation affects the machining accuracy and rate directly

5、.Base on the conventional algorithm of point-to-point comparison linear and circular interpolation,it was put forward in the article that feed in eight directions takes place of feed in four directions,the achievement method of feed direction was researched that can result in the least deviation,the

6、 deviation recursive calculation process was researched that can ensure a continuous CNC coordinate feed.The result showed that the approximation accuracy of parts contour was improved and the number of interpolation calculation was reduced by use of new algorithm,and then the machining accuracy and

7、 rate of parts linear and circular contour was improved.Keywords:CNC;interpolation;point-to-point comparison ;error function目 錄第一章緒論11.1 設計與研究的重要性11.3 本設計的主要工作2第二章逐點比較法42.1 基準脈沖插補42.2 逐點比較法42.2.1逐點比較法直線插補算法62.1.2逐點比較法圓弧插補13第三章逐點比較法算法的改進243.1 改進的逐點比較直線插補算法253.2 改進的逐點比較圓弧插補算法30第4章VB插補程序代碼344.1逐點比較法直線插

8、補的程序設計方案344.1.1程序實現(xiàn)344.1.2工作界面344.1.3源程序代碼354.2 逐點比較法圓弧插補VB程序38第五章結論42參考文獻44第一章緒論在現(xiàn)代制造系統(tǒng)中數(shù)控系統(tǒng)占有非常重要地位,數(shù)控技術是一門不僅具有理論性而且具有實踐性的多學科融合技術。尤其,插補技術是數(shù)控技術的一個重要組成部分,數(shù)控加工中常采用的插補方法是逐點比較法插補法。逐點比較插補法通過控制刀具每次移動的位置與理想位置誤差函數(shù)進行比較,從而使實現(xiàn)零件的加工。由于Visual Basic 在實際當中的廣泛應用及編程簡單、直觀,采用Visual Basic 可以實現(xiàn)逐點比較法插補原理的相關程序設計。隨著科技水平的不

9、斷提高,人類對機械制造技術提出了更高的要求。機械制造技術的基礎是數(shù)控技術。數(shù)控系統(tǒng)編程影響著數(shù)控機床的各種性能,不但決定著加工過程而且還決定著加工精度,所以,對數(shù)控系統(tǒng)的加工有著非常重大的意義。1.1 設計與研究的重要性 插補技術是機床數(shù)控系統(tǒng)的核心技術。插補是機床數(shù)控系統(tǒng)按照一定方法控制執(zhí)行部件運動、進而產生零件輪廓的過程。插補的本質是在所需路徑或輪廓上的兩個已知點間,依據某一數(shù)學函數(shù)確定其中中間點的位置坐標值。數(shù)控系統(tǒng)依據其坐標值控制執(zhí)行部件的運動,從而實現(xiàn)數(shù)控加工。插補算法的優(yōu)劣直接影響數(shù)控系統(tǒng)的各性能指標,其計算精度也將直接影響零件輪廓的加工精度。因此,插補算法對數(shù)控系統(tǒng)的性能非常重要

10、。 1.2 設計的相關技術及現(xiàn)狀在現(xiàn)代計算機數(shù)控系統(tǒng)中,插補算法大部分都是采用計算機的程序軟件來實現(xiàn)。由于直線和圓弧是構成工件輪廓的基本要素,因此一般的數(shù)控系統(tǒng)都具有直線和圓弧插補功能。數(shù)控系統(tǒng)的插補算法可劃分為基準脈沖插補和數(shù)據采樣插補這兩大類,逐點比較插補法是基準脈沖插補計算方法中的一種常采用的方法。脈沖增量法實現(xiàn)起來相對比較簡單而且易用硬件實現(xiàn),從而被廣泛應用在開環(huán)數(shù)控系統(tǒng)中。因此,大多數(shù)的CNC系統(tǒng)都具有直線和圓弧插補功能。由于大多數(shù)非圓輪廓曲線均可以采用圓弧來逼近,在系統(tǒng)不具備高級曲線輸出功能時,若有一個簡單精確而且快速的圓弧插補功能則顯得非常必要。1.3 本設計的主要工作逐點比較插

11、補法不但能進行過象限處理和終點判別,而且能對譯碼后的結果進行插補運算。本設計在傳統(tǒng)的逐點比較圓弧插補算法的基礎上, 提出一種改進算法。這種改進的算法不僅減少數(shù)控系統(tǒng)的插補次數(shù)而且還提高插補精度,從而提高零件輪廓的加工精度。本設計還采用了VB程序編寫插補算法并調試其程序在計算機中實現(xiàn)模擬數(shù)控插補方法。第二章 逐點比較法2.1 基準脈沖插補脈沖增量插補為行程標量插補。這類插補算法的特點是每次插補結束僅產生一個行程增量,以一個個脈沖的方式輸出。脈沖增量插補算法主要應用在開環(huán)數(shù)控系統(tǒng)中。 基準脈沖插補在插補計算過程中不斷地向各坐標軸發(fā)出互相協(xié)調的進給脈沖,驅動各坐標軸進給電動機的運動,一個脈沖所產生的

12、移動量稱為脈沖當量,通常用表示。脈沖當量值越小,數(shù)控機床的加工精度就越高,對數(shù)控系統(tǒng)的計算能力的要求也越高。采用脈沖增量插補算法的CNC系統(tǒng),其坐標軸進給速度受插補程序運行時間的限制。逐點比較法是基于脈沖增量插補方法之一。2.2 逐點比較法逐點比較插補法就是每走一步(即一個脈沖當量)都要將加工點的瞬時坐標與規(guī)定的圖形軌跡相比較,判斷實際加工點在給定軌跡的什么位置, 從而決定下一步的進給方向,這樣就能得出一個非常接近規(guī)定圖形的軌跡。逐點比較法又稱區(qū)域判別法,又稱代數(shù)運算法,或醉步式近似法。逐點比較法的基本原理是計算機在控制加工過程中,能逐點地計算和判別加工偏差,以控制坐標進給,按規(guī)定圖形加工出所

13、需要工件,在數(shù)控裝置的控制下,按要求的軌跡運動時,每走一步都要和規(guī)定的軌跡比較,根據比較的結果決定下一步的移動方向。每走一步都要完成四個工作節(jié)拍(如圖2-1)。圖2-1 逐點比較的工作節(jié)拍(1) 偏差判別:判別加工點對規(guī)定圖形的偏離位置,確定進給方向。(2) 坐標進給:使加工點向規(guī)定的圖形趨進,縮小偏差。(3) 偏差計算:計算新的加工點與給定的圖形之間的偏差,作為下一步判別依據。(4) 終點判別:判斷是否到達終點,若到達則停止插補;否則,在回到第一拍,如此不斷重復上述循環(huán)過程,加工出所需要的輪廓形狀。逐點比較法可以實現(xiàn)直線和圓弧插補。其特點是運算直觀,插補誤差小于一個脈沖當量,而且輸出脈沖均勻

14、,輸出脈沖的速度變化小,調節(jié)方便。2.2.1逐點比較法直線插補算法1. 逐點比較法直線插補原理直線插補時,以直線的起點為坐標原點,給出終點坐標,見圖如圖2-2所示,則直線方程為改寫為 (2-1)式中 X,Y為該直線上任一點P的坐標。對XY平面第一象限直線段進行插補,直線段起點位于坐標原點O,終點位于,設點為任一動點。 圖2-2 逐點比較法直線插補1)偏差判別設為加工動點,則如下若P點在該直線OA上,則: 若P點在該直線OA上方,則:若P點在該直線OA下方,則:由此,可取偏差判別函數(shù)為 (2-2)則可得到如下結論:當=0時,加工動點P落在給定直線上;當0時,加工動點P落在給定直線上方;當0時,加

15、工動點P落在給定直線下方。2) 坐標進給 坐標進給是向使偏差縮小的方向。根據這個原則,就有:當0時,應該向X的正向進給一步,使點接近直線OA;當0時,應該向Y的正向進給一步,使點接近直線OA;當=0時,既可以向X的正向進給一步,也可以Y的正向進給一步,但通常將F=0和F0做同樣的處理,既都向X的正向進給一步。在某一方向進給一步,就是有插補裝置發(fā)出一個進給脈沖,來控制向某一方向進給一步。3)偏差計算若直接依據(2-2)公式進行偏差計算,則要進行乘法和減法計算,還要對動點A的坐標進行計算。不論是對硬件進行插補,還是對軟件進行插補,都比較繁雜,故為便于計算機的計算,在插補運算的新偏差計算中,通常采用

16、遞推公式來進行。即設法找出相鄰兩個加工動點偏差值間的關系,每進給一步后,新加工動點的偏差可用前一加工動點的偏差推算出來。而起點是給定直線上的點,即=0。這樣所加工動點的偏差都可以從起點開始一步步推算出來。若給定直線在第一象限,則有:當F0時,加工動點向+X方向進給一步,即加工動點由沿+X方向移動到,而新加工動點的偏差為又因為的坐標為所以 則 當F0時,加工動點向+Y方向進給一步,同理得上述公式就是第一象限直線插補偏差的遞推公式。從中可以看出,偏差計算只用到了終點坐標,而不必計算每一個加工動點的坐標值,且只有加法和減法運算,形式簡單。4)終點判別判斷是否到達終點,未到達終點則返回第一步,繼續(xù)插補

17、,到終點,則停止本程序段的插補。終點判別的方法一般有兩種:第一種方法是每走一步判斷及是否成立,如成立,則插補結束否則繼續(xù)。第二種方法二是把每個程序段中的總步數(shù)求出來,即,每走一步n-1,直到n=0為止。注意:終點判別的兩種方法中,均用坐標的絕對值進行計算。2.直線插補計算舉例加工第一象限直線OE,如圖2-3所示,起點為坐標原點,終點坐標為E(4,3)。試用逐點比較法對該段直線進行插補,并畫出插補軌跡。解:用第二種判別方法,則 n= 4+3= 7又因為E點的坐標為(4,3),即該直線位于第一象限,故按第一象限進行插補運算。其運算過程見表2-1,走步軌跡見圖2-3。序號工作節(jié)拍偏差判別坐標進給新偏

18、差計算終點判別1F0=0+XF1=F0-Ye=-3=7-1=62F1<0+YF2=F1+Xe=1=6-1=53F2>0+XF3=F2-Ye=-2=5-1=44F3<0+YF4=F3+Xe=2=4-1=35F4>0+XF5=F4-Ye=-1=3-1=26F5<0+YF6=F5+Xe=3=2-1=17F6>0+XF7=F6-Ye=0=1-1=0表2-1 直線插補運算過程 圖2-3 直線插補軌跡過程3.四象限的直線插補 前面所述的均為第一象限直線的插補方法。第一象限直線插補方法經適當處理后可推廣到其余象限的直線插補。四個象限直線的偏差符號和插補進給方向如圖2-4所

19、示,用L1、L2、L3、L4分別表示第、象限的直線。為適用于四個象限直線插補,插補運算時用X,Y代替X,Y,偏差符號確定可將其轉化到第一象限,動點與直線的位置關系按第一象限判別方式進行判別。當動點位于直線上時偏差F=O,動點不在直線上且偏向Y軸一側時F>O,偏向X軸一側時F<0。由圖2-4還可以看到,當F0時應沿X軸走步,第一、四象限走X方向,第三、二象限走-X方向;當F<O時應沿Y軸走步,第一、二象限走+Y方向,第三、四象限走-Y方向。終點判別也應用終點坐標的絕對值作為計數(shù)器初值。綜上所知,靠近Y軸區(qū)域偏差大于零,靠近X軸區(qū)域偏差小于零。F0時,進給都是沿X軸,不管是X向還

20、是X向,X的絕對值增大;F<0時,進給都是沿Y軸,不論Y向還是Y向,Y的絕對值增大。圖2-4 四象限直線插補流程圖四個象限的直線插補偏差計算遞推公式見表2-2;也可以使插補計算中的坐標值不帶符號,用坐標的絕對值進行計算,此時偏差計算的遞推公式見表23。象限坐標進給偏差計算+X+Y-X+Y-X-Y+X-Y表2-2 直線插補公式(坐標值帶符號)、象限坐標進給偏差計算+X+Y-X+Y-X-Y+X-Y表2-3 直線括補公式(坐標值為絕對值)2.1.2 逐點比較法圓弧插補1逐點比較法圓弧插補原理在加工圓弧過程中,人們很容易聯(lián)想到使用動點到圓心的距離與該圓弧的名義半徑進行比較來反映加工偏差。逐點比較

21、法圓弧插補中,一般以圓心為原點,給出圓弧起點坐標和終點坐標,以及加工順圓及圓弧所在象限。1)判別函數(shù)及判別條件圖2-5 圓弧與動點坐標假設被加工零件的輪廓為如圖2-5所示,弧AB為所要加工的第一象限逆圓,圓心在O(0,0),半徑為R,圓弧起點為A,圓弧終點為B,圓弧上任意加工動點為M。當比較該加工動點到圓心的距離與圓弧半徑R的大小時,可獲得刀具與圓弧輪廓之間的相對位置關系。當動點M正好落在圓弧上時,則有下式成立當動點M落在圓弧外側時,則有下式成立當動點M落在圓弧內側時,則有下式成立由此可見,取逐點比較法圓弧插補的偏差函數(shù)表達式為2)進給方向判別當動點落在圓外時,為了減小加工誤差,應向圓內進給,

22、即向X軸方向走一步;當動點落在圓內時,應向圓外進給,即向Y軸方向走一步。當動點正好落在圓弧上且尚未到達終點時,為了使加工繼續(xù)下去,理論上向+Y軸或X軸方向進給均可以,但一般情況下約定向X軸方向進給。綜上所述,現(xiàn)將逐點比較法第象限逆圓插補規(guī)則概括如下:當F0時,即0,動點落在圓外,則向X軸方向進給一步;當F0時,即=0,動點正好落在圓上,約定向X軸方向進給一步;當F0時,即0,動點落在圓內,則向()軸方向進給一步。由偏差函數(shù)表達式可知,計算偏差F值,就必須進行動點坐標、圓弧半徑的平方運算。顯然,在用硬件或匯編語言實現(xiàn)時不太方便。為了簡化這些計算,按逐點比較法直線插補的思路,也可以推導出逐點比較法

23、圓弧插補過程中偏差函數(shù)計算的遞推公式。 假設第i次插補后,動點坐標為M ,其對應偏差函數(shù)為當0,向X軸方向進給一步,則新的動點坐標值為 , 因此,新的偏差函數(shù)為 同理,當0,則向軸方向進給一步,則新的動點坐標值為因此,可求得新的偏差函數(shù)為 將上式進行比較,可以看出兩點不同:第一,遞推形式的偏差計算公式中僅有加/減法以及乘2運算,而乘2可等效成該二進制數(shù)左移一位,這顯然比平方運算來得簡單。第二,進給后新的偏差函數(shù)值與前一點的偏差值以及動點坐標M 均有關系。由于動點坐標值隨著插補過程的進行而不斷變化,因此,每插補一次,動點坐標就必須修正一次,以便為下一步的偏差計算作好準備。 3)終點判別和直線插補

24、一樣,圓弧插補過程也有終點判別問題。當圓弧輪廓僅在一個象限區(qū)域內,其終點判別仍可借用直線終點判別的兩種方法進行,只是計算公式略不同。插補運算開始前計算出兩個坐標進給的總步數(shù)N,在插補過程中,X或Y每走一步,就從總步數(shù)N中減1,當N=0時,表示到達終點。插補前分別計算兩個坐標進給的總步數(shù)和,其中、,當X坐標進給一步時,計算-1,當Y坐標進給一步時,計算-1,兩坐標進給的總步數(shù)均減為零時,表示到達終點。2.圓弧插補計算舉例現(xiàn)欲加工第一象限逆圓弧AB,如圖2-6所示,起點A(0,4),終點B(4,0),試用逐點比較法進行插補,并畫出插補軌跡。解:按兩方向坐標應走總步數(shù)之和作為,則0=(4-0)十(4

25、-0)=8起點在圓弧上,則=0,=4,=0其插補運算過程見表2-4, 走步軌跡見圖2-6.序號工作節(jié)拍偏差判別坐標進給偏差計算坐標計算終點判別起點F0=0X0=4,Y0=0=81F0=0-X F1=F0-2X0+1=-7X1=3,Y1=0=8-1=72F1<0+YF2=F1+2Y1+1=-6X2=3,Y2=1=7-1=63F2<0+YF3=F2+2Y2+1=-3X3=3,Y3=2=6-1=54F3<0+Y F4=F3+2Y3+1=2X4=3,Y4=3=5-1=45F4>0-X F5=F4-2X4+1=-3X5=2,Y5=3=4-1=36F5<0+Y F6=F5+2

26、Y5+1=4X6=2,Y6=4=3-1=27F6>0-X F7=F6-2X6+1=1X7=1,Y7=4=2-1=18F7>0-X F8=F7-2X7+1=0X8=0,Y8=4=1-1=0表2-4 圓弧插補運算過程表圖2-6 圓弧插補軌跡過程3.四象限的圓弧插補 為敘述方便,用SR1、SR2、SR3、SR4分別表示第一、第二、第三、第四象限的順圓弧;用NR1、NR2、NR3、NR4分別表示第一、第二、第三、第四象限的逆圓弧。 圖2-7 四個象限的動點趨向從前面分析可知,第一象限逆圓插補運動,使動點坐標的絕對值減少,使的絕對值增加。X軸進給一步,從而得出 (2-3) y軸進給一步,從而

27、得出 (2-4) 參照圖2- 7,第一象限順圓弧SRI運動趨勢是X軸絕對值增加,Y軸絕對值減小。由此可以得出:當時,動點在圓上或圓外,Y軸負向進給,絕對值減小當時,動點在圓內,X軸正向進給,絕對值增加與直線插補相似,如果插補計算都用坐標的絕對值進行,將進給方向另做處理,那么,四個象限的圓弧插補計算可統(tǒng)一起來,變得簡單多了。從圖2- 7可以看出,SR1、NR2、SR3、NR4的插補運動趨勢都是使X軸坐標絕對值增加,Y軸坐標絕對值減小,這幾種圓弧的插補計算是一致的,以SRI為代表。NR1、SR2、NR3、SR4插補運動趨勢都是使X軸坐標絕對值減小,Y軸坐標絕對值增加,這四種圓弧插補計算也是一致的,

28、以NR1為代表。 如圖2 - 7所示,與第一象限逆圓NR1相對應的其它三個象限的圓弧有SR2、NR3、SR4。其中,第二象限順圓SR2與第一象限逆圓NRI是關于Y軸對稱的,起點坐標(-,), 圖中可知,兩個圓弧從各自起點插補出來的軌跡對于Y坐標對稱,即Y方向的進給相同,X方向進給相反,機器完全按第一象限逆圓偏差計算公式進行計算,所不同的是將X軸的進給方向變?yōu)檎?,則走出的就是第二象限順圓SR2。在這里,圓弧的起點坐標要取其數(shù)字的絕對值,即進入機器時,起點坐標為無符號數(shù)(,),而-的“一”號則用于確定象限,從而確定進給方向。表2-5列出了8種圓弧插樸的計算公式和進給方向。偏差符號圓弧線型進給方向

29、偏差計算坐標計算SR1、NR2-YSR3、NR4+YSR4、NR1-XSR2、NR3+X偏差符號圓弧線型進給方向偏差計算坐標計算SR1、NR4-XSR3、NR2-XSR2、NR1+YSR4、NR3-Y表2-5 圓弧插補計算公式和進紿方向4. 逐點比較法圓弧插補的過象限處理為了加工二個象限或二個以上象限的圓弧,圓弧插補程序必須具有自動過象限功能。(1)圓弧自動過象限所謂圓弧自動過象限,是指圓弧的起點和終點不在同一象限內,如圖2-8 所示。為實現(xiàn)一個程序段的完整功能,需設置圓弧自動過象限功能。要完成過象限功能,首先應判別何時過象限。過象限有一顯著特點,就是過象限時刻正好是圓弧與坐標軸相交的時刻,因

30、此在兩個坐標值中必有一個為零,判斷是否過象限只要檢查是否有坐標值為零即可。過象限后,圓弧線型也改變了,以圖2-8 為例,由SR2 變?yōu)镾R1。但過象限時象限的轉換是有一定規(guī)律的。當圓弧起點在第一象限時,逆時針圓弧過象限后轉換順序是NR1NR2NR3NR4NR1,每過一次象限,象限順序號加1,當從第四象限向第一象限過象限時,象限順序號從4 變?yōu)?;順時針圓弧過象限的轉換順序是SR1SR4SR3SR2SR1,即每過一次象限,象限順序號減1,當從第一象限向第四象限過象限時,象限順序號從1變?yōu)?。(2)坐標變換前面所述的逐點比較法插補是在XY平面中討論的。對于其他平面的插補可采用坐標變換方法實現(xiàn)。用Y

31、代替X,Z代替Y,即可實現(xiàn)YZ平面內的直線和圓弧插補;用Z代替Y而X坐標不變,就可以實現(xiàn)XZ平面內的直線與圓弧插補。圖2-8 圓弧過象限第三章逐點比較法算法的改進從第二章介紹可以看出,逐點比較法每插補一次,要么在X方向走一步,要么在Y方向走一步,走步方向為+X、-X、+Y、-Y這四個方向之一。因此可稱之為四方向逐點比較法。四方向逐點比較法插補結果以垂直的折線逼近給定軌跡,插補誤差小于或等于一個脈沖當量。八方向逐點比較法與四方向逐點比較法相比,不僅以+X、-X、+Y、-Y作為走步方向,而且兩個坐標可以同時進給,即四個合成方向+X+Y、-X+Y、-X-Y、+X-Y也作為進給方向。如圖3-1所示。八

32、方向逐點比較法以。折線逼近給定軌跡,逼近誤差小于半個脈沖當量,加工出來的工件質量要比四方向逐點比較法的高。圖 3-1 八個進給方向3.1改進的逐點比較直線插補算法 在第二章插補運算方法中采用偏差計算遞推公式的出發(fā)點就是根據當前點的偏差值推算出下一點的偏差值,當運動到該點時,就能立即作出下一步的走向, 使坐標進給保持連續(xù)。同時,偏差遞推式只有加減運算, 便于硬件件或軟件實現(xiàn), 且加減的運算時間短。逐點比較直線插補算法簡單, 但不能實現(xiàn)兩軸聯(lián)動, 而插補精度不高。 當直線斜率變大時, 誤差也變大。特別是當終點坐標等于零時, 整條直線的加工誤差均為一個脈沖當量。因此對傳統(tǒng)的逐點比較直線插補算法進行改

33、進。如圖3- 2所示,八個進給方向將四個象限分為八個區(qū)域。在各個區(qū)域中的直線的進給方向如圖3 -2所示,如在l區(qū)的直線進給方向為+X+Y、或+X,在2區(qū)的直線進給方向為+X+Y或+Y??梢?,對于某一象限的直線來說,進給方向有三種可能,要么兩坐標同時進給,要么X坐標進給,要么Y坐標進給。圖3- 2 八個方向直線插補為了保證數(shù)控機床坐標進給連續(xù),簡化其數(shù)控系統(tǒng)的偏差計算,同樣采用偏差計算遞推公式。以X -Y平面第一象限的直線為例,說明改進后的八方向逐點比較直線插補算法。第一象限的走步方向只有+X、+Y 、+X +Y 三種:(1)+X方向進給一個脈沖當量,;(2)+Y方向進給一個脈沖當量,;(3)+

34、X +Y方向各進給一個脈沖當量:為了逼近輪廓與零件輪廓的誤差達到最小,使得走步過程中每一動點的偏差值最小, 計算當前點走+X 、+Y 、+X +Y三種方向后下一點的三個偏差值大小, 對三個偏差值的絕對值進行比較,取偏差絕對值最小的走步方向為當前點的走步方向。當有兩個偏差值絕對值相等時, 以+X +Y 作為走步方向.在當前點計算出接下來的第2 點偏差值,選擇下一點的進給方向, 下一點的偏差值和當前點的給進方向在前一點走向當前點的過程中確定。因為直線的起點偏差為零 , 直線終點已知, 在插補計算初始化的過程中就可以算出第1 點偏差值和確定起點的走步方向。 在起點走向第1 點的過程中計算第2點偏差值

35、和確定第1 點走步方向。 在第1 點向第2點的過程中計算第3 點偏差值和確定第2 點走步方向, 直至走到直線終點。改進后的八方向逐點比較直線插補算法在計算過程中, 每一動點的偏差值都能達到最小,使得逼近輪廓與零件輪廓的誤差達到最小,逼近誤差小于或等于半個脈沖當量,是傳統(tǒng)的逐點比較直線插補算法逼近誤差的一半。下面圖3-3圖3-8是三條直線分別采用傳統(tǒng)逐點比較直線插補和改進逐點比較直線插補的比較圖。綜上所述, 改進后的逐點比較直線插補算法減少了插補次數(shù),提高了零件輪廓的逼近精度, 因此提高了數(shù)控機床零件加工的速度和精度。 圖3-3直線y =x/ 6 的傳統(tǒng)逐點比較插補圖3-4直線y =x/ 6 的

36、改進逐點比較插補圖3-5直線y =x 的傳統(tǒng)逐點比較插補圖3-6 直線y =x 的改進逐點比較插補圖3-7直線y =6x 的傳統(tǒng)逐點比較插補圖3-8直線y =6x 的改進逐點比較插補3.2 改進的逐點比較圓弧插補算法用八方向逐點比較法,在八個區(qū)域中共有1 6種圓弧。如圖3- 9所示。各種圓弧的進給方向都在圖上標出,仍按四方向逐點比較法處理方式,用坐標絕對值進行計算,進給方向的正負由數(shù)據處理程序模塊直接傳遞進給驅動程序,不由插補程序處理。、圖3-9 十六種圓弧及進給方向同改進的逐點比較直線插補算法一樣,以XY 平面第一象限的逆時針圓弧為例,說明改進后的八方向逐點比較圓弧插補算法。第一象限逆時針圓

37、弧的走步方向只有X 、Y 、X Y 三種:(1) X 方向進給一個脈沖當量, ;( 2) Y 方向進給一個脈沖當量, ;( 3 ) X Y 方向各進給一個脈沖當量:如同改進的逐點比較直線插補算法一樣,為了逼近輪廓與零件輪廓的誤差達到最小,就要使得走步過程中每一動點的偏差值最小,計算當前點走X 、Y 、XY 三種方向后下一點的三個偏差值大小。對、三個偏差值的絕對值進行比較, 取偏差絕對值最小的走步方向為當前點的走步方向,直至加工逼近的軌跡。插補流程圖如圖3-10 所示。圖3-10 第一象限逆時針圓弧逐點比較插補流程改進后的八方向逐點比較圓弧插補算法計算逼近誤差是傳統(tǒng)的逐點比較圓弧插補算法逼近誤差

38、的一半。圖3-11、圖3-12是分別采用傳統(tǒng)逐點比較圓弧插補和改進逐點比較圓弧插補的比較, 其中圓弧為半徑6 個脈沖當量的第一象限逆時針圓弧。圖3-11 第一象限逆時針圓弧逐點比較插補流程圖3-12 第一象限逆時針圓弧逐點比較插補流程綜上所述,改進后的逐點比較圓弧插補算法不但減少了插補次數(shù),而且提高了零件輪廓的逼近精度, 還提高了數(shù)控機床零件加工的速度和精度。 第4章VB插補程序代碼 4.1逐點比較法直線插補的程序設計方案為了直觀顯示數(shù)控插補過程,必須動態(tài)地描述刀具運動過程中位置變化情況。在現(xiàn)行的程序設計語言中,Visual Basic提供了一種可視界面的設計方法,使用窗體和控件設置應用程序界

39、面,程序設計語言簡單,又面向對象機制,因此可采用VB實現(xiàn)。 程序實現(xiàn)根據插補的要求,該程序首先要判斷加工直線的象限,然后通過偏差判別坐標進給偏差計算判別終點完成直線插補,其工作過程。工作界面該程序運行時,首先輸入插補直線的起始點X坐標和終點Y坐標,然后確定進行模擬。界面設計如圖4-1某一直線插補的運行界面如圖4-2。圖4-1 界面設計圖4-2 程序模擬界面4.1.3源程序代碼程序充分采用了循環(huán)結構與選擇結構的基本編程方法,對于第一象限進行了編程,其它象限與此類似。Dim n, i,x(100), y(100), xe, ye, f(100) As Integer Private Sub Com

40、mand1_Click()x(0) = Val(Textl. Text)y(0) = Val(Text2. Text)xe =Val(Text3. Text) ye = Val(Text4. Text) If Abs(x0) <= Abs(y0) Then p = Abs(y0) Else p = Abs(x0) End If If p < Abs(xe) Then p = Abs(xe) End If If p < Abs(ye) Then p = Abs(ye) End IfPicture1.Cls Picture1.Scale (-p, p)-(p, -p) Pictu

41、re1.Line (-p, 0)-(p, 0) Picture1.Line (O, -p)-(0, p) Picture1.Line (x(0), y(0)-(xe, ye), vbBluePicture1.CurrentX = 0.9 * p: Picture1.CurrentY = 0.1 * p: Picture1.Print "X"Picture1.CurrentX = 0.1 * p: Picture1.CurrentY = 0.9 * p: Picture1.Print "Y" Picture1.CurrentX = 0: Picture1.

42、CurrentY = 0: Picture1.Print 0n = Abs(ye - y(0) + Abs(xe - x(0)f(0) = 0For i = O To n - 1 If f(i) >= 0 Then For j = x(i) To x(i) + 1 Step 0.01 Picture1.PSet (j, y(i), vbBlue Next j x(i + 1) = x(i) + 1 y(i + 1) = y(i)f(i + 1) = f(i) - yeElseFor j = y(i) To y(i) + 1 Step 0.01Picture1.PSet (x(i), j)

43、, vbBlue Next j y(i + 1) = y(i) + 1 x(i + 1) = x(i) f(i + 1) = f(i) + xe End IfNext iEnd Sub4.2 逐點比較法圓弧插補VB程序同直線插補編程類似,不多贅述。以第一象限的逆圓弧為例,界面設計圖4-3,程序模擬界面圖4-4,源程序代碼分別如下。圖4-3 界面設計圖4-4 程序模擬界面源程序代碼如下:Dim n,m, p, x(1000), y(1000), xe, ye, f(1000) As SinglePrivate Sub Command1_Click()Dim i As IntegerConst pi = 3.14159m = pi * Val(Textl.Text) n = pi * Val(Text2.Text)r = Val(Text3.Text)x(0) = abs(r * Cos(m)y(0) =abs( r * Sin(m)xe = abs(r * Cos(n)ye = abs(r * Sin(n)If Abs(x0) <= Abs(y0) Then p = Abs(y0) Else p = Abs(x0) End If If p < Abs(xe) Then p = Abs(xe) En

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論