圆弧加减速插补算法_第1页
圆弧加减速插补算法_第2页
圆弧加减速插补算法_第3页
圆弧加减速插补算法_第4页
圆弧加减速插补算法_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电工程学院数控加工技术课程设计插补算法实现学 号: S311077006专 业:机械工程学生姓名:胡晓锋任课教师:李霞 副教授2011年 4 月基于PC的圆弧曲线加减速算法实现插补算法一直以来就是数控系统中的核心技术。从数控系统的原理来说, 插补的本质问题就是对任意曲线进行分解,成为若干段微小的曲线,当对曲线 的分解达到无穷级时,每一段曲线便成为微小的直线段。然后利用与相应微小 曲线相类似的直线段代替,通过控制刀具按直线段行走进行加工,完成为整个 曲线的插补运算加工。实际问题中不可能对任意曲线的分解达到无穷,因此总 是存在相应的误差。然而在实际运用中对误差的容忍度有限,因此只需在满足 精度的

2、情况下进行曲线的分解。对曲线的分解过程即是将其坐标点进行密化, 不但要保证精度,还需要在极短的时间内完成。受现代技术的限制,这一过程 目前还存在一定的问题。由此而产生的对插补算法的研究也一直没有停止过, 从经典的逐点比较法到现在的自由曲面直接插补法,各种算法层出不穷。本次对圆弧的插补算法是基于 PC技术的算法,利用 MATLAB软件编写相 应的插补程序,实现对插补轨迹的模拟与分析。一、问题描述本次设计针对圆弧曲线进行插补,采用加减速的方式完成刀具的行走过程。 根据数据采样插补原理,实现数控轨迹的密化。本次插补的难点在于对刀具行 走轨迹的自动加减速进行控制,由控制器发出相应指令,当刀具以不同速度

3、运 行到不同位置时,能够根据当前的状态判断下一个插补周期需要的状态,从而 连续平滑的完成插补过程。二、速度曲线的数学表达式刀具在进行插补时的速度应该是一个加速-匀速-减速的过程,各个过程与 时间的关系应该由相应的加速度来控制。因此曲线的形状呈现一定的抛物线形。另初始进给速度为F1,末端进给速度为F2,指令速度为F,当前速度为V, 减速距离为S,当前距离为CS,n为插补周期个数,t为当前时刻。则速度的数 学表达式如下:(F1<F)&&(CS>S),起始时刀具加速运动。2FKF/2,加速度为a "n ;F1>=F/2,加速度为a=歸;(F1>=F)

4、&&(CS>10),刀具做匀速运动。(F1>=F)&&(CS<S),刀具做减速运动。V<4F2,加速度为&=折;2V>=F/2,加速度为a =tn 。其速度曲线如图2.1所示。Q Figure 1回 秦Fik Edit View Insert ToolsWindow Hklp电Ddl H 鸟头電巴®農虜总| 口凰|口|图2.1圆弧插补速度曲线三、插补轨迹的数学表达式本次插补对象为圆弧,因此其数学表达式为X2+Y2 = R2(3-1)这里对圆弧第一象限部分进行插补,利用MATLAB软件进行图形绘制,这里令圆直径为50

5、,其M函数如下:x仁 50;y仁0;x2=0;y2=50;r=50;i=0:pi/20:1/2*piplot(r*cos(i),r*s in (i);其圆弧轨迹如图3.1所示图3.1圆弧轨迹四、插补原理设被插补圆弧如图4.1所示,其半径为R,圆心位于坐标原点0,端点为A 和C。根据采样插补原理,圆弧插补的任务是,沿给定的圆弧轨迹在两端点之 间进行坐标密化,并使插补点之间的距离':Li满足速度和精度要求。根据图中关 系,位于圆弧轨迹上的插补点坐标可按下式求得:洛=Rcos”(4-1)Rs in 耳这样,根据进给方向、进给速度和精度要求控制的增加或减少,即可控 制懂点沿圆弧轨迹逆时针或顺时

6、针运动,从而实现逆圆或顺圆插补图4.1圆弧插补原理由于式(4-1)就是圆弧的参数方程,因此可确保其计算的插补点位于圆弧指 令轨迹上。剩下的问题是,如何使插补速度和逼近误差满足要求,为此采取以 下措施。(1)速度控制由图3可知,两相邻插补点对应的位置角有以下关系:(4-2)式中厶弓为步距角(插补直线段 L对应的圆心角)。(4-3)如果对步距角进行控制,使其满足R 60000 R式中F为进给速度(mm/ min );T为插补周期(ms)。则可使插补误差的运动速度满足给定的进给速度F。(2)误差控制为满足误差的要求,可按给定的允许误差对 弓进行约束控制,使其最大值满足max2、e(2R-e)R(4-

7、4)式中e为所允许的最大径向误差这样,实际运行过程中各种若 :"max,则按式(4-3)求出的进行插 补运算,否则按厶4 -"max进行插补运算。因为式(4-4)的计算可在预处理阶段 完成,所以上述误差控制不会影响插补的实时性。五、柔性加减速控制为充分利用机床的有效工作行程,要求机床运动具有极短的加减速过渡过 程。而仅从时间上去考虑缩短过渡过程,而不对机床的加减速动态过程进行合 理的控制,必将给击穿钢结构带来很大的冲击。为解决问题,一方面要求数控 系统能因机而异,另一方面需在控制系统中采用特殊方法来实现这种动态规律。 显然,传统数控系统采用的固定加减速控制方法是无法实现这一

8、要求的。为此 采用一种可根据任意曲线对数控机床的运动进行自动加减速控制的方法。这种 方法将自动加减速控制有传统的固定模式推向新的柔性模式,为有效提高数控 机床的动态性能探索出一条新的途径。在数控系统软件中,设计一条通用的与加减速数据库内容无关的通道,由 其独立完成加减速计算和轨迹控制。该方法的实现原理图如图 5.1所示。图5.1柔性加减速控制原理图1、柔性自动加速控制设给定的加速曲线如图5.2所示,现将其作为样板以数表形式存放于加减 速曲线库中。图中,fd为加速过程进给速度总该变量(样板速度差),td为加速 过程所需时间(样板加速时间)。根据加速曲线数表实现加速控制的过程如下:根据加速开始前的

9、进给速度F1,加速过程结束后进给速度 F2,求出加速 过程速度差FD =FF1,并据此计算出实际速度差与样板速度差的比值Fd 二 F2-F1(5-1)根据加速开始前到当前时刻所经过的插补周期个数n,计算出查表时间C =T为采样时周期tn 5n/K(5-2)根据tn差加速曲线表可得样板速度增量 fn。由此可计算出经过n个插补周期后实际速度的该变量斤二 fnK(5-3)进一步,经求出的n周期速度该变量Fn代入下式,求出当前插补周期的实际进给速度Fj =Fi:Fn(5-4)最后,根据所求得的F计算当前采样周期中插补直线的长度,并据此进行2、自动减速控制设给定的减速曲线如图5.3所示,如同加速控制一样

10、将去作为样板以数表的形式存放于加减速曲线库中。根据加速曲线数表实现自动减速控制的过程如下:同加速过程一样,减速过程速度差为 Fd = R - F2。按照与加速控制相同的过程,求出查表时间tn,并查减速曲线表得样板速 度增量fn,由此可计算出经过n个插补周期后实际速度的改变量吒卄。-仆(5-5)进一步,将求出的n周期改变量,Fn代入下式,求出当前插补周期的实际进给速度FTi-Fn(5-6)最后,根据F计算当前插补周期中插补直线段的长度,并据此进行轨迹计算,即可实现满足图5.4所示曲线要求的自动减速控制。对于自动减速控制,减速前还需要预测减速点,以决定何时开始减速。确 定减速点的依据是减速距离s,

11、其计算公式为:FV-F2fd)2Sd -F1 - F2fdtdF2(5-7)六、式中td为样板减速时间;Sd为样板减速距离。样板减速距离Sd可通过下式以离线方式预先求出,并存储于加减速数据库® 二 0 f (t)dt 八 f:ti 4式中fi为样板减速曲线f(t)的离散取值;m为样板减速曲线离散点总数;:t为竖直几分的时间增量。(5-8)程序流程图插补程序流程图如图6.1所示初始化速度小于指令速度速度大于指令速度否是否达到精度要求图6.1程序流程图七、代码插补程序部分代码如下:clear allv1=input(' 输入起始速度 ' )v2=input(' 输

12、入末端速度 ' )x1=100;y1=0;x2=0;y2=100;R=100;x=x1;y=y1;X=x;Y=y;T=0.01;t=0;N=t;v0=30;v=v1;V=v; a_max=10;a=0;A=a;rad=0;status=1;if (v2>v0)&&(v2-v0)>(a_max/2)%距离判断res_s=(v0+v2)/2*(v2-v0)/a_max+1/2);elseres_s=(v0+v2)*sqrt(v2-v0)/a_max/2);endif (v2<v0)&&(v0-v2)>(a_max/2) res_s=(

13、v0+v2)/2*(v0-v2)/a_max+1/2);else res_s=(v0+v2)*sqrt(v0-v2)/a_max/2);endif v2=v0res_s=0;endc_s=R*pi/2;while rad<(pi/2)while c_s>res_st=t+T;switch statuscase 1if v1<v0%加速if (v0-v1)<=(1/2*a_max)if (v-v1)<(v0-v)ap=a; a=2*a_max*t;a1=a;t1=t;elseap=a;a=a1-2*a_max*(t-t1);endvp=v; v=v+1/2*(a+a

14、p)*T;if (v>v0)a=0;v=v0;endelseif (v0-v)>(1/4*a_max) if a<a_max ap=a;a=2*a_max*t;vp=v; v=v+1/2*(a+ap)*T;elsea=a_max;vp=v; v=v+a*T;enda2=a;t2=t;elseap=a; a=a2-2*a_max*(t-t2);vp=v; v=v+1/2*(a+ap)*T;if (v>v0)a=0;v=v0;endendendend%减速if v1>v0if (v1-v0)<=(1/2*a_max)if (v1-v)<(v-v0)ap=a

15、;a=-2*a_max*t;a1=a;t1=t;elseap=a;a=a1+2*a_max*(t-t1);endvp=v; v=v+1/2*(a+ap)*T;if (v<v0)a=0;v=v0;endelseif (v-v0)>(1/4*a_max) if a>(-a_max) ap=a;a=-2*a_max*t;vp=v; v=v+1/2*(a+ap)*T;else a=-a_max;vp=v; v=v+a*T;enda2=a;t2=t;elseap=a; a=a2+2*a_max*(t-t2);vp=v; v=v+1/2*(a+ap)*T;if (v<v0)a=0;

16、v=v0;endendendendendrad=rad+p_rad;x=R*cos(rad); y=sqrt(R*R-x*x);c_s=R*(pi/2-rad);X=X x;Y=Y y;V=V v;A=A a;N=N t;t3=t;endx=x2;y=y2;X=X x;Y=Y y;plot(N,V, 'r' )figureplot(X,Y, 'g' )figureplot(N,A, 'b' )八、结果分析在 MATLAB 程序窗口输入以上命令并点击运行之后,输入相应的参数,可得到以下数据:速度曲线、加速度曲线、圆弧轨迹。分别如图8.1-8.3 所

17、示。圆就轨迹圆弧轨迹曲线与设置的参数一致,是半径为 100,圆心在坐标原点。从速度曲线可知,刀具在初始阶段起步时速度变化较缓慢,经过一定时间 后速度迅速上升,达到路程中段左右开始以恒定的速度运行,之后产生与加速 过程相类似的变化趋势。刀具的这种变化曲线同实际运用各种较为相似,即刀 具在运行过程中有充分的缓冲时间,这样可减少系统产生的冲击,有利于加工 过程平稳,快速的进行。而速度曲线的变化趋势直接受加速度曲线变化趋势的影响。由加速度曲线 可知,系统初始加速度为 0,当控制器发送指令后在较短的时间内完成加速度 的上升,到达一定程度后以恒定的加速度运行。而减速过程与加速过程正好相 反。在加速度的控制

18、之下,刀具平稳、快速的实现圆弧轨迹的插补运算。九、问题提出以上通过利用 MATLAB 软件做出了圆弧轨迹的加减速算法,实现了对圆弧 轨迹的插补仿真。验证了利用加减速方式控制刀具轨迹进行数控插补加工的正 确性。然而这样的程序存在一定的不足之处。例如,要实现该插补的前提是采样 周期较小。前面程序的编制中最初采样周期设定为5ms,发现系统的快速性非常好,然而这仅仅是在软件仿真中实现。之后将其改为了10ms,系统速度也相应减慢。这样的减慢对整个机床是十分有利的,因为数控该系统的处理器通常 来说计算速度是很有限的,大多数数控机床的处理器速度要低于常用的计算机 速度,甚至要低于工控机速度,因此就算以10ms为采样周期,系统速度也不一定能够跟得上,导致产生严重的丢步问题,使得加工过程的断续,这将降低 曲线的插补质量。当改变采样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论