电机的S型曲线加速

来源:互联网 发布:centos 7 ip地址设置 编辑:程序博客网 时间:2024/06/05 03:35
  • 为何需要采用曲线加速的方式:
曲线算法由于其加速度和速度曲线的连续性,能够保证步进电机在运动过程中速度和加速度没有突变,减小冲击,提高步进电机运动的平稳性。
  • 电机转速与脉冲和细分的关系:
两相步进电机的基本步距角是1.8°,即一个脉冲走1.8°,如果没有细分,则是200个脉冲走一圈360°,细分是通过驱动器靠精确控制电机的相电流所产生的,与电机无关,如果是10细分,则发一个脉冲电机走0.18°,即2000个脉冲走一圈360°,电机的精度能否达到或接近0.18°,还取决于细分驱动器的细分电流控制精度等其它因素。不同厂家的细分驱动器精度可能差别很大;细分数越大精度越难控制。以次类推。三相步进电机的基本步距角是1.2°,即一个脉冲走1.2°,如果没有细分,则是300个脉冲走一圈360°,如果是10细分,则发一个脉冲,电机走0.12°,即3000个脉冲走一圈360°,以次类推。在电机实际使用时,如果对转速要求较高,且对精度和平稳性要求不高的场合,不必选高细分。在实际使用时,如果转速很低情况下,应该选大细分,确保平滑,减少振动和噪音。
  • 脉冲PWM(两相步进电机):
如果设定定时器频率 24MHz ,电机驱动细分设定为64,12800个脉冲走一圈, r = 100转/min也就是100*12800脉冲/min。
计算出溢出值= 24M/1280000×60 =1125。这个值需要进行实际转速的修正。
所以把pwm的溢出值设为1125时,就能得到100转/min的转速。
  • S曲线加速:
如果需要加速,只需要在产生pwm的定时器中断里(也就是完成一次pwm频率转换)重新设定溢出值(当然也需要同时更改pwm的pulse值来保证占空比),在达到既定的转速时不再改变其溢出值就完成了整个加速过程。当然在低速的时候比如100转,可以直接从0开始加速到100,不需要S取消加速也可以。同样的情况在减速的时候,也可以按照上述方式反过来设定。其中pwm的溢出值可以由下面这个小工具计算得到。
  • S曲线加速计算工具,点击。
曲线加速.exe
当然,这只是比较初略的实现方式,通常的情况也可以适用了。如果需要更平稳更快速的加速过程,可能还需要在这基础上进行修改。

2 0