开源改变世界

限位开关 #348

推推 grbl 2年前 (2023-01-22) 151次浏览

关闭
ManuelRojasDev 打开了这个问题 2018 年 1 月 11 日 · 8条评论
关闭

限位开关#348

ManuelRojasDev 打开了这个问题 2018 年 1 月 11 日 · 8条评论

注释

限位开关 #348

如果它报告限位开关被击中的轴,这将很有用。

限位开关 #348
贡献者

状态报告显示限位开关状态。如果您指的是硬限制,则 AVR 引脚更改中断不包含有关触发中断的限制的信息。轮询中断内的开关是不可靠的。

限位开关 #348

好,谢谢

限位开关 #348

既然想到了,倒是可以这样做。
因为在归零过程中,MCU 能够检测到在哪个轴上达到了极限。
所以当然,我在固件中写了一段代码,告诉我哪个轴被击中了。
有没有办法可以将它添加到真正的源代码中?
作为对grbl的贡献?

限位开关 #348
贡献者

没有什么可以告诉您哪个开关触发了引脚更改中断。这是 AVR 设计所固有的。同样,轮询开关的状态是不可靠的,尤其是当开关处于主动弹跳状态时(这种情况经常发生)。

限位开关 #348

好的我明白了。但它可以使用在归位过程中使用的相同方法来完成。
您所要做的就是设置一个标志,以便在退出 ISR 时可以完成报告。一旦退出 ISR,也可以进行去抖动。
所以这是可能的。

限位开关 #348
贡献者
香奈儿 评论了 2018 年 1 月 12 日  

是的,但你不需要设置一个特殊的标志来在 ISR 退出后执行。Grbl 已经在状态报告中报告了开关状态。GUI 从这些数据中显示哪个开关处于活动状态是微不足道的。

此外,Grbl 已经有一个软件去抖动选项(使用看门狗定时器作为备用定时器),但由于内存和闪存限制,它被禁用了。此选项用于减少错误触发,而不是用于确定哪个开关触发硬限制,即使它可以以这种方式使用。

FWIW,SAMD ARM 芯片确实会告诉您哪个引脚触发了外部事件,以便可以在未来的版本中提供数据。除了错误修复之外,此 328p 中的任何内容都不会更改。没房了

限位开关 #348
贡献者

此外,归位是一个完全不同的过程,并在特殊模式下运行,以允许它通过非常快速的轮询可靠地检测到开关。正常操作必须实时处理通信、解析和计划。

限位开关 #348

好的了解了。
谢谢

喜欢 (0)