[程序源码]

步进电机运行使用PID加减速控制方式的策略讨论

[复制链接]
826|2
手机看帖
扫描二维码
随时随地手机跟帖
ColeYao|  楼主 | 2023-2-4 10:56 | 显示全部楼层 |阅读模式
本帖最后由 ColeYao 于 2023-2-4 11:20 编辑

   如题,使用PID方式控制步进电机运行时,对于加速段,直接使用常规PID方式即可,将电机速度从0提高到最大速度即可,但对于减速段,直接使用常规PID方式就无法实现了,电机速度可以从最大速度降到0,但不能同时保证停留在指定位置上。
  对于以上问题,当单片机资源足够时,记录加速段的所有速度数据,在减速段重新反向回放记录数据即可,但对于一些资源比较少的单片机如51、M0之类的,此方法不适用。(附图是一种基于PID的控制方式,可以看到黄色曲线中减速段的加速度明显要比加速段的加速度大了不少)
  附图说明:灰色是目标位置,紫色是电机运行实际位置,黄色是加速度曲线,绿色是理论计算得到的速度曲线,红色是实际速度曲线(速度范围较小,因此平滑性较差)
  我想请教的是:有没有一种步进电机加减速控制方式,1)可以适用一些资源比较少的单片机(RAM占用少); 2)几乎实时平滑调速;      3)加减速曲线的加速度部分近似对称(效果比附图更完美);       4)速度曲线为近似S曲线(要求是从A出发,经历加速-匀速-减速三个阶段后停在指定位置B,要求停止后无正反向微调过程,停止精度越高越好)
速度加速度波形_20230204高速.png

使用特权

评论回复

相关帖子

触觉的爱| | 2023-2-9 17:44 | 显示全部楼层
测试一个适合的加减速曲线,做成数组,存放在ROM中,读取比实时计算快

使用特权

评论回复
ColeYao|  楼主 | 2023-2-9 20:28 | 显示全部楼层
触觉的爱 发表于 2023-2-9 17:44
测试一个适合的加减速曲线,做成数组,存放在ROM中,读取比实时计算快

  固定数组肯定比实时计算快,但是缺点很明显:1)对ROM需求大;  2)一般不适用最大速度经常变动的场合,比较适合最大速度只有一个值或有限的几个值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

347

帖子

5

粉丝