coleyao 发表于 2014-10-31 19:22:56

【思路分享】步进电机S型曲线加减速探讨

本帖最后由 coleyao 于 2014-10-31 19:46 编辑

      分享一个电机加减速控制的思路,用以庆祝我一家三口的户口从全国各地(南京、山东......)顺利迁回老家,希望能对需要的坛友们有所启发。{:smile:}
      以前我曾经研究过一阵S曲线加减速的原理和用以实现步进电机S曲线加减速的查表方式的数据计算,并为此专门写了一个用来生成步进电机S曲线加减速所需的定时器计数值计算小软件,得到了很多坛友的肯定,只是这种方法尽管可以实现电机最大可能的平稳运行,但只适合于最高和最低速度固定的场合,最近我考虑到增量式PID调节的起始部分曲线与标准S曲线非常相似的特点,利用增量式PID调节实现了步进电机最大和最小速度在相当大范围内均可实现S曲线加减速的方法,且可以在Stm32单片机上实时运行,附图给出了我用Excel表格数据仿真的图形,其中两张图最大速度相差10倍,在同样的PID参数下得到的加减速S曲线均比较理想!
      另附上固定速度步进电机S曲线加减速查表数据计算软件的帖子地址: http://www.amobbs.com/thread-5492742-1-1.html

abc447876239 发表于 2020-1-2 21:03:51

很想知道楼主PID怎么调的 求代码

abc447876239 发表于 2019-12-31 16:50:09

能上点干货不?

tangly2017 发表于 2017-11-29 21:08:29

路过,学习学习

coleyao 发表于 2017-11-10 21:53:05

litiang 发表于 2017-11-10 20:49
S型曲线如何调成

https://www.amobbs.com/thread-5635245-1-1.html    【分享】步进电机加减速方式探讨   软件可以生成PID方式的曲线数据

litiang 发表于 2017-11-10 20:49:57

coleyao 发表于 2014-10-31 21:06
一点点小经验,哪能上升到开课的地步啊,要上课还是蓝翔技校比较靠谱,阿莫论坛的网友都知道啊{:lol: ...

S型曲线如何调成

litiang 发表于 2017-11-10 19:49:49

怎么调成S型

wind2100 发表于 2017-9-14 14:38:40

本帖最后由 wind2100 于 2017-9-14 14:40 编辑

你的贴子 给我们不少启发, 限制好最大加速度,这个加速度曲线 ,感觉很好,减速立杆见影.   

我一直想用 加速度 做为增量那这个程序就简单了. 可是一直实现不了. 无奈以时间做为X轴, 计算速度.

我用三角形加速度感觉跑起来是平稳了,可是停下来反转 感觉需要等很长的时间 由于开始的速度非常低. 其实加速度可以更大 只要没有超过电机本身的力矩我们可以从 TAO = I*Amax 看出.

shinemotou 发表于 2017-7-6 11:04:25

楼主QQ多少呀

coleyao 发表于 2015-11-7 09:04:02

cqb98 发表于 2014-10-31 19:42
话说还不是很懂S曲线是啥,楼主能给些资料吗

主要是指物体的运动速度呈现为S形状,具体的细节你可以用仿真软件运行看看,慢慢体会:http://www.amobbs.com/thread-5635245-1-1.html

MotionControl 发表于 2015-11-7 03:15:23

S形可以做到在指定的时间内,移动指定的脉冲,按照S形停止下来,启动慢和停止慢是优点啊

myqiang1990 发表于 2015-11-7 01:10:47

这个很简单,吧PID响应输出曲线调至类似S曲线,然后把输出控制量倒过来,因为PID输出的控制量曲线是和响应曲线反过来的,单纯的控速这个很简单,难的是怎么用PID在给定的距离内以最合理时间让步进电机加速-匀速-减速,平稳的到达给定目标位置,这个涉及位置控制和速度控制串级控制

wqtslove 发表于 2015-6-1 10:12:04

楼主只说了思路,没说具体如何实现。

doujiang 发表于 2015-5-30 23:05:43

楼主可以详细讲下具体实现方法么?

fhqiplj 发表于 2015-1-22 12:25:41

是将s表格保存到flash中,然后查表么?

njwanglei 发表于 2015-1-22 10:36:19

coleyao 发表于 2014-11-1 15:21
没有,除了自己写的用来辅助生成固定速度S曲线加减速的定时器数据的小软件,其它就是随便看看百度到的 ...

经常看帖,也贡献点资料

coleyao 发表于 2014-11-1 15:21:21

qufuta 发表于 2014-11-1 14:06
楼主有没有S曲线的资料,最近也想研究下

   没有,除了自己写的用来辅助生成固定速度S曲线加减速的定时器数据的小软件,其它就是随便看看百度到的一些论文资料,资料相对比较少,不然我也不会自己制作工具软件!

qufuta 发表于 2014-11-1 14:06:12

楼主有没有S曲线的资料,最近也想研究下

modbus 发表于 2014-11-1 12:10:34

S曲线的缺点是加速时间长,优点是启动时比较平稳,特别适合静摩擦力比较大的负载,尤其是静摩擦比动摩擦大的多的负载。我以前做一个项目,运动中运送物体的抖动量是一个考核指标,最简单的测试办法就是放杯水,开始用梯形曲线,效果总是不好,后来改为S曲线完美解决。

deeplly 发表于 2014-11-1 08:56:56

应用s曲线也要注意中点斜率问题(最大加速度),要不然也很容易出问题

hmd420304805 发表于 2014-11-1 00:10:43

heky 发表于 2014-10-31 23:19
祝贺楼主把户口搞定了
现在暂时用到梯形加减速,S型的工程上感觉意义不大。 ...

又见面了,我和你看法相似。s曲线虽然高上大,但却不是万金油。和t形还是有本质区别的。t形加速非常迅猛,如果用伺服容易过冲。我个人认为指数曲线才是适应性最好的曲线。

coleyao 发表于 2014-10-31 23:58:20

本帖最后由 coleyao 于 2014-11-1 00:01 编辑

kinsno 发表于 2014-10-31 22:16
提个问:

1、如果是T形加减速,和S曲线相比,S曲线有什么优点和好处?


   1、T型的加减速其加速度为分段常数,有加速度突变,因而有明显的推拉切换的感觉,尽管运动部件动量是连续的,但是电机提供的力矩是不连续的,容易造成运动部件的抖动或震颤;
   2、分段后加速度小了,与力不连续有关的副作用也小了,不过加减速时间就长了!

另外:伺服一般会用到PID控制,其实PID控制的理想曲线起始部分就是一个近似S曲线。

heky 发表于 2014-10-31 23:19:21

祝贺楼主把户口搞定了
现在暂时用到梯形加减速,S型的工程上感觉意义不大。

hmd420304805 发表于 2014-10-31 23:13:44

S 真的很重要吗?
如果不是带载较重,或者有切削负载的。
用没人会用S曲线的吧?

dafeng133 发表于 2014-10-31 23:06:46

值得深究,物理老师讲惯量相关的知识时,我开小差了,没学到。

kinsno 发表于 2014-10-31 22:16:14

本帖最后由 kinsno 于 2014-10-31 22:25 编辑

coleyao 发表于 2014-10-31 19:53
S曲线就是形状象S的曲线,S型曲线加减速比较平滑,其加速度是连续变化的,因此由速度突变带来的动量 ...

提个问:

1、如果是T形加减速,和S曲线相比,S曲线有什么优点和好处?
2、如果我把T形加减速的时间拉长,比如原来计划10秒上去,我现在计划60秒,也可以,同时每个加速点上稳定一会,比如600执行5MS,650再执行5MS,这样一步步递增,也可以达到这个目的?在这种只求升上去,不求时间轴上的最快,S曲线又有什么优点呢?

PS:哈哈,有点无理取闹,但是确实想听听你的理解,这个地方没有理解透彻,感觉混混沌沌的!
PS2:所谓的S曲线加速,在步进上面比较好,是因为步进有一个最大的毛病,那就是它的转矩在变,如果是伺服呢,那就是另外一种情况了;

jordanbull 发表于 2014-10-31 22:06:44

好东西,谢谢楼主分享,学习了

coleyao 发表于 2014-10-31 21:58:47

whatcanitbe 发表于 2014-10-31 21:48
能给点伪代码看看吗

   没有伪代码,给个思路吧:步进电机按步也就是每个脉冲都进行PID运算明显是不可能的,PID运算不是很复杂,但也不是很简单的那种,所以需要折中一下,比如5~10毫秒计算一次,再这个5-10毫秒内步进电机转速不变,这样一来,以STM32F05x的运算能力做到准实时应该是问题不大的了!

whatcanitbe 发表于 2014-10-31 21:48:44

能给点伪代码看看吗

coleyao 发表于 2014-10-31 21:06:38

a105 发表于 2014-10-31 21:02
希望楼主开课,让我们能更好地学习!

    一点点小经验,哪能上升到开课的地步啊,要上课还是蓝翔技校比较靠谱,阿莫论坛的网友都知道啊{:lol:}

a105 发表于 2014-10-31 21:02:52

希望楼主开课,让我们能更好地学习!

coleyao 发表于 2014-10-31 20:56:38

Puppey 发表于 2014-10-31 20:47
看过楼主很多帖子啊 ~ 对于步进控制,楼主做了很多啊~

    工作中遇到了,有空就想想怎么做效果最好,如果只是做到马达会转的话,也就是个刚毕业的本科和研究生大多数人的水平,就不用逛阿莫论坛了!{:lol:}

coleyao 发表于 2014-10-31 20:53:17

cqb98 发表于 2014-10-31 20:44
也就是说对加速度求导等于常数?

如果是加速度曲线是三角形,那求导就是分段常数,如果是正弦,那就是余弦吧!

Puppey 发表于 2014-10-31 20:47:05

看过楼主很多帖子啊 ~ 对于步进控制,楼主做了很多啊~

cqb98 发表于 2014-10-31 20:44:40

coleyao 发表于 2014-10-31 20:20
加速度是个类似三角形的形状,整个加减速合起来的加速度曲线类似正弦曲线的样子。 ...

也就是说对加速度求导等于常数?

coleyao 发表于 2014-10-31 20:20:36

cqb98 发表于 2014-10-31 20:15
加速度也要变化?不是匀加速?加速度的变化是否满足什么关系呢?

   加速度是个类似三角形的形状,整个加减速合起来的加速度曲线类似正弦曲线的样子。

cqb98 发表于 2014-10-31 20:15:38

coleyao 发表于 2014-10-31 19:53
S曲线就是形状象S的曲线,S型曲线加减速比较平滑,其加速度是连续变化的,因此由速度突变带来的动量 ...

加速度也要变化?不是匀加速?加速度的变化是否满足什么关系呢?

Vmao 发表于 2014-10-31 20:10:06

如何通过制定步数算出你的目标速度和时间?步数精确不了在怎么S 曲线也没有用

jxyctwt 发表于 2014-10-31 20:08:04

很棒,...

西门Q 发表于 2014-10-31 20:07:17

不错,正在研究这个

西门Q 发表于 2014-10-31 20:06:45

好,学习下!!!!!!!

wang19900908 发表于 2014-10-31 19:55:18

进来看看学习学习

coleyao 发表于 2014-10-31 19:53:57

cqb98 发表于 2014-10-31 19:42
话说还不是很懂S曲线是啥,楼主能给些资料吗

    S曲线就是形状象S的曲线,S型曲线加减速比较平滑,其加速度是连续变化的,因此由速度突变带来的动量传递很小。举个例子,在有的公交车上,死机刹车的时候有时乘客会前倾甚至摔倒,而有的公交车上刹车和起步时乘客几乎感觉不到(典型的如地铁、高铁等),这就是平滑加减速与非平滑加减速的差异了!

cqb98 发表于 2014-10-31 19:42:46

话说还不是很懂S曲线是啥,楼主能给些资料吗
页: [1]
查看完整版本: 【思路分享】步进电机S型曲线加减速探讨