数控车床加工技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

任务五 数控插补原理

任务描述

数控插补的定义是什么?它的原理是怎样产生的?数控插补方法又有哪些?

学习目标

了解数控插补的方法。掌握数控插补的实质特别是逐点比较法,并能联系实际的加工应用。

任务分析

数控插补就是数控加工,只有搞清楚插补的原理才能更合理地了解和掌握数控编程。

任务完成

一、插补的基本概念

插补是指在轮廓控制系统中,根据给定的进给速度和轮廓线形的要求等“有限信息”,在已知数据点之间插入中间点的方法,这种方法称为插补方法。插补的实质就是数据点的“密化”过程。插补的结果是输出运动轨迹的中间坐标值,机床伺服驱动系统根据这些坐标值控制各坐标轴协调运动,加工出预定的几何形状。

插补有两层意思:一是用小线段逼近产生基本线型(如直线、圆弧等);二是用基本线型拟合其他轮廓曲线。

插补运算具有实时性,直接影响刀具的运动。插补运算的速度和精度是数控装置的重要指标。插补原理也称为轨迹控制原理。五坐标插补加工仍是国外对我国封锁的技术。

下面以直线、圆弧生成为例,论述插补原理。

二、插补方法的分类

完成插补运算的装置或程序称为插补器,包括以下几种。

(1)硬件插补器:早期NC系统的数字电路装置。

(2)软件插补器:现代CNC系统的计算机程序。

(3)软硬件结合插补器:软件完成粗插补,硬件完成精插补。

由于直线和圆弧是构成零件轮廓的基本线型,因此,CNC系统一般都具有直线插补和圆弧插补两种基本类型。

插补运算所采用的原理和方法很多,一般可归纳为基准脉冲插补和数据采样插补两大类型。

1.基准脉冲插补

每次插补结束仅向各运动坐标轴输出一个控制脉冲,各坐标仅移动一个脉冲当量或行程的增量。脉冲序列的频率代表坐标运动的速度,而脉冲的数量代表运动位移的大小。

这类插补运算简单,主要用于步进电动机驱动的开环数控系统的中等精度和中等速度要求的经济型计算机数控系统。也有的数控系统将其用做数据采样插补中的精插补。

基准脉冲插补也称为脉冲增量插补,其插补的方法很多,如逐点比较法、数字积分法、脉冲乘法器等。

2.数据采样插补

采用时间分割思想,根据编程的进给速度将轮廓曲线分割为每个插补周期的进给直线段(又称轮廓步长)进行数据密化,以此来逼近轮廓曲线。然后再将轮廓步长分解为各个坐标轴的进给量(一个插补周期的进给量),作为指令发给伺服驱动装置。该装置按伺服检测采样周期采集实际位移,并反馈给插补器并与指令进行比较,有误差就运动,误差为零则停止,从而完成闭环控制。

数据采样插补又称为时间分割插补或数字增量插补,这类算法插补结果输出的不是脉冲,而是标准二进制数。

数据采样插补方法有直线函数法、扩展DDA、二阶递归算法等。

三、基准脉冲插补

1.逐点比较法

早期数控机床广泛采用的方法,又称代数法、醉步法,适用于开环系统。

1)插补原理及特点

原理:每次仅向一个坐标轴输出一个进给脉冲,而每走一步都要通过偏差函数计算,判断偏差点的瞬时坐标同规定加工轨迹之间的偏差,使刀具向减小偏差的方向进给,且只有一个方向的进给,周而复始,直到全部结束,使之趋近于加工轨迹。

一般来讲,逐点比较法插补过程中每进给一步都要经过如图1-2-17所示的四个节拍的处理。

图1-2-16

图1-2-17 逐点比较插补过程

(1)第一节拍——偏差判别

判别刀具当前位置相对于给定轮廓的偏差情况,也就是说通过偏差符号来确定加工点处于规定轮廓的外面还是里面,并以此决定刀具的进给方向。

(2)第二节拍——坐标进给

根据偏差判别结果,控制相应坐标轴进给一步,使加工点向规定轮廓靠拢,从而减小其间偏差。

(3)第三节拍——偏差计算

刀具进给一步后,计算新的加工点与规定轮廓之间新的偏差,作为下一步偏差判别的依据。

(4)第四节拍——终点判别

每进给一步都要修正总步数,并判别刀具是否到达被加工零件轮廓的终点。若到达则结束,否则继续循环以上四个节拍,直至终点为止。

2)逐点比较法直线插补

(1)偏差函数构造

如图1-2-18所示第一象限直线OE,起点O为坐标原点,用户编程时,给出直线的终点坐标EXeYe),直线方程为

XeYjXiYe=0

图1-2-18

直线OE为给定轨迹,PXiYj)为动点坐标,动点与直线的位置关系有三种情况:动点在直线上方、动点在直线上、动点在直线下方。

偏差判别函数

POE上:

POE上方:

POE下方:

由以上关系式可以看出,(XeYiXiYe)的符号就反映了动点P与直线OE之间的偏离情况,可以构造偏差函数为

Fi=YiXe-XiYe

插补规则对于第一象限直线,其偏差符号与进给方向的关系如图1-2-19所示。

图1-2-19 插补规则对于偏差符号与进给方向的关系

F=0时,表示动点在OE上,如点P,可向+X向进给,也可向+Y向进给。

F>0时,表示动点在OE上方,如点P1,应向+X向进给。

F<0时,表示动点在OE下方,如点P2,应向+Y向进给。

这里规定动点在直线上时,可归入F>0的情况一同考虑。

根据上述原则,插补工作从起点O(0,0)开始,走一步,算一步,判别一次F的符号,再走一步,趋向直线进给,直至终点EXeYe)。

故得出插补规则为

F≥0,则沿+X方向进给一步。

F<0,则沿+Y方向进给一步。

这样,通过逐点比较的方法,控制刀具走出一条尽量接近零件轮廓直线的轨迹,如图1-2-19中的折线所示。当每次进给的台阶(即脉冲当量)很小时,就可以将这条折线近似的当作直线来看待。显然逼进程度的大小与脉冲当量的大小直接相关。

(2)偏差函数字的递推计算

采用偏差函数的递推式(迭代式),既由前一点计算后一点。

设当前切削点pXiYi)的偏差为

F=Fij=XeYj-XiYe

则根据偏差公式

Fij≥0时,

新加工点坐标为Xi+1=Xi+1,Yj+1=Yj

新偏差为 Fij+1=XeYj-Xi+1)Yj=FijYe

Fij<0时,

新加工点坐标为Xi+1=XiYj+1=Yj+1

新偏差为 Fij+1=XeYj+1)-XiYeFi,+Xe

开始加工时,将刀具移到起点,刀具正好处于直线上,偏差为零,即F=0,根据这一点偏差可求出新一点偏差,随着加工的进行,每一新加工点的偏差都可由前一点偏差和终点坐标相加或相减得到。

(3)终点判别

直线插补的终点判别可采用三种方法。

① 判断插补或进给的总步数: N=Xe+Ye

② 分别判断各坐标轴的进给步数。

③ 仅判断进给步数较多的坐标轴的进给步数。

根据前面总结出的四个节拍可设计出逐点比较法第一象限直线插补的软件流程图如图1-2-20所示。

(4)逐点比较法直线插补举例

欲加工第一象限的直线OE,起点在原点,终点坐标为E(3,5),脉冲当量为1,试用逐点比较法进行插补。

解:总步数∑0=3+5=8,将其存入终点判别计数器中,每进给一步减1,若N=0,则停止插补。开始时刀具处于直线起点(原点),∑=0,则插补运算过程如表1-2-1所示,插补轨迹如图1-2-21所示。

图1-2-20 逐点比较法第一象限直线插补的软件流程图

图1-2-21 插补轨迹

表1-2-1 插补运算过程

在这里要注意的是,对于逐点比较法插补,在起点和终点处刀具均落在零件轮廓上,也就是说在插补开始和结束时偏差值均为零,即F=0,否则,就说明插补过程中出现了错误。

图1-2-22 逐点比较法圆弧插补

逐点比较法即可以作直线插补,又可以作圆弧插补。

特点是,运算直观,插补误差小于一个脉冲当量,输出脉冲均匀,而且输出脉冲的速度变化小,调节方便,因此,在两坐标联动的数控机床中应用较为广泛。

3)逐点比较法圆弧插补(见图1-2-11)

(1)偏差函数

任意加工点PiXiYi),偏差函数Fi可表示为

Fi=0,表示加工点位于圆上。

Fi>0,表示加工点位于圆外。

Fi<0,表示加工点位于圆内。

(2)偏差函数的递推计算

① 逆圆插补

Fi≥0,规定向-X方向走一步

Fi<0,规定向+Y方向走一步

② 顺圆插补

Fi≥0,规定向-Y方向走一步

Fi<0,规定向+Y方向走一步

(3)终点判别

① 判断插补或进给的总步数为

② 分别判断各坐标轴的进给步数为

(4)逐点比较法圆弧插补举例(见图1-2-23)

图1-2-23 逐点比较法圆弧插补举例

对于第一象限圆弧AB,起点A(4,0),终点B(0,4)。

表1-2-2 插补运算

4)逐点比较法的速度分析

式中,L——直线长度;

V——刀具进给速度;

N——插补循环数;

f——插补脉冲的频率。

N=Xe+Ye=Lcosα+Lsinα

所以,

刀具进给速度与插补时钟频率f和与X轴夹角α有关,若保持f不变,0°和9°最大,45°最小,如图1-2-14所示。

加工圆弧时刀具的进给速度也是如此。

图1-2-24 刀具进给速度与插补时钟频率

5)逐点比较法的象限处理

(1)分别处理法

4个象限的直线插补,会有4组计算公式,对于4个象限的逆时针圆弧插补和4个象限的顺时针圆弧插补,会有8组计算公式,其刀具的偏差和进给方向可用图1-2-25表示。

图1-2-25 刀具的偏差和进给方向

(2)坐标变换法

用第一象限逆圆插补的偏差函数进行第三象限逆圆和第二、四象限顺圆插补的偏差计算,用第一象限顺圆插补的偏差函数进行第三象限顺圆和第二、四象限逆圆插补的偏差计算。

四、象限插补计算过程

直线的象限插补计算机过程见表1-2-3。

表1-2-3 直线的象限插补计算过程

表1-2-4 圆弧的象限插补计算过程

1.数字积分法

数字积分法又称为数字微分分析(DDA)法,是用数字积分的方法计算刀具沿各坐标轴的位移,可以用来实现各种函数的运算。

其最大的优点是运算速度快、脉冲分配均匀、易于实现坐标扩展,每个坐标就是一个模块,几个相同的模块组合就可以实现多坐标轴的联动控制及描绘平面各种函数曲线。但是,数字积分插补法的速度调节不方便,插补误差比较大,它的插补误差有时会大于1个脉冲当量,需要采取一定措施才能满足精度要求。采用软件插补时,利用计算机的强大功能可以克服这一缺点。

1)数字积分原理(见图1-2-26)

或者说,积分的过程可以用微小量的累加近似得

ΔX=VxΔt;ΔY=VYΔt

2)DDA直线插补

(1)DDA法直线插补的积分表达式

要对XY平面的直线进行脉冲分配,如图1-2-27所示,起点在原点,终点坐标为(XeYe),令V表示动点移动速度,VxVy分别表示动点在X轴和Y轴方向的分速度,则

K=V/L=Vx/Xe=Vy/Ye

图1-2-26 数字积分原理

图1-2-27 DDA直线插补

则 ΔX=KXeΔt;ΔY=KYeΔt

XY方向的位移:

式中,m为累加次数(容量)取为整数,m=0~2N-1,共2N 次(N为累加器位数)。令Δt=1,mK=1,则K=1/m=1/2N。则

X= XeY= Ye

(2)结论

直线插补从始点走向终点的过程,可以看作是各坐标轴每经过一个单位时间间隔,分别以增量KXeXe/2N)及KYeYe/2N)同时累加的过程。累加的结果为:X=XeY=Ye

DDA直线插补:以Xe/2NYe/2N(二进制小数,形式上即XeYe)作为被积函数,同时进行积分(累加),N为累加器的位数,当累加值大于2N-1时,便发生溢出,而余数仍存放在累加器中。即

积分值=溢出脉冲数代表的值+余数

当两个积分累加器根据插补时钟脉冲同步累加时,用这些溢出脉冲数(最终X坐标Xe个脉冲、Y坐标Ye个脉冲)分别控制相应坐标轴的运动,即可加工出所要求的直线。

(3)终点判别

累加次数、即插补循环数是否等于2N可作为DDA法直线插补判别终点的依据。

图1-2-28 DDA法直线插补举例

(4)组成

二坐标DDA直线插补器包括X积分器和Y积分器,每个积分器都由被积函数寄存器JVX(速度寄器)和累加器JRX(余数寄存器)组成。

初始时,X被积函数寄存器存XeY被积函数寄存器存Ye

(5)DDA法直线插补举例

插补第一象限直线OE,起点为O(0,0),终点为E(5,3),如图1-2-28所示。取被积函数寄存器分别为JVXJVY,余数寄存器分别为JRXJRY,终点计数器为JE,均为三位二进制寄存器,见表1-2-5。

表1-2-5 DDA法直线插补举例

3)DDA法圆弧插补(见图1-2-29)

(1)DDA法圆弧插补的积分表达式

图1-2-29 DDA法圆弧插补

K=V/R=Vx/Yi=Vy/Xi

Vx=KYiVy=KXi

令 Δt=1/K=1/2N

圆弧插补时,是对切削点的即时坐标XiYi的数值分别进行累加。

(2)其特点如下:

① 各累加器的初始值为零,各寄存器为起点坐标值。

X被积函数寄存器存YiY被寄函数积存器存Xi,为动点坐标。

XiYi在积分过程中,产生进给脉冲ΔX、ΔY时,要对相应坐标进行加1或减1的修改。

④ DDA圆弧插补的终点判别要有两个计数器,哪个坐标终点到了,哪个坐标停止积分迭代。

⑤ 与DDA直线插补一样,JVXJVY中的值影响插补速度。

(3)DDA圆弧插补举例(见表1-2-6)

例:对于第一象限圆弧,起点(5,0),终点(0,5)三位二进制寄存器(图1-2-30)。

图1-2-30 圆弧插补举例

表1-2-6 DDA圆弧插补举例

2.DDA法插补的合成速度

由于DDA插补是控制脉冲源每产生一个脉冲,作一次积分运算。每次运算中X方向平均进给的比率为Y/2n(2n累加器的容量),而Y方向的比率为X/2n,所以合成的进给速度为(单位:mm/min)

VLVg/2nVg=60δfg

式中,δ——脉冲当量,mm;

fg——插补迭代控制脉冲源频率,Hz;

L——程编的插补段的行程,直线插补段时为直线长度,圆弧插补段为圆弧半径R。

可见,速度变化率与程序段的行程L成正比。当fg一定时,行程长,脉冲溢出快,起刀快;行程短,脉冲溢出慢,起刀慢。引起各程序段进给速度的不一致,影响加工质量和效率,为此人们采取了许多改善措施。

1)设置进给速率数FRN

利用G93,设置进给速率数FRN,即

FRN=v/L=/2n

或 FRN=v/R=/2n

v=FRN×L,或v=FRN×R,通过FRN调整插补时钟频率f,使其与给定的进给速度相协调,消除线长L与圆弧半径R对进给速度的影响。

2)左移规格化

“左移规格化”就是将被积函数寄存器中存放数值的前零移去。

直线插补时,当被积函数寄存器中所存放最大数的最高位为1时,称为规格化数,反之,若最高位为零,称为非规格化数。

直线插补左移规格化数的处理方法:将X轴与Y轴被积函数寄存器里的数值同时左移(最低位移入零),直到其中之一最高位为1时为止。

若被积函数左移i位成为规格化数,其函数值扩大2i倍,为了保持溢出的总脉冲数不变,就要减少累加次数。

圆弧插补左移规格化与直线不同之处:被积函数寄存器存放最大数值的次高位是1为规格化数。

3.数据采样插补

1)概述

这种插补方法多用于进给速度要求较高的闭环控制系统。

它与前面介绍的插补方法的最大不同就是前者计算机一般不包含在伺服控制环内,计算机插补的结果是输出进给脉冲,伺服系统根据进给脉冲进给。每进给一步(一个脉冲当量),计算机都要进行一次插补运算。进给速度受计算机插补速度的限制,很难满足现代数控机床高速度的要求。

而后者计算机一般包含在伺服控制环内。数字增量插补用小段直线来逼近给定轨迹,插补输出的是下一个插补周期内各轴要运动的距离,不需要每走一个脉冲当量就插补一次,可达到很高的进给速度。

(1)数据采样插补的基本原理

粗插补:采用时间分割思想,根据进给速度F和插补周期T,将廓型曲线分割成一段段的轮廓步长LL=FT,然后计算出每个插补周期的坐标增量,进而得出下一插补点指令位置。

精插补:根据位置反馈采样周期的大小,由伺服系统完成。

(2)插补周期和检测采样周期

插补周期要大于插补运算时间与完成其他实时任务时间之和,现代数控系统一般为2~4ms,有的已达到零点几毫秒。插补周期应是位置反馈检测采样周期的整数倍。

(3)插补精度分析

直线插补时,轮廓步长与被加工直线重合,没有插补误差。

圆弧插补时,轮廓步长作为弦线或割线对圆弧进行逼近,存在半径误差,如图1-2-31所示。

图1-2-31 插补精度分析

采用弦线(L)逼近时,如图1-2-31(a)所示,半径为r的被逼近圆弧最大半径误差er,其对应的圆心角为δ,由图可推导出:

当采用内外均差(era=eri)的割线时,半径误差更小,是内接弦的一半;若令二种逼近的半径误差相等,则内外均差弦的轮廓步长或步距角是内接弦时的倍。但由于内外均差割线逼近时,插补计算复杂,很少应用。

由上面分析可知:圆弧插补时的半径误差er与圆弧半径r成反比,与插补周期T和进给速度F的平方成正比。

2)数据采样法直线插补

(1)插补计算过程

由图1-2-32可知,在直线插补过程中,轮廓步长l及其对应的坐标增量ΔX、ΔY等是固定的。

图1-2-32 直线插补过程

① 插补准备 主要是计算轮廓步长及其相应的坐标增量。

② 插补计算 实时计算出各插补周期中的插补点(动点)坐标值。

(2)实用的插补算法

原则:算法简单、计算速度快、插补误差小、精度高。

① 直接函数法

插补准备:ΔXi=Xe/L;ΔYiXi Ye/Xe

插补计算:Xi=Xi-1XiYi=Yi-1Yi

② 进给速率数法(扩展DDA法)

插补准备:步长系数 K =l/L= FT/L=T×FRN

插补计算:ΔXi=KXe;ΔYi=KYe

Xi=Xi-1XiYi=Yi-1Yi

③ 方向余弦法

插补准备:cosα=Xe/L;cosβ=Ye/L

插补计算:ΔX=l cosα;ΔY=l cosβ

Xi=Xi-1XiYi=Yi-1Yi

④ 一次计算法

插补准备:ΔXi=Xe/L;ΔYiXi Ye/Xe

插补计算:Xi=Xi-1XiYi=Yi-1Yi

3)数据采样法圆弧插补

(1)直线函数法(弦线法)

图1-2-33 直线函数法

由图1-2-33可知,顺圆上B点是继A点之后的瞬时插补点,为了求出B点的坐标值,过A点作圆弧的切线AP,则有

上式中,sinα和cosα都是未知数,难以用简单方法求解,采用近似计算,用cos45°和sin45°来取代,即

从而造成了tanα的偏差,使角α变为α′,使cosα变大,因而使ΔX值变为ΔX′,即

B点一定在圆弧上,其坐标为Xi+1=XiXYi+1=YiY

因为其插补误差是非常微小的,所以可以认为插补的速度是均匀的。

(2)扩展DAA法数据采样插补

图1-2-34 扩展DAA法数据采样插补

将DDA的切向逼近改变为割线逼近。具体还是计算一个插补周期T内,轮廓步长L的坐标分量△Xi和△Yi,由图经过推导可得:

ΔXi=KYi-1KXi-1/2);ΔYi=KXi-1+KYi-1/2)

其中,K=FT/R=T×FRN

新加工点的坐标位置:Xi=Xi-1XiYi=Yi-1Yi

上述两个公式为第一象限顺时针圆弧插补计算公式,依此可得出其他象限及走向的公式。

由上述扩展DDA圆弧插补公式可知,采用该方法只需进行加法、减法及有限次的乘法运算,因而计算简单,速度快。

此外,该法还采用割线逼近圆弧,其精度较弦线法高。

思考与练习

1.何谓插补?数控加工为什么要使用插补?

2.逐点比较插补法是如何实现的?

3.试述DDA插补原理。