劉 萍,汪木蘭,趙 超
(1.宿遷學(xué)院,宿遷 223800;2.南京工程學(xué)院 先進(jìn)數(shù)控技術(shù)江蘇省高校重點(diǎn)建設(shè)實(shí)驗(yàn)室,南京 211167;3.江蘇省電力公司宿遷供電公司,宿遷 223800)
插補(bǔ)模塊是整個(gè)數(shù)控系統(tǒng)的一個(gè)及其重要的功能模塊,插補(bǔ)的速度和精度直接影響到數(shù)控系統(tǒng)的精度、速度和加工能力等內(nèi)容[1~4],而插補(bǔ)的實(shí)質(zhì)是數(shù)據(jù)點(diǎn)的密化,即在已知的刀具軌跡轉(zhuǎn)接點(diǎn)間插入若干中間點(diǎn)的過(guò)程,中間點(diǎn)的獲取可根據(jù)相應(yīng)的算法由數(shù)控系統(tǒng)軟件或硬件來(lái)實(shí)現(xiàn),以此來(lái)協(xié)調(diào)控制各坐標(biāo)軸的運(yùn)動(dòng),從而獲得所需要的運(yùn)動(dòng)軌跡。常用的插補(bǔ)算法有:脈沖增量插補(bǔ)和數(shù)據(jù)采樣插補(bǔ),而脈沖增量插補(bǔ)中最常用的是逐點(diǎn)比較法和數(shù)字積分法。由于逐點(diǎn)比較法插補(bǔ)不能實(shí)現(xiàn)兩軸聯(lián)動(dòng),數(shù)字積分法可以實(shí)現(xiàn)兩軸聯(lián)動(dòng),本文將對(duì)脈沖增量插補(bǔ)中的數(shù)字積分法進(jìn)行論述并對(duì)軌跡和插補(bǔ)過(guò)程進(jìn)行仿真研究。
利用數(shù)字積分的原理進(jìn)行插補(bǔ)計(jì)算的方法,稱為數(shù)字積分法,也稱為DDA法。數(shù)字積分法的優(yōu)點(diǎn)在于容易實(shí)現(xiàn)多軸聯(lián)動(dòng)插補(bǔ),可以描述空間直線和平面各種函數(shù)曲線。
1)原理:利用各坐標(biāo)軸的速度分量進(jìn)行數(shù)字積分來(lái)確定刀具在各坐標(biāo)軸上的位置,設(shè)刀具進(jìn)給速度為V,在X軸、Y軸的進(jìn)給速度分量分別為VX、VY,則 tΔ時(shí)間內(nèi)的位移量為:
由圖1的幾何關(guān)系得出:
圖1 DDA直線插補(bǔ)
則位移量:
當(dāng)?shù)毒哂蒓點(diǎn)切削到E點(diǎn)時(shí),tΔ經(jīng)過(guò)0→t的積分,位移公式可表示為:
設(shè)寄存器的位數(shù)為N位(容量為2N),n為累加次數(shù)(整數(shù)),取n=2N,經(jīng)過(guò)n次累加后,到達(dá)終點(diǎn),則kn=1,k=1/n=1/2N。當(dāng)tΔ取為1時(shí),則:
2)特點(diǎn):在DDA直線插補(bǔ)中,取兩個(gè)函數(shù)寄存器JVX、JVY,分別存放終點(diǎn)坐標(biāo)Xe、Ye,均為定值;再取兩個(gè)余數(shù)寄存器JRX、JRY;終點(diǎn)寄存器J∑(J∑=2N)。當(dāng)X軸、Y軸積分器中的值超過(guò)2N-1時(shí),便發(fā)生溢出,溢出時(shí)的余數(shù)存放在JRX、JRY中,每溢出一次,J∑自動(dòng)減1,經(jīng)過(guò)2N次累加后,溢出脈沖的總數(shù)等于被積函數(shù)值。
1)原理:以第一象限順時(shí)針圓弧SE為例,如圖2所示。
圖2 DDA圓弧插補(bǔ)
將方向矢量代入計(jì)算公式,則第一象限順時(shí)針圓弧的速度計(jì)算公式為:
Δt時(shí)間內(nèi),位移增量為:
當(dāng)Δt為1,K=1/2N時(shí),則:
由計(jì)算公式可看出,圓弧插補(bǔ)時(shí),積分器是對(duì)動(dòng)點(diǎn)Xi、Yi進(jìn)行累加。插補(bǔ)開(kāi)始前,被積函數(shù)JVX、JVY中存放圓弧起始點(diǎn)坐標(biāo)YS、XS,當(dāng)Y軸產(chǎn)生溢出脈沖(YΔ- )時(shí),JVX作“-1”修正,當(dāng)X軸產(chǎn)生溢出脈沖(XΔ+ )時(shí),則JVY作“+1”修正,修正的正負(fù)方向由圓弧所在的象限及順逆方向決定。
2)DDA圓弧插補(bǔ)特點(diǎn):
(1)余數(shù)寄存器中初始值為0,JVX、JVY中初始值分別為YS、XS,在插補(bǔ)過(guò)程中,JVX、JVY中存放的是動(dòng)點(diǎn)坐標(biāo)Yi、Xi,當(dāng)有脈沖溢出時(shí),動(dòng)點(diǎn)坐標(biāo)也應(yīng)作“±1”的修正。
(2)DDA圓弧插補(bǔ)器中需要兩個(gè)終點(diǎn)寄存器J∑X積分運(yùn)算時(shí),余數(shù)寄存器每溢出一次,對(duì)應(yīng)的終點(diǎn)寄存器自動(dòng)減1,直到減為0,則停止積分。
(3)JVX、JVY中數(shù)字的大小會(huì)影響插補(bǔ)速度。
采用VB軟件對(duì)文中的例題進(jìn)行插補(bǔ)仿真,從而在軟件中顯示出實(shí)際插補(bǔ)軌跡和計(jì)算過(guò)程,在所有的仿真圖中,紅色線段表示理論軌跡,綠色線段表示實(shí)際插補(bǔ)軌跡。
1)DDA直線插補(bǔ)仿真 以第一象限直線OE插補(bǔ)為例,O為原點(diǎn)(0,0),終點(diǎn)E(4,6),被積函數(shù)寄存器(JVX、JVY)與余數(shù)寄存器(JRX、JRY)位數(shù)均為4,具體的插補(bǔ)過(guò)程和仿真軌跡如圖3所示。
圖3 DDA直線插補(bǔ)仿真
2)DDA圓弧插補(bǔ)仿真 第一象限的順時(shí)針圓弧SE,起點(diǎn)(0,4),終點(diǎn)(4,0),寄存器位數(shù)均為3,具體的插補(bǔ)過(guò)程和仿真軌跡如圖4所示。
圖4 DDA圓弧插補(bǔ)仿真
數(shù)字積分法插補(bǔ)中,輪廓的長(zhǎng)短不一,使得溢出脈沖不均勻,影響進(jìn)給速度的穩(wěn)定性,從而影響插補(bǔ)精度;另一方面,通過(guò)仿真軟件發(fā)現(xiàn),有的插補(bǔ)軌跡與輪廓之間誤差大于一個(gè)脈沖當(dāng)量,因此,為了減小誤差,提高插補(bǔ)質(zhì)量,采用左移規(guī)格化法和半加載法。
所謂的“左移規(guī)格化”,將被積函數(shù)中的坐標(biāo)值的前i位零溢出寄存器,使數(shù)值成為最高位或次高位為“1”的規(guī)格化數(shù),并對(duì)其進(jìn)行累加,從而達(dá)到穩(wěn)定進(jìn)給速度的目的。
DDA直線插補(bǔ)中,進(jìn)行左移規(guī)格化時(shí),使JVX、JVY中數(shù)值同時(shí)左移,直到任意一個(gè)寄存器中的數(shù)值最高位為1,并記下左移次數(shù)i,左移規(guī)格化后,JVX、JVY中值被擴(kuò)大2i倍,累加次數(shù)相應(yīng)地減少一倍(n = 2N-i)。
DDA圓弧插補(bǔ)的規(guī)格化中,將被積函數(shù)JVX、JVY中數(shù)值同時(shí)左移,直到任意一個(gè)數(shù)的次高位為1,則為規(guī)格化數(shù)。如果規(guī)格化處理時(shí),左移i位后,當(dāng)JRX或JRY產(chǎn)生溢出時(shí),JVY或JVX中動(dòng)點(diǎn)坐標(biāo)應(yīng)作“±2i”的修正,為了避免動(dòng)點(diǎn)坐標(biāo)修正時(shí)溢出,在選擇被積函數(shù)寄存器容量時(shí),要求必須大于2R(R為圓弧半徑),通過(guò)左移規(guī)格化處理,可使溢出變得均勻,改善DDA插補(bǔ)加工的工藝特性。
DDA圓弧插補(bǔ)過(guò)程中,由圖4看出徑向誤差有時(shí)可能大于或等于1個(gè)脈沖當(dāng)量,為減小誤差,顯然可通過(guò)增加寄存器的位數(shù)N,提高插補(bǔ)精度,但是N的增大,會(huì)導(dǎo)致n的增大,累加次數(shù)的增加,會(huì)降低實(shí)際的進(jìn)給速度,且N也不能無(wú)限增大,因此采用半加載法。半加載法即是將余數(shù)寄存器JRX、JRY中的初始值設(shè)為2N-1,當(dāng)JRX、JRY與大于或等于2N-1的數(shù)進(jìn)行累加,就可產(chǎn)生1個(gè)溢出脈沖,通過(guò)半加載后,可以提前溢出脈沖,從而改變溢出在時(shí)間上的分布,提高插補(bǔ)精度。
在1.3節(jié)中的直線插補(bǔ)和圓弧插補(bǔ)舉例的基礎(chǔ)上,采用左移規(guī)格化和半加載進(jìn)行插補(bǔ)計(jì)算。
改進(jìn)后的DDA直線插補(bǔ)仿真中,寄存器位數(shù)為5,具體的仿真軌跡和計(jì)算過(guò)程如圖5所示。改進(jìn)后的DDA圓弧插補(bǔ)仿真中,寄存器位數(shù)為5,具體的仿真軌跡和計(jì)算過(guò)程如圖6所示。
圖5 左移和半加載后的DDA直線仿真
圖6 左移和半加載后的DDA圓弧仿真
本文主要討論了數(shù)控系統(tǒng)中的數(shù)字積分法的直線和圓弧插補(bǔ)運(yùn)算,以第一象限直線、圓弧為例,并在此基礎(chǔ)上采用半加載和左移規(guī)格化進(jìn)行處理。前后計(jì)算過(guò)程采用VB軟件進(jìn)行仿真。經(jīng)過(guò)計(jì)算過(guò)程和軌跡圖的比較,發(fā)現(xiàn)直線插補(bǔ)處理前要在第三次計(jì)算Y軸才有溢出,經(jīng)過(guò)處理后在第二次計(jì)算時(shí)兩個(gè)坐標(biāo)軸就會(huì)有溢出;圓弧插補(bǔ)在在半加載和左移規(guī)格化后溢出明顯提前,且軌跡更接近于理論輪廓,速度和精度都明顯提高,該過(guò)程的研究對(duì)掌握數(shù)控機(jī)床的運(yùn)動(dòng)控制具有重要的理論指導(dǎo)意義,仿真軟件對(duì)于數(shù)控系統(tǒng)插補(bǔ)質(zhì)量的進(jìn)一步提高具有極其重要的應(yīng)用價(jià)值。
[1] 汪木蘭.數(shù)控原理與系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2004.
[2] 李恩林.數(shù)控系統(tǒng)插補(bǔ)原理通論[M].北京:國(guó)防工業(yè)出版社, 2008.
[3] 唐友亮,佘勃,袁夢(mèng),方軍.實(shí)現(xiàn)兩軸聯(lián)動(dòng)的逐點(diǎn)比較法的改進(jìn)算法[J].煤礦機(jī)械,2009,30(12):12-13.
[4] 金中波,張百臣,韓霞,等.逐點(diǎn)比較法直線插補(bǔ)原理及改進(jìn)算法分析[J].機(jī)械工程師,2009(3):126-128.