开源改变世界!!

GRBL 忽略“中止/重置”引脚状态 #763

推推 grbl 2年前 (2023-01-23) 113次浏览

打开
bajticzek 打开了这个问题 2019 年 11 月 27 日 · 7条评论
打开

GRBL 忽略“中止/重置”引脚状态#763

bajticzek 打开了这个问题 2019 年 11 月 27 日 · 7条评论

注释

GRBL 忽略“中止/重置”引脚状态 #763

你好,我已经将中止开关物理连接到 Arduino 的引脚 A0。在电气上它工作正常(没有弹跳),所有必要的电阻器和盖子都正确接线。GRBL 正确记录了开关的关闭。在任何状态下(慢跑、归位、循环)它都会立即停止并重置。没关系。但在重置后它不关心引脚的状态。我正在使用锁定关闭位置的工业急停开关。所以它在操作开关后保持关闭状态。在释放开关之前,GRBL 应该不能做任何事情,对吧?或者这个(逻辑)行为没有实现?机器可以毫无问题地返回并接收 G 代码,并且在按下并再次按下之前它不关心开关。我错过了什么吗?

GRBL 忽略“中止/重置”引脚状态 #763

@bajticzek 不,你没有遗漏什么,它没有实现(IMO 以合乎逻辑的方式)。

GRBL 忽略“中止/重置”引脚状态 #763

不知道……如果紧急停止被激活,你根本就不能移动机器。它甚至不应该与外界交流。但我猜中止输入实际上只是为了机器的硬重置,没有别的。那我就自己实现这个功能吧。

GRBL 忽略“中止/重置”引脚状态 #763
危机 评论了 2019 年 11 月 28 日 通过电子邮件
GRBL 忽略“中止/重置”引脚状态 #763

我的机器是这样接线的:主电路上有三个继电器。其中一个将 230V 切换到所有电源,另一个是自动保持继电器,第三个与自动保持继电器串联,并通过软件关闭整个机器。实际上,将主电源线插入墙上插座后,机器什么都不做。任何地方都没有通电。按下瞬时摇臂开关后,自动保持继电器激活,主电源继电器激活,机器“启动”。我可以通过软件激活第三个继电器,这会破坏自动保持功能并在 linux 机器断电后优雅地关闭机器。如果发生断电,机器将不正常地关闭并且不会再次启动,直到您再次按下该翘板开关。我的急停按钮配置为两个并联的 NO 开关(我最多可以选择三个开关并选择我想要 NO 还是 NC)。我知道 NO 不是可行的方法,在阅读了一些 wiki 之后,我将反转 grbl Arduino 上的引脚功能,并改为使用两个串联的 NC 开关。但是当 grbl 软件中有一个专用的“中止引脚”输入时,我仍然有一种感觉,如果在 grbl 引导期间该输入保持在活动状态,机器不应该做任何事情。如果不是这样,我将修改源代码以满足我的需要。我已经使用 Arduino 上未使用的引脚来输出 GRBL 的当前状态 – 如果它不处于空闲状态,我无法控制气动工件夹紧,它处于先前状态并且在机器返回空闲状态之前你无法对其进行任何操作.

GRBL 忽略“中止/重置”引脚状态 #763

@bajticzek对于我的 32 位端口,我修改了主协议循环以在 IMO 中以更好的方式处理这个问题。也许您可以从中得到一些线索——从protocol.c中的第 73 行开始。还有一些其他可配置选项,例如,如果任何限位开关被激活或归位未成功完成,则阻止操作。

GRBL 忽略“中止/重置”引脚状态 #763

只是一个技巧:
使用安全门功能作为紧急停止怎么样?这个人会一直握住机器,直到您松开急停按钮。但不会重置控制器,您决定什么对您方便。

GRBL 忽略“中止/重置”引脚状态 #763

对于 estop,我建议连接到 328p 的复位引脚。这保证了微控制器已经死了。但是请注意,您不能更新 328p 的固件,并按照认证要求连接 estop(即 NC 上的低阻抗逻辑高电平、NO 上的低阻抗接地以及连接到公共端的复位)。如果您不关心 UL/CE 合规性,您可以让 NC 线悬空(并让板载上拉保持复位高电平)。如果您确实需要 UL/CE,则需要添加一个与复位连接串联的二极管。

喜欢 (0)