您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页轮廓插补原理——逐点比较法

轮廓插补原理——逐点比较法

来源:爱go旅游网


第二节 逐点比较法

逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具沿着坐标轴向减小偏差的方向进给,且只有一个方向的进给。也就是说,逐点比较法每一步均要比较加工点瞬时坐标与规定零件轮廓之间的距离,依此决定下一步的走向,如果加工点走到轮廓外面去了,则下一步要朝着轮廓内部走;如果加工点处在轮廓的内部, 则下一步要向轮廓外面走,以缩小偏差,周而复始,直至全部结束,从而获得一个非常接近于数控加工程序规定轮廓的刀具中心轨迹。

逐点比较法既可实现直线插补,也可实现圆弧插补。其特点是运算简单直观,插补过程的最大误差不超过一个脉冲当量,输出脉冲均匀,而且输出脉冲速度变化小,调节方便,但不易实现两坐标以上的联动插补。因此,在两坐标数控机床中应用较为普遍。 一般来讲,逐点比较法插补过程每一步都要经过如图3-1所示的四个工作节拍: (1)偏差判别 判别刀具当前位置相对于给定轮廓的偏差情况,即通过偏差值符号确定加工点处在理想轮廓的哪一侧,并以此决定刀具进给方向。

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

(3)偏差计算 刀具进给一步后,针对新的加工点计算出能反映其偏离理想轮廓的新偏差,为下一步偏差判别提供依据。

(4)终点判别 每进给一步后都要判别刀具是否达到被加工零件轮廓的终点,若到达了则结束插补,否则继续重复上述四个节拍的工作,直至终点为止。

图3-1 逐点比较法插补工作流程图 下面就对逐点比较法直线插补和圆弧插补的基本原理及其实现方法进行详细介绍。

一、逐点比较法I象限直线插补 (一)基本原理 设第一象限直线OE,起点为坐标原点O(0,0),终点为E(Xe,Ye),另有一个动点为N(Xi,Yi),如图3-2所示。其中,各个坐标值均是以脉冲当量为单位的整数,以便于后面的推导与讲解,并且在脉冲增量式插补算法中都是这样约定的。

图3-2 第Ⅰ象限动点与直线之间的关系

当动点N正好在直线OE上时,则有下式成立: YiYe XiXe即

(3-1a)

XeYi—XiYe=0 (3-1b)

当动点N处于直线OE的下方N′处时,直线ON的斜率小于直线OE的斜率,从而有

YiY<e (3-2a) XeXi

即 XeYi—XiYe<0 (3-2b) 当动点N处于直线OE的上方N″处时,直线ON的斜率大于直线OE的斜率,从而有

YiY >e (3-3a)

XiXe即 XeYi—XiYe>0 (3-3b) 由上述关系可以看出,表达式(XeYi—XiYe)的符号就能反映出动点N相对直线OE的

偏离情况,为此取偏差函数F为

F=XeYi—XiYe (3-4)

根据上述过程可以概括出如下关系:

当F=0时,动点N(Xi,Yi)正好处在直线OE上; 当F>0时,动点N(Xi,Yi)落在直线OE上方区域; 当F<0时,动点N(Xi,Yi)落在直线OE下方区域。

假设要加工如图3-3所示的直线轮廓为OE,动点N(Xi,Yi)为刀具对应的切削位置。显然,当刀具处在直线OE的下方区域(即F<0=时,为了减小动点相对直线轮廓的偏差,则要求刀具向+Y方向进给一步;当刀具处在直线OE的上方区域(即F>0)时,为了减小动点相对直线轮廓的偏差,则刀具应向+X方向进给一步;当刀具正好处在直线上(即F=0),且刀具尚未到达直线轮廓的终点时,在理论上既可要求刀具向+X方向进给一步,也可要求其向+Y方向进给一步。但一般情况下,不妨约定当F=0时刀具向+X方向进给一步,从而使F>0和F=0两种情况统一起来,即F≥0。

图3-3 第Ⅰ象限直线插补轨迹

根据上述原则,从原点O(0,0)开始,刀具每走一步之前,需判别F的符号,以确定趋近直线的进给方向,随后计算一次F,步步前进,直至终点E。由此可见,采用逐点比较法插补可控制刀具走出一条尽量接近零件直线轮廓的轨迹,如图3-3所示的折线。显然,脉冲当量的大小与折线逼近零件轮廓的程度有关,脉冲当量越小,折线的逼近程度越高,反之越低。 由式(3-4)可以看出,在计算F时,总是要作乘法和减法运算。在用硬件或汇编语言软件实现时不太方便,还会增加运算时间。因此,为了简化运算,通常采用递推算式来求取F值,即每进给一步后,新加工点的偏差值总是通过前一点的偏差值递推算出来的。 现假设第i次插补后,动点坐标为N(Xi,Yi),偏差函数为

Fi=XeYi—XiYe

若Fi≥0,刀具应向+X方向进给一步,新的动点坐标值为

Xi+1=Xi+1, Yi+1=Yi

则新的偏差函数为

Fi+1=XeYi+1—Xi+1Ye=XeYi—XiYe-Ye

∴ Fi+1=Fi—Ye (3-5) 同理,当Fi<0时,刀具应向+Y方向进给一步,新的动点坐标值为

Xi+1=Xi, Yi+1=Yi+1

对应的新偏差函数为

Fi+1=XeYi+1—Xi+1Ye=XeYi—XiYe+Xe

∴ Fi+1=Fi+Xe (3-6) 由式(3-5)和式(3-6)可以看出,采用递推公式计算偏差函数F,将不涉及动点坐标与乘法运算,仅与直线的终点坐标以及前一点的偏差函数值有关,并且算法简单,易于实现。

要说明的是,通过坐标平移的方式可以使每个直线轮廓段的起点总处在坐标系的原点上。另外,在开始加工之前,应通过人工方式将刀具移至加工起点,这一过程称为“对刀”。由于刀具就在直线上,因此,偏差函数的初始值为F0=0。

综上所述,第Ⅰ象限的偏差函数与进给方向有以下关系:

当Fi≥0时,刀具向+X方向进给,新的偏差函数值为Fi+1=Fi—Ye 当Fi<0时,刀具向+Y方向进给,新的偏差函数值为Fi+1=Fi+Xe

在插补计算过程中,还有一项工作需要同步进行,即终点判别,以确定刀具是否抵达直线终点。如果到了就停止插补运算,否则继续作循环插补处理。

常用的终点判别方法有以下三种:

(1)总步长法 在插补计算之前,先设置一个总步长计数器,并将被插补直线轮廓在各个坐标轴方向上应走的总步数求出来,加在一起存入计数器中,即

Σ=|Xe|+|Ye| (3-7)

然后每插补计算一次,无论向哪个坐标轴进给一步,计数器都作减1修正,这样当总步数减到零时,则表示刀具已经抵达直线轮廓的终点。

(2)投影法 与总步长法相似,将被插补直线轮廓终点坐标值中较大的那一个轴总步数求出,并存入计数器中,即

Σ=max{|Xe|,|Ye|} (3-8)

然后在插补过程中,每当终点坐标值较大的那个轴进给一步,相应计数器就作减1修正,直至为零,则表示刀具到达直线轮廓的终点。

(3)终点坐标法 在插补运算之前,先设置两个步长计数器,分别记录被插补直线轮廓在两个坐标轴方向上应走的总步数,并存入各自的计数器中,即

Σ1=|Xe|, Σ2=|Ye| (3-9)

然后在插补过程中,每当+X方向进给一步,计数器Σ1就减1修正一次;每当+Y方向进给一步,计数器Σ2就减1修正一次。只有当两个步长计数器均为零时,则表示刀具到达直线轮廓的终点。

(二)硬件实现 早期的硬件数控系统是通过数字逻辑电路来实现逐点比较法插补运算的,但在现代计算机数控系统中,可以采用软件模拟硬件的控制逻辑来实现这种插补运算。近年来,有研究人员使用一种超大规模数字电路——现场可编程逻辑门阵列(Field Programmable Gates Array ,缩写为FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,缩写为CPLD)来实现这种插补。FPGA和CPLD最大的好处在于它既保留了硬件电路的运算速度快、插补运算思路清晰的优点,又克服了原有数字电路插补线路灵活性差的缺点。目前,在市场上已经可以买到基于PC总线并用FPGA或CPLD来实现插补运算的插补卡。这为高速插补运算提供了一个新途径。 下面针对硬件电路实现逐点比较法直线插补运算的基本原理作一个介绍。 由前面的分析可知,要实现逐点比较法直线插补,就必须随时保留偏差函数F、终点坐标E(Xe,Ye)、刀具行走步数Σ等参数,为插补计算提供必备的条件。为此,至少需要设置四个寄存器参与运算,它们是: JF ——偏差函数寄存器,用于存放每个动点对应的偏差值。

JX ——X坐标寄存器,用于存放X轴的终点坐标值Xe。 JY ——Y坐标寄存器,用于存放Y轴的终点坐标值Ye。

J——步长寄存器,用于存放加工过程中刀具在两坐标轴所走的总步数。

逐点比较法插补第一象限直线轮廓的硬件逻辑框图如图3-4所示。其中TG为运算开关触发器,JF、JX、JY均为移位寄存器,TF为偏差符号触发器,J为减1寄存器,T为终点触发器,Σ为全加器,DC为进位触发器,M为时序脉冲发生器,MF为控制进给速度的变频脉冲发生器。

由于加工时的进给速度是根据工艺要求确定的,而进给速度与MF的脉冲频率fMF又存在如下关系

F=60fMF  (3-10)

式中 F——加工进给速度(mm/min);

fMF——脉冲频率(HZ);

——脉冲当量(mm/step)。

可见,通过进给速度可以选择变频脉冲发生器MF的频率,反过来利用fMF可对进给速度实行控制。

图3-4 逐点比较法插补第Ⅰ象限直线的硬件逻辑框图

硬件电路插补前,要根据数控加工程序的有关信息对电路的各个部分进行初始化处理。具体内容有:[Xe]→JX、[-Ye]补→JY、|Xe|+|Ye|→J;JF、DC、T等清零;TG置位;设置变频脉冲发生器MF的频率为fMF=F/(60)。

在插补过程中,MF每发送一个脉冲,对应电路完成一次插补运算。当电路完成上述初始化工作后,运算控制信号可使开关触发器TG置1,即Q=1,将与门Y0打开,使变频脉冲发生器MF的控制脉冲经与门Y0送至时序脉冲发生器M。至此,插补运算的启动操作宣告完成。时序脉冲发生器M将产生四个先后顺序的脉冲序列分别为t1、t2、t3、t4,依次控制完成插补过程的偏差判别、坐标进给、偏差计算、终点判别四个工作节拍。具体过程如下:

第一个时序脉冲t1:完成偏差函数F的符号判别。当时序脉冲t1到达时,将与非门YF1、YF2中的一个打开,偏差函数寄存器JF的符号位经打开的与非门送至偏差符号触发器TF中,从而进行F的符号判别,为坐标进给、偏差计算作准备。其逻辑关系如表3-1所示。

表3-1 偏差符号判别电路真值表

符号状态控制门 偏差函数符号 YF1 0 1 YF2 1 0 符号判别结果 Q(TF) 0 1 Q(TF) 进给轴控制门 Y1 打开 封锁 Y2 封锁 打开 选择进给轴 F≥0 F<0 1 0 +X轴 +Y轴 第二个时序脉冲t2:完成坐标轴的进给控制。当时序脉冲t2到达时,根据t1判别的结果,控制相应坐标轴发出进给脉冲,同时使步长计数器J作减1修正。 当F≥0时,Y1输出1,Y2输出0,向+X进给一步,并使J-1→J,

当F<0时,Y1输出0,Y2输出1,向+Y进给一步,并使J-1→J。

第三个时序脉冲t3:完成偏差函数的计算。t3为移位脉冲序列,其数量等于参与运算的寄存器位数。至于当前的移位脉冲t3送往哪个寄存器,却由偏差符号触发器TF的状态决定。凡是允许移位的坐标寄存器,在t3每发送来一个移位脉冲时,将和偏差函数寄存器JF一道移出一位内容,进入全加器Σ进行加法运算,随后将运算结果回送至JF保存待用,直至t3

发送完本次插补计算的所有脉冲。另外,坐标寄存器存放的是终点坐标值,每一次插补运算其值都不变,因此,坐标寄存器为循环移位寄存器。全加器Σ只能作加法运算,至于减法可通过补码转化为加法。偏差计算的逻辑关系如表3-2所示。

表3-2 偏差计算电路真值表

符号判别结果 偏差函数符号 Q(TF) Q(TF) 0 1 1 0 移位控制门 加法运算控制门 Y3 0 1 Y4 1 0 Y5 1 0 Y6 0 1 加法运算Σ 进位DC F≥0 F<0 JF+JY+DC→JF JF+JX+DC→JF 0→DC 第四个时序脉冲t4:完成终点判别。首先将被插补直线轮廓的总步数置入步长寄存器J

中,然后每发一个进给脉冲,无论是X轴还是Y轴的进给脉冲,步长寄存器J都将减1修正,即脉冲t2使得J减1修正。一旦到达终点,J值减至零,同时对终点触发器T置1并保存,待终点判别时序脉冲t4到来时,由与非门YF3发出插补结束信号,使得运算开关触发器TG翻转为“0”,关闭时序电路,终止插补运算。若插补过程尚未到达终点,则T的Q(T=0,从而封锁了t4发来的插补结束脉冲,保证插补运算的正常进行,并等待下一个插补周期MF脉冲,进行新一轮的插补运算,如此循环直至终点。

(三)软件实现

逐点比较法软件实现实际上就是利用软件来模拟硬件插补的整个过程,显然它具有极大的灵活性,但插补的精度和速度受到控制系统中所用计算机的字长和运算速度等方面的。

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

图3-5 第Ⅰ象限逐点比较法直线插补软件流程图 与硬件插补相类似,在插补软件中也必须约定四组内存单元,分别存放偏差函数F、终点坐标Xe、Ye以及总步数Σ值。由于逐点比较法插补软件并不复杂,为了提高运算速度,可采用汇编语言来编写该软件。

现假设数控系统的脉冲当量=0.01mm/step,计算机字长为8位,则数控机床的最大可控行程为2.25mm。显然,这么短的行程不能满足加工的需要。若期望数控机床的最大可控行程达2m,脉冲当量仍为0.01mm/step,则2m行程对应的脉冲数为2×105,需要使用18位二进制数才能表示出来。因此,使用 8位字长是无法实现的。当然,改用 32位字长的计算机固然可以,但往往在现实中无法具备这一条件时,可利用三个8位字长的内存单元 (RAM) 来联合存放上述四组数据,只是在进行加/减运算时,必须借助于进位位 CY来完成三字节的联合加/减运算,这样势必造成插补运算时间的增加,最终影响加工速度。下面结合一个实例来说明上述插补软件的编程方法。

例3-1 设某数控系统使用MCS-51系列单片机作为CPU,请用汇编语言按图3-5所示的流程编写第Ⅰ象限直线插补运算程序。其中,偏差函数F、坐标∣Xe∣、坐标∣Ye∣、总步数Σ在内存中均占用三个字节,并且F采用补码形式,其余数据采用绝对值或正数,地址分配情况如表3-3所示。

表3-3 插补参数地址分配表

参数类型

偏差函数F 坐标值∣Xe∣ 坐标值∣Ye∣ 总步数Σ

存储地址 低字节地址 中字节地址 高字节地址 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 插补计算程序如下:

……………… ;插补准备

AGAIN: MOV A,12H ;取F的符号 JB ACC.7,LOOP ;若F<0,则转LOOP ACALL FEED_PX ;若F≥0,则向+X方向进给一步 ACALL SUBFYE ;修正F,F-Ye→F SJMP DONE ;转至总步数修正 LOOP: ACALL FEED_PY ;若F<0,则向+Y方向进给一步 ACALL ADDFXE ;修正F,F+Xe→F DONE: ACALL DELAY ;延时,保证进给速度 ACALL STEP_1 ;修正Σ,Σ-1→Σ MOV A,19H ;取总步数低字节 CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补

MOV A,1AH ;取总步数中字节

CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补

MOV A,1BH ;取总步数高字节

CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补 …………………… ;Σ=0,插补结束,转其他处理 在该插补程序中,先后调用过六个子程序,它们是: 1)FEED_PX——向+X轴方向进给一步子程序; 2)FEED_PY——向+Y轴方向进给一步子程序; 3)SUBFYE——修正F(F-Ye→F)子程序; 4)ADDFXE——修正F(F+Xe→F)子程序; 5)STEP_1——修正Σ(Σ-1→Σ)子程序;

6)DELAY——延时子程序,以保证给定的进给速度。

上述子程序的编写并不困难,读者可参阅有关资料自己完成。 (四)插补实例

例3-2 设欲加工第Ⅰ象限直线OE如图3-6所示,直线的起点O在坐标原点,终点为E(3,5)。试用逐点比较法对该直线进行插补,并画出插补轨迹图。

解:插补前应对偏差函数F、总步数Σ赋初值,则

F0=0;Σ0=3+5=8;Xe=3;Ye=5。

插补计算过程按四个工作节拍重复进行,见表3-4,插补轨迹如图3-6所示。

表3-4 逐点比较法直线插补运算过程

序 号 起点 1 工作节拍 第一拍 偏差判别 F0=0 第二拍 坐标进给 +ΔX 第三拍 偏差计算 F0=0 F1=F0-Ye=0-5=-5 第四拍 终点判别 Σ0=8 Σ1=Σ0-1=8-1=7

2 3 4 5 6 7 8 F1=-5 < 0 F2=-2 < 0 F3=+1 > 0 F4=-4 < 0 F5=-1 < 0 F6=+2 > 0 F7=-3 < 0 +ΔY +ΔY +ΔX +ΔY +ΔY +ΔX +ΔY F2=F1+Xe=-5+3=-2 F3=F2+Xe=-2+3=+1 F4=F3-Ye=1-5=-4 F5=F4+Xe=-4+3=-1 F6=F5+Xe=-1+3=+2 F7=F6-Ye=2-5=-3 F8=F7+Xe=-3+3=0 Σ2=Σ1-1=7-1=6 Σ3=Σ2-1=6-1=5 Σ4=Σ3-1=5-1=4 Σ5=Σ4-1=4-1=3 Σ6=Σ5-1=3-1=2 Σ7=Σ6-1=2-1=1 Σ8=Σ7-1=1-1=0 要说明的是,对于逐点比较法插补而言,在起点和终点处刀具均落在零件的刀具中心轨线上,因此,在这两点的偏差函数值总是为零,即F0=0、FΣ=0。如果在终点处出现FΣ≠0,则表明插补计算过程出现了错误。

图3-6 逐点比较法直线插补实例

二、逐点比较法I象限逆圆插补 (一)基本原理 在加工圆弧过程中,人们很容易联想到使用动点到圆心的距离与该圆弧的名义半径进行比较来反映加工偏差。

假设被加工零件的轮廓为第Ⅰ象限逆走向圆弧SE,如图3-7所示,圆心在O(0,0),半径为R,起点为S(XS,YS),终点为E(Xe,Ye),圆弧上任意加工动点为N(Xi,Yi)。当比较该加工动点到圆心的距离ON与圆弧半径R的大小时,可获得刀具与圆弧轮廓之间的相对位置关系。

图3-7 第Ⅰ象限逆圆与动点之间的关系

当动点N(Xi,Yi)正好落在圆弧上时,则有下式成立 Xi2Yi2Xe2Ye2R2 (3-11)

当动点N(Xi,Yi)落在圆弧外侧时,则有下式成立

Xi2Yi2Xe2Ye2R2 (3-12)

当动点N(Xi,Yi)落在圆弧内侧时,则有下式成立

Xi2Yi2Xe2Ye2R2 (3-13)

由此可见,取逐点比较法圆弧插补的偏差函数表达式为

FXi2Yi2R2

(3-14)

如图3-7所示,当动点落在圆外时,为了减小加工误差,应向圆内进给,即向(-X)轴

方向走一步;当动点落在圆内时,应向圆外进给,即向(+Y)轴方向走一步。当动点正好落在圆弧上且尚未到达终点时,为了使加工继续下去,理论上向(+Y)轴或(-X)轴方向进给均可以,但一般情况下约定向(-X)轴方向进给。

综上所述,现将逐点比较法第Ⅰ象限逆圆插补规则概括如下:

2

当F>0时,即FXiYi2R2>0,动点落在圆外,则向(-X)轴方向进给一步; 当F=0时,即FXiYi2R2=0,动点正好落在圆上,约定向(-X)轴方向进给一当F<0时,即FXiYi2R2<0,动点落在圆内,则向(+Y)轴方向进给一步。 由偏差函数表达式(3-14)可知,计算偏差F值,就必须进行动点坐标、圆弧半径的

22步;

平方运算。显然,在用硬件或汇编语言实现时不太方便。为了简化这些计算,按逐点比较法直线插补的思路,也可以推导出逐点比较法圆弧插补过程中偏差函数计算的递推公式。

假设第i次插补后,动点坐标为N(Xi,Yi),其对应偏差函数为

2FiXiYi2R2 当Fi≥0,向(-X)轴方向进给一步,则新的动点坐标值为 Xi+1=Xi-1, Yi+1=Yi

因此,新的偏差函数为

2222Fi1Xi21Yi1RXi1YiR

2

∴ Fi+1=Fi-2Xi+1 (3-15)

同理,当Fi<0,则向(+Y)轴方向进给一步,则新的动点坐标值为

Xi+1=Xi, Yi+1=Yi+1

因此,可求得新的偏差函数为

2222Fi1Xi21Yi1RXiYi1R

2∴ Fi+1=Fi+2Yi+1 (3-16)

将式(3-15)、式(3-16)与式(3-14)进行比较,可以看出两点不同:第一,递推形式的偏差计算公式中仅有加/减法以及乘2运算,而乘2可等效成该二进制数左移一位,这显然比平方运算来得简单。第二,进给后新的偏差函数值与前一点的偏差值以及动点坐标N(Xi,Yi)均有关系。由于动点坐标值随着插补过程的进行而不断变化,因此,每插补一次,动点坐标就必须修正一次,以便为下一步的偏差计算作好准备。至此,将第Ⅰ象限逆圆弧插补的规则和计算公式汇总,见表3-5。

表3-5 第Ⅰ象限逆圆弧插补计算公式

偏差函数 Fi≥0 Fi<0 动点位置 在圆上或圆外 在圆内 进给方向 -X +Y 新偏差计算 Fi+1=Fi-2Xi+1 Fi+1=Fi+2Yi+1 动点坐标修正 Xi+1=Xi-1, Yi+1=Yi Xi+1=Xi, Yi+1=Yi+1 和直线插补一样,圆弧插补过程也有终点判别问题。当圆弧轮廓仅在一个象限区域内,其终点判别仍可借用直线终点判别的三种方法进行,只是计算公式略有不同。

Σ=|Xe-Xs|+|Ye-Ys| (3-17) Σ=max{|Xe-Xs|,|Ye-Ys|} (3-18) Σ1=|Xe-Xs| ,Σ2=|Ye-Ys| (3-19)

式中 XS、Ys —— 被插补圆弧轮廓的起点坐标;

Xe、Ye —— 被插补圆弧轮廓的终点坐标。 (二)软件实现 与直线情况基本相似,逐点比较法第Ⅰ象限逆圆插补也是按照四个工作节拍进行,只是在偏差函数计算完毕后,增加动点坐标的修正。其软件流程如图3-8所示。

图3-8 逐点比较法第Ⅰ象限逆圆插补软件流程图

下面通过实例来说明相应插补软件的编写思路。

例3-3 设某数控系统使用MCS-51系列单片机,用汇编语言按如图3-8所示的流程编写第Ⅰ象限逆圆插补运算程序。其中,偏差函数Fi、坐标|Xi|、坐标|Yi|、总步数Σ=|Xe-Xs|+|Ye-Ys|在内存中均占用三个字节,并且F采用补码形式,其余数据采用绝对值或正数,地址分配情况见表3-6。

表3-6 第Ⅰ象限逆圆插补参数地址分配表

参数类型 初值 存储地址 低字节地址 中字节地址 高字节地址 偏差函数F F0=0 10H 11H 12H 坐标值|Xi| X0=XS 13H 14H 15H 坐标值|Yi| Y0=YS 16H 17H 18H 总步数Σ Σ0=Σ 19H 1AH 1BH

第Ⅰ象限逆圆插补程序如下:

……………… ;插补准备

AGAIN: MOV A,12H ;取Fi符号

JB ACC.7,LOOP ;若Fi<0,则转LOOP ACALL FEED_NX ;若Fi≥0,则向(-X)方向进给一步 ACALL SUBFXI ;修正Fi,Fi-2Xi+1 →Fi ACALL DECXI ;修正动点坐标Xi-1→Xi SJMP DONE ;转终点判别

LOOP: ACALL FEED_PY ;若Fi<0,则向(+Y)方向进给一步

ACALL ADDFYI ;修正Fi,Fi+2Yi+1 →Fi ACALL INCYI ;修正动点坐标Yi+1→Yi

DONE: ACALL DELAY ;延时保证进给速度

ACALL STEP_1 ;修正Σi,Σi-1→Σi

MOV A,19H ;取总步数低字节 CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补

MOV A,1AH ;取总步数中字节

CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补

MOV A,1BH ;取总步数高低字节

CJNE A,#00H,AGAIN ;判别,该字节不为零继续插补 …………………… ;Σi=0,插补结束,转其他处理 在该插补程序中,先后调用过八个子程序,它们是: FEED_NX —— 向(-X)轴方向进给一步子程序; FEED_PY —— 向(+Y)轴方向进给一步子程序; SUBFXI —— 完成Fi修正功能,Fi-2Xi+1 →Fi; ADDFYI —— 完成Fi修正功能,Fi+2Yi+1 →Fi; DECXI —— 完成动点坐标Xi修正功能,Xi-1→Xi; INCYI —— 完成动点坐标Yi修正功能,Yi+1→Yi; STEP_1 —— 完成总步数修正功能,Σi-1→Σi

DELAY —— 延时子程序,以保证给定的进给速度。 上述子程序的编写并不困难,请读者参阅有关资料自己完成。 (三)插补实例

例3-4 设将要加工的零件轮廓为第Ⅰ象限逆圆SE,如图3-9所示,圆心在坐标原点,起点为S(4,3),终点为E(0,5),试用逐点比较法进行插补,并画出插补轨迹。

图3-9 第Ⅰ象限逆圆插补实例

解:该圆弧插补的总步数为 Σ=|Xe-XS|+|Ye-YS|=|4-0|+|3-5|=6 插补开始时刀具正好在圆弧的起点S(4,3)处,故F0=0。 根据上述插补方法列表计算,插补过程见表3-7,插补轨迹如图3-9所示折线。

表3-7 逐点比较法圆弧插补运算过程

工 作 节 拍 序 号 起点 1 2 3 4 5 6 F0=0 F1=-7 < 0 F2= 0 F3=-5 < 0 F4=4 > 0 F5=1 > 0 第一拍 第二拍 第 三 拍 偏 差 计 算 F0=0 F1=0-2×4+1=-7 F2=-7+2×3+1=0 F3=0-2×3+1=-5 F4=-5+2×4+1=4 F5=4-2×2+1=1 F6=1-2×1+1=0 坐 标 修 正 X0=4, Y0=3 X1=3, Y1=3 X2=3, Y2=4 X3=2, Y3=4 X4=2, Y4=5 X5=1, Y5=5 X6=0, Y6=5 第 四 拍 终 点 判 别 Σ0=6 Σ1=Σ0-1=5 Σ2=Σ1-1=4 Σ3=Σ2-1=3 Σ4=Σ3-1=2 Σ5=Σ4-1=1 Σ6=Σ5-1=0 偏 差 判 别 坐标进给 -ΔX +ΔY -ΔX +ΔY -ΔX -ΔX

三、插补象限和圆弧走向处理

前面所讨论的逐点比较法直线和圆弧插补,均是针对第一象限直线和逆圆插补这种特定情况进行的。然而,任何数控机床都应具备处理不同象限、不同走向曲线的能力。 为了叙述方便,假设用“L”表示直线,“SR”表示顺圆,“NR” 表示逆圆,脚标数字表示曲线所在的象限,则第Ⅰ~Ⅳ象限内的直线分别记为L1、L2、L3、L4;顺圆弧分别记为SR1、SR2、SR3、SR4;逆圆弧分别记为NR1、NR2、NR3、NR4。

(一) 四象限直线插补

现不妨假设有Ⅱ象限直线如图 3-10 所示,起点在原点 O(0,0),终点为 A(-Xe , +Ye ),则仿照前面方法,很易推得对应的插补算法及进给方向如下:

图3-10 第Ⅱ象限直线插补进给方向

当Fi≥0时,进给 (-X) 方向,Fi+1=Fi-|Ye|; 当Fi<0时,进给 (+Y) 方向,Fi+1=Fi+|Xe|。 与前面介绍的第Ⅰ象限直线插补公式相比较后发现,当被插补直线处于不同象限时,其计算公式及处理过程完全一样,仅仅是进给方向不同而已。进一步可总结出 L1、L2、L3、L4 的进给方向如图3-11 所示,相应的偏差计算见表 3-8。

图3-11 四个象限直线插补进给方向

表3-8 四个象限直线插补偏差计算与进给方向表

线型 L1 L2 L3 L4 F-|Ye |→F F≥0 偏差计算 坐标进给 +ΔX -ΔX -ΔX +ΔX F + |Xe |→F 偏差计算 F< 0 坐标进给 +ΔY +ΔY -ΔY -ΔY 由此,可设计出四个象限内直线插补计算的通用软件,其流程如图3-12所示。

图3-12 逐点比较法四个象限直线插补流程图 关于直线插补有三点需要说明如下: 1) 上述计算公式中,终点坐标使用的是其绝对值,即在坐标寄存器JX、JY中存放的是终点坐标的绝对值,而不是代数值。如果要使用代数坐标值也可以实现插补计算,只是表3-8中偏差计算公式有所不同,读者可自行推导完成。

2) X轴或Y轴进给一步用ΔX和ΔY表示,即以增量形式输出,然后在前面加正号或负号表示进给正方向或负方向。

3) 如图3-12所示插补软件是针对四个象限内的一般直线作插补计算的。对于四个坐标轴上的直线而言,如果继续利用图3-12软件插补,将会造成较大的插补误差,可达2BLU,显然不太理想。为此,在直线插补前,先判别是否是插补四个坐标轴直线,如果是则可将(+X)轴直线轮廓插补归入(+△X)进给方向类,将(-X)轴直线轮廓插补归入(-△X)进给方向类,将(+Y)轴直线轮廓插补归入(+△Y)进给方向类,将(-Y)轴直线轮廓插补归入(-△Y)进给方向类,这样可将其插补误差减小到零。 (二)四个象限中圆弧插补

圆弧插补情况比直线插补复杂,不仅有象限问题,而且还有圆弧走向问题。现以如图3-13所示第Ⅰ象限顺圆SR1插补为例,介绍圆弧插补的特性。

图3-13 逐点比较法第Ⅰ象限顺圆插补示意图

假设圆弧SE起点为S(XS,YS),终点为E(Xe,Ye),圆心在坐标原点上。与逆圆插补相似,当某一时刻动点N(Xi,Yi)在圆弧的外侧时,有F≥0成立,应向-Y)轴方向进给一步,以减小误差;若动点N(Xi,Yi)在圆弧内侧,则应向+X)轴方向进给一步。由此可推导出第Ⅰ象限顺圆插补偏差函数的递推公式如下:

当Fi≥0时,向-Y)轴方向进给一步,则新的动点坐标为

Xi+1=Xi , Yi+1=Yi-1

新动点的偏差函数为

2222Fi1Xi21Yi1RXiYi1R

2

∴ Fi+1=Fi-2Yi+1 (3-20) 当Fi<0时,向+X)轴方向进给一步,则新的动点坐标为

Xi+1=Xi+1, Yi+1=Yi

新动点的偏差函数为

2222Fi1Xi21Yi1RXi1YiR

2∴ Fi+1=Fi+2Xi+1 (3-21)

现将式(3-20)、式(3-21)与式(3-15)、式(3-16)比较,可以看出它们有两点不同: 1)当Fi≥0或Fi<0时,对应的进给方向不同; 2)插补计算公式中动点坐标的修正也不同,以至于偏差计算公式也不相同。 进一步还可根据上述方法推导出其他象限不同走向圆弧的插补公式。现将各种进给情况汇总如图3-14所示,相应偏差计算见表3-9。

图3-14 四个象限圆弧插补进给方向

表3-9 四个象限圆弧插补偏差计算与进给方向

线型 SR1 NR2 SR3 NR4 NR1 SR2 NR3 SR4 F-2|X|+1→F |X|-1→|X| F-2|Y|+1→F |Y|-1→|Y| F≥0 偏差计算 坐标进给 -ΔY -ΔY +ΔY +ΔY -ΔX +ΔX +ΔX -ΔX F+2|Y|+1→F |Y|+1→|Y| F+2|X|+1→F |X|+1→|X| F<0 偏差计算 坐标进给 +ΔX -ΔX -ΔX +ΔX +ΔY +ΔY -ΔY -ΔY

从图3-14和表3-9可以看出,当按第Ⅰ象限逆圆NR1进行插补运算时,现若有意将X轴进给反向,则可以走出第Ⅱ象限顺圆SR2来;或者若将Y轴进给反向,则可以走出SR4来;或者将X轴和Y轴的进给均反向,则可以走出NR3来;并且这四种线型(NR1、SR2、NR3、SR4)使用的偏差计算公式都相同,无须改变。 进一步还可以看出,当按第Ⅰ象限逆圆NR1线型插补时,现若将计算公式中坐标X与Y对调,即把X当作Y,把Y当作X,那么就可得到SR1的走向。类似地通过改变进给方向,利用SR1的公式就可获得其余三种线型(NR2、SR3、NR4)的走向。 可见,通过X和Y的对调,或进给方向的改变,就可将表3-9中的8种情况合并成两大类进行处理。但最简单的方法是直接使用表中的8种情况进行编程,这时对应的软件流程如图3-15所示。

在这里还要说明的是,表3-9中动点坐标值的修正均是针对绝对值而言,并不是代数值形式。

图3-15 四个象限圆弧插补软件流程图

(三)圆弧过象限

通过前面分析可以看出,直线只可能处在一个象限内,因此,不存在过象限问题。但圆弧轮廓就有可能跨越几个象限,这时需要在两象限交接处作相应的处理,以保证加工的继续进行。

当圆弧跨过象限时,具有如下特点:

1)过象限前后动点坐标值的符号会改变。

2)过象限前后圆弧走向不变,即逆圆过象限的转换顺序是:NR1→NR2→NR3→NR4→NR1→…;顺圆过象限的转换顺序是:SR1→SR4→SR3→SR2→SR1→…。

3)过象限圆弧与坐标轴必有交点,当动点处在坐标轴上时必有一个坐标值为零。此点可以作为过象限的标志。

4)终点判别不能直接使用前面的式(3-17)~式(3-19),否则,将丢失一部分圆弧轮廓。例如,如图3-16所示情况,如果不加分析地使用这三个公式,则实际获得的零件轮廓将不再是圆弧SE,有可能得到圆弧SE′。为了回避这种假象,最好直接采用终点坐标的代数值进行判别,也就是在插补过程中,比较动点坐标和终点坐标的两个代数值,只有全部相等的情况下,才能真实反映插补过程的完成。当然,也可以采用一些行之有效的其他判别方法,这里就不再深入讨论。

图3-16 跨象限圆弧插补终点判别

为了使圆弧插补能够自动过象限,可采取如下方法来解决: 1.绝对坐标值法

此时所有坐标均采用绝对值形式进行插补运算。但为了防止如图3-16所示的E′点假象地取代E点,有必要在过象限插补圆弧之前,将圆弧SE按象限进行分段,即按SA和AE两段来完成圆弧的插补处理,分别对应调用NR4和NR1的插补程序。这样可直接使用前面介绍的方法来完成圆弧的插补,但这种分段处理的组合比较复杂。

2.代数坐标值法

在绝对坐标值法的基础上增设动点坐标代数单元,根据动点坐标代数值的符号可判断出它所在的象限,并调用相应的插补算法。当动点正好处于坐标轴上时,可按其运动趋势归入不同象限进行处理。对于逆圆而言,(+X)轴上的点归入NR1,(+Y)轴上的点归入NR2,(-X)轴上的点归入NR3,(-Y)轴上的点归入NR4。对于顺圆而言,(+X)轴上的点归入SR4,(+Y)轴上的点归入SR1,(-X)轴上的点归入SR2,(-Y)轴上的点归入SR3。

最后要说明一点,上述过象限处理过程是采用软件来实现的。而当采用硬件来实现就有所不同。这是由于硬件缺乏必要的灵活性,因此,不管是插补哪个象限的直线或圆弧,都必须统一到第Ⅰ象限来。只是进给脉冲的方向由轮廓所在象限及线型来决定,并通过硬件线路按照一定的逻辑规律,将进给脉冲分别发送到(+X)轴、(-X)轴、(+Y)轴、(-Y)轴四个方向通道上去。关于控制逻辑关系表达式的推导和实现请读者参阅有关文献。

四、逐点比较法合成进给速度

由前面的讨论可知,逐点比较法插补器是按一定算法向多个坐标轴分配进给脉冲的装置。脉冲源频率高低决定了坐标轴进给速度的快慢,其关系遵循式(3-10)。

由于刀具的进给速度直接影响加工零件的表面粗糙度,在插补过程中,人们总希望刀具的进给速度(合成速度)恒等于程编进给速度,或只在允许的较小范围内变化。但事实上,合成进给速度V与插补计算方法、脉冲源频率、零件轮廓段的线型和尺寸均有关系。所以,

在这里有必要对逐点比较法的合成进给速度进行讨论。

逐点比较法插补的特点是脉冲源每发送一个脉冲过来,就进行一次插补计算,产生一步进给,并且不是发向 X 轴,就是发向 Y 轴,因此有下式成立 :

fMF=fX+fY (3-22)

式中 fMF —— 脉冲源频率(HZ); fX —— X轴进给脉冲频率(HZ); fY —— Y轴进给脉冲频率(HZ)。

对应于X轴和Y轴的进给速度VX和VY分别为

VX=60fX (3-23a) VY=60fY (3-23b)

如图3-17所示,可求得合成进给速度为

2VVXVY2602fXfY2 (3-24)

图3-17 合成进给速度与轴速度的关系 由式(3-24)可知:当fX=0或fY=0时,即刀具沿着平行于坐标轴的方向切削,这时对应切削速度为最大,相应的速度称为脉冲源速度,即

VMF=60fMF=60(fX+fY)=VX+VY (3-25)

因此,合成进给速度与脉冲源速度之比为

2VXVY2V1 (3-26) VMFVXVYcossin 现绘出(V/VMF)随变化的关系曲线,如图3-18所示。

图3-18 合成进给速度变化曲线 可见,当程编进给速度确定了脉冲源频率fMF后,实际获得的合成进给速度V并非就一直等于VMF,而与角有关。当=0°或90°时,(V/VMF)max=1,即正好等于程编速度;当=45°时,(V/VMF)max=0.707,即实际进给速度小于程编速度。这也就是说,在程编进给速度确定了脉冲源频率不变的情况下,逐点比较法直线插补的合成进给速度随着被插补直线与X轴的夹角而变化,且其变化范围为:V=(0.707~1.0)VMF,最大合成进给速度与最小合成进给速度之比为(Vmax /Vmin)=1.414,这对于一般机床加工来讲还是能够满足要求的。 同理,对于圆弧插补的合成进给速度分析也可仿此进行,并且结论也一样,只是这时的角是指动点到圆心连线与X轴之间的夹角。 总之,通过上述合成进给速度分析可以得到一个结论,就是逐点比较法插补算法的进给速度是比较平稳的。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务