开源改变世界

如何定义一个轴为旋转轴 #191

推推 grbl 2年前 (2023-02-08) 560次浏览
关闭
GrblGru 打开了这个问题 2022 年 9 月 14 日 · 11 条评论
关闭

如何定义一个轴为旋转轴#191

GrblGru 打开了这个问题 2022 年 9 月 14 日 · 11 条评论

评论

如何定义一个轴为旋转轴 #191

嗨,泰杰,

首先,非常感谢您所做的出色工作。
我最近才知道你的项目,所以我仍然是一个有很多(也许是愚蠢的)问题的新手。

我开发了一个简单的 CAM 程序“GrblGru”,它已经可以通过 USB 与一些控制器(Grbl、TinyG、Mega-5X)通信。因此,在执行计算出的 GCode 的同时,3D 机器模型在屏幕上可视化。
现在我想将此功能扩展到 GrblHAL。第一次尝试看起来很有希望。
但是我找不到任何关于如何将轴定义为旋转轴的信息。你能帮我指出相应的信息吗?

在此先感谢
GrblGru

如何定义一个轴为旋转轴 #191
贡献者

$376– 但仅适用于 A、B 和 C 轴 – 如果处于英寸模式,则禁用缩放。将轴的最大行程设置为 0 也会禁用它的软限制。请注意,$$如果配置不需要它们,许多设置将不会显示在报告中,您必须设置N_AXIS > 3才能启用$376

您可能会在 wiki 中找到有用的信息,例如,有一个专供开发人员使用的页面。

我看过你的节目,令人印象深刻!

如何定义一个轴为旋转轴 #191
作者

Terje,感谢您的快速回复。

现在已经能够使用“#define N_AXIS 5”配置所需的 5 轴 XYZAB 机器。:)
但我仍然不清楚如何设置例如具有 4 个线性轴 XYZU 的机器,就像您需要泡沫切割机一样。

所以我还有很多东西要学。这是提问的正确地点吗?还是有更合适的地方来讨论“手轮点动、G5、螺纹切削、恒表面速度模式等”等有趣的话题?

如果有兴趣,我愿意为 GrblHAL 的进一步开发贡献一小部分,例如测试新功能。
由于图形的可能性,我的程序可能适合在机器上进行真正测试之前在桌面上测试 GrblHAL。

干杯
GrblGru

如何定义一个轴为旋转轴 #191
贡献者

但是我仍然不清楚如何设置一台带有 4 个线性轴 XYZU 的机器,就像您需要泡沫切割机一样。

我没有添加对将轴字母 ABC 重新映射到 UVW 的支持,基本支持最多 8 个轴(添加 UV 作为选项),但这必须完成。

所以我还有很多东西要学。这是提问的正确地点吗?还是有更合适的地方来讨论“手轮点动、G5、螺纹切削、恒表面速度模式等”等有趣的话题?

开始讨论而不是提出问题。

由于图形的可能性,我的程序可能适合在机器上进行真正测试之前在桌面上测试 GrblHAL。

有趣的是,我用 PSoC 5 制作了一个硬件模拟器,可以模拟 VFD、主轴编码器、限位开关、步进脉冲计数、探测等……目前它有一个简单的 CLI 界面,如果有一个图形 UI 就更好了它。可能是与 GrblGru 的有用组合?

如何定义一个轴为旋转轴 #191
作者

谢谢你的解释。我将在未来使用讨论部分来回答更多问题。
我也会在接下来的几天尝试制作一个关于 GrblHAL 如何与 GrblGru 通信的短视频。

如何定义一个轴为旋转轴 #191
贡献者

但是我仍然不清楚如何设置一台带有 4 个线性轴 XYZU 的机器,就像您需要泡沫切割机一样。

我没有添加对将轴字母 ABC 重新映射到 UVW 的支持,基本支持最多 8 个轴(添加 UV 作为选项),但这必须完成。

在最近的提交 20220918中添加了对 ABC 轴字母重新映射到 UVW 的支持。您如何检测要使用的轴字母?通过[AXS:<n>:<letters]选项$I

如何定义一个轴为旋转轴 #191

你好@terjeio,感谢您的出色工作。我有一个关于旋转轴的问题。

我以 XYZA 配置运行我的机器,使用感应传感器来归位 A 轴。我将最大行程设置为 99999 毫米/单位(度)。启用软限制,A 轴在 $376=1 中定义为旋转。这非常有效,但由于软限制,我只能在归位后沿一个方向旋转它。我还没有遇到其他软限制。

当我阅读您上面的帖子“…将最大行程设置为 0 会禁用软限制”时,我认为这可能是一个很好的解决方案。但不幸的是,当机器正在归位 A 轴时,它会发出警报 9。“…尝试增加最大行程…”

我是否遗漏了什么,或者是否有其他设置需要更改?

如何定义一个轴为旋转轴 #191
贡献者

@evert4130这是一个“错误”,或者更确切地说是将最大行程设置为零的副作用,因为最大行程用于设置寻找限位开关的距离。解决方法是在最大行程为 0 时将旋转轴的寻道距离设置为 360(度)?

如何定义一个轴为旋转轴 #191

@terjeio这当然看起来是一个很好的解决办法。感谢您及时的回复。

如何定义一个轴为旋转轴 #191
贡献者
terjeio 评论了 2022 年 10 月 18 日  

@evert4130 你能尝试改变吗

max_travel = max (max_travel,(-HOMING_AXIS_SEARCH_SCALAR) * settings.axis [ idx] .max_travel );


max_travel = max(max_travel, (-HOMING_AXIS_SEARCH_SCALAR) * (settings.axis[idx].max_travel < -0.0f ? settings.axis[idx].max_travel : -360.0f)); 

我也可以为配置为旋转的轴蜂添加一个检查。

编辑:360.0f 必须是负数!

如何定义一个轴为旋转轴 #191

哇,我明天就去做,然后在这里向您报告,再次感谢。

如何定义一个轴为旋转轴 #191

@terjeio极好的!它完全按预期工作。你的代码是完美的。我现在可以正常回零所有轴(我的序列是 ZA-XY),然后可以在任何方向上无限制地旋转 A 轴,完美。非常非常感谢!