逐点比较法直线插补圆弧插补实例
- 格式:docx
- 大小:108.16 KB
- 文档页数:6
1、概述在机床的实际加工中,被加工工件的轮廓形状千差万别,各式各样。
严格说来,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成。
然而,对于简单的曲线,数控装置易于实现,但对于较复杂的形状,若直接生成,势必会使算法变得很复杂,计算机的工作量也相应地大大增加。
因此,在实际应用中,常常采用一小段直线或圆弧去进行逼近,有些场合也可以用抛物线、椭圆、双曲线和其他高次曲线去逼近(或称为拟合)。
所谓插补是指数据密化的过程。
在对数控系统输入有限坐标点(例如起点、终点)的情况下,计算机根据线段的特征(直线、圆弧、椭圆等),运用一定的算法,自动地在有限坐标点之间生成一系列的坐标数据,即所谓数据密化,从而自动地对各坐标轴进行脉冲分配,完成整个线段的轨迹运行,以满足加工精度的要求。
机床数控系统的轮廓控制主要问题就是怎样控制刀具或工件的运动轨迹。
无论是硬件数控(NC)系统,还是计算机数控(CNC)系统或微机数控(MNC)系统,都必须有完成插补功能的部分,只是采取的方式不同而已。
在CNC或MNC中,以软件(程序)完成插补或软、硬件结合实现插补,而在NC中有一个专门完成脉冲分配计算(即插补计算)的计算装置——插补器。
无论是软件数控还是硬件数控,其插补的运算原理基本相同,其作用都是根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路线移动。
有关插补算法问题,除了要保证插补计算的精度之外,还要求算法简单。
这对于硬件数控来说,可以简化控制电路,采用较简单的运算器。
而对于计算机数控系统来说,则能提高运算速度,使控制系统较快且均匀地输出进给脉冲。
经过多年的发展,插补原理不断成熟,类型众多。
从产生的数学模型来分,有直线插补、二次曲线插补等;从插补计算输出的数值形式来分,有基准脉冲插补(又称脉冲增量插补)和数据采样插补。
在基准脉冲插补中,按基本原理又分为以区域判别为特征的逐点比较法插补,以比例乘法为特征的数字脉冲乘法器插补,以数字积分法进行运算的数字积分插补,以矢量运算为基础的矢量判别法插补,兼备逐点比较和数字积分特征的比较积分法插补,等等。
逐点比较法直线插补(1)偏差函数构造对于第一象限直线OA上任一点(X,Y):X/Y = Xe/Ye若刀具加工点为Pi(Xi,Yi),则该点的偏差函数Fi可表示为:若Fi= 0,表示加工点位于直线上;若Fi> 0,表示加工点位于直线上方;若Fi< 0,表示加工点位于直线下方。
(2)偏差函数字的递推计算采用偏差函数的递推式(迭代式):既由前一点计算后一点Fi =Yi Xe -XiYe若Fi>=0,规定向+X 方向走一步Xi+1 = Xi +1Fi+1 = XeYi –Ye(Xi +1)=Fi –Ye若Fi<0,规定+Y 方向走一步,则有Yi+1 = Yi +1Fi+1 = Xe(Yi +1)-YeXi =Fi +Xe(3)终点判别直线插补的终点判别可采用三种方法。
1)判断插补或进给的总步数:2)分别判断各坐标轴的进给步数;3)仅判断进给步数较多的坐标轴的进给步数。
(4)例对于第一象限直线OA,终点坐标Xe=6 ,Ye=4,插补从直线起点O开始,故F0=0 。
终点判别是判断进给总步数N=6+4=10,将其存入终点判别计数器中,每进给一步减1,若N=0,则停止插补。
逐点比较法圆弧插补(1)偏差函数构造任意加工点Pi(Xi,Yi),偏差函数Fi可表示为若Fi=0,表示加工点位于圆上;若Fi>0,表示加工点位于圆外;若Fi <0,表示加工点位于圆内(2)偏差函数的递推计算1) 逆圆插补若F ≥0,规定向-X 方向走一步若Fi<0,规定向+Y 方向走一步2) 顺圆插补若Fi ≥0,规定向-Y 方向走一步若Fi<0,规定向+y 方向走一步(3)终点判别1)判断插补或进给的总步数: 2)分别判断各坐标轴的进给步数: (4)例对于第一象限圆弧AB ,起点A (4,0),终点B (0,4)⎩⎨⎧+-=-+-=-=++12)1(122211i i i i i ii X F R Y X F X X ⎩⎨⎧++=-++=+=++12)1(122211i i i i i i i Y F R Y X F Y Y ⎩⎨⎧+-=--+=-=++12)1(122211i i i i i i i Y F R Y X F Y Y ⎩⎨⎧++=-++=+=++12)1(122211i i i i i i i X F R Y X F X X ba b a Y Y X X N -+-=ba x X X N -=b a y Y Y N -=。
实验报告实验内容:逐点比较法直线和圆弧插补2011年9月25日院系:物科院班级:085 学号:07080518 姓名:陈实实验目的:利用逐点比较法的插补原理,编写直角坐标系下的直线、圆弧插补程序,观察屏幕上仿真的运动轨迹,掌握逐点比较法的插补原理。
实验原理:逐点比较发是基于动点与理想曲线院函数的比较来实现插补的。
逐点比较法的插补过程,每走一步要进行一下四个步骤:偏差判别:根据偏差值确定刀具相对加工曲线的位置坐标进给:根据偏差判别的结果,决定控制线沿哪个坐标进给一步以接近曲线偏差计算:计算新加工店相对曲线的偏差,作为下一步偏差判别的依据终点判别:判别是否到达终点,未到达终点则返回第一步继续插补,到终点则停止1、逐点比较法直线插补原理:逐点比较法在第一象限的直线插补原理如下图所示,其他象限情况可依次类推。
现加工OE直线,如果刀具动点在OE直线上方或在线上,则令刀具沿X正方向进给一步;若刀具动点在OE直线下方,则令刀具沿Y轴正方向进给一步,如此循环直到加工到E点。
判别刀具动点的位置根据偏差函数判别公式:根据这个公式可以推到出两种不同情况下的地推公式:对于插补终点的判别,可以采用单向的计数长度法,即:取计数长度M等于Xe、Ye中的大者,并设该坐标方向为计数方向。
插补时,仅在该方向上产生进给时,计数长度减一。
图1的逐点比较法中,工作循环的结束条件就是M减为0.2、逐点比较法圆弧插补原理:逐点比较法在第一象限的圆弧插补原理如图所示,其他象限可一次类推:对于第一象限的逆圆弧,如果动点在圆弧的外侧则令刀具动点沿X轴负方向进给一步。
如果动点在圆弧的内侧则令刀具沿Y轴正方向进给一步。
圆弧的偏差计算公式为:根据这个公式同样可推导出圆弧插补的两种不同情况下的递推公式:对于插补终点的判别,同样可以采用单向的计数长度法,不过对于圆弧,计数的方向并不取决于终点坐标中的大者,而是取决于圆弧终点处。
逐点比较法插补中需要编写插入部分流程图:插入程序:intM,Fi=0,Fi0,Fi1,xi,yi,i=0 ,num=-1;bool Gx; M=Xe+Ye;moveto(x0,y0);setcolor(10);line(x0,y0,x0+Xe*delta,y0-Ye*delta);xi=x0;yi=y0;setcolor(12);while(M>0){getch();if(Fi>=0){linerel(delta,0); xi=xi+delta;Fi0=Fi-Ye;Fi=Fi0; num++;dis_msg(num,Fi,1,0,Fi0,M);}else{linerel(0,-delta);Fi1=Fi+Xe;yi=yi-delta;Fi=Fi1;num++;dis_msg(num,Fi,0,1,Fi1,M);}M--;}圆弧插补实验程序:int M,Fi=0,Fi0,Fi1,xi=R,yi=0,i=0,num=0; M=R;setcolor(10);moveto(x0,y0);arc(x0,y0,0,90,R*delta);setcolor(12);moveto(x0+xi*delta,y0);while(M>0){getch();if(Fi>=0){linerel(-delta,0);Fi0=Fi-2*xi+1;Fi=Fi0;xi=xi--;M--;dis_msg(num,Fi,1,0,Fi0,M);}else{linerel(0,-delta);Fi1=Fi+2*yi+1;Fi=Fi1;yi=yi++;dis_msg(num,Fi,0,1,Fi1,M);}num=num++;}实验中所遇问题分析:1、圆弧插补:Fi0与Fi1的计算,xi,yi计算先写入为:Fi0=Fi-2*xi*delta+1;Fi1=Fi+2*yi*delta+1;xi=xi-delta;yi=yi+delta;但是,实行以后出现的结果不正确,如图,分析:2、关于计数长度M:在直线插补中使用的是双向计数长度 M=xe+ye,插补路线会比较准确。
逐点比较法圆弧插补逐点比较法圆弧插补过程与直线插补过程类似,每进给一步也都要完成四个工作节拍:偏差判别、坐标进给、偏差计算、终点判别。
但是,逐点比较法圆弧插补以加工点距圆心的距离大于还是小于圆弧半径来作为偏差判别的依据。
如图5-7所示的圆弧AB,其圆心位于原点O(0,0),半径为R,令加工点的坐标为P(xi,yj),则逐点比较法圆弧插补的偏差判别函数为当F=0时,加工点在圆弧上;当F>0时,加工点在圆弧外;当F<0时,加工点在圆弧内。
同插补直线时一样,将Fi,j=0同Fi,j>0归于一类。
下面以第一象限圆弧为例,分别介绍顺时针圆弧和逆时针圆弧插补时的偏差计算和坐标进给情况。
1.插补第一象限逆圆弧1)当Fi,j≥0时,加工点P(xi,yj)在圆弧上或圆弧外,-X方向进给一个脉冲当量,即向趋近圆弧的圆内方向进给,到达新的加工点Pi-1,j,此时xi -1=xi-1,则新加工点Pi-1,j的偏差判别函数Fi-1,j为(2)当Fi,j<0时,加工点P(xi,yj)在圆弧内,+Y方向进给一个脉冲当量,即向趋近圆弧的圆外方向进给,到达新的加工点Pi,j+1,此时yj+1=yj+1,则新加工点Pi,j+1的偏差判别函数Fi,j+12.插补第一象限顺圆弧1)当Fi,j≥0时,加工点P(xi,yj)在圆弧上或圆弧外,-Y方向进给一个脉冲当量,即向趋近圆弧的圆内方向进给,到达新的加工点Pi,,j-1,此时yj-1=yj-1,则新加工点Pi,j-1的偏差判别函数Fi,j-1为2)当Fi,j<0时,加工点P(xi,yj)在圆弧内,+X方向进给一个脉冲当量,即向趋近圆弧的圆外方向进给,到达新的加工点Pi+1,j,此时xi+1=xi +1,则新加工点Pi+1,j的偏差判别函数为Fi+1,j由以上分析可知,新加工点的偏差是由前一个加工点的偏差Fi,j及前一点的坐标值xi、yj递推出来的,如果按式(5-6)、(5-7)、(5-8)、(5-9)计算偏差,则计算大为简化。
逐点比较法第一象限直线,圆弧插补编程逐点比较法是以折线来逼近给定的轨迹,就是每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使之逼近加工轨迹。
逐点比较法以折线来逼近直线或圆弧,其最大的偏差不超过一个最小设定单位。
只要将脉冲当量取得足够小,就可以达到精度要求。
逐点比较插补法在脉冲当量为0.01mm,系统进给速度小于3000mm/min时,能很好的满足要求。
一、逐点比较法直线插补如下图所示设直线 oA 为第一象限的直线,起点为坐标原点o (0 , 0) ,终点坐标为, A( ) , P() 为加工点。
若 P 点正好处在直线 oA 上,由相似三角形关系则有即点在直线 oA 上方 ( 严格为直线 oA 与 y 轴正向所包围的区域 ) ,则有即若 P 点在直线 oA 下方 ( 严格为直线 oA 与 x 轴正向所包围的区域 ) ,则有图 3 — 1 逐点比较法第一象限直线插补即令则有:①如,则点 P 在直线 oA 上,既可向 +x 方向进给一步,也可向 +y 方向进给一步;②如,则点 P 在直线 oA 上方,应向 +x 方向进给一步,以逼近oA 直线;③如,则点 P 在直线 oA 下方,应向 +y 方向进给一步,以逼近 oA 直线一般将及视为一类情况,即时,都向 +x 方向进给一步。
当两方向所走的步数与终点坐标相等时,停止插补。
这即逐点比较法直线插补的原理。
对第一象限直线 oA 从起点 ( 即坐标原点 ) 出发,当 F 时, +x 向走一步;当 F<0 时,y 向走一步。
特点:每一步都需计算偏差,这样的计算比较麻烦。
递推的方法计算偏差:每走一步后新的加工点的偏差用前一点的加工偏差递推出来。
采用递推方法,必须知道开始加工点的偏差,而开始加工点正是直线的起点,故。
下面推导其递推公式。
设在加工点 P( ) 处,,则应沿 +x 方向进给一步,此时新加工点的坐标值为新加工点的偏差为即若在加工点 P( ) 处,,则应沿 +y 方向进给一步,此时新加工点的坐标值为,新加工点的偏差为即综上所述,逐点比较法直线插补每走一步都要完成四个步骤 ( 节拍 ) ,即:(1) 位置判别根据偏差值大于零、等于零、小于零确定当前加工点的位置。
逐点比较法直线插补
(1)偏差函数构造
P
O
对于第一象限直线0A上任一点(X,Y):X/Y=Xe/Ye
若刀具加工点为Pi (Xi , Yi),则该点的F可表示:
偏差函数i为
若Fi=0,表示加工点位于直线上;
若Fi> 0,表示加工点位于直线上方;
若Fi< 0,表示加工点位于直线下方。
(2)偏差函数字的递推计算
采用偏差函数的递推式(迭代式):既由前一点计算后一点
Fi=YiXe-XiYe
若Fi>=0,规定向+X 方向走一步
Xi+1=Xi+1
Fi+仁XeYi - Ye(Xi+1)=Fi - Ye
若Fi<0 ,规定+Y方向走一步,则有
Yi+1=Yi+1
Fi+仁Xe(Yi+1)-YeXi=Fi+Xe
(3)终点判别
直线插补的终点判别可采用三种方法。
1)判断插补或进给的总步数:2)分别判断各坐标轴的进给步数;3)仅判断进给步数较多的坐标轴的进给步数。
(4)例
故于第一象限直线 Xe=6,Ye=4,插补从直线起点 O 开始, N=6+4=10 将其
OA 终点坐标
若N=Q 则停止插补。
步数判别坐标进给僞差廿捧
终点判别J
0 1| 丨F日______ S-10
[11p=0+X片二%* H=T 1 S=10-1=9
2F<0+Y F产F] +i. A4+6=2| 垃用十8 | 3 |F>0
+X 1 £=81^T
I <F<0+Y|送干IM I
5 I F>0+X| 戶* Q S =61=5 I
+X「F眾第=57兰4
1 7F<0+Y| S =4^1=3
I S F>0+X1斗揺煌£
9F<0+¥[X冃暫・gjfr~4I £-21^1
| 10F>0+X%升工十R| £二1「1=0
逐点比较法圆弧插补
(1 )偏差函数构造
任意加工点
若Fi=0,表示加工点位于圆上;
Pi (Xi, Yi),偏差函数Fi可表示为
若Fi>0,表示加工点位于圆外;
若Fi<0,表示加工点位于圆内
(2)偏差函数的递推计算
1)逆圆插补
若F>0,规定向-X方向走一步+ =
X i1X 1
1十+ —
F i1(X1)2Y2F2F i2X1若Fi<0 ,规定向+Y方向走一步]-f
Yi _?
T L '6 1+ —= + +
cl +
X2(Y i1)2R2F i 2Y 1
2 )分别判断各坐标轴的进给 步数: (4) 例
对于第一象限圆弧
偏差判别
坐标进给 偏差计算 坐标计算 终点判别 起点
%二0
如二空场=0
22=4+4=8
1
F-F.-2V1
1 __ =0-2*4+l=-7 ______ 护一口 LvrQ 12-8-1=7
2 F/0 +y F^l^+l 二—T+2*0H 二-6
V 3 尹二 1 g-1 二 6 3
F 2<0
+y
吁 F?+2y 尹 A3 1^4.为=2 S=5
2)顺圆插补
若 Fi >0, 规定向-Y 方向走
Y i
_Y 1
I + —
一
F i __ X 2 (Y i _1)\ F 2
_ F 2Y . 1
若Fi<0 ,规定向+y 方向走一步
X
iV _ X 1
i =
+
+
—
二
+
F
i1 (X i
1)2Y 2 F 2
F2X1
(3 )终点判别
1 )判断插补或进给的总步数: N 匚 X a —X b +Y a —%
Nx - Xa Xb Ny - Ya Yb
(0, 4)
4 F,<0+y F^F s+2y3+l=2 £=4
5 F.X)I F^^^2xj+1——3 %二4,旳=0 53=3 & I F5<0 +y F b=F5+2y5+l=4 £二2 ? F/0r0工屮E吟=4 y7=d E=1
F T<0-I 卩戶厂2屮1二0£=0 8。