运动控制中,加减速算法的软件设计精简_第1页
运动控制中,加减速算法的软件设计精简_第2页
运动控制中,加减速算法的软件设计精简_第3页
运动控制中,加减速算法的软件设计精简_第4页
运动控制中,加减速算法的软件设计精简_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、加减速算法的分析及软件设计1 .引言在运动控制中,加减速是一个重点。在加减速的过程中,希望达到在给定最高速度的情况下,加减速的时间越短越好,被控电机运转越平稳越好,同时在基于微处理器的数字控制中,要求控制算法的可实现性也要好。现代运动控制中,常用的加减速算法有三种,即梯形曲线,指数曲线,S曲线。2 .梯形速度曲线算法分析如图1所示是梯形速度曲线,包括三个阶段:恒加速阶段、匀速阶段、恒减速阶段。图1梯形速度和加速度曲线在加减速阶段的vt的关系式可描述为:v=at。其中a>0是加速,a<0是减速以下以加速阶段为例,来分析算法的软件实现。关系式:v=at(1)在给定最高速度Vm的情况下,

2、可以算出具体白到达时间Tm=Vm/a,在从坐标点(0,0)开始画轨迹,到达终点(Tm,Vm),所形成的轨迹就是一直线段。最一般的实现方法是时间t从0开始递增,对应每个t代入式(1)中算出v,这个方法是可行的,但是运算量太大,还要涉及到浮点乘除,对于微处理器来说应尽量减少运算量,对于运动控制来说运算时间越短越好,响应越快越好,加速过程时间拉长,是不符合系统的要求的。所以在软件的实现过程中,尽量避免浮点运算,提高运算效率。由此可以复制运动控制中直线运动插补算法到这个加速阶段,即从点(0,0)运动到(Tm,Vm),利用插补算法,以数字方式实现运动过程。这里采用最小偏差法,来实现直线运动,下面是实现过

3、程,以a>1为为例:a>1则Vm>Tm初始偏差判断函数f=Vm-2Tm循环判断f的值:a) 如果0<=f,v进给一步,f=f2Tmb) 如果0>f,v和t都进给一步,f=f+2Vm-2Tm上面一直循环判断,直到v=Vm停止,软件实现流程如图2输入最后速度蛆加速度移动增量d计算时间Tmj判断函数f=Vm-2*Tm,初始化t=v=0(这里d)f-=2Tmv+=d给束图2梯形曲线软件流程图在实际应用中,有时加速段也写为:v=at+v0。其中v0称为起跳速度或是频率,有利于改善电机动力源的启动性能,在一定程度上也加快了加速过程,当然这个v0要满足电机性能的要求。3 .指数

4、速度曲线图3是指数速度和加速度曲线轨迹,它的加速和减速曲线是对称的。下面以加速阶段为例来说明指数曲线加减速过程。曲线加速阶段的速度vt关系式为:v(t)=Vc(1-e'L)(2)其中vc代表终点速度或是频率,t代表时间,T代表调节系统时间常数。图3指数速度和加速度曲线从式(2)可以知道:当t<<°时,v(t)=0当t>>。时,v(t)=vcc从上面的分析可以知道,时间常数。反映了系统从速度0变化到给定的最高速度的变化效率,加速过程的时间受该常数的约束,所以采用指数曲线进行加减速要根据系统选好时间常数1根据式(2),直接用软件实现加速过程是可以实现的,但

5、同时也要浪费很多时间在浮点运算过程中,不可取。下面进行离散处理以利于软件实现的优化,假定系统稳定且离散时间间隔T<<To根据假定可得:e"=1-T/.1/2!(T/)2-|H=1-T/.Rn(T/)1-T所以可得到v(t)=Vc(1e")=v(nT)=Vc(1eqT/)二v(1-eg)T/.e")二v(n-1)T)T/-vc-T/-v(n-1)T)由此得到在第n步的速度或频率的进给Av:Av=v(nT)-v(n-1)nT)=T/evc-T/tv(n-1)T)(3)式(3)是我们编写程序实现算法的关键,它给出了每个采样间隔T时间内在速度或频率上需要的进给

6、量,使算法实现了数字化。程序实现流程如图4所示:4 .S曲线算法分析S曲线不是一种固定算法的加减速形式,只是由于其加减速段的速度程S形而得名,常见的S曲线有抛物线型和三角函数型。本文以抛物线为例对S曲线进行分析。S曲线的核心图4指数速度曲线软件流程图思想是让加速度不产生突变,而是由零逐渐增大到目标加速度,并在撤销加速度时也采用逐渐减小加速度的方式。图5给出了抛物线S曲线的速度、加速度曲线图形。图5S型速度和加速度曲线它的加减速阶段的曲线是对称的,下面以加速段为例来说明S曲线的加减速算法的实现。S曲线的加速段主要分为三个子阶段:加加速阶段、匀加速阶段、减加速阶段。下面做如下定义Vmax为最大速度

7、Amax为最大加速度a1(t)为加加速阶段的加速度a2(t)为匀加速阶段的加速度a3(t)为减加速阶段的加速度v1(t)为加加速阶段的速度v2max为匀加速阶段的最高速度v3(t)为减加速阶段的速度tm为加加速阶段的时间和减加速阶段的时间tx为匀加速阶段的时间T为采样时间间隔,T足够小,假定在该时间间隔中,加速度恒定根据上面的定义以及图5可以得到:a1(t)=(,ax/tm)t(0<=t<=tm)a2(t)=Amax(0<=t<=tx)a3(t)=Amax(Amax/tm)t(0<=t<=tm)由此得到加加速阶段的速度变化,其中tm=nT:v1(0)=0Vl

8、(T)-Vl(0)=(Amax/tm)TTV1(2T)-V1(T)=(Amax/tm)2TTIIIv1(nT)-v1(n-1)T)=(Amax/tm)nTT将上面各式叠加,左边加左边,右边加右边:v1(nT)=(Amax/tm)(0T2TJUnT)T,、4(4)=(Amax/tm)(1n)(n)T2/2式4得到的就是加加速阶段的最高速度,由此可以得到匀加速阶段的最高速度:v2max二v1(tm)+Amaxtx二v1(tm)+AmaxmT(5)其中tx=mT接着推导减加速阶段的速度变化:v3(0)=v2maxv3(T)=v2maxa3(T)v3(T)-v3(0)=(v2maxa3(T)-v2ma

9、x)T=(Amax一(Amax&)T)TV3(2T)-v3(T).(Amax-(Amax/tm)2T)TIHv3(nT)-v3(n-1)T)=«x-(Amax%)nT)T两边叠加得到v3(nT)v3(nT)=v3(0)AmaxnT-(Amax/tm)(0T2TJI(nT)T2._=v2maxAnax仃-(Amax/tm)(1n)(n)T/2代入式(4)和式(5)得到最后的速度:vmax=v3(nT)=Amax川T+AmaxnT=Amax(tmtx)最终得到tx和tm要满足一个恒等式:tm+tx=vmax/Amax根据分析计算发现,匀速阶段所取的时间越长,功率耗散越小,加速过程

10、的时间越短,一般我们可以取tx=2tm,则可以得到tm=vmax/(Amax3)。由以上的推导过程知道,只要给定两个参数即最大速度和最大加速,就可以实现S曲线。程序流程如图6:输入最局速度%.量号加速度加时间间隔Tt+=T,v+=隹结束图6S曲线软件流程图5 .三种算法比较如图7所示,是三种算法在给定一样的加减速时间和最高速度的轨迹。由此图可以看出梯形速度曲线是一个恒加速过程,它的快速性很好,但是从图1中梯形加速度曲线看出,它的加速度有突变的情况,在现在电机驱动元件的性能还不能达到比较理想的动态响应的条件下,实际使用梯形加减速的数控系统的起停速度轨迹并不是理想的斜线,还存在明显的波动(主要表现

11、在起动时的滞后以及到达恒速时的过冲)。指数速度曲线在加速和减速阶段结束时的平滑性是最好的,并且它的快速性也比较好,1.梯形曲线2.指数曲线3.S型曲线图7三种曲线比较图但是相对于S曲线和梯形曲线,它在加减速启动过程中,速度、加速度变化率都较大,当负载扭矩较大时容易造成电机的堵转;相比之下S曲线的加速度是一个连续的变化过程,所以在机械运动的平稳性方面较好,虽然从速度的快速性上比不上梯形曲线,但是在满足一定平稳性的条件下,可以将最大加速度提高或加长匀加速阶段来提高加速效率。而且完整的S曲线是由多个阶段组成的,加加速段、匀加速段以及匀速段的运动时间可以取不同值,可以得到很多情况下的功率耗散。6 .结束语梯形速度曲线的

温馨提示

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

评论

0/150

提交评论