课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc

上传人:laozhun 文档编号:2946917 上传时间:2023-03-05 格式:DOC 页数:30 大小:985KB
返回 下载 相关 举报
课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc_第1页
第1页 / 共30页
课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc_第2页
第2页 / 共30页
课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc_第3页
第3页 / 共30页
课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc_第4页
第4页 / 共30页
课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc》由会员分享,可在线阅读,更多相关《课程设计(论文)刀具半径补偿计算程序设计(直线接圆弧).doc(30页珍藏版)》请在三一办公上搜索。

1、攀枝花学院本科学生课程设计任务书题目刀具半径补偿计算程序设计(直线接圆弧)1、课程设计的目的专业课程综合训练目的是本使学生通过对所学主要专业课的综合应用,基本掌握一般机电控制系统的设计方法及步骤。综合运用所学的基础知识和技能,进一步提高学生的设计能力,培养学生创新意识和创新能力,提高控制系统分析设计的总体意识和工程实践能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)设计内容要求:(1)要求能完成两段轮廓的刀具补偿;(2)要求能实现刀补建立、刀补进行、刀补撤消三种转接处理(每生只选作一种,但不重复);(3)要求以图形方式演示及验证;(4)用高级语言编写插补程序清单;(4)画出

2、刀具轨迹模拟图形;(5)将上述内容整理成设计说明书及图纸。设计结束后提交4000字左右的课程设计论文;包含上述全部内容。3、主要参考文献1、张建民等 ,机电一体化系统设计,北京:高等教育出版社,2002年2、赵先仲,机电系统设计,北京:机械工业出版社,2004年3、吴圣庄,金属切削机床概论,北京:机械工业出版社,19934、杨有君,数控技术,北京:机械工业出版社,20054、课程设计工作进度计划 内容学时总体方案设计8刀补理论公式推导与建立8刀补计算程序框图16刀补计算程序清单计48软件验证4绘制所需的各类图形及编制技术文件20合计3周指导教师(签字)日期2007年12 月 22 日教研室意见

3、:年 月 日学生(签字): 接受任务时间: 年 月 日注:任务书由指导教师填写。目录1 刀具半径补偿的原理.1 1.1刀具半径补偿的坐标计算.1 1.2直线两端处刀具中心的位置.1 1.3转接矢量计算.2 1.3.1缩短型.21.3.2伸长型.21.3.3插入型.31.4缩短型转接交点的坐标计算.9 1.4.1直线与直线连接9 1.4.2直线与圆弧连接10 1.4.3圆弧与圆弧连接11 2 刀具半径补偿程序流程图13 2.1 流程图.133 刀具半径补偿程序设计示列14 3.1 伸长型.14 3.1.1 G41和G02刀具半径补偿准备工作14 3.1.2 G42和G02刀具半径补偿准备工作.1

4、73.1.3 G41和G03刀具半径补偿准备工作.193.1.4 G42和G03刀具半径补偿准备工作.213.2缩短型.22 3.2.1 G41和G02是加工不出来的23 3.2.2 G41和G03刀具半径补偿准备工作.23 3.2.3 G42和G02刀具半径补偿准备工作.24 3.2.4 G42和G03是加工不出来的 26 参考文献.27 致谢.281.刀具半径补偿的原理1.1刀具半径补偿的坐标计算 在机床数控技术中已经讲述了刀具半径补偿的编程指令,刀具半径补偿建立和取消时刀具中心点的运动轨迹。本节将要介绍刀具半径十限的坐标计算,在轮廓加工过程中,刀具半径补偿分三个过程:刀具半径补偿的建立;

5、刀具半径补偿的进行;刀具半径补偿的取消。在这三个过程中,刀具中心的轨迹都是根据被加工工件的轮廓计算的。通常,工件轮廓是由直线和圆弧组成的,加工直线时,刀具中心线是工件轮廓的平行线且距离等于刀具半径值,加工圆弧时,半径之差是刀具半径值,本节将要介绍的半径补偿计算是计算刀具半径补偿建立和取消时刀具中心点与工件轮廓起点和终点的位置关系;工件轮廓拐角时刀具中心拐点与工件轮廓拐点的位置关系。由于轮廓线的拐点可是直线与直线、直线与圆弧、圆弧与圆弧的交点;拐角的角度大小又不同;又由于刀具半径补偿可是左侧(c41)或右侧(跳)偏置,因此,计算公式很多,下面仅介绍部分计算公式:1.2直线两端处刀具中心的位置若用

6、半径为r的立铣刀加工图320中的直线45,刀具中心的轨迹在刀具左例偏置时(G41方式),是ab直线;右侧偏置(G42方式)时是cd线,只要计算出端点a,b或c,d的坐标值,就可使刀具准确移动。由于直线AaAcr,过A点垂直于AB线,BbBcr,过B点垂直于AB线,A点和B点的坐标值已由零件程序中给出,因此:图1.2.1 直线两端刀具位置若把式(318)中的r值的符号改为负号,则和式(317)完全一样,因此在实际应用中,只用式(317)计算直线端点处的刀具中心位置,在G41方式下r取正值 在G42方式下r取负值。 式(315)、(316)、(317),适合于各种不同方向的直线,当为负值时,为负值

7、,当AB线平行于X轴时,当AB线平行Y轴时。1.3转接矢量计算 工件轮廓有拐角时,拐点可是直线与直线交点,如图322、323、324所示。直线拐角时拐角的大小等于两直线矢量的夹角;直线与圆弧连接时拐角的大小是直线矢量与拐点处圆弧切线矢量的夹角;圆弧与圆弧连接时是两圆弧在交点处切线矢量的夹角,由于两矢量夹角不同以及G41,G42偏置方向不同,使刀具中心轨迹的转接方式有所不同,共有三种转接方式: 1.3.1缩短型 在G41方式下两矢量夹角。在之间;在G42方式下两向量夹角在之间,是缩短型,如图322、324a,b及图323c,d所示,刀具中心在c点转折,没有到达由式(317)算出的B点,比只加工O

8、A直线时少走CB的距离,也比单程加工AF直线少走DC的距离。 1.3.2伸长型 在G41方式下,两矢量的夹角之间;在G42方式下,两向量的夹角之间,是伸长型,如图322d、323a及324d所示,刀具中心越过由式(317)算出的B点,在C点转折,也比单独加工AF直线多走CD的距离。 1.3.3插入型 在G4l方式下,两矢量的夹角之间,在G42方式下,两向量夹角之间,如图322c、323b及324c所示,刀具中心在C点和C点两次转折,CC是插入直线必须保证BC=CDr(刀具半径)。 图3-22 G41直线与直线转接情况图323 G42直线与直线转接情况图324 G41圆弧接圆弧时的转接情况 对于

9、伸长型和插入型转接交点c和c的计算适合于直线与直线、直线与圆弧、圆弧与圆弧的连接方式,但对于缩短型,由于连接线的不同算法是不同的。伸长型转接交点c的坐标计算图3-23(a)上两式中是以X坐标轴正向为起始边,逆时针方向对轮廓线矢量的夹角,在图322d和图324d中,270。在G41方式时上式中r的符号为负。即在G41时方式时的公式:是c点对A点的坐标值,由于A点在工件坐标系中的坐标值已由程序中给出,因此可求出c点对工件坐标系的坐标值。插入型转接交点C,C的坐标计算 根据刀具偏置方向(G41,G42)不同,计算方式也不相同,图322c是G41方式。由于: 则有 图3-22(c)图323b是G42方

10、式 同理:图323(b)缩短型转接交点的坐标计算 直线与直线连接如图322a、b,图324c、d所示,(AC)x和(AC)y所用公式与伸长型相同,缩短型与伸长型r的符号也相同,即:G41方式r为负,G42方式r为正。图322a 在G42方式下 1.4缩短型转接交点的坐标计算 1.4.1直线与直线连接 直线与直线连接如图322,23所示,和所用公式与仲长型相同v缩短型与伸长型r的符号也相同,即:以G41方式r为负,G42方式为正。 图1-1 直线与圆弧转接交点 1.4.2直线与圆弧连接 图1-1是以1方式直线与圆弧联接形式,工件轮廓线是ABC,B点是直线与圆弧的支点,点是圆弧中心,为已知点,点可

11、用式(317)求得。也是已知点,由图可知在中,已知,; =(r刀具半径)。根据余弦定理可求出的模由上式可求得直线与圆弧的两个交点,离8点近的为点,在x轴和y轴上的投影为 点的坐标 根据上述方法,还可求出N2方式直线与圆弧的转按交点,及以1,N2方式圆弧与直线的转接交点。 1.4.3圆弧与圆弧连接 图326是以G41方式顺圆弧与顺圆弧联接时刀具中心转接点计算图。圆弧的半径为,圆弧半径为,刀具半径为r,则为已知点,则三角形的三个边为己知边,根据余弦定理可求出2.刀具半径补偿程序流程图2.1 流程图刀具半径补偿程序设计流程图如图5所示。首先打开数控加工源程序,读取被加工零件的轮廓信息以及刀具的走刀信

12、息、刀具半径,采用矢量算法结合刀具偏置方向计算经刀具半径补偿后各段线段的刀具中心轨迹方程。然后确定相交两线段尖角过渡处的内、外偏形式,根据内偏求交点和外偏采用辅助圆弧过渡的处理方法计算出整个刀具中心运动轨迹。在利用C语言开发的WTUAPT系统软件中,采用这种计算方法成功地解决了刀具半径补偿问题,并经实际应用证明这种处理方法是简单有效的。3.刀具半径补偿程序设计示列3.1.伸长型 在G41方式下,两矢量的夹角之间;在G41方式下,两向量的夹角之间,是伸长型。如下图所示:3.1.1 G41和G02刀具半径补偿准备工作 设刀具半径r=20mm的情况下带入公式: 在中,已知,; (R+r刀具半径)。根

13、据余弦定理可求出的模由上式可求得直线与圆弧的两个交点,离8点近的为点,在x轴和y轴上的投影为 点的坐标 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y

14、4); /*输入A,B,C点和圆心坐标*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模长*/x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina; /*B的坐标*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleard

15、evice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1,y1,x2,y2); /* 画编程轨迹直线AB*/ arc(x4,y4, ,R);/* 画编程轨迹圆弧BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线AB */ arc (x4,y4,,R+20); /* 画刀具中心轨迹直线BC */ Getch(); /* 关闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中(如图

16、3-1)坐标A(0,0),B(300,200), C点(694.517,77.4)和R=231.33.图3-1 刀具半径补偿进行中G41和G02方式下 伸长型转接仿真结果A(-11.09,16.64),B(287.15,215.47),C(714.24,80.7)。3.1.2 G42和G02刀具半径补偿准备工作设刀具半径r=20mm的情况下带入公式: 在中,已知,; =(R+r刀具半径)。根据余弦定理可求出的模由上式可求得直线与圆弧的两个交点,离8点近的为点,在x轴和y轴上的投影为 点的坐标 刀具半径补偿清单: /*650597 Lurunmin exp1.c LINE*/*650597 Lu

17、runmin exp1.c ARC*/ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入A,B,C点和圆心坐标*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos-; /*AB的模长*/x1=x1+rsin,y2=y1-rcos

18、;x2=x1+rsin+abcos,y2=y1-rcos+ab*sina; /*B的坐标*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1,y1,x2,y2); /* 画编程轨迹直线AB*/ arc(x4,y4, ,R);/*

19、画编程轨迹圆弧BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线AB */ arc (x4,y4,,R+20); /* 画刀具中心轨迹直线BC Getch(); /* 关闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中在A(0,0),B(300,200),C(694.517)和R=231.33代入图3-2刀具半径补偿进行中G42和G02方式下 伸长型转接结果为A(11.09,-16.64),b(312.93,84.58),c(674.

20、79,74.1).3.1.3 G41和G03刀具半径补偿准备工作刀具半径补偿清单:/*650597 Lurunmin exp1.c LINE*/*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; float , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入A,B,C点和圆心坐标*/

21、 Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模长*/x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina; /*B的坐标*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ S

22、etbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1,y1,x2,y2); /* 画编程轨迹直线AB*/ arc(x4,y4, ,R);/* 画编程轨迹圆弧BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线AB */ arc (x4,y4,,R-20); /* 画刀具中心轨迹直线BC*/Getch(); /* 关闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中。图3-3刀具半径补偿进行中G41和G03方式下 伸

23、长型转接。代入A(0,0),B(300,200),C(338.57,611.32), R=231.33。图3-3刀具半径补偿进行中G41和G03方式下 伸长型转接得A(-11.09,16.64),B(290.74,217.86),C(327.93,594.38)3.1.4 G42和G03刀具半径补偿准备工作刀具半径补偿清单:/*650597 Lurunmin exp1.c LINE*/*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3,y4 ,; floa

24、t , ,R,a0 ,ab;int r=20;a0=sqrt(); Scanf(“%d%d%d%d”,&x1,&x2,&x3,&x4); Scanf(“%d%d%d%d”, &y1,&y2,&y3,&y4); /*输入A,B,C点和圆心坐标*/ Scanf(“%d”,&R) =arcsin(); =arccos(); =-; ab=a0cos+; /*AB的模长*/x1=x1+rsin,y2=y1-rcos;x2=x1+rsin+abcos,y2=y1-rcos+ab*sina; /*B的坐标*/ Printf(“ddd%d%d%dn”,x1,y1,x1,y1,x2,y2);int gdriv

25、er=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1,y1,x2,y2); /* 画编程轨迹直线AB*/ arc(x4,y4, ,R);/* 画编程轨迹圆弧BC */ Line(x1,y1,x2,y2); /* 画刀具中心轨迹直线AB */ arc (x4,y4,,R+20); /* 画刀具中心轨迹直线BC Getch(); /*

26、 关闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中代入A(0,0),B(300,200),C(338.57,611.32)三点和R=231.33。图3-4 刀具半径补偿进行中G42和G03方式下 伸长型转接得出A(11.09,-16.64)B(309.34,182.19),C(349.2,628.26)。3.2 缩短型3.2.1 G41和G02是加工不出来的3.2.2 G41和G03刀具半径补偿准备工作这个里面要用到圆弧接圆弧的情况,直线的就参考前面编程就

27、可以了。刀具半径补偿清单:/*650597 Lurunmin exp1.c LINE*/*650597 Lurunmin exp1.c ARC*/ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3 ,y4,; float , ,=20,oo;int r=20;oo=sqrt(); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4); /*输入头2个点和2个点的圆心坐标*/ Scanf(“%d”,&); /*输入后一个圆的半径*/ =arccos()

28、; oo=sqrt(+); /*求2个圆心的距离*/ ; =+; =arccos(+); ; /*B的坐标*/ Printf(“dd n”,); x1=x1-rsin,y2=y1+rcos;x2=x1-rsin+abcos,y2=y1+rcos+ab*sina;int gdriver=DETECT,gmode; /* 定义驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1

29、,y1,x2,y2); /*画直线AB*/Arc (x4,y4, ,r); /*画编程圆弧轨迹BC*/Line(,); /* 画头刀具段轨迹直线AB*/Arc(x2,y2, ,r); /*换前段刀具中心圆弧轨迹BB*/ Arc(x4,y4, , ,-20); /* 画后段刀具中心圆弧轨迹BC*/ Getch(); /* 关闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中,代入A(0,0),B(243.34,136.8),C(441.69,-68.92)圆心(

30、342.47,33.94),R=142.85。图3-2-1刀具半径补偿进行中G41和G03方式下缩短型转接仿真出A(-22.95,40.83)B(221.57,176.13)B(274.53,104.43)C(410.4,-36.55)。3.2.3 G42和G02刀具半径补偿准备工作刀具半径补偿清单:/*650597 Lurunmin exp1.c LINE*/*650597 Lurunmin exp1.c ARC */ #include /* 文件包含命令 */Main() /* 主函数 */ float x1,x2,x3,x4,y1,y2,y3 ,y4,; float , ,R,,oo;i

31、nt r=20,= =r;oo=sqrt(); Scanf(“%d%d%d%d%d%d%d%dn”, &x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4); /*输入3个点和圆心坐标*/ Scanf(“%dn”,&); /*输入第二个圆的半径*/ =arccos(); oo=sqrt(+); /*求2个圆心的距离*/ ; =+; =arcos(+); ; /*B的坐标*/ Printf(“dd n”,); x1=x1+rsin,y2=y1-rcos;x2=x1+rsin+abcos,y2=y1-rcos+ab*sina;int gdriver=DETECT,gmode; /* 定义

32、驱动程序,设置图形模式 */ Initgraph(&gdriver,&gmode,”c:tc”); /* 初始化图形系统,驱动程序所在路径 */ Cleardevice(); /* 清空屏幕 */ Setbkcolor(15); /* 设置背景颜色(白色)*/ Line(x1,y1,x2,y2); /*画直线AB*/Arc (x4,y4, ,r); /*画编程圆弧轨迹BC*/Line(,); /* 画头刀具段轨迹直线AB*/Arc(x2,y2, ,r); /*换前段刀具中心圆弧轨迹BB*/ Arc(x4,y4, , ,-20); /* 画后段刀具中心圆弧轨迹BC*/ Getch(); /* 关

33、闭程序 */ Closegraph();/ *关闭图形 */ 仿真结果基于Visual C 6.0和Microsoft Excel软件,对前面所提出算法进行实现和仿真。刀具半径补偿进行中代入A(0,0)B(243.34,136.8)C(100.02,369.64)圆心(206.98,274.95)R=142.85。图3-2-2刀具半径补偿进行中G42和G02方式下缩短型转接得:A(198.94,-33.7)B(262.28,103.1)C(128.97.344.01)B(233.5,174.19)3.2.4 G42和G03也是加工不出来的参 考 文 献1 王永章,数控技术. 北京:高等教育出版

34、社,2001.2 杜国臣,数控机床编程. 北京:机械工业出版社,2004.3 李宏胜,机床数控技术及应用. 北京:机械工业出版社,2003.4 全国数控培训网络天津分中心,数控机床. 北京:机械工业出版社,1997.5 许祥泰,数控加工编程实用技术. 北京:机械工业出版社,2002.6 李郝林,机床数控技术. 北京:机械工业出版社,2004.7 林 宋,现代数控机床. 北京:化学工业出版社,2003.8 刘启中,现代数控技术及应用. 北京:机械工业出版社,2000.9 严爱珍,机床数控原理与系统. 北京:机械工业出版社,199910 陈志雄,数控机床与数控编程技术. 北京:电子工业出版社,2003.11 杨有君,数控技术,北京:机械工业出版社,2005.致 谢感谢周汝忠教授在本次课程设计期间给予我的帮助和指导。由于时间和水平有限,本设计难免存在缺点和错误,望指导老师和同学们批评指正。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号