基于开放式PC机上数控系统速度控制算法的研设计过程的叙述的修改_第1页
基于开放式PC机上数控系统速度控制算法的研设计过程的叙述的修改_第2页
基于开放式PC机上数控系统速度控制算法的研设计过程的叙述的修改_第3页
基于开放式PC机上数控系统速度控制算法的研设计过程的叙述的修改_第4页
基于开放式PC机上数控系统速度控制算法的研设计过程的叙述的修改_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

摘要现代机床的高速高精加工技术中重要的一环就是插补技术和速度控制技术。传统的插补策略是采用软硬结合的插补方式,该文在分析了传统数控插补器中存在的问题的基础上,提出了基于 PC 的开放式数控系统结构的插补思想 ,并对该方法进行了深入的研究,本文充分考虑到连续小直线段的连接问题,使速度能够自适应直线方向的变化本论文在分析了传统插补方式中存在的进给速度低、加工过程不平稳等问题的基础上,针对常规加减速存在柔性冲击的特点,利用柔性加减速的概念对 S 曲线加减速进行了详细的分析.提出了连续微线段高速插补技术,并对过渡速度进行平滑处理和速度限制的方法,并使用 C+语言编写出了包含速度前瞻算法模块和利用 s 曲线加减速模块的程序,提出了一种实用的算法。The most important technology of modern high speed and high accuracy machine tool is the interpolation tech and velocity control tech.The oriental interpolation principle is to use both software and hard ware interpolation tech . This article took out the interpolation method based on open PC interpolation NC system structure which is bsed on after we analyzed oriental NC interpolation problems, and took deep research on the method. The article considered the problems of connections of the small lines, and made the velocity will adapt to the direction of the small lines by itself.After analyzing the oriental interpolations low federate speed ,and cutting unstable problems, we emphasize the problems of the flexible hit of the acceleration and deceleration ,use the concept of flexible acceleration and deceleration, analyzed the S curve acceleration and deceleration, took out the tech of small linear high speed interpolation tech, and smooth the connection velocity and velocity limit way. I programmed the look ahead module and S curve module with C+, and finally took out the methods which is available .1. 前瞻部分速度条件的具体限制在前瞻的考虑中,以及在连续小直线段的连接处,特别是有拐角问题的解决,有很多人做出了大量的努力。(1)前文中,提到的是一种比较常见的用于连续小直线段的前瞻算法。我们设计的程序流程的前瞻部分就是基于这种算法的,其步骤如下:1由当前路径段 l ( n ) 的信息 ,如路径长度 l n 和路径段起点进给速度 vs , n , 按线性加速的方式求出该路径段的终点进给速度 ve , n (不大于数控系统允许的最大进给速度值 ) ;2 读下一条指令以获取下一条路径段 l ( n + 1)的信息。如果下一条指令不是运动指令或者取不到下一条指令 ,则令当前路径段的终点进给速度为零 ,该计算过程结束 ,否则继续下一步 ;3 根据当前路径段 l ( n ) 和下一路径段 l ( n + 1)之间的夹角 ,修正当前路径段的终点进给速度 vs , n得到 vs , n ,并令下一路径段的起点进给速度等于修正后的当前路径段的终点进给速度 ,即 vs , n + 1 = vs , n ;4 以减速的方式求得下一条路径段的终点速度ve , n + 1 (大于等于零 ) 。如果能在下一条路径段中把进给速度降为零 , 即 ve , n + 1 = 0 , 那么就可以不必获取后续路径段的信息 ,该计算过程结束 ,否则继续下一步 ;5 把下一路径段 l ( n + 1) 作为当前处理的路径段 ,以递归的方式回到第2 步继续进行。需要注意的是 ,如果按路径段 l ( n + 1) 和 l ( n + 2)之间夹角修正后的终点进给速度ve , n + 1小于修正前的终点进给速度 ve , n + 1 ,则路径段 l ( n + 1) 的起点进给速度 vs , n + 1 也要修正 , 可由修正后的终点进给速度 ve , n + 1按加速的方式反向求出vs , n + 1 ,然后再按路径段 l ( n + 1) 与 l ( n) 之间的夹角反向修正路径段 l ( n) 的终点进给速度。可以看出 ,上面求路径段进给速度的方法是个递归调用的过程。该方法的要点在于 :在满足后续的加工路径段 (如果存在 ) 中保证刀具进给速度能够降为零和相邻路径段连接处的进给速度不超过连接处夹角所允许的最大进给速度的前提下 , 求得路径段的最大允许加工进给速度 ,以满足由微小路径段组成的刀具路径的快速、平滑的加工过程。在相邻段之间是有一定的夹角的。相邻路径段之间的夹角 是指第一条路径段终点处的加工进给方向与第二条路径段起点处的加工进给方向的夹角。如图3 所示 , B 点为两相邻路径段的连接点 ,夹角 的范围为0180。可以想象,当 =0时,对 B 点处的进给速度大小没有限制 ,当 = 180时, B 点处的进给速度必须为零。在0180之间, 越大 ,所允许的 B 点进给速度值就越小。刀具沿路径段 AB 加工到终点 B 时的进给速度为vB , e ,然后进入下一个路径段 BC 的加工 ,在 BC 段起点处的进给速度 vB , s与 vb , e的夹角为 , 大小相同。在考虑整体的速度 情况下此计算在该相邻路径段连接处的加速度大小为上式中 T 为插补周期。由于数控系统一般有最大加速度的限制 ,即由上式可以得出对相邻路径段连接处进给速度大小的限制为这样就可以限制其在连接处的速度了。这是一种综合考虑合成速度限制的方法。2. 在采用单个轴的速度限制的时候,为了保证插补加速度不超出预先设定的最大加速度,(其中,I 表示每个轴加以的限制)应满足以下条件:,insV, , 1,cosi insinnTaxyz这是转折处的夹角所带来的速度限制。然后按最大加速度 a 和最大捷度 j,判断能否在 s 长度内从 Vn-1,s 降速到 Vn-1,e。若 s 足够长,保留当前 Vn-1,s 值;若 s 不够长,由 Vn-1,e,j, a, s,修正 Vn-1,s 值,同时还要对前面的端点进行计算,使得前段长度 sn-1 能够加速或减速到当前的速度。3. 还有一种方法是通过假设在转折点的位置假设该线段间用一个很小的圆弧连接,即这一段是作为一个匀速圆周运动来考虑的。这种方式对连接处的拐角比较大的情况是很实用的。1. 转角比较大,速度比较低。2. 低速状态下,速度改变比较小,可以近似认为是定值。3. 低速情况下,摩擦力,切削的影响比较小。该方法对速度的限制是 vevn_lookahead-1s 的时候,即是一个加速过程的时候, vn_lookahead1stemp=sqrt(vn_lookaheads*vn_lookaheads-2*a*sn_lookahead); 反之vn_lookahead1stemp =sqrt(vn_lookaheads*vn_lookaheads+2*a*sn_lookahead);求得这个值以后,从而得到了第一个限制的条件。另外,因为刀具在拐弯的时候,会有一个最大的速度限制,这个速度的大小在不同的坐标轴上体现的不同。vn_lookahead1sx=dabs(T*a/(cosalfxn_lookahead-cosalfxn_lookahead-1)/x 轴对角度的限制。这里假设 a 在各个轴上是相等的。vn_lookahead1sy=dabs(T*a/(cosalfyn_lookahead-cosalfyn_lookahead-1);/y 轴对角度的限制。vn_lookahead1sz=dabs(T*a/(cosalfzn_lookahead-cosalfzn_lookahead-1);/z 轴对角度的限制。vn_lookahead1s=mnn_lookahead(vn_lookahead1sx,vn_lookahead1sy,vn_lookahead1sz);/这些是角度的限制条件。从而得到了第二个限制的条件。此外,由于在三个轴上都是有一个最大的速度限制的 v,这里通过传值调用,将这个值传了过来。最终得到的结果就应当是。Vn_lookahead1s=mnn_lookahead(vn_lookahead1s,v,vn_lookahead1stemp),注意,这个地方是通过单个轴来计算的整体的速度是否能够达到的。从而将这个值得到,并作为下一次迭代的过程的基础。现在得到了前一点的 vn_lookahead-1s ,从而就可以进行第二次迭代,将这个vn_lookahead-1s 代入上面所述的过程,并能够推导出来 vn_lookahead-2s。依次类推,就可以得到当前点的速度了。(这个地方要画一个图, )到这里,整个前瞻的过程并没有完全地结束。因为现在得到的这个点的速度并不能够保证从当前点 p 的前一个点的速度通过加速或者减速,在预期的长度 l 内能够达到当前点的速度。于是必须将前一点的速度代入vn_lookahead-2e=sqrt(dabs(vn_lookahead-1e*vn_lookahead-1e-2*a*sn_lookahead-1);通过这个距离判断的参量,判断 vn_lookaheads 是否小于这个值,看是否在这段距离 sn_lookahead-1(这里的 n_lookahead 表示的是第 n_lookahead 点)vn_lookahead-1s 加速/减速到当前点的vn_lookaheads。假如刚才得到的 vn_lookaheads 是比这个值要小的,那么这里vn_lookaheads= =mnn_lookahead(resultVn_lookahead1e,v,vn_lookahead1s)。从而最终得到了需要计算的当前点的最终的速度。由于整个算法是需要编制成计算机程序的,这里就可以将 vn_lookaheads 存储下来了。同时 vn_lookahead e,即前一段的速度值也可以通过这种方式计算出来,所不同的是所求的点的是刚才计算当前点的前一点。这种方式主要是使用在那种一边插补,一边计算的数控系统中。而本程序主要起的是一个模拟的过程,因此本程序采用的是存储的办法。这种存储的方法在高速上下微机数控系统中有一定的运用。通过这个前瞻的模块以后,整个数控系统就可以得到一组最大允许速度的 vs 和 ve 的数组了。这就为后面的精插补过程打下了良好的基础。该过程的流程图如下:2 S 曲线加减速传统的数控中常用的加减速有直线加减速和指数加减速两种(如图3.3).这两种加减速实现比较容易,但存在不足。首先是和伺服电机的特性不能很好配合,因为任何一种伺服电机到达高速区,都必然会产生输出扭矩的下降,而直线加减速方式在整个加减速过程中的角加速度是不变的,这就要求伺服进给系统不论在何种转速下都要提供同样的加速转矩。因此,在设计进给系统时只能按电机最高转速下的输出转矩来选取加速度,即限制了加速度的取值,使得电机的特性得不到充分发挥。其次,当机床由静止状态启动时,由于起始加速度大,也会引起加速过程对机械部件的冲击,限制了加速度的提高。从图中看出,直线加减速在整个加减速过程中存在 4 次冲击,而指数加减速存在 2 次冲击。这在高速切削过程会引起加工质量的降低和刀具倾振(这些是影响加工精度的主要原因),因而应尽避免。它们都不是柔性加减速,不适合用于高速进给系统。为此,一些先进的 CNC 系统采用 S 形加减速,通过对启动阶段的加速度衰减,来保证电机性能的充分发挥和减小启动冲击。本节将对这种加减深入研究,并设计出适合定插补周期数控系统的 S 曲线加减速的控制方法。即加加速度下的进给速率插补过程。这个部分提供了一个沿着五次样条曲线路径路径的平滑进给运动的方法,即使通过调制参考点间的均匀的空间点间的周期间隔。采用这种方式产生的曲线让在加工时的进给率能够被轻易的修改,而且只是通过改变插补周期的标度为需要的超控要素就可以达到。在进给产生时的运动路径已经在 被被给出。对沿着工作路径的运动,加速方式采用梯形图所示的方式。加速方式为梯形加速度曲线,进给加速度图线是抛物线型的。位移路径方式对 1,3,5,7 的区域是三次方的关系。其中加速度和减速是急进或者急停所产生的。加速度的值是常数,在 2 区和 6 区的加加速度为 0,速度路径是线性的,位移路径是抛物线型的(通常是在进给产生时的情况)。在区域 4,加加速度和加速度的值都为零,进给速率是常数,位移增量是线性的。下面,加加速度进给限制加工的公式和实现将会被给出。(1)公式的阐述。考虑图 fig4,假如在 时刻的位移的初始条件,进给速率,加速度是已知的,加速度 a(t ),进给速率 f(t),位移 s(t )的路径可以通过加加速度 j(t)的形式表示为,来得到。Fig(4)中的几个加加速度段可以被表示为:其中的 t 表示的是绝对时间,t1 ,t2 ,t7,表示每一个相位的分界点;J1,J3,J5 和 J7 是 1,3,5,7 区的值。将时间同等式(26)结合,同时表示分别在第二和第六周期处用 A 和 D 的加速和减速的值,加速度的曲线可以被表示为,其中, 是在在 fig4 中所示开始阶段的第 k 相的相对时间因子,。结合等式(27)和时间,进给的路径可以被得到,表示如下,其中 是初始的进给速率, 是在第三周期段的结束段需要的的进给速率。(k=1,2,7)是第 k 个周期中的间隔, 是相应周期末端达到的进给速率。又一次结合(28)式,对相应时间段产生的位移路径可以表示为,其中, 是在第 k 个周期的末尾所达到的位移。因此在每一个时间段的位移可以表示为,此外,加速阶段的梯形的加速曲线表示为,是应当保持的。考虑到需要的进给速率 F 在第三阶段最终段达到,通过等式 28,类似的,可以考虑最终的进给速率 是在第七阶段的最终段达到,此外,在第七个周期末端的总距离应当等于全程的路径长度 L,(2)上面是S曲线方法的整个运算过程,并没有具体的考虑现实情况下面将就定插补周期的数控系统的具体实施来确定算法。而实际上,为了是S曲线的方法能够在数控系统上顺利地使用,无论对定插补周期的数控系统还是对不定插补周期(定插补长度)的数控系统都需要一个重新圆整的过程。这个问题是下面主要讨论的。前一章的方案论证中已经初步讨论了三种情况,即存在T4,不存在T4,只有加速或减速这几种情况。下面将详细地讨论这三种情况的分类。开始首先是利用 vs 和 ve,以及 j,ts(插补周期)来确定当前直线段的长度是否为 N=2 的情况。Abs(vs-ve)J*t1*t1,则该情况是满足的。这个条件排除了有 N=4 的情况。这是因为时间段 T1=T3,整个距离 s 可以看成是一个梯形。然后就可以利用已知的现有条件来进行计算了。VsVe 的情况。在这两种情况中都只有加速或者减速的过程。由上面的图可以明显地看出,两种情况十分相似,可以当作是一种情况讨论的。(只需要将图对称一下就可以得到相似的图形。下面对这种情况开始初始化的过程。计算加速条件:T1=T3=A/J1; T2=(fe-fs)/A-A/J1=0如果上面计算的式子不能满足那么,将重新计算 A2=sgn(A)*sqrt(J1*(f-fs)),然后令T2=0,令 T1=T3=A2/J1。这个时候就可以对先前已经计算出来的 T1,T2,T3 进行圆整,需要注意的是,这里是将其向大的方向圆整,当然对于 0 的情况,圆整函数返回的还是 0。通过对上面关于计算 l 的方程组的计算,可以得到下面的方程。当满足这种条件的时候,通过该方程组,可以解出需要的 A 的大小。a=dabs(0.5*(ve*ve-vs*vs)/(sn-0.5*t1*(vs+ve)。或者解出 a=dabs(sn-2*vs*t1)/t1/t1;然后重新代入先前求 l 或 f 的方程组,从而得到所需要的 l 或 f。类似的对于减速的过程,T5=T7=D/J5; T6=(fs-fe)/D-D/J5=0假如上面的式子无法满足,那么就将 T6 设定为 0,再次计算 DD2= sgn(D) *sqrt(J5*(fs-fe)),然后重新计算,令 T5=T7= D2/J5;这个时候就可以对先前已经计算出来的 T5,T6,T7 进行圆整,同样需要注意的是,这里是将其向大的方向圆整,当然对于 0 的情况,圆整函数返回的还是 0。通过对上面关于计算 l 的方程组的计算,可以得到下面的方程。d=0.5*(vs*vs-ve*ve)/(sn-0.5*t5*(vs+ve)或者 T6=0,d=dabs(2*vs*t5-sn)/t5/t5); 然后重新代入先前求(28)l 或 f 的方程组,从而得到所需要的 l 或 f。这样,第一种可能的情况就被考虑完整了。下面就考虑第二种情况,即由于 T1=T3,T5=T7,因此可以将所求距离的公式进行一次简化,依然是按照梯形的方式进行处理。由于当 T4!=0 的时候,是达不到理想速度的,因此有 1/2*(f+fs)*tacc+1/2*(f+fe)*tdec=0如果上面计算的式子不能满足那么,将重新计算 A2=sgn(A)*sqrt(J1*(f-fs)),然后令T2=0,令 T1=T3=A2/J1。类似的对于减速的过程,T5=T7=D/J5; T6=(fs-fe)/D-D/J5=0D2= sgn(D) *sqrt(J5*(fs-fe)),然后重新计算,令 T5=T7= D2/J5;然后再对 T4 进行计算:t4=dabs(1/v*(sn- (0.5/a+0.5/d)*v*v+(0.5*t1+0.5*t2)*v+(0.5*vs*t1+0.5*ve*t5-0.5*vs*vs/a-0.5*ve*ve/d) );然后对上面求得到的 T1,T2,T3,T4,T5,T6 ,T7 全部进行圆整,分别代入计算 l 的等式中去,从而可以得到一个比较统一的规划情况:v=(sn-vs*t1-0.5*vs*t2-0.5*ve*t6-ve*t5)/(0.5*t2+0.5*t6+t4+t5+t1);a=dabs(v-vs)/(t1+t2);d=dabs(v-ve)/(t5+t6);这样,就得到所有需要的未知量了。从而可以利用 J1=a/T1,J5=D/T5;那么就可以将这些值最终代入求解 l,f 的不等式中去,按照数控系统的要求,从而求出需要的 f,l。现在剩下了最后的一种情况:没有 T4 的情况。这一种情况相对比较特殊,因为达不到先前用户所要求的速度 f,则有 1/2*(f+fs)*tacc+1/2*(f+fe)*tdec=s。除了先前的必须进行的过程,计算加速条件:T1=T3=A/J1; T2=(fe-fs)/A-A/J1=0如果上面计算的式子不能满足那么,将重新计算 A2=sgn(A)*sqrt(J1*(f-fs)),然后令T2=0,令 T1=T3=A2/J1。类似的对于减速的过程,T5=T7=D/J5; T6=(fs-fe)/D-D/J5=0D2= sgn(D) *sqrt(J5*(fs-fe)),然后重新计算,令 T5=T7= D2/J5;所以求解 f 就成了一个关键的问题。需要求解这么一个方程:Sn=(Fs+f)*sqrtJ1*(f-vs)+(Fe+f) *sqrtJ5*(f-ve),求解这个方程出来是一个四次以上的方程,但是当使用了各种方法求解以后,这个方程带来的运算量是相当惊人的。对基于 PC 机系统的数控系统而言,会带来极大的运算压力。因此,最终采用了一种较为妥协的办法:先加速,然后匀速的方法。该方法可能有两种情况,一种是起始速度高于最终速度的情况,另一种是起驶速度低于最终速度的情况。计算加速条件:T1=T3=A/J1; T2=(fe-fs)/A-A/J1=0如果上面计算的式子不能满足那么,将重新计算 A2=sgn(A)*sqrt(J1*(f-fs)

温馨提示

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

评论

0/150

提交评论