数控课程设计(数字积分法第二象限逆圆插补)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字积分法第二象限逆圆插补程序设计1.课程设计的目的(1)了解连续轨迹控制数控系统的组成原理。(2)掌握数字积分插补的基本原理。(3)掌握数字积分插补的软件实现方法。2、课程设计的任务数字积分法又称数字微分分析法DDA(DigitalDifferentialAnalyzer)。数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。本次课程设计具体要求如下:(1)数字积分法插补基本原理(2)数字积分法插补软件流程图(3)算法描述,编写算法程序清单3、课程设计报告内容3.1.设计方案的论证插补运算就是运用特定的算法对工件加工轨迹进行运算并根据运算结果向相应的坐标发出运动指令的过程。插补运算可以采用数控系统硬件或数控系统软件来完成。硬件插补器:速度快,但缺乏柔性,调整和修改都困难。软件插补器:速度慢,但柔性高,调整和修改都很方便。早期硬件数控系统:采用由数字逻辑电路组成的硬件插补器;CNC系统:采用软件插补器,或软件、硬件相结合的插补方式。方案一:采用逐点比较法插补。逐点比较法的基本原理是被控对象在按要求的轨迹运动时,每走一步都要与规定的轨迹进行比较,由此结果决定下一步移动1的方向。逐点比较法既可以作圆弧插补又可以作直线插补。这种算法的特点是,运算直观,插补误差小于一个脉冲当量,输出脉冲均匀,而且输出脉冲速度变化小,调节方便,因此在两坐标数控机床中应用较为普遍。方案二:数字积分法插补。又称为微分分析法。这种方法可实现一次、二次、甚至高次曲线的插补,也可以实现多坐标联动控制。只要输入不多的几个数据,就能加工出圆弧等形状较为复杂的轮廓曲线。作直线插补时,脉冲分配也较均匀。方案三:数据采样插补。数据采样插补实际上是一种粗插补过程,它所产生的微小线段仍然比较大,必须进一步对其密化(即精插补)。粗插补算法比较复杂,大多用高级语言编制;精插补算法比较简单,多用汇编语言或硬件插补器实现。3.2设计方案选择根据设计要求,对第一象限直线插补。根据以上方案的比较,都是很好的方法,但由于是直线,采用数字积分法插补进行设计比较方便、简单,所以根据各种插补方法的特点,选用数字积分法来实现。3.3数字积分法的基本原理数字积分法:也称DDA法DigitalDifferentialAnalyzer),它是建立在数字积分器基础上的一种插补算法,其最大特点是易于实现多坐标插补联动,它不仅能实现平面直线、圆弧的插补,而且还可实现空间曲线的插补,在轮廓控制数控系统中得到广泛应用。以下首先介绍数字积分器的工作原理,然后介绍数字积分法的直线和圆弧插补方法。如图3—1所示,求函数在区间[t0,tn]的定积分,就是求函数在该区间内与t轴所包围的面积,即:图3—12若将积分区间[t0,tn]等分成很多小区间△t(其中△t=ti+1-ti),则面积S可近似看成为很多小长方形面积之和,即:如将△t取为一个最小单位时间(即一个脉冲周期时间),即△t=1,则:因此函数的积分运算变成了函数值的累加运算,当△t足够小时,则累加求和运算代替积分运算所引入的误差可以不超过所允许的误差。积分运算的原理图如图3—2所示,一般地,每个坐标方向需要一个被积函数寄存器和一个累加器,它的工作过程:被积函数寄存器用以存放坐标值f(t),累加器也称余数寄存器用于存放坐标的累加值。每当Δt出现一次,被积函数寄存器中的f(t)值就与累加器中的数值相加一次,并将累加结果存放于累加器中,如果累加器的容量为一个单位面积,被积函数寄存器的容量与累加器的容量相同,那么在累加过程中每超过一个单位面积累加器就有溢出,当累加次数达到累加器的容量时,所产生的溢出总数就是要求的总面积,即积分值。我们知道,数字积分器溢出脉冲的频率与被积函数寄存器中的存数即溢出基值成正比,也就每个程序段都要完成同样的次数的累加运算,所以不论加工行程长短每个程序段所用的时间都是固定不变的。因此,各个程序段的进给速度就不一致了,这样影响了加工的表面质量,特别是行程短的程序段生产率低,为了克服这一缺点,使溢出脉冲均匀、溢出速度提高,通常采用左移规格化处理。所谓“左移规格化”是当被积函数值较小时,如被积函数寄存器有i个前零时,若直接迭代,那么至少需要2i次迭代,才能输出一个溢出脉冲,致使输出脉冲速率下降,因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积Δt被积函数寄存器累加器Δf(t)图3.2一个坐标方向上的积分器示意图3函数实现“左移规格化”处理。经过左移规格化处理后,积分器每累加两次必有一次溢出,因此不仅提高了溢出速度还使溢出脉冲变得比较均匀。3.4数字积分法的圆弧插补数字积分法圆弧插补原理:圆的数学公式:将此式对时间t求导得:式中,dx/dt=vx为动点P在x方向的分速度;dy/dt=vy为动点P在y方向的分速度。将上式式写成参量方程,则有:式中,k为比例系数。对上式求其在A到B区间的定积分,t0和tn分别对应起点和终点的时间,其积分值为A到B的坐标增量,即:将上式用累加和代替积分式得:若取为一个脉冲时间间隔,即△t=1,则:Xe-Xs=-∑KyiYe-Ys=∑KXi积分法插补的物理意义是使动点沿速度矢量的方向前进。以图3—3所示的第二象限逆圆为例,设刀具沿圆弧AB移动,圆弧半径为R,取圆心为坐标原点,起点坐标A为(Xs,Ys),终点坐标B为(Xe,Ye),P为动点,坐标为(Xi,Yi)。圆弧插补要求动点P作匀速圆周运动,由图3—3可看出下式成立:KXVYVRViYiX||||上式中由于半径R为常数,若切向速度v为匀速,则K为常数,即匀角速度。图3—34在单位时间增量△t内,x、y位移增量方程分别为:△X=-Vx×△t=-Ky△t△Y=Vy×△t=Kx△t根据以上说明可构成图3-4所示的数字积分法圆弧插补原理框图。由此可见,与直线插补类似,圆弧插补也可由两套数字积分器来实现,如图3—4所示。两者之间所不同的是:直线插补被积函数为常量(KXe和KYe),而圆弧插补被积函数为变量(KXi和KYi),且随着溢出脉冲而不断变化。在开始时Jvx、Jvy分别存放起点坐标值Xs、Ys,把计数器Nx、Ny清零。在插补过程中,Y积分器的累加器Jry每溢出一个脉冲,则x积分器的Jvx寄存器应该加“1”,同时计数器Ny加1;反之,X积分器的累加器Jrx每溢出一个脉冲,则Y积分器的Jvy寄存器应该减“1”,计数器Nx加1。此外,在圆弧插补时,X坐标值(Xi)累加的溢出脉冲△X作为X轴的进给脉冲,而Y坐标值(Yi)累加的溢出脉冲△Y作为Y轴的进给脉冲。在终点判别时,因圆弧插补的两个坐标不一定同时到达终点,故在两个方向上都要进行终点判别,其判别条件为:当加计数器计数到Nx=|Xe-Xi|并且Ny=|Ye-Yi|时才停止插补计算。3.5插补运算插补运算过程如下:(1)运算是从起点开始的,故运算开始时,X轴和Y轴被积函数寄存器中分别存放Y、X的起点坐标Ys、Xs。(2)由于插补的是第一象限逆圆,故X轴被积函数寄存器的数与其累加器的数累加得出的溢出脉冲发到-X方向,Y轴被积函数寄存器的数与其累加器的数累加得出的溢出脉冲发到+Y方向。图3—45(3)圆弧插补时,被积函数寄存器里寄存的是动点坐标,是个变量。因此,在插补过程中必须根据动点位置的变化来改变寄存器中的内容。对于第一象限逆圆插补,X方向发出一个进给脉冲,Y轴被积函数寄存器应减1;Y方向发出一个进给脉冲,X轴被积函数寄存器应加1。3.6终点判别数字积分法圆弧插补的终点判别,利用两个计数器来实现,可以用加1计数器,也可以用减1计数器。采用加1计数器时,首先将计数器Nx、Ny清零,运算过程中累加器Jrx每来一个累加脉冲△X,计数器Nx就加1,累加器Jry每来一个累加脉冲△y,计数器Ny就加1,当计数器Nx=|Xe-Xs|并且Ny=|Ye-Ys|时表明运算完成。采用减1计数器时,运算前把总运算次数|Xe-Xs|、|Ye-Ys|分别送入计数器Nx、Ny,运算过程中累加器Jrx每来一个累加脉冲△X,计数器Nx就减去1。累加器Jry每来一个累加脉冲△y,计数器Ny就减1,当某一坐标计数器为零时,该坐标到达终点并停止插补计算。当两个计数器均为0时,圆弧插补结束。3.6左移规格化处理数字积分器溢出脉冲的频率与被积函数寄存器中的存数即溢出基值成正比,也就每个程序段都要完成同样的次数的累加运算,所以不论加工行程长短每个程序段所用的时间都是固定不变的。因此,各个程序段的进给速度就不一致了,这样影响了加工的表面质量,特别是行程短的程序段生产率低,为了克服这一缺点,使溢出脉冲均匀、溢出速度提高,通常采用左移规格化处理。所谓“左移规格化”是当被积函数值较小时,如被积函数寄存器有i个前零时,若直接迭代,那么至少需要2i次迭代,才能输出一个溢出脉冲,致使输出脉冲速率下降,因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积函数实现“左移规格化”处理。圆弧插补左移规格化后被积函数寄存器存放最大数值的次高位是“1”为规格化数。经过左移规格化处理后,积分器每累加两次必有一次溢出,因此不仅提高了溢出速度还使溢出脉冲变得比较均匀。3.7减小插补误差的方法6(1)减小脉冲当量。减小脉冲当量(即Δt减小),可以减小插补误差。但参加运算的数(如被积函数值)变大,寄存器的容量则变大,在插补运算速度不变的情况下,进给速度会显著降低。因此要获得同样的进给速度,需提高插补运算速度。(2)余数寄存器预置数。在DDA迭代之前,余数寄存器的初值不置为0,而是预置某一数值。3.8.流程图74.结论(1)直线插补是以终点坐标为依据,而圆弧插补则是以起点坐标为依据,因而终点坐标对二者的作用有着本质的区别。(2)如果给定的终点有误,对于直线插补,只不过走向错误的终点;而对于圆8弧插补,如果判终方法不对,则可能导致飞车、死机等意外事故。(3)对于圆弧插补,采用总步数判终可避免上述事故。(4)采用总步数判终虽可避免上述事故,但无法避免错误终点的产生。一个比较好的解决办法就是在编辑时纠错,把错误纠正于程序执行之前。也就是说,编辑软件除了能指出程序的语法错误以外,还能指出程序中的数值错误。5.课程设计小结首先在此感谢我们的王老师,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;王老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计,同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。这份设计我从总体的数控原理软件效果图到数控原理分析,再从数字积分法原理到软件实现,作了一个尽可能详细的解释。数控原理插补软件的实现,使得我们在数控原理的学习上和理解上更进一步了,他在我们的直观上给我们做了一个很好的模拟。此次课程设计要求我们能够对这学期所学的数控技术方面的知识有较全面的掌握很熟练运用。通过对零件的工艺路线和走刀轨迹的分析、轨迹坐标的计算、插补程序的编制以及程序的调试、运行,使得我对数控技术的知识有了更加深刻的了解,并能够理论结合实际。通过两个周的设计,最终圆满完成了设计任务,用C语言编写数字积分法圆弧插补算法(第二象限逆弧)的程序并可正确运行,C语言是一种功能强大的计算机语言,可以在C++环境下运行。程序的编写是基于对数字积分法圆弧插补算法的理解,然后画出程序流程图,最后编写程序,实现插补点的输出。96.参考文【1】吴金娇丁文政孙明江刘玲《数控原理与系统》人民邮电出版社2009年【2】谭浩强《C程序设计教程》清华大学出版社2007年【3】[3]杨有君,《数控技术》,机械工业出版社,北京,2005年;107.附录(源程序)#includestdio.h#includemath.hvoidmain(){intXs,Ys,Xe,Ye,Jr

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功