逐点比较法和数字积分的直线插补

合集下载

[毕业设计]逐点比较法和数字积分的直线插补

[毕业设计]逐点比较法和数字积分的直线插补

[毕业设计]逐点比较法和数字积分的直线插补随着数控技术的不断发展,数字积分已经成为了控制机床运动的一种重要手段。

直线插补作为数控机床中最基本的控制方式之一,不仅能够有效提高机床的加工精度和效率,同时也可以降低操作难度,提高工作效率,因此十分受到广大用户的欢迎。

逐点比较法和数字积分两种插补方式,它们各有优缺点。

逐点比较法是一种基于宏观视角上的插补方法,即从整体上把握机床加工大致规律,在控制过程中逐步调整每个点的位置和状态,确定合适的插补曲线。

在操作上,逐点比较法要求能够对机床加工过程有较深入的了解,能够根据加工物料、设备性能、工艺流程等因素,快速作出正确的决策,因此对操作员要求较高。

但是,由于它采用线性插补方式,使得机床加工的东西能够准确地还原成数字轨迹,大大提高了加工精度。

数字积分是一种基于微观视角上的插补方法,即从插补点的微小变化中来处理插补曲线。

数字积分可以通过数学模型对加工物料、设备性能、工艺流程等进行分析,自动计算出合适的插补曲线,使得机床能够在不同加工条件下保持较高的生产效率和精度水平。

数字积分操作简单方便,操作员只需在计算机上输入相关数据、指令等信息即可自动完成插补过程,因此广泛应用于数控机床中。

相对于逐点比较法而言,数字积分能够更好的适应复杂的加工过程,具有更高的智能化水平。

然而,数字积分也存在一些缺陷,它的主要问题是精度问题。

由于数字积分采用数学模型计算,导致其有一定的误差,尤其是在复杂曲线的情况下,其误差更大。

因此,在高精度加工场合下,逐点比较法仍旧是一种比较流行和成熟的插补方式。

综上所述,在工业加工和制造的具体应用中,我们应该根据具体情况来选择逐点比较法和数字积分两种插补方式。

对于简单加工、精度要求较低的加工应用,数字积分是比较适合的方法;而对于复杂加工、精度要求较高的加工应用,逐点比较法则更加适合。

无论是逐点比较法还是数字积分,都应该被工业加工和制造企业充分利用,以便在工业制造的过程中,更好地提高加工效率和产品质量。

运动控制的基本算法

运动控制的基本算法

运动控制的基本算法
多轴直线插补算法,如逐点比较法、数字积分法、最小偏差
法。

逐点比较法,插补算法中最简单的运算。

插补精度小于一个脉冲,每次仅向坐标轴方向发送一个进给脉冲,每次发脉冲前都要计算当前坐标点与理论轨迹的偏差判断插补进给方
精心整理
向。

数字积分法
运算速度快,脉冲分配均匀、易于实现多坐标插补及各种函
数曲线插补
圆弧插补算法
如逐点比较法、数字积分法、最小偏差法。

最小偏差法是在逐点就、比较法的基础上发展
精心整理
而来,比逐点比较法多了一个进给方向,即X、Y轴可以同时运动,因此插补精度高,误差小于二分之一个脉冲当量,
电子齿轮、电子凸轮
运动控制器提供电子齿轮、电子凸轮的功能,以此取代电子齿轮、电子凸轮。

降低了硬件成本,具有改变传动比方向,
精心整理
传动比大等优点。

精心整理。

插补原理与刀具补偿原理

插补原理与刀具补偿原理

2
3 4 5
F1=-3 F2=-1 F3=1
F4=-2
∑=0
一、逐点比较法第一象限直线插补
2.硬件实现
一、逐点比较法第一象限直线插补
3.软件实现
二、逐点比较法第一象限圆弧插补
1.基本原理 在圆弧加工过程中,要描述刀具位置与被加工圆 弧之间的相对位置关系,可用动点到圆心的位置的距 离大小来反映
(1)偏差函数 任意加工点Pi(Xi,Yi),偏差函数Fi可表示为
(累加形式)
其中,m为累加次数(容量)取为整数,m=0〜2N-1,共2N 次(N为累加器位数)。 令△t =1,mK =1,则K =1/m=1/2N。
m Xe X Xe N i 1 2 m Ye Y Ye N i 1 2



(2)结论:直线插补从始点走向终点的过程,可以看作是各坐标轴每经过一 个单位时间间隔,分别以增量kxe(xe / 2N )及k (ye / 2N )同时累加的过程。 累加的结果为:
E (Xe、Ye)
B(Xb,Yb) Cቤተ መጻሕፍቲ ባይዱXc,Yc) o X
则取函数F=YXe -XYe来判别插补点和直线的偏差,且F 被称为偏差函数。 所以,任意动点I的判别方程 Fi为: Fi=YiXe -XiYe 若 Fi=0,则动点恰好在直线上; Fi>0,动点在直线上方; Y Fi< 0,动点在直线下方。 A(Xa,Ya)
DDA直线插补:以Xe/2N 、ye/2N (二进制小数,形式上即Xe、
ye
)作为被积函数,同时进行积分(累加),N为累加器的位数, 当累加值大于2N -1时,便发生溢出,而余数仍存放在累加器中。 积分值=溢出脉冲数代表的值+余数 当两个积分累加器根据插补时钟脉冲同步累加时,用这些溢出 脉冲数(最终X坐标Xe个脉冲、Y坐标ye个脉冲)分别控制相应坐标 轴的运动,加工出要求的直线。 (3)终点判别 累加次数、即插补循环数是否等于2N可作为DDA法直线插补判 别终点的依据。

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧
3.1 程序开始运行时显示介面
3.2 执行计算
在右侧面板中有参数输入区,方式选择区以及执行按钮等操作。
若输入参数和符合要求则出现错误对话框;“参数有误”
若不选择插补对象为‘直线’或‘圆弧’直接按下‘复位’按钮会出现警示对话框提示“请选择插补对象”
注:在直线插补中,对起始点坐标和终点坐标不作要求,但步长必须不能为0;在圆弧插补中,起始点坐标必须为二三象限的点,且终止点必须在起始点下侧,这事保证圆弧为劣弧的条件之一。步长在任何情况下不能为0 。
4.2 主要算法的实现
4.2.1参数声明
起点坐标(sx,sy);终点坐标(ex,ey);
圆心坐标(cx,cy);步长bc;
4.2.2复位操作程序:
functionfw_Callback(hObject, eventdata, handles)
globalsx sy ex ey cx cy bc m vx1 vy1 rx1 ry1
3.2 执行计算……………………………………………………………5
3.3DDA法直线插补实例………………………………………………6
3.4逐点比较法插补第二三象限逆时针圆弧…………………………7
四、主要算法及源程序
4.1 程序设计概述………………………………………………………8
set(gca,'YTick',[-10:1:10]);
axis([-10 10 -10 10]);
axismanual;
ifs_1==0&&s_2==0
warndlg('请选择插补对象');
else
ifget(handles.zx,'value')
m=str2double(get(handles.m,'String'));

逐点比较法直线插补

逐点比较法直线插补

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

逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。

这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。

在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。

下面分别介绍逐点比较法直线插补和圆弧插补的原理。

一、 逐点比较法直线插补如上所述,偏差计算是逐点比较法关键的一步。

下面以第Ⅰ象限直线为例导出其偏差计算公式。

图 2-1 直 线 差 补 过 程e )OY图2-1 直线插补过程点击进入动画观看逐点比较法直线插补如图2—1所示,假定直线 OA 的起点为坐标原点,终点A 的坐标为e e i j A(x ,y ),P(x ,y )为加工点,若P 点正好处在直线OA 上,那么下式成立:e j i e x y - x y 0若任意点i j P(x ,y )在直线 OA 的上方(严格地说,在直线OA 与y 轴所成夹角区域内),那么有下述关系成立:jei ey y x x >亦即:e j i e x y - x y 0>由此可以取偏差判别函数ij F 为:ij e j i e F x y - x y =由 ij F 的数值(称为“偏差”)就可以判别出P 点与直线的相对位置。

即: 当 ij F =0时,点i j P(x ,y )正好落在直线上;当 ij F >0时,点i j P(x ,y )落在直线的上方;当ij F <0时,点i j P(x ,y )落在直线的下方。

从图2—1看出,对于起点在原点,终点为A ( e e x ,y )的第Ⅰ象限直线OA 来说,当点P 在直线上方(即ij F >0)时,应该向+x 方向发一个脉冲,使机床刀具向+x 方向前进一步,以接近该直线;当点P 在直线下方(即ij F <0)时,应该向+y 方向发一个脉冲,使机床刀具向+y 方向前进一步,趋向该直线;当点P 正好在直线上(即 ij F =0)时,既可向+x 方向发一脉冲,也可向+y 方向发一脉冲。

数控原理与系统——插补和刀补计算原理

数控原理与系统——插补和刀补计算原理

一、逐点比较法直线插补 y
2. 算法分析(第Ⅰ 象限)
偏差判别
直线上 直线上方
y j ye xi xe
y j ye xi xe
xe y j xi ye 0
o
xe y j xi ye 0
A(xe,ye) F>0 P(xi,yj) F<0
x
直线下方 y j ye
xi xe
xe y j xi ye 0
一、逐点比较法直线插补
2. 算法分析(第Ⅰ 象限)
终点比较
用Xe+Ye作为计数器,每走一步对计数器进行减1计算, 直到计数器为零为止。
总结
Fij xe y j xi ye
第一拍 判别 第二拍 进给 第三拍 运算 第四拍 比较
Fij 0
Fij 0
x
y
Fi1, j Fi, j ye
Fi , j1 Fi , j xe
1. 基本原理
在刀具按要求轨迹运动加工零件轮廓的过程中,不 断比较刀具与被加工零件轮廓之间的相对位置,并根据 比较结果决定下一步的进给方向,使刀具向减小误差的 方向进给。其算法最大偏差不会超过一个脉冲当量δ。
每进给一步需要四个节拍: 偏差判别 坐标进给 新偏差计算
终点比较
数控机床原理与系统 §2-2 逐点比较法
1. 插补的定义
数据密集化的过程。数控系统根据输入的基本 数据(直线起点、终点坐标,圆弧圆心、起点、终 点坐标、进给速度等)运用一定的算法,自动的在 有限坐标点之间形成一系列的坐标数据,从而自动 的对各坐标轴进行脉冲分配,完成整个线段的轨迹 分析,以满足加工精度的要求。
要求:实时性好,算法误差小、精度高、速度均匀性好
Fi1, j Fi, j 2 xi 1 Fi, j1 Fi, j 2 y j 1

逐点比较法的性能和数字积分法

逐点比较法的性能和数字积分法

的速度分量为Vx,Vy,
则有
Y
V Vx Vy k OE X e Ye
Vy V E(Xe,Ye)
(k为常数) (3-16)
各坐标轴的位移量为
Vx
X Vxdt kXedt
O
X
Y Vydt kYedt (3-17)
图3-19 DDA直线插补
数字积分法是求式(3-17)从 O到E区间的定积分。此积分值等 于由O到E的坐标增量,因积分是 从原点开始的,所以坐标增量即是 终点坐标。
1. 数字积分法直线插补 例子:
若要产生直线OE,其起点为坐标原点O, 终点坐标为E(7,4)。设寄存器和累加 器容量为1,将Xe=7,Ye=4分别分成8
段,每一段分别为7/8,4/8,将其存入
X和Y函数寄存器中。
第一个时钟脉冲来到时,累加器里 的值分别为7/8,4/8,因不大于累加器 容量,没有溢出脉冲。
停止插补。
例题
设欲加工第一象限直线OE,起点在原点,终点坐标Xe=5, Ye=4,试写出插补计算过程并绘制插补轨迹。
步数 偏差判别 坐标进给
偏差计算
终点判别
1 F0=0 2 F1<0 3 F2>0 4 F3<0 5 F4>0 6 F5<0 7 F6>0 8 F7<0 9 F8>0
F0=0
+X
F1.= F0 - Ye =0-4=-4
Ⅱ Ⅲ
-X -X
+Y -Y
Fm1 Fm Ye Fபைடு நூலகம்1 Fm Xe

+X
-Y
不同象限直线的逐点比较插补
二、圆弧插补 1.偏差计算公式
因为
Rm2
X
2 m
Ym2

第三章 插补原理及控制方法

第三章  插补原理及控制方法

昆明学院戴丽玲
12
3-1 逐点比较法插补
6)四个象限直线的插补 第二、三、四象限的 直线插补,其逐点比较法 直线插补原理与第一象限 直线相同,只是注意在处 理时计算公式
+Y F≽0
F x y x i e i iy e
中的各坐标值取做绝对值 即可。
-X
F<0
F<0
+X
F≽0 -Y
图3.6 四象限直线插补
2019/2/14
昆明学院戴丽玲
23
3-2 数字积分法插补
数字积分法又称数字微分分析法( DDA ,Digital Differential Analyzer),数字积分法具有运算速度快,脉 冲分配均匀的特点,易于实现多坐标的联动及描绘平面各 种函数曲线。 一、数字积分法的数学原理 Y 如右图,函数在 [t0 , tn ]的定积分,即 为函数在该区间的面积: Yi-1 Yi Y=f(t)
终点判别
Σ=4+4=8 Σ=8-1=7 Σ=7-1=6 Σ=5 Σ=4 Σ=3 Σ=2 Σ=1 Σ=0
F0=0 F1<0 F2<0 F3<0 F4>0 F5<0 F6>0 F7>0
-x +y +y +y -x +y -x -x
2
3 4 5 6
F1=F0-2x0+1 =0-2*4+1=-7 F2=F1+2y1+1 =-7+2*0+1=-6 F3=F2+2y2+1=-3 F4=F3+2y3+1=2 F5=F4-2x4+1=-3 F6=F5+2y5+1=4 F7=F6-2x6+1=1 F8=F7-2x7+1=0

插补原理概述

插补原理概述

2.1 插 补 原 理
2. 逐点比较法圆弧插补
在圆弧加工过程中,要描述刀具位置与被加工圆弧之间关系,可用动
点到圆心距离大小来反映。见图2-8,设圆弧圆心在坐标原点,己知圆弧
起点 A(X,a ,终Ya )点 ,B(X圆b,弧Yb )半径为R。加工点可能在三种情况出现,圆弧 上、圆弧外、圆弧内。
①当动点 P(X位,Y)于圆弧上时有
②若 F ,0 表明动点在圆内,应向+X向进给,计算出新一点的偏差。
如此走一步,算一步,直至终点。
由于偏差计算公式中有平方值计算,下面采用递推公式给予简化。对
第(一Xi象1,Y且i限1) 顺圆,X,i+1 =FXi,,i ³Yi动则+01 =点新Yi点-1的Pi偏应( X差向i , 值-YYi )为向进给,新的动点坐标为
②若点在直线上,则有 X eY - XYe > 0
③若点在直线下方,则有 X eY - XYe = 0
X
Y
e
-
XY e
<
0
因此,可以构造函数偏差为
F = X Y - XY
(2-2)
e
e
2.1 插 补 原 理
对于第一象限直线,其偏差符号与进给方向之间的关系为:
①F=0时,表示动点在OE上,如点P,可向+X向进给,也可向+Y方向进
7
F6 0
+X
F7 F6 Ye 0 0
由直线插补例子看出,在起点和终点处,刀具都在直线上。通过逐点比较法,控
制刀具走出一条尽量接近零件轮廓直线的轨迹,当脉冲当量很小时,刀具走出的折
线非常接近直线轨迹,逼近误差的大小与脉Байду номын сангаас当量的大小直接相关。

逐点比较法数字积分法等插补原理

逐点比较法数字积分法等插补原理
F 0
A3(xe , ye )
x F 0
F 0
A4 (xe , ye ) -y
由上图可以推导得出,四个象限直线插补的坐标进给方向和偏差计算公式。
所在象限
Fm≥0
进给方向
偏差计算
所在象限
Fm<0
进给方向
偏差计算
一、四 二、三
+x
一、二-xBiblioteka Fm+1=Fm-ye
三、四
+y
-y
Fm+1=Fm+xe
3.直线插补运算的程序实现
(3) 圆弧插补计算过程比直线插补计算过程多一个环节,即要计
算加工点瞬时坐标(动点坐标)值。
因此圆弧插补计算过程分为五个步骤即偏差判别、坐标进给、
2.四个象限的圆弧插补
(1)第一象限顺圆弧的插补计算
第一象限顺圆弧CD,圆弧的圆心在坐标原点,并已知起点C(x0,y0),终 点D(xe,ye),如图所示。设加工点现处于m(xm,ym)点, 若Fm≥0,则沿-y方向进给一步,到(m+1)点,新加工点坐标将是(xm,ym-1),
Nxy=9
+y
F2=F1+xe=2
Nxy=8
+x
F3=F2-ye=-2
Nxy=7
+y
F4=F3+xe=4
Nxy=6
+x
F5=F4-ye=0
Nxy=5
+x
F6=F5-ye=-4
Nxy=4
+y
F7=F6+xe=2
Nxy=3
+x
F8=F7-ye=-2
Nxy=2
+y

逐点比较法

逐点比较法
}
else
{
ZF=4;
X=X;
Y=Y-1;
printf("X=%d,Y=%d\n",X,Y);
}
FM=FM+XE;
}
NXY=NXY-1;
}
}
2.5运行结果
3.数字积分直线插补
3.1数字积分法直线插补的基本原理
数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动
利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器(Digital Differential Analyzer),简称DDA。数字积分器插补的最大优点在于容易实现多坐标轴的联动插补、能够描述空间直线及平面各种函数曲线等。因此,数字积分法插补在轮廓数控系统中得到广泛的应用。
积分器作直线插补时,不论各段程序的被积函数大小,都必须经过m=2n次累加运算才能到达终点。这样各个坐标溢出脉冲的速度受被积函数的大小影响。被积函数愈大,溢出脉冲速度愈快,因而机床的进给速度也愈快;反之,被积函数愈小,速度愈低,机床的进给速度愈慢。即加工尺寸大,走刀快,加工尺寸小,走刀慢。所以各程序段的进给速度是不一致的,这将影响加工的表面质量,特别是行程短的程序段,生产效率低控制积分器的溢出速度的方法——左移规格化
第四步:终点判别,判断刀具是否到达被加工零件的终点,若到达终点,则结束插补,否则继续插补,如此不断循环以上四个节拍就可加工出所要求的曲线。
2.3直线插补程序流程图
图2直线插补程序流程图
2.4直线插补程序
#include<stdio.h>
main()
{
int X=0,Y=0,XE,YE,XOY,NXY,FM=0,ZF;

数控插补

数控插补

(b)
③ 插补计算过程
偏差判断 坐标进给
偏差计算 终点判别
2.逐点比较法圆弧插补
(1)圆弧插补计算原理
① 偏差计算公式
定义圆弧偏差判别式如下:
Fm=Rm2R2= xm2+ym2R2
新加工点m+1点的偏差为
Fm43;1
插补计算过程
逐点比较法插补原理:
逐点比较法又称代数运算法、醉步法。基 本原理是:计算机在控制加工过程中,能逐点地 计算和判别加工误差,与规定的运动轨迹进行比 较,由比较结果决定下一步的移动方向。既可以 做直线插补,又可以做圆弧插补。这种算法的特 点是:运算直观,插补误差小于一个脉冲当量, 输出脉冲均匀,而且输出脉冲的速度变化小,调 节方便,因此,在两坐标联动的数控机床中应用 较为广泛。
数控机床的工作原理
数控系统的主要任务之一就是控制执行机 构按预定的轨迹运动。一般情况是已知运动轨迹 的起点坐标、终点坐标和曲线方程,由数控系统 实时地算出各个中间点的坐标。即需要“插入、 补上”运动轨迹各个中间点的坐标,通常这个过 程就称为“插补”。 常用插补方法:逐点比较法、数字积分法、 数字脉冲乘法器插补法。
1.逐点比较法直线插补
(1)直线插补计算原理
偏差计算公式
定义直线插补的偏差判别式如下:
E(xe,ye)
0=yxexye Fm=ymxexmye
Y
M(xm,ym)
N(xn,yn)
O
X
沿着+X方向走一步,即: Xi+1=Xi+1,Fi+1,j=YjXe-(Xi+1)Ye=Fi,j-Ye
(a) 图2.1 直线插补和圆弧插补 a 直线插补 b 圆弧插补

差补原理及控制方法

差补原理及控制方法

第 三
如右图,函数在[t0 , tn ]的定 积分,即为函数在该区间
章 的面积:
2020年2月28日星期五
Yi-1 Yi
Y=f(t)
插 补
O t0 t1 t2
ti-1 ti
tn t
原 如果从t=0开始,取自变量 理 t的一系列等间隔值为△t, 及 当△t足够小时,可得
如果取△t=1,即一个脉冲 当量δ,则

L1,L4 +X
Fm+1= Fm-ye
L1,L2
+Y
Fm+1= Fm+xe
制 L2,L3 -X
L3,L4 -Y


7
数 3-1 逐点比较法插补

技第

一 象
第限
三直
章线
插 补 原 理
及 控
插 补 程 序 框 图



2020年2月28日星期五 8
数 3-1 逐点比较法插补
2020年2月28日星期五

章Y
插 补 原 理
及O 控 制 方

插 补 步 骤
X
2020年2月28日星期五
插补开始 偏差判别 坐标进给 偏差计算
N 终点判别
Y 插补结束
3
数 3-1 逐点比较法插补
2020年2月28日星期五

技 一、逐点比较法直线插补
➢偏差判别函数
术Y
当M在OA上,即F=0时;

三 章
插 补
M(Xi,Yi)
2N-1


19
数 3-2 数字积分法插补

技 若要满足

数控机床插补计算

数控机床插补计算

新点的偏差为
2.终点判别的方法
一种方法是设置两个减法计数器,在计数器中 分别存入终点坐标值,各坐标方向每进给一步时,就 在相应的计数器中减去1,直到两个计数器中的数都 减为零时,停止插补,到达终点。
另一种方法是设置一个终点计数器,计数器中 存入两坐标进给的步数总和,当x或y坐标进给时均 减1,当减到零时,停止插补,到达终点。
四个象限圆弧插补计算
与直线插补相似,计算用 坐标的绝对值进行,进给方向 另做处理。从图看出SRl、NR2、 SR3、NR4的插补运动趋势都是 使X轴坐标绝对值增加、y轴坐 标绝对值减小。NRl、SR2、 NR3、SR4插补运动趋势都是使 X轴坐标绝对值减小、y轴坐标 绝对值增加。
(二)圆弧插补计算举例 设加工第一象限逆圆AB,已知起点A(4,0),终 点B(o,4)。试进行插补计算并画出走步轨迹。
2.2.2 刀具半径补偿 1.刀具半径补偿概念
刀具半径补偿功能是指改变刀具中心运动轨迹的功能。如图 所示,用铣刀铣工件轮廓时,刀具中心应始终偏离工件表面一个 刀具半径的距离,编程人员则以工件的轮廓表面尺寸进行编程。 当刀具半径确定之后,可以将刀具半径的实测值输入刀具半 径补偿存储器,存储起来,加工时可根据需要用G41或G42进行调 用。G41和G42分别为左刀补和右刀补。如图所示。
2.2
刀具补偿原理
数控系统对刀具的控制是以刀架参考点为基准的,但零件加 工是用刀尖点进行的,所以需要在刀架参考点和刀尖点之间进 行位置偏置(补偿)。
2.1.2
刀具长度补偿
以数控车床为例,P为刀尖,Q为刀架参考点,设刀尖圆 弧半径为零。利用测量装置测出刀尖点相对于刀架参考点的 坐标(xpq ,ypq ),存入刀补内存表中。 编程时以刀尖点P(XP,ZP) 来编程,刀架参考点坐标 Q(Xq,Zq)由下式求出 Xq=XP- xpq P(XP,ZP) xpq Q Zq=ZP- Zpq 刀具长度补偿由G43、G44及 zpq H代码指定。

逐点比较法直线插补原理

逐点比较法直线插补原理

偏差判别
F0,0=0 F1,0=-2<0 F1,1=1>0 F2,1=-1<0 F2,2=2>0
坐标进给
+△X +△Y +△X +△Y +△X
偏差计算 F0,0=0 F1,0= F0,0-Ye =-2 F1,1= F1,0+X e =1 F2,1= F1,1-Ye =-1 F2,2= F2,1+X e =2 F3,2= F2,2-Ye =0
4 F3<0 +Y 5 F3>0 +X 6 F5<0 +Y
F4 F3 Xe 2
F5 F6
F4 F5
Ye Xe
1
Y3
7 F6>0 +X
F7 F6 Ye 0 3
2
《数控技术及装
终 点判别
∑=7 ∑=6 ∑=5 ∑=4 ∑=3 ∑=2 ∑=1 ∑=0
E(4,3)
1
O 1 234
X 13
§ 4-1 插 补 原 理 与 程 序 设 计
F≥0
L1 F<0
标值的符号来确定。
➢ 按照以上的插补规律,
可编制出逐点比较法直
F<0
线插补的程序。下面是
编制的演示程序。
L3
O
F≥0 F≥0
x F<0
L4
18
结语
谢谢大家!
一个脉冲当量,输出脉冲均匀,
速度变化小,调节方便。
(2,2) (3,2)
(1,1)
(2,1)
X
(0,0)
(1,0)
7
§ 4-1 插 补 原 理 与 程 序 设 计
1. 逐点比较法直线插补算法
《数控技术及装

第三章插补原理及控制方法

第三章插补原理及控制方法



终点判别
N
终点?



结束
25
二、逐点比较法圆弧插补---其它象限
y
F>0
y
F>0

F<0
F<0
三 章
o
x
o
x




逆圆
顺圆
及 控
各象限插补进给方向, 各象限插补进给方向,远

远离原点坐标值加一接 离原点坐标值加一,接近

近原点坐标值减一。
原点坐标值减一。

26
作业
试推导逐点比较法第一象限顺圆弧 第 插补的递推公式,并画出程序流程图。
逐点比较插补计算法(简称逐点比较法)

三 章
数字积分插补计算法(简称数字积分法)
插 时间分割插补计算法(简称时间分割法)


理 及
样条插补计算方法等。




2
3-1 逐点比较法插补
逐点比较插补计算法(简称逐点比
第 较法)又称区域判别法。


其原理是:计算机在控制加工轨迹过
插 程中逐点计算和判断加工偏差以控制坐

当M点在直线上时, + Δ X
y
插 补
(αi= α)

M (x i y j )
A

及 控
tg αi= tg α

方 法
αi

x
6
其中 tg αi= y j / xi
tgα= y e / x e
tg αi -tgα= y j / xi - y e / x e

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧⽬录⼀、课程设计介绍1.1 任务说明 (3)1.2要求 (3)⼆、程序操作及算法流程图2.1 DDA法插补直线流程 (3)2.2逐点⽐较法插补逆时针圆弧流程 (4)三、⽤户使⽤说明3.1 程序开始运⾏时显⽰介⾯ (5)3.2 执⾏计算 (5)3.3 DDA法直线插补实例 (6)3.4 逐点⽐较法插补第⼆三象限逆时针圆弧 (7)四、主要算法及源程序4.1 程序设计概述 (8)4.2 主要算法的实现 (8)4.2.1 参数声明 (8)4.2.2复位操作 (9)4.2.3单步操作 (11)4.2.4 连续插补 (11)4.2.5 辅助操作 (13)五、本设计的特点 (13)六、课程设计的感想 (13)七、主要参考⽂献 (14)⼀、课程设计介绍1.1、任务说明:(1)直线插补:DL1, DDA 法第⼀象限直线插补。

(2)圆弧插补:PA23,逐点⽐较法⼆三象限顺圆弧插补。

1.2、要求:(1)具有数据输⼊界⾯,如:起点,终点,圆⼼,半径及插补步长。

(2)具有插补过程的动态显⽰功能,如:但单步插补,连续插补,插补步长可调。

本课程设计的题⽬要求是DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧。

由于本课设要求只为⼆三象限,故默认为劣弧插补。

此外,对于两种插补对象均可根据需要改变插补步长,以表现不同的插补效果。

在插补显⽰过程中,有两种插补显⽰⽅式,即⼿动单步插补和⾃动连续插补动态显⽰。

⼆、程序操作及算法流程图 2.1 DDA 法插补直线流程初始化sx sy ex ey 步长bc 寄存器vx1 vy1 累加器 rx1 ry1rx1=rx1+vx1 ry1=ry1+vy1ry1是否溢出rx1是否溢出是否到达终点结束 +x ⾛⼀个步长 +y ⾛⼀个步长NY NYNY开始DDA 插补第⼀象限的直线流程图2.2逐点⽐较法插补逆时针圆弧流程逐点⽐较法插补⼆三象限逆圆弧参数说明:sx 、sy 为起点坐标ex 、ey 为终点坐标开始初始化sx ex sy sy bc 弧半径平⽅rY21>=0r>=0r>=0向—y ⾛⼀步向x ⾛⼀步向—y ⾛⼀步向—x ⾛⼀步是否到达终点结束yyynnnn yn为进给总次数cx、cy为圆⼼坐标bc为步长m为寄存器位数s_1表⽰按下直线选项,s_2表⽰按下圆弧按钮三、⽤户使⽤说明——软件运⾏说明及结果显⽰3.1 程序开始运⾏时显⽰介⾯3.2 执⾏计算在右侧⾯板中有参数输⼊区,⽅式选择区以及执⾏按钮等操作。

第十讲 插补算法-比较积分及算法的对比

第十讲 插补算法-比较积分及算法的对比
比较积分法插补
插补效率-逐点比较
逐点比较一个插补周期走 一个坐标轴,插补次数为 终点终点坐标绝对值和!
插补效率-数字积分
累加上限为:8
因累加器为硬件电路实现, 数字电路不能保证每个插 补周期都有脉冲溢出!
插补效率-累加器用软件实现
累加上限为:5
比较积分!
累加器的上限为各坐标值 的最大坐标,可显著提高 插补效率!
逐点比较能插补多维曲线吗? DDA、比较积分怎样插补多维曲线? 螺旋线怎么插补?
课后思考!
实例1
实例2
实例3
实例4
实例5
实例6
比较积分效率最高!
逐点比较、DDA精度对比直源自DDA优于逐点比较!逐点比较、DDA精度对比
圆弧DDA、逐点比较相近!
DDA、比较积分精度对比
直线DDA、比较积分相近!
逐点比较、DDA精度对比
圆弧DDA、比较积分相近!
总结:
1、比较积分是DDA的改良,软件实现累加上限; 2、DDA的精度优于逐点比较,比较积分的精度与 DDA相近,比较积分的插补效率最高! 3、实际工程中,DDA与比较积分都会使用半加载技 术!

第四章 插补原理与速度控制

第四章 插补原理与速度控制

n=6=N完
四象限直线插补
A2(-Xe,Ye)
A1(Xe,Ye)
A3(-Xe,-Ye) 直线插补各象限偏差符号和相应的进给方向
A4(Xe,-Ye)
(二)圆弧插补(第一象限顺圆插补)
1、偏差判别函数 2、偏差计算与进给方向 3、终点判别 4、举例
1、偏差判别函数



用P(x,y)表示某 一时刻刀具的位 置,则偏差函数 为: F=x2+y2-R2 F>0 在圆外 F<0 在圆内 F=0 在圆上
X11= X10=7 Y11= Y10+1=8
n=11<N
X12 =X11 -1=6 n=12=N Y12 = Y11=8 到达终 点
Y 8 6
B(6,8)
4
2
2
4
6
8
10
四个象限圆弧插补
F>0
F>0 F>0 F<0 F<0 F<0 F<0
F>0
F<0
F>0 F<0 F>0
F<0
F<0
F>0 F>0
+X +X,+Y +X
20-16=4 24-16=8 18-16=2 20-16=4
+X,+Y +X
+X,+Y +X +X,+Y +X +X,+Y
22-16=6 16-16=0
20-16=4 24-16=8 18-16=2 22-16=6 16-16=0
19-16=3
18-16=2
17-16=1

3,4---第二章 数控机床的插补原理――直线插补与圆弧插补计算原理

3,4---第二章 数控机床的插补原理――直线插补与圆弧插补计算原理
偏差判别: 根据偏差值判定进给方向
直线上
=
YmXe―XmYe=0
直线上方
>
YmXe―XmYe>0
直线下方
<
YmXe―XmYe<0
{ 偏差判别函数:Fm = ymxe-xmye
= 0 在直线上; >0在直线上方
< 0 在直线下方
(五)逐点比较法直线插补
2. 算法分析(第Ⅰ象限)
坐标进给:
根据判定的进给方向,向该坐标 方向发一进给脉冲
特点:以折线逼近直线、圆弧或各类曲线。
精度高:最大偏差不超过一个脉冲当量。
(四)逐点比较法
插补开始 方向判定
逐点比较法 工作循环过程
坐标进给
偏差计算
终点到?
N
插补结束
Y
(五)逐点比较法直线插补
y A(xe,ye)
o
x
每次插补计算输出一个脉冲,不是进给到X轴 方向,就是进给到Y轴方向,不可能两个坐标轴都进给
数据采样插补:(又称为时间标量插补或数字增量插 补,8ms,10.24ms)数控装置产生的不是单个脉冲,而 是采样周期内,各坐标的位移量
①直线函数法;②扩展数字积分法;③二阶递归扩展数字积分插 补法;④双数字积分插补法;⑤角度逼近圆弧插补法。
(四)逐点比较法
思想:“走一步看一步”:就是每走一步都要和给定 轨迹上的坐标值进行一次比较,视该点在给定轨迹 的上方或下方,或者给定轨迹的里面或者外面,从 而决定下一步的进给方向,使之趋近加工轨迹。
(五)逐点比较法直线插补
1.基本原理:
在刀具按要求轨迹运动加工零件轮廓的过程中, 不断比较刀具与被加工零件轮廓之间的相对位置,并 根据比较结果决定下一步的进给方向,使刀具向减小 误差的方向进给。其算法最大偏差不会超过一个脉冲 当量δ。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

逐点比较法和数字积分的直线插补班级:自动化0802姓名:*** 0806050231赵向军 0806050234孙永林 0806050236日期:2011年5月10日1.引言数控技术逐渐成为了制造业实现自动化和集成化生产的基础技术。

为了配合这一生产实践的需要,数控技术也走进了高校,走进了培训机构,成为竞相追逐的热点。

其中,在进行插补法教学时,过程一般都是:讲解插补原理,插补流程,最后有条件的进行插补软件的实验。

数控系统是数控机床的核心控制系统, 其主要功能是使刀具或工件按规定的程序自动地进行工作由于刀具或工件的运动轨迹是由插补模块给出的, 因此数控插补模块在数控系统中具有十分重要的地位。

2.逐点比较法直线插补2.1逐点插补的原理逐点比较法又称代数运算法或醉步法,其基本原理是每次仅向一个坐标轴输出一个进给脉冲,而每走一步都要通过偏差函数计算,判断偏差的瞬时坐标与规定加工轨迹之间的偏差,然后决定下一步的进给方向。

如图1 所示(以第一象限直线插补为例)设直线OA为第一象限的直线,起点为坐标原点:O(0,0),终点坐标为:A(xe,ye),P(xi,yj)为加工点。

F <0O图1逐点比较法直线插补根据OP,OA 斜率判断P 相对OA 的位置,决定脉冲的发出方向,则可推导其递推公式(1)设在加工点P(xi,yj)处,Fi,j≥0 当时(其中),则点P 在直线OA 上方,应向+X 方向进给一步,以逼近OA直线,此时新加工点的坐标值为:xi+1=xi+1;yj=yj新加工点的偏差为Fi+1,j- xeyj-(xi+1)ye=xeyj- xiye- ye即Fi+1,j=Fij- ye(2)设在加工点P(xi,yj)处,Fi,j<0 当时,则点P 在直线OA 下方,应向+Y 方向进给一步,以逼近OA 直线,此时新加工点的坐标值为:xi=xi;yj+1=yj+1新加工点的偏差为:fi,j+1=xeyj+1- xiye=xe ( yj+1)- xiye即Fi,j+1=Fij+xe同理,以推广到其他各象限。

2.2插补计算的步骤第一步:偏差判别,判别刀具当前位置相对于给定轮廓的偏离情况,并以此决定刀具的进给方向。

第二步:坐标进给,根据偏差判别的结果,控制刀具向相应坐标轴进给一步,使加工点向给定轮廓靠拢,减小偏差。

第三步:偏差计算,刀具进给一步后,计算新的加工点与给定轮廓之间的偏差,为下一步偏差判别做准备。

第四步:终点判别,判断刀具是否到达被加工零件的终点,若到达终点,则结束插补,否则继续插补,如此不断循环以上四个节拍就可加工出所要求的曲线。

2.3直线插补程序流程图图2直线插补程序流程图2.4直线插补程序#include<stdio.h> main() {int X=0,Y=0,XE,YE,XOY,NXY,FM=0,ZF; printf("输入XOY=\n"); scanf("%d",&XOY); printf("输入XE=\n"); scanf("%d",&XE); printf("输入YE=\n"); scanf("%d",&YE); NXY=XE+YE; while(NXY!=0) {if(FM>=0)开始置FM=0输入XE 、YE 、XOY 、NXYFM ≥0XOY=1或4?XOY=或2? ZF=1ZF=2ZF=3ZF=4FM=FM-YE FM=FM+XE调用走步控制程序NXY=NXY-1NXY=0?结束Y YYYNNNN{if(XOY==1||XOY==4){ZF=1;X=X+1;Y=Y;printf("X=%d,Y=%d\n",X,Y);}else{ZF=2;X=X-1;Y=Y;printf("X=%d,Y=%d\n",X,Y);}FM=FM-YE;}else{if(XOY==1|| XOY==2){ZF=3;X=X;Y=Y+1;printf("X=%d,Y=%d\n",X,Y);}else{ZF=4;X=X;Y=Y-1;printf("X=%d,Y=%d\n",X,Y);}FM=FM+XE;}NXY=NXY-1;}}2.5运行结果3.数字积分直线插补3.1数字积分法直线插补的基本原理数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器(Digital Differential Analyzer ),简称DDA 。

数字积分器插补的最大优点在于容易实现多坐标轴的联动插补、能够描述空间直线及平面各种函数曲线等。

因此,数字积分法插补在轮廓数控系统中得到广泛的应用。

3.1.1从几何角度来看积分运算 积分运算就是求出函数Y = f (t )曲线与横轴所围成的面积,从t =t0到tn 时刻,函数Y= f (t )的积分值可表述为如果进一步将t ∈[t0,tn]的时间区划分为若干个等间隔Δt 的小区间,当Δt 足够小时,函数Y 的积分可用下式近似表示在几何上就是用一系列的小矩形面积之和来近似表示函数f (t )以下的积分面积。

进一步如果在式中,取Δt 为基本单位“1”,则上式可演化成数字积分器算式:由此可见,通过假设Δt =“1”,就可将积分运算转化为式所示的求纵坐标值的累加运算。

若再假设累加器容量为一个单位面积值,则在累加过程中超过一个单位面积时立即产生一个溢出脉冲。

这样,累加过程所产生的溢出脉冲总数就等于所求的总面积,即所求的积分值。

下面就以直线和圆弧轨迹为例详细介绍 3.1.2插补终点判别的具体实现直线插补时不论被积函数有多大,对于N 位寄存器。

必须累加2N次才能到达终点。

因此可以用一容量为2N的寄存器当计数器,来统计累加的次数。

可以用加1计数器,也可以用减1计数器。

采用加1计数器时,首先将计数器清零,运算过程中每来一个累加脉冲△t 就加1。

当计数器满2N时表明运算完成。

采用减1计数器时,运算前把总运算次数2N送入计数器,每运算一次,就减去1。

当计数器减为0时,表明运算完成。

3.1.3插补器的组成二坐标DDA 直线插补器包括X 积分器和Y 积分器,每个积分器都由被积函数寄存器J vx⎰⎰==n n tt t t dt)t (Ydt S 00f t Y Ydt S n i i tt n ∆∑⎰-=≈=1∑-==1n i iY S 图3(速度存寄器)和累加器J rx (余数寄存器)组成。

初始时,X 被积函数寄存器存X e (或Xe/2N ),Y 被积函数寄存器存Ye (或Ye/2N )。

3.1.4数字积分法稳速控制⑴ 直线插补的左移规格化及其解决的问题积分器作直线插补时,不论各段程序的被积函数大小,都必须经过m =2n 次累加运算才能到达终点。

这样各个坐标溢出脉冲的速度受被积函数的大小影响。

被积函数愈大,溢出脉冲速度愈快,因而机床的进给速度也愈快;反之,被积函数愈小,速度愈低,机床的进给速度愈慢。

即加工尺寸大,走刀快,加工尺寸小,走刀慢。

所以各程序段的进给速度是不一致的,这将影响加工的表面质量,特别是行程短的程序段,生产效率低 控制积分器的溢出速度的方法——左移规格化寄存器:数规格化数规格化数累加一次必有一次溢出,而非规格化的数,必须作两次以上累加才有一次溢出。

左移规格化法就是将非规格化数左移使之成为规格化数。

为了使每个程序段积分的溢出速度大致均匀,在直线插补时必须把寄存器中的数Xe 、Ye 同时左移,直到JVX 、JVY 中有一个数是规格化数为止。

同时左移,意味着把X 、Y 两方向的脉冲分配速度扩大同样的倍数,二者数值之比不变,所以直线斜率不变。

因为规格化后每累加运算两次必有一次溢出,溢出速度比较均匀,所以加工的效率,加工质量都大为提高。

当Xe 、Ye 左移Q 位后(至少使其中的一个成为规格化数),为使各坐标分配的脉冲数最后等于Xe 及Ye 值,这样作为终点判别的累加次数m 必须减少。

寄存器中的数每左移一位,数值增大一倍;此时,比例常数k 应该为k=1/2n -1 ,累加次数m=2n -1 次。

若左移q 位,则m=2n -q 次。

进行左移规格化的同时,终点判别计数器中的数也要做相应的改变。

具体方法:只要在JVX 、JVY 左移的同时,终点判别计数器把“1”信号从最高位输入进行右移来缩短计数长度图4 ⑵按进给速率数FRN 编程为实现不同长度程序段的恒速加工,在编程时考虑被加工直线长度,采用FRN 来表示“F ”功能,则:L V FRN =式中 V —要求的加工切削速度; L —被加工直线长度;因为m L f V gδ60= 所以FRNmL V m f g δδ6060==由上式可见,FRN 编程,其实质是控制迭代频率f g ,f g 与V /L 成正比,当插补尺寸L 不同时,使迭代频率作相应改变,以保证所选定的进给速度。

3.2数字积分法直线插补框图图5 数字积分法直线插补框图3.3字积分法直线(第二象限)插补程序流程图图6(第二象限)插补程序流程图3.4数字积分法直线插补程序清单(第二象限)#include<stdio.h>#include<math.h>void main(){int i,Xs,Ys,Xe,Ye ,Jvx,Jrx,Jvy,Jry,DX,DY;start:printf("请输入直线的起点:");scanf("%d %d",&Xs,&Ys);printf("请输入直线的终点:");scanf("%d %d",&Xe,&Ye);if(Xe-Xs<0&&Ye-Ys>0&&Xs<0&&Ys>0){i=0,Jrx=0,Jry=0,Jvx=abs(Xe-Xs),Jvy=abs(Ye-Ys);for(;Xs!=Xe||Ys!=Ye;i++){Jrx=Jrx+Jvx,Jry=Jry+Jvy;if(Jrx>=8){Jrx=Jrx-8,Xs=Xs-1,DX=1;}if(Jry>=8){Jry=Jry-8,Ys=Ys+1,DY=1;}if(DX==1||DY==1){printf("%d(%d,%d)\n",i,Xs,Ys);DX=0,DY=0;}}printf("\n本次插补结束,请输入下一条第二象限直线的坐标\n");}elseprintf("此直线不在第二象限,请输入第二象限点的坐标\n");goto start;getchar();}4. 结论本次设计运用软件插补程序进行插补控制,调整和修改都很方便,而且数字积分法插补运算速度快,脉冲分配均匀,易于实现多坐标联动及描绘平面各种函数曲线的特点;逐点比较法也可进行简单的各种插补,且易于理解;两种方法都要熟练掌握程序的编写。

相关文档
最新文档