目标点跟踪法在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轴是否同时要进给。如 |