开源改变世界

自动调平问题 #163

推推 grbl 3年前 (2023-01-31) 168次浏览
关闭
atrueresistance 打开了这个问题 2015 年 11 月 29 日 · 18条评论
关闭

自动调平问题#163

atrueresistance 打开了这个问题 2015 年 11 月 29 日 · 18条评论

注释

自动调平问题 #163

你好,我刚刚在我的 SO3 上安装了限位开关。我能够很好地完成工具更改。尝试自动调平时出现此错误。我不确定您是否需要这些文件…猜测是用户错误
自动调平问题 #163

状态:错误:无效的 gcode ID:24
最后一个错误:g43.1z-6
在块中检测到两个都需要使用 XYZ 轴字的 G 代码命令。

这是终端的输出

 G90
 ok
 G0Z5
 G0X24.668Y9.673
 G38.2Z-10.0000F10G0Z5
 G0X65.013Y9.673
 G38.2Z-10.0000F10G0Z5
 ok
 G0X105.358Y9.673
 ok
 G38.2Z-10.0000F10G0Z5
 G0X145.703Y9.673
 error: Invalid gcode ID:24
 ok
 error: Invalid gcode ID:24
 ok
 error: Invalid gcode ID:24
自动调平问题 #163
所有者

你好@atrueresistance如果您单击红色的“状态:”,它会告诉您是哪一行导致了问题以及对它的解释他 ID:24

自动调平问题 #163
所有者

@atrueresistance当我添加接受 unicode 文件名时,我引入了一个错误。gcode 中的 unicode 字符串被忽略并与下一个字符串连接。因此,这两个命令是在一起的。现在已更正。

自动调平问题 #163

谢谢!我可以确认自动调平工作。你能详细介绍工具更换选项吗?我已经设置了一个换刀区和一个探测区。我选择了前后暂停的设置。当我点击宏时,机器会移动到那些区域,但实际上并没有暂停。

目前,如果我加载一个项目,不要自动调平,然后点击开始。机器会移动到起始区,移动到探测,探测,然后直接进入切割而不会暂停。对我来说这不是很安全,因为我必须在移动时取下鳄鱼夹并打开路由器。第一次这让我措手不及,因为我没想到它会继续下去。

Autoleveled,机器将直接进行切割。

自动调平问题 #163

在自动级别后遇到 m6 命令时,grbl 也会抛出错误。在 Probe -> Tool 下,我将策略设置为 Manual Tool Change (TLO) 并在之前/之后暂停。所以看起来 bCNC 仍在发送 m6 命令而不是用宏处理它。

自动调平问题 #163

@vlachoudis: M6 不是 Grbl 支持的 g 代码。所以它会抛出一个错误。不幸的是,bCNC 需要将其从流中删除。我不太确定如何以其他方式做到这一点,至少在 Grbl 本身内不会搞砸事情。

自动调平问题 #163

如果您指定手动换刀,我认为 bCNC 在发送之前会拦截 M6。即运行宏。如果今天master有什么变化我就没有下载。我使用的版本是两天前的,就在 Unicode 修复之后。

自动调平问题 #163
所有者

如果您选择“手动换刀”,它应该用适当的顺序替换 m6。如果不在那里,那么那里有东西坏了。我会设法找到它。

自动调平问题 #163
所有者

@atrueresistance我已经在我的机器上进行了一些测试并进行了全新安装,但没有发现任何问题。你能把你的 .bCNC 文件发给我看看是不是某些特定的设置导致了这个问题。

自动调平问题 #163

我可以。下班的时候我可以上传。

自动调平问题 #163
所有者

你发给我的是默认的 bCNC.ini 而不是你喜欢的 .bCNC。

自动调平问题 #163

自动调平问题 #163

否则我不确定要上传什么文件

自动调平问题 #163
贡献者

你好@atrueresistance我没有 Windows 的英文副本,但到达那里的快速方法是使用 Windows 键 + R 弹出命令窗口,
然后编写此命令 %UserProfile% 并按回车键。
它将显示一个文件夹,您可以在其中找到 .bCNC 文件

自动调平问题 #163

或者如果你想使用资源管理器应该在
C:\Users\YourUser\

自动调平问题 #163

我确实修复了 grbl 的“不暂停”问题。

在 bCNC 文件夹中,使用文本编辑器打开 CNC.py 文件。
转到第 1400 行并更改:

if CNC.comment:
lines.append(“%%pause Tool change T%02d (%s)”%(self.tool,CNC.comment))
else:
lines.append(“%%pause Tool change T%02d” %(self.tool))

对此:

如果 CNC.comment:
lines.append(“m0”)
else:
lines.append(“m0”)

现在暂停正在工作。要“恢复”,请右键单击信息栏(运行、空闲、错误、警报),然后单击“恢复”。

为了避免在 M6 命令上出现错误,确实正在发送,我在 grbl 固件中添加了 3 行代码。

在 grbl 文件夹中,打开文件 gcode.c 并转到第 296 行。在“break;”行之后,添加以下内容:

案例 6:
protocol_buffer_synchronize();//在继续之前同步并完成所有剩余的缓冲运动。
gc_block.modal.program_flow = PROGRAM_FLOW_PAUSED; 休息; // 程序暂停(不确定是否需要这一行!!先试试)

保存并将其上传到您的arduino。

自动调平问题 #163
所有者

您能否尝试更改 Sender.py 行 633 并替换“!”而不是发送 CNC.py 用“m0\n”

自动调平问题 #163

的确!这也有效。虽然没有注意到任何差异,但我确信这比我所做的更好。
我还发现 grbl 固件可以不加改变地使用。无需添加任何代码行。

自动调平问题 #163
所有者

这样它还会显示一条关于更改工具状态的消息,否则它只会提到暂停。

自动调平问题 #163

我懂了。我不确定它是否有效。至少在暂停时不会显示消息。虽然它可能已经闪过……