




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书 基于单片机数控系统插补控制设计 院(系) 机械工程学院 专 业 机械工程及自动化 班 级 08机械(3)班 学生姓名 指导老师 2012 年1月6日 27课 程 设 计 任 务 书兹发给 08级机械工程及自动化 班学生 数控方向综合 课程设计任务书,内容如下:1 设计题目: 基于单片机数控系统插补控制设计 2 应完成的项目:(1)调研、搜集整理课题的相关资料,确定设计整体方案。 (2)理解并熟悉数控系统插补原理。 (3)根据插补原理,用visual c+实现其模拟仿真。 (4)单片机开发环境(vision )下,编程实现插补。(5)完成设计说明书,准备答辩。 3 参考资料以及说明:(1) 数控技术。 (2) 单片机原理及应用。 (3) visual c+编程相关资料。 (4) google上查找“vc插补仿真程序”作参考。 4 本设计任务书于2011年12月26日发出,应于2012年1月12日前完成,然后进行答辩。指导教师 签发 2012 年 1月 日课程设计评语:课程设计总评成绩:指导教师签字:年 月 目 录摘 要4第一章 绪论51.1数控的基本原理51.2插补的原理51.3插补方法的分类51.3.1基准脉冲插补61.3.2数据采样插补6第二章 基准脉冲插补的原理与应用72.1逐点比较法72.1.1逐点比较法的直线插补原理72.1.2逐点比较法的直线不同象限插补92.1.3逐点比较法的圆弧插补原理92.1.4逐点比较法的圆弧不同象限插补102.2数字积分法(dda)112.2.1直线插补的原理112.2.2直线插补的终点判别122.2.3圆弧插补的原理122.2.4圆弧插补的终点判别132.2.5圆弧插补与直线插补比较14第三章 visual c+实现其模拟仿真153.1逐点比较法的直线插补153.1.1第一象限的直线插补153.1.2不同象限的直线插补173.2逐点比较法圆弧插补203.3dda直线插补213.3.1dda直线插补程序213.3.2dda圆弧插补22第四章vision单片机插补编程25参考文献26摘 要本文是对“基于单片机数控系统插补控制设计”的课程设计流程进行说明,其中包括介绍数控系统的插补原理介绍,插补的方法有:基准脉冲插补和数据采况样插补。本次课程设计主要介绍基准脉冲插补法中的逐点比较法和数字积分法(dda),然后利用这两大方法对直线、逆圆、顺圆及过象限等情况进行分析,画出流程图,最后根据插补原理,用visual c+实现其模拟仿真并在单片机开发环境(vision )下,编程实现插补。本文主要介绍到本次课程设计需要用到的逐点比较法和数字积分法(dda)的原理和设计方法,并且简单地介绍visual c+和单片机开发环境(vision )的原理和编程,在了解上面的所有的情况下,对直线、逆圆、顺圆及过象限等情况进行分析并写出实现上面要求的程序。关键词: 单片机 数控系统 插补 第一章 绪论1.1数控的基本原理数控机床加工零件是按照实现编制好的的加工程序单来进行的。首先分析零件图样,根据图样中对材料的尺寸、形状、加工精度及热处理等的要求来确定工艺方案,进行工艺处理和数值计算。在此基础上,根据数控系统规定的功能指令代码和程序段格式编写数控加工程序单。根据加工程序单的内容,用自动穿孔机制作控制介质。通过光电阅读机将穿孔带的代码输入到数控装置,数控装置将输入指令进行译码、寄存和运算后,向系统各个坐标的伺服系统发出指令信号,经驱动电路的放大处理,驱动伺服电动机输出单位角位移和角速度,并通过执行部件的传动系统转换为工作合的直线位移,实现进给运动1。1.2插补的原理机床数控系统的核心技术是插补技术。在数控加工中,数控系统要解决控制刀具与工件运动轨迹的问题。在所需的路径或轮廓上的两个已知点间,根据某一数学函数确定其中多个中间点位置坐标值的运动过程称为插补。数控系统根据这些坐标值控制刀具或工件的运动,实现数控加工。插补的实质是根据有限的信息完成“数据密化”的工作。 数控加工程序提供了刀具运动的起点、终点和运动轨迹,而刀具怎么从起点沿运动轨迹走向终点则由数控系统的插补装置或插补软件来控制。实际加工中,被加工零件的轮廓种类很多,严格说来,为了满足加工要求,刀具运动轨迹应该准确地按零件的轮廓形状生成。然而,对于复杂的曲线轮廓,直接计算刀具运动轨迹非常复杂,计算工作量很大,不能满足数控加工的实时控制要求。因此,在实际应用中,是用一小段直线或圆弧去逼近(或称为拟合)零件轮廓曲线,即通常所说的直线和圆弧插补。某些高性能的数控系统中,还具有抛物线、螺旋线插补功能2。1.3插补方法的分类插补的方法很多,从产生的数学模型来分,有一次(直线)插补器、二次(园、抛物线双曲线等)插补器、高次曲线插补器等。从插补的基本原理来分,有亿比例乘法为特征的数字脉冲乘法器、以步进比较为特征的逐点比较法插补器、以数字积分法进行运算的数字积分器、以目标点追踪为特征的单步追踪发插补器、以矢量运算为基础的矢量判别插补器等。从插补的计算方法来分,主要分为基准脉冲插补和数据采样插补。1.3.1基准脉冲插补基准脉冲插补又称为行程标量插补或脉冲增量插补。这种插补的特点是每次插补结束只产生一个行程增量,以一个个脉冲的方式输出给伺服电动机,适用于以步进电动机为驱动电动机的开环数控系统。基准脉冲插补有以下几种方法:数控脉冲乘法器插补法;逐点比较法;数字积分法;矢量判别法;比较积分法;最小偏差法;目标点跟踪法;单步追踪法;直接函数法;加密判别和双判别插补法。较为成熟并得到广泛应用的是逐点比较法和数字积分法。1.3.2数据采样插补数据采样插补又称为时间标量插补或数字增量插补。这种插补算法的特点是数控装置产生的不是单个脉冲,而是标准二进制数。数据采样插补有以下常用的几种:线函数法;展数字积分法;二阶递归扩展数字积分插补法;双数字积分插补法;角度逼近圆弧插补法;“改进吐斯丁法”;第二章 基准脉冲插补的原理与应用2.1逐点比较法2.1.1逐点比较法的直线插补原理按逐点比较法的原理,每走一步必须把动点的实际位置与给定轨迹的理想位置间的误差以“偏差”形式计算出来,然后根据偏差的正、负决定下一步的走向,以逼近给定轨迹。逐点比较法的直线插补过程,每走一步要进行四个步骤:(1)偏差判别;(2)坐标进给;(3)偏差计算;(4)终点判别。(1)偏差判别 根据偏差值确定刀具相对加工直线的位置。如右图2-1所示,在xoy平面的第一象限内,若加工直线加工起点坐标为坐标原点o,终点a的坐标为(xe,ye)。设点p(xi,yj)为任一加工点,若点p正好处在oa上时,则xi/yj=xe/ye,即xeyjxiye=0如果加工轨迹脱离直线,则轨迹点的xi、yj坐标不满足上述直线方程。可通过判断动点和直线的相对位置,来决定其移动方向。从而减少动点与直线之间的偏差,完成插补运动。若加工点p(xi,yj)在直线oa的上方,则有xi/yj0若加工点p(xi,yj)在直线oa的下方,则有xi/yjxe/ye,即xeyjxiye0,点p(xi,yj)落在直线的上方,应向着+x方向移动,动点才能靠近直线;若f0的情况。(3)偏差计算 对新的加工点计算出能反映偏离加工直线位置情况的新偏差,为下一步偏差判别提供依据。为了便于计算机运行,设在第一象限中动点(xi,yj)的f值为fi,j,用递推法将判别函数f简化为fi,j=xeyjxiye当fi,j0,动点沿+x走一步,则有xi+1=xi+1fi+1,j=xeyj-xi+1ye=xeyj-(xi+1)ye= xeyj-xiye-ye即 fi+1,j= fi,j-ye当fi,j0,动点沿+y走一步,同理有fi,j+1= fi,j+xe(4)终点判别 在计算偏差的同时,还要进行终点判别,以确定是否到达终点。就是把程序中的总的步数求出来,即n=xe+ye,每走一步,n-1,直到n=0为止。可知第一象限直线插补方法为:当fi,j0,沿+x走一步,运算结果ff-ye,nn-1;当fi,j0,沿+y走一步,运算结果ff+xe,nn-1;其插补流程图如图2-2。 图2-22.1.2逐点比较法的直线不同象限插补为了适用于不同象限的直线插补,在插补计算时,无论哪个象限的直线,都用其坐标绝对值计算。不同象限的插补方向如图2-3所示,f0都是沿着x方向步进,不管是+x向还是-x向,都是|x|增大的方向,走+x或-x可由象限标志控制;一、四象限走+x,二、三象限走-x。同样f0,点p(x,y)落在圆弧外,应向着-x方向移动,动点才能靠近圆弧;若f0的情况。每走一步,计算一次判别函数,作为下一步进给的判别标准,同时进行一次终点判别。设第一象限动点(xi,yi)的f值为fi,i,则有fi,i= (xi2+yi2)-(x02+y02)当fi,i0时,动点沿-x向走一步,有xi+1=xi-1则fi+1,i=(xi-1)2+yi2-(x02+y02)即 fi+1,i= fi,i-2xi+1当fi,i0时,动点沿+y向走一步,有yi+1=yi+1则fi,i+1=xi2+(yi+1)2-(x02+y02)即 fi,i+1= fi,i+2yi+1和直线插补一样,逐点比较法圆弧插补时除偏差计算外,还要进行终点判别。第一象限逆圆插补流程如图2-5。2.1.4逐点比较法的圆弧不同象限插补逐点比较法的圆弧插补,四个象限,2个旋转方向,一共八种情况。情况如图2-6所示。2.2数字积分法(dda)2.2.1直线插补的原理设在平面中有一直线oe,其起点坐标为坐标原点o,终点坐为e(xe,ye),则该直线的方程为y=(ye/xe)x,将方程化为对时间t的参数方程,再求积分可得:x=kxedt y=kyedt上式积分用累加的形式近似表达为:x=kxeti (i=1,n) y=kyeti (i-1,n)动点从原点出发走向终点的过程,可以看作是各坐标轴每经过一个单位时间间隔t,分别以增量kxe及kye同时累加的结果。 若经过m 次累加后,x和y分别到达终点(xe,ye),即有下式成立:x=kxe= kxem=xe y=kye= kyem=ye由此可见,比例系数k与累加器之间有如下关系:km=1 m=1/k设累加器有n位,则 k=1/2n m=1/k=2n上式表明,若寄存器位数是n,则直线整个插补过程要进行2n 次累加才能到达终点。图2-8为直线的插补框图,它由两个数字积分器组成,每个坐标轴的积分器由累加器和被积函数寄存器组成,被积函数寄存器存放终点坐标值,每经过一个时间间隔t ,将被积函数值向各自的累加器中累加,当累加结果超出寄存器容量时,就溢出一个脉冲,若寄存器位数为n,经过2n次累加后,每个坐标轴的溢出脉冲总数就等于该坐标的被积函数值,从而控制刀具到达终点。2.2.2直线插补的终点判别数字积分法直线插补的终点判别比较简单,设一个位数为n的计数器je,用加数器(事先清零)或减数器(事先置入累加次数m=2n)来计算累加脉冲数,当插补(累加)2n次时,je的最高位即有溢出,停止插补运算。2.2.3圆弧插补的原理圆心为坐标原点的圆弧方程式为x2+y2=r2,可得圆的参数方程为x=rcost y=rsint对t 微分得、方向上的速度分量为vx=dx/dt=-rsint=-y vy=dy/dt=rcost=x用累加器来近似积分为x=-yti y=xtidda逆圆插补流程图如图2-10 2.2.4圆弧插补的终点判别采用两个终点计数器来分别累计两坐标的进给脉冲,每走一步相应的终点坐标计数器便减1,当两个计数器均减为0时便到达终点,发出插补完毕信号。2.2.5圆弧插补与直线插补比较 (1)直线插补时为常数累加,而圆弧插补时为变量累加。(2)圆弧插补时,x轴动点坐标值累加的溢出脉冲作为y轴的进给脉冲,y轴动点坐标值累加溢出脉冲作为x轴的进给脉冲。(3)直线插补过程中,被积函数值xe及ye不变。圆弧插补过程中,被积函数值必须由累加器的溢出来修改。圆弧插补x轴累加器初值存入轴起点坐标y0,y轴累加器初值存入x轴起点坐标x0。2第三章 visual c+实现其模拟仿真3.1逐点比较法的直线插补3.1.1第一象限的直线插补第一象限的逐点比较插补为:#include void main()int xe,ye,x,y,j,f;cout起始点x,y=xy;cout终止点xe,ye=xeye;f=0;j=xe+ye-x-y;f=xe*y-ye*x;doif(f=0)cout+xendl;f=f-ye;elsecout+yendl;f=f+xe;j=j-1;while(j!=0);经过调试,可以运行,以(0,0)为起点,(5,3)为终点,可以走出如图3-1结果定义画笔,利用画线命令,代替cout+xendl;、cout+yendl 等。 void ca1view:onlbuttondown(uint nflags, cpoint point) cclientdc dc(this) ; / 定义画笔dc.moveto(0,0); /移动画笔到某个位置 dc.lineto(point); 说明: dc.lineto(point); 画线到某个点,这里是画到鼠标按下的点,也可以改成坐标值,如dc.lineto(100,50); cout+xendl” 可以改为: dc.lineto(x,y); cout+yendl” 可以改为: dc.lineto(x,y); 把插补程序中的 cout “+x向走一步” 改为画笔画。程序如下:cclientdc dc(this)int xe,ye,x,y,j,f;cout起始点x,y=xy;cout终止点xe,ye=xeye;f=0;j=xe+ye-x-y;f=xe*y-ye*x;doif(f=0)dc.lineto(xe,ye);f=f-ye;elsedc.lineto(xe,ye);f=f+xe;j=j-1;while(j!=0);3.1.2不同象限的直线插补因为不用象限的走法都不一样,所以利用一下原理来判别象限,如终点坐标xe大于起点坐标x,就落在一、四象限,否则落在二、三象限,再用终点坐标ye与y做比较,即可判别出象限。1第一象限的规律是f=0,+x f=f-ye f=0,-x f=f+ye f=0,-x f=f+ye f=0,+x f=f-ye f0 -y f=f-xe所编程序为#include void main()int xe,ye,x,y,j,f,tx,ty;cout起始点x,y=xy;cout终止点xe,ye=xeye;f=0;j=xe+ye-x-y;f=xe*y-ye*x;tx=xe-x;ty=ye-y;if(tx=0)if(ty=0)/第一象限doif(f=0)cout+xendl;f=f-ye;elsecout+y=0)cout+xendl;f=f-ye;elsecout-y=0)/第二象限doif(f=0)cout-xendl;f=f+ye;elsecout+y=0)cout-xendl;f=f+ye;elsecout-yendl;f=f-xe;j=j-1;while(j!=0); 定义画笔,利用画线命令,代替cout+xendl;、cout+y0) x-;/进给 f=(x-c)*(x-c)+(y-d)*(y-d)-(a-c)*(a-c)+(b-d)*(b-d); else y+;/进给 f=(x-c)*(x-c)+(y-d)*(y-d)-(a-c)*(a-c)+(b-d)*(b-d); for(long int w=0;w=99999;w+) ; /延时语句 dc.lineto(x,y);这种方法更加简单地实现圆弧插补,而且程序简短,占用内存空间少。3.3dda直线插补3.3.1dda直线插补程序#include void main()int xe,ye,j1,j2,j,n,a,b;cout终止点xe,ye=xeye;cout选用二进际的位数为:j;n=j;j1=0;j2=0;doj1=j1+xe;a=0;if(j1=j)/判断x积分器是否溢出j1=j1-j;a=1;j2=j2+ye;b=0;if(j2=j) /判断y积分器是否溢出j2=j2-j;b=1;if(a=1&b=0)cout+xendl;if(a=0&b=1)cout+yendl;if(a=1&b=1)cout+x,+yendl;n=n-1;while(n!=0);输入了一个(5,3)为终止点,在三位二进制的寄存器里进行dda插补,运算结果如图3-33.3.2dda圆弧插补#include void main()int xa,ya,xb,yb,jy,jx,n,a,b,j,j1,j2,x,y;cout起始点xa,ya=xaya;cout终止点xb,yb=xbyb;cout选用二进际的位数为:j; n=j;jy=ya;jx=xa;j1=0;j2=0;x=xb-xa;y=ya-yb;doj1=j1+jy;a=0;/x积分器累加if(j1=j)j1=j1-j;a=1;j2=j2+jx;b=0;/y积分器累加if(j2=j)j2=j2-j;b=1;if(a=1&b=0)cout-xendl;jx=jx-1;x=x-1;/输出走向if(a=0&b=1)cout+yendl;jy=jy+1;y=y-1; /输出走向if(a=1&b=1)cout-x,+yendl;jx=jx-1;jy=jy+1;x=x-1;y=y-1;n=n-1;while(n!=0);经调试,程序可用,输入xa=4,ya=3,xb=0,yb=5后,得到以下结果。上述的为第一象限的逆时针方向,即下图中的nr1其他的方向,jvx(y)为正表示jy=jy+1,jvy(x)为负表示jx=jx-1,x表示输出x轴的每走一步正负向,y表示输出y轴的每走一步正负向,cout-xendl,cout+yendl的方向就是这样判定的,也就是不同象限不同旋转方向,只要按下图更改符号就可以实现。第四章vision单片机插补编程由于“keli version软件”可以用vc语言来编写,所以只要把vc程序稍微修改下就可以放到软件里用。以直线逐点比较为例,只需把画直线的部分改为p1.0和p2.0 i/o接口, 程序如下4:#include #include #
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化旅游节庆活动旅游+体育模式:可行性研究及运营策略报告
- 2025年文化创意产品线下体验店跨界合作模式可行性分析报告
- 2025租房合同协议书内容
- 2025年3D打印技术在船舶制造业的应用
- 年生产锌合金门框3000吨新建项目环评报告表
- 港口物流智能化与港口智能化建设融合发展报告
- 绿通科技:江苏大摩半导体科技有限公司审计报告
- 2025年磁力学营销考试题及答案
- 2025年标准合同范本:跨国商业合作合同
- 脊柱课件操教学课件
- GB/T 45777-2025水泥中石膏掺量评估方法
- 任务一切中断时的接发列车办法授课颜保凡课件
- 村级访谈提纲范文三篇
- 几何模型“将军饮马”模型(将军饮马、将军遛马、将军造桥)(轴对称模型) 中考数学总复习必会几何模型剖析(全国通用)
- JJG 146-2011量块
- 小学数学思想方法(课件)
- 气管插管导管脱出的应急预案
- 《宠物美容与护理》全套教学课件
- 表面工程学第十二章-表面微细加工技术
- 山东大学工程流体力学(杜广生)课件第5章 粘性流体的一维流动
- 底拖法在管道施工中的应用
评论
0/150
提交评论