OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3171|回复: 3

三轴情况下 ,插补中如何加入加减速算法,步进电机加减速插补

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2023-7-4
在线时间
0 小时
发表于 2023-7-4 09:33:06 | 显示全部楼层 |阅读模式
1金钱
小弟学习了电机板中的加减速和插补算法,可是发现加减速算法是单轴来说的,多轴插补的话,按脉冲计算加减速的话会出现不协同,所以想问下如何实现加减速插补。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2023-8-23
在线时间
0 小时
发表于 2024-2-19 21:22:06 | 显示全部楼层
多轴联动插补,只使用一个定时器,各轴的脉冲IO,在定时器中断里控制,按移动距离最长的哪个轴来计算加减速,求出加减速度的定时器的时间,在定时器中断里使用bresenham算法进行各轴插补输出脉冲,这种方式定时器中断会占用大里的MCU时间片,因为速度越快,即脉冲频率越高时,定时器的中断频率也就越高了,所以要求MCU有较快的运算速度,才能实际更多的轴联动插补和更高的脉冲频率
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2023-8-23
在线时间
0 小时
发表于 2024-2-19 21:30:30 | 显示全部楼层
比如说XYZ三个轴,其中一个轴的移动距离最长,就以这最长的轴求出最大恒定速度,和加速和减速时所要的步数,bresenham插补就以这条最长移动距离的轴作为参考轴进行插补,当达到插补条件的哪个轴要输出脉冲,就控制IO输出电平,定时器可以按求得的速度对应的时间的一半,作为半个周期的时间长度,其中半个周期进行插补运算,要输出脉冲的轴IO就输出高电平,进入下半周期时就把所有IO恢复电平回来,定时器的定时时间就按速度的变化在每一个中断里改变,如果在停止电机时,就设定一个较慢的定时频率让定时器一直都会进入中断
回复

使用道具 举报

3

主题

88

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
447
金钱
447
注册时间
2014-3-7
在线时间
49 小时
发表于 2024-2-29 08:28:12 | 显示全部楼层
我觉得尽量控制在启动频率内去插补,这样就不需要控制速度曲线,直接插补就行了。只要你控制了速度曲线,那这个插补就会变成弧形。
STM32?步进电机开发板
http://yonyon.taobao.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表