盘形凸轮轮廓数控编程说明书_第1页
盘形凸轮轮廓数控编程说明书_第2页
盘形凸轮轮廓数控编程说明书_第3页
盘形凸轮轮廓数控编程说明书_第4页
盘形凸轮轮廓数控编程说明书_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、盘形凸轮轮廓数控编程说明书引言:随着计算机的应用日益广泛,在凸轮机构的设计中采用计算机辅助设计的方法已日益普遍。它不仅使设计工作量大为减少,设计速度大为提高,而且可大大提高凸轮廓线的设计精度,从而更好的满足设计要求。凸轮的分类:1 .凸轮按形状分类可以分为:盘状凸轮(platecam):具有变化半径盘状体,从动在垂直于凸轮的平面内作移动或摆动。楔形移动凸轮(wedgecam):将盘形凸轮一个扇形部分绕在圆锥上锥形凸轮,即在圆锥体上开有曲线槽,从动件运动与圆柱凸轮相同。柱状凸轮(cylindricalcam):移动凸轮绕在圆柱体上一圆柱凸轮。实际上是在圆柱体上开有曲线槽端面上做成曲面形状,从动件

2、与在凸轮轴同一平面或平行平面内移动,摆动。2 .按从动件与凸轮的接触形式分类可以分为:尖底从动件(aknifeedgefollower):点接触,易磨损,传力不大。2.滚子从动件(arollerfollower):线接触:磨损小,传力大平底从动件(aflat-facefollower):平面接触,接触处易形成油膜,高速。7/283 .按从动件的运动形式分类可以分为:往复移动凸轮机构(reciprocating)摆动凸轮机构(oscillating)4 .按锁合方法分类可以分为:力封闭(弹簧、重力)形封闭(槽形、等宽矩形、等径、共枕)凸轮设计的现状传统的盘形凸轮设计主要有图解法和解析法。图解法直

3、观简单,但是手工作图选取的等分数有限、精度差。以此为基础的手工画线加工表面精度都比较低。对于从动件运动规律复杂,精度要求高的凸轮,手工操作难以胜任。随着计算机技术的日益发展,用解析法使绘制从动件运动规律复杂,精度要求高的凸轮成为可能,并得到日益广泛的应用。本人这次尝试在解析法的基础上,借助VB6.0编制了一个简化的对心滚子从动件盘形凸轮设计软件。一个凸轮机构的完整设计过程大体包括以下内容:1 .根据使用场合和工作要求,选择凸轮机构的类型2 .根据工作要求选择或设计从动件的运动规律3 .根据机构的具体结构条件,初选凸轮的基圆半径设计的目标是保证凸轮机构在既满足工作对从动件的运动要求乂具有良好的受

4、力状况的前提下,机构的结构尽可能紧凑。凸轮机构计算机辅助设计在很大程度上弥补了单一CAD系统的不足。因此,凸轮机构计算机辅助设计的发展空间是十分巨大的。1数控技术课程设计的目的:数控技术课程设计是机电专业教学活动的一个重要的实践环节,是对学生所学数控技术课程和其它有关课程知识和技能的一次综合性练习,旨在使之巩固,充实,系统化,并得到进一步扩展。课程设计是培养学生理论联系实际,解决生产实际问题的机会。通过对数控机床典型部件的结构设计和零件编程的集体问题的解决,使学生对数控机床的结构原理,设计方法以及用编程方法处理实际问题的一般步骤和集体技巧得到训练,提高运用所学专业知识分析问题和解决问题的能力。

5、2设计任务:平面凸轮的数控加工程序的编制:设有凸轮如图1所示。凸轮转角t与从动件位移s的关系即凸轮轮廓的展成平面图如图2所示。要求分析凸轮的曲线规律,设计一个软件能够用于平面凸轮的参数化绘图和生成数控加工的代码。即:1 .有一个凸轮设计的友好界面;图12 .能够按照用户要求生成凸轮的曲线轮廓,对于非圆几何形状可采用直线或圆弧逼近的方法生成曲线;3 .能够生成数控代码;图2凸轮设计中涉及的有关参数可自行设定,或参考图2中的参数。3设计的主要问题:(1.如何通过计算机得出用户所需的凸轮图形。在数控编程的学习中,我们学习过几种非圆曲线逼近的方法:1)等间距直线逼近法,2)等弦长直线逼近法,3)等误差

6、直线逼近法,4)圆弧逼近法。鉴于等间距直线逼近法比较简单、易懂,而其余三种方法非常复杂,故本人采用了等间距直线逼近法作曲线的形状。下而对此方法作简要介绍:等间距直线逼近法是使每一个程序段中的某一个坐标的增量相等。右图表示加工一个凸轮时,x坐标按等间距分段时结点的分布情况。将xlx7的值代入方程y=f(x),可求得ylyl4的值,从而得到结点A1A14的坐标值。把A1A2、A2A3A14A1用直线连起来,即可得到曲线图形。间距大小一般根据零件加工精度要求凭经验选取。求出结点坐标后再验算逼近误差是否小于允许值。等间距法计算简单,但由于取定的间距应保证曲线曲率最大处的逼近误差小于允许值,所以程序可能

7、过多。因为目前数控机床的精度一般为0.01,故在本软件中,我采用的间距为0.1mm,即x轴每隔0.1mm取一个点,(如图代码,endl是指所画圆弧的开始点,str是终点,step。.1指每0.1个单位画一个点,利用循环语句画出所要求曲线)Fori=0To(endl-str)Step0.1X=iY=h-h*(endl-str)-i),2/(endl-str)2FrmView.FicView2.FSet优RGB0,0)ptx(low)=(radius+(Gao+Y)*SinCQtuan+i)*PI/180)pty(low)=fradms+(Gao+Y)*Cos(Qtuan+i)*FI/180)Fr

8、mView.FicViewl.FSet(ptx(low)ptyCLow)RGB(1000,口0),as(2.如何得到NC加工代码。要生成NC代码,可以用AutoCAD内嵌的Autolisp进行转化成DXF文件,然后把此文件导入MsterCAM中生成NC代码。但这样很麻烦!由于题目的凸轮加工也比较简单,所以我决定用VB直接编写NC代码,以便本软件更加人性化。当然,编写出来的代码,不能像MasterCAM生成的那样完善。不过,无论你用哪种方法得到NC代码,其主体部分肯定相同的。所以,对于自行编写出的NC代码,我们稍加修改也一样可以达到目的。(见主要程序说明或所附源代码)4凸轮曲线及输入参数的确定:

9、凸轮从动件的运动规律所用数学表达式的形式常用的主要有多项式运动规律和三角函数运动规律两大类。I多项式运动规律sC()+C5+.+Cnn(11)式中5为凸轮的转角;S为凸轮从动件位移;c。、6、。2、为待定系数。而常用的有以下几种多项式运动规律。(1)一次多项式运动规律(速度为常数)s=C0+v=coCx(1-2)dt=虫=0dt图3-7等速运动规律设取边界条件盘形凸轮轮廓数控编程说明书在起点处5=0,5=0.在终点处万=。0,s=h.则由式(1-2)可得q=o,chb/b。,故从动件推程的运动方程为s=/?5/5。,回程时h取负值。二次多项式运动规律(加速度为常数)等加速运动方程:/北字等减速

10、运动方程:s=h2”区)/缶;图3-8等加速等减速运动规律n三角函数运动规律余弦加速度运动规律(简谐运动规律)(2)从动件的加速度余弦规律变化,其运动方程为:3) )s=Zzlcos(5/)/2图3-9余弦加速度运动规律、人,4) 正弦加速度运动规律(摆线运动规律)从动件的加速度按正弦规律变化,其运动方程为:s=/方)-S111(27/否C/2兀、9/28盘形凸轮轮廓数控编程说明书图3-10正弦加速度运动规律其中:等速运动:极大的冲击;等加速、等减速:冲击较大;余弦加速度运动:冲击力较小;正弦加速度运动:没冲击。由于凸轮的曲线函数还有很多,如五项式、高次方、谐波等,在此不作为设计的范围,而对于

11、凸轮的具体运用场合如对心直推,偏置直动推杆盘状凸轮机构,摆动推杆,平底推杆等情况也不予考虑,同时也忽略了对设计完成的凸轮的冲击力情况的讨论。5设计的思路及步骤:基于上述观点,在输出DXF文件方面,在此本人用第二种方法,直接编写DXF文件。而题目要求此软件要有一个友好的界面,VisualBasic语言完全能达到这个要求。软件实现的功能是接受用户输入,作出平面凸轮图形,输出DXF文件及NC代码。具体的步骤是一、设计用户界面。在VisualBasic6.0中,界面的设计是轻而易举的事情。在这二、就不加以介绍,而我这次设计的“平面凸轮计算机辅助设计”软件界而有两类,一是接受用户输入凸轮的主参数及图形的

12、窗口,二是导出NC代码的数控参数输入窗口。主界而如下图:接受用户输入,生成凸轮图形。在软件中,我提供了凸轮设计中所用到的最基本的五条曲线方程11 / 28盘形凸轮轮廓数控编程说明书给用户选择,曲线方程的重复无限次。其中的关键的如何把输入的方程首尾相接,形成凸轮。而我是从凸轮的展开图入手的。因为要输入的曲线都有一个共同特征,x=0时,f(x)=O。所以我编程时使上一次输入曲线的末点坐标成为下一次输入曲线的原点,问题就解决了。即如下代码:设定范围area=Vai(NuinEnd)tch=tch+h(NumEnd是指本次输入曲线的终点,area是指后一条曲线的开始点,即把本次的终点作为后段曲线始点)

13、如下图:L-Em.f曲线类型L口X正弦加速度运动方程输S=h6/6o-sin(27T5/8o)/2H叶加田和军J角度范圉后段始点余您加速度运动方程S=h 1-cos ( h S / 6 o) /2然后把展开图的直角坐标系转换为平面图的极坐标系即可得到凸轮真实的图形。为了下一步输入DXF文件及NC代码,所以我定义了一个全局静态数组把作图时得到的点保存起来。一、输入DXF图形交换文件及NC加工代码。有了上面留下来的点的数值,只要编写好接口程序,就可以得到DXF文件,NC代码了。中以循环的方法可以很容易实现。如代码:=G-adius+(Gao+)*Sin(Huan+i)+PI/180)G曲瀛京1吗*

14、:家叫?U篇得3黑IrSetLptx(lowptyljLowJRGB(.1000,0J“编NC代码时所取的点MMBaiMMMBFori=1To3599JzPrint#1?”丁;LTrimCRTrim(j/ZGOl;K;LTrim(RTrim(Format$l:?X(i)?#.#);_Y;LTrimCRTrim(Format$(pzy(i),NN#.NN片j)至于DXF文件的格式请参阅“设计的主要问题”部分。24 / 286流程图:五流程图选择保存路径导出曲线图7使用步骤说明及效果图:输入凸轮各基本参数基本参数输入基圆半径I5um升程mm段数确定重役参数2、选择运动曲线类型选择输入曲线的类型;3

15、、输入NC加工参显示槿式.I线4、选择NC代码保存路径5、生成NC代码B凸轮代码1-记事本文件编辑(1)格式查看帮助N1OOG17G40G49G80N101t106T01N102G0OG90G5UD01X.Y.Z50Sie00M3N103Z2F250M10UG01Z-2F100N105G81X.V.M106G81X.V.N107G81X.V.N108G01X.V.N109G01X.V.N110G81X.V.N111G01X.V.M112G81X.V.H113G81X.V.H114G01X.V.H115G01X.V.8设计心得体会:在完成数控技术课程设计之际,本人想谈谈自己的一些心得体会。首先要

16、衷心感谢老师给予的指导,同时由于本人的水平有限,所以大部分的设计是参考师兄的成果。在此,我要感谢他们。课程设计的过程中,因为专业基础不好,本人遇到了很多麻烦。为此,本人翻阅了很多书籍。譬如说上个学期学的机械原理这本书,了解凸轮的机构及其设计。然后是江志文先生主编的VisualBasic程序设计教程。弄清楚凸轮设计中使用的插补原理的相关程序。我得到了很多同学的帮助,在此,我衷心的感谢他们!作为机械工程系的将要毕业的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。在已度过的大三的时间里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去锻炼我们的实践面?我

17、想这个数控技术的课程设计就为我们提供了良好的实践平台,使我们学会综合运用我们学过的专业知识做学问,使我们学会通过查阅资料的方法去解决现实生活中遇到的问题.为了让自己的设计更加完善,更加符合工程标准,一次次翻阅机械设计手册是十分必要的,同时也是必不可少的。我们是在作设计,但我们不是艺术家。他们可以抛开实际,尽情在幻想的世界里翱翔,我们是工程师,一切都要有据可依.这次课程设计大作业让我深刻领会到:我们平时要认真对待我们的专业课程,要有严谨的学习态度。譬如说这次作业中,在VB编程中浪费了很多时间,假如当初的VB基础比较好的话,就不至于这样。所以,我们不但要学号专业知识,而且要多学专业知识,以有利于以

18、后个人的发展!由于时间较紧,设计难免有许多不足的地方。譬如画凸轮的函数方程式有限,缺乏具体分析其函数式的组合情况,有时生成的凸轮曲线之间连接处并非圆滑过渡,会带来很大的冲击力,因此要进行后处理才能使用。在判断输入参数是否合理,和一些出错处理上还不够完善,因此还有很多地方需要改进的。还请老师批评指正!9我的意见和建议:首先,由于关于这方面的课程设计比较陌生,希望老师能够多点抽时间指导我们。其次,由于课程设计任务较重,如果几个同学组合完成就更好了。附部分源程序模块OptionExplicitPublicptx(3600)AsDouble曲线存储点数组Publicpty(3600)AsDouble由

19、于存储最终输出的点Pub1ic1owAsDoub1e,数组下标PubliccountnumAsInteger,存储当前为第几段曲线输入的值PublicConstPI=3.14159PublicareaAsDouble,存储角度范围的值PublicschAsDouble总升程PublictchAsDouble,输入曲线的推程Pub1icHuanAsDoub1e5坐标变换数据Pub1icGaoAsDoub1ePublicalAsString,a2Asstring,a3AsstringPublicblAsDoub1ePub1icsavetimeAsDoub1ePubliciAsDoubleFrmVi

20、ew主窗口OptionExplicitDimj%PublicbchAsString,zbxAsString,NIAsInteger,sdAsStringPrivateSubCmbSlect_Click()选择曲线类型SelectCaseCmbSlect.ListindexCase。等加速运动dengjiasu.NumStr.Text=清空Text文本框dengjiasu.NumEnd.Text二dengjiasu.NumH.Text二dengjiasu.NumStr.Text=area设定default范围dengjiasu.NumStr.Enabled=Falsedengjiasu.NumE

21、nd.Enabled=TrueIfCountAll.Caption=CountNow.CaptionThen,最后一段曲线dengjiasu.NumEnd.Text=360输入时,自动输入dengjiasu.NumEnd.Enabled=False默认值dengjiasu.NumH.Text二一blEndlfdengjiasu.ShowlCasel等速运动dengsu.NumStr.Text二dengsu.NumEnd.Text二dengsu.NumH.Text二dengsu.NumStr.Text=areadengsu.NumStr.Enabled=Falsedengsu.NumEnd.En

22、abled=TrueIfCountAll.Caption=CountNow.CaptionThendengsu.NumEnd.Text=360dengsu.NumEnd.Enabled=Falsedengsu.NumH.Text二一blEndlfdengsu.ShowlCase2,正弦加速度运动sinx.NumStr.Text二sinx.NumEnd.Text二sinx.NumH.Text二sinx.NumStr.Text=areasinx.NumStr.Enabled=Falsesinx.NumEnd.Enabled=TrueIfCountAll.Caption=CountNow.Capti

23、onThensinx.NumEnd.Text=360sinx.NumEnd.Enabled=Falsesinx.NumH.Text二一blEndlfsinx.ShowlCaseS)余弦加速度运动Cosx.NumStr.Text二Cosx.NumEnd.Text二Cosx.NumH.Text=Cosx.NumStr.Text=areaCosx.NumStr.Enabled=FalseCosx.NumEnd.Enabled=TrueIfCountAll.Caption=CountNow.CaptionThenCosx.NumEnd.Text=360Cosx.NumEnd.Enabled=False

24、Cosx.NumH.Text二一blEndlfCosx.ShowlCase4,等减速运动dengjiansu.NumStr.Text二dengjiansu.NumEnd.Text二dengjiansu.NumH.Text二dengjiansu.NumStr.Text=areadengjiansu.NumStr.Enabled=Falsedengjiansu.NumEnd.Enabled=TrueIfCountAll.Caption=CountNow.CaptionThendengjiansu.NumEnd.Text=360dengjiansu.NumEnd.Enabled=Falsedengj

25、iansu.NumH.Text二一blCommonDialogl.InitDir=c:CommonDialogl.FileName二凸轮代码1.ncCommonDialogl.Filter=nc文件(*.nc)I*.nc|文本(*.txt)I*,txt|所有文件(*.*)|*.*CommonDialogl.DefaultExt二CommonDialogl.Action=2OpenCommonDialogl.FileNameForOutputAs#1j=100绝对坐标编程IfOptionl.Value=TrueThenNC代码的开始部分PrintSl,Print#l,,N,;LTrim(RTri

26、m(j);,G17G40G49G80/,j=j+lPrintitl,,V;LTrim(RTrim(j);“MO6T01j=j+lPrint#l,,V;LTrim(RTrim(j);GOOG90G54”;bch;_DOIX;RTrim(LTrim(Format$(ptx(0),#.#);_Y,z.RTrim(LTrim(Format$(pty(0),#)LTrim(RTrim(Vai(Text6)S”;LTrim(RTrim(Vai(Text4);M3”产j+1Print#1,;LTrim(RTrim(j);Z2”;LTrim(RTrim(Vai(Text2)sd=Val(Text8)ForM=

27、lToVal(Text8)j=j+lPrintiil,;LTrim(RTrim(j)LTrim(RTrim(Vai(Text7);LTrim(RTrim(Text1)j=j+l主要走刀部分Fori=lTo3599Printftl,V;LTrim(RTrim(j);,?GOrz;_;X”;LTrim(RTrim(Format$(ptx(i),#.#)Y;LTrim(RTrim(Format$(pty(i),#.#)j=j+lNextisd=sd+Val(Text7)NextMPrint#1,N;LTrim(RTrim(j);“G00;G40”;LTrim(RTrim(Vai(Text6)j=j+

28、lPrint#l,N;LTrim(RTrim(j);M05”j=j+lPrint”,N;LTrim(RTrim(j);“M02PrintSl,Close#lElse相对坐标编程IfOption2.Value=TrueThenPrintSl,Print#l,,N,;LTrim(RTrim(j);,G17G40G49G80/,j=j+lPrintitl,,V;LTrim(RTrim(j);“MO6T01j=j+lPrint#l,;LTrim(RTrim(j);GOOG91G54”;bch;D01X”;RTrim(LTrim(ptx(0);,Y;RTrim(LTrim(pty(0);LTrim(RTrim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论