终点控制算法的研究以及软件的实现
(一)高精度定位算法
现代化工业在机床设备的精度、效率、可靠性和经济性等方面,提出了越拉越高的要求,实现机床设备数控化、自动化、高速化是必然的发展方向。定位精度是机床精度的一项重要指标,它综合反映了机床构件和进给系统的精度及动态特性,靠常规的机械设计技术难以达到要求。影响数控机床定位精度的因素除了机床的机构、控制系统检测元件等硬件因素外,在软件方面,加减速方式对数控系统的定位也有着十分重要的影响。
在控制算法中不易解决的精度与速度矛盾,通过改善加减速算法能够起到一定的效果。数控系统通常采用的加减速方式有指数加减速、直线加减速,高档的数控系统还具有S曲线加减速等。一般情况下,伺服系统的控制过程可分为加速、匀速、减速和低速定位四个阶段,其中,减速和低速定位两个阶段对伺服系统的定位精度有很重要的影响。
如果采用S曲线的加减速控制方式,算法计算量都远大于线形加减速,在实时插补过程中往往需要比较长的运行时间才能完成,但对于定位来说,由于对过程要求不是很高,使用直线加减速就比较合适一些。直线加减速是各种算法中最简单的,它算法平稳性较好,速度快,适合使用在速度变化范围较大的快速定位方式中[13]。
数据采样插补的特点是系统按固定的时间间隔进行插补,算出每一时间间隔结束时各轴应达到的位置,实际相当于数控系统对目标位置进行定时采样。其中插补输出位置采用数字表示而非脉冲串。在数据采样位置控制方式中,保证各轴能同时到达程序段的重点而它们的运动又是连续的条件,是使每个程序段各轴的运行时间恰好是插补周期的整数倍,即时间分割条件。这可以通过调整各轴的命令进给率即每个插补周期的进给量,即加减速来实现。由于数据采样插补过程是一个离散过程,因此采用连续方式的计算公式计算出来的减速点是不准确的,必须采用离散方式计算减速点,并在减速算法中
21
考虑最小速度问题和最大速度问题。
首先计算开始减速时各轴的进给速度:
?X?V?V?p??px?L ??Y?V?V?pyp???L其中?L为代码段长度,?X为响应的X轴分量,?Y为Y轴分量。然后计算各自轴以各自的最大加速能力减速至Vmin所需要的时间:
Vpx?Vminx?t??xAxmax? ??t?Vpy?Vminy?xAymax?取td?max(tx,ty)作为减速时间,从而可得合成最大加速度为:
Amax?Vp?Vmaxtd
由以上计算过程可以看出,(加)减速过程中,联动各轴没有均没有超过各自的最大加速度,但充分发挥了各轴的能力,使加减速过程时间达到最短。
由式(4.2)可得插补的次数n,是一个实数,表示从Vp线形减速至Vmax时,理论上的运行时间是插补周期的倍数,由前面分析,插补过程必须满足时间分割条件,即n必须为整数,取N为不小于n的整数:
N?ceil(n) (N?n) (4.4) 上式ceil()是取整函数,用N来代替n,带入(4.2)式可得加速度为:
a?Vp?VminNT (4.5)
即重新计算出一个略小于Amax而可以让插补过程满足时间分割条件的加速度
a,即将(4.4)和(4.5)代入到(4.3)中得到:
N?1N?1Sd?TVp?TVmin
22 22
由上式计算可得理论减速距离,从而可得到理论减速点P。从理论上讲,若刚好在P点开始减速,则可以按预先规划好的线性减速规律经过N-1个插补周期减速到Vmin,然后经过一个周期的Vmin运行,刚好到达终点停止。但由前可知,实际减速点不可能刚好与理论减速点重合。为了保证定位精度和平稳性,减速点必须提前,这样最大减速区长度为(Sr为实际减速区长度)
VminSrmax?Sd?VpT
若仍按事先的线性减速,则在速度减至Vmin时仍有剩余长度Serr
Serr?Sr?Sd
在普通的速度控制中,这一段将在最后由Vmin运行,由于Vmin一般很小。所以运行时间比较长,降低了加工效率。在减速过程中,各个插补周期的程序进给量是不相同的,它们逐渐递减,这样Serr不够以Vp运行一个周期(但由Vmin运行则需要很多周期),但它可以比Vp低的速度运行来补偿,即减速点的误差可以在较高的速度得到补偿,而不必全部放到最后,这样在减速段结束时剩余长度就很小了,这样就提高了运行效率。
(二)程序中终点控制算法
在数控加工中,有时遇到这样的情况,由于加工长度比较小,往往刀具还没有达到指令的进给速度就必须做减速处理,以免在加工中发生超程,冲撞等问题。加工线段的长短是一个相对的概念,实际中很难界定,如何在不同长度的情况下正确的预测减速点,也就成了加减速控制的关键问题。传统的直线加减速的减速区域判断方法是采用下式进行计算:
SdownVc2?Ve2???S (4.6)
2a其中Sdown为减速区域的距离,a为加减速度,根据已设定的数据即可求得Sdown。
这种方法虽然简单,但存在明显不足,首先是对于长加工线段适用,而对于短线段则不适用,因为电机还没来得及加到最高速度就减速了,这时是
23
不能采用上式计算的,其次是这种方法并不能实现自动加减速,不具备智能性。
下面将介绍一种新的智能化的减速区域的判断方法。以直线加减速为例采用前加减速控制,并用到“步”的概念。“一步”,是指电机以一定速度走一个插补周期所走的距离,即步长。在电机每次开始走步时,根据前一步的速度可求出下一步的速度Vi?1?Vi?aT,再比较根据此速度这步走完时已加工的长度和剩余长度,则根据具体条件实行加速或者匀速运行,继而得到新的剩余长度和加速长度,继续比较直至剩余长度小于加速长度,此时开始减速处理。
这里的“具体条件”指的是首先比较加工限度长度L与起跳长度V0T,若L?V0T,则不进行加减速直接输出;其次比较剩余长度与加速长度,若剩余长度小于加速长度,则说明已进入减速区域减速,否则继续比较此时电机速度是否已达到最高速度;若小于最高速度,则继续加速,否则以最高速度匀速运行。当加工完当前步后,再次比较剩余长度与加速长度,如此反复,直至最后加工完毕。
这种方案在保证长线段减速区域的判断与传统方案一致的同时,又弥补了传统方案在短线段减速区域的判断上的不足,具有预见性。而且初始速度,指令速度,加速度以及加工线段的长度都可以预先从G代码中读出,得到这些参数后,上位PC机可以很快的计算下一步的速度,以此来判断是继续加速,还是匀速,或者减速,并将结果送入下位机以驱动电机运行。
基于相同原理,此方法也可适用于S形曲线和指数加减速方式,只需在计算速度和下一步步长时采用相应的积分公式即可。
(三) 算法的软件实现
在数控系统中,直线是最基本的加工图形之一。因此直线的加工和控制在数控系统中占有重要的地位。尤其在复杂零件的数控加工中,CAD/CAM系统以直线代替曲线进行轨迹拟合,生成的数控代码往往由许多微小直线段
24
代码组成,再经过系统解释执行控制机械平台的运动。
本章节就以直线加工为例来阐述数控系统中直线加减速中速度的控制。流程如图4.1所示:
图4.1 程序流程图
图4.2、4.3、4.4、4.5分别为几种加减速控制方式的速度图线。其中图4.2、4.3是直线加减速控制中出现的两种情况。
图4.2 直线加减速方式速度与位移图线(1)
25