[导读] 大家好,我是逸珺。

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

梯形调速算法

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

这样一个梯形调速算法,相当于步进电机的运动过程包含三个阶段:

  • ①加速过程

  • ②匀速过程

  • ③减速过程

①加速过程所用到的加速度为:

一般加速过程与减速过程所用的加速度绝对值是相同的,减速过程相当于加速度为-a.

所以总的行程图中速度曲线下阴影部分三个过程的面积:

由于加速过程与减速过程所用到的加速度绝对值相等,所以,所以

梯形速度调速算法很简单,比较容易实现,但是这个算法却有缺陷。

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

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

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

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

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

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

S-曲线调速算法

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

这样来看看这些拐点:

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

对于函数,可以看出:

前面说,那么,意味着在0、1时刻,加速度为0。

假设速度曲线函数为:

则其一阶导数为:

这样就可以得出下面的方程组了:

解出a和b:

因此,调速曲线就得到了:

其加速度曲线为:

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

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

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

总结一下

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

—— The End ——

推荐好文  点击蓝色字体即可跳转

☞ 状态机的三种骚操作,值得你了解

☞ 推荐一个直接用于项目开发的PID库!很好用,很稳定

☞ 这14种嵌入式实时系统,你用过哪些?

☞ 推荐一款我私藏已久的串口示波神器

欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!

分享 

步进电机调速,S曲线调速算法你会吗?相关推荐

  1. 超声波测距测速升压可调中周倒车雷达变频器传感器1:10

    简 介: 通过对于是用于超声波测速变压器的基本分析,为后面构成150kHz 放大节能信标组的感应信号打下基础. 关键词: 中周,电压器,超声波 ▌01 中周变压器   购买到这个周中变压器主要是为了构 ...

  2. 基于STM32F103的步进电机S型曲线加减速算法与实现

    步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的 ...

  3. 调光设备术语:调光曲线(转)

    源:调光设备术语:调光曲线 核心提示:调光曲线是调光设备重要的参数之一,它直接影响到了灯光输出的效果,是数字化调光设备性能的体现. 上面这句话包含了三点内容,我们逐条解析. 调光曲线是调光设备重要的参 ...

  4. 妙法突破资料分析系列之速算技巧[综合速算法]

    综合速算法"包含了我们资料分析试题当中众多体系性不如前面九大速算技巧的速算方式,但这些速算方式仍然是提高计算速度的有效手段. 平方数速算: 牢记常用平方数,特别是11~30以内数的平方,可以 ...

  5. 步进电机S型曲线加减速算法与实现

    转载于http://blog.csdn.net/pengzhihui2012/article/details/52228822?locationNum=6 一年前做过的S型曲线加减速算法,再次做的时候 ...

  6. 曲线调薪是落后也是无奈

     生活的基本常识是:当正当的途径无路可走时,薪酬是职场人士最基本最原始的追求,离开薪酬一切都是空谈.人们一定会走歪门邪道,因为这都是被逼的.当你兢兢业业地在一家公司服务多年,或许觉得老板对你很重视也 ...

  7. 摩托车测试怠速软件,摩托车怠速系统几种常见故障分析

    摩托车怠速是指发动机空转时的一种工作状态,怠速性能直接影响到摩托车的正常驾驶以及实际耗油量,当然怠速运转是否良好,也是衡量发动机工作性能的重要标志,并也涉及到车辆整体动力性能的发挥. 由怠速系统引起的 ...

  8. 文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档

    精品文档 JVM性能调优解决方案(总结) 一.引言 本文的读者是技术支持人员.阅读本文后,你将理解 jboss 的启动脚本文件 (run.sh )中有一系列的 JVM配置参数的含义,以及如何调整它们, ...

  9. Spark性能调优-RDD算子调优篇

    Spark性能调优-RDD算子调优篇 RDD算子调优 1. RDD复用 在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示: 对上图中的RDD计算架构进行修改,得到 ...

  10. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优...

    一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽 ...

最新文章

  1. 想避免重复请求/并发请求?这样处理才足够优雅
  2. 网络之XML解析-原生
  3. Effective C++ --3 资源管理
  4. 学习笔记(Spring事务管理)
  5. 接受与返回json数据
  6. python中编函数_在python中编写函数
  7. Linux安装CUDA的正确姿势
  8. python tclerror_TclError:错误的窗口路径名(Python)
  9. 硬盘常规测试软件解析
  10. sqlplus可以连接plsql连接不上_Gee引擎配置微端不更新,连接不上,尝试重新连接的解决方法...
  11. nyoj 8 一种排序(用vector,sort,不用set)
  12. 结队编程与日程管理系统维护改善
  13. js导出变量 vue_Vue+Element前端导入导出Excel
  14. CommandName属性和CommandArgument属性
  15. 工业企业能源管理系统
  16. ACM—数论—费马大定理 (数学史上著名的定理)
  17. 【转】SPARC处理器30年沉浮
  18. android手机获取手机设备信息
  19. 微信新BUG曝光:好友偷偷删了你,用这样一串代码就能查出来!
  20. 重庆市渝中区相关部门负责人到访 Conflux 探讨新一线城市区块链技术发展路径...

热门文章

  1. mathmatica矩阵的运算,相乘,转置,求逆矩阵
  2. 给我写信 wyz831201王玉镇
  3. leet198.打家劫舍
  4. CentOS 7 添加新硬盘
  5. Matlab中产生门函数----Heaviside函数的调用方法
  6. mysql 级联复制
  7. 批量提取PPT里面包含的图片教程
  8. 华为p10测试软件,华为p10内存测试软件
  9. 现代法谱估计(3)Burg算法MATLAB及Python实现
  10. 微信企业号已停止提供企业消息会话服务器,企业微信注册时显示会话服务已经被安装了怎么解决 解决攻略教程大全...