引导一种模块化(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输出的同时,让计数器对其进行计数,从而释放了总线,提升了工程整体效率。

步进电机运动八大算法相关推荐

  1. 前凸后翘的步进电机调速算法~

    [导读] 大家好,我是逸珺. 今天想分享一种超级实用的步进电机调速算法,这种算法在步进电机调速方案中可以说是一种非常优异的方案. 梯形调速算法 为啥需要设计一个调速算法呢?步进电机不是给多少脉冲就动多 ...

  2. Vrep中支持的运动规划算法

    以下为vrep支持的运动规划算法(以后遇到一种记录一种): BiTRRT  BITstar BKPIECE1 CForest EST FMT KPIECE1 LazyPRM LazyPRMstar L ...

  3. 欧拉运动放大算法实现心率检测

    由于疫情的影响,一系列的非接触设备的到应用,如无人消毒机器人.红外测温.除了体温,心率也是衡量人体状况的重要指标.心率可以通过颈动脉.桡动脉还有皮肤颜色来进行提取.2012年,Wu等人基于欧拉视频放大 ...

  4. CN和CSK运动跟踪算法

    KCF和CN的运动跟踪算法 对运动跟踪的工作有一段时间,由最开始使用OpenCv自带的CamShift跟踪算法到(Exploiting the Circulant Structure of Track ...

  5. 光学分辨率光声显微镜中基于深度学习的运动校正算法

    在这项研究中,我们提出了一种基于深度学习的方法来校正光学分辨率光声显微镜 (OR-PAM) 中的运动伪影.该方法是一种卷积神经网络,它从具有运动伪影的输入原始数据建立端到端映射,以输出校正后的图像.首 ...

  6. [运动规划算法]Fast-tracker分析

    标题:Fast-Tracker: A Robust Aerial System for Tracking Agile Target in Cluttered Environments 作者:Zhich ...

  7. 寻找第K大元素的八大算法、源码及拓展

    寻找第K大元素的八大算法.源码及拓展 http://www.cnblogs.com/bethunebtj/p/4861378.html 一.问题描述 所谓"第(前)k大数问题"指的 ...

  8. rrt算法流程图_基于RRT的运动规划算法综述

    基于 RRT 的运动规划算法综述 1. 介绍 在过去的十多年中, 机器人的运动规划问题已经收到了大量的关注, 因为机器人开始成 为现代工业和日常生活的重要组成部分. 最早的运动规划的问题只是考虑如何移 ...

  9. 数据分析学习之不得不知的八大算法详解

    学习数据分析的朋友们都知道,算法是不可或缺的,或者说算法在一定程度上可以更好的量化的一个人的学习能力和水平,本文感谢科多大数据的冯老师,由他整理了经典的八大算法,相关的资料希望能帮助大家了解. 算法一 ...

最新文章

  1. 几何深度学习(Geometric Deep Learning)技术
  2. 知乎热议:985计算机视觉研究生找不到工作?
  3. HTTP报文(待整理)
  4. GIT在测试过程中的基本使用
  5. /proc/irq和/proc/interrupts详解
  6. uni-app 实现小程序rsa加密(非对称加密原理)
  7. .iml文件_jetbrains误删maven 项目.iml文件后的处理方法
  8. Linux的用户和组
  9. 安装程序未能打开日志文件_安装和启动日志错误 | Adobe Creative Suite 6、Adobe Creative Suite 5.5、Adobe Creative Suite 5...
  10. mysql 锁_浅谈MySQL的七种锁
  11. 手机版wps怎么制作折线图_手机简历制作 | 微信怎么在线制作简历
  12. (一)软件测试的目的和定义
  13. jq插件之bxSlider
  14. 别再说不会分析多选题了!这6种方法解决你的烦恼!
  15. php cms下载地址,下载phpcms详细步骤
  16. 笔记-知识产权与标准化知识-中华人民共和国政府采购法
  17. 针对MacBook提示目前翻译不可用请稍后再试的解决方法
  18. 2021-AFCTF
  19. 计算机专业毕业有哪些出路?
  20. MySQL数据库基本语法

热门文章

  1. [跬步]说说如何自主学习
  2. 学python真好玩啊_Python真好玩:教孩子学编程最新章节_刘凤飞著_掌阅小说网
  3. 视觉惯性里程计 VIO
  4. 阿里云centos7安装mysql
  5. 云私钥MCK,云平台、公有云、服务器数据安全
  6. AST介绍和babel插件开发
  7. [COGS 2583]南极科考旅行
  8. 前端--小程序的学习(一)
  9. 陈欧体程序员版And各种版本
  10. 恶意代码机理与防护笔记