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