发表于:2005-08-24 15:04:00
143楼
to:davi1,您好
首先,您举的例子并不是单轴加速的例子还是2维插补的例子,当然要用到插补。。。
其次,您说的那不是插补运算,就拿直线插补的逐点比较法(因为这个方法最简单易懂)来说吧,走一条您说的(0,0)到(3,4)的斜线,在每一个插补周期中不是象您说的X、Y的脉冲数成3:4的关系的,应该是1:0或0:1或1:1。。。跟您举个例子:第一周期Y走了一个插补当量,X没动;第二周期,X走一个插补当量,Y没动。。。如下所示:
1 x=0,y=n;
2 x=n,y=0;
3 x=0,y=n;
4 x=n,y=0;
5 x=0,y=n;
6 x=n,y=0;
7 x=0,y=n;
8 x=0,y=n;
9 x=n,y=0;
10 x=0,y=n;
11 x=n,y=0;
12 x=0,y=n;
13 x=n,y=0;
14 x=0,y=n;
。。。到第14个插补周期x走了6n,y走了8n。。。事实上每个插补的周期内看就是阶梯(折线是两轴同时走),因为插补的周期很短,所以宏观看就平滑了,宏观看X:Y也就是3:4了。。。
您举的例子只是把一个直线运动分段按比例执行了,根本不是插补算法。。。插补算法在微观看是有差算法,而且就是根据误差来判断下步插补如何动作,而您说的按比例调节分段执行就没差值了。。。我说的插补周期比您说的那按比例调节的周期要小的多,微观的多,甚至可以微观到每一位置脉冲。。。
对单轴的加减速的算法同样不是插补算法,至少不是运动控制里的插补算法。。。至于对空间直线、圆弧、螺旋线运动既然已经包含了插补,那每轴的加减速当然要通过插补来调节了。。。我自己以前用单片机发脉冲控制步进就是做的梯形加速,也没有什么“插补”算法,既没丢步也运行的不错,您说的那只能是对加减速的一个微化处理的算法而已,和您举(3,4)的按比例分段执行的那算法差不多。。。
我知道的插补有最小偏差法、逐点比较法、采样数据法和参考脉冲法等等,逐点比较法只是我举的例子,现在好多先进的板卡早就不使用此方法了。。。呵呵,可能大家的理解不同,谈论技术有利于学习提高。。。