节点偏差算法简介

节点偏差算法简介

岚叶 2019-07-31 00:57:36  87  已收藏

分类专栏: 单片机 编程语言

简介:
打印机控制器使用运动控制程序来规划每个步骤的时间。基于GRBL的运动控制器使用称为转弯结偏差的转弯算法,我将在此重点介绍。(其他固件使用一种叫做Jerk的不同算法,可能会有不同的实现 - 我不是在这里讨论Jerk。) 
我一直在研究结点偏差,这是我对压力补偿研究的一部分。 

通俗地说:
- 交叉点偏差确定控制器的运动规划器看到即将到来的角落有多紧。
- 加速度控制断裂和油门踏板的应用程度。
- 结点偏差越小,转弯速度越慢。
- 别担心,“结点偏差”这个术语并不意味着打印机会偏离它的过程!

我希望能够将交叉点偏差和加速度对转弯速度和分段时间的影响可视化。所以我从Smoothieware中提取并“运用”了Junction Deviation计算,并创建了一个供我使用的可视化器,这些截图就是结果。

计算的最关键输入是加速度,和Junction Deviation,其中Junction Deviation是0到1之间的数字(超过0.5的数字是荒谬的)。我不会在这里详细讨论等式,我专注于效果。 

顶部曲线显示了不同接合角的转弯速度,最大打印速度为40 mm / s,给定右侧输入。90度接合角仅仅是两个部分之间的90度角。红线显示目标角度与行进速度相交的位置 - 给出给定角度的转弯速度。

中间的图表显示了最高150 mm / s行驶速度的转弯速度。 
如果加速度相同,则打印和行程图相同(最大打印速度)。

打印90度角时:如果结点偏差为0.100和1000 mm / sec加速度,效应器将减速至约15mm / s。增加结点偏差或加速度将使该线向上移动,并且机器将更快地转弯。
 

节点偏差算法简介_第1张图片

Junction_Deviation_Visualized_.10.jpg



底部图表显示了以下模拟:
- 两个印刷段之间有90度角,
- 然后是两个行程段,它们之间有90度角。

这些段对中的每一对都显示出中心下降到15mm / s - 这是目标90度角的转弯速度。 

详细说明每对节段的运动:从0加速到要求的速度,速度平坦到角点/交叉点之前,减速到段之间的结点速度,加速回到下一段所需的速度,速度是在段结束前平坦,减速到0。

如果没有使用Junction Deviation:打印机只会试图全速撞击拐角处,这会导致许多问题(失步,极端振动等)。如果我可以关闭结点偏差,那么每对线段的图不会在中心倾斜。

Junction Deviation还有另一个参数:Smoothieware中的“ Minimum Planner Speed ”。

对于我的屏幕,我将其标记为“最小结速”,因为我认为更好地描述了它。 
注意在前两个图的开头有一个膝盖,它以0的速度开始,然后在大约18度处突然跳起。这是JD计算的硬编码“特征”,因为它实现了 - 低于约18度的任何角度基本上被认为是0度,并且使用“最小计划速度”。
如果您想要更快地打印非常尖锐的角落,那么您可以从默认的0 mm / s增加“最小计划速度”。 

另请注意,在大约162度时,全速急剧上升。这也是JD的实施方式 - 几乎超过(180减去18度)的海峡角度被视为海峡。

为了比较,下面显示了如果结点偏差增加到0.300会发生什么。90度的转弯速度从大约15mm / s增加到大约27mm / s。这可能足以引起振铃 - 取决于打印机。 
 

节点偏差算法简介_第2张图片

Junction_Deviation_Visualized.30.JPG



请注意,如果您只是将加速度从1000毫米/秒/秒更改为3000毫米/秒/秒,这将等于达到的速度(尽管加速斜率会更加锐利!)。

我还将“最小计划速度”增加到5毫米/秒 - 注意前两个图的开始不是从0开始。这个数量只会影响18度以下的角度,但是如果你将最小规划速度提高到10将30度角到10毫米/秒的角加速。我不一定推荐它 - 只有测试才能说明这会对你的打印机产生什么影响!

您可以在Smoothie Config文件中更改结点偏差和最小计划器速度(最小结点速度),或使用M205命令。其他固件将使用不同的设置 - 您需要自己进行研究。

您可以使用类似这样的模型测试结点偏差和加速度。

你可能感兴趣的:(节点偏差算法简介)