为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 逐点比较法直线插补

逐点比较法直线插补

2021-10-03 5页 doc 3MB 34阅读

用户头像 个人认证

is_916680

暂无简介

举报
逐点比较法直线插补§2—1逐点比较法逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直...
逐点比较法直线插补
§2—1逐点比较法逐点比较法是我国数控机床中广泛采用的一种插补,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。一、逐点比较法直线插补如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。YA(xe,ye)P(xi,yi)F>0F<0OX图2-1直线差补过程图2-1直线插补过程点击进入动画观看逐点比较法直线插补如图2—1所示,假定直线OA的起点为坐标原点,终点A的坐标为A(xe,ye),P(xi,yj)为加工点,若P点正好处在直线OA上,那么下式成立:xeyj-xiye0若任意点P(xi,yj)在直线OA的上方(严格地说,在直线OA与y轴所成夹角区域内),那么有下述关系成立:yjyexixe亦即:xeyj-xiye0由此可以取偏差判别函数Fij为:Fij=xeyj-xiye由Fij的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:当Fij=0时,点P(xi,yj)正好落在直线上;当Fij>0时,点P(xi,yj)落在直线的上方;当Fij<0时,点P(xi,yj)落在直线的下方。从图2—1看出,对于起点在原点,终点为A(xe,ye)的第Ⅰ象限直线OA来说,当点P在直线上方(即Fij>0)时,应该向+x方向发一个脉冲,使机床刀具向+x方向前进一步,以接近该直线;当点P在直线下方(即Fij<0)时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即Fij=0)时,既可向+x方向发一脉冲,也可向+y方向发一脉冲。因此通常将Fij>0和Fij=0归于一类,即Fij≥0。这样从坐标原点开始,走一步,算一次,判别Fij,再趋向直线,逐点接近直线OA,步步前进。当两个方向所走的步数和终点坐标A(xe,ye)值相等时,发出终点到达信号,停止插补。对于图2—1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。但是按照上述法则进行Fij的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:已经知道,加工点的坐标为(xi,yj)时的偏差为:Fij=xeyj-xiye若Fij≥0时,则向x轴发出一进给脉冲,刀具从这点即(xi,yj)点向x方向前进一步,到达新加工点P(xi+1,yj),xi+1=xi+1,因此新加工点P(xi+1,yj)的偏差值为Fi+1,j=xeyj-xi+1yexeyj(xi+1)ye=xeyj-xiyeyeFijye即:Fi+1,j=Fijye(2-1)如果某一时刻,加工点P(xi,yj)的Fij<0,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点P(xi,yj+1)的偏差值为Fi,j+1=xeyj+1-xiyexe(yj1)xiye=xeyj-xiyexeFi,j+xe即:Fi,j+1=Fij+xe(2-2)根据式(2—1)及式(2—2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。(1)判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。(2)进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。(3)运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差Fij推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的Fij=0。(4)比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。下面以实例来验证图2—1。设欲加工直线OA,其终点坐标为xe=5*,ye=3*,则终点判别值可取为E8=xe+ye=5+3=8(终点判别方法详见下述)。开始时偏差F=0,加工过程的运算节拍如表2—1所示。图2-2逐点比较法直线插补过程表2-1逐点比较法直线插补运算举例工作序号节拍第1拍:判别第2拍:进给第3拍:运算第4拍:比较1F00=0+?xF10=F00-ye=0-3=-3E7=E8-1=72F10(=-3)<0+?yF11=F10+xe=-3+5=2E6=E7-1=63F11(=2)>0+?xF21=F11-ye=2-3=-1E5=E6-1=54F21(=-1)<0+?yF22=F21+xe=-1+5=4E4=E5-1=45F22(=4)>0+?xF32=F22-ye=4-3=1E3=E4-1=36F(=1)>0+?xF=F32-y=1-3=-2E=E-1=23242e237F(=-2)<0+?yF=F42+x=-2+5=3E=E-1=14243e128F43(=3)>0+?xF53=F43-ye=3-3=0E0=E1-1=0到达终点二、逐点比较法圆弧插补加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R,以原点为圆心,起点坐标为A(x0,y0),对于圆弧上任一加工点的坐标设为P(xi,yj),P点与圆心的距离RP的平方为RP2=xi2+yj2,现在讨论这一加工点的加工偏差。YEP(xi,yi)RpF<00,y0)A(xRF>0OX图2-2圆弧差补过程图2-3圆弧插补过程点击进入动画观看逐点比较法圆弧插补若点P(xi,yj)正好落在圆弧上,则下式成立:xi2+yj2=x02+y02=R2若加工点P(xi,yj)在圆弧外侧,则RP>R,即:xi2+yj2>x02+y02若加工点P(xi,yj)在圆弧内侧,则RPx02+y02将上面各式分别改写为下列形式:(xi2-x02)+(yj2-y02)=0(加工点在圆弧上)(xi2-x02)+(yj2-y02)>0(加工点在圆弧外侧)(xi2-x02)+(yj2-y02)<0(加工点在圆弧内侧)取加工偏差判别式为:Fij=(xi2-x02)+(yj2-y02)运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。若P(xi,yj)在圆弧外或圆弧上,即满足Fij≥0的条件时,应向x轴发出一个负向运动的进给脉冲(—x),即向圆内走一步。若P(xi,yj)在圆弧内侧,即满足Fij<0的条件,则向y轴发出一个正向运动的进给脉冲(+y),即向圆弧外走一步。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。设加工点P(xi,yj)在圆弧外侧或圆弧上,则加工偏差为Fij=(xi2-x02)+(yj2-y02)0x坐标需向负方向进给一步(—x),移到新的加工点P(xi+1,yj)位置,此时新加工点的x坐标值为xi-1,y坐标值仍为yi,新加工点P(xi+1,yj)的加工偏差为:Fi+1,j=(xi2-1)2-x02+yj2-y02经展开并整理,得:Fi+1,j=Fij2xi1(2-3)设加工点P(xi,yj)在圆弧的内侧,则:Fij<0那么,y坐标需向正方向进给一步(+y),移到新加工点P(xi,yj+1),此时新加工点的x坐标值仍为xi,y坐标值则改为yj1,新加工点P(xi,yj+1)的加工偏差为:Fi,j+1=xi2-x02+(yj+1)2y02,展开上式,并整理得:Fi,j+1=Fij2yi1综上所述可知:当Fij≥0时,应走—x,新偏差为Fi+1,j=Fij2xi1,动点(加工点)坐标为xi+1=xi-1,yjyj;当Fij<0时,应走+y,新偏差为Fi,j+1=Fij2yi1,动点坐标为yjyj,yi+1=yi+1。下面举例说明插补过程。设欲加工第Ⅰ象限逆时针走向的圆弧(见图2—4),起点A的坐标是x0=4,y0=3,终点E的坐标是xe=0,ye=5,终点判别值:E=(x0-xe)+(ye-y0)(40)(53)=6YE(0,5)A(4,3)OX图2-3圆弧实际轨迹图2-4圆弧实际轨迹序工作节拍图2-5逐点比较法圆弧插补过程加工过程的运算节拍见表2—3,插补后获得的实际轨迹如图2—3折线所示。可见,圆弧插补偏差计算的递推公式也是比较简单的。但计算偏差的同时,还要对动点的坐标进行加1、减1运算,为下一点的偏差计算做好准备。和直线插补一样,除偏差计算外,还要进行终点判别计算。每走一步,都要从两坐标方向总步数中减去1,直至总步数被减为零(发终点到达信号)时为止,才终止计算。表2-3逐点比较法圆弧插补运算举例号第1拍:判别第2拍:进第3拍:运算第4拍:比较给1F=0-△xF=0-2*4+1=7E=6-1=5(≠0)2F(=-7)<0+△yF=-7+2*3+1=0E=5-1=4(≠0)x=3,y=3+1=43F=0-△xF=0-2*3+1=-5E=4-1=3(≠0)x=3-1=2,y=44F(=-5)<0+△yF=-5+2*4+1=4E=3-1=2(≠0)x=2,y=4+1=55F(=4)>0-△xF=4-2*2+1=1E=2-1=1≠0)x=2-1=1,y=56F(=1)>0-△xF=1-2*1+1=0E=1-1=0(终x=1-1=0,y=5止)逐点比较法插补第Ⅰ象限直线和第Ⅰ象限逆圆弧的计算流程图分别见图2—4和图2—5。图2-4直线插补计算流程图图2-5圆弧插补计算流程图三、坐标转换和终点判别问1.象限与坐标变换前面所讨论的用逐点比较法进行直线及圆弧插补的原理和计算公式,只适用于第Ⅰ象限直线和第Ⅰ象限逆时针圆弧那种特定的情况。对于不同象限的直线和不同象限、不同走向的圆弧来说,其插补计算公式和脉冲进给方向都是不同的。为了将各象限直线的插补公式统一于第Ⅰ象限的公式,将不同象限、不同走向的8种圆弧的插补公式统一于第Ⅰ象限逆圆的计算公式,就需要将坐标和进给方向根据象限等的不同而进行变换,这样,不管哪个象限的圆弧和直线都按第Ⅰ象限逆圆和直线进行插补计算。而进给脉冲的方向则按实际象限和线型来决定,采用逻辑电路或程序将进给脉冲分别发到+X,-X,+Y,-Y四个通道上去,以控制机床工作台沿X和Y向的运动。我们用SR1,SR2,SR3,SR4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的顺时针圆弧,用NR1,NR2,NR3,NR4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的逆时针圆弧,如图2—6(a)所示;用L1,L2,L3,L4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的直线,如图2—6(b)所示。由图2—6可以看出:按第Ⅰ象限逆时针走向圆弧NR1线型插补运算时,如将x轴的进给反向,即走出第Ⅱ象限顺时针走向圆弧SR2;将y轴的进给反向,即走出SR4;将x和y轴两者进给都反向,即走出NR3。此时NR1,NR3,SR2,SR4四种线型都取相同的偏差运算公式,无须改变。y(Y)y(Y)NR2SR1ΔyΔyL2ΔyL1ΔxΔxΔxΔxSR2ΔxNR1ΔyΔxΔxOΔxx(X)ΔxOx(X)NR3SR4ΔyΔyΔxΔxΔyΔyΔxL4ΔyΔyL3SR3NR4(a)(b)图2-6直线和圆弧不同象限的走向还可以看出,按NR1线型插补时,把运算公式的坐标x和y对调,以x作y,图2-6直线和圆弧不同象限的走向以y作x,那么就得到SR1的走向。按上述原理,应用SR1同一运算公式,适当改变进给方向也可获得其余线型SR3,NR2,NR4的走向。这就是说,若针对不同象限建立类似于第Ⅰ象限的坐标,就可得到与第Ⅰ象限直线和第Ⅰ象限逆圆的类似情况,从而可以用统一公式作插补计算,然后根据象限的不同发出不同方向的脉冲。图2—6(a)、(b)分别为8种圆弧和4种直线的坐标建立情况,据此可以得到表2—3的进给脉冲分配类型。表2-3△x,△y脉冲分配的12种类型象限图形脉冲ⅠⅡⅢⅣ△x-X-Y+X+XG03+Y+X-Y+Y△y△x-Y+X+Y-XG02△y+X+Y-X-Y△x+X+Y-X-YG01+Y-X-Y+X△y从表2—3可以看出,对于直线(G01)来说,按照第Ⅰ象限直线偏差计算公式得到的x和y脉冲,根据不同的象限,分配到机床不同坐标(X,Y)的正负方向上。即若是第Ⅱ象限直线,则x应发往+Y坐标;若是第Ⅲ象限直线,则x应发往X坐标,等等。由此表可以得到发往±X,±Y坐标方向的脉冲分配逻辑式为+X=G02·Δy·Ⅰ+G01·Δx·Ⅰ+G02·Δx·Ⅱ+G03·Δx·Ⅲ+G03·Δy·Ⅳ+G01·Δy·ⅣX=G03·Δx·Ⅰ+G03·Δy·Ⅱ+G01·Δy·Ⅱ+G02·Δy·Ⅲ+G01·Δx·Ⅲ+G02·Δx·Ⅳ+Y=G03·Δy·Ⅰ+G01·Δy·Ⅰ+G02·Δy·Ⅱ+G01·Δx·Ⅱ+G02·Δx·Ⅲ+G03·Δx·ⅣY=G02·Δx·Ⅰ+G03·Δx·Ⅱ+G03·Δy·Ⅲ+G01·Δy·Ⅲ+G02·y·Ⅳ+G01·Δx·Ⅳ2.逐点比较法的终点判别逐点比较法的终点判别方法大致有下列几种:(1)设置一个终点减法计数器JE,插补运算开始前记入该程序x及y坐标的加工总长(即x和y的位移总步数),在插补过程中,x或y向每走一步,就从总步数中减去1,直至JE中存数被减为零,表示到达终点。这种方法,前例已作介绍。(2)设置两个计数器JEX及JEY,分别控制两个坐标轴的加工长度。若沿x轴移动一步,从JEX中减1;同样,若沿y轴移动一步,从JEY中减1。当JEX及JEY中存数均被减为零时,表示到达终点。(3)设置一个终点减法计数器JE,插补运算开始前记入该程序x坐标轴(或y轴)上的投影加工总长度Ex(或Ey)——应选取Ex和Ey中较大的坐标值作为终点判别坐标。在插补过程中,若JE中寄存的是Ex,则每当沿x轴走一步,即从JE存数中减去1(若JE中寄存Ey,则每当沿y轴走一步,即从JE中减去1),直至JE存数被减为零,表示到达终点。逐点比较法除能插补直线和圆弧之外,还能插补椭圆、抛物线和双曲线等二次曲线。此法进给速度平稳,精度较高,无论是在普通NC系统还是在CNC系统中都有着非常广泛的应用。下面就来逐点比较法插补时的进给速度问题。四、逐点比较法的合成进给速度从前面的讨论知道,插补器向各个坐标分配进给脉冲,这些脉冲造成坐标的移动。因此,对于某一坐标而言,进给脉冲的频率就决定了进给速度。以x坐标为例,设fx为以“脉冲/s”表示的脉冲频率,vx为以“mm/min”表示的进给速度,它们有如下的比例关系:vx60fx式中δ为脉冲当量,以“mm/脉冲”表示。各个坐标进给速度的合成线速度称为合成进给速度或插补速度。对三坐标系统来说,合成进给速度v为vx2vy2vz2式中vx,vy,vz分别为x,y,z三个方向的进给速度。合成进给速度直接决定了加工时的粗糙度和精度。我们希望在插补过程中,合成进给速度恒等于指令进给速度或只在允许的范围内变化。但是实际上,合成进给速度v与插补计算方法、脉冲源频率及程序段的形式和尺寸都有关系。也就是说,不同的脉冲分配方式,指令进给速度F和合成进给速度v之间的换算关系各不相同。现在,我们来计算逐点比较法的合成进给速度。我们知道,逐点比较法的特点是脉冲源每产生一个脉冲,不是发向x轴(x),就是发向y轴(y)。令fg为脉冲源频率,单位为“个脉冲/s”,则有fgfxfy从而x和y方向的进给速度vx和vy(单位为mm/min)分别为vx60fxvy60fy合成进给速度v为vv2v260fx2f2xyy当fx0(或fy0)时,也就是进给脉冲按平行于坐标轴的方向分配时有最大速度,这个速度由脉冲源频率决定,所以称其为脉冲源速度vg(实质是指循环节拍的频率,单位为mm/min)。vg60fg合成进给速度v与vg之比为vfx2fy2x2y2vgfgxy其插补速度v的变化范围为v10.707vg,最大速度与最小速度之比为kvvmax1.414vmin这样的速度变化范围,对一般机床来说已可满足要求,所以逐点比较法的进给速度是较平稳的。§2—3数字积分法一、DDA的基本原理由高等数学可知,求函数yft对t的积分运算,从几何概念上讲,就是求此函数曲线所包围的面积F(图2—7),即bn1limytitiFydt1ani0Yy=f(t)yiYii+1t=ti+1-tiOt0=atiti+1tn=bt图2-7函数的积分若把自变量的积分区间[a,b]等分成许多有限的小区间t(其中tti1ti),这样,求面积可以转化成求有限个小区间面积之和,即n1n1FFiyiti0i0数字运算时,t一般取最小单位“1”,即一个脉冲当量,则n1yi0由此可见,函数的积分运算变成了变量的求和运算。当所选取的积分间隔t足够小时,则用求和运算代替求积运算所引起的误差可以不超过允许的值。二、DDA直线插补设我们要对xy平面上的直线进行脉冲分配,直线起点为坐标原点O,终点为Exe,ye,如图2-8所示。YE(xe,ye)vvyvxOX图2-8合成速度与分速度的关系图2-8合成速度与分速度的关系假定vx和vy分别表示动点在x和y方向的移动速度,则在x和y方向上的移动距离微小增量x和y应为xvxtyvyt(2—5)对直线函数来说,vx和vy是常数,则下式成立:vxvyKxeye(2—6)式中K为比例系数。在t时间内,x和y位移增量的参数方程为xvxtKxetyvytKyet(2—7)动点从原点走向终点的过程,可以看作是各坐标每经过一个单位时间间隔分别以增量Kxe和Kye同时累加的结果。经过m次累加后,x和y分别都到达终点Exe,ye,即下式成立:mxKxetmKxexei1myKyetmKyeyei1(2—8)则mK1m1或—9)K(2上式表明,比例系数K和累加次数m的关系是互为倒数。因为m必须是整数,所以K一定是小数。在选取K时主要考虑每次增量x或y不大于,1以保证坐标轴上每次分配进给脉冲不超过一个单位步距,即=Kxe<1=Kye<1式中xe和ye的最大容许值受控制机的位数及用几个字节存储坐标值所限制。如用TP801(Z80)单板机作控制机,用两个字节存储坐标值,因该单板机为8位机,故xe和ye的最大容许寄存容量为216-1=65535。为满足Kxe<1及Kye<1的条件,即Kxe=K(216-1)<1Kye=K(216-1)<1K1则2161K1xKxe21612162161Kxe<1的条件。如果取,则,即满足这时累加次数为m1216K次一般情况下,若假定寄存器是n位,则xe和ye的最大允许寄存容量应为2n-1(各位全1时),若取1K2n则Kxe1(2n1)2n12n2nKye1(2n1)2n12n2n显然,由上式决定的Kxe和Kye是小于1的,这样,不仅决定了系数K(K1n)x和y小于1的条件。因此,刀具从原点到达终2,而且保证了点的累加次数m就有m12nK1KKxe与xe的差别只在于小数点的位置不当2n时,对二进制数来说,同,将xe的小数点左移n位即为Kxe。因此在n位的内存中存放xe(xe为整数)和存放Kxe的数字是相同的,只是认为后者的小数点出现在最高位数前面。当用软件来实现数字积分法直线插补时,只要在内存中设定几个单元,n的分别用于存放xe及其累加值xe和ye及其累加值ye。将xe和ye赋一初始值,在每次插补循环过程中,进行以下求和运算:xe+xe→xee+ye→e将运算结果的溢出脉冲x和y用来控制机床进给,就可走出所需的直线轨迹。综上所述,可以得到下述结论:数字积分法插补器的关键部件是累加器和被积函数寄存器,每一个坐标方向就需要一个累加器和一个被积函数寄存器。一般情况下,插补开始前,累加器清零,被积函数寄存器分别寄存xe和ye;插补开始后,每来一个累加脉冲t,被积函数寄存器里的内容在相应的累加器中相加一次,相加后的溢出作为驱动相应坐标轴的进给脉冲x(或y),而余数仍寄存在累加器中;当脉冲源发出的累加脉冲数m恰好等于被积函数寄存器的容量2n时,溢出的脉冲数等于以脉冲当量为最小单位的终点坐标,刀具运行到终点。数字积分法插补第Ⅰ象限直线的程序流程图如图2-11所示。置初值xe,ye,累加次数m;∑xe,∑ye清零xe←∑xe+xeye←∑ye+yeX有溢出吗?YNy有溢出吗?N累加次数m减1+x向走一步Y+x向走一步N到终点吗?Y结束图2-11DDA直线插补流程图下面举例说明DDA直线插补过程。设要插补图2—12所示的直线轨迹OA,起点坐标为O(0,0),终点坐标为A(7,10)。若被积函数寄存器Jvx和Jvy,余数寄存器JRx和JRy,以及终点减法计数器JE均为四位二进制寄存器,则迭代次4ERxRyvxvy分别存放xe=7数为m=2=16次时插补完成。在插补前,J,J,J均为零,J和J(即二进制的0111),ye=10(即二进制的1010)。在直线插补过程中Jvx和Jvy中的数值始终为xe和ye保持不变。本例的具体轨迹如图2-12中的折线所示,由此可见,经过16次迭代之后,x和y坐标分别有7个和10个脉冲输出。直线插补轨迹与理论曲线的最大误差不超过1个脉冲当量。Y10实际插补A(7,10)轨迹86理论直线42O246810X图2-12DDA直线差补轨迹图2-13DDA直线插补过程三、DDA圆弧插补以第Ⅰ象限逆圆为例,设刀具沿圆弧移动,半径为R,刀具的切向速度为v,Px,y为动点(如图2—13),vYBvyvxRP(x,y)AOX图2-13DDA圆弧差补图2-13DDA圆弧插补则有下述关系:vvxvyRyKx式中K为比例常数。因为半径R为常数,切向速度v为匀速,所以K可认为是常数。在单位时间增量t内,x和y位移增量的参量方程可表示为xvxtKyt(2—10)yvytKxt(2—11)点击进入动画观看DDA圆弧插补根据此两式,仿照直线插补用两个积分器来实现圆弧插补,如图2—14(a)所示。图中系数K的省略原因和直线时类同。但必须指出:第一,坐标值x和y存入寄存器Jvx和Jvy的对应关系与直线不同,恰好位置互调,即y存入Jvx,而x存入Jvy中。第二,Jvx和Jvy寄存器中寄存的数值与直线插补时还有一个本质的区别:直线插补时Jvx(或Jvy)寄存的是终点坐标xe(或ye),是个常数;而在圆弧插补时寄存的是动点坐标,是个变量。因此在刀具移动过程中必须根据刀具位置的变化来更改速度寄存器Jvx和Jvy中的内容。在起点时,Jvx和Jvy分别寄存起点坐标值y0和x0;在插补过程中,JRy每溢出一个y脉冲,Jvx寄存器应该加“1”;反之,当JRx溢出一个x脉冲时,Jvy应该减“1”。减“1”的原因是刀具在作逆圆运动时x坐标须作负方向进给,动坐标不断减少。图2—14中用及?表示修改动点坐标时这种加“1”或减“1”的关系。图2—14(b)为第Ⅰ象限逆时针走向的圆弧插补的数字积分器符号表示图。图2-14DDA圆弧插补运算框图及符号图对于顺圆、逆圆及其他象限的插补运算过程和积分器结构基本上与第Ⅰ象限逆圆是一致的。其不同在于,控制各坐标轴的x和y的进给方向不同,以及修改Jvx和Jvy内容时是还是?,要由y和x坐标的增减而定,见表2—5。表2-5DDA圆弧插补时的坐标修改情况SRSRSRSRNRNRNRNR12341234Jvx(y)一+一++一+一Jvy(x)+一+一一一++?x++----++?y-++-+--+DDA圆弧插补的终点判别可以利用两个终点减法计数器,把x和y坐标所需输出的脉冲数|xex0|和|yey0|分别存入这两个计数器中,x或y积分器每输出一个脉冲,相应的减法计数器减1,当某一坐标计数器为零时,说明该坐标已到达终点,这时,该坐标停止迭代。当两个计数器均为零时,圆弧插补结束。下面举一个DDA圆弧插补的具体例子。设有一个圆弧,起点为A(5,0),终点为B(0,5),即y05xe0y00和ye5见图2—15。图2-15DDA圆弧插补轨迹图2-16DDA圆弧插补过程四、改进DDA插补质量的措施使用DDA法插补时,其插补进给速度v不仅与系统的迭代频率fg(即脉冲源频率)成正比,而且还与余数寄存器的容量N成反比,与直线段的长度L(或圆弧半径R)成正比。它们之间有下述关系成立:v601fgN(2-12)式中v——插补进给速度;——系统脉冲当量;L——直线段的长度;N——寄存器的容量;fg——迭代频率。显然,即使编制同样大小的速度指令,但针对不同长度的直线段,其进给速度是变化的(假设fg和N为固定),必须设法加以改善。常用的改善方法是左移规格化和进给速率编程(FRN)。由上面DDA圆弧插补例子可以看出,当插补第Ⅰ象限逆圆时,y坐标率先到达。这时若不强制y方向停止迭代,将会出现超差,不能到达正确的终点。为了改善这一情况,常用余数寄存器预置数的办法来解决。以下就来讨论使DDA法从原理走向实用必须解决的速度和精度控制问题。1.进给速度的均匀化措施——左移规格化从上述可知,数字积分器溢出脉冲的频率与被积函数寄存器中的存数成正比。如用DDA作直线插补时,每个程序段的时间间隔是固定不变的,因为不论加工行程长短,都必须同样完成m2n次的累加运算。就是说行程长,走刀快;行程短,走刀慢。所以各程序段的进给速度是不一致的。这样影响了加工的表面质量,特别是行程短的程序段生产率低。为了克服这一缺点,使溢出脉冲均匀,溢出速度提高,通常采用左移规格化处理。所谓“左移规格化”处理,是当被积函数的值比较小时,如被积函数寄存器有i个前零时,若直接迭代,那么至少需要2i次迭代,才能输出一个溢出脉冲,致使输出脉冲的速率下降。因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积函数实现“左移规格化”处理。经过左移规格化的数就成为规格化数——寄存器中的数其最高位为“1”时,该数即称为规格化数;反之最高位为“0”的数称为非规格化数。显然,规格化数累加两次必有一次溢出,而非规格化数必须作两次以上或多次累加才有一次溢出。2.提高插补精度的措施——余数寄存器预置数前已述及,DDA直线插补的插补误差小于一个脉冲当量,但是DDA圆弧插补的插补误差有可能大于一个脉冲当量,其原因是这样的:由于数字积分器溢出脉冲的频率与被积函数寄存器的存数成正比,当在坐标轴附近进行插补时,一个积分器的被积函数值接近于零,而另一个积分器的被积函数值却接近最大值(圆弧半径),这样,后者可能连续溢出,而前者几乎没有溢出,两个积分器的溢出脉冲速率相差很大,致使插补轨迹偏离理论曲线(见图2—5)。为了减小插补误差,提高插补精度,可以把积分器的位数增多,从而增加迭代次数。这相当于把图2—7矩形积分的小区间t取得更小。这样做可以减小插补误差,但是进给速度却降低了,所以我们不能无限制地增加寄存器的位数。在实际的积分器中,常常应用一种简便而行之有效的方法——余数寄存器预置数。即在DDA插补之前,余数寄存器JRx和JRy预置某一数值(不是零),这一数nn值可以是最大容量,即2-1,也可以是小于最大容量的某一个数,如2/2,常用“半加载”是在DDA迭代前,余数寄存器JRx和JRy的初值不是置零,而是置1000⋯000(即0.5),也就是说,把余数寄存器JRx和JRy的最高有效位置“1”,其余各位均置“0”,这样,只要再叠加0.5,余数寄存器就可以产生第一个溢出脉冲,使积分器提前溢出。这在被积函数较小,迟迟不能产生溢出的情况时,有很大的实际意义,因为它改善了溢出脉冲的时间分布,减小了插补误差。“半加载”可以使直线插补的误差减小到半个脉冲当量以内,一个显而易见的例子是:若直线OA的起点为坐标原点,终点坐标是A(15,1),没有“半加载”时,x积分器除第一次迭代没有溢出外,其余15次迭代均有溢出;而y积分器只有在第16次迭代时才有溢出脉冲(见图2—17(a))。若进行了“半加载”,则x积分器除第9次迭代没有溢出外,其余15次均有溢出;而y积分器的溢出提前到第8次迭代有溢出,这就改善了溢出脉冲的时间分布,提高了插补精度(见图2—17(a))。Y“半加载”后54未经“半加载”3理论曲线Y2“半加载”后11理论曲线A未经“半加载”O246810121416XO12345X图2-17“半加载”后的轨迹图2-17"半加载"后的轨迹(a)图2-17"半加载"后的轨迹(b)“半加载”使圆弧插补的精度得到明显改善。若对图2—17(b)的例子进行“半加载”,其插补轨迹如图中的折线所示,插补过程见表2—7。仔细比较后可以发现,“半加载”使x积分器的溢出脉冲提前了,从而提高了插补精度。所谓“全加载”,是在DDA迭代前将余数寄存器JRx和JRy的初值置成该寄存器的最大容量值(当为n位时,即置入2n-1),这会使得被积函数值很小的坐标积分器提早产生溢出,插补精度得到明显改善。B(0,6)654321A(6,0)O12345678X图2-18图2“-18全"加全载加”载后"后的的实际轨迹点击进入动画观看半加载,全加载DDA圆弧插补图2—18是使用“全加载”的方法得到的插补轨迹,由于被积函数寄存器和余数寄存器均为三位,置入最大数为7(111)。五、其他函数的DDA插补运算为方便起见,现将各种积分单元符号重画于图2—19,其中增量x,t,直接写成了它们的微分形式dx,dt,dy,这里所列的各种单元都可由先前的积分器基本线路演化得到。图2-19积分器符号图a)dy=xdt(b)dy=Kdt对于椭圆方程x2y2a2b21经微分并整理后可得dxa2ydtdyb2xdt其框图如图2-20(a)所示。对于双曲线的标准方程x2y2a2b21经微分并整理后可得2dxaydt2dybxdt其框图如图2—20(b)所示。2-13)(2-14)图2-20其他函数积分器符号图(a)椭圆(b)双曲线(c)抛物线抛物线抛物线的方程为2x经微分并整理可得dxa2dtdy2xdt(2—15)其框图如图2—20(c)所示。2—4数据采样插补法前面几节介绍的逐点比较法、数字脉冲乘法器法和数字积分法插补方法,都有一个共同的特点,就是插补计算的结果是以一个一个脉冲的方式输出给伺服系统,或者说产生的是单个的行程增量,因而统称为脉冲增量插补法或基准脉冲插补法,这种方法既可用于CNC系统,又常见于NC系统,尤其适于以步进电机为伺服元件的数控系统。在CNC系统中较广泛采用的另一种插补计算方法即所谓数据采样插补法,或称为时间分割法。它尤其适合于闭环和半闭环以直流或交流电机为执行机构的位置采样控制系统。这种方法是把加工一段直线或圆弧的整段时间细分为许多相等的时间间隔,称为单位时间间隔(或插补周期)。每经过一个单位时间间隔就进行一次插补计算,算出在这一时间间隔内各坐标轴的进给量,边计算,边加工,直至加工终点。与基准脉冲插补法不同,采用数据采样法插补时,在加工某一直线段或圆弧段的加工指令中必须给出加工进给速度v,先通过速度计算,将进给速度分割成单位时间间隔的插补进给量(或称为轮廓步长),又称为一次插补进给量。例如,在FANUC7M系统中,取插补周期为8ms,若v的单位取mm/min,f的单位取m/8ms,则一次插补进给量可用下列数值方程计算:fv100082v60100015按上式计算出一次插补进给量f后,根据刀具运动轨迹与各坐标轴的几何关系,就可求出各轴在一个插补周期内的插补进给量,按时间间隔(如8ms)以增量形式给各轴送出一个一个插补增量,通过驱动部分使机床完成预定轨迹的加工。由上述分析可知,这类算法的核心问题是如何计算各坐标轴的增长数x或y(而不是单个脉冲),有了前一插补周期末的动点位置值和本次插补周期内的坐标增长段,就很容易计算出本插补周期末的动点命令位置坐标值。对于直线插补来讲,插补所形成的轮廓步长子线段(即增长段)与给定的直线重合,不会造成轨迹误差。而在圆弧插补中,因要用切线或弦线来逼近圆弧,因而不可避免地会带来轮廓误差。其中切线近似具有较大的轮廓误差而不大采用,常用的是弦线逼近法。有时,数据采样插补是分两步完成的,即粗插补和精插补。第一步为粗插补,它是在给定起点和终点的曲线之间插入若干个点,即用若干条微小直线段来逼近给定曲线,粗插补在每个插补计算周期中计算一次。第二步为精插补,它是在粗插补计算出的每一条微小直线段上再做“数据点的密化”工作,这一步相当于对直线的脉冲增量插补。目前常用的数据采样方法有两种,分别出自于FANUC7M和A-B公司的7360系统。在7M系统中,插补周期为8ms,位置反馈采样周期为4ms,即插补周期为位置采样周期的2倍,它以内接弦进给代替圆弧插补中的弧线进给。在A-B公司的7300系列中,插补周期与位置反馈采样周期相同,插补算法为扩展DDA算法。下面分别介绍这两种系统的时间分割插补算法。一、7M系统中采用的时间分割法1.直线插补设要求刀具在xy平面中作如图2-28所示的直线运动。在这一程序段中,x和y轴的位移增量分别为xe和ye。插补时,取增量大的作长轴,小的为短轴,要求x和y轴的速度保持一定的比例,且同时终点。设刀具移动方向与长轴夹角为,OA为一次插补的进给步长f。根据程序段所提供的终点坐标P(xe,ye),可以确定出YΔxP(xe,ye)AΔyαOX图图2-228-28时间分割法直线插补时间分割法直线差补ye1tgcosxe和1tg2从而求得本次插补周期内长轴的插补进给量为xfcos(2-17)导出其短轴的进给量为yyexxe(2-18)2.圆弧插补如图2-29所示,顺圆弧AB为待加工曲线,下面推导其插补公式。在顺圆弧上的B点是继A点之后的插补瞬时点,两点的坐标分别为Axi,yi,Bxi1,yi1。所谓插补,在这里是指由点Axi,yi求出下一点Bxi1,yi1,实质上是求在一次插补周期的时间内,x轴和y轴的进给量x和y。图中的弦AB正是圆弧插补时每个周期的进给步长f,AP是A点的圆弧切线,M是弦的中点。显然,ME⊥AF,E是AF的中点,而OM⊥AB。由此,圆心角具有下列关系:i1i(2-19)图2-29时间分割法圆弧插补点击进入动画观看时间分割法圆弧插补式中δ为进给步长f所对应的角增量,称为角步距。由于△AOC~△PAF所以∠PAF=∠AOC=i11BAPAOB显然22因此BAPPAFi12在△MOD中DHHMtgi2OCCD将DH=xi;OC=yi;HM1fcos;CD1fsin22代入上式,则有xifcostgtgi22fyisin2(2-20)因为tgFByFAx而HM1x;CD1y22又可以推出xi和yi,x和y的关系式:yxi1xxi1fcos22xyi1yyi1fsin22(2-21)上式充分反映了圆弧上任意相邻两点的坐标间的关系。只要找到计算x和的恰当方法,就可以按下式求出新的插补点坐标:xi1xixyi1yiy(2-22)所以,关键是求解出x和y。事实上,只要求出tg值,根据函数关系便可求得x,y值,进而求得xi1,yi1值。由于式(2-20)中的sin和cos均为未知数,要直接算出tg很困难。7M系统采用的是一种近似算法,即以cos45°和sin45°来代替cos和sin,先求出xi1fcosxi1fcos45tg221fsin1yiyifsin4522(2-23)再由关系式cos1tg21(2-24)进而求得xfcos(2-25)由式(2-23)、(2-24)、(2-25)求出本周期的位移增量x后,将其与已知的坐标值xi,yi代入式(2-21),即可求得y值。在这种算法中,以弦进给代替弧进给是造成径向误差的主要原因。二、7360系统中采用的时间分割法美国AB公司的7360CNC系统采用了扩展的DDA采样插补算法,系统的插补周期与位置反馈采样周期相同,均为10.24ms,通过10.24ms的实时时钟中断来实现。图2-30扩展DDA直线插补扩展DDA直线插补假设根据编程的进给速度,要在时间段T内走完图2-30所示的直线段OE,终点为E(xe,ye),起点在原点(0,0)。图中的vx和vy分别为速度v的x和y坐标分量。由图中的三角形比例关系,可得vxxevxe2ye2(2-26)vyyevxe2ye2(2-27)T将时间区间T用采样周期t分割为n个子区间(n取t最接近的整数),从而在每个采样周期t内的坐标增量分别为xvxtxevxe2ye2yvytyevxe2ye2tvtxeFRNtxexe2ye2(2-28)tvtyeFRNtye22xeye(2-29)式中v——所要求的进给速度;FRN——进给速率数,公式为FRNvxe2ye2对于同一条直线来说,由于v和xe,ye,以及t均为已知常数,因此式中的FRN和t均为常数,可以记作d=FRNt。故同一条直线的每个采样周期内增量x和y的常数(即步长系数d)均相同。在每个采样周期算出的x和y基础之上,就可以得到本采样周期末的刀具位置坐标iyi值,即x和xixi1xi(2-30)yiyi1yi(2-31)从式(2-28)和(2-29)也可看出,直线插补中各坐标轴的进给步长x和y分别为轮廓步长(即子线段)的轴向分量,其大小仅仅随着进给速率编程值FRN或v变化。由于直线插补中每次迭代形成的子线段的斜率(y/x)等于给定的直线斜率,从而保证了轨迹要求。2.扩展DDA圆弧插补图2-31所示为第Ⅰ象限顺圆弧段AB,圆弧方程为x2y2R2图3-31扩展DAA圆弧插补点击进入动画观看扩展DDA圆弧插补设现时刀具处在Aixi,yi点的位置。若在一个采样周期t内,刀具沿切线方向的轮廓进给步长为f,即进给一步后应到达Ci1点,显然,ACii1的长度为f。由图可见,它的径向误差是较大的。扩展DDA算法并不是让刀具沿切线进给,而是将切线逼近圆弧的方法转化为弦线逼近法。如果我们通过ACi线段的中点B作半径为OB的圆弧的切线BCi1,再通过Ai点作BCi1的平行线AHi,即AiH∥BCi1,并在AHi上截取AiAi1=ACi1=f(容易证明Ai1AA进i点必不在圆弧侧)。扩展DDA就是用线段ii1给来代替ACii1的切线段进给,即扩展DDA在一个采样周期内计算的结果,应是刀具从Ai点沿弦线走到Ai1点(而不是沿切线走到Ci1点)。显然,这样进给使径向误差减小了。现在我们就来计算在采样周期t内的轮廓进给步长f之坐标分量xi1和yi1值,得到了此两值,就很容易得到本次采样周期后应达到的坐标位置Ai1。由图2-31可见,在直角△OPAi中OPxisinOAiR(2-32)AiPyicosOAiR(2-33)设刀具以恒速进给,即在每个采样周期t内的进给速度均为v,显然,AiAi1f=vt。过B点作x轴的平行线BS交y轴于S点,交APi线段于S点。可以看出,直角△OSB与直角△AiNAi1相似,从而有比例关系:N'Ai1OSAiAi1OB(2-34)式中NAi1=xi1;AiAi1fvt在直角△ASiB中ASABsin1fsinii2因此OSAiPAiSyi1fsin2在直角△OABi中2OB221fR2ABOAii2将以上各式代入式(2-34),有yi1fsinxi12f1f2R22将式(2-32)代入上式并整理,得fyi1fxixi12R1f2R221f2因为fR,故将2略去不计,则上式为f1xiv1vxi1Ryi2fRRtyi2Rtxi若令d则vRtFRNt1dxixi1dyi2(2-35)在上述两相似三角形的关系中,还有下式成立:AiNSBAiAi1OB即AiNSSSBAiAi1OB已知AiAi1fvt;1f2OBR22由直角△ASiB得SBAi1yiBcosf2R而SS=xi,因此fxi1fyi2RAiAi1SSSB12yi1fR2AiNOB=21f2同理,因fR,故略去2不计,则yi1fxifyiR2R仍记fvdRRt则1yi1dxi2dyi(2-36)由于Aixi,yi为已知,故利用式(2-35)和(2-36)很容易求得xi1和yi1值。有了此两值,就可算出本次采样周期刀具应达到的坐标位置xi1和yi1值,即xi1xixi1yi1yiyi1依照此原理,读者不难得出其他象限及其他走向的圆弧插补之计算公式。这里不再赘述。§2—5其他插补方法一、比较积分法比较积分法又称为脉冲间隔法。我们知道,以积分原理为基础构成的数字积分法,可以灵活地实现各种函数的插补和多坐标直线的插补。但是,由于其溢出脉冲频率与被积函数值大小有关,所以存在着速度调节不便的缺点。相反,逐点比较法由于以判别原理为基础,其进给脉冲是跟随指令运算频率(脉冲源频率)的,因而速度平稳,调节方便,恰恰克服了数字积分法的缺点。但它在某些二次曲线的插补计算上不大方便。如果我们能把两种方法
/
本文档为【逐点比较法直线插补】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索