首页 理论教育 逐点比较法:优化直线插补技术

逐点比较法:优化直线插补技术

时间:2023-06-24 理论教育 版权反馈
【摘要】:坐标进给如图1-14所示可以看出第一象限直线插补。设坐标值的单位为脉冲当量,则m+1 次插补后的坐标值为图1-14第一象限直线图1-14第一象限直线新偏差函数为新偏差函数为即即同样,如果经m 次插补后加工点处于点,因点在下方,求得,则下一次插补应向方向进给一步。

逐点比较法:优化直线插补技术

1.直线插补计算原理

(1)偏差函数与偏差判别

按逐点比较法基本原理,每运行一步,必须把动点的实际位置与给定轨迹的理想位置间的误差以“偏差”的形式计算出来,然后根据偏差的正、负决定下一步的走向,以逼近给定轨迹。因此,偏差的计算是关键。以第一象限平面直线为例来推导偏差计算公式。

如图1-14 所示直线OA,其起点O 为坐标原点,终点坐标A(xe,ye)为已知。直线OA 即为给定轨迹,m(xm,ym)点为加工点(动点)。若m 点正好处在直线OA 上,则有下式成立

假定动点处于OA 的上方,则直线Om’的斜率大于OA 的斜率,从而有

由以上分析可以看出,(images/P18_2212781.jpg)的符号反映了动点m 与直线OA 间的偏离情况。为此。可取偏差函数为

据此总结出动点m 与给定直线OA 间的相对位置关系如下。

若Fm=0,则动点正好处在直线OA 上,如m;

若Fm >0,则动点处在直线OA 上方,如m';

若Fm <0,则动点处在直线OA 下方,如m''。

(2)坐标进给

如图1-14所示可以看出第一象限直线插补。当Fm<0时,应向+X 方向进给一步;当Fm <0 时应向+Y 方向进给一步,以逼近给定直线;当Fm=0 时,动点正好在直线上,理论上既可以向+X 方向走,也可以向+Y 方向走,一般约定向+X 方向走。于是可以得到第一象限直线的插补法,即当Fm ≥0 时向+X 进给一步,当+Y 时向+Y 进给一步,如此步步紧逼,直至终点。

(3)新偏差计算

插补过程中每走完一步都要算一次新的偏差,如果计算则要做两次乘法与一次减法运算。这不仅影响了插补的速度,而且在使用硬件或汇编语言软件实现插补时不太方便,因此必须设法简化运算。通常采用递推法,即每进一步后所到达点的偏差值通过前一点的偏差递推算出。

如图1-14 所示,如果经m 次插补后加工点处于m'点,其坐标为(xm,ym),因m'点在OA 上方,求得Fm,则下一次(m+1 次)插补应向方向进给一步。设坐标值的单位为脉冲当量,则m+1 次插补后的坐标值为

图1-14 第一象限直线

新偏差函数为

同样,如果经m 次插补后加工点处于点,因点在下方,求得,则下一次(m+1 次)插补应向方向进给一步。走步后的新坐标值为

新偏差函数为

即(www.xing528.com)

可以看出,采用递推算法后,偏差函数的计算只与终点坐标有关,而不涉及动点坐标,且不需要进行乘法运算。新动点的偏差函数可由上一动点的偏差函数递推出来(减或加),因此该算法相当简单,容易实现。由于起点已经预先走到,起点偏差已知为零,即递推开始时的偏差函数初始值为。

(4)终点判别

终点判别有如下三种方法。

① 设置∑x、∑y 两个减法计数器,插补前在∑x、∑y 计数器中分别存入终点坐标值xe、ye作为初始值,当X 或Y 方向每进给一步时,在相应的计数器中减去1,直到两个计数器中的数都减到0 时,插补停止,到达终点。

② 选终点坐标xe、ye 中较大的坐标作为计数坐标,如xe >ye,则用xe 作为计数器初始值,仅走步时,计数器才减1,计数器减到零时即认为到达终点。

③ 设置一个终点计数器∑,计数器中存入X和Y 两坐标的进给步数总和,即∑=xe+ye,无论或坐标进给,计数器均减1,当减到0 时即认为到达终点,停止插补。

通常采用上述三种方法中的第三种。

2.直线插补计算举例

设加工第一象限直线,起点为坐标原点,终点坐标为xe=6、ye=4,坐标值单位为脉冲当量,试进行插补计算并画出走步轨迹图。

计算过程见表1-1,表中的终点判别采用上述第三种方法。走步轨迹如图1-15 所示。

图1-15 直线插补走步轨迹

表1-1 直线插补过程

3.四象限直线插补计算

以上所述仅为第一象限直线插补的计算处理方法。第一象限直线插补法经适当处理后可推广到其余象限的直线插补。当插补直线处于不同象限时,只要采用其坐标的绝对值计算,即用|X|代替X,用|Y|代替Y,其计算公式及处理过程与第一象限直线完全一样,仅是进给方向不同而已。由此,可得到偏差符号如图1-16 所示,当动点处在直线上时,偏差F=0;动点不在直线上且偏向轴一侧时,F>0;偏向轴一侧时,F<0。由图1-16 可见,当时F ≥0,应沿X 走步,第一、四象限走+X 方向,第二、三象限走-X 方向;当F<0 时,应沿沿Y 轴走步,第一、二象限走+Y方向,第三、四象限走-Y 方向。终点判别也应用终点坐标的绝对值作为计数器初值。

图1-16 四象限直线偏差符号和进给方向

例如,第二象限直线OA2。其终点坐标A2 为(-xe,ye),在第一象限有一条和它对称于Y轴的直线OA1,其终点坐标A1 为(xe,ye)。当从O 点出发,按第一象限直线OA1 进行插补时,若把沿轴正向进给改为沿X 轴负向进给,则实际插补出的就是第二象限直线OA2,而其偏差计算公式与第一象限直线相同。同理,插补第三象限终点A3 为(-xe,-ye)的直线OA3,它与第一象限终点为(xe,ye)的直线OA1 对称于原点,可依然按第一象限直线OA1 插补,只需在进给时将X、Y 由正向进给改为负向进给即可。

表1-2 列出了四象限直线插补的偏差计算公式与进给方向。表中分别表示第一、第二、第三、第四象限直线。

表1-2 直线插补计算公式及进给方向

4.直线插补计算的程序实现

程序设计首先要明确设计要求,根据程序的任务划分模块,设计算法及流程图,分配资源后进行程序编制。直线插补只是数控系统软件的一个模块,在设计流程图前,需要确定与其他模块间的关系。因为某一象限的直线在各轴的进给方向是确定的,并且在此直线的插补过程中保持不变。所以,插补程序不处理进给方向问题。进给方向由数据处理程序以标志的形式直接传递给进给驱动子程序。在开环系统中,进给驱动子程序的功能主要是根据插补结果和进给方向标志,驱动步进电机运动。在设计流程图前,做出如下规定:

(1)在内存中开出四个数据区XX、YY、JJ、FF,分别用于存放终点坐标xe、ye、∑总步数和偏差Fm。在8 位机中,算术运算是以单字节(8 位二进制数)为基础的;16 位机算术运算则以字(16 位二进制数)为基础;在数控系统中,通常需要三个以上的字节才能满足长度和精度的要求。所以,以上四个数据区每个的长度,8 位机可定为3 个字节,16 位机可定为2 个字。

(2)数据区初始化,包括FF 区清零,由数据处理模块完成。

这样,直线插补程序流程如图1-17 所示。

图1-17 逐点比较法直线插补流程图

设步进电机为三相六拍运行,STX、STY 分别为轴、轴步进电机环形分配指针,PORTX 和PORTY 分别为、轴的控制字输出口地址,标志字节FXGH 的第0 位和第1 位分别表示轴和轴的进给方向,1 为正向,0 为反向。轴进给驱动子程序流程图如图1-18 所示。

图1-18 轴进给驱动子程序流程图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈