数控曲线逼近课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、概述1.1、数控机床课程设计的目的数控机床课程设计是机电专业教学活动的一个重要的实践性环节,是对学生所学《数控机床》课程和其它有关课程知识和技能的一次综合性练习,旨在使之巩固、充实、系统化,并得到进一步扩展。课程设计是培养学生理论联系实际、解决生产实际问题的机会。通过对数控铣床典型部件的结构设计和零件编程的具体问题的解决,使学生对数控机床的结构原理、设计方法以及用编程方法处理实际问题的一般步骤和具体技巧得到训练,提高运用所学专业知识分析问题和解决问题的能力。1.2、课程设计的内容和要求用VB编程语言,编写计算机软件在WINDOWS实现数控装置的计算机仿真。要求清楚地分析问题,提出算法,确定友好人机界面,列出流程图,最后用程序验证,并且提交程序说明书。1.3、课程设计的步骤课程设计的步骤大致包括:调查研究,收集资料,查阅文献,论证及确定设计方案,进行算法设计和软件设计,编写程序和编制设计说明书,最后参加课程设计的答辩。1.4非圆弧曲线逼近应用及国内外发展现状机械制造业中,具有椭圆形外形的零件是二维轮廓工件,比较常见也是比较难以加工的。目前椭圆形零件的加工方法主要有:在普通机床上进行近似加工;根据椭圆的形成定理,设计专用加工装置进行加工;。由于一般数控机床的编程代码只具有直线插补和圆弧插补功能,因此对于椭圆这类非圆形曲线的数控加工大多采用小段直线或小段圆弧去逼近轮廓曲线,完成数控编程,分别用4段、8段或多段光滑连接的圆弧来逼近椭圆曲线,控制最大偏离度在公差允许范围内,然后计算出每段圆弧的起点坐标、终点坐标及圆弧半径,再编制数控加工程序进行加工。由于必须按照允许的精度要求计算各小段直线或圆弧的起点和终点,当工件轮廓较长而精度要求很高时,逼近段直线或圆弧必须分得很细,因而计算量大,给手工编程带来很多的不便,同时这种按逼近曲线或近似画法进行编程的方法从2原理上讲就已经带来了误差,因而无法加工出高精度的椭圆形零件。例如在椭圆形陶瓷成形的经济型数控装置中,利用逐点比较法插补原理设计专用的椭圆插补程序来实现椭圆曲线的数控加工,这样虽然可以提高精度但缺乏通用性二、非圆弧逼近设计思路2.1、概述数控加工中把除直线与圆之外可以用数学方程式表达的片面廓形曲线,称为非圆曲线,其数学表达式的形式可以是以y=f(x)的直角坐标的形式给出,也可以是以ρ=ρ(θ)的极坐标形式给出。通过坐标变换,后面两种形式的数学表达式,可以转换为直角坐标表达式。这类零件的加工,以平面凸轮类零件为主,其他如样板曲线,圆柱凸轮以及数控车床上加工的各种以非圆曲线为母线的回转体零件等等。其数值计算过程,一般可按以下步骤进行。(1)、选择插补方式:即应首先决定是采用直线段逼近非圆曲线,还是采用圆弧段或抛物线等二次曲线逼近非圆曲线。(2)、采用直线段逼近非圆曲线,一般数学处理较简单,但计算的左边数据较多,且各直线段间连接处存在尖角,由于尖角处,刀具不能连续地对零件进行切削,零件表面会出现硬点或切痕,使加工表面质量变差。采用圆弧段逼近地方式,可以大大减小程序段的数目,其数值计算又分为两种情况,一种为相邻两圆弧段间彼此相交;另外一种则采用彼此相切的圆弧段来逼近非圆曲线,后一种方法由于相邻圆弧彼此相切,一阶导数连续,工件表面整体光滑,从而有利于加工表面质量的提高。采用圆弧段逼近,其数学处理过程比直线段逼近要复杂一些。(3)、确定编程允许误差即应使δ允。(4)、选择数学模型,确定计算方法非圆曲线节点计算过程一般比较复杂。目前生产中采用的算法也较多。在决定采用什么算法时,主要应考虑的因素有两条,其一时尽可能按等误差的条件,确定节点坐标位置,以便最大程度地减少程序段的数目;其二是尽可能寻找一种简单的计算方法,以便计算机处理流程图。根据算法,画出计算机处理流程图。(5)、用高级语言编写程序,上机调试程序,并获得节点坐标数据。32.2、用直线段逼近非圆曲线用直线段逼近非圆曲线,目前常用的计算方法有等间距法,等弦长法和等误差法。2.2.1、等间距法直线段逼近的节点计算1)基本原理等间距法就是将某一坐标轴划分成相等的间距。如图1所示,沿X轴方向取△X为等间距长,根据已知曲线的方程)(xfy,可由Xi求得Yi,1iX=iX+△X,1iy=)(xxfi。如此求得一系列点就是节点。由于要求曲线)(xfy与相邻两节点连线间的法向距离小于允许的程序编制误差允,△X值不能任意设定。一般先取△X=0.1进行试算。实际处理时,并非任意相邻两点间的误差都要验算,对于曲线曲率半径变化较少处,只需验算两节点间距离最长处的误差,而对曲线曲率半径变化较大处,应验算曲率半径较少处的误差,通常由轮廓图形直接观察确定校验的位置2)误差校验的方法设需校验的曲线为mn,m点(mmYX,),n点(nnYX,)已求出,则m,n两点的直线方程为nmnmnnyyxxyyxx令A=nmyy,B=mnxx,C=mnnmxyxy则Ax+By=C即为过mn两点的直线方程,距mn直线为的等距线''nm的直线方程可表示如下:22ACByAxB式中,当所求直线''nm在mn上边时取“+”号,在mn下边时取“-”号。4为''nm与mn两直线间得距离。联立方程求解22ACByAxB)(xfy求解时,的选择有两种办法,其一为取为未知,利用联立方程组求解只有唯一解的条件,可求出实际误差实,然后用实与允进行比较,以便修改间距值;其二为取允实=,若方程无解,则''nm与)(xfy无交点,表明允实。等间距法计算简单,但由于取定值△X应保证曲线曲率最大处的逼近误差小于允许值,所以程序可能过多。图1-12.2.2、等误差法直线段逼近的节点计算1)基本原理设所求零件的轮廓方程为)(xfy,首先求出曲线起点a的坐标aayx,,以点a为圆心,以允为半径作圆,与该圆和已知曲线公切的直线,切点分别5为Pppyx,,Tttyx,,求出此切线的斜率;过点a作PT的平行线交曲线于b点,再以b点为起点用上法求出c点,依次进行,这样即可求出曲线上的所有节点。由于平行线间距离恒为允,因此,任意相邻两节点间的逼近误差为等误差。2)计算步骤以起点aaayx,为圆心,允为半径作圆:222允)(aayyxx求圆与曲线公切线PT的斜率,用以下方程联立求PPTTyxyx,,,:曲线方程曲线切线方程圆方程圆切线方程TTPTPTAApPAPAPPtptxfyxfxxyyyxxyyyxxxxyy''22)(过a点与直线PT平行的方程为aaxxkyy与曲线联立求解b点bbxx,xfyxxkyyaa按以上步骤顺次求的c,d…..各节点坐标63)特点各程序段误差均相等,程序段数目最少。但计算过程比较复杂,必须由计算机辅助才能完成计算。在采用直线段逼近非圆曲线的方法中,是一种较好的方法。apbcdQ)(xfy0YX图1-32.2.3优化算法优化方案:a针对我们组所要求的曲线(正弦、抛物线),我们发现都为对称曲线,即可对部分曲线节点计算并对称复制,减少一半以上计算量;b针对对称这一特点,我们将起点确定在曲线最高点(对称线上的点),比传统从曲线起点计算,此方法可略微减少节点数,使逼近段数减少,并可避免对称复制可能引起的重叠。算法确定:以曲线对称线与曲线交点作为直线段的起点,取微小等间距Δx,以该点作临时节点,计算最大误差δ(计算方法与等间距求最大误差δ的思路相似),若δ≤允,则再取2Δx为临时节点,计算最大误差δ,重复n次直至出现δ允,以(n-1)Δx作为节点。依次类推可求出所有节点。1)正弦曲线:将一个周期的正弦曲线划分为最多三个单调区间,计算其中半个周期且连续、单调区间的节点,再根据ψ值的不同,分别进行节点复制,完成整条曲线的节点计算。两点间斜率:k=(y2-y1)/(x2-x1)求取曲线上斜率相同的点:v=Atn(-(k/w/A)/Sqr(-(k/w/A)^2+1))+2*Atn(1)xp=(v-r)/wyp=A*Sin(w*xp+r)计算最大误差:d=(Abs(k*xp-yp-k*x1+y1))/Sqr(k*k+1)2)抛物线:求取抛物线的顶点(x=-b/2a),以该点为中点将区间划分为2个单调对称区间。计算其中一个区间的节点,并对称复制,得到全部节点。计算两点斜率:k=(y-my(i))/(x-mx(i))x3=(k-B)/(2*A)7y3=A*x3^2+B*x3+Ch=k*x3-y3+my(i)-k*mx(i)最大误差:d=h/Sqr(k^2+1)或d=-h/Sqr(k^2+1)2.3、计算机算法流程图计算机算法流程图如图所示。1)传统算法的流程图82)优化算法的流程图9三、软件系统设计及运行结果3.1、主界面介绍图3-1(主界面)图3-2(正弦线逼近界面)组员信息曲线的选择正弦线参数的输入绘图区NC代码功能选择区10图3-3(抛物线逼近界面)3.2、界面解读曲线的系数如正弦线的A、ω和ψ,刀具半径R,允许最大误差δ和进给速度F以及抛物线的A、B和C都是用户自己输入的,按钮分别是主界面的曲线选择和退出按钮,以及曲线逼近界面内的原曲线、逼近曲线、生成刀轨、清屏和返回按钮。以及有右刀轨和左导轨的选择。3.3、算法说明为了使编程过程简便可靠,两种曲线的逼近都是采用了类等间距的逼近方法。利用先确定的间距Δx=2δ,第一点为x1,则下一点为x2=x1+Δx,此时进行误差判别δ1,如果δ1δ,则使得x2=x2+Δx,重新判别,直到大于δ,则上一个点为所需要的节点,如此循环直到曲线的端点。3.4、开发工具的选择由于vb的界面设计比较简单,好看,实用,编程比较人性化,符合一般人的思维:相反,我们在这学期也学了出c语言,但是c语言与汇编语言比较相近,操作起来比较难,更符合计算机语言,界面的处理比较麻烦,而且不够美观,而且知识没有那么牢固,对应用还有一定的难度,所以我们选择了用vb作为开发工具。113.5、人机界面的选择本程序为一个工程,三个form组成,分别为曲线选择,抛物线逼近,正弦线逼近三个界面。3.6、所设计软件的使用说明及测试结果该软件可以通过输入不同的参数来逼近不同的曲线,采用的是等间距法。由于曲线的基本类型已经设定,所以也就是属于对特殊参数的曲线的逼近。以下是调试的数据;(1)正弦线:如下图所示(2)抛物线:如下图所示12四、设计小结数控课程设计是机电专业教学活动的一个重要的实践性环节,是对所学《数控技术》课程和其它有关课程知识,特别系VB语言,是技能的一次综合性大练习,主要目的是使我们的各方面的知识得以巩固、充实、系统化,并进一步扩展。课程设计是培养我们理论联系实际、解决生产实际问题的良好机会。通过对数控机床的程序编程中的数学处理的具体问题的解决,使我们对数控机床的用编程方法处理实际问题的一般步骤和具体技巧得到训练,同时也提高运用所学专业知识分析问题和解决问题的能力。五、参考文献1《机床设计手册》第三分册2廖效果.数字控制机床.武汉:华中理工大学出版社.1992.93廖效果.数控技术.武汉:湖北科学技术出版社.2000.74刘又午.数字控制机床.北京:机械工业出版社5龚浦泉.机床电气控制.重庆:重庆大学出版社6谭浩强.Basic语言结构化程序设计教程.北京:中国科学技术出版社.19907杨林,李继良.VisualBasic编程高手.北京:北京大学出版社.2000六、附录VB代码:(1)主界面代码PrivateSubLabel1_load()EndSubPrivateSubCommand1_Click()Form1.Hide选择函数13Form2.ShowEndSubPrivateSubPicture1_Click()EndSubPrivateSubCommand2_Click()Form1.Hide选择函数Form3.ShowEndSubPriv

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功