开源改变世界

键盘输入移动忽略限位开关 #527

推推 grbl 3年前 (2023-02-03) 174次浏览
关闭
12 个任务中的第 4 个
ubidefeo 打开了这个问题 2019 年 10 月 25 日 · 2 条评论
关闭
12 个任务中的第 4 个

键盘输入移动忽略限位开关#527

ubidefeo 打开了这个问题 2019 年 10 月 25 日 · 2 条评论

评论

键盘输入移动忽略限位开关 #527

描述

我使用 CNCjs 来运行我的 Shapeoko 3 XL。
当我使用键盘四处移动并且机器按下归位开关时,它会推动并导致皮带跳动。
我一直在搜索问题,但没有找到任何人发布有关它的信息。
我认为每一步都应该对开关进行测试,但似乎并非如此。
当我使用终端发送G0命令时,它也不会针对限制进行测试。
这是可以在某处设置的东西吗?

任何指针表示赞赏?

版本

  • CNCjs:1.9.x
  • 节点.js:6.x
  • NPM:5.x

你如何安装CNCjs?

  • NPM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心

硬件

  • 树莓派
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux
键盘输入移动忽略限位开关 #527

CNCjs 不直接测试限位开关;那是控制器 (GRBL) 的工作。CNCjs 不可能做到这一点,因为 CNCjs 不是一个“实时”程序,所以它不能足够快地响应以在到达限位开关时立即停止运动。

可能的问题是,在慢跑时,机器运行得太快,以至于当它按下开关时,不可能足够快地停止以避免撞到什么东西。就好像你在距离障碍物 1 米处的汽车快速行驶时猛踩刹车;你会撞到障碍物。

一种解决方案是在 GRBL 中配置“软限制”。在网上搜索“在 grbl 中设置软限制”。您还需要在每次开机时将机器归位,以便 GRBL 知道机器坐标中的实际位置。启用该功能后,如果您尝试发出超出软件限制的命令,GRBL 将拒绝执行。在这种情况下GRBL 也会进入报警状态,因此您必须手动软复位才能取消报警。报告的位置将是正确的,因为“软停止”使用受控减速,就像在汽车中轻轻制动到受控停止。

另一种解决方案是降低点动速度,使机器运行得足够慢,以便及时停止。在那种情况下,您也会进入警报状态,但情况更糟,因为碰到限位开关会导致“硬停止”——机器会立即关闭电机。在那种情况下,机器的动量会导致机器跳跃和“失步”,从而使报告的位置不可靠。

你真的应该避免撞到限位开关,除非在归位循环的特殊情况下,它会缓慢而小心地移动机器以避免出现问题。在正常操作中,限位开关是预防灾难的紧急预防措施,不适合经常使用。

这意味着,对于键盘点动,您真的应该小心地敲击按键,而不是只按住一个键然后让它一直敲下去。如果您按住一个键,它很可能会自动发送比您想要的更多的击键。在某些点动增量下,键盘发送的速度比机器移动的速度快得多。假设您将点动增量设置为 10 毫米,点动速度为 1000 毫米/分钟。每次慢跑移动需要 1/100 分钟,或 0.6 秒。键盘通常以每秒 10 个字符的速度重复,所以如果您在开始重复后按住该键 2 秒,您已经“排队”了 20 个点动命令,总共 200 毫米,但机器只移动了大约 30 毫米松开按键时,将继续移动 170 mm。

我怀疑您真正想要的是让机器在您按住键时慢跑,然后在您松开键时以受控的减速停止。近似的方法是减少点动增量,直到松开键后机器很快停止。可能很难找到一个精确的增量来实现平稳的运动(增量太小会使运动不稳定)并立即停止(增量太大会使机器在你松开后继续移动),但也许你可以找到可接受的妥协。