注释
通常不稳定/随机行为是由于硬件问题很可能是线路中的噪音。 bCNC 默认行为是停止任何代码提交,只要从 grbl 返回错误消息。用户唯一的自由是选择一些要跳过的 g 代码,根本不发送到 grbl。此外,当状态中出现错误时,您可以单击状态按钮来告诉您哪个代码失败以及错误代码的简短说明。同样在终端中,它显示有问题的行。 我相信 WPOS 正在发生变化这一事实似乎表明沟通中出现了问题。bCNC 只是报告一个’?’ 的输出 在 MPos,WPos 最后我强烈建议升级到最新的 Grbl 1.1 |
谢谢你这么快回我。由于我似乎没有充分描述我的情况,所以我制作了一个视频来说明发生了什么。 我已经按照你的建议将 Grbl 升级到 1.1f,没有任何改变。该视频包含设置,但为简单起见,我将它们包含在此处。 $0=6 (step pulse, usec) 我不记得记录 WPOS 问题,所以我现在就说这不是问题。 让我知道是否还有什么我可以帮助你的。 埃里克·英格梅尔斯 |
这通常是错误应该完全停止后的错误。你能把gcode发给我检查一下吗? 错误 33 表示圆弧 g2 g3 的终点与提供的半径/中心不匹配。 |
我有很多这个文件的副本,所以我不确定它是否就是我在视频中展示的那个,但它应该会给你我看到的错误。我在昨天之前生成的所有文件都给我错误,所以这对我来说是一个安全的赌注。 就在昨天,我为我的 CAM 软件找到了一个新的配置设置文件,它似乎对我有用。我在生成的新 GCode 中不再看到这些问题,但我仍然愿意帮助您进行测试等。 我有另一个模型使用相同的错误设置,我们可以用它来进行第二轮测试。我不在这里包括它,因为我想在我可以先记录一些测试并在 YouTube 上之前将其保密。希望我能尽快完成,现在。 埃里克·英格梅尔斯 |
顺便说一句,我在 G91.1 和 G90.1 之间切换,所以尝试两者看看发生了什么。由于 grbl 只使用 G91.1,我想我试图强制它工作,但它可能只能使用 G90.1 正确渲染,我认为这是导致错误的原因。 埃里克·英格梅尔斯 |
我想我发现了问题。这是两件事
|
我会在星期一尝试一下。因为我知道我的机器工作正常,现在我有一个可靠的方法来制作好的 gcode,我正在测试我自己的并做项目。 我也刚刚折断了我的主轴速度控制上的一个销钉,我需要在我的终点挡块上添加更多的噪声过滤。希望今晚我能解决这些问题,然后完成我在 CNC 上所做的工作。 所以是的,可能是星期一。抱歉耽搁了。 埃里克·英格梅尔斯 |
作为 Linux 新手,我在运行最新版本时遇到了麻烦,但我最终做到了。 我运行了一个已知的错误和一个已知的良好 gcode 文件,结果很好。 已知的错误文件停止在错误的 gcode 上。当错误发生时,我能够从左上角的状态按钮获得人类可读的错误信息。 在我手动停止之前,已知的好文件运行了 1 分钟。如果由于错误的 gcode 而无法运行,它通常会在 5 秒内失败。 在运行已知的坏文件后,WPos 按钮在已知的好文件周围创建了一个意外的边距,但在单击“新建”并重新加载已知的好文件后,边距消失了。我不知道我是否可以重现这个。 总而言之,我认为原始/主要问题已解决。我只用 1 个好文件和 1 个坏文件对其进行了一次测试,因此您可能需要进行更多测试。我知道我的错误文件每次都会导致报告的问题,所以它一次都没有发生的事实对我来说已经足够了。下周我可能有更多时间为您做更多测试,但无论如何,我认为这已解决。 我必须回去为这个周末的演出做准备,否则我会做更多的测试。 这解决了我已经困扰 6 个月的问题,阻止我继续使用我的数控机床,所以非常非常感谢!我希望我能弄清楚之前发生的事情,这样我就可以在一月份向你报告。 再次感谢您,感谢您这么快就解决了这个问题! Eric Ingamells |
完美,那我关闭issue,如果你发现其他问题,请新开一个 |
我在 RPi 1b 上使用 bCNC 0.9.9,发送到 Arduino Uno R3 上的 Grbl 0.9j。
如果我尝试我知道在另一台机器上工作的 GCode(Mach something-I-think on LinuxCNC)并且该文件使用 Grbl 不支持的 gcode 命令,bCNC 似乎会在 gcode 文件中选择一个随机点以跳到并开始或从那里重新开始。有点。由于未设置进给/速度,它有问题,所以它又吓坏了。
因此出现的另一个问题是停止按钮不会停止向 Arduino 发送 gcode。我可以按我想要的多次停止,它可能会停止 1/2 秒,然后再继续。我必须点击暂停按钮,然后重置。 这是一个不安全的故障状态。 如果我在测试我最近制造的机器时没有切断空气,那将是灾难性的。
bCNC 需要一种优雅的失败方式。此外,如果它会告诉用户他们的 gcode 与它被发送到的 GCode 解析器不兼容,那就太好了。它甚至不需要建议如何修复它,只需指出线路故障就可以了。“随机重新/开始位置”让人无法知道发生了什么。直到我尝试了一个有效的 gcode 文件,我才 100% 确定地发现了这一点。
我不知道停止按钮是否与 gcode 故障处理直接相关,但这是我唯一一次看到它发生。由于我可以通过 gcode 故障模式问题可靠地重新创建停止按钮问题,而且我还没有使用有效的 gcode 文件得到它,所以我将它添加到这个问题中。
似乎也相关:在 gcode 失败后,尝试设置工作位置(WPOS 按钮)将位置错误地设置为感觉呈指数级错误的位置。当尝试少量定位工作位置时,实际位置每次都会发生更大的错误,导致几次尝试后工件甚至不在虚拟床上。
如果您需要将这些拆分为 3 个单独的问题,请继续。作为一名程序员,我有时喜欢看到这样的进展,这样我就可以按适当的顺序修复问题。我发现解决一个问题很烦人,却发现它几乎不可能追踪另一个问题。
作为一名使用 C# for web、Java for Android 和 C/C++ for Arduino 的程序员,如果有什么我可以为您检查的,或者您是否需要我尝试一些解决方法,请告诉我。
谢谢!
埃里克·英格梅尔斯