数控原理课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 数控原理课程设计

1插补算法 1.1 插补方法 脉冲增量插补算法 脉冲增量查补(又称行程标量插补)算法是通过向各个运动轴分配脉冲,控制机床坐标轴相互协调运动,从而加工出一定轮廓形状的算法。这类插补算法的特点是每次插补的结果仅产生一个单位的行程增量,以单位脉冲的形式输出给步进电机。因此,这类插补被称为脉冲增量插补。 该插补运算比较简单,仅仅通过几次的加法和移位操作就可以完成插补运算。处理速度比较快。该插补一般常见的具体算法有:数字脉冲乘法器法、逐点比较法、最小偏差法、数字积分法、比较积分法、目标点比较法、但不追踪法等。 本次的课程设计我主要分析这其中的一种算法——逐点比较法,用以概括和了解算法的基本运算和对其的了解。而在进一步的重点分析中,本次的算法分析我则是分析其第一象限的直线插补运算。 数据采样插补算法 数据采样插补(又称时间标量插补)算法是根据数控加工程序编写的进给速度,先将零件轮廓曲线按插补周期分割为一系列首尾相连的微小直线段,然后输入这些微小直线段对应的位置增量数据,用以控制伺服系统实现坐标轴进给。与上一插补算法相比,其结果不再是单个脉冲,而是位置增量的数字量。这类插补算法适用于以直流或交流伺服电动机作为执行软件的闭环或半闭环数控系统。 1.2 插补算法——逐点比较法 1.2.1 原理 逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件之间的相对位置,并根据比较结果决定下一步的进给方向,是刀具沿着坐标轴向减小偏差的方向进给,且仅有一个方向的进给。 逐点比较法既可实现直线插补,也可实现圆弧插补。逐点比较法插补过程中每进给一步都要经过以下四个节拍: 偏差判别;坐标进给;偏差计算;终点判别。其过程如图1所示。 偏差判别 根据偏差值确定刀具位置是在直线的上方 (或线上),还是在直线的下方。 坐标进给 根据判别的结果,决定控制哪个坐标(X或Y) 图1 移动一步。 (3) 偏差运算 计算出刀具移动后的新偏差,提供给下一步作判别依据。根据上二式来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差Fi推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的 F0=0。 (4) 终点判别 在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。 1.2.2 第一象限逐点比较法直线插补 设在第一象限上有一直线,起 点在原点O( 0, 0 )上,终点为E(Xe, Ye),另有一动点N( Xi ,Yi ),如图2 所示,且各个的坐标点都是整数单位。 当动点N刚好在直线上时,则: 即   XeYi-XiYe=0 当动点Nˊ在直线下方ON时,则: 直线的大于直线的斜率,从而有: 即   XeYi-XiYe0   当动点N在直线的上方N处时,直线的大于直线的斜率,从而有: 即   XeYi-XiYe0 由上述关系可以看出,表达式(XeYi-XiYe)的符号就能反映出动点N相对直线的偏离情况。为此,取偏差函数F为: F=XeYi-XiYe 根据上述过程,可以概括出如下关系: 当F=0时,动点N(Xi,Yi)正好处在直线上; 当F0时,动点N(Xi,Yi)落在直线上方区域; 当F0时,动点N(Xi,Yi)落在直线下方区域。 \ 2 程序 2.1 程序流程 Y N · N Y 图 4 2.2 程序代码(基于c语言的编程) #include conio.h #include graphics.h #include process.h #define Ni_circle 0 #define Shun_circle 1 void init_graph(); void draw_Base_circle(); void draw_cabu_circle(); void close_graph(); void acrroods(); static float x0,y0; void line_cabu(), draw_line(),draw_l

文档评论(0)

xch562 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档