ZRYBLOG 发表于 2021-5-21 14:57:35

难题求助,103VB控制8路步进电机工作,需要分开加减速.

本帖最后由 ZRYBLOG 于 2021-5-21 14:59 编辑

遇到了难题
F103VB控制8路步进电机.
这八路步进电机运动需要精确脉冲数,并且各自分开加减速.
但是如果相邻两个步进电机通向一起运转时,需要发出的脉冲是同步的.并且抖动不能明显.
运行速度在5~220转/分钟


目前我的实现思路是,用一个定时器固定40khz中断频率,电机2细分,然后每个电机都有一个变量来记录分频值.
比如分频值是1则每次进入中断都会反转一次,2则进入两次中断后会反转一次IO.用这个分频值来实现电机的脉冲变频.
但是这个方法有一个问题,在超过90转以后,每减小一个分频值的速度变化都过大了.

速度的变化过大,导致呈现出来的抖动十分明显.

具体的曲线如下,因为那个分频值只能是整数,所以出来的转速无法和曲线里面是连续的,而是速度越快,差距越大的一个个点



想要改善这个问题,需要降低细分然后再进一步提高定时器中断频率,但是除了控制电机外还有频繁的按键,光眼传感器和串口通讯.    进一步降低到无细分导致抖动更加明显,而进一步提高定时器频率导致按键和传感器响应都变慢了.
现在卡在了这个地方.

不知道论坛里的大神每还有没有其他更好的方法.

flash3g 发表于 2021-5-21 15:15:36

用查表法            

tongdayusu 发表于 2021-5-21 15:26:22

话说这个转速的确是步进电机容易抖动的区间。得根据惯量,驱动器,电机的实际情况调整加减速的参数。当然了,驱动器足够牛的话,抖动的情况会轻一些。

落叶知秋 发表于 2021-5-21 16:16:12

做过一个基于grbl发脉冲机制的方案,可以翻一下我发的主题帖子看看合不合适

ZRYBLOG 发表于 2021-5-21 16:41:22

落叶知秋 发表于 2021-5-21 16:16
做过一个基于grbl发脉冲机制的方案,可以翻一下我发的主题帖子看看合不合适 ...

思路不错两个定时器分开降低运算量.....可是对我这个应用场景来说,转速可能有些慢了

三年模拟 发表于 2021-5-21 19:53:15

加个fpga搞定

ZRYBLOG 发表于 2021-5-22 08:32:49

三年模拟 发表于 2021-5-21 19:53
加个fpga搞定

唉 我也想,可是硬件方案都订好了.没啥可能改了

colinzhao 发表于 2021-5-22 14:53:16

可以看完发的帖子,can分布运控单元,里边有近似S曲线加减速源码

ZRYBLOG 发表于 2021-5-24 10:54:08

colinzhao 发表于 2021-5-22 14:53
可以看完发的帖子,can分布运控单元,里边有近似S曲线加减速源码

好的大佬 谢谢大佬
页: [1]
查看完整版本: 难题求助,103VB控制8路步进电机工作,需要分开加减速.