开源改变世界

归位周期的功能建议(检测丢失的步骤) #814

推推 grbl 2年前 (2023-01-23) 126次浏览

打开
109JB 开了这个issue 2015 年 10 月 11 日 · 5 条评论
打开

归位周期的功能建议(检测丢失的步骤)#814

109JB 开了这个issue 2015 年 10 月 11 日 · 5 条评论

注释

归位周期的功能建议(检测丢失的步骤) #814

我认为对 grbl 有用的一个功能是“丢失的步骤”报告功能。通常,基于步进器的系统是开环的,控制器不知道步数是否丢失。虽然无法在运行时检测丢失的步骤,但可以在归位序列期间检测到。至少对于开关的可重复性而言。这是我设想的工作方式。

  1. GRBL 控制的机器位于开关处
  2. 如果再次归位,GRBL 可以在重置机器归位之前报告机器位置与上一个归位周期的差异。

位置差异本质上就是丢失的位置。用户必须根据其开关设置的可重复性来解释这一点。

不确定这是否可行,因为我不知道归位功能的实际工作原理,但它会很有用,尤其是在设置和故障排除方面。

归位周期的功能建议(检测丢失的步骤) #814

我认为这会很棒,并且肯定不会太难实施甚至增加大小(那么多)。也许作为调试期间的编译时选项。了解您是在每份工作中都丢失一步还是只是偶尔丢失一步会很有趣。
我会想象这样的事情:GoHome,If LimitHit Then CurrentPos-OldHome = LostSteps。
另一种选择是将它放在 GUI 中而不是 grbl 中。

归位周期的功能建议(检测丢失的步骤) #814
作者

让 GUI 执行此操作的问题是,GUI 必须移动才能触发开关。如果启用了软限制,则 grbl 将不允许这样做。此外,即使未启用软限制,每个轴归位序列也会快速接近 – 行程开关 – 后退 – 接近较慢 – 行程开关 – 重置机器位置。这对每个轴重复。即每轴 2 次行程,总共 6 次行程,因此 GRBL 将进入警报模式并需要重置的 6 倍。

归位周期的功能建议(检测丢失的步骤) #814
成员

@109JB: Grbl 的归位例程与这个想法不兼容。在归位期间,Grbl 不跟踪位置,因为它假定它是未定义的。在检测到极限时,它也不会为平稳减速而烦恼。做这样的事情需要对例程进行彻底的修改,使其表现得更像探测循环例程(这是可能的)。

在这一点上,我对再次大修归巢并尝试将其与其他所有内容一起塞入 v1.0 不感兴趣。但是,我会将其添加到下一个项目的开发列表中。即便如此,我不确定这有多大用处,除了在设置机器的情况下。一旦设置完成,它很可能只会偶尔用于帮助解决工作中的问题。

也就是说,完全有可能通过探测或使用单独的测量工具(如千分表)来完成同样的事情。将归位开关暂时连接到探针,禁用硬/软限制,并探测限位针。报告的位置将告诉您相对于归巢位置的位置。使用千分表,只需将其固定在机器的某个位置,告诉 Grbl 移动到它,然后将其归零。在工作期间或之后,回到相同的位置。如果百分表不为零,则机器丢步。

归位周期的功能建议(检测丢失的步骤) #814
作者

@chamnit
感谢您解释归巢的工作原理。我不确定它是否试图在归巢周期中跟踪位置。我希望它能做到。如果是这样,它可能会很容易实现,但我想它不会。太糟糕了。

使用千分表或探针可以很好地进行设置,但在进行故障排除时,当您怀疑丢失步骤时,除非您事先设置好千分表,否则您将无法发现。由于限位开关一直都在那里,因此当您怀疑丢失步骤时,这将成为一种简单的检查方法。

话虽如此,如果需要大量工作,我认为不值得,所以我将进一步考虑 GUI 实现,这会带来一些关于软限制的问题。

  1. 启用软限制后,假设拉开 1mm,grbl 是否只允许命令到达拉开位置,还是让它完全移动到开关?
  2. 如果Testing this issue feature 和一个问题 #1的答案是它只能到达 pull-off 位置,那么 pull-off 位置是否可以设置为 0?
  3. 最后,如果禁用软限制,是否可以使用归位?我想答案是肯定的

我现在正在出差的路上,而不是靠近我的机器来尝试。

谢谢。

归位周期的功能建议(检测丢失的步骤) #814
成员

@109JB:如果在 config.h 中启用 HOMING_FORCE_ORIGIN,Grbl 会将牵引位置设置为零(而不是强制负机器空间)。否则,它将限制触发点设置为零。并且可以在没有软限制的情况下使用归位,反之亦然。

喜欢 (0)