2020-01-04 18:59发布
iqxt88 发表于 2019-7-2 19:41 s加速分成头/中/尾3部 , 加速》巡航》减速。 然后3部各分成多个段,每个段时间是固定的然后每个段产生DDA ...
liurangzhou 发表于 2019-7-2 19:27 高手来了,步进电机在高速的时候如果脉冲不平滑,很容易卡死堵转,tinyg中的DDA定时器是个固定时基,不知 ...
最多设置5个标签!
发现楼主喜欢纠结“平滑脉冲”
看它的DDA定时器是固定时基,怎么实现不同周期脉冲输出?
TinyG也是DDA的方法,固定时基只不过是固定了最大的脉冲输出频率
如果那个轴的脉冲需要变更输出频率,重新计算那个轴的substep_increment值就好了
具体可以看dda_timer和_load_move里面的处理
就是每次进dda_timer溢出中断后,每个运动轴的accumulator(步数累加器)就会增加固定值,
然后如果符合DDA方法条件就会置位脉冲脚,否则根据每个轴的substep_increment来累加accumulator
每轴的substep_increment是在加减速的时候进行计算的,根据DDA方法计算参考轴和其他轴的行程步数
至于楼主关心的“平滑脉冲”问题是存在的,最多偏差了一个固定时基的时间吧,看默认设置是大概20us
比如TinyG的轴最大能输出50KHz的脉冲频率,但实际运行时要输出49KHz的频率,那么如果对比这两串脉冲,
可能会看到49KHz的那串脉冲大部分跟50KHz是一样的,但在某一个地方的脉冲会比50KHz的多输出了一个20us的高电平
这个时间估计对步进电机影响是很微小的
一周热门 更多>