插补原理及其实现
出处:按学科分类—工业技术 北京出版社《现代综合机械设计手册下》第2876页(21484字)
对于连续轨迹数控系统,除应使工作台(刀架)准确定位外,还应控制刀具相对于工件以给定的速度沿指定的路径运动,以便切削出工件轮廓,保证其加工精度和光洁度。因此,插补功能是必不可少的。
数控系统根据零件加工程序数据段的信息,采用数字方式进行计算,按计算结果向机床各坐标轴发出相互协调的位置命令或指令脉冲。这种计算,就称为插补。
直线和圆弧是构成零件轮廓的基本线条。大部分数控系统,都具有直线和圆弧插补功能。某些较高级的数控系统,还具有抛物线、螺旋线等插补功能。普通数控系统(硬接线数控系统),由专门完成插补计算的装置(插补器)完成插补功能。计算机数控系统(CNC)和微机数控系统(MNC)由软件完成插补,或以软、硬件相结合的方式完成插补。数控系统常用的插补方法见表8.5-14。其中的脉冲增量插补,又称行程标量插补或标准脉冲插补,这种插补方法适用于以步进电机为驱动装置的开环数控系统,插补的结果以脉冲的方式输给驱动系统,驱动各坐标轴步进电机协调运行。一个脉冲所产生的沿坐标轴的移动量,称为脉冲当量,是脉冲分配的基本单位,通常用δ表示,普通数控机床一般选用δ=0.01mm/脉冲,较精密的数控机床选用δ=0.005mm/脉冲、δ=0.0025mm/脉冲或δ=0.001mm/脉冲等。而数据采样插补,又称时间标量插补,这种插补方法用于以伺服电机为驱动元件的计算机闭环(或半闭环)数控系统。插补周期可以与位置反馈采样周期相同,也可以是位置反馈采样周期的若干倍。在前一种情况下,插补程序在每个采样周期中被调用一次,算出坐标轴在一个周期中的增量值(而不是脉冲),得到坐标轴相应的指令位置,与通过位置采样所获得的坐标轴实际位置(数字量)进行比较,求得跟随误差。位置伺服软件将根据跟随误差算出坐标轴当前的进给速度,输给驱动装置。
表8.5-14 常用的插补方法
4.4.1 数字脉冲乘法器法
数字脉冲乘法器法易于实现多坐标联动,且设备简单,但只适用于直线插补。如图8.5-59所示,数字脉冲乘法器由脉冲源、二进制比例脉冲乘法器(BRM)、坐标寄存器(被乘数)、均匀器和倍频器等部分组成。其中的二进制比例脉冲乘法器亦即脉冲分配器。若在给定的时间T内,最后一级触发器发生一次翻转,即溢出一个脉冲,则或门输出的总脉冲为
S=20+21+22+…+2n-2+2n-1
所有输出脉冲在时间上是不重叠的。而比例脉冲乘法器的乘法门(与门)受存放在坐标寄存器中的二进制数(被乘数)A=an-1…a2α1a0控制。αl是二进制数的一位,只有“0”和“1”两种状态。显然,只有为“1”时,乘法门才被打开,才有脉冲输出。考虑被乘数后,在T时间内或门输出的总脉冲数为S=20a0+21ai+22a2+…2n-1an-1=A
图8.5-59 数字脉冲比例乘法器原理
若在给定的时间T内,最后一级触发器发生M次翻转(溢出M个脉冲),则或门输出的脉冲总数应为S=M·A。该式表明,在T时间间隔内,脉冲乘法器输出的脉冲总数为存放在坐标寄存器中的二进制数与溢出的脉冲数M的乘积。
图8.5-60所示是四位分频器(A=5、M=1)脉冲乘法器输出的情况。输出脉冲是不均匀的。为增加输出脉冲的均匀度,设置了均匀器。均匀器实际是一二进制分频器,常采用二级或三级(分频系数为4或8)。增设均匀器后,输出脉冲总数将变少。例如,加二级均匀器后,输出脉冲总数为S/4。为保持输出总脉冲数不变,需将主分频器的容量扩大,即加设倍乘器。倍乘器的级数和均匀器的级数相等。增加倍乘器后,进给速度(输出脉冲频率)将降低。为保证进给速度不变,应加大CP脉冲的频率。例如,二级倍乘器需将CP脉冲频率扩大4倍。
图8.5-60 四位分频器脉冲乘法器输出
以上所述的二进制脉冲乘法器可完成一个坐标轴控制。若进行多坐标轴控制,只需配相应的脉冲乘法器套数即可。
用Z80CTC芯片可实现BRM功能。Z80CTC具有四个独立的定时/计数通道,每个通道可工作于定时工作方式或计数工作方式,可由程序加以选择。其中三个通道(通道0、1、2)具有“计数回零”/“时间到”(ZC/TO)输出信号,可作为控制信号。当CTC设定为计数方式时,减法计数器由外部脉冲源控制减数,每当该通道CLT/TRG端输入一个脉冲,便使减法计数器减1。减法计数器减到零时,该通道的ZC/TO端便输出一个控制脉冲。CTC带有一个8位时间常数寄存器,由CPU通过程序对该寄存器置数。在计数状态下,如果时间常数不改变,则CTC将按预置的时间常数分频工作。由于CTC的时间常数只有8位,若用CTC的一个通道控制一个坐标轴,则斜率范围会受到限制。例如,在两坐标联动的情况下,直线终点坐标为(Xe、Ye),将X轴CTC通道的时间常数设为Ye,Y轴CTC通道的时间常数设为Xe,则Y轴与X轴输出脉冲数之比为Ye/Xd,其插补斜率为
获得的斜率范围为1/256~256,α角的范围为0.2238°~89°。为扩大斜率范围,可采用两通道串联的工作方式,使直线斜率范围扩展到(1/256)2~2562,α范围扩展到0.00087°~89.999°,基本上满足机床加工要求。利用CTC代替BRM工作,由于可编程特性,使其具有更大的灵活性,且输出脉冲是均匀的。此外,利用CTC实现BRM功能的插补程序十分简单,其主要工作包括根据坐标值计算出CTC的时间常数,发出相应控制指令,判断终点等。
4.4.2 逐点比较插补法
逐点比较法亦称区域判别法、代数运算法、醉步式近似法,采用这种方法可以实现直线插补。圆弧插补和非圆二次曲线插补,最大偏差不超过一个脉冲当量。
采用逐点比较法,为缩小偏差,每走一步都要将加工点的瞬时坐标与规定的图形轨迹相比较,判断其偏差,决定下一步的走向。如果加工点在图形外面,则下一步向图形里面走;若加工点在图形里面,则下一步向图形外面走。采用逐点比较法,每进给一步需要四个节拍:1.通过偏差符号判别加工点是在规定图形的里面还是外面;2.根据偏差情况,控制坐标进给,使加工点向规定图形靠拢;3.进给一步后,计算加工点与规定图形的新偏差,作为下一步偏差判别的依据;4.进给一步后判别是否到达终点,以便决定是否停止插补。
平面直线的产生:如图8.5-61所示,定义Fij为动点P(xt,yf)的偏差函数(特征量),
图8.5-61 第一象限直线
Fij=yjxe-yexi (8.5-23)
式中 xt、yj分别为动点P的x轴、y轴坐标分量;xa、ye为终点A的坐标分量。
当Fij>0时,P点在直线上方。为使偏差减小,应向x方向走一步,此后有:
将Fij=0归于此种情况。
当Fij<0时,P点在直线下方。为使偏差减小,应向y方向走一步,此后有:
yj+1=yj+1 (8.5-26)
Fi,j+1==yj+1xe-yexi=(yj+1)xa-yaxt
=(yjxe-yexi)+xe=Fij+xe (8.5-27)
平面圆弧的产生:图8.5-62所示为第一象限逆圆弧,定义Fij为偏差函数:
图8.5-62 第一象限逆圆弧
式中 R为圆弧半径,xt、yj分别为动点P的x轴、y轴坐标分量。
当Fij≥0时,应该向-x方向走一步,此后有:
xl-1=xt-1 (8.5-29)
Fi-1,i=(xt-1)2+-(+)
=Fij-2xj+1
当Fij<0时,应该向y方向走一步,此后有:
yj+1=yj+1
Fi,f+1=+(yf+1)2-(+)=Fff+2yf+1 (8.5-30)
除第一象限直线和第一象限逆圆弧外,还有其它象限的直线及各象限的顺圆、逆圆、通常的处理方法是:将各象限的直线插补公式统一到第一象限的直线插补公式,将各象限顺、逆圆弧的插补公式统一到第一象限逆圆弧的插补公式。在脉冲输出时,再根据象限、线型的不同,确定进给的坐标轴和进给方向。图8.5-63所示为各象限直线插补的进给情况,图8.5-64所示为各象限顺圆和逆圆的插补进给情况,其中NR表示逆圆弧,SR表示顺圆弧。由图可以总结出各象限直线、逆圆和顺圆的插补进给方向和坐标,见表8.5-15。
图8.5-63 直线插补进给方向
图8.5-64 圆弧插补进给方向
表8.5-15 插补进给坐标与方向
终点判别的方法有以下几种:
①插补计算前,将两坐标进给长度分别存于相应存储器中。在插补过程中,沿某坐标移动一步,相应存储器中的数减1。两存储器中的数均为零时,表明已到达终点。
②插补计算前,将两坐标进给的总长度存于存储器中。在插补过程中,不管哪个坐标移动一步,存储器中的数都减1,直至减到零时,表明已到达终点。
③选取进给长度较长的坐标轴作为终点判别坐标轴,并将该坐标进给长度存于存储器中。在插补过程中,每当沿该坐标走一步,便从存储器中的数中减1,直至存数减到零,表明已到达终点。
在逐点比较法插补过程中,不是向x坐标发脉冲,就是向y坐标发脉冲。设进给脉冲频率为fc,δ为脉冲当量,则f。=fx+fy,两坐标的进给速度分别为Vx=60δfx、Vy=60δfy,合成进给速度为
脉冲按平行于某一坐标轴分配(fx=0或fy=0)时,具有最大速度,这一速度由进给脉冲的频率决定,
即
Vc=60δfc (8.5-32)
进而可以得到合成进给速度与最大进给速度的关系为:
可见。插补速度的变化范围为(1~0.707)Vc,最大速度与最小速度之比为1.414。这样的速度变化范围可以满足一般机床的要求。
逐点比较法直线插补流程如图8.5-65所示。数据准备工作主要是进行数据、符号分离,符号(存于RL、RM寄存器中)用于确定进给方向、坐标交换判别等,分离的数据以原码表示。从表8.5-15可以看出,只是第二。四象限需要进行坐标交换。象限的判断,可通过坐标数据的符号完成,即两坐标数据符号相同为一、三象限,否则为二、四象限。进行坐标交换处理之后,应进行插补前的数据准备,即将有关数据放入相应的寄存器中,并将偏差函数寄存器清“0”。所设置的寄存器如下:
LC(MC)-x坐标(y坐标)终点判别寄存器;
LR(MR)-x方向(y方向)递推项寄存器;
F-偏差函数寄存器。
图8.5-65 逐点比较法平面直线插补流程
插补过程中,通过判别LC(MC)是否为“0”,确定是否到达终点。到达终点后,设置“插补完成标志”。x和y坐标的“插补完成标志”均为“1”时,表示已到达终点。向x轴发脉冲时,方向由RL确定。当RL为正时,向正x方向发脉冲;RL为负时,向负x方向发脉冲。向y轴发脉冲时,方向由RM确定。坐标交换后,进给的坐标轴也需交换,向x轴发脉冲变成向y轴发脉冲,向y轴发脉冲变成向x轴发脉冲。
图8.5-66所示为在一个象限内进行插补的情况。首先进行坐标交换处理。由表8.5-15可以看出,顺圆第一、三象限及逆圆第二、四象限需进行坐标交换。直线插补的递堆增量是常量,圆弧插补的递堆增量是变量:
LRi=-2xt+1 (8.5-34)
MRf=2yj+1 (8.5-35)
x方向走一步,LRi的变化为:
LRi-1=-2(xi-1)+1=LRt+2 (8.5-36)
y方向走一步,MRj的变化为
MRj+1=2(yj+1)+1=MRj+2 (8.5-37)即在每走一步后,计算新偏差函数前,先分别在RL、RM寄存器中加2。LR、MR寄存器的初始值应为:
LR0+1=-2(x0+1)+1=-(2x0+1) (8.5-38)
MR0-1=2(y0-1)+1=2y0-1 (8.5-39)
与直线插补的情况不同,圆弧插补的终点判别值为起点坐标值与终点坐标值之差,即
LC=x0-xe (8.5-40)
MC=yc-y0 (8.5-41)
圆弧插补的过象限:自动过象限是圆弧插补的特有问题。x0与xa或y0与ye的符号不一致,说明起点和终点不在同一个象限内,需要过象限。如果x0与xe符号一致,y0与ya的符号也一致,但x0-x。和ye-y0(对第一象限逆圆,其它情况需考虑坐标转换)出现负值,则也需过象限。这种情况往往需要过四次象限,作五次插补,才能到达终点。
判断自动过象限需用数据符号。对于零值,在穿孔纸带或工艺文件上总冠以正号,经数据预处理后的零值也冠以正号。为了进行自动过象限的判断,必须根据具体情况确定零值的符号。例如,有一点(x、0),此点一定在x轴上。在逆圆的情况下,如果该点是插补的起点,则这点应属于第一象限,其坐标x0=x,y0=0,这时y0的符号应为正。如果这点是插补的终点,则在插补过程中是从第四象限逐步走到这点上,这时y。尽管是零,但其符号应是负的。x为正、y为负,说明终点在第四象限。其它情况类推。
图8.5-67所示是自动过象限流程。由于圆弧插补存在过象限问题,故坐标数据需有备份。判别过象限前,需进行边界处理。需要过象限时,设置过象限标志。把起点所在象限的边界点(走出本象限的一点)作为本次插补的终点,同时作为下个象限继续插补的起点,连同原来的终点坐标作为后续插补计算的一组数据放在缓冲区。对当前插补数据进行一次插补。然后检查标志,若处于设置状态,表明还要进行后续的插补计算。取出存放在缓冲区中的数据,再进行过象限判断和处理。直至判定不需过象限时,清标志,再作插补计算。插补结束,照例检查标志。当标志已被清除时,整个圆弧插补结束。
图8.5-66 逐点比较法平面圆弧插补流程
图8.5-67 自动过象限流程
4.4.3 数字积分插补法
采用数字积分法插补,脉冲分配均匀,易实现多坐标直线插补,能够描绘出各种平面函数曲线,因此在轮廓控制数控系统中得到广泛应用。其缺点是速度调节不方便、插补精度需要采取一定措施才能得到满足。不过采用软件实现数字积分插补时,上述缺点很容易得到克服。
根据积分学的基本原理,函数x=f(t)在0至τ区间的积分就是函数曲线与横坐标t在0~τ段间所围成的面积。可以近似看成是该曲线下面的许多小矩形面积之和,如图8.5-68所示,即
图8.5-68 矩形公式的含义
亦即积分运算可以近似地化成求和运算。在Δt取得足够小的情况下,这种近似计算可以保证足够的精度。
现设置一寄存器,用以存放x值,再设置一具有累加功能并能存放累加结果的累加寄存器。每当Δt出现一次,x寄存器中的x值就与累加寄存器∑x中的数相加,并将结果存放在累加寄存器∑x中。若累加寄存器的容量为一个单位面积ΔS,x寄存器和累加寄存器有着同样的容量,则相加后超过累加寄存器的容量(一个单位面积),必然溢出一个ΔS。将ΔS汇总起来就是总面积S,即积分值。
数字积分器也称数字微分器DDA(Digital Differential Analyzer)。
直线插补:对于图8.5-69所示直线,其终点坐标为(xa,ye),动点沿x、y坐标的速度为Vx,Vy。动点沿x、y坐标移动的微小增量可以表示为:
Δx=VxΔt (8.5-43)
Δy=VyΔt (8.5-44)
对于直线,Vx、Vy为常数,因此下式成立
式中K为比例常数。因而可得
Δx=VxΔt=KxaΔt (8.5-46)
Δy=VyΔt=KyaΔt (8.5-47)
图8.5-69 数字积分器直线插补
可以把动点从原点走向终点的过程看作为x、y坐标每经过一个单位时间间隔Δt分别以Kxe、Kye同时累加的结果。据此可以作出如图8.5-70所示的完成直线插补的数字积分器。其主要部件是余数寄存器和被积函数寄存器,每个坐标一套。在累加脉冲Δt的作用下,被积函数寄存器中的数与相应余数寄存器中的数相加,溢出作为相应轴的进给脉冲,余数则存在余数寄存器中。图b)是用积分器逻辑符号表示的直线插补积分器。设经过m次累加达到终点,则
图8.5-70 直线插补数字积分器示意图
由上式可见,m·K=1。只有m=1/K,经过m次累加,x、y坐标分别到达终点(xa、ya),溢出的脉冲总数才为x=xa,y=ye,而m一定为整数。可见,K必为小数。关于K的选择,主要考虑使每次增量Δx和Δy不大于1,以保证每次分配的进给脉冲不超过1个,即使下式成立
Δx=Kxa<1,Δy=Kya<1
其中,xa、ya的最大允许值受被积函数寄存器容量的限制。假定寄存器有n位,则xa、ye的最大允许寄存容量为2n-1。若取K=,则必定满足
在这样的选择下,动点从原点到达终点的累加次数m==2n。在实际应用中,只将xa、ya分别存入被积函数寄存器,将K省略。这样作的理由是,因为K=,所以Kxe由xe除以2n得到。对于二进制数,除2n只是将小数点向左移n位,因此,一个n位寄存器存放xe和存放Kxe其数字是一样的,只是对于Kxe认定小数点出现在最左边,对于xe认定小数点出现在最右边。
圆弧插补:图8.5-71所示为第一象限逆圆的情况,下列关系成立:
图8.5-71 数字积分器圆弧插补
其中K为比例系数。因为切向速度V的大小不变,R为常数,所以K也为常数。在单位时间增量Δt内,x和y坐标移动的微小增量可以表示为
Δx=VxΔt=KyΔt (8.5-49)
Δy=VyΔt=KxΔt (8.5-50)
依以上两式,仿照直线插补,得到如图8.5-72所示的圆弧插补数字积分器。它和直线插补数字积分器的区别是:
图8.5-72 圆弧插补数字积分器
①被积函数寄存器中存的坐标值与直线的对应关系相反,即x坐标的被积函数寄存器存y坐标的数值,y坐标的被积函数寄存器存x坐标的数值。
②直线插补时,被积函数寄存器存的是终点坐标值(常值)。而圆弧插补时,被积函数寄存器存的是动点坐标值(变量)。在插补过程中,随着动点位置的变化,被积函数寄存器中的数值也随之变动。开始插补时,x、y坐标的被积函数寄存器JVx(y)、JVy(x)分别寄存起点坐标值y0、x0。在插补过程中。y坐标余数寄存器JRy溢出一个脉冲Δy,JVx(y)中的数值加1;x坐标余数寄存器JRx溢出一个脉冲Δx,JVy(x)中的数值减1。
其它象限的逆圆和各象限的顺圆的运算过程及积分器结构,基本上与第一象限逆圆相同,其区别仅在于各坐标的进给方向不同,修改JVx(y)、JVy(x)内容时的加、减规律不同,见表8.5-16。
表8.5-16 各象限数字积分圆弧插补规律
终点判别:数字积分器直线插补的终点判别可以采用与积分器中寄存器的位数相同的终点计数器。插补前,将计数器清零。插补时,每进行一次插补,计数器加1。当计数器计满,高位有溢出时,插补结束。而数字积分器圆弧插补的终点判断,是采用两个减法计数器,分别存|xe-x0|、|ye-y0|,x或y积分器每输出一个脉冲,相应的减法计数器减1,两个计数器均为“0”时,插补结束。
左移规格化处理:数字积分器插补的速度与累加脉冲频率fc成正比;与余数寄存器的容量N成反比;与直线段长度L(若圆弧则为半径)成正比。可用下面的关系式表示:
式中的L=。用数字积分器进行直线插补,每个程序段的时间间隔固定不变。这是因为不论加工行程长短,都必须同样完成m=2n次累加运算。这就是说,行程长走刀快,行程短走刀慢,行程的变化范围在0~2n,因此合成速度的变化范围为V=(0~1)Vc。这样大的变化范围是不允许的,而且行程越短,生产率越低。为此,需进行左移规格化处理。其具体做法是:使两个被积函数寄存器中的数同时左移,直至其中任一坐标的被积函味两坐数寄存器数前的“0”全部移出为止。同时左移,意标的脉冲分配速度扩大同样倍数,但二者的数值比不变,即斜率不变。左移规格化处理后,保证至少一个坐标累加两次必有一次溢出。
被积函数寄存器中的数每左移一位,数值便扩大一倍。为使分配脉冲数保持不变,累加次数应减少一倍,为此应使终点判别计数器的长度缩短一位。因此,被积函数寄存器中的数左移的同时,将1信号从终点判别计数器高位移入,进行右移。左、右移位数应该相同。
左移规格化的结果,使寄存器中数值变化的范围缩小,亦即L的变化范围缩小。L可能的最小数是,当x=2n-1、y=0时,Lmin=x=2n-1。L可能的最大数是,当x=y=2n-1时,Lmax=x≈2n。其中n为寄存器字长。合成速度的最大值、最小值分别为:
其速度变化范围为V=(1.414~0.5)Vc,与未采取左移规格化时的速度变化范围相比,小多了。
对于圆弧插补,数字积分器的左移规格化处理,是使坐标值较大的被积函数寄存器的次高位为1。这是因为在圆弧插补过程中,被积函数寄存器中的数不断地进行修正。当进行加1修正时,数值不断增加。若在左移规格化处理中使最高位为1,则可能在加1修正后产生溢出。由于使次高位为1,故必须使被积函数寄存器的容量大于被加工圆弧半径的二倍。
在圆弧插补左移规格化处理中,左移Q位相当于坐标值扩大Q倍,亦即JVx(y)、JVy(x)寄存器分别变为2Qy、2Qx.这样,当JRy产生溢出时,JVx(y)寄存器中的数应改为
20(y+1)=20y+20
这表明JVx(y)应加2Q,而不是加1,即Jvx(y)的第Q+1位加1。对于JVy(x)也如此,第Q+1位减1。
在数字积分器插补之前,将余数寄存器预置某一个数(而不是零),可使积分器提前溢出。这在被积函数较小,迟迟不产生溢出的情况下,具有很大的实际意义。它可以改善溢出脉冲的时间分布,减小插补误差。常用的预置数为最大容量值(111…11)或0.5(100…00)。预置0.5称为“半加载”。半加载可以使直线插补的误差减小到半个脉冲当量以内。半加载也就是进行“四舍五入”。
余数寄存器预置数对圆弧插补更具有意义。数字积分器圆弧插补的误差有可能大于一个脉冲当量。这是由于数字积分器溢出脉冲的频率与被积函数寄存器的存数成正比,当插补发生在坐标轴附近时,一个积分器的被积函数接近于零,而另一个积分器的被积函数接近最大值(圆弧半径)。这样,后者可能连续溢出,而前者几乎不发生溢出,两个积分器溢出脉冲的速率相差甚大,使插补轨迹偏离理论曲线。若给各积分器中的余数寄存器预置较半径小一个编程单位的数,可以使被积函数值较小的坐标轴提早产生溢出,使插补精度得到提高。
软件模拟数字积分器:用软件实现数字积分直线插补,只需在内存设定几个单元,用以存放xe、ye及其累加值∑xe、∑ye0。每次插补循环进行下面的计算:
∑xe+xa→∑xe;∑ye+ye→∑ye
用软件模拟数字积分器可以抛开硬件数字积分器的左移规格化的概念,不把溢出理解为进给。在进行被积函数值与累加值的加法运算后,把累加值与设定的溢出基值进行比较,通过比较指令或减法运算判断是否输出脉冲。对于直线插补,通常把位移量最大的坐标分量定为溢出基值。对于圆弧插补,则用插补段半径作为溢出基值,用软件实现数字积分圆弧插补,还应考虑时时对被积函数的修正。直线插补和第一象限逆圆弧插补的流程分别如图8.5-73和8.5-74所示。
图8.5-73 数字积分直线插补流程图
图8.5-74 数字积分圆弧插补流程图
4.4.4 比较积分法
这是将数字积分法和逐点比较法相结合而形成的一种插补方法,既具有数字积分法的能方便地实现多种函数插补和多坐标直线插补的优点,又具有逐点比较法的速度平稳、调节方便的优点。
由数字积分插补法的讨论可知,一个函数的定积分可以用矩形公式求和进行近似计算。
已知直线的终点坐标为xe、ya,可以列出直线方程:
对其求微分得
上式表明,x坐标每送出一个脉冲,积分值增加一个ya;y坐标每送出一个脉冲,积分值增加一个xa。为了得到直线,两个积分值必须相等。两个坐标轴的脉冲序列如图8.5-75所示。以时间间隔作为积分增量,x轴每隔一段时间ya发出一个脉冲,得到一个时间间隔ye;y轴每隔一段时间xe发出一个脉冲,得到一个时间间隔xa。x轴发出x个脉冲后的总时间间隔与y轴发出y个脉冲后的总时间间隔应该相等。因此可引入判别函数,定义为x轴脉冲总时间间隔与y轴脉冲总时间间隔之差,用F表示。
当x轴进给时, Fi+1=Fi+ya (8.5-53)
当y轴进给时, Fi+1=Fj-xa (8.5-54)
当x、y轴同时进给时, F件1=Fi-xa+ya (8.5-55)
图8.5-75 直线插补的脉冲序列
若F>0,表明x轴输出脉冲时间间隔超前(ya多发),则应控制y轴进给,进行xa的累加;若F<0,表明y轴输出脉冲时间间隔超前(xe多发)、则应控制x轴进给,进行ye的累加,如此进行下去,即可实现直线插补。
图8.5-76所示为第一象限逆圆弧A,起点坐标为A(x0,y0),终点坐标为B(xe、ye)。显然符合下列方程:
x2+y2=R2
即有 ydy=-xdx
用矩形公式求积,得
令Δx=Δy=1(即脉冲当量=1),xe=x0-m、ya=ye+n,作变量替换,得
其展开式为:
x0+(x0-1)+(x0-2)+…=y0+(y0+1)+(y0+2)+…
图8.5-76 第一象限逆圆弧
上式是公差分别为-1和+1的等差数列,圆弧就根据这组等差数列产生。根据上式可作出如图8.5-77所示的第一象限逆图弧进给脉冲分配序列。
图8.5-77 圆弧插补脉冲序列
第一、三象限逆圆和第二、四象限顺圆矩形求和公式为
第一、三象限顺圆和第二、四象限逆圆矩形求和公式为
为实现圆弧插补运算,也需引进判别函数,而且当x轴(y轴)发出进给脉冲后,还需对被积函数x(或y)作加1或减1修正。
其它二次曲线函数插补:设椭圆方程为
+=1 (8.5-60)
其第一、第三象限逆时针,第二、第四象限顺时针椭圆的矩形求和公式为
第一、第三象限顺时针,第二、第四象限逆时针椭圆的矩形求和公式为
设抛物线,双曲线方程分别为
其对称中心为坐标原点,焦点都在x轴上。它们的矩形求和公式分别为
直线及所述各二次曲线的矩形求和公式的不同处,在于x、y轴进给脉冲时间间隔等差数列的公差及x、y轴进给脉冲的时间间隔。对于直线,等差数列的公差为零;对于圆弧,等差数列的公差为±1。直线的坐标轴进给脉冲的时间间隔为固定值;而圆弧的坐标轴进给脉冲的时间间隔为变值。在插补流程图中,用A、B表示x、y轴的进给脉冲时间间隔。对于直线,A=ye,B=xe;对于圆弧A、B的初始值分别为x0和y0。
用Δx、Δy表示x、y轴是否有进给脉冲,“1”表示有,“0”表示没有。
采用比较积分法进行插补,应先确定基础轴。一般取脉冲间隔小(脉冲密度高)的轴,即A<B时取x轴为基础轴;A>B时取y轴为基础轴。每进行一次插补,基础轴都走一步,非基础轴是否同时走一步要由判别函数决定。如x轴为基础轴,当F≥0时,Δx=1,Δy=1;当F<0时,Δx=1,Δy=0。若y轴为基础轴,则当F≥0时,Δx=1,Δy=1;当F<0时,Δx=0,Δy=1。
坐标进给后,需计算新的偏差值Fe在A<B(即x轴为基础轴)的情况下,两轴同时进给时,Fi+1=Fi+A-B;仅x轴进给时,Fi+1=Fi+A。在A>B(即y轴为基础轴)的情况下,两轴同时进给时,Fl+1=Fi-A+B;仅y轴进给时,Fi+1=Fi+B。每次坐标进给后,对于二次曲线,需按等差数列的公差对A和B进行修正。圆弧的修正量为±1。加1或减1由所在象限及顺、逆圆弧确定。进行二次曲线插补时,还需对基础轴的改变作出判断。基础轴改变了,新偏差值F的计算也变了,相互差一符号。此外,每次进给后,都应进行终点判别。当x=xa、y=ya时,插补结束。
图8.5-78和8.5-79分别表示直线和圆弧插补的流程。图8.5-79所示为一个象限内的插补情况。超过一个象限的插补,需考虑过象限问题。过象限时,需对进给方向加以修正。
图8.5-78 比较积分法直线插补流程
图8.5-79 比较积分法圆弧插补流程
4.4.5 直接函数运算(DFB)插补法
直接函数运算法和逐点比较法类似,都是一种代数运算方法。其不同点在于逐点比较法的进给方向为x方向或y方向,而直接运算法的进给方向为沿坐标轴或沿45°方向。直接运算法可以通过插补方向的试算进一步减少插补误差。
直线插补:直接函数运算法将直角坐标系的每个象限都用45°斜线划分成两个区域,共有八个区域,称为八个卦限,用0~7表示。各个卦限的插补运算都可按0卦限的插补运算进行,只是各卦限的进给坐标及方向有所不同。图8.5-80所示为0卦限中的直线,终点A的坐标为(xe,ye)。引入偏差函数Fij,即Fij=yjxe-xiya。动点在直线上方时,F;j>0;动点在直线上时,Fij=0;动点在直线下方时,Fij<0。当Fij≥0时,应向+x方向进给一步,新的偏差函数为
Fi+1,j=yjxa-(xi+1)ya=Fij-ya (8.5-67)
当Fij<0时,应向+x,+y同时进给一步,新的偏差函数为
Fl+1,j+1=(yj+1)xa-(xt+1)ye=Fij+xa-y (8.5-68)
图8.5-80 0卦限直线
因为插补从坐标原点开始,所以Fij的初始值为“0”。只在x方向(沿坐标轴方向)进行终点判别即可。当xi=xa时,到达终点,插补结束。
不同卦限直线插补的坐标变换及进给方向如图8.5-81所示,将其归纳后见表8.5-17。
图8.5-81 不同卦限的进给坐标及方向
表8.5-17 不同卦限的进给坐标及方向
为了减小插补误差,可对两个可能的进给方向作试算和比较,选择误差较小的方向进给。如上所述,向x轴进给一步的偏差函数为Ft+1,j;向x、y轴同时进给一步的偏差函数为Fi+1,j+1。对它们的绝对值进行比较,当|Fi+1,j|≤|Fi+1,t+1|时应向x轴进给;当|Ft+1,j|>|Fi+1,j+1|时应向x、y轴各进给一步。采用试算选择进给方向可使插补精度提高一倍左右,但运算时间将略有增加。直接函数运算直线插补框图如图8.5-82所示。
图8.5-82 直线插补框图
圆弧插补:也划分为八个卦限,各卦限内的圆弧插补都统一用0卦限的插补公式运算。每个卦限中又分为顺圆插补和逆圆插补两种情况。实际脉冲进给方向根据卦限和圆弧走向确定。对于如图8.5-83所示0卦限逆圆弧,可引入偏差计算函数
Fij=+-R2
图8.5-83 0卦限圆弧
当Fij>0时,动点在圆外,应同时向+y,-x走一步。走一步后,
xi-1=xj-1 (8.5-69)
yf+1=yj+1 (8.5-70)
Fi-1,j+1=(xi-1)2+(yj+1)2-R2
=Fjj-2xj+2yj+2 (8.5-71)
当Fij≤0时,动点在圆内或圆上,应向+y走一步。走一步后,
yj+1=yj+1 (8.5-72)
Ft,t+1=+(yt+1)2-R
=Fjj+2yj+1 (8.5-73)
对于0卦限的顺圆,当Fij>0时,动点在圆外,应向-y走一步。走一步后,
yj-1=yj-1 (8.5-74)
Fi,j-1=+(yj-1)2-R2
=Fij-2yj+1 (8.5-75)
当Fij≤0时,动点在圆上或圆内,应向+x,-y同时走一步。走一步后,
xj+1=xl+1 (8.5-76)
yj-1=yf-1 (8:5-77)
Ft+1,j-1=(xi+1)2+(yj-1)2-R2
=Fij+2xi-2yf+2 (8.5-78)
总结各象限逆、顺圆进给坐标及方向见表8.5-18。由表可以看出,偶数卦限的逆时针圆弧及奇数卦限的顺时针圆弧,可按0卦限逆时针圆弧的插补规律进行插补运算,偶数卦限的顺时针圆弧及奇数卦限的逆时针圆弧,可按0卦限顺时针圆弧的插补规律进行插补运算。此外,第1、2、5、6卦限的圆弧插补应先进行坐标变换。圆弧插补框图如图8.5-84所示。
表8.5-18 图弧插补坐标变换及进给方向
图8.5-84 圆弧插补框图
4.4.6 时间分割法
这种方法,是根据进给速度计算出插补周期的轮廓进给步长f,然后进行插补计算,输出各联动坐标轴的周期进给增量。
如图8.5-85所示直线,起点为坐标原点,终点为A(xa,ya)。插补的任务是根据程编进给速度F、终点坐标值xe和ya计算出插补周期Δf中各坐标轴的位移量,即
图8.5-85 时间分割法直线插补每进行一次插补,输出一组段值Δx、Δy,坐标值减去段值即为剩余值。当剩余值小于段值时,说明已是本程序的最后一次插补。
时间分割法圆弧插补,实质上是求在一次插补周期时间内各坐标轴的进给量。以第一象限顺圆为例,如图8.5-86所示,图中AtAt+1为一插补周期的进给步长f,AtP是At点的切线,R为AiAi+1弦的中点,δ角为进给步长f对应的角增量,称为角步距。
∵ ΔAtOD~ΔPAiF
∴ ∠PAiF=∠AtOD=φt
又
∠PAtAi+1=∠AtOB=∠AtOAt+1=δ
∴ α=∠PAtAi+1+∠PAtF=Φt+δ
只要求出Δx,Δy就可依下式求出新的插补点坐标
图8.5-86 时间分割法圆弧插补
但在式(8.5-81)中,由于存在未知数cosα、sinα,故难以求解。为此,以cos45°代替cosα,sin45°代替sinα,即
显然,这里造成了误差,在α=0°处且进给速度较大时偏差较大。但这一近似算法能够保证圆弧插补每一瞬时点位于圆弧上,它仅造成每次插补进给量f的微小变化,进给速度的变化小于指令进给速度的1%,因此是可行的。
依式(8.5-84),可求出Δx和Δy为
Δx=fcosα, (8.5-85)
Δy=Δx·tgα (8.5-86)
4.4.7 扩展数字积分法
扩展数字积分法是在数字积分法的基础上发展的,具有较高的精度和运行速度,易于扩展到多坐标轴控制。
图8.5-87所示为一直线段,起点为A0(x0,y0),终点为Ae(xe,ya)。设在T时间内走完线段A0Ae,则刀具的位置坐标:
图8.5-87 扩展数字积分直线插补
将时间T区间用插补周期Δt分割为ye个子区间(取n≥最接近的整数),于是可得
不难得出扩展数字积分直线插补的迭代公式
直线插补中,每次迭代形成一个子线段,其斜率为
与给定的直线斜率相等,从而可保证轨迹要求。其中Δx和Δy是轮廓步长的轴向分量,即
式中 y为编程进给速度(mm/min);FRN为进给速度数,即;Δt为插补周期(ms);λd为步长系数(Δt·FRN)。
直线插补时,预先计算出坐标轴步长Δx、Δy,然后可依迭代公式完成插补。
扩展数字积分圆弧插补的迭代公式为
只需求得Δxt+1和Δyt+1,就可计算出经过一插补周期后刀具达到的坐标位置。图8.5-88所示为第一象限顺圆弧的情况。圆心位于坐标原点,圆弧方程为x2+y2=R2,刀具的起始位置为At(xt,yf),经过一个插补周期Δt,刀具沿切线进给,步长为f,移动到Ci+1点。为缩小径向误差,通过AiCt+1线段中点B作半径为OB的圆弧的切线B+1,再通过Ai点作B+1的平行线,并截取AiAi+1=ACi+1=f(可以证明Ai+1点必不在圆弧内侧),以AtAt+1作为在一个插补周期内刀具的进给。由图可见,直角三角形OFB与直角三角形AtDAi+1相似,因而有
图8.5-88 第一象限顺圆弧插补
其中,DAt+1=Δxi+1;AtAt+1=f=VΔt(设在一个插补周期At内的进给速度均为V)。
在直角三角形AtF′B中,AtF′=AtB·sinα=fsinα,因此OF=AiE-AiF′=yf-fsina。
在直角三角形OAiB中,OB==,故有
在直角三角形OEAt中,
代入上式得
由于f《R,可将(f)2项略去
式中 λd=出,相当于角步距。
由两个相似三角形ΔOFB和ΔAtDAt+1,还可得到
由直角三角形AtF′B得 F′B=AiB·cosα=·f,又FF′=xt,AlAi+1=f=VΔt,OB=,故有
略去(f)2项后得
第一象限顺圆,
xi+1=xi+Δxi+1 (8.5-101)
yj+1=yj-Δyf+1 (8.5-102)
利用上面得到的公式求出Δxt+1和Δyf+1后,很容易得到经过一个插补周期后刀具的坐标位置。