开源改变世界

M30 #883

推推 grbl 3年前 (2023-01-23) 285次浏览

关闭
entolium 打开了这个问题 2020 年 6 月 27 日 · 9条评论
关闭

M30#883

entolium 打开了这个问题 2020 年 6 月 27 日 · 9条评论

注释

M30 #883

你好!

我将此程序发送到我的 GRBL 1.1:

G91
G01 X150 F300
M30

然后,GRBL 几秒钟后停止向我发送状态报告并发出警报:3(运动时重置)。
警报升起后,X 位置小于 150(117.6)。

我认为 GRBL 在收到时执行 M30 代码,但应该等待完成上一个命令(G01 X150 …)

谢谢你,对不起我的英语……

M30 #883

我想你还有其他事情要发生。
当您不发送 M30 时会发生什么?

M30 #883
作者

没有 M30,命令在没有 prlobem 的情况下执行

M30 #883

什么寄件人?

M30 #883
作者

DIY
在此代码示例中,UGS 完成程序(读取详细输出)但不发送最后一个块 (M30)。
可能是因为他们发现了与 M30 相同的问题并手动完成了程序。

M30 #883
尼尔费雷里 评论了 2020 年 6 月 27 日  

M30 不会“打断”您的运动。Grbl 不会继续发送下一个命令,同时仍然发送步进信号。您移动的距离是否与控制器报告的相同?在你的 M30 之后发送一个?…它报告什么位置?

您可以模拟仅将命令输入 Arduino 串行监视器或 PuTTY 或类似工具。M30 将等待运动完成。

最好的猜测……你的中止针上有噪音吗?
也许你的步骤设置太高了?你的 100 美元和 101 美元价值是多少?

M30 #883
作者

我可以毫无问题地发送数千个块,并且 grbl 运行完美。
我连续阅读状态报告并发送空闲块数(读取缓冲区空闲块)。

但是,如果我发送 M30 代码,grbl 会立即停止响应“?” 命令,几秒钟后发出警报 3 并停止运动。这就是问题所在,我找不到解释。

例如:
起始位置:[X0 Y0 Z0]
G01 X50 F500
G01 Y50
M30
Alarm3 结束位置:[X38.125 Y0 Z0]

我正在使用通过 USB 连接到我的笔记本电脑(不在我的 CNC 中)的 Arduino Mega 进行测试,我认为这不是噪音问题。
100 美元=40.0
美元 101美元=40.0 美元

我在想问题是否出在 GRBL 的 Mega 版本上。我会尝试使用 Arduino UNO。

M30 #883
作者

我用 Arduino UNO (GRBL 1.1e) 测试过同样的问题

M30 #883

试试最新的版本。我无法复制您在 1.1f 或 1.1h 上看到的内容。

M30 #883
作者

你好!

我发现了问题。

当您发送“M30”时,grbl 不会以“ok”响应,我的程序会引发超时错误并发送重置。我更改了我的代码,现在运行正常。

Grbl 应该对“M30”代码响应“ok”以保持连贯的行为。

非常感谢您的帮助和耐心。

喜欢 (0)