一种伺服电机S曲线加减速控制方法与流程

文档序号:15684019发布日期:2018-10-16 20:52阅读:11379来源:国知局
本发明涉及嵌入式伺服电机控制系统领域,具体为一种伺服电机s曲线加减速控制方法。
背景技术
:嵌入式伺服电机控制系统加减速曲线的实现主要依靠ic芯片的程序算法控制,其实质是将加减速曲线离散化为各个频段,通过程序计算各个频段所需的pwm波形输出参数,使pwm输出的脉冲曲线最终能够与理论加减速曲线拟合。传统的嵌入式伺服电机控制系统伺服电机s曲线加减速控制方法以加加速度或最大加减速度为变量进行速度规划,计算过程复杂,需要大量的速度和脉冲频率之间的转换计算,求解时间长,不利于实时运动控制。技术实现要素:本发明的发明目的在于:针对传统的嵌入式伺服电机控制系统伺服电机s曲线加减速控制方法以加加速度或最大加减速度为变量进行速度规划,计算过程复杂,需要大量的速度和脉冲频率之间的转换计算,求解时间长,不利于实时运动控制的问题,提供一种伺服电机s曲线加减速控制方法。本发明结合嵌入式伺服电机控制系统的实际应用,提出一种以脉冲频率为表达形式的五段s曲线加减速控制方法,以最大频加速度为变量,分析加减速过程中各时刻所需的pwm脉冲频率,避免现有嵌入式伺服电机控制系统s曲线加减速控制的复杂运算。本发明提出嵌入式伺服电机控制系统s曲线加减速控制方法的硬件实现方法,以简化伺服电机系统运动控制过程,提高伺服电机系统实时控制能力。为了实现上述目的,本发明采用如下技术方案:一种伺服电机s曲线加减速控制方法,包括如下步骤:(1)s曲线算法的脉冲频率表达形式假设电机加减速的需要的开始脉冲频率和结束脉冲频率相等,并且为f0;需要达到的最大脉冲频率为fmax,此时的加速度为频加速度αf,允许的最大值为αm,t1~t5分别为第一至第五阶段的用时时间;在0~t1时间内,f-t曲线为一二次多项式,设如下计算式(1):f=mt2+nt+k(1),式(1)中,m,n,k分别为待定系数;频加速度为脉冲频率关于时间的导数,则有计算式(2):αf=2mt+n(2);取f-t曲线中点(0,f0)和取af-t曲线中点(0,0)和(t1,αm)带入公式(1)和公式(2),得:将af-t曲线中点(t1,am)和m,n带入公式(2),有公式(3):则由公式(4):故在0~t1时间内,f-t函数如下式(5):采用前述类似推导过程,得到不同时间点pwm输出的脉冲频率值计算公式(6):2)加减速曲线的实现嵌入式伺服电机控制系统加减速曲线的实现主要依靠芯片输出pwm脉冲,在嵌入式系统中,pwm的输出由定时器控制,假设芯片的时钟频率为fmcu,定时器自动重装载的值为arr和时钟预分频值为psc,则pwm的输出脉冲频率fpwm如下式(7):2.1)初始化参数配置根据实际允许的电机起始转速和最大转速,可以得到f0和fmax的计算公式如下式(9):式(9)中,v为电机加减速的起始速度或允许的最大速度,r/min;npus_per为电机旋转一圈需要的脉冲数;计算完成加减速需要的脉冲数npu_n,公式如下式(10):式(10)中,δang为给定角度与实际角度的差值,rate为电机的减速比;2.2)根据实际情况重新计算最大脉冲频率根据公式9计算得到f0和fmax后,计算得到按最大速度要求需要的脉冲数nmax,计算公式如下式(11):若nmax>npu_n,说明电机此次加速需要的脉冲数小于按最大速度要求需要的脉冲数,即电机不需要加速到初始化设置的最大速度,此时电机的匀速段总时间t=0,并且需要重新计算此次加速需要的最大脉冲频率,计算公式如下式(12):如果nmax≤npu_n,说明电机此次加速需要加速到初始化设置的最大速度,并且加速到最大速度后会产生一段匀速时间,此时fm′ax=fmax,匀速时间t计算公式如下式(13)所示:2.3)计算各阶段时间由公式3推导得到各个时间点的计算公式如下式(14所示):2.3)加减速控制假设电机加减速需要达到的最大脉冲频率与电机起始脉冲频率的差值δf=fmax-f0,通过定时器得到某时刻的时间为t;通过公式(6)计算得到pwm需要输出的脉冲频率值f后,修改定时器pwm周期和占空比,来控制速度。附图说明本发明将通过例子并参照附图的方式说明,其中:图1本发明的s曲线加减速过程频率曲线图。图2本发明的s曲线加减速过程频加速度曲线图。图3是s曲线加速段离散化图。图4电机加减速控制曲线验证图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。实施例11)s曲线算法的脉冲频率表达形式假设电机加减速的需要的开始脉冲频率(以下简称频率)和结束频率相等,并且为f0,需要达到的最大频率为fmax,此时的加速度为频加速度αf,允许的最大值为αm,t1~t5为各阶段的用时时间。在0~t1时间内,f-t曲线为一二次多项式,设:f=mt2+nt+k(1)式中,m,n,k为待定系数。频加速度可以理解为频率关于时间的导数,故有:αf=2mt+n(2)取f-t曲线中点(0,f0)和取af-t曲线中点(0,0)和(t1,αm)带入公式1和2得:将af-t曲线中点(t1,am)和m,n带入2式,有:则:故在0~t1时间内,f-t函数为:其它时间段f-t函数的推导过程类似,由此可得不同时间点pwm输出的频率值f计算公式为:2)加减速曲线的实现本实施方案使用直流无刷电机与stm32单片机系统结合的方式,在stm32单片机系统中,pwm的输出由定时器控制,假设芯片的时钟频率为fmcu,定时器自动重装载的值为arr和时钟预分频值为psc,则pwm的输出频率为:2.1)初始化参数配置根据实际允许的电机起始转速和最大转速,可以得到f0和fmax的计算公式如下:式中,v为电机加减速的起始速度或允许的最大速度,r/min;npus_per为电机旋转一圈需要的脉冲数。计算完成加减速需要的脉冲数npu_n,公式如下:式中,δang为给定角度与实际角度的差值,rate为电机的减速比。2.2)根据实际情况重新计算最大频率根据公式9计算得到f0和fmax后,可以得到按最大速度要求需要的脉冲数,计算公式如下:如果nmax>npu_n,说明电机此次加速需要的脉冲数小于按最大速度要求需要的脉冲数,即电机不需要加速到初始化设置的最大速度,此时电机的匀速段总时间t=0,并且需要重新计算此次加速需要的最大频率,计算公式如下:如果nmax≤npu_n,说明电机此次加速需要加速到初始化设置的最大速度,并且加速到最大速度后会产生一段匀速时间,此时fm′ax=fmax,匀速时间:2.3)计算各阶段时间由公式3推导得到各个时间点的计算公式如下:2.4)根据时间情况开始加减速使能一个定时器开始计时,根据时间情况切换算法公式进行加减速,假设电机加减速需要达到的最大频率与电机起始频率的差值δf=fmax-f0,通过定时器得到某时刻的时间为t。通过公式6计算得到pwm需要输出的频率值f后,就可以修改定时器pwm周期和占空比来控制速度。2.5)曲线验证设f0=300hz,fmax=20000hz,npus_per=400,最大频加速度αm=10000.0,电机初始角度为0,旋转角度为90°,启动电机,在stm32调试模式中对定时器的时间输出值t和相应的pwm频率输出值f进行随机采样,得到的数据如下表1所示。表1时间-频率记录表时刻/s频率/hz时刻/s频率/hz0.385961.9870.9003747.8551.4198366.8381.93711424.372.45612227.462.97410774.723.4957048.3444.0132702.3264.532559.784——从图4中可以看出,本次实施方案使用的直流无刷电机加减速过程符合s型曲线,本次实验加减速没有匀速过程,加减速过程平滑,没有速度的跳变,达到了预期控制效果。本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1