开源改变世界!!

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298

推推 grbl 2年前 (2023-01-29) 137次浏览
关闭
owenduffy 打开了这个问题 2019 年 11 月 24 日 · 6条评论
关闭

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关#298

owenduffy 打开了这个问题 2019 年 11 月 24 日 · 6条评论

注释

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298

请回答以下问题。

您使用的是什么版本的固件?

aa4aa0a

问题是否可重复?

是的。

什么情况下会出现bug?

如果 ESTOP 按钮连接到 grbl_ESP32 复位引脚,如果开关是闭锁类型,系统会重复复位(大多数蘑菇 ESTOP 按钮是闭锁的,需要物理复位开关……这是机器周围的工作方式).

它需要等到 ESTOP 开关被释放……并且在不触发 WDT 的情况下执行此操作。

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298 owenduffy 添加了 漏洞 有些东西不工作标签 2019 年 11 月 24 日
grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298
所有者

急停

真正的紧急停止,用于紧急情况应该切断系统的所有电源。您不想依赖固件、步进器或主轴驱动程序,这可能是紧急情况的原因。

问题是,大多数你需要停下来的原因并不是真正的紧急情况,比如夹子松了或被割伤了。在这种情况下,您需要进行受控停止,稍后可以恢复。受控停止可使步进电机快速减速,因此不会丢失任何步数。

有两种方法可以做到这一点。它们是进料舱和安全门。

进给保持

固件中的进给保持“闩锁”。它将保持进给保持状态,直到您发送循环启动命令。这两者都可以通过任何控制界面或按钮发送。进给保持立即使电机减速。主轴保持打开状态。

安全门

安全门用于带有外壳的机器,您希望在其中防止接触正在运行的机器。如果开门。将发生进给保持,主轴将缩回并停止。要清除此状态,您必须关上门并发送恢复命令。主轴将旋转起来,返回工作并继续工作。

重置

重置命令不是为了停止机器而设计的。它旨在重置机器状态。如果您正在进行长距离移动并发送进给保持命令,机器将暂停。你现在有 2 个选择。如果要继续,请发送恢复命令。如果要结束作业,则需要使用重置命令清除剩余的作业和相关机器状态。您现在可以发送新的 gcode。

听起来您可能想要使用安全门命令,即使您不使用“门”也是如此。在有人清除该开关之前,无法清除它。

背景

我在为 Inventables 设计的 Carvey 机器上使用了安全门。我们需要它来遵守安全规定。实际上,我们聘请了 Sonny (Grbl) 将该功能添加到 Grbl。

当门打开时,那台机器还会锁定主轴电源,因此流氓固件无法在有人更换钻头时打开主轴。

自从我做了 ESP32 端口后,我就没用过它。我不记得对它进行了多少测试。它可能需要一些调整。

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298

感谢巴特的详尽回答。

首先,我不想使用不完全理解 RTOS 实现的代码进行破解,并且预计简单地阻塞 ESTOP 可能会由于未能屈服而导致其他问题。

我明白你所说的一切,并注意到我机器上的 VFD 在正常响应时非常慢,而且似乎没有 ESTOP(中文 docco)……所以在理想世界中,这是一个问题。

鉴于 ESTOP 旁边有一个电源开关,我可以将其视为操作上真正的 ESTOP,在人身伤害或机器损坏的风险中。阅读您的描述,将我的锁定 ESTOP 连接到安全门输入可能是一种简单但有效的措施。我今天会测试并报告。

谢谢。

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298

在进一步阅读 (src) 时,似乎安全门取决于归位,而且我还没有安装限位开关(我的假归位是对使用 G28xxx 的脚本使用 G28.1)。我会尝试进给保持,看看闭锁开关会发生什么……这会导致悲伤。

太阳快升起来了,所以还有几个小时。

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298

它不喜欢饲料开关闩锁。它这样做然后循环重启:

”’
[MSG:Axis count 3]
[MSG:RMT Steps]
检测到意外错误:Guru Meditation Error: Core 1 panic’ed (Cache disabled but cached memory region accessed)
Core 1 register dump:
PC : 0x400e0678 PS : 0x00060034 A0 : 0x800813b4 A1 : 0x3ffbe940
A2 : 0x00000000 A3 : 0xb0000000 A4 : 0x00060021 A5 : 0x3ffd0a40
A6 : 0x00000001 A7 : 0x3ffba610 A8 : 0x8008133d A9 : 0x00000001
A10 : 0x000002aa A11 : 0x3ffd0b90 A12 : 0x80134ddc A13 : 0x3ffd0b40
A14 : 0x00000020 A15 : 0x3ffd0ccc SAR :0x00000017 借口:0x00000007
EXCVADDR:0x00000000 LBEG:0x40001699 借出:0x400016aa LCOUNT:0xfffffffe
Core 1 was running in ISR context:
EPC1 : 0x40062235 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x400e0678
Backtrace: 0x400e0678:0x3ffbe940 0x400813b1:0x3ffbe960 0x40084de1:0x3ffbe980 0x40062232:0x3ffd0a80 0x40098b17:0x3ffd0aa0 0x40098b4e:0x3ffd0ad0 0x40098c0e:0x3ffd0b00 0x400994e1:0x3ffd0b20 0x40087dd4:0x3ffd0b40 0x40134dd9 :0x3ffd0bb0 0x4013369d:0x3ffd0bd0 0x40133aeb:0x3ffd0bf0 0x4013246d:0x3ffd0c60 0x40132f60:0x3ffd0cb0 0x4013195d:0x3ffd0d10 0x40131f81:0x3ffd0d50 0x400ee583:0x3ffd0d70 0x400e918a:0x3ffd0da0 0x400d2964:0x3ffd0e10 0x400fa0af:0x3ffd0e30 0x4008f109:0x3ffd0e50 Rebooting

”’

考虑到你的解释,我认为我把 ESTOP 带回 grbl_ESP32 是错误的,我应该在旧版控制箱内使用它来切断步进电机和 VFD 的电源。

另外,制作一个带有 hold、resume、reset 的 pendant 可能是非常值得的。

谢谢巴特……欧文。

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298
所有者

可以锁门,但不能进给保持。

话虽如此,它不应该通过长按重新启动。我会查看代码来解决这个问题。

我认为您制作真正的急停按钮的想法最适合您的情况。另外,我认为您应该考虑归位/限位开关。

恕我直言:要求 Grbl 在随机空间中运行是不公平的😃

grbl_ESP32 不处理闭锁 ESTOP 或“重置”开关 #298
所有者

关闭。这不是错误