这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【转载】步进电机调速,S曲线调速算法你会吗?--from嗷呜

共15条 1/2 1 2 跳转至

【转载】步进电机调速,S曲线调速算法你会吗?--from嗷呜

工程师
2022-07-20 15:20:40     打赏

今天想分享一种超级实用的步进电机调速算法,这种算法在步进电机调速方案中可以说是一种非常优异的方案。

梯形调速算法

为啥需要设计一个调速算法呢?步进电机不是给多少脉冲就动多少步吗?但是带上负载了就可能失步,所谓失步,简单理解就是实际电机轴转过的度数,没有输入脉冲对应度数多。为什么会这样呢?电机的扭矩有可能无法驱动负载。一般会做一个启动加速控制过程,停止的时候做一个减速控制,中间做一个匀速控制。这就是比较常见的梯形调速控制算法。

1.png

2.jpg

3.png

图中红色圆圈的位置,加速度从a突变为0,或从0突变为-a,这些突变点会带来什么后果呢?来看看其加速度曲线:

4.png

电机带着负载运动,比如常见的丝杆将电机的旋转运动,转化直线运动,又或者齿轮或滚珠结构,带动负载进行旋转运动。具有一定的质量的负载,在加速度突变情况下,很有可能会造成机械振动。

比较专业一点的术语称为急动(Jerk),其实就是考察加速度的变化率的,也可以称为加加速度,我们知道速度的变化率就是加速度,而加速度的变化率就是加加速度。

如果用数学语言来装下逼,就是速度函数对时间的一阶导数就是加速度,而对加速度曲线的一阶导数就是加加速度。因此上图中加速度在0,t0,t1,t2时刻突变,意味着加加速度为无穷大。

对于给定的负载,加加速度越大,产生的不需要的振动能量就越大,振动能量的频谱也就越宽。这意味着加速度变化越快,振动就越强大,激发的振动模式数量也就越多。由于振动能量被系统机械吸收,如果振动频率与机械和控制系统中的共振相匹配,则可能会导致稳定时间增加或精度降低。

这样一说,好像就有思路了,我们如果能做到加速度的变化率是连续的,是否这种变化就会变得平滑呢?运动是不是就更柔性?所谓变化率连续,是不是就是相对于加速度函数的导数曲线是连续的就可以了?

S-曲线调速算法

假定来归一化速度曲线为从0加速到1,假设能做出如下调速曲线:

5.png

这样来看看这些拐点:

6.png

看速度曲线先是比较缓慢的增加,然后再比较快速的增加,然后在慢慢第逼近到期望的设定速度,因此这是一个变加速过程。再来做一个进一步的假设,把加速度过程的时间也做一个归一化:

7.png

8.jpg

整个过程的加速度曲线长这样:

9.png

这样一来,加速度就是连续变化的,没有突变点。解决了之前提到的急动的问题。由于加速、减速过程完全对称,因此我们关心的运动距离控制,则很容易用下图中绿色区域的面积计算得到:

10.png

有了这样的数学模型,编码实现就是水到渠成的事情了。

总结一下

电机速度控制,一般尽量做到柔性调速,本文分享的步进电机的S-曲线调速数学算法模型,是一个非常棒的算法模型。速度一开始缓慢增加到快速增加,再回到缓慢增加直到速度达到设定期望速度。从设计上,兼顾了快速启停,又能尽最大程度降低加速度突变这一对矛盾。希望对有兴趣的朋友有所帮助。


转载自网络,如有侵权,联系删除。



专家
2022-07-21 08:13:25     打赏
2楼

这个不错


专家
2022-07-21 08:19:33     打赏
3楼

学习


专家
2022-07-21 08:21:31     打赏
4楼

感谢分享


专家
2022-07-21 11:23:08     打赏
5楼

感谢分享


专家
2022-07-21 11:48:29     打赏
6楼

谢谢分享


专家
2022-07-21 12:08:51     打赏
7楼

感谢分享


高工
2022-07-30 22:37:39     打赏
8楼

理论部分    数字计算呢  


专家
2022-07-30 23:00:27     打赏
9楼
感谢分享

高工
2022-08-01 10:18:11     打赏
10楼

谢谢分享,学习学习


共15条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]