郭永環 范希營 劉鳳國
(江蘇師范大學機電工程學院,江蘇徐州 221116)
插補算法是整個數控系統控制的核心,其穩定性和算法精度將直接影響到CNC系統的性能指標。根據插補采用的原理和計算方法的不同,可有許多插補方法。目前應用的插補方法分為2類:基準脈沖插補和數據采樣插補。基準脈沖插補中常用的有逐點比較法(在2個坐標軸開環的CNC系統中應用比較普遍,一般不用于多軸聯動,應用范圍受到一定限制)和數字積分法(簡稱DDA法,易于實現多坐標軸聯動)。本文主要研究新型的DDA法。由于傳統的DDA法沿各坐標軸脈沖頻率不均勻,進給速度不夠快,以及插補誤差較大,精度較低。因此國內外許多學者研究了各種改進方法,取得了豐碩的成果[1-6]。這些成果中有的插補精度提高了,但由于算法復雜使得插補速度卻降低了[7-9];也有的沿x軸脈沖分配均勻,但沿y軸脈沖分配不均勻[10-11]。本文將研究一種提高精度但算法簡單以及各軸脈沖分配均勻的插補算法。
近年來,國內外學者取得了可喜的成績[1-12],但在下述3個方面還需進一步改進和提高。
(1)沿各坐標軸脈沖頻率不均勻 例如,起點坐標為o(0,0),終點坐標為A(10,7),用傳統的DDA法進行直線插補時,被積函數寄存器為四位二進制寄存器,累加器和終點計數器也為四位二進制計數器,迭代次數為24=16次時,插補結束。插補計算的過程如表1所示。

表1 傳統數字積分插補法直線插補運算過程
根據表1可以看出脈沖沿x軸發出10次,沿y軸發出7次,x軸脈沖分配不均勻,y軸脈沖分配更不均勻,且間隔增大,將造成步進電動機失步,使各軸運轉不平穩以及步進電動機噪聲增大,影響工件的表面質量。
(2)插補精度較高時,進給速度不夠快。
(3)插補算法簡單時,插補誤差較大,精度較低。
以第一象限直線插補為例,設直線起點為o(0,0),終點為A(xe,ye),如圖1所示。對xoy平面上的一條直線(如圖1中的oA)可用下面的方程式來表達:y


將式(1)兩邊對x求導得,并對時間微分得:

這里,dy/dt、dx/dt的物理意義分別對應動點沿y軸和x軸方向上的運動速度分量。
又可以改寫成:

式中:k為比例常數。
當xe>ye時,只能走x或x、y同時走的方式。說明沿x軸方向的運動總步數大于沿y軸方向的總步數,所以每一次插補中都沿x軸正向進給一步。由此說明了在插補過程中不需要判斷x軸在插補過程中的累加,從而只要判斷y軸方向在插補過程中的累加[12]。其中脈沖當量為單位脈沖,循環次數q1為(xe,ye)中的最大數,由于xe≥ye,則對y軸方向積分[13]為

被積函數寄存器存放y軸終點坐標值ye,每來一個ΔT脈沖,被積函數寄存器里的函數值送往相應的累加器中相加一次。當累加和超過累加器的容量時,便溢出脈沖,作為驅動相應坐標軸的進給脈沖y,而余數仍存在積分累加器中。
設積分累加器控制極限為q1,當超過積分累加器控制極限q1時,必須發出脈沖溢出。若將q1規定為單位“1”(相當于一個輸出脈沖),那么積分累加器中的存數總是小于q1,即為小于1的數,該數稱為積分余數。如將ye累加q1次后的y積分值[14]應為

積分值大于q1的部分表示溢出的脈沖,而余數部分存放在累加器中,即:
積分值=溢出脈沖數+余數

表2 新型DDA法直線插補的計算過程
當兩個坐標軸同步插補時,用溢出脈沖控制機床的進給,就可以走出所需的直線軌跡。
若x向已走夠指定步數q1=xe時,即插補結束。
為了減小插補誤差,提高插補精度,可以在插補開始時設置積分初值為終點坐標值中最大值的一半[14],即sy=xe/2。
對于x軸,不管y軸如何變化,在每次插補過程中,x軸都向正向走一步,也就是說,x軸在每次插補過程中都有脈沖輸出。而y軸在某一周期可能走也可能不走,仍不能保持y軸均勻分配脈沖。因此將累加器控制極限q1分成ye等分,即每等分為q1/ye,其中累加器中y的余數為sy,也是分成ye等分,即每等分為sy/ye。當sy+ye≥q1時,為了能使y軸均勻分配脈沖,y軸應該在待定時刻發出脈沖,即和新型插補法計算的時間之間有一個時間差為[13]

其中:T為傳統DDA法的脈沖發出時刻。
如果sy+ye<q1時,就不必考慮y軸的走向。同理,當xe<ye時,只能走 y或 x、y同時走的方式,同樣可以分析xe≤ye時的插補情況。
設直線的軌跡為oA,起點坐標為o(0,0),終點坐標為A(10,7),則脈沖個數q1=max(10,7)=10,令積分初值為sy=xe/2=10/2=5,y軸發出脈沖與產生的時間差為各個脈沖特定時刻ΔT=(q1-sy)/T/ye。其中sy為上步中積分修正值,其計算結果如表2所示。



兩種DDA法直線插補的脈沖分配波形如圖3所示。圖3a與3b相比較可以看出在數控加工過程中,傳統的DDA直線插補法的各坐標軸發出脈沖的時間間隔極不均勻,而且循環次數較多,從而降低了插補速度,影響了生產率。新型的DDA直線插補法使得各坐標軸發出脈沖的時間間隔均勻,提高各軸步進電動機運行的平穩性,減少了失步的可能性。同時插補速度大大提高,由傳統的DDA直線插補累加16次(如表1所示)減少到10次(如表2所示),而進給速度并沒有降低,也未影響生產率。
(1)新型DDA直線插補算法使x、y坐標軸脈沖分配較均勻,沒有周期性變化。
(2)新型積分直線插補算法簡單,插補次數取終點坐標值較大者。而傳統的插補算法的插補次數與寄存器的位數有關,如果寄存器的位數N=3,則要累加n=23=8,即插補8次,如果寄存器的位數N=4,則要插補16次。因此傳統的插補算法當寄存器的位數越大,則插補次數越多,插補效率越低。
(3)新型DDA直線插補算法插補誤差小于0.5個脈沖當量。
[1]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.
[2]Pedro L D Peres,Ivanil S Bonatti,Walter C Borelli.The linear interpolation method:A sampling theorem approach[J].Controle y Automacao,2003,14(4):439 -444.
[3]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.
[4]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.
[5]LI Guihua,FEI Yetai,MA Xiushui.Principle of error compensation in long axle cutting[J].Nongye Jixie Xuebao/Transactions of the Chinese Society of Agricultural Machinery,2006,37(6):131 -133.
[6]MENG Shuyun,ZHAO Dongbiao.Direct interpolation algorithm for pen- cutting of sculptured surfaces[J].Journal of Southeast University(English Edition),2006,22(1):73 -77.
[7]ZHAO Qingzhi,LIU Zhengxun,GU An,et al.New machining method for different top and bottom shaped workpiece with LS-WEDM based on difference interpolation theory[J].China Mechanical Engineering,2006,17(8):793 -797.
[8]王忠平.基于DSP的數控雕刻系統研究及其仿真實現[D].上海:上海交通大學,2007.
[9]林礪宗,劉磊.基于TMS320F2812的多軸運動控制器研究[J].微電機,2007,40(9):40 -48.
[10]程鐵漢.在線工業標記打印機的研究[D].重慶:重慶大學,2008.
[11]古至和.嵌入式數控雕刻機軟件系統開發[D].成都:電子科技大學,2009.
[12]楊樹蓮.快速數字積分插補算法及其實現.機床電器,2003(6):12-14.
[13]王廣炎,張潤孝,王小椿.脈沖均勻化插補方法[D].西安:西安交通大學,2000.
[14]李郝林,方鍵.機床數控技術[J].北京:機械工業出版社,2000.