运动控制中-加减速算法的软件设计(精简)

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

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

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

资源描述

加减速算法的分析及软件设计1.引言在运动控制中,加减速是一个重点。在加减速的过程中,希望达到在给定最高速度的情况下,加减速的时间越短越好,被控电机运转越平稳越好,同时在基于微处理器的数字控制中,要求控制算法的可实现性也要好。现代运动控制中,常用的加减速算法有三种,即梯形曲线,指数曲线,S曲线。2.梯形速度曲线算法分析如图1所示是梯形速度曲线,包括三个阶段:恒加速阶段、匀速阶段、恒减速阶段。图1梯形速度和加速度曲线在加减速阶段的v-t的关系式可描述为:v=at。其中a0是加速,a0是减速以下以加速阶段为例,来分析算法的软件实现。关系式:v=at(1)在给定最高速度Vm的情况下,可以算出具体的到达时间Tm=Vm/a,在从坐标点(0,0)开始画轨迹,到达终点(Tm,Vm),所形成的轨迹就是一直线段。最一般的实现方法是时间t从0开始递增,对应每个t代入式(1)中算出v,这个方法是可行的,但是运算量太大,还要涉及到浮点乘除,对于微处理器来说应尽量减少运算量,对于运动控制来说运算时间越短越好,响应越快越好,加速过程时间拉长,是不符合系统的要求的。所以在软件的实现过程中,尽量避免浮点运算,提高运算效率。由此可以复制运动控制中直线运动插补算法到这个加速阶段,即从点(0,0)运动到(Tm,Vm),利用插补算法,以数字方式实现运动过程。这里采用最小偏差法,来实现直线运动,下面是实现过程,以a1为为例:a1则VmTm初始偏差判断函数f=Vm–2Tm循环判断f的值:a)如果0=f,v进给一步,f=f-2Tmb)如果0f,v和t都进给一步,f=f+2Vm-2Tm上面一直循环判断,直到v=Vm停止,软件实现流程如图2图2梯形曲线软件流程图在实际应用中,有时加速段也写为:v=at+v0。其中v0称为起跳速度或是频率,有利于改善电机动力源的启动性能,在一定程度上也加快了加速过程,当然这个v0要满足电机性能的要求。3.指数速度曲线图3是指数速度和加速度曲线轨迹,它的加速和减速曲线是对称的。下面以加速阶段为例来说明指数曲线加减速过程。曲线加速阶段的速度v-t关系式为:/()(1)tcvtve(2)其中cv代表终点速度或是频率,t代表时间,τ代表调节系统时间常数。图3指数速度和加速度曲线从式(2)可以知道:当tτ时,v(t)≈0当tτ时,v(t)≈cv从上面的分析可以知道,时间常数τ反映了系统从速度0变化到给定的最高速度的变化效率,加速过程的时间受该常数的约束,所以采用指数曲线进行加减速要根据系统选好时间常数τ。根据式(2),直接用软件实现加速过程是可以实现的,但同时也要浪费很多时间在浮点运算过程中,不可取。下面进行离散处理以利于软件实现的优化,假定系统稳定且离散时间间隔Tτ。根据假定可得:/21/1/2!(/)TeTT1/(/)1TRnTT所以可得到//(1)//()(1)()(1)(1)((1))//((1))tnTccnTTcvtvevnTveveevnTTvTvnT由此得到在第n步的速度或频率的进给v:()((1))//((1))cvvnTvnnTTvTvnT(3)式(3)是我们编写程序实现算法的关键,它给出了每个采样间隔T时间内在速度或频率上需要的进给量,使算法实现了数字化。程序实现流程如图4所示:4.S曲线算法分析S曲线不是一种固定算法的加减速形式,只是由于其加减速段的速度程S形而得名,常见的S曲线有抛物线型和三角函数型。本文以抛物线为例对S曲线进行分析。S曲线的核心图4指数速度曲线软件流程图思想是让加速度不产生突变,而是由零逐渐增大到目标加速度,并在撤销加速度时也采用逐渐减小加速度的方式。图5给出了抛物线S曲线的速度、加速度曲线图形。图5S型速度和加速度曲线它的加减速阶段的曲线是对称的,下面以加速段为例来说明S曲线的加减速算法的实现。S曲线的加速段主要分为三个子阶段:加加速阶段、匀加速阶段、减加速阶段。下面做如下定义maxv为最大速度maxA为最大加速度1()at为加加速阶段的加速度2()at为匀加速阶段的加速度3()at为减加速阶段的加速度1()vt为加加速阶段的速度max2v为匀加速阶段的最高速度3()vt为减加速阶段的速度mt为加加速阶段的时间和减加速阶段的时间xt为匀加速阶段的时间T为采样时间间隔,T足够小,假定在该时间间隔中,加速度恒定根据上面的定义以及图5可以得到:max1()(/)matAtt(0=t=mt)max2()atA(0=t=xt)maxmax3()(/)matAAtt(0=t=mt)由此得到加加速阶段的速度变化,其中tm=nT:maxmaxmax1(0)01()1(0)(/)1(2)1()(/)21()1((1))(/)mmmvvTvAtTTvTvTAtTTvnTvnTAtnTT将上面各式叠加,左边加左边,右边加右边:max2max1()(/)(02)(/)(1)()/2mmvnTAtTTnTTAtnnT(4)式4得到的就是加加速阶段的最高速度,由此可以得到匀加速阶段的最高速度:maxmaxmax21()1()mxmvvtAtvtAmT(5)其中tx=mT接着推导减加速阶段的速度变化:maxmaxmaxmaxmaxmax3(0)23()23()3()3(0)(23()2)((/))mvvvTvaTvTvvaTvTAAtTTmaxmaxmaxmax3(2)3()((/)2)3()3((1))(/)mmvTvTAAtTTvnTvnTAAtnTT()两边叠加得到3()vnTmaxmax2maxmaxmax3()3(0)(/)(02)2(/)(1)()/2mmvnTvAnTAtTTnTTvAnTAtnnT代入式(4)和式(5)得到最后的速度:maxmaxmaxmax3()()mxvvnTAmTAnTAtt=+最终得到tx和tm要满足一个恒等式:maxmax/vAmxt+t根据分析计算发现,匀速阶段所取的时间越长,功率耗散越小,加速过程的时间越短,一般我们可以取2xmtt,则可以得到maxmax/(3)mtvA。由以上的推导过程知道,只要给定两个参数即最大速度和最大加速,就可以实现S曲线。程序流程如图6:图6S曲线软件流程图5.三种算法比较如图7所示,是三种算法在给定一样的加减速时间和最高速度的轨迹。由此图可以看出梯形速度曲线是一个恒加速过程,它的快速性很好,但是从图1中梯形加速度曲线看出,它的加速度有突变的情况,在现在电机驱动元件的性能还不能达到比较理想的动态响应的条件下,实际使用梯形加减速的数控系统的起停速度轨迹并不是理想的斜线,还存在明显的波动(主要表现在起动时的滞后以及到达恒速时的过冲)。指数速度曲线在加速和减速阶段结束时的平滑性是最好的,并且它的快速性也比较好,1.梯形曲线2.指数曲线3.S型曲线图7三种曲线比较图但是相对于S曲线和梯形曲线,它在加减速启动过程中,速度、加速度变化率都较大,当负载扭矩较大时容易造成电机的堵转;相比之下S曲线的加速度是一个连续的变化过程,所以在机械运动的平稳性方面较好,虽然从速度的快速性上比不上梯形曲线,但是在满足一定平稳性的条件下,可以将最大加速度提高或加长匀加速阶段来提高加速效率。而且完整的S曲线是由多个阶段组成的,加加速段、匀加速段以及匀速段的运动时间可以取不同值,可以得到很多情况下的功率耗散。6.结束语梯形速度曲线的加速度有突变性,实际中运用的比较少,而指数速度曲线算法比较简单,跟踪性比较强,在跟踪响应要求较高的切削加工中应用比较多。S曲线算法相对较为精确,启动和停止的平稳性都比较好,可以根据各电机性能调整速度变化率。三种加减速曲线在软件实现上,都已经数字化,所以必然会有误差,为了保证算法的精度,有必要在软件上进行修正,特别是在加速到顶峰和减速到停止的时候。

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

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

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

×
保存成功