数控原理课程设计

上传人:aa****6 文档编号:38153860 上传时间:2018-04-27 格式:DOC 页数:6 大小:71KB
返回 下载 相关 举报
数控原理课程设计_第1页
第1页 / 共6页
数控原理课程设计_第2页
第2页 / 共6页
数控原理课程设计_第3页
第3页 / 共6页
数控原理课程设计_第4页
第4页 / 共6页
数控原理课程设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数控原理课程设计》由会员分享,可在线阅读,更多相关《数控原理课程设计(6页珍藏版)》请在金锄头文库上搜索。

1、莱芜职业技术学院课程设计(论文)11 插补算法1.1 插补方法脉冲增量插补算法脉冲增量查补(又称行程标量插补)算法是通过向各个运动轴分配脉冲,控制机床坐标轴相互协调运动,从而加工出一定轮廓形状的算法。这类插补算法的特点是每次插补的结果仅产生一个单位的行程增量,以单位脉冲的形式输出给步进电机。因此,这类插补被称为脉冲增量插补。该插补运算比较简单,仅仅通过几次的加法和移位操作就可以完成插补运算。处理速度比较快。该插补一般常见的具体算法有:数字脉冲乘法器法、逐点比较法、最小偏差法、数字积分法、比较积分法、目标点比较法、但不追踪法等。本次的课程设计我主要分析这其中的一种算法逐点比较法,用以概括和了解算

2、法的基本运算和对其的了解。而在进一步的重点分析中,本次的算法分析我则是分析其第一象限的直线插补运算。数据采样插补算法数据采样插补(又称时间标量插补)算法是根据数控加工程序编写的进给速度,先将零件轮廓曲线按插补周期分割为一系列首尾相连的微小直线段,然后输入这些微小直线段对应的位置增量数据,用以控制伺服系统实现坐标轴进给。与上一插补算法相比,其结果不再是单个脉冲,而是位置增量的数字量。这类插补算法适用于以直流或交流伺服电动机作为执行软件的闭环或半闭环数控系统。1.2 插补算法逐点比较法1.2.1 原理逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件之间的相

3、对位置,并根据比较结果决定下一步的进给方向,是刀具沿着坐标轴向减小偏差的方向进给,且仅有一个方向的进给。逐点比较法既可实现直线插补,也可实现圆弧插补。逐点比较法插补过程中每进给一步都要经过以下四个节拍:莱芜职业技术学院课程设计(论文)2偏差判别;坐标进给;偏差计算;终点判别。其过程如图 1 所示。(1) 偏差判别 根据偏差值确定刀具位置是在直线的上方(或线上) ,还是在直线的下方。(2) 坐标进给 根据判别的结果,决定控制哪个坐标(X 或 Y) 图 1移动一步。(3) 偏差运算 计算出刀具移动后的新偏差,提供给下一步作判别依据。根据上二式来计算新加工点的偏差,使运算大大简化。但是每一新加工点的

4、偏差是由前一点偏差 Fi推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀” ,这一点当然没有偏差,所以开始加工点的 F0=0。(4) 终点判别 在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。1.2.2 第一象限逐点比较法直线插补设在第一象限上有一直线OE,起点在原点 O( 0, 0 )上,终点为 E(Xe,Ye) ,另有一动点 N( Xi ,Yi ),如图 2所示,且各个的坐标点都是整数单位。当动点 N 刚好在直线OE上时,则:iei

5、eYY XX即 XYXY 当动点 N在直线OE下方 ON 时,则:直线NO 的大于直线OE的斜率,从而有:ieieYY XX即 XYXY图 2莱芜职业技术学院课程设计(论文)3当动点 N 在直线OE的上方 N“处时,直线N“O的大于直线OE的斜率,从而有:ieieYY XX即 XYXY 由上述关系可以看出,表达式(XeYiXiYe)的符号就能反映出动点 N 相对直线OE的偏离情况。为此,取偏差函数 F 为: F=XeYiXiYe根据上述过程,可以概括出如下关系:当 F=0 时,动点 N(Xi,Yi)正好处在直线OE上;当 F0 时,动点 N(Xi,Yi)落在直线OE上方区域;当 F0 时,动点

6、 N(Xi,Yi)落在直线OE下方区域。2 程序2.1 程序流程YNNY开始初始化 Xe,Ye,F0=0,=|Xe|+|Ye|F0?+X 轴进 给F=FYe+Y 轴进 给F=F+Xe X结束-1=0?莱芜职业技术学院课程设计(论文)4图 42.22.2 程序代码(基于程序代码(基于 c c 语言的编程)语言的编程)#include “conio.h“ #include “graphics.h“ #include “process.h“ #define Ni_circle 0 #define Shun_circle 1 void init_graph(); void draw_Base_circ

7、le(); void draw_cabu_circle(); void close_graph(); void acrroods(); static float x0,y0; void line_cabu(), draw_line(),draw_line_cabu(); void line_cabu() int i; init_graph(); sleep(1);for(i=0;i2;i+) line(0,120,300,120); outtextxy(310,120,“Z“); line(100,10,100,300); outtextxy(110,300,“X“); lineto(Xm,Y

8、m); gotoxy(55,8); printf(“X%3.0f Y0 Z%3.0f“,Xm-100,Ym-120); delay(1100); 莱芜职业技术学院课程设计(论文)53 分析总结通过此次课程设计,使我更加扎实的掌握了有关数控插补和 c 语言编程方面的知识,在 c 语言编程过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,从中学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。莱芜职业技术学院课程设计(论文)6参考文献1汪木兰 数控原理与系统 机械工业出版社 2010.12伍胡平 周亚军 组合机床与自动化加工技术 2008 第 9 期3周虹 组合机床与自动化加工技术 2004 第 3 期 4谭浩强 C 语言程序设计 第三版 清华大学出版社 2005.7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号