Contact me: hankecnc@gmail.com

在没有归位周期的软限位后恢复 #556

推推 grbl 3年前 (2023-01-22) 209次浏览

关闭
matthijskooijman 打开了这个问题 2014 年 12 月 10 日 · 13条评论
关闭

在没有归位周期的软限位后恢复#556

matthijskooijman 打开了这个问题 2014 年 12 月 10 日 · 13条评论

注释

在没有归位周期的软限位后恢复 #556
  • 使用软限制时,必须在启动后执行归位循环。
  • 当触发软限制时,需要软复位才能继续。
  • 软复位后,再次需要归位运行,即使机器位置没有丢失。

我意识到您可以$X在软重置后执行 a 解锁 grbl,但该命令实际上被标记为不安全且通常不应使用。

有没有其他方法可以更优雅地处理软限制?如果没有,是否应该添加一个?

我主要是在手动慢跑时遇到这个问题,我希望软限制可以防止我慢跑太远,但随后会继续响应后续的慢跑命令。当播放完整的 gcode 文件时,我想这是不同的——当上一个命令最终超过软限制时,它不应该继续执行下一个命令。

在没有归位周期的软限位后恢复 #556
成员

@matthijskooijman:

  • 上电时应强制执行归位。否则软限制不起作用。
  • 软限制被归类为警报,因此它必须停止机器并防止执行任何操作。这使用户有时间确认问题并停止流式传输。重置会清除所有内部缓冲区中的所有内容。这是必需的行为。
  • 软复位后,不需要归位。真的。这就是 $X 的目的。我想这构成了两个级别的承认,但我认为这不是什么大问题。就像你说的,它只是不优雅。在某些时候,我认为我们可以为此更改软重置行为,但 GUI 也可以在重置后轻松发送 $X。

我明白你为什么要改变这个,但我认为你要求的是一个更好的慢跑界面。这是为 v1.0 开发而定的,在那里会有更好的设置行为来处理这样的事情。

在没有归位周期的软限位后恢复 #556

我明白你为什么要改变这个,但我认为你要求的是一个更好的慢跑界面。这是为 v1.0 开发而定的,在那里会有更好的设置行为来处理这样的事情。

是的,可能。我不太确定我在问什么,我主要是遇到了一些事情并想分享我的经验:-)

改进的慢跑听起来确实有帮助,谢谢。

在没有归位周期的软限位后恢复 #556
成员

@cri-s:如果命令的运动超过机器行程限制,Grbl 会检查所有运动命令,但归位除外。这涵盖了您建议的软限制模式。没有理由让它变得更复杂。

在没有归位周期的软限位后恢复 #556

在发出 ctrl-X $X 之后,你必须发出 g92 和来自 ? 命令。
然后就可以继续了。我已将 gc_sync_position() 添加到 mc_reset 以便不需要
它并且在停止/中止命令后不丢失位置。g92 是一种解决方法,可能会产生副作用。

对于慢跑来说,如果只是在空闲状态下,就简单了。
如果你想要那个代码,只有空闲状态,那么我提取补丁。
!停止点动
命令是
$JX 或$JX,一次只有一个轴,进给速度固定。
但它只在空闲状态下工作。

在没有归位周期的软限位后恢复 #556

你想让补丁在 ctrl-x 之后不需要归位吗?

在没有归位周期的软限位后恢复 #556

今天我刚刚实施了归位和软限制,我还发现清除警报所需的两个步骤(重置,然后回避或再次执行归位)有点混乱。但我想我同意 Chamnit 的观点:如果需要,GUI 可以轻松应对这两个步骤。

更一般地说,我认为 grbl 项目会更好地服务于“假设”它有一个智能的前端预处理器/发送器也保持状态和,然后问“我们应该/可以合理地将什么功能迁移到前端在笔记本电脑/主机上结束?”。在我看来,软限制应该在 g 代码流式传输到 grbl 之前很久就实施,所以我不相信软限制甚至应该在“核心”grbl 中。(当然,如果它们占用空间和处理周期,我会把它们踢出去,而这些空间和处理周期可以更有利地用于“真正的 grbl 优势”,如加速、规划、转弯等,”)然后当然,主机中的预处理可以实施所有额外的事情,如子程序或啄钻。我可能还喜欢额外的功能,例如对工作区域进行软限制,而不仅仅是对机器进行限制。因此,如果我将一个小 PCB 安装在一个更大的桌子上并设置一些工作坐标,我不想在 PCB 的软限制范围之外钻孔。

在没有归位周期的软限位后恢复 #556
成员

@cspwcspw: 强烈反对。IMO,安全协议应该在运动控制器上完成,而不是依赖于 GUI,它可以在“普通不起作用”到“智能”的广泛范围内。有太多会出错的事情会出错。

出于一个特殊且重要的原因,软限制站在 Grbl 一边。G 代码解析器可能会略有不同。有些有错误或其他使用不同的 g 代码方言。如果这些动作仍然传递给 Grbl,则机器可能会无意中超出软限制。但是,进行两级检查并没有错,其中 GUI 执行一个而 Grbl 仍然执行自己的检查。

其次,软限位警报不需要重新归位,即使它看起来需要。只需解锁警报,您就可以像往常一样恢复操作。这是因为软限制在发出警报之前执行进给保持。随意测试一下。

在没有归位周期的软限位后恢复 #556

当然,它像你说的那样工作,这就是我清除错误的方式。(我不需要重做归位周期)。我认为线程最初的小问题(诚然是一个非常小的问题)是“软限制错误”的行为类似于“硬限制错误”,而实际上,它们是不同的。例如,如果我没有在 G1 上设置进给率,我会收到一个错误,但不是需要两步才能清除的错误,

至于是否将 grbl 的长期未来视为“仅在后端运行的东西(比如 Arduino)”,还是作为“前端 G 代码预处理器/驱动程序和流媒体 + 后端”结束组合一起工作”,两者都可以。在 grbl 中,您似乎有两个松散耦合的“进程”,用于解析和规划并将内容放入块缓冲区,然后是在电机上进行运动的 ISR 进程。也许有不同分解的可能性:例如,在将块通过 USB 接口移动到 Arduino 之前,规划块并解码 G 代码可能更好吗?

我认为尝试可能会很有趣。

在没有归位周期的软限位后恢复 #556
成员

@cspwcspw:软限位错误不是错误而是报警。这些都被对待并且应该区别对待。在我看来,用于确认和取消警报的两个步骤(重置和解锁)并不是什么大问题。一般来说,你不应该经常遇到软限制,如果一个工作可能接近软限制,我会确保通过在 Grbl 的检查模式下流式传输 g 代码程序来进行空运行。如果程序在不移动机器的情况下超出机器行程,它会发出软限位警报。

前段时间我考虑过将 Grbl 解耦并决定反对它。G 代码流是控制器和 GUI 之间非常干净的分离。您不需要大量的通信带宽,也不需要发明一种新的协议,它已经完成了与 g 代码非常相似的事情。

在没有归位周期的软限位后恢复 #556
凯诺 评论了 2017 年 4 月 30 日  

@chamnitsoft limit alarm 每当您启动并运行归位循环并打算运行 CNC 作业时, 这非常烦人,但是soft limit alarm出现并询问reset to continue以及何时发送soft reset命令消息 [$H | $X to unlock ] 再次出现,应该重做最后一个命令。一次又一次!!!
@chamnit 我是 Marlin 固件的前用户,我使用简单的任务来运行我的 CNC 作业,只是归位然后继续,而启用硬/软/归位循环,有没有办法以同样简单的方式使用 GRBL(例如通过启用#define HOMING_FORCE_SET_ORIGIN)?

在没有归位周期的软限位后恢复 #556
成员

@mkeyno:请理解,Marlin 和 Grbl 正在维修两种不同的 CNC 机器类型。Marlin 是 3d 打印机,Grbl 是 CNC 铣床和路由器,它们比打印机危险得多。如果出现小错误,大型机器可能会损坏工具或将金属工件飞过房间。我知道软限位警报很烦人,但它按照设计的方式工作。防止在工作期间超过最大行程。如果您正在慢跑,软限位警报很容易调用,这就是我在 Grbl v1.1 中创建慢跑命令集的原因。这些忽略了软限制,只是阻止了违规动作的执行。所以你的问题已经解决了,这个问题已经结束了。

在没有归位周期的软限位后恢复 #556

谢谢@chamnit我知道你的目的和你在其他问题上的评论,但老实说,我已经在我的数控激光机中使用了特殊版本的马林鱼,但在过去的几天里,我试图用 GRBL .9j 和 1.1f 替换它,但是我找不到任何合适的设置来归位和运行 cnc 作业,如果有成功安装共享的论坛就好了,如果你能为这样的努力创建故障排除/维基页面,我真的很感激

在没有归位周期的软限位后恢复 #556
成员

@mkeyno: 已经有了。请参阅此处此处和关于设置归巢周期的初步维基页面,我在这里请求了一些帮助,因为我目前没有太多时间。谷歌也是你的朋友。关于这个主题还有很多其他资源,例如旧的 shapeoko wiki 和此处的许多问题线程。

喜欢 (0)