目標(biāo)點跟蹤法在DSP運動控制卡中的應(yīng)用
馮娟,王曉初,嚴兆彬
(廣東工業(yè)大學(xué),廣東廣州510006)
摘要:以直線插補和圓弧插補為例,闡述了目標(biāo)點跟蹤法插補原理。該插補算法運算簡單,插補精度高,能夠滿足控制系統(tǒng)高速高精度的要求,且易于實現(xiàn)拋物線、雙曲線、螺旋曲線等復(fù)雜曲線的插補。將該插補算法應(yīng)用于DSP運動控制卡中,通過DSP產(chǎn)生脈沖分配,從而實現(xiàn)對控制系統(tǒng)運動過程準確、快速的控制。
關(guān)鍵詞:DSP;運動控制卡;目標(biāo)點跟蹤插補算法
中圖分類號:TM383.6 文獻標(biāo)識碼:A 文章編號:1004—7018(2008)06—0019—02
0引言
TMS320LF2407是TMS320C2000系列16位定點DSP芯片,在運動控制卡中,DSP接收上位機的運動控制指令或控制參數(shù),通過位置控制和速度控制算法,將計算出的脈沖信號經(jīng)脈沖驅(qū)動送電機驅(qū)動器,實現(xiàn)步進電動機的實時控制。尋求一種適合該運動控制過程的插補算法,對于提高運算效率,充分利用DSP的快速性,實現(xiàn)運動控制卡對運動過程的高速高精度控制是非常重要的。
1目標(biāo)點跟蹤法原理
1.1目標(biāo)點跟蹤法優(yōu)點
目標(biāo)點跟蹤法又名伸雄式函數(shù)發(fā)生器(SPG),其主要優(yōu)點如下:
(1)插補原理簡單,只需簡單的加減法運算;
(2)插補精度較高,直線插補誤差小于一個脈沖當(dāng)量,圓弧插補結(jié)束時一定閉合,且插補直線和圓弧不會產(chǎn)生積累誤差;
(3)進給速度容易控制;(4)能夠進行直線、圓弧、拋物線、雙曲線等多種曲線插補;
(5)能擴展各種復(fù)合曲線,如螺旋曲線等。
1.2目標(biāo)點跟蹤法原理
1.2.1直線插補
直線插補的脈沖分配如圖1所示。設(shè)一直線OP,起點在坐標(biāo)原點0(0,0),終點為P(Xp,Yp)。對OP插補較理想的脈沖分配是:x軸分配xp。個脈沖,Y軸分配Yp個脈沖;x軸相鄰脈沖的時間間隔為a,Y軸相鄰脈沖的時間間隔為b,且滿足aXp=6Yp。如果以脈沖密度高的軸為基準,在該軸整個進給脈沖期間,逐次判斷其相對的另一軸脈沖是否存在,以判斷是否進給,即可實現(xiàn)上述脈沖分配。
直線插補脈沖分配流程如圖2所示,其中F為偏差判別函數(shù)[1],F(xiàn)=F—Xp+Yp;令起始點在直線上,則F=0。△x=1表示向x軸進給一步,△x=0表示x軸不進給,Y軸同理。進給過程中Xp、Yp保持不變。假設(shè)Xp>Yp,則a<b,即x軸脈沖密度高,則以x軸脈沖為基準,在x軸整個進給脈沖間,根據(jù)偏差判別函數(shù)F,逐次判斷其相對的Y軸脈沖是否存在,直到到達終點,插補結(jié)束。
用這種方法來判斷,只需簡單的加減法運算即可實現(xiàn)直線插補,節(jié)省了程序運行時間,提高了代碼效率。
1.2.2圓弧插補
以點P(A。,-B。)為圓心的順時針方向的圓弧為例,P點是圓弧起點0的切線終點,P點的坐標(biāo)為(B。,A。),圓弧插補脈沖分配如圖3所示。
由0點開始進行圓弧插補,在0點的運動方向即為切線OP 的方向,因此把由0點開始的圓弧插補,用由0點開始沿0P方向的直線插補代替,對0點附近(極小范圍內(nèi))來講其效果一樣。但是,走一步以后,新一點的切線不再是0P,必須改變新一點的切線方向進行直線插補。也就是說,完成圓弧插補,可以用沿切線方向的直線插補來實現(xiàn),但當(dāng)每走一步后,要隨時修改其所在位置到圓心的坐標(biāo)值。
修改的原則是:每當(dāng)向x軸分配一個脈沖,就將x軸相鄰脈沖的時間間隔A。減l;每當(dāng)向y軸分配一個脈沖,就將y軸相鄰脈沖的時間間隔B。加l,這就成了時刻跟蹤由所在位置到圓心P點的坐標(biāo)值。每次計算都對x軸、y軸當(dāng)前的脈沖時間間隔進行比較,將脈沖密度高的軸作為基準。如圖3所示,A!軻。,則以y軸為基準(如果A。<B。,則以x軸為基準),每次運算后,基準軸進給一步,然后根據(jù)運算結(jié)果,通過圓弧插補的偏差判別函數(shù) [1],判斷x軸是否同時要進給。如 |