Contact me: hankecnc@gmail.com

关于操作的几个问题和一些更新。 #649

推推 grbl 3年前 (2023-01-22) 155次浏览

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

关于操作的几个问题和一些更新。#649

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

注释

关于操作的几个问题和一些更新。 #649

在我的 GUI 上工作并有几个问题。

1 – 回原点时,设置机器坐标,使可用区域全部在负空间中。我知道这是 GRBL 的设置方式,但是有没有办法强制设置坐标。

2 – 除了硬重置之外,用户是否可以重置机器坐标?

3 – 我注意到当我向 GRBL 发送 G 代码时,状态报告显示运行,RX 缓冲区已满,但是当 G 代码运行完成后它进入空闲状态时,缓冲区仍报告为已满。我没有认为这是一个问题,但注意到它并想知道这是否应该是这样。查看以下链接中的视频,了解我在说什么。您将看到 2 个窗口,一个是 GUI,另一个是我的串行监视器,显示 GRBL 响应。当状态从运行翻转到空闲时,RX 缓冲区为 120,然后它以 1 的步长增加到 127,我认为这是由于每个“?” 称呼。缓冲区保持在 127。如果我再次点击运行,缓冲区会立即清空,然后再次开始填充。这种行为正常吗?

http://youtu.be/utek4NV-TgU

关于操作的几个问题和一些更新。 #649
成员
  1. 是的。有一个名为 HOMING_FORCE_ORIGIN 之类的 config.h 选项,可将其设置为零,无论您在哪里使用归位开关。
  2. 不,我看不出这有多大用处。机器坐标在归位或硬重置时重置,因为 Grbl 不知道它在电源循环时的位置。
  3. 不确定发生了什么,但看起来你正在向 Grbl 发送字符。因为缓冲区会在程序结束后填满。串行缓冲区计算非常简单,不会出错。由于此问题从未出现过,我认为这与您的流有关。
关于操作的几个问题和一些更新。 #649
作者

是的,我相信结束后的缓冲区填充是由于发送了“?” 状态更新命令以 0.2 秒为间隔。如果你看,在程序结束时,缓冲区是 120,然后是 121、122、123、124.125、126、127。1 的增量将是?命令。我不明白的是为什么前面的120不清除。

关于操作的几个问题和一些更新。 #649
成员

@109JB:’?状态更新直接从串行流中提取。它们不会被放入串行缓冲区。所以不是那样的。

关于操作的几个问题和一些更新。 #649
作者

好的。我发现它是什么了。我运行的程序有一个程序结束的 M02 代码。当我在串行监视器中发出 M02,然后输入 ? 每次拉取状态更新时,RX 缓冲区都会增加 1。如果我随后发出“~”恢复命令,缓冲区会恢复正常,但我会从 GRBL 收到类似软重置的响应。这是正常行为吗?这是在 Arduino IDE 的串行监视器上完成的

关于操作的几个问题和一些更新。 #649

你发送的只是?或?crlf。在 GrblPanel 上我只发送一个 ?

我目前没有可用于测试的东西,也许可以用另一个 GUI 尝试相同的程序?GrblPanel 也显示了 2 个缓冲区。

关于操作的几个问题和一些更新。 #649
作者

@gerritv– 就是这样。写线与写。

关于操作的几个问题和一些更新。 #649
作者

@chamnit关于在归位期间强制机器坐标,我看到它可以在开关所在的位置强制设置为零,但是强制它到别的东西呢?例如,如果你想要像 0、7.5、0 这样的东西作为开关所在的坐标怎么办?

关于操作的几个问题和一些更新。 #649
成员

@109JB: 没有。无法将机器坐标设置为某个自定义值。您是否有一个示例说明它足够重要以进行安装?

我添加了一个待办事项以明确 Grbl 在 M2 或 M0 期间正在做什么。状态报告状态应该表明它处于“HOLD”状态或类似的状态。

关于操作的几个问题和一些更新。 #649
作者

@chamnit

让用户能够设置机器坐标可以启用软限位,而无需打开限位开关或归位,只要用户有一个密切的参考来通过眼睛设置机器。例如,仅考虑 x 轴,如果它的最大行程为 200 毫米,用户可以将 130 美元的最大行程设置为 190 毫米并将自己作为参考标记,用眼睛将轴移动到参考位置并设置机器坐标。这样软限制就可以工作这个例子 $130=190 毫米与 200 毫米的实际机器行程将在每一端提供一个 5 毫米的超限区域,以解决肉眼设置的不准确性 LinuxCNC 提供了这种能力,并且是如何我的机器设置了很长一段时间。

这就是 LinuxCNC 如何在没有开关的情况下处理软限制:
1 – 机器启动后,它通过眼睛点动到机器参考位置
2 – 用户将机器坐标归零或设置以反映该参考位置
3 – 机器现在使用它以及软限制以防止超出软限制边界的编程移动

关于上面的第二步,如果没有安装限位/原点开关,LinuxCNC 让用户触摸“Home”按钮,它会弹出一个对话框,允许用户输入机器当前所在的坐标。例如,如果用户知道一个位置在机器坐标中 X=+5 英寸,他可以在对话框中输入 5,然后 X 机器坐标设置为 5,很像 G10 L2 P1 X5 命令可以设置 G54 坐标空间。

就我个人而言,我在 LinuxCNC 中设置了我的机器,以便在 +XY 象限中拥有机器空间。我的一些程序中有 G53 移动,用于工具更换、零件更换等。我只需要更改这些程序中的那些 G53 行,但这没什么大不了的。

我认为最重要的是我上面提到的允许没有开关的软限制,并建议将其作为将来应该实施的内容。

关于操作的几个问题和一些更新。 #649

你描述的有点像G28和G30?我用它们来快速回到“近”家,而不是做一个归巢周期(当然必须在通电后回家一次)。G28/G30 信息是持久的。在 GrblPanel 上标记为 Spcl Posn 1 和 2

格里特

关于操作的几个问题和一些更新。 #649

我将此代码添加到我自己的 grbl 分支中。我有一台 XY 机器,它的起始位置是 X=0 Y=2.54″ 这样我开发的用户界面在标准图形的第二象限工作,其中所有坐标都是正的,0 是 y 上的最大扩展,2.54 是最大扩展+ 在 X 上。

关于操作的几个问题和一些更新。 #649
成员

@109JB: 也许。我会将其归类为可有可无而不是不可或缺。在我看来,机器坐标系应该对用户透明,原点在哪里并不重要。如果可能的话,我想让事情保持简单。

添加无需归位即可使用软限制的灵活性很有趣,但这也带来了没有经验的用户滥用它的问题。我认为这可能会导致比解决问题更多的问题。

关于操作的几个问题和一些更新。 #649
作者

@chamnit: 我遇到过别的东西。当拉一个

你不能在数学模式下使用“宏参数字符#”
$# 请求,探测坐标的最后响应包含末尾的 :0。请参阅随附的 pullung $ 屏幕截图

# 在 Arduino IDE 串行监视器上。这应该在那里吗?Wiki 指出 PRB 参数应该是最后一次探测的 X、Y、Z 坐标。

关于操作的几个问题和一些更新。 #649

关于操作的几个问题和一些更新。 #649
成员

@109JB: 是的,它应该在那里。我忘了用 v0.9i 推送记录下来。在 v0.9i 中,支持新的探测命令 G38.3、38.4、38.5。需要有一种方法来跟踪探测是否成功。该:0后缀是一个布尔值,指示上次探测是否成功。

关于操作的几个问题和一些更新。 #649
作者

当我在我的 GUI 上工作时,我意识到另一个原因,那就是能够设置机器坐标会很好。没有归位的工作偏移。如果用户没有归位,他将能够记下其中一个工作偏移量上的机器坐标,如果他丢失了位置,他可以使用 G54 上的已知位置来重置机器坐标。一旦设置了相对于 G54 的机器位置,G55-G59 将随之而来。不是绝对必要,但在某些情况下会有帮助。

喜欢 (0)