注释
在 Arduino 上按下重置将始终重置其位置。这就是它应该如何工作的,但是如果您小心的话,有很多方法可以解决这个问题。我们这样做的最大原因是位置会随着时间的推移通过热膨胀而改变,用户不小心将你的桌子撞出(非常轻微)对齐,或者用手慢跑步进器(grbl 不知道发生过这种情况)。几乎所有类似的 CNC 控制器都做类似的事情。 首先,从 v0.8a 开始,我们有运行时命令可以在软件中执行受控的馈电保持(暂停)和受控的重置/中止,而不是 Arduino 上的硬重置。这些保持位置和进给保持可以恢复以完成程序,因为 Grbl 控制减速并保证不会丢失位置。要使用它们,您需要使用可以发送这些命令字符的流式传输程序。或者您可以通过终端连接与他们一起玩。输入一些运动命令并点击“!” 用于进给保持。’~’ 用于恢复。’ctrl-x’ 将重置/中止。和 ‘?’ 会给你回复 Grbl 的立场。 其次,您可以使用归位功能(它需要一点更新,但应该可以)在硬重置时重新定位机器原点。您将需要在所有三个轴上都使用像样的可重复限位开关来准确定位原点。 希望这可以帮助。 |
您好,感谢您提供这些信息,帮助很大。 你提到了这句话: 关于归位功能,我应该向终端发出哪些命令? |
如果运行时命令未在 Wiki 中发布,我将确保它们 归位功能由 g 代码 go-home 命令启动。(我认为 我个人还没有使用这个功能,因为有很多方法 桑尼。 在 2012 年 8 月 10 日星期五下午 3:23,Arvacon notifications@github.com写道:
|
我输入了“ctrl-x”但没有任何反应,然后我也按下了键盘上的 ctrl 和 x 按钮但没有成功。 Ps:暂停-恢复(!~)命令工作正常。 |
当您同时按下 Ctrl 和 X 按钮时,您应该会看到 不确定为什么 G28/G20 不起作用。 在 2012 年 8 月 10 日星期五下午 3:48,Arvacon notifications@github.com写道:
|
你好。您对终端机的看法是正确的。我正在使用 G 代码发送程序的终端,它似乎在这些命令中没有响应,所以我使用了 putty 和 arduinoTTY,它们似乎可以工作。 让我用一个例子来解释我的另一个问题是什么。 我打开了“g-code sender”程序,并将我用 inkscape 制作的 .nc 文件发送到 grbl。 ps:我还没有在我的设置中使用任何硬件限位开关。 |
如果您没有任何限位开关,则没有理由使用 G28/30 返航功能。这是专门用于(对于我们在 Grbl 中的案例)定位真正的机器零。当您启动 Grbl 时,它会将所有内容归零并假定原点是启动位置。如果没有关于位置的一些直接反馈,Grbl 就无法确切知道它在哪里。我暂时不会使用它。 听起来 G 代码发件人是问题所在。还有一些其他的 grbl 流媒体程序也可以使用。我相信 Jens(另一位合作者)正在开发基于 Java 的软件。我相信 ShapeOko 成员正在使用另一个,但我不确定。最好查看他们的网站和论坛。 大多数情况下,这是理解 g 代码函数的作用的问题。我会下载 NIST rs274-ngc 解释器标准文档来阅读所有这些命令的工作原理。G 代码本身是一个旧标准,在不同的机器和硬件上可能略有不同。NIST 标准是我们努力严格遵循的标准。 |
非常感谢您的帮助!我不知道还有其他 gcode 发送程序。 干杯! |
嗨,祝贺这个不错的项目。
我刚刚完成了一个基于这个主题的小型 cnc 激光雕刻机http://www.instructables.com/id/Pocket-laser-engraver/?ALLSTEPS
我已经购买了一个 arduino uno r3 和 2 个 easydrivers v4.4,一切似乎都正常使用 grbl v.8a。
我通过向终端添加一些值来手动将轴与 x0y0 对齐,然后我给出命令 G92 x0 y0 将它们的位置设置为原点。我运行了一个我在 inkscape 上用 G 代码发送器制作的文件,一切运行良好,但如果我想突然停止步进器移动,我需要按下 arduino 上的重置按钮,因为我不知道任何其他方式。
当我这样做时,步进器突然停止,但是当我发出命令 x0 y0 使轴返回原点时,没有任何反应,因为原点位置是它们停止后的当前位置。
然后你需要手动将轴重新对齐到零并再次运行 inkscape 文件,否则如果你尝试按原样运行它,你最终会在两个轴的末端进行锤击。
当我按下重置按钮时,是否有我可以使用的任何命令或任何方式让 grbl 保留这些设置?