數(shù)控課程設(shè)計(jì)(數(shù)字積分法第二象限逆圓插補(bǔ))_第1頁(yè)
數(shù)控課程設(shè)計(jì)(數(shù)字積分法第二象限逆圓插補(bǔ))_第2頁(yè)
數(shù)控課程設(shè)計(jì)(數(shù)字積分法第二象限逆圓插補(bǔ))_第3頁(yè)
數(shù)控課程設(shè)計(jì)(數(shù)字積分法第二象限逆圓插補(bǔ))_第4頁(yè)
數(shù)控課程設(shè)計(jì)(數(shù)字積分法第二象限逆圓插補(bǔ))_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 數(shù)字積分法第二象限逆圓插補(bǔ)程序設(shè)計(jì)1 課程設(shè)計(jì)的目的(1) 了解連續(xù)軌跡控制數(shù)控系統(tǒng)的組成原理。(2) 掌握數(shù)字積分插補(bǔ)的基本原理。(3) 掌握數(shù)字積分插補(bǔ)的軟件實(shí)現(xiàn)方法。2、課程設(shè)計(jì)的任務(wù)數(shù)字積分法又稱數(shù)字微分分析法DDA(Digital Differential Analyzer)。數(shù)字積分法具有運(yùn)算速度快、脈沖分配均勻、易于實(shí)現(xiàn)多坐標(biāo)聯(lián)動(dòng)及描繪平面各種函數(shù)曲線的特點(diǎn),應(yīng)用比較廣泛。其缺點(diǎn)是速度調(diào)節(jié)不便,插補(bǔ)精度需要采取一定措施才能滿足要求。由于計(jì)算機(jī)有較強(qiáng)的計(jì)算功能和靈活性,采用軟件插補(bǔ)時(shí),上述缺點(diǎn)易于克服。本次課程設(shè)計(jì)具體要求如下:(1)數(shù)字積分法插補(bǔ)基本原理(2)數(shù)字積分法插補(bǔ)軟件

2、流程圖(3)算法描述,編寫算法程序清單3、 課程設(shè)計(jì)報(bào)告內(nèi)容3.1 設(shè)計(jì)方案的論證插補(bǔ)運(yùn)算就是運(yùn)用特定的算法對(duì)工件加工軌跡進(jìn)行運(yùn)算并根據(jù)運(yùn)算結(jié)果向相應(yīng)的坐標(biāo)發(fā)出運(yùn)動(dòng)指令的過(guò)程。插補(bǔ)運(yùn)算可以采用數(shù)控系統(tǒng)硬件或數(shù)控系統(tǒng)軟件來(lái)完成。硬件插補(bǔ)器:速度快,但缺乏柔性,調(diào)整和修改都困難。軟件插補(bǔ)器:速度慢,但柔性高,調(diào)整和修改都很方便。早期硬件數(shù)控系統(tǒng):采用由數(shù)字邏輯電路組成的硬件插補(bǔ)器;CNC系統(tǒng):采用軟件插補(bǔ)器,或軟件、硬件相結(jié)合的插補(bǔ)方式。 方案一:采用逐點(diǎn)比較法插補(bǔ)。逐點(diǎn)比較法的基本原理是被控對(duì)象在按要求的軌跡運(yùn)動(dòng)時(shí),每走一步都要與規(guī)定的軌跡進(jìn)行比較,由此結(jié)果決定下一步移動(dòng)的方向。逐點(diǎn)比較法既可以

3、作圓弧插補(bǔ)又可以作直線插補(bǔ)。這種算法的特點(diǎn)是,運(yùn)算直觀,插補(bǔ)誤差小于一個(gè)脈沖當(dāng)量,輸出脈沖均勻,而且輸出脈沖速度變化小,調(diào)節(jié)方便,因此在兩坐標(biāo)數(shù)控機(jī)床中應(yīng)用較為普遍。方案二:數(shù)字積分法插補(bǔ)。又稱為微分分析法。這種方法可實(shí)現(xiàn)一次、二次、甚至高次曲線的插補(bǔ),也可以實(shí)現(xiàn)多坐標(biāo)聯(lián)動(dòng)控制。只要輸入不多的幾個(gè)數(shù)據(jù),就能加工出圓弧等形狀較為復(fù)雜的輪廓曲線。作直線插補(bǔ)時(shí),脈沖分配也較均勻。方案三:數(shù)據(jù)采樣插補(bǔ)。數(shù)據(jù)采樣插補(bǔ)實(shí)際上是一種粗插補(bǔ)過(guò)程,它所產(chǎn)生的微小線段仍然比較大,必須進(jìn)一步對(duì)其密化(即精插補(bǔ))。粗插補(bǔ)算法比較復(fù)雜,大多用高級(jí)語(yǔ)言編制;精插補(bǔ)算法比較簡(jiǎn)單,多用匯編語(yǔ)言或硬件插補(bǔ)器實(shí)現(xiàn)。3.2 設(shè)計(jì)方

4、案選擇根據(jù)設(shè)計(jì)要求,對(duì)第一象限直線插補(bǔ)。根據(jù)以上方案的比較,都是很好的方法,但由于是直線,采用數(shù)字積分法插補(bǔ)進(jìn)行設(shè)計(jì)比較方便、簡(jiǎn)單,所以根據(jù)各種插補(bǔ)方法的特點(diǎn),選用數(shù)字積分法來(lái)實(shí)現(xiàn)。3.3 數(shù)字積分法的基本原理圖31數(shù)字積分法:也稱 DDA 法 Digital Differential Analyzer) ,它是建立在數(shù)字積分器基礎(chǔ)上的一種插補(bǔ)算法,其最大特點(diǎn)是易于實(shí)現(xiàn)多坐標(biāo)插補(bǔ)聯(lián)動(dòng),它不僅能實(shí)現(xiàn)平面直線、圓弧的插補(bǔ),而且還可實(shí)現(xiàn)空間曲線的插補(bǔ),在輪廓控制數(shù)控系統(tǒng)中得到廣泛應(yīng)用。以下首先介紹數(shù)字積分器的工作原理,然后介 紹數(shù)字積分法的直線和圓弧插補(bǔ)方法。如圖 3 1 所示,求函數(shù) 在區(qū)間t0,

5、tn的定積分,就是求函數(shù)在該區(qū)間內(nèi)與 t 軸所包圍的面積,即: 若將積分區(qū)間t0,tn等分成很多小區(qū)間t ( 其中t=ti+1-ti) ,則面積 S 可近似看成為很多小長(zhǎng)方形面積之和,即: 如將 t取為一個(gè)最小單位時(shí)間 ( 即一個(gè)脈沖周期時(shí)間 ) ,即t=1,則: t被積函數(shù)寄存器累加器f(t)圖 3.2 一個(gè)坐標(biāo)方向上的積分器示意圖因此函數(shù)的積分運(yùn)算變成了函數(shù)值的累加運(yùn)算,當(dāng)t足夠小時(shí),則累加求和運(yùn)算代替積分運(yùn)算所引入的誤差可以不超過(guò)所允許的誤差。 積分運(yùn)算的原理圖如圖32所示,一般地,每個(gè)坐標(biāo)方向需要一個(gè)被積函數(shù)寄存器和一個(gè)累加器,它的工作過(guò)程:被積函數(shù)寄存器用以存放坐標(biāo)值f(t),累加器

6、也稱余數(shù)寄存器用于存放坐標(biāo)的累加值。每當(dāng)t出現(xiàn)一次,被積函數(shù)寄存器中的f(t)值就與累加器中的數(shù)值相加一次,并將累加結(jié)果存放于累加器中,如果累加器的容量為一個(gè)單位面積,被積函數(shù)寄存器的容量與累加器的容量相同,那么在累加過(guò)程中每超過(guò)一個(gè)單位面積累加器就有溢出,當(dāng)累加次數(shù)達(dá)到累加器的容量時(shí),所產(chǎn)生的溢出總數(shù)就是要求的總面積,即積分值。我們知道,數(shù)字積分器溢出脈沖的頻率與被積函數(shù)寄存器中的存數(shù)即溢出基值成正比,也就每個(gè)程序段都要完成同樣的次數(shù)的累加運(yùn)算,所以不論加工行程長(zhǎng)短每個(gè)程序段所用的時(shí)間都是固定不變的。因此,各個(gè)程序段的進(jìn)給速度就不一致了,這樣影響了加工的表面質(zhì)量,特別是行程短的程序段生產(chǎn)率低

7、,為了克服這一缺點(diǎn),使溢出脈沖均勻、溢出速度提高,通常采用左移規(guī)格化處理。所謂“左移規(guī)格化”是當(dāng)被積函數(shù)值較小時(shí),如被積函數(shù)寄存器有i個(gè)前零時(shí),若直接迭代,那么至少需要2i次迭代,才能輸出一個(gè)溢出脈沖,致使輸出脈沖速率下降,因此在實(shí)際的數(shù)字積分器中,需把被積函數(shù)寄存器中的前零移去即對(duì)被積函數(shù)實(shí)現(xiàn)“左移規(guī)格化”處理。經(jīng)過(guò)左移規(guī)格化處理后,積分器每累加兩次必有一次溢出,因此不僅提高了溢出速度還使溢出脈沖變得比較均勻。3.4 數(shù)字積分法的圓弧插補(bǔ)數(shù)字積分法圓弧插補(bǔ)原理: 圓的數(shù)學(xué)公式:將此式對(duì)時(shí)間 t 求導(dǎo)得 : 圖33式中,dx/dt=vx 為動(dòng)點(diǎn) P 在 x 方向的分速度;dy/dt=vy 為動(dòng)

8、點(diǎn) P 在 y 方向的分速度。將上式式寫成參量方程,則有 : 式中, k 為比例系數(shù)。對(duì)上式求其在 A 到 B 區(qū)間的定積分, t0和 tn分別對(duì)應(yīng)起點(diǎn)和終點(diǎn)的時(shí)間,其積分值為 A 到 B 的坐標(biāo)增量,即: 將上式用累加和代替積分式得: 若取為一個(gè)脈沖時(shí)間間隔,即t=1 ,則:Xe-Xs=- Kyi Ye-Ys=KXi 積分法插補(bǔ)的物理意義是使動(dòng)點(diǎn)沿速度矢量的方向前進(jìn)。 以圖33 所示的第二象限逆圓為例,設(shè)刀具沿圓弧AB 移動(dòng),圓弧半徑為R,取圓心為坐標(biāo)原點(diǎn),起點(diǎn)坐標(biāo) A 為(Xs,Ys) , 終點(diǎn)坐標(biāo) B 為(X e,Y e) , P 為動(dòng)點(diǎn),坐標(biāo)為 ( Xi ,Yi )。圓弧插補(bǔ)要求動(dòng)點(diǎn)P

9、 作勻速圓周運(yùn)動(dòng), 由圖33可看出下式成立: 上式中由于半徑R 為常數(shù),若切向速度v 為勻速,則K為常數(shù), 即勻角速度。在單位時(shí)間增量t 內(nèi), x、 y 位移增量方程分別為:X= - Vx t = -Kyt Y = Vyt = Kxt根據(jù)以上說(shuō)明可構(gòu)成圖 3-4所示的數(shù)字積分法圓弧插補(bǔ)原理框圖。圖34 由此可見,與直線插補(bǔ)類似,圓弧插補(bǔ)也可由兩套數(shù)字積分器來(lái)實(shí)現(xiàn),如圖 3 4 所示。兩者之間所不同的是:直線插補(bǔ)被積函數(shù)為常量 ( KXe和KYe) ,而圓弧插補(bǔ)被積函數(shù)為變量 ( KXi和 KYi) ,且隨著溢出脈沖而不斷變化。在開始時(shí) Jvx、 Jvy分別存放起點(diǎn)坐標(biāo)值Xs 、Ys,把計(jì)數(shù)器N

10、x、Ny清零。在插補(bǔ)過(guò)程中, Y 積分器的累加器 Jry每溢出一個(gè)脈沖,則 x 積分器的 Jvx寄存器應(yīng)該加“ 1 ”,同時(shí)計(jì)數(shù)器Ny加1;反之, X 積分器的累加器Jrx每溢出一個(gè)脈沖,則 Y 積分器的Jvy寄存器應(yīng)該減“ 1 ”, 計(jì)數(shù)器Nx加1。 此外,在圓弧插補(bǔ)時(shí), X坐標(biāo)值 (Xi) 累加的溢出脈沖X作為X軸的進(jìn)給脈沖,而Y坐標(biāo)值(Yi) 累加的溢出脈沖Y作為Y 軸的進(jìn)給脈沖。在終點(diǎn)判別時(shí),因圓弧插補(bǔ)的兩個(gè)坐標(biāo)不一定同時(shí)到達(dá)終點(diǎn),故在兩個(gè)方向上都要進(jìn)行終點(diǎn)判別,其判別條件為:當(dāng)加計(jì)數(shù)器計(jì)數(shù)到Nx=|Xe-Xi|并且Ny=|Ye-Yi|時(shí)才停止插補(bǔ)計(jì)算。3.5 插補(bǔ)運(yùn)算插補(bǔ)運(yùn)算過(guò)程如下

11、:( 1)運(yùn)算是從起點(diǎn)開始的,故運(yùn)算開始時(shí), X 軸和Y 軸被積函數(shù)寄存器中分別存放Y、 X 的起點(diǎn)坐標(biāo)Ys、Xs。( 2)由于插補(bǔ)的是第一象限逆圓, 故X 軸被積函數(shù)寄存器的數(shù)與其累加器的數(shù)累加得出的溢出脈沖發(fā)到- X 方向, Y 軸被積函數(shù)寄存器的數(shù)與其累加器的數(shù)累加得出的溢出脈沖發(fā)到+ Y 方向。( 3)圓弧插補(bǔ)時(shí),被積函數(shù)寄存器里寄存的是動(dòng)點(diǎn)坐標(biāo),是個(gè)變量。因此,在插補(bǔ)過(guò)程中必須根據(jù)動(dòng)點(diǎn)位置的變化來(lái)改變寄存器中的內(nèi)容。對(duì)于第一象限逆圓插補(bǔ), X 方向發(fā)出一個(gè)進(jìn)給脈沖, Y 軸被積函數(shù)寄存器應(yīng)減 1; Y 方向發(fā)出一個(gè)進(jìn)給脈沖, X 軸被積函數(shù)寄存器應(yīng)加1。3.6終點(diǎn)判別數(shù)字積分法圓弧插

12、補(bǔ)的終點(diǎn)判別, 利用兩個(gè)計(jì)數(shù)器來(lái)實(shí)現(xiàn),可以用加1計(jì)數(shù)器,也可以用減1計(jì)數(shù)器。采用加1計(jì)數(shù)器時(shí),首先將計(jì)數(shù)器Nx、Ny清零,運(yùn)算過(guò)程中累加器Jrx每來(lái)一個(gè)累加脈沖X,計(jì)數(shù)器Nx就加1,累加器Jry每來(lái)一個(gè)累加脈沖y,計(jì)數(shù)器Ny就加1,當(dāng)計(jì)數(shù)器Nx=|Xe-Xs|并且Ny=|Ye-Ys|時(shí)表明運(yùn)算完成。采用減1計(jì)數(shù)器時(shí),運(yùn)算前把總運(yùn)算次數(shù)|Xe-Xs|、|Ye-Ys|分別送入計(jì)數(shù)器Nx、Ny,運(yùn)算過(guò)程中累加器Jrx每來(lái)一個(gè)累加脈沖X,計(jì)數(shù)器Nx就減去1。累加器Jry每來(lái)一個(gè)累加脈沖y,計(jì)數(shù)器Ny就減1, 當(dāng)某一坐標(biāo)計(jì)數(shù)器為零時(shí),該坐標(biāo)到達(dá)終點(diǎn)并停止插補(bǔ)計(jì)算。 當(dāng)兩個(gè)計(jì)數(shù)器均為 0時(shí),圓弧插補(bǔ)結(jié)束。

13、3.6 左移規(guī)格化處理數(shù)字積分器溢出脈沖的頻率與被積函數(shù)寄存器中的存數(shù)即溢出基值成正比,也就每個(gè)程序段都要完成同樣的次數(shù)的累加運(yùn)算,所以不論加工行程長(zhǎng)短每個(gè)程序段所用的時(shí)間都是固定不變的。因此,各個(gè)程序段的進(jìn)給速度就不一致了,這樣影響了加工的表面質(zhì)量,特別是行程短的程序段生產(chǎn)率低,為了克服這一缺點(diǎn),使溢出脈沖均勻、溢出速度提高,通常采用左移規(guī)格化處理。所謂“左移規(guī)格化”是當(dāng)被積函數(shù)值較小時(shí),如被積函數(shù)寄存器有i個(gè)前零時(shí),若直接迭代,那么至少需要2i次迭代,才能輸出一個(gè)溢出脈沖,致使輸出脈沖速率下降,因此在實(shí)際的數(shù)字積分器中,需把被積函數(shù)寄存器中的前零移去即對(duì)被積函數(shù)實(shí)現(xiàn)“左移規(guī)格化”處理。圓弧

14、插補(bǔ)左移規(guī)格化后被積函數(shù)寄存器存放最大數(shù)值的次高位是“1”為規(guī)格化數(shù)。經(jīng)過(guò)左移規(guī)格化處理后,積分器每累加兩次必有一次溢出,因此不僅提高了溢出速度還使溢出脈沖變得比較均勻。3.7 減小插補(bǔ)誤差的方法(1)減小脈沖當(dāng)量。減小脈沖當(dāng)量(即t減?。梢詼p小插補(bǔ)誤差。但參加運(yùn)算的數(shù)(如被積函數(shù)值)變大,寄存器的容量則變大,在插補(bǔ)運(yùn)算速度不變的情況下,進(jìn)給速度會(huì)顯著降低。因此要獲得同樣的進(jìn)給速度,需提高插補(bǔ)運(yùn)算速度。(2)余數(shù)寄存器預(yù)置數(shù)。在DDA迭代之前,余數(shù)寄存器的初值不置為0,而是預(yù)置某一數(shù)值。3.8.流程圖4.結(jié)論 (1) 直線插補(bǔ)是以終點(diǎn)坐標(biāo)為依據(jù), 而圓弧插補(bǔ)則是以起點(diǎn)坐標(biāo)為依據(jù), 因而終點(diǎn)

15、坐標(biāo)對(duì)二者的作用有著本質(zhì)的區(qū)別。(2) 如果給定的終點(diǎn)有誤, 對(duì)于直線插補(bǔ), 只不過(guò)走向錯(cuò)誤的終點(diǎn); 而對(duì)于圓弧插補(bǔ), 如果判終方法不對(duì), 則可能導(dǎo)致飛車、死機(jī)等意外事故。(3) 對(duì)于圓弧插補(bǔ), 采用總步數(shù)判終可避免上述事故。(4) 采用總步數(shù)判終雖可避免上述事故, 但無(wú)法避免錯(cuò)誤終點(diǎn)的產(chǎn)生。一個(gè)比較好的解決辦法就是在編輯時(shí)糾錯(cuò), 把錯(cuò)誤糾正于程序執(zhí)行之前。也就是說(shuō), 編輯軟件除了能指出程序的語(yǔ)法錯(cuò)誤以外, 還能指出程序中的數(shù)值錯(cuò)誤。5.課程設(shè)計(jì)小結(jié)首先在此感謝我們的王老師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;王老師循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡的啟迪;這次模具設(shè)計(jì)

16、的每個(gè)實(shí)驗(yàn)細(xì)節(jié)和每個(gè)數(shù)據(jù),都離不開老師您的細(xì)心指導(dǎo)。而您開朗的個(gè)性和寬容的態(tài)度,幫助我能夠很順利的完成了這次課程設(shè)計(jì),同時(shí)感謝對(duì)我?guī)椭^(guò)的同學(xué)們,謝謝你們對(duì)我的幫助和支持,讓我感受到同學(xué)的友誼。這份設(shè)計(jì)我從總體的數(shù)控原理軟件效果圖到數(shù)控原理分析,再?gòu)臄?shù)字積分法原理到軟件實(shí)現(xiàn),作了一個(gè)盡可能詳細(xì)的解釋。數(shù)控原理插補(bǔ)軟件的實(shí)現(xiàn),使得我們?cè)跀?shù)控原理的學(xué)習(xí)上和理解上更進(jìn)一步了,他在我們的直觀上給我們做了一個(gè)很好的模擬。此次課程設(shè)計(jì)要求我們能夠?qū)@學(xué)期所學(xué)的數(shù)控技術(shù)方面的知識(shí)有較全面的掌握很熟練運(yùn)用。通過(guò)對(duì)零件的工藝路線和走刀軌跡的分析、軌跡坐標(biāo)的計(jì)算、插補(bǔ)程序的編制以及程序的調(diào)試、運(yùn)行,使得我對(duì)數(shù)控技

17、術(shù)的知識(shí)有了更加深刻的了解,并能夠理論結(jié)合實(shí)際。通過(guò)兩個(gè)周的設(shè)計(jì),最終圓滿完成了設(shè)計(jì)任務(wù),用C語(yǔ)言編寫數(shù)字積分法圓弧插補(bǔ)算法(第二象限逆?。┑某绦虿⒖烧_運(yùn)行,C語(yǔ)言是一種功能強(qiáng)大的計(jì)算機(jī)語(yǔ)言,可以在C+環(huán)境下運(yùn)行。程序的編寫是基于對(duì)數(shù)字積分法圓弧插補(bǔ)算法的理解,然后畫出程序流程圖,最后編寫程序,實(shí)現(xiàn)插補(bǔ)點(diǎn)的輸出。6. 參 考 文 【1】 吳金嬌 丁文政 孫明江 劉玲 數(shù)控原理與系統(tǒng) 人民郵電出版社 2009年【2】 譚浩強(qiáng) C程序設(shè)計(jì)教程 清華大學(xué)出版社 2007年【3】3 楊有君,數(shù)控技術(shù),機(jī)械工業(yè)出版社,北京,2005年;7.附錄(源程序)#include #include void main() int Xs,Ys,Xe,Ye,Jrx,Jvx,Jry,Jvy,nx,ny,DX,DY;AGAIN: printf(請(qǐng)輸入圓弧的起點(diǎn):); scanf(%d %d,&Xs,&Ys); printf(請(qǐng)輸入圓弧的終點(diǎn):); scanf(%d %d,&Xe,&Ye); if(Xe-Xs0&Ye-Ys0&Xe0) Jrx=0,Jry=0,nx=0,ny=0,Jvx=abs(Ye),Jvy=abs(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論