步进电机不同加减速曲线实现思路

2019-12-09 19:22发布

本帖最后由 doujiang 于 2019-8-3 14:03 编辑

最近项目结题了,有空余时间研究了下步进电机不同加减速曲线的实现方法。下面发出来和大家一起讨论下。
1、梯型加减速:
梯形加减速算法是步进电机控制算法中最简单的一种,常见的实现思路是等时间间隔计算v=at,t一般选择1ms,即每毫秒改变一次速度,但这种控制方法会造成速度平滑度低,特别是速度较高时,每一毫秒内可能会有很多个脉冲发出,为了提高曲线的平滑性就需要提高计算频率,但计算频率的提高会造成最低启停速度较大(启停速度无法低于计算频率),同时还会出现短尾或拖拉现象。另一种实现思路是不以时间作为计算标准而以位移(单脉冲),这种思路大家更多的是参考AVR446这篇应用手册来实现 atmel-avr446-linear-speed-control-of-stepper-motor-on-tinyavr-and-megaavr-devices.pdf (152.63 KB, 下载次数: 51) 2019-8-3 13:04 上传 点击文件名下载附件 ,这篇文章实现的运行效果是步进电机在加减速过程中每一步的速度都会改变,使电机的运行平滑性相对于前面提到的等时间间隔计算得到了较大的提高,里面的核心思路是步进电机运行每一步的位移相同,然后反推每个脉冲的运行时间,文章最终通过泰勒展开式推导出了每个脉冲运行时间的递推公式:
174353v6rdyxyy63deh1sy.jpg (127.85 KB, 下载次数: 0) 下载附件 2019-8-3 14:01 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
Feeling_MCU
1楼-- · 2019-12-10 01:02
能共享下FPGA的S曲线速度吗?  我一直没弄好,只能用单片机通过S曲线公式计算
hkjabcd
2楼-- · 2019-12-10 02:13
 精彩回答 2  元偷偷看……
doujiang
3楼-- · 2019-12-10 04:07
hkjabcd 发表于 2019-8-3 16:00
讲得不错,有过程有总结,我单片机简单的应用,一般查表,上位机S曲线公式生成数组,S曲线原始公式:y=K/(1+ ...

谢谢,查表需要占用较大存储容量,而且也会出现等时间间隔计算遇到的速度曲线平滑性差的问题。
ap0705307
4楼-- · 2019-12-10 06:06
没有高大上的FPGA 能出一个STM32案例么?
kinsno
5楼-- · 2019-12-10 10:53
doujiang 发表于 2019-8-3 16:33
谢谢,查表需要占用较大存储容量,而且也会出现等时间间隔计算遇到的速度曲线平滑性差的问题。 ...

这个画曲线软件是自自己写的吗,请问这个曲线控件用的是啥啊?

ylei12
6楼-- · 2019-12-10 11:46
进来学习一下

一周热门 更多>