当前位置: 首页 > article >正文

步进电机运动八大算法

     引导一种模块化(Module)设计思想,将传统步进电机的控制器(controller)、驱动器(Driver)、运动算法(Arithmetic)三合一。

对比国内外步进电机驱动原理和已有工作,结合各种硬件特性,改进或实现了可实际移植并用于步进电机控制八大算法。本产品为步进电机实际控制算法实现源代码,包括市面上常用的梯形加减速算法、SPTA算法、PWM专用通道算法、特征拟合算法、任意形状的s形加减速七段法、s形logistics函数法、DMA算法、从定时器法。可用于实际项目和相关研究之用。


1、T梯形加减速算法

梯形算法的速度轮廓是梯形,故而得名,对梯形求导数可以得到矩形,因此本算法直接从勾勒加速度曲线入手,进行数值积分得出速度轮廓,进而转换为对应的定时器预设值,从而控制电机的速度变化,达到想要的效果。

2、SPTA算法


SPTA算法根据用户输入的加速度和速度以及总脉冲数,自动计算加减速过程所需的定时器装载值,也不需要额外的RAM来存储表格,算法效率高、灵活方便,特别适合移植到一些资源紧俏的单片机,比如51单片机等。

3、PWM专用通道加减速算法

一般来说,采用单片机控制步进电机的方法是在定时器的中断处理函数中,对于特定的IO口进行操作来产生脉冲,这种方法的好处是灵活,可以方便的移植到各种类型的单片机,只要求该单片机具有定时器和多余的GPIO,几乎所有的单片机都能满足要求。


但是随着单片机功能的不断增强,CPU负担逐渐增多,这种方式自身缺点也逐渐显现,那就是占用了较多的计算资源。替代的办法就是采用定时器专用的PWM通道来产生所需的硬件脉冲,这样在不经常启动停止的工况下,不再需要CPU的干预,大大提高了效率。

4、特征拟合算法


该算法充分利用所选的步进电机特性曲线来选择加减速轮廓,具有非常大化电机能力的优点,而且算法占用的空间少,对于特定的步进电机具有带载能力非常大化的优点,在小负载测试中发现,使用梯形加减速算法可以在3s内完成无丢步的运动,换为该算法,可以实现2.2s无丢步加减速。

5、任意形状的S形加减速

此为S形七段法。如果从加速度轮廓上看,梯形加减速的加速度是矩形的,而且在速度切换点,加速度从正一下子变为负,会有明显的响声,因此,有必要开发更为平滑的算法。那就是S形加减速。针对S形加减速,具体做法有很多,比较简单的做法是采用sigmoid函数,一切有S形状的函数都可以拿来做基础S函数,比如log函数的变形,sin函数。不过,这些函数在S曲线的计算公式上虽然简单了,但是由于可调参数太少,导致了无法根据现实情况随意更改S曲线形尸缺少灵活性。为此,本店在理论推导的基础上推出任意形状的S形曲线算法。首先规划运动的加速度,然后积分得到速度轮廓,进而转换为步进电机的频率轮廓。

6、S形加减速logistic函数法


S曲线常见的方法是七段法,在很多论文中都有涉及,该方法的灵活性好,可以指定任意一段加速度以及斜率。但该方法也有缺点,即在于过于灵活导致参数众多,本方法采用的logistic函数法,参数少,易于掌控。

7、DMA算法


DMA算法采用新的处理方式,只有在需要改变步进脉冲频率的时候再进入中断,这样可以提高CPU的效率,让CPU专注于执行计算密集型的工作,给任务多、计算复杂的应用提供了一种更好的解决方案。

8、从定时器法(SLAVER TIMER)

SLAVER算法是一种提升总线利用率的方法,使用两个定时器,一个输出PWM,一个工作在计数器模尸把PWM输出的同时,让计数器对其进行计数,从而释放了总线,提升了工程整体效率。


http://www.kler.cn/a/179.html

相关文章:

  • C# XPTable 带图片的增删改查(XPTable控件使用说明十三)
  • 第四、五章补充:线代本质合集(B站:小崔说数)
  • 《鸿蒙系统AI技术:筑牢复杂网络环境下的安全防线》
  • CSS Grid 布局全攻略:从基础到进阶
  • Java到底是值传递还是引用传递????
  • 嵌入式中QT实现文本与线程控制方法
  • 什么是双亲委派模型?双亲委派模型有何作用?
  • Fabric系列 - 多通道技术(Muti-channel)
  • 【C语言蓝桥杯每日一题】—— 单词分析
  • 卷王都在偷偷准备金三银四了...
  • 基于SpringCloud的微服务架构学习笔记(4)http客户端Feign和网关GateWay
  • Python 的IDE——PyCharm
  • 面试官:关于CPU你了解多少?
  • 出道即封神的ChatGPT,现在怎么样了?
  • 【C语言】指针的深度理解(一)
  • 详谈parameterType与resultType的用法
  • HDFS黑名单退役服务器
  • 2023年再不会Redis,就要被淘汰了
  • 【算法】六大排序 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序
  • 【AcWing】蓝桥杯备赛-深度优先搜索-dfs(2)
  • 【Java版oj】day08两种排序方法、最小公倍数
  • 11.落地:微服务架构灰度发布方案
  • Android 架构之长连接技术
  • 写给20、21级学生的话
  • chatgpt这么火?前端如何实现类似chatgpt的对话页面
  • CANoe-Start Values窗口是做什么的