开源改变世界

关于旋转轴和圆弧指令的问题 #482

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

打开
绕线器 打开了这个问题 2018 年 6 月 26 日 · 2 条评论
打开

关于旋转轴和圆弧指令的问题#482

绕线器 打开了这个问题 2018 年 6 月 26 日 · 2 条评论

注释

关于旋转轴和圆弧指令的问题 #482
贡献者

我知道 GRBL 现在不支持这些,但我希望这里有人可能知道答案。我试图了解 gcode 规范与 ABC 旋转轴一起支持哪些运动。具体来说,我正在尝试为包括 ABC 轴的 gcode 创建一个可视化工具。

首先,例如,ZA 平面中的弧形运动似乎可用作旋转轴的一种“缓入”。不过说明书里好像没有ZA位面。该平面不仅不存在,而且规范继续通过声明UV、WU 和 VW 平面不支持弧来进一步限制事物。那么,弧仅在笛卡尔坐标系上受支持是真的吗?

似乎是这样,但我希望有更多经验的人可以验证这种简化是正确的。如果是这样,可视化弧线是否类似于螺旋运动的情况?意思是,对于螺旋操作,圆弧根据当前平面在线性轴上进行插值。我会简单地在旋转中插入圆弧吗?从逻辑上讲,这似乎是有道理的,但我不确定这是否是唯一需要处理的情况。

谢谢!

关于旋转轴和圆弧指令的问题 #482

有趣的问题。Gcode 中没有指定混合线性/旋转“平面”——只有 XY、XZ 和 YZ。也就是说,NIST Gcode 规范提供了一些关于混合线性轴和旋转轴的指导:

2.1.2.5 进给速率
被控点或轴移动的速率名义上为稳定速率,可由
用户设置。在解释器中,进给速率的解释如下,除非
在 RS274/NGC 视图中使用了反时限进给速率模式(参见第 3.5.19 节)。如第 4.3.5.1 节所述,进给率的规范
加工函数视图具有以
不同方式应用设置进给率的条件,但解释器中均未使用这些条件。
A. 对于涉及一个或多个 X、Y 和 Z 轴的运动(有或没有同时
旋转轴运动),进给率是指沿
编程的 XYZ 路径每分钟的长度单位,就好像旋转轴没有移动一样。
B、对于一个旋转轴运动,X、Y、Z轴不运动,进给速度是指
旋转轴每分钟旋转的度数。
C. 对于 X、Y 和 Z 轴不动的两个或三个旋转轴的运动,速率
应用如下。令 dA、dB 和 dC 分别为 A、B
和 C 轴必须移动的角度(以度为单位)。让 D = 。从概念上讲,D 是
总角运动的量度,使用通常的欧几里得度量。令 T 为
以当前进给速率移动通过 D 度所需的时间量(以度/
分钟为单位)。旋转轴应以协调的直线运动方式移动,以便
从运动开始到结束所经过的时间为 T 加上任何所需的时间
加速或减速。


换句话说,如果你有一个组合的线性和旋转移动,让线性移动设置时间和旋转同时完成。但是单位呢?如果您提供半径,则可以将旋转单位转换为线性单位。那么 N 个线性尺寸(毫米,英寸)等于 M 度。

我很想知道你是如何解决这个问题的。

关于旋转轴和圆弧指令的问题 #482
贡献者作者

谢谢,这是一些很好的信息。混合运动期间的速度听起来很难计算,但我认为由于我只是想想象切割位置,所以我可以做一些简化。对我来说,关键要点是:“线性移动设置时间,旋转同时完成”。

为了用圆弧可视化螺旋操作,我已经能够做完全相同的事情。基本上,像往常一样通过将圆弧分成 N 条线段来计算圆弧,然后针对每条线段在每条线段之间均匀地调整第三轴(通常是 Z)。

听起来我可以通过像往常一样计算 XYZ 空间中的线段然后将它们扫过旋转轴来对旋转运动使用相同的策略。唯一棘手的部分是,由于所有轴的点仍然必须转换为 3D 渲染的 XYZ 坐标,这些坐标将不再对应于工作位置。

喜欢 (0)