逐点比较法直线插补

  • 格式:doc
  • 大小:2.15 MB
  • 文档页数:87

实用文档

§2—1 逐点比较法

逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。

逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。

在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。

一、 逐点比较法直线插补

如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。

图 2-1 直 线 差 补 过 程A(xe,ye)P(xi,yi)F>0F<0OYX

图2-1 直线插补过程

点击进入动画观看逐点比较法直线插补

如图2—1所示,假定直线 OA的起点为坐标原点,终点A的坐标为

eeijA(x,y),P(x,y)为加工点,若P点正好处在直线 OA上,那么下式成立:

ejiexy - xy0

若任意点 ijP(x,y)在直线 OA的上方(严格地说,在直线 OA与y轴实用文档

所成夹角区域内),那么有下述关系成立:

jeieyyxx

亦即: ejiexy - xy0

由此可以取偏差判别函数 ijF为:

ijejieFxy - xy=

由 ijF的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:

当 ijF=0时,点 ijP(x,y)正好落在直线上;

当 ijF>0时,点 ijP(x,y)落在直线的上方;

当 ijF<0时,点 ijP(x,y)落在直线的下方。

从图2—1看出,对于起点在原点,终点为A( eex,y)的第Ⅰ象限直线OA来说,当点P在直线上方(即 ijF>0)时,应该向+x方向发一个脉冲,使机床刀具向+x方向前进一步,以接近该直线;当点P在直线下方(即 ijF<0)时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即 ijF=0)时,既可向+x方向发一脉冲,也可向+y方向发一脉冲。因此通常将 ijF>0和 ijF=0归于一类,即 ijF≥0。这样从坐标原点开始,走一步,算一次,判别 ijF,再趋向直线,逐点接近直线 OA,步步前进。当两个方向所走的步数和终点坐标A( eex,y)值相等时,发出终点到达信号,停止插补。

对于图2—1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。

但是按照上述法则进行 ijF的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。实用文档

下面推导该递推式:

已经知道,加工点的坐标为( ijx,y)时的偏差为:

ijejieFxy - xy=

若 ijF≥0时,则向x轴发出一进给脉冲,刀具从这点即( ijx,y)点向x方向前进一步,到达新加工点P( i+1jx,y), i+1ix=x+1,因此新加工点P( i+1jx,y)的偏差值为

i1,jeji+1eejieejieijeFxy-xyxy(x+1)y=xy-xyFeyy+=

即:

i+1,jijeFFy= (2-1)

如果某一时刻,加工点P( ijx,y)的 ijF<0,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点P( ij+1x,y)的偏差值为

i,j+1ej+1ieejieejiei,jeFxy-xyx(y1)xy=xy - xyFxex=+

即:

i,j+1ijeFFx=+

(2-2)

根据式(2—1)及式(2—2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。

综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。

(1) 判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。

(2) 进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。

(3) 运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新实用文档

加工点的偏差是由前一点偏差 ijF推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的 ijF=0。

(4) 比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。

下面以实例来验证图2—1。设欲加工直线OA,其终点坐标为 ex=5*, ey=3*,则终点判别值可取为 8eeE=x+y=5+3=8(终点判别方法详见下述)。开始时偏差 F=0,加工过程的运算节拍如表2—1所示。

图2-2 逐点比较法直线插补过程 实用文档

表2-1 逐点比较法直线插补运算举例

序号 工

节 拍

第1拍:判别 第2拍:进给 第3拍:运算 第4拍:比较

1 F00=0 +∆x F10= F00-ye=0-3= -3 E7= E8-1=7

2 F10(= -3)<0 +∆y F11 = F10+xe= -3+5=2 E6= E7-1=6

3 F11(= 2)>0 +∆x F21= F11-ye=2-3= -1 E5= E6-1=5

4 F21(= -1) <0 +∆y F22= F21+xe= -1+5=4 E4= E5-1=4

5 F22(= 4)>0 +∆x F32= F22-ye=4-3= 1 E3= E4-1=3

6 F32(= 1)>0 +∆x F42 = F32-ye=1-3= -2 E2= E3-1=2

7 F42(= -2)<0 +∆y F43= F42+xe= -2+5=3

E1=E2-1=1

8 F43(= 3)>0 +∆x F53= F43-ye=3-3=0 E0=E1-1=0

到达终点

二、 逐点比较法圆弧插补

加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R,以原点为圆心,起点坐标为A( 00x,y),对于圆弧上任一加工点的坐标设为P( ijx,y),P点与圆心的距离 PR的平方为 222PijR=x+y,现在讨论这一加工点的加工偏差。

OYXF < 0RRpEP(xi,yi)F > 0A(x0,y0)图 2 - 2 圆 弧 差 补 过 程

图2-3 圆弧插补过程

点击进入动画观看逐点比较法圆弧插补

实用文档

若点P( ijx,y)正好落在圆弧上,则下式成立:

22222ij00x+y=x+y=R

若加工点P( ijx,y)在圆弧外侧,则 PR>R,即:

2222ij00x+y>x+y

若加工点P( ijx,y)在圆弧内侧,则 PR

2222ij00x+y>x+y

将上面各式分别改写为下列形式:

2222i0j0(x-x)+(y-y)=0(加工点在圆弧上)

2222i0j0(x-x)+(y-y)>0(加工点在圆弧外侧)

2222i0j0(x-x)+(y-y)<0 (加工点在圆弧内侧)

取加工偏差判别式为:

2222iji0j0F=(x-x)+(y-y)

运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。

若P( ijx,y)在圆弧外或圆弧上,即满足 ijF≥0的条件时,应向x轴发出一个负向运动的进给脉冲(—Δx),即向圆内走一步。若P( ijx,y)在圆弧内侧,即满足 ijF<0的条件,则向y轴发出一个正向运动的进给脉冲(+Δy),即向圆弧外走一步。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。

设加工点P( ijx,y)在圆弧外侧或圆弧上,则加工偏差为

2222iji0j0F=(x-x)+(y-y)0

x坐标需向负方向进给一步(—Δx),移到新的加工点P( i+1jx,y)位置,此时新加工点的x坐标值为 ix-1,y坐标值仍为 iy,新加工点P( i+1jx,y)的加工偏差为: 实用文档

22222i+1,ji0j0F=(x-1)-x+y-y

经展开并整理,得:

i+1,jijF=F21ix (2-3)

设加工点P( ijx,y)在圆弧的内侧,则:

ijF<0

那么,y坐标需向正方向进给一步(+Δy),移到新加工点P( ij+1x,y),此时新加工点的x坐标值仍为 ix,y坐标值则改为 jy1,新加工点P( ij+1x,y)的加工偏差为:

2222i,j+1i0j0F=x-x+(y+1)y,展开上式,并整理得:

i,j+1ijF=F21iy

综上所述可知:当 ijF≥0时,应走—Δx,新偏差为 i+1,jijF=F21ix,动点(加工点)坐标为 i+1ix=x-1, jjyy;当 ijF<0时,应走+Δy,新偏差为

i,j+1ijF=F21iy,动点坐标为 jjyy, i+1i=y+1y。

下面举例说明插补过程。设欲加工第Ⅰ象限逆时针走向的圆弧(见图2—4),起点A的坐标是 00x=4,y=3,终点E的坐标是 eex=0,y=5,终点判别值:

0ee0E=x-x+y-y4053()()()()=6