数控课程设计数字积分法第二象限直线插补程序.docx

上传人:b****2 文档编号:14004371 上传时间:2023-06-19 格式:DOCX 页数:15 大小:199.20KB
下载 相关 举报
数控课程设计数字积分法第二象限直线插补程序.docx_第1页
第1页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第2页
第2页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第3页
第3页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第4页
第4页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第5页
第5页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第6页
第6页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第7页
第7页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第8页
第8页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第9页
第9页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第10页
第10页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第11页
第11页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第12页
第12页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第13页
第13页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第14页
第14页 / 共15页
数控课程设计数字积分法第二象限直线插补程序.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数控课程设计数字积分法第二象限直线插补程序.docx

《数控课程设计数字积分法第二象限直线插补程序.docx》由会员分享,可在线阅读,更多相关《数控课程设计数字积分法第二象限直线插补程序.docx(15页珍藏版)》请在冰点文库上搜索。

数控课程设计数字积分法第二象限直线插补程序.docx

数控课程设计数字积分法第二象限直线插补程序

数字积分法第二象限直线插补程序设计

 

数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动

利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器(DigitalDifferentialAnalyzer),简称DDA。

数字积分器插补的最大优点在于容易实现多坐标轴的联动插补、能够描述空间直线及平面各种函数曲线等。

因此,数字积分法插补在轮廓数控系统中得到广泛的应用。

 

具体设计内容如以下:

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

目录

 

一、课程设计目的

1)了解连续轨迹控制数控系统的组成原理。

2)掌握数字积分插补的基本原理。

3)掌握数字积分插补的软件实现方法。

二、课程设计题目描述和要求

数字积分法又称数字微分分析法DDA(DigitalDifferentialAnalyzer)。

数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。

其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。

由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。

本次课程设计具体要求如下:

1)数字积分插补法基本原理

2)数字积分插补法插补软件流程图

3)算法描述(数字积分法算法在VC++中的具体实现)

4)编写算法程序清单

5)软件运行仿真效果

三、课程设计报告内容

插补运算就是运用特定的算法对工件加工轨迹进行运算并根据运算结果向相应的坐标发出运动指令的过程。

插补运算可以采用数控系统硬件或数控系统软件来完成。

硬件插补器:

速度快,但缺乏柔性,调整和修改都困难。

软件插补器:

速度慢,但柔性高,调整和修改都很方便。

早期硬件数控系统:

采用由数字逻辑电路组成的硬件插补器;

CNC系统:

采用软件插补器,或软件、硬件相结合的插补方式。

数字积分法直线插补的基本原理

数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动

利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器(DigitalDifferentialAnalyzer),简称DDA。

数字积分器插补的最大优点在于容易实现多坐标轴的联动插补、能够描述空间直线及平面各种函数曲线等。

因此,数字积分法插补在轮廓数控系统中得到广泛的应用。

3.1.1从几何角度来看积分运算

积分运算就是求出函数Y=f(t)曲线与横轴所围成的面积,从t=t0到tn时刻,函数Y=f(t)的积分值可表述为

如果进一步将t∈[t0,tn]的时间区划分为若干个等间隔Δt的小区间,当Δt足够小时,函数Y的积分可用下式近似表示

在几何上就是用一系列的小矩形面积之和来近似表示函数f(t)以下的积分面积。

进一步如果在式中,取Δt为基本单位“1”,则上式可演化成数字积分器算式:

由此可见,通过假设Δt=“1”,就可将积分运算转化为式所示的求纵坐标值的累加运算。

若再假设累加器容量为一个单位面积值,则在累加过程中超过一个单位面积时立即产生一个溢出脉冲。

这样,累加过程所产生的溢出脉冲总数就等于所求的总面积,即所求的积分值。

下面就以直线和圆弧轨迹为例详细介绍

3.1.2数字积分法在轮廓插补中的具体应用(数字积分法直线插补)

设将要加工的直线为XOY平面内第2象限直线

,直线的起点在坐标原点,终点为E(Xe,Ye)。

同样,假设坐标值均为以脉冲当量为单位的整数。

若此时刀具在两坐标轴上的进给速度分量分别为Vx、Vy,则刀具在X轴、Y轴方向上位移增量分别为

ΔX=VxΔtΔY=VyΔt

由几何关系可以看出

现将式中的Vx、Vy分别代入式可得

ΔX=KXeΔtΔY=KYeΔt

可见,刀具由原点O走向终点E的过程,可以看作是每经过一个单位时间间隔Δt,就分别以增量[KXe]、[KYe]同时在两个坐标轴累加的结果。

也可以这样认为,数字积分法插补实际上就是利用速度分量,进行数字积分来确定刀具在各坐标轴上位置的过程,即:

当取Δt=“1”(一个单位时间间隔),则式将演变为

设经过n次累加后,刀具正好到达终点E(Xe,Ye),即要求式中常量满足下式:

nK=1或n=1/K

从上式可以看出,比例常数K和累加次数n之间的关系是互为倒数,即两者相互制约,不能独立自由选择。

也就是说只要选定了其中一个,则另一个随之确定了。

由于式中n是累加次数,必须取整数,这样K就必须取小数。

为了保证每次分配给坐标轴的进给脉冲不超过1个单位(一般指1个脉冲当量),则:

ΔX=KXe<1ΔY=KYe<1

上式中Xe、Ye的最大允许值受系统中相应寄存器的容量限制。

现假设寄存器为N位,则其容量为2N,对应存储的最大允许数字量为(2N-1),将其代入式中Xe、Ye,则可得到:

K<1/(2N-1)

现不妨取K=2N,显然它满足式和式的约束条件,再将K值代入式,可得累加次数为:

n=1/K=2N,也就是说,经过n=2N次累加后,动点(刀具)将正好到达终点E。

事实上,如果将n、K值代入式,则动点坐标为:

X=KXe·n=(1/2N)Xe2N=XeY=KYe·n=(1/2N)Ye2N=Ye

根据以上分析,在进行直线插补时,先开辟两个被积函数寄存器Jvx、Jvy分别存放终点坐标值Xe、Ye,还有两个余数寄存器JRX和JRY。

然后,当脉冲源每发送一个控制脉冲信号Δt,X轴积分器和Y轴积分器各累加一次。

当累加结果超出余数寄存器容量2N-1时,就产生一个溢出脉冲ΔX(或ΔY)。

这样,经过2N次累加后,每个坐标轴溢出脉冲的总数就等于该轴的被积函数值(Xe和Ye),从而控制刀具到达了终点E。

插补终点判别的具体实现

直线插补时不论被积函数有多大,对于N位寄存器。

必须累加2N次才能到达终点。

因此可以用一容量为2N的寄存器当计数器,来统计累加的次数。

可以用加1计数器,也可以用减1计数器。

采用加1计数器时,首先将计数器清零,运算过程中每来一个累加脉冲△t就加1。

当计数器满2N时表明运算完成。

采用减1计数器时,运算前把总运算次数2N送入计数器,每运算一次,就减去1。

当计数器减为0时,表明运算完成。

插补器的组成

二坐标DDA直线插补器包括X积分器和Y积分器,每个积分器都由被积函数寄存器Jvx(速度存寄器)和累加器Jrx(余数寄存器)组成。

初始时,X被积函数寄存器存Xe(或Xe/2N),Y被积函数寄存器存Ye(或Ye/2N)。

数字积分法稳速控制

⑴直线插补的左移规格化及其解决的问题

积分器作直线插补时,不论各段程序的被积函数大小,都必须经过m=2n次累加运算才能到达终点。

这样各个坐标溢出脉冲的速度受被积函数的大小影响。

被积函数愈大,溢出脉冲速度愈快,因而机床的进给速度也愈快;反之,被积函数愈小,速度愈低,机床的进给速度愈慢。

即加工尺寸大,走刀快,加工尺寸小,走刀慢。

所以各程序段的进给速度是不一致的,这将影响加工的表面质量,特别是行程短的程序段,生产效率低

控制积分器的溢出速度的方法——左移规格化

1

0

1

0

0

0

寄存器:

0

0

0

1

0

1

非规格化数规格化数

规格化数累加一次必有一次溢出,而非规格化的数,必须作两次以上累加才有一次溢出。

左移规格化法就是将非规格化数左移使之成为规格化数。

为了使每个程序段积分的溢出速度大致均匀,在直线插补时必须把寄存器中的数Xe、Ye同时左移,直到JVX、JVY中有一个数是规格化数为止。

同时左移,意味着把X、Y两方向的脉冲分配速度扩大同样的倍数,二者数值之比不变,所以直线斜率不变。

因为规格化后每累加运算两次必有一次溢出,溢出速度比较均匀,所以加工的效率,加工质量都大为提高。

当Xe、Ye左移Q位后(至少使其中的一个成为规格化数),为使各坐标分配的脉冲数最后等于Xe及Ye值,这样作为终点判别的累加次数m必须减少。

寄存器中的数每左移一位,数值增大一倍;此时,比例常数k应该为k=1/2n-1,累加次数m=2n-1次。

若左移q位,则m=2n-q次。

进行左移规格化的同时,终点判别计数器中的数也要做相应的改变。

具体方法:

只要在JVX、JVY左移的同时,终点判别计数器把“1”信号从最高位输入进行右移来缩短计数长度

⑵按进给速率数FRN编程

为实现不同长度程序段的恒速加工,在编程时考虑被加工直线长度,采用FRN来表示“F”功能,则:

式中V—要求的加工切削速度;L—被加工直线长度;

因为

所以

由上式可见,FRN编程,其实质是控制迭代频率fg,fg与V/L成正比,当插补尺寸L不同时,使迭代频率作相应改变,以保证所选定的进给速度。

提高插补精度的措施

对于DDA圆弧插补,径向误差可能大于一个脉冲当量,因数字积分器溢出脉冲的频率与被积函数寄存器中的数值成正比,在坐标轴附近进行累加时,一个积分器的被积函数值接近零,而另一个积分器的被积函数接近于最大值,累加时后者连续溢出,前者几乎没有,两个积分器的溢出脉冲频率相差很大,致使插补轨迹偏离给定圆弧距离较大,使圆弧误差增大。

减少误差的方法

1、减小脉冲当量,误差减少,但寄存器容量增大,累加次数增加。

而且要获得同样的进给速度,需要提高插补速度。

2、累加器预置数

累加器中预置,即被积函数寄存器中的初值增大后,可以提前溢出脉冲。

数字积分法直线插补框图

 

数字积分法直线(第二象限)插补程序流程图

四结论

本次设计运用软件插补程序进行插补控制,调整和修改都很方便,而且数字积分法插补运算速度快,脉冲分配均匀,易于实现多坐标联动及描绘平面各种函数曲线的特点。

只是软件开发复杂,需对编程具有熟练的运用。

总之,通过课程设计,进一步学习了各方面的知识及其运用,最终完成要求,实现软件的运行,运行程序后按提示输入直线的起点、终点坐标后即可自动进行插补计算并输出各个插补点的坐标值。

五结束语

两个星期的课程设计就要结束了,虽然这并不是我第一次做课程设计,但我从中依然学到了很多东西,同时也发现了自己在各个方面的不足之处,获益匪浅。

本次课程设计贯穿本门课程成所学到的理论知识与实践操作技术,从分析设计到计算、程序的编写运行,是运用数控插补原理和C语言编程的一次综合练习。

在同学和老师的帮助下,经过几次对程序的修改,终于能够使程序正确运行,并得到了插补轨迹坐标值。

这份设计我从总体的数控原理软件效果图到数控原理分析,再从数字积分法原理到软件实现,作了一个尽可能详细的解释。

数控原理插补软件的实现,使得我们在数控原理的学习上和理解上更进一步了,他在我们的直观上给我们做了一个很好的模拟。

这主要靠的是程序设计软件VisualC++它是开发图形用户界面的方法,不需要编写大量的代码去描写界面元素的外观和位置,只要把预先建立的对象拖放到窗口即可。

所以说,对于初学者,这是很适合我们的,为我们节省时间的同时,也更让我们理解。

此次课程设计要求我们能够对这学期所学的数控技术方面的知识有较全面的掌握很熟练运用。

通过对零件的工艺路线和走刀轨迹的分析、轨迹坐标的计算、插补程序的编制以及程序的调试、运行,使得我对数控技术的知识有了更加深刻的了解,并能够理论结合实际。

通过本次设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发的能力。

既让我们懂得了怎样把理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。

通过完成课程设计的过程,我认为重要环节有:

做好设计的预习,认真的研究老师给的题目,老师对题目的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。

在这两周来,也暴露了自己很多问题,第一、不够细心比如由于粗心大意导致编程出现错误,由于对课本理论及C语言编程的不熟悉带来极大的难度。

第二,是在学习态度上,这次课设也是对我的学习态度的一次检验。

这种体会,只靠平时上课老师的说教是肯定不可能领悟到的。

在本次设计中,我们还需要大量的以前没有学到过的知识,于是图书馆和网络成了我们很好的助手。

在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。

我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益非浅。

最后,对我们的指导老师王老师的辅导及同学们的帮助表示感谢!

六、参考书目

[1]吴金娇,丁文政,孙明江,刘玲,《数控原理与系统》,人民邮电出版社,2009年

[2]李恩林,《数控系统插补原理通论》,国防工业出版社,2008年

[3]谭浩强,《C程序设计教程》,清华大学出版社,2007年

[4]田梅,《C语言时尚编程百例》,机械工业出版社,2004年

[5]黄维通,孟威,《C程序设计教程》,机械工业出版社,2003年

七、附录数字积分法直线插补程序清单(第二象限)

#include<>

#include<>

voidmain()

{

inti,Xs,Ys,Xe,Ye,Jvx,Jrx,Jvy,Jry,DX,DY;

start:

printf("请输入直线的起点:

");

scanf("%d%d",&Xs,&Ys);

printf("请输入直线的终点:

");

scanf("%d%d",&Xe,&Ye);

if(Xe-Xs<0&&Ye-Ys>0&&Xs<0&&Ys>0)

{

i=0,Jrx=0,Jry=0,Jvx=abs(Xe-Xs),Jvy=abs(Ye-Ys);

for(;Xs!

=Xe||Ys!

=Ye;i++)

{

Jrx=Jrx+Jvx,Jry=Jry+Jvy;

if(Jrx>=8)

{

Jrx=Jrx-8,Xs=Xs-1,DX=1;

}

if(Jry>=8)

{

Jry=Jry-8,Ys=Ys+1,DY=1;

}

if(DX==1||DY==1)

{

printf("%d(%d,%d)\n",i,Xs,Ys);

DX=0,DY=0;

}

}

printf("\n本次插补结束,请输入下一条第二象限直线的坐标\n");

}

else

printf("!

!

!

此直线不在第二象限,请输入第二象限点的坐标\n");

gotostart;

getchar();

}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2