ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:841.22KB ,
资源ID:10437963      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10437963.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(整理盘形凸轮轮廓数控编程说明书.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

整理盘形凸轮轮廓数控编程说明书.docx

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

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

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

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

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

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

7、允许值,所以程序可能过多。因为目前数控机床的精度一般为0.01,故在本软件中,我采用的间距为0.1mm,即x轴每隔0.1mm取一个点,(如图代码,end1是指所画圆弧的开始点,str是终点,step0.1指每0.1个单位画一个点,利用循环语句画出所要求曲线)(2.如何得到NC加工代码。要生成NC代码,可以用AutoCAD内嵌的Autolisp进行转化成DXF文件,然后把此文件导入MsterCAM中生成NC代码。但这样很麻烦!由于题目的凸轮加工也比较简单,所以我决定用VB直接编写NC代码,以便本软件更加人性化。当然,编写出来的代码,不能像MasterCAM生成的那样完善。不过,无论你用哪种方法得

8、到NC代码,其主体部分肯定相同的。所以,对于自行编写出的NC代码,我们稍加修改也一样可以达到目的。(见主要程序说明或所附源代码)4凸轮曲线及输入参数的确定:凸轮从动件的运动规律所用数学表达式的形式常用的主要有多项式运动规律和三角函数运动规律两大类。多项式运动规律 (1-1)式中为凸轮的转角;s为凸轮从动件位移;、为待定系数。而常用的有以下几种多项式运动规律。(1)一次多项式运动规律(速度为常数) (1-2 )设取边界条件为在起点处 ,.在终点处 ,.则由式(1-2)可得,故从动件推程的运动方程为 ,回程时h取负值。二次多项式运动规律(加速度为常数)等加速运动方程:等减速运动方程: 三角函数运动

9、规律1 余弦加速度运动规律(简谐运动规律) 从动件的加速度余弦规律变化,其运动方程为:(2) 正弦加速度运动规律(摆线运动规律) 从动件的加速度按正弦规律变化,其运动方程为:其中:等速运动:极大的冲击;等加速、等减速:冲击较大;余弦加速度运动:冲击力较小;正弦加速度运动:没冲击。由于凸轮的曲线函数还有很多,如五项式、高次方、谐波等,在此不作为设计的范围,而对于凸轮的具体运用场合如对心直推,偏置直动推杆盘状凸轮机构,摆动推杆,平底推杆等情况也不予考虑,同时也忽略了对设计完成的凸轮的冲击力情况的讨论。5设计的思路及步骤:基于上述观点,在输出DXF文件方面,在此本人用第二种方法,直接编写DXF文件。

10、而题目要求此软件要有一个友好的界面,Visual Basic语言完全能达到这个要求。软件实现的功能是接受用户输入,作出平面凸轮图形,输出DXF文件及NC代码。具体的步骤是一、 设计用户界面。在Visual Basic 6.0中,界面的设计是轻而易举的事情。在这就不加以介绍,而我这次设计的“平面凸轮计算机辅助设计”软件界面有两类,一是接受用户输入凸轮的主参数及图形的窗口,二是导出NC代码的数控参数输入窗口。主界面如下图:二、 接受用户输入,生成凸轮图形。在软件中,我提供了凸轮设计中所用到的最基本的五条曲线方程给用户选择,曲线方程的重复无限次。其中的关键的如何把输入的方程首尾相接,形成凸轮。而我是

11、从凸轮的展开图入手的。因为要输入的曲线都有一个共同特征,x=0时,f(x)=0。所以我编程时使上一次输入曲线的末点坐标成为下一次输入曲线的原点,问题就解决了。即如下代码:(NumEnd是指本次输入曲线的终点,area是指后一条曲线的开始点,即把本次的终点作为后段曲线始点)如下图:然后把展开图的直角坐标系转换为平面图的极坐标系即可得到凸轮真实的图形。为了下一步输入DXF文件及NC代码,所以我定义了一个全局静态数组把作图时得到的点保存起来。三、 输入DXF图形交换文件及NC加工代码。有了上面留下来的点的数值,只要编写好接口程序,就可以得到DXF文件,NC代码了。用VB中以循环的方法可以很容易实现。

12、如代码:至于DXF文件的格式请参阅“设计的主要问题”部分。6流程图:7使用步骤说明及效果图:1、 输入凸轮各基本参数 2、选择运动曲线类型3、输入NC加工参数4、选择NC代码保存路径5、生成NC代码8设计心得体会:在完成数控技术课程设计之际,本人想谈谈自己的一些心得体会。首先要衷心感谢老师给予的指导,同时由于本人的水平有限,所以大部分的设计是参考师兄的成果。在此,我要感谢他们。课程设计的过程中,因为专业基础不好,本人遇到了很多麻烦。为此,本人翻阅了很多书籍。譬如说上个学期学的机械原理这本书,了解凸轮的机构及其设计。然后是江志文先生主编的Visual Basic程序设计教程。弄清楚凸轮设计中使用

13、的插补原理的相关程序。我得到了很多同学的帮助,在此,我衷心的感谢他们!作为机械工程系的将要毕业的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。在已度过的大三的时间里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去锻炼我们的实践面?我想这个数控技术的课程设计就为我们提供了良好的实践平台,使我们学会综合运用我们学过的专业知识做学问,使我们学会通过查阅资料的方法去解决现实生活中遇到的问题.为了让自己的设计更加完善,更加符合工程标准,一次次翻阅机械设计手册是十分必要的,同时也是必不可少的。我们是在作设计,但我们不是艺术家。他们可以抛开实际,尽情在幻想的世

14、界里翱翔,我们是工程师,一切都要有据可依.这次课程设计大作业让我深刻领会到:我们平时要认真对待我们的专业课程,要有严谨的学习态度。譬如说这次作业中,在VB编程中浪费了很多时间,假如当初的VB基础比较好的话,就不至于这样。所以,我们不但要学号专业知识,而且要多学专业知识,以有利于以后个人的发展!由于时间较紧,设计难免有许多不足的地方。譬如画凸轮的函数方程式有限,缺乏具体分析其函数式的组合情况,有时生成的凸轮曲线之间连接处并非圆滑过渡,会带来很大的冲击力,因此要进行后处理才能使用。在判断输入参数是否合理,和一些出错处理上还不够完善,因此还有很多地方需要改进的。还请老师批评指正! 9我的意见和建议:

15、首先,由于关于这方面的课程设计比较陌生,希望老师能够多点抽时间指导我们。其次,由于课程设计任务较重,如果几个同学组合完成就更好了。附部分源程序模块Option ExplicitPublic ptx(3600) As Double 曲线存储点数组Public pty(3600) As Double 由于存储最终输出的点Public low As Double 数组下标Public countnum As Integer 存储当前为第几段曲线输入的值Public Const PI = 3.14159Public area As Double 存储角度范围的值Public sch As Double

16、 总升程Public tch As Double 输入曲线的推程Public Huan As Double 坐标变换数据Public Gao As DoublePublic a1 As String, a2 As String, a3 As StringPublic b1 As DoublePublic savetime As DoublePublic i As DoubleFrmView 主窗口Option ExplicitDim j%Public bch As String, zbx As String, M As Integer, sd As StringPrivate Sub CmbS

17、lect_Click() 选择曲线类型Select Case CmbSlect.ListIndexCase 0 等加速运动dengjiasu.NumStr.Text = 清空Text文本框dengjiasu.NumEnd.Text = dengjiasu.NumH.Text = dengjiasu.NumStr.Text = area 设定default范围dengjiasu.NumStr.Enabled = Falsedengjiasu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then 最后一段曲线 dengj

18、iasu.NumEnd.Text = 360 输入时,自动输入 dengjiasu.NumEnd.Enabled = False 默认值 dengjiasu.NumH.Text = -b1 End Ifdengjiasu.Show 1Case 1 等速运动dengsu.NumStr.Text = dengsu.NumEnd.Text = dengsu.NumH.Text = dengsu.NumStr.Text = areadengsu.NumStr.Enabled = Falsedengsu.NumEnd.Enabled = True If CountAll.Caption = CountN

19、ow.Caption Then dengsu.NumEnd.Text = 360 dengsu.NumEnd.Enabled = False dengsu.NumH.Text = -b1 End Ifdengsu.Show 1Case 2 正弦加速度运动sinx.NumStr.Text = sinx.NumEnd.Text = sinx.NumH.Text = sinx.NumStr.Text = areasinx.NumStr.Enabled = Falsesinx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Th

20、en sinx.NumEnd.Text = 360 sinx.NumEnd.Enabled = False sinx.NumH.Text = -b1 End Ifsinx.Show 1Case 3 余弦加速度运动Cosx.NumStr.Text = Cosx.NumEnd.Text = Cosx.NumH.Text = Cosx.NumStr.Text = areaCosx.NumStr.Enabled = FalseCosx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then Cosx.NumEnd.Text =

21、 360 Cosx.NumEnd.Enabled = False Cosx.NumH.Text = -b1 End IfCosx.Show 1Case 4 等减速运动dengjiansu.NumStr.Text = dengjiansu.NumEnd.Text = dengjiansu.NumH.Text = dengjiansu.NumStr.Text = areadengjiansu.NumStr.Enabled = Falsedengjiansu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then dengj

22、iansu.NumEnd.Text = 360 dengjiansu.NumEnd.Enabled = False dengjiansu.NumH.Text = -b1CommonDialog1.InitDir = c:CommonDialog1.FileName = 凸轮代码1.ncCommonDialog1.Filter = nc文件(*.nc)|*.nc|文本(*.txt)|*.txt|所有文件(*.*)|*.*CommonDialog1.DefaultExt = ncCommonDialog1.Action = 2Open CommonDialog1.FileName For Outp

23、ut As #1j = 100绝对坐标编程If Option1.Value = True ThenNC代码的开始部分Print #1, %Print #1, N; LTrim(RTrim(j); G17G40G49G80j = j + 1Print #1, N; LTrim(RTrim(j); M06T01j = j + 1Print #1, N; LTrim(RTrim(j); G00G90G54; bch; _D01X; RTrim(LTrim(Format$(ptx(0), #.#); _Y; RTrim(LTrim(Format$(pty(0), #.#); Z; _LTrim(RTr

24、im(Val(Text6); _S; LTrim(RTrim(Val(Text4); M3j = j + 1Print #1, N; LTrim(RTrim(j); Z2; F; LTrim(RTrim(Val(Text2)sd = Val(Text8)For M = 1 To Val(Text8)j = j + 1Print #1, N; LTrim(RTrim(j); G01Z-; _LTrim(RTrim(Val(Text7); _F; LTrim(RTrim(Text1)j = j + 1主要走刀部分For i = 1 To 3599Print #1, N; LTrim(RTrim(j

25、); G01; _; X; LTrim(RTrim(Format$(ptx(i), #.#); _Y; LTrim(RTrim(Format$(pty(i), #.#)j = j + 1Next isd = sd + Val(Text7)Next MPrint #1, N; LTrim(RTrim(j); G00; G40; _ Z; LTrim(RTrim(Val(Text6)j = j + 1Print #1, N; LTrim(RTrim(j); M05j = j + 1Print #1, N; LTrim(RTrim(j); M02Print #1, %Close #1Else相对坐标

26、编程 If Option2.Value = True ThenPrint #1, %Print #1, N; LTrim(RTrim(j); G17G40G49G80j = j + 1Print #1, N; LTrim(RTrim(j); M06T01j = j + 1Print #1, N; LTrim(RTrim(j); G00G91G54; bch; D01X; RTrim(LTrim(ptx(0); _Y; RTrim(LTrim(pty(0); Z; LTrim(RTrim(Val(Text6); _S; LTrim(RTrim(Val(Text4); M3j = j + 1Pri

27、nt #1, N; LTrim(RTrim(j); Z2; F; LTrim(RTrim(Val(Text2) sd = Val(Text8)For M = 1 To Val(Text8)j = j + 1Print #1, N; LTrim(RTrim(j); G01Z-; LTrim(RTrim(Val(Text7); _F; LTrim(RTrim(Val(Text1)j = j + 1For i = 1 To 3599Print #1, N; LTrim(RTrim(j); G01; X; LTrim(RTrim(Format(ptx(i) - ptx(i - 1), #.#); _Y

28、; LTrim(RTrim(Format$(pty(i) - pty(i - 1), #.#)j = j + 1Next isd = sd + Val(Text7)Next MPrint #1, N; LTrim(RTrim(j); G00; G40; Z; LTrim(RTrim(Val(Text6)j = j + 1Print #1, N; LTrim(RTrim(j); M05j = j + 1Print #1, N; LTrim(RTrim(j); M02Print #1, %Close #1End IfEnd IfElseMsgBox (有非法字符或其它错误,请检查)End IfB.

29、环境影响登记表End Sub(2)区域、流域、海域的建设、开发利用规划。 环境影响篇章或说明Private Sub Command3_Click()第1页FrmNC.HideEnd Sub规划编制单位应当在报送审查的环境影响报告书中附具对公众意见采纳与不采纳情况及其理由的说明。Tuichu 窗体Option ExplicitPrivate Sub CancelButton_Click()4)按执行性质分。环境标准按执行性质分为强制性标准和推荐性标准。环境质量标准和污染物排放标准以及法律、法规规定必须执行的其他标准属于强制性标准,强制性标准必须执行。强制性标准以外的环境标准属于推荐性标准。FrmView.Show(2)环境影响后评价。End Sub1.建设项目环境影响报告书的内容Private Sub OKButton_Click()End(3)生产、储存烟花爆竹的建设项目;End Sub参考文献(一)安全预评价依据1.廖效果等.数控技术.武汉:武汉科学技术出版社,2004.2.张树兵,戴红,陈哲编.Visual Basic6.0中文版入门与提高 .北京:清华大学出版社,2003.3.王淑仁,王丹主编.计算机辅助机构设计.吉林:东北大学出社.2001.(1)内涵资产定价法4.成大先主编 .机械设计手册(第4卷).化学工业出版社.2000.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1