逐点比较插补算法设计

上传人:z****2 文档编号:227146959 上传时间:2023-08-10 格式:DOCX 页数:39 大小:504.69KB
返回 下载 相关 举报
逐点比较插补算法设计_第1页
第1页 / 共39页
逐点比较插补算法设计_第2页
第2页 / 共39页
逐点比较插补算法设计_第3页
第3页 / 共39页
点击查看更多>>
资源描述
学院毕 业 论 文(设 计)2015 届机械设计制造及其自动化专业 13 班级题 目姓 名学号 1指导教师职称 教授二0 五年五月二一 日摘要逐点比较法是数控加工中常用的插补方法,通过控制刀具每次移动的位置与理想位置的误差函数进而 实现零件加工,鉴于VB编程简单、直观,采用VB可以实现逐点比较插补原理的相关程序设计及加工过 程虚拟化。插补技术是机床数控系统的核心技术,逐点比较法可以实现直线和圆弧插补算法,其算法的 优劣直接影响零件直线和圆弧轮廓的加工精度和加工速度。文章在传统的逐点比较直线插补与圆弧 插补算法的基础上,提出以八方向进给取代传统的四方向进给 ,研究了偏差最小的走步方向的实现方 法,同时研究了保证数控机床坐标进给连续的偏差递推计算过程。结果表明,新算法可以提高零件轮廓 的逼近精度且减少了插补计算次数,从而提高了零件直线和圆弧轮廓的加工精度和加工速度。 关键词数控;插补;逐点比较;逼近;偏差函数The algorithm design of point-to-point comparisonAuthor: LI Zhiyuan Tutor: Chen LiangjiAbstractAbstract: The algorithm of point-to-point comparison is a typical plugging method in processing of numerical control,manufacturing parts by controlling error function between the position the cutting tool moves to and the perfect program is simple and visual,which can visualize the programming and processing of The algorithm of point-to-point comparison. Interpolation technology is the core technology of machine tools CNC system. The algorithm of point-to-point comparison can achieve the algorithms of linear and circular algorithm of point-to-point comparison linear and circular interpolation affects the machining accuracy and rate on the conventional algorithm of point-to-point comparison linear and circular interpolation,it was put forward in the article that feed in eight directions takes place of feed in four directions,the achievement method of feed direction was researched that can result in the least deviation,the deviation recursive calculation process was researched that can ensure a continuous CNC coordinate result showed that the approximation accuracy of parts contour was improved and the number of interpolation calculation was reduced by use of new algorithm,and then the machining accuracy and rate of parts linear and circular contour was improved. Keywords:CNC;interpolation;point-to-point comparison ;error function目录第 一 章 绪 论 0设 计 与 研 究 的 重 要 性 0本 设 计 的 主 要 工 作 0第 二 章 逐 点 比 较 法 1基 准 脉 冲 插 补 1逐 点 比 较 法 1逐 点 比 较 法 直 线 插 补 算 法 2逐 点 比 较 法 圆 弧 插 补 8第 三 章 逐 点 比 较 法 算 法 的 改 进 16改 进 的 逐 点 比 较 直 线 插 补 算 法 17改 进 的 逐 点 比 较 圆 弧 插 补 算 法 20 第 4 章 VB 插 补 程 序 代 码 2 3 逐点比较法直线插补的程序设计方案 程 序 实 现 23工 作 界 面 23源 程 序 代 码 24逐 点 比 较 法 圆 弧 插 补 V B 程 序 2 6第 五 章 结 论 29参 考 文 献 31第一章绪论 在现代制造系统中数控系统占有非常重要地位,数控技术是一门不仅具有理论性而且具有实践性的 多学科融合技术。尤其,插补技术是数控技术的一个重要组成部分,数控加工中常采用的插补方法 是逐点比较法插补法。逐点比较插补法通过控制刀具每次移动的位置与理想位置误差函数进行比较, 从而使实现零件的加工。由于 Visual Basic 在实际当中的广泛应用及编程简单、直观,采用 Visual Basic 可以实现逐点比较法插补原理的相关程序设计。随着科技水平的不断提高,人类对机械制造技术提 出了更高的要求。机械制造技术的基础是数控技术。数控系统编程影响着数控机床的各种性能,不 但决定着加工过程而且还决定着加工精度,所以,对数控系统的加工有着非常重大的意义。设计与研究的重要性插补技术是机床数控系统的核心技术。插补是机床数控系统按照一定方法控制执行部件运动、进而 产生零件轮廓的过程。插补的本质是在所需路径或轮廓上的两个已知点间,依据某一数学函数确定 其中中间点的位置坐标值。数控系统依据其坐标值控制执行部件的运动,从而实现数控加工。插补 算法的优劣直接影响数控系统的各性能指标,其计算精度也将直接影响零件轮廓的加工精度。因此, 插补算法对数控系统的性能非常重要。设计的相关技术及现状 在现代计算机数控系统中,插补算法大部分都是采用计算机的程序软件 来实现。由于直线和圆弧是构成工件轮廓的基本要素,因此一般的数控 系统都具有直线和圆弧插补功能。数控系统的插补算法可划分为基准脉 冲插补和数据采样插补这两大类,逐点比较插补法是基准脉冲插补计算 方法中的一种常采用的方法。脉冲增量法实现起来相对比较简单而且易 用硬件实现,从而被广泛应用在开环数控系统中。因此,大多数的CNC 系统都具有直线和圆弧插补功能。由于大多数非圆轮廓曲线均可以采用 圆弧来逼近,在系统不具备高级曲线输出功能时,若有一个简单精确而 且快速的圆弧插补功能则显得非常必要。本设计的主要工作逐点比较插补法不但能进行过象限处理和终点判别,而且能对译码后的结果进行插补运算。本设计在传统的逐点比较圆弧插补算法的基础上,提出一种改进算法。这种改进的算法不仅减少数控系统的插补次数而且还提高插补精度,从而提高零件轮廓的加工精度。本设计还采用了 VB 程序编写插补算法并调试其程序在计算机中实现模拟数控插补方法。第二章 逐点比较法基准脉冲插补 脉冲增量插补为行程标量插补。这类插补算法的特点是每次插补结束仅产生一个行程增量,以一个 个脉冲的方式输出。脉冲增量插补算法主要应用在开环数控系统中。基准脉冲插补在插补计算过程中不断地向各坐标轴发出互相协调的进 给脉冲,驱动各坐标轴进给电动机的运动,一个脉冲所产生的移动量称 为脉冲当量,通常用5表示。脉冲当量5值越小,数控机床的加工精度 就越高,对数控系统的计算能力的要求也越高。采用脉冲增量插补算法 的 CNC 系统,其坐标轴进给速度受插补程序运行时间的限制。逐点比较 法是基于脉冲增量插补方法之一。逐点比较法逐点比较插补法就是每走一步(即一个脉冲当量)都要将加工点的瞬时 坐标与规定的图形轨迹相比较,判断实际加工点在给定轨迹的什么位置, 从而决定下一步的进给方向,这样就能得出一个非常接近规定图 形的轨迹。逐点比较法又称区域判别法,又称代数运算法,或醉步式近 似法。逐点比较法的基本原理是计算机在控制加工过程中,能逐点地计 算和判别加工偏差,以控制坐标进给,按规定图形加工出所需要工件, 在数控装置的控制下,按要求的轨迹运动时,每走一步都要和规定的轨 迹比较,根据比较的结果决定下一步的移动方向。每走一步都要完成四 个工作节拍(如图 2-1)。图 2-1 逐点比较的工作节拍(1) 偏差判别:判别加工点对规定图形的偏离位置,确定进给方向(2) 坐标进给:使加工点向规定的图形趋进,缩小偏差。(3) 偏差计算:计算新的加工点与给定的图形之间的偏差,作为下一步判别依据。(4) 终点判别:判断是否到达终点,若到达则停止插补;否则,在回到第一拍,如此不断重复上述 循环过程,加工出所需要的轮廓形状。逐点比较法可以实现直线和圆弧插补。其特点是运算直观,插补误差小于一个脉冲当量,而且输出 脉冲均匀,输出脉冲的速度变化小,调节方便。逐点比较法直线插补算法1. 逐点比较法直线插补原理直线插补时,以直线的起点为坐标原点,给出终点坐标A(X ,Y ),见图如ee图 2-2 所示,则直线方程为XX=eY Ye改写为 X Y-XY = 0(2-1)式中 X,Y 为该直线上任一点 P 的坐标。对XY平面第一象限直线段进行插补,直线段起点位于坐标原点0,终图 2-2 逐点比较法直线插补1)偏差判别设P(X ,Y)为加工动点,则如下ii若P点在该直线0A上,贝I:X Y XY =0 e i i e若P点在该直线0A上方,贝I:X Y X Y 0e i i e若P点在该直线0A下方,贝I:X Y X Y 0时,加工动点向+X方向进给一步,即加工动点由A沿+X方向移i动到A,而新加工动点A的偏差F为i+1i+1i+1F 二 X Y X Yi +1 e i+1 i +1 e又因为 A 的坐标为i+1X i +1 = X i + 1Yi+1 =Y i所以F 二 X Y (X +1)Y 二 X Y - XY Yi +1 e iiee i i e e贝 UF 二 F Yi +1 i e当F0时,加工动点向+Y方向进给一步,同理得F 二 F + Xi +1 i e上述公式就是第一象限直线插补偏差的递推公式。从中可以看出,偏差F计算只用到了终点坐标(X ,Y ),而不必计算每一个加工动点的坐标 i+1e e值,且只有加法和减法运算,形式简单。4)终点判别 判断是否到达终点,未到达终点则返回第一步,继续插补,到终点,则停止本程序段的插补。终点判别的方法一般有两种:第一种方法是每走一步判断X -X 0及ieY -Y 0是否成立,如成立,则插补结束否则继续。第二种方法二是把 ie每个程序段中的总步数求出来,即n二|X |+Y |,每走一步n-1,直到n=0ee为止。 注意:终点判别的两种方法中,均用坐标的绝对值进行计算。2.直线插补计算举例加工第一象限直线0E,如图2-3所示,起点为坐标原点,终点坐标为E(4,3)。试用逐点比较法 对该段直线进行插补,并画出插补轨迹。解:用第二种判别方法,则n= 4+3= 7又因为 E 点的坐标为(4,3),即该直线位于第一象限,故按第一象限进行插补运算。其运算过程见 表 2-1,走步轨迹见图 2-3。序号工作节拍偏差判别坐标进给新偏差计算终点判别1F0=0+XF1=F0-Ye=-3E =7-1=62F1vO+YF2=F1+Xe=1E =6-1=53F20+xF3=F2-Ye=-2E =5-1=44F30+xF5=F4-Ye=-1E =3-1=26F50+xF7=F6-Ye=0E =1-1=0321OE(4,3)图 2-3 直线插补轨迹过程3.四象限的直线插补前面所述的均为第一象限直线的插补方法。第一象限直线插补方法经适当处理后可推广到其余象限 的直线插补。四个象限直线的偏差符号和插补进给方向如图2-4所示,用L1、L2、L3、L4分别表示 第I、II、III、IV象限的直线。为适用于四个象限直线插补,插补运算时用|X |,| Y |代替X, Y, 偏差符号确定可将其转化到第一象限,动点与直线的位置关系按第一象限判别方式进行判别。当动 点位于直线上时偏差F=0,动点不在直线上且偏向Y轴一侧时F0,偏向X轴一侧时F0。由图2-4 还可以看到,当F20时应沿X轴走步,第一、四象限走X方向,第三、二象限走-X方向;当F0 时应沿Y轴走步,第一、二象限走+Y方向,第三、四象限走-Y方向。终点判别也应用终点坐标的绝 对值作为计数器初值。综上所知,靠近Y轴区域偏差大于零,靠近X轴区域偏差小于零。F20时,进给都是沿X轴,不管 是+ X向还是一X向,X的绝对值增大;F 0F 0F 0F 0F 0F=0M(Xj,Yj)F X 2 + Y 2 = R 2i j 0 0当动点 M(X Y ) 落在圆弧内侧时,则有下式成立i , jX 2 + Y 2 0,动点落在圆外,则向一X轴方向进给 ijrH一步;当F = 0时,即F二X2 + Y2 R2 =0,动点正好落在圆上,约定向一X轴方 ij向进给一步;当FV0时,即f二X2 + Y2 R2 0,动点落在圆内,则向(+Y)轴方向进 ij给一步。由偏差函数表达式可知,计算偏差 F 值,就必须进行动点坐标、圆弧半径的平方运算。显然,在用硬件或汇编语言实现时不太方便。为了 简化这些计算,按逐点比较法直线插补的思路,也可以推导出逐点比较 法圆弧插补过程中偏差函数计算的递推公式。假设第i次插补后,动点坐标为M(XY),其对应偏差函数为i , iF = X 2 + Y 2 R 2i i i当F上0,向一X轴方向进给一步,则新的动点坐标值为iX 二 X -1, Y = Yi+1 ii+1 i因此,新的偏差函数为F = X 2 + Y 2 R 2 = (x -11 + Y 2 R 2i+1 i +1 i+1ii:F 二 F - 2 X +1i +1 ii同理,当F V0,则向+Y轴方向进给一步,则新的动点坐标值为iX 二 X Y = Y +1i+1i i+1 i因此,可求得新的偏差函数为F = X 2 + Y 2 - R 2 = X 2 +(Y +1-R 2i +1 i+1 i +1i i:F = F + 2Y +1i +1 ii将上式进行比较,可以看出两点不同:第一,递推形式的偏差计算公式 中仅有加/减法以及乘 2 运算,而乘 2 可等效成该二进制数左移一位, 这显然比平方运算来得简单。第二,进给后新的偏差函数值与前一点的 偏差值以及动点坐标M(X Y)均有关系。由于动点坐标值随着插补过程i , i的进行而不断变化,因此,每插补一次,动点坐标就必须修正一次,以 便为下一步的偏差计算作好准备。3)终点判别 和直线插补一样,圆弧插补过程也有终点判别问题。当圆弧轮廓仅在一个象限区域内,其终点判别 仍可借用直线终点判别的两种方法进行,只是计算公式略不同。 插 补 运算开始前计算出两个坐 标 进给 的 总步 数 N,N = |X -X | + |Y -Y |,在插补过程中,X或Y每走一步,就从总步数N中 e0e 0减 1 ,当 N=0 时,表示到达终点。 插补前分别计算两个坐标进给的总步数N和N,其中N = IX -X、xyx e 0N = |Y -Y I,当X坐标进给一步时,计算n -1,当Y坐标进给一步时,ye 0X计算 N -1,两坐标进给的总步数均减为零时,表示到达终点。 y2.圆弧插补计算举例现欲加工第一象限逆圆弧AB,如图2-6所示,起点A (0, 4),终点B(4, 0),试用逐点比较法进行插补,并画出插补轨迹。解:按两方向坐标应走总步数之和作为工,贝I工0=(4-0)十(4-0)=8起点在圆弧上,则F =0, X0 =4,Y=0其插补运算过程见表2-4,走步轨迹见图2-6.序号工作节拍偏差判别坐标进给偏差计算坐标计算终点判别起点F0=0X0=4,Y0=0E=81F0=0-XF1=F0-2X0+1=-7X1=3,Y1=0E =8-1=72F10+YF2=F1+2Y1+1=-6X2=3,Y2=1E =7-1=63F2v0+yF3=F2+2Y2+1=-3X3=3,Y3=2E =6-1=54F30-xF5=F4-2X4+1=-3X5=2,Y5=3E =4-1=36F50-xF7=F6-2X6+1=1X7=1,Y7=4E =2-1=18F70-XF8=F7-2X7+1=0X8=0,Y8=4E =1-1=0图 26 圆弧插补轨迹过程3.四象限的圆弧插补为叙述方便,用 SR1、SR2、SR3、SR4 分别表示第一、第二、第三、第四象限的顺圆弧;用 NR1 NR2、NR3、NR4 分别表示第一、第二、第三、第四象限的逆圆弧。图 2-7 四个象限的动点趋向从前面分析可知,第一象限逆圆插补运动,使动点坐标 X 的绝对值减少 i使的绝对值增加。X轴进给一步,X二X +1.从而得出i+1iF = F - 2X +1(2-3)i +1 iiy 轴进给一 步, Y =Y +1, 从而得出i +1 iF =F+2Y +1(2-4)i +1 ii参照图2- 7,第一象限顺圆弧SRI运动趋势是X轴绝对值增加,Y轴绝对值减小。由此可以得出:当F 0时,动点在圆上或圆外,Y轴负向进给,绝对值减小iY =Y -1i +1 iF =F-2Y +1i +1 ii当F 0i圆弧线型进给方向偏差计算坐标计算SR1、 NR2-YF = F2Y +1i+1iiX = Xi+1iSR3、 NR4+YY = Y -1i+1iSR4、 NR1-XF = F 一 2 X +1X = X -1i+1iSR2、 NR3+Xi+1iiY = Yi+1i偏差符号F r-c = I x- x,i -i y*- v- X-X- L *F-F-Fl- F T. rF*L IF*遁 lF*-ixirW!FL tF-T fFD图 3-10 第一象限逆时针圆弧逐点比较插补流程改进后的八方向逐点比较圆弧插补算法计算逼近误差是传统的逐点比 较圆弧插补算法逼近误差的一半。图 3-11、图 3-12 是分别采用传统逐 点比较圆弧插补和改进逐点比较圆弧插补的比较, 其中圆弧为半径 6个脉冲当量的第一象限逆时针圆弧。图 3-11 第一象限逆时针圆弧逐点比较插补流程图 3-12 第一象限逆时针圆弧逐点比较插补流程 综上所述,改进后的逐点比较圆弧插补算法不但减少了插补次数,而且提高了零件轮廓的逼近精度 还提高了数控机床零件加工的速度和精度。第4章VB插补程序代码逐点比较法直线插补的程序设计方案 为了直观显示数控插补过程,必须动态地描述刀具运动过程中位置变化情况。在现行的程序设计语言 中Visual Basic提供了一种可视界面的设计方法,使用窗体和控件设置应用程序界面,程序设计语言简 单,又面向对象机制,因此可采用VB实现。程序实现根据插补的要求,该程序首先要判断加工直线的象限 ,然后通过偏差判别坐标进给偏差计算判 别终点完成直线插补,其工作过程。工作界面该程序运行时,首先输入插补直线的起始点X坐标和终点Y坐标,然后确定进行模拟。界面设计如图 4-1某一直线插补的运行界面如图 4-2。确走图 4-1 界面设计图 4-2 程序模拟界面源程序代码程序充分采用了循环结构与选择结构的基本编程方法,对于第一象限进行了编程,其它象限与此类似。Dim n, i,x(100), y(100), xe, ye, f(100) As IntegerPrivate Sub Command1_Click()x(0) = Val(Textl. Text)y(0) = Val(Text2. Text)xe =Val(Text3. Text)ye = Val(Text4. Text)If Abs(x0) = Abs(y0) Thenp = Abs(y0)Elsep = Abs(x0)End IfIf p Abs(xe) Thenp = Abs(xe)End IfIf p = 0 ThenFor j = x(i) To x(i) + 1 Step (j, y(i), vbBlue Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) - yeElseFor j = y(i) To y(i) + 1 Step(x(i), j), vbBlueNext jy(i + 1) = y(i) + 1 x(i + 1) = x(i)f(i + 1) = f(i) + xeEnd IfNext iEnd Sub逐点比较法圆弧插补VB程序同直线插补编程类似,不多赘述。以第一象限的逆圆弧为例,界面设计图 4-3 ,程序模拟界面图 4-4 ,源程序代码分别如下。5圆弧癣卜4 .起直弧度半径0图 4-4 程序模拟界面源程序代码如下:Dim n,m, p, x(1000), y(1000), xe, ye, f(1000) As SinglePrivate Sub Command1_Click()Dim i As IntegerConst pi =m = pi * Valn = pi * Valr = Valx(0) = abs(r * Cos(m)y(0) =abs( r * Sin(m)xe = abs(r * Cos(n) ye = abs(r * Sin(n)If Abs(x0) = Abs(y0) Thenp = Abs(y0)Elsep = Abs(x0)End IfIf p Abs(xe) Thenp = Abs(xe)End IfIf p = 0 ThenFor j = x(i) To x(i) - 1 Step(j, y(i), vbBlueNext jx(i + 1) = x(i) - 1y(i + 1) = y(i)f(i + 1) = f(i) - 2 * x(i) + 1ElseFor j = y(i) To y(i) + 1 Step(x(i), j), vbBlueNext jy(i + 1) = y(i) + 1x(i + 1) = x(i)f(i + 1) = f(i) + 2 * y(i) + 1End IfNext iEnd Sub第五章结论本设计在传统的逐点比较圆弧插补算法的基础上,提出一种改进算法。 这种改进的算法不仅减少数控系统的插补次数而且还提高插补精度,从 而提高零件轮廓的加工精度。本设计还利用VB设计语言,不但可以实 现逐点比较插补原理的相关程序设计而且 使数控插补原理的实现更为 形象化。采用这种方法,不仅让读者了解插补过程,而且还可以帮助读 者更加直观的理解数控插补的原理。这不但帮助读者学习和理解数控技 术 , 还 可 以 提 高 读 者 的 学 习 兴 趣 。致谢本课题在选题及研究过程中得到陈老师的细心指导。通过这次毕业设 计,在解决问题方面得到了锻炼,我更深刻理解了专业知识及掌握了一 定专业技能。在常用编程设计思路技巧的掌握方面,我也向前迈了一大 步,为日后成为合格的应用型人才打下良好的基础。在此我感谢陈老师 的认真负责的指导,此外,我还要感谢在一起愉快的度过大学生生活的 全体老师和同学们,正是由于你们的帮助和支持,我才能克服一个一个 的困难和疑惑。在这里请再接受我诚挚的谢意!最后,我还要感谢培养我的父母,谢 谢你们!参考文献1 刘炳文.visual Basic程序设计教程.北京:清华大学出版社,20092 杜国臣,王士军.机床数控技术.北京:北京大学出版社3 王爱玲等.现代数控原理及控制系统.北京:国防工业出版社,2007.4 丁学均,温秀梅.Visual Basic程序设计实验教程北京:清华大学出版社,2001廖效果数控技术M.武汉:湖北科学技术出版社,2000.龚培增等.Visual Basic程序设计教程北京:高等教育出版社,2007
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!