开源改变世界!!

归零在不应该移动 Z 轴时 #65

推推 grbl 2年前 (2023-01-25) 158次浏览
关闭
twforeman 打开了这个问题 2013 年 3 月 14 日 · 24条评论
关闭

归零在不应该移动 Z 轴时#65

twforeman 打开了这个问题 2013 年 3 月 14 日 · 24条评论

注释

归零在不应该移动 Z 轴时 #65

刚刚下载了 1.0.6。

打开机器电源,打开串行连接。所有读数为 0,0,0

在 X 上慢跑 1 毫米五次。

点击“归零”

发出的命令是“G91 G28 X0 Y0 Z4.0”

为什么是 Z4.0?

归零在不应该移动 Z 轴时 #65
所有者

这个想法是,如果工作完成或取消时 Z 轴埋在工作内部,则 Z 轴将在返回零之前升高。

归零在不应该移动 Z 轴时 #65
作者

某处是否有关于它提升​​多高的配置?Z轴意外移动有点意外。而且在Z4.0评估之前G28不就送回家了吗?(我没有足够注意轴移动的顺序。)

归零在不应该移动 Z 轴时 #65
所有者

现在没有办法配置该值,G28 处于相对模式(G91)并且它的参数是通过给定点。因此它将工具提高 4,然后归零。

我从这个页面中提取了号码:http ://www.cnccookbook.com/CCCNGCodeG28ReturntoReference.htm

归零在不应该移动 Z 轴时 #65
作者

好吧,我又玩了一会儿,但我认为它没有发挥应有的作用。

我将 X 轴和 Y 轴移动 30mm。不要移动Z。我按归零,Z向上移动4mm,然后三个轴都移动到0,0,0。我不认为该软件应该做出任何意想不到的举动。我觉得它应该做的是将 Z 轴移动到零,然后移动 X 和 Y。

此外,“归零”似乎是基于绝对(机器)零,而不是使用“归零”按钮设置的零。我认为(我可能是错的)“归零”应该去“工作”归零。或者也许应该有一个单独的“返回工作归零”按钮。

想法?

归零在不应该移动 Z 轴时 #65
作者

事实上,我刚刚阅读了 CNC Cookbook 链接(抱歉,应该先阅读它),我猜它正在做那里描述的事情……

而且我认为使用 G0 X0 Y0 命令移动到零点很容易……

也许忽略这个问题…

归零在不应该移动 Z 轴时 #65
所有者

我认为问这些问题是合理的,如果我接通了归位开关,我可能会开始以不同的方式思考这个问题。将“零上班”和“回家”作为两个单独的按钮听起来可能不错。

归零在不应该移动 Z 轴时 #65
作者

归位开关在我即将进行的升级的简短列表中。:) 我认为如果我可以参考真正的(归属的)机器零,那么工具更改会简单得多。

归零在不应该移动 Z 轴时 #65
贡献者

嘿,伙计们,刚刚测试了“归零”功能,我很惊讶它向上移动然后回到 0,0,0 直接穿过我的工件(2 厘米高):-( 我期待它移动到 x=0和 y=0 然后向下移动 z 轴。
它应该像这样工作吗?不知何故这对我来说没有意义,为什么在我下一刻开始向下移动时先向上移动?

归零在不应该移动 Z 轴时 #65
所有者

@stylesuxx这个想法是机器将返回到 X0 Y0 Z0。如果 gcode 以主轴插入工作表面而结束(即对于我的预期用例,某些 Z 值小于 0),UGS 发出 G28 命令指示指向 X0 Y0 Z0 的路径将在继续之前通过 Z+4最终的目的地。您可以在上面的链接中详细了解我为什么决定使用此命令。

我猜您的 CAM 设计时 Z0 是工件的底部?我知道这将如何产生问题并且看起来完全合理。我将研究使此命令以正方形模式移动(通过 thorgh Z4、X0 Y0 Z4,然后是 X0 Y0 Z0)而不是当前行为,这似乎适用于两种用例。

归零在不应该移动 Z 轴时 #65
贡献者

@winder是的,Z0 是我工件的底部——我什至没想过。
我阅读了上面的链接,但我觉得这个动作仍然不合逻辑 ;-) 现在我明白这是怎么回事了,特别是如果 Z0 不是工件的底部。

太棒了,你正在研究零运动 – 我分叉了你的回购协议,也许我可以以某种方式做出贡献。
您之前在一些帖子中提到的返回主页按钮也是我想要的。

归零在不应该移动 Z 轴时 #65

阅读以上内容,我开始怀疑这不是 Grbl 应该自己处理的事情吗?当调用 G28 时。
我确实希望引擎应该首先执行 Z 轴,然后执行 G28 动作给出的 x/y 位置。然后更改为 x/y 起始位置并以 Z 起始位置结束。遗憾的是,上面的文档没有解释引擎应该做什么。

归零在不应该移动 Z 轴时 #65
所有者

我在考虑这个问题,我突然想到,UGS 可以查看状态消息并跟踪机器所处的最大位置,而不是使用任意 Z4.0 进行此运动,然后使用该数字进行最大 Z 位置。除了在遍历过程中仅移动 X/Y 然后在最后降低 Z 之外,这有望解决我们目前讨论的所有问题。

归零在不应该移动 Z 轴时 #65
贡献者

@winder我在想同样的事。我添加了跟踪最大 Z 位置的功能。归零时,机器首先移动到 UGS 已知的最大 Z 位置,然后移动到 X0、Y0,最后移动到 Z0。
你可以在这里查看 -> https://github.com/stylesuxx/Universal-G-Code-Sender/commit/39c06476189a2138578c55297d9b5c64d48f4192

归零在不应该移动 Z 轴时 #65
所有者

@stylesuxx干得好,唯一缺少的是处理状态轮询是否被禁用。我可能还会将 handlePositionString 中的赋值更改为 if 语句,以便不会将相同的值重新分配给自身 – 可能有点迂腐,因为编译器应该做同样的事情。

你能创建一个拉取请求吗?