郭永環(huán) 范希營
(江蘇師范大學(xué)機電工程學(xué)院,江蘇徐州 221116)
傳統(tǒng)的數(shù)字積分插補法又稱數(shù)字微分法(DDA),它是在數(shù)字積分器的基礎(chǔ)上建立起來的一種插補法。數(shù)字積分器通常由函數(shù)寄存器、累加器(余數(shù)寄存器)和與門組成。其工作過程為每隔時間t發(fā)出1個脈沖,與門打開1次,將函數(shù)寄存器中的函數(shù)值送累加器中累加1次,當(dāng)累加和超過累加器的容量時,便發(fā)出溢出脈沖,這樣累加過程中產(chǎn)生的溢出脈沖總數(shù)就是所求的積分值。插補器控制刀具以1個脈沖為單位向前前進。脈沖插補法的計算簡單,用加減法即可實現(xiàn),每個插補循環(huán)占用時間短。可以實現(xiàn)1次、2次、甚至是高次曲線的插補(只要曲線的切線方向容易求得,就可利用該方法進行插補),也可實現(xiàn)多坐標(biāo)聯(lián)動控制。但是數(shù)字積分插補法的插補誤差比較大,尤其是圓弧插補有時甚至是大于 1 個脈沖當(dāng)量[1]。Tsai[2]、Peres Pedro[3]、Yang Minyang[4]、Chen Hsinchuan[5]等人研究了改進的插補算法,使插補精度提高,但算法過于復(fù)雜。蒙斌[6]對數(shù)字積分圓弧插補法進行了改進,改進后實際插補誤差可以降低到小于1個脈沖當(dāng)量。本文將繼承這些成果,研究一種提高精度但算法簡單以及各軸脈沖分配均勻性的數(shù)字積分圓弧插補方法。
當(dāng)在第1象限逆圓弧插補時x軸和y軸的進給方向分別是-x和+y方向,將圓弧起始點所在軸方向即x向積分累加器賦初值改為:大于等于x方向最大增量值的2/3的最小整數(shù),例如圓弧AB的起點坐標(biāo)為A(20,0),終點坐標(biāo)為B(0,20),則Sx的初值取≥2 ×20/3的最小整數(shù)為14,即向上取整。記作:FUP(x)=min{n∈Z|x≤n},F(xiàn)UP(2×20/3)=14。而y軸方向(即另外一根軸方向)的積分累加器的初值改為:小于等于y方向最大增量值的1/2的最大整數(shù),即初值取≤1×20/2的最大整數(shù)為10,即向下取整。記作:FIX(x)=max{n∈Z|n≤x},F(xiàn)IX(1 ×20/2)=10。插補原理如圖1所示,圖中N為每個坐標(biāo)方向終點和起點坐標(biāo)之差的絕對值之和。同理,如果順圓弧插補,則FUP(2R/3)→Sy,F(xiàn)IX(R/2)→Sx,其他類似,此外略。
圓弧AB的起點坐標(biāo)為A(20,0),終點坐標(biāo)為B(0,20),sx和sy分別是x軸和y軸坐標(biāo)方向的積分累加器。
3種DDA法圓弧插補的脈沖分配波形如圖3所示。
圖3c與圖3a比較可以看出,新型DDA插補法x軸的脈沖越往后脈沖輸出越連續(xù)。y軸的脈沖間隔由4個降為2個。圓弧插補的累加次數(shù)由原來的51次降到31次,插補速度大大提高。3種插補方法的比較見表1所示。
表1 3種DDA插補方法的比較
(1)新型DDA圓弧插補算法插補精度提高了一倍。插補起點坐標(biāo)為A(20,0),終點坐標(biāo)為B(0,20)的圓弧AB,傳統(tǒng)的DDA圓弧插補算法的插補誤差為1.26個脈沖當(dāng)量,而新型DDA圓弧插補算法插補誤差為0.62脈沖當(dāng)量。
(2)采用非對稱式的加載方法,可以提高插補速度。采用新型插補方法將圓弧起始點所在軸方向進給的積分累加器的賦初值為大于等于該方向最大增量值的2/3的最小整數(shù),而另一方向進給的積分累加器賦初值為小于等于該方向最大增量值的1/2的最大整數(shù)之后,插補圓弧AB的次數(shù)由原來的51次降到31次,而算法并不復(fù)雜。
[1]吳福忠.數(shù)字積分法插補誤差分析[J].紹興文理學(xué)院學(xué)報,2007,27(9):31-33.
[2]Tsai,HUI Feng,JIANG Zanghao,et al.Interpolated timing recovery using raised cosine pulse[J].International Journal of Electrical Engineering,2005,12(4):391 -398.
[3]Peres Pedro L D,Bonatti Ivanil S,Borelli Walter C.The linear interpolation method:a sampling theorem approach[J].Controle y Automacao,2003,14(4):439 -444.
[4]YANG Minyang,HONG Wonpyo.Three- dimensional reference pulse linear and circular interpolators for CNC systems[J].International Journal of Machine Tools& Manufacture,2001(41),555-566.
[5]CHEN Hsinchuan,CHIANG Jenshiun.A low -jitter phase-interpolation direct digital synthesizer using single capacitor integration[J].International Journal of Electrical Engineering,2005,12(3):225 -232.
[6]蒙斌.數(shù)控機床數(shù)字積分插補法的改進[J].中國制造業(yè)信息化,2007,36(17):20 -22.
[7]劉希敏,劉新宇,趙先仲.軟件插補處理的新方法——比較積分法[J].華北航天工業(yè)學(xué)院學(xué)報,2003,13(1):20 -22.
[8]周保廷,王柏軍.基于FPGA的數(shù)控數(shù)字積分法圓弧插補器的設(shè)計與實現(xiàn)[J].電氣傳動自動化,2005,27(5):16 -18.