Contact me: hankecnc@gmail.com

Ver 2.7 TP 的 G33 问题 #68

推推 grbl 3年前 (2023-01-29) 434次浏览

关闭
joekline9 打开了这个问题 2016 年 6 月 13 日 · 14条评论
关闭

Ver 2.7 TP 的 G33 问题#68

joekline9 打开了这个问题 2016 年 6 月 13 日 · 14条评论

注释

Ver 2.7 TP 的 G33 问题 #68

以下是我重现该问题所遵循的步骤:

  1. 在车床上运行下面的 G 代码。

G20 G64 G8 G18
M3 S400
G0 x.5 z.21
G1 x.490 z.2
/G4 P.01(对于 ver 2.7 TP 需要暂停或以上 G0)
G33 k.086 x.500 z-.550
G0 x。 510
G0 z.21
m5
m2

  1. 如果我有一个 G1 移动进入 G33,它会形成一个半径,然后“Z”加速然后减速。
  2. 我可以使用 G0 或将 G4P.01 放在 G33 之前,然后就可以了。仅在 spndl 速度超过 200~ rpm 时发生

这是我期望发生的事情:

 feed to the G33 starting point then accel to K value.

这是发生了什么:

G1 向G33 起点移动一个半径然后’Z’ 加速然后减速。
在过加速之后,它会减慢到 G33 移动剩余部分的适当速率。

在此之前它工作正常:

在以前的版本中或使用旧的(Pre 2.7)TP

有关我的硬件和软件的信息:

机器 1:使用 2.7.4 版 Ubuntu Lucid 和新 TP、Mesa 5i20 和伺服卡
机器 2:使用 2.7.4 版 Debian Wheezy 和新 TP、Mesa 5i25/7i77

  • 我正在使用此 AXIS 用户界面 (GUI)
robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2016 年 7 月 18 日

Ver 2.7 TP 的 G33 问题 #68

使用您的示例代码,这在模拟中看起来可重现。发生这种情况的原因是因为 2.7 轨迹规划器允许同步运动之间的混合。这是有和没有停留时轴加速度的比较:

没有驻留(在 X 轴上有过加速):
Ver 2.7 TP 的 G33 问题 #68

随着驻留,只有 Z 轴加速度:
Ver 2.7 TP 的 G33 问题 #68

造成这种差异的原因是 2.7 TP 允许在正常进给移动(G1、G2 等)和位置同步移动(G33)之间进行混合。这会产生一个小的混合弧(如您所观察到的)。

进一步研究,我发现(正如预期的那样)2.6 TP 在开始 G33 移动时不允许混合。但是,它确实允许在 G33 移动结束时混合。此 G 代码片段显示了轴模拟配置中的行为。在2.6中,N5之后会有一个精确停止,但是N6和N7之间会有一个混合。

N1 G20 G64 G8 G18
N2 M3 S500
N3 G0 X2.0 Z0
N4 G0 X1.1 Z0.1
N5 G1 X1.0 Z0.0 F200
N6 G33 K0.1 X1.0 Z-1.0
N7 G1 X1.1 Z-1.1 F200  
N8 G0 X2.0
N9 G0 Z0
N10 M5
N11 M2

因此,在 G 代码示例中,2.6 TP 在启用位置同步的情况下应用以下规则:

  1. 从 G1 过渡到 G33(准停)
  2. 两个 G33 运动之间的过渡(使用路径设置)
  3. 从 G33 过渡到 G1(使用路径设置)

我在基于最新 2.7的修补程序分支中对此进行了修复。不幸的是,在边缘情况下可能会出现一个更微妙的问题。采用以下 G 代码示例,它遵循主轴同步中的锯齿形路径:

G20 G64 G8 G18
M3 S100
G0 X1.1 Z0.1
G1 X1.0 Z0.0 F200
G33 K0.1 X1.0 Z-1.0
G33 K0.1 X0.75 Z-1.5
G33 K0.1 X0.75 Z- 2.0

G1 X1.1 Z-2.1 F200
G0 X2.0
M5
M2

在粗线之间,即使进给速度非常慢,创建的混合弧也相当大:
Ver 2.7 TP 的 G33 问题 #68

圆弧很大,因为 TP 不知道位置同步运动的计划主轴速度。相反,它使用段的最大可能速度。我们可以通过在主轴同步运动期间完全防止圆弧混合来解决这个问题,但仍然允许抛物线混合。有了这个改变,我们将拥有所有位置同步动作的 stock 2.6 行为。

另一种稍微复杂一些的方法是使用状态标签之类的东西将计划的主轴速度传递给 TP 。知道所需的主轴速度后,我们就可以预测目标速度,并调整混合弧的大小以匹配(而不是假设最坏的情况)。

@SebKuzminsky @cradek您如何看待这些修复?

Ver 2.7 TP 的 G33 问题 #68
合作者

我认为在 2.7 中在主轴同步移动结束时进行 2.6 风格的混合可能会很好,只是因为这听起来很简单并且很容易在稳定分支中得到正确的结果,并且众所周知它可以为线程提供良好的结果拉出。在同步移动结束时不停止很重要,正如我在此处尝试解释的那样。

Ver 2.7 TP 的 G33 问题 #68

@cradek你的解释很有道理,我的修补程序分支现在应该更新以反映 2.6 的行为。

您知道是否需要沿复杂路径进行位置同步运动?如果不是,我们可以通过限制位置同步运动使用抛物线混合来解决大混合弧问题。然而,这将导致引入运动稍长一些,因为加速度将减半。

Ver 2.7 TP 的 G33 问题 #68
合作者

公差会影响主轴同步运动的混合吗?(g64Px.xxx).. 如果你想让路径更好地遵循(或尝试)你能指定它吗?

Ver 2.7 TP 的 G33 问题 #68
合作者

我认为沿复杂路径的同步运动极为罕见,但已被使用。你说的引入时间越长越重要,但我觉得没问题;我从来没有听过有人说由于空间有限他们无法管理导入。我想线程的本质是一端暴露……

Ver 2.7 TP 的 G33 问题 #68
作者

我已经切割了多个看起来像大金属板螺钉的锥形螺纹,当然还有管螺纹上的锥形末端。
我认为在每转进给模式下我们不需要任何混合(G33 到 G33)或 G33 到 G1。
您只是在第一个 G33 之后不重新同步。PID 将处理轻微的加速度变化。
如果角度差异超过 30 度左右,您可能需要混合。

Ver 2.7 TP 的 G33 问题 #68
作者

就铅而言。一些数控车床喜欢在螺纹加工时以转速 (M4) 运行。然后您必须在槽中开始螺纹并进给 Z+。在这种情况下,引入线应尽可能短。我会说在 400 到 500 RPM 时小于 2 或 3 毫米。

Ver 2.7 TP 的 G33 问题 #68 jepler 添加了 影响2.7 标签 2016 年 8 月 8 日
robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2016 年 9 月 29 日

Ver 2.7 TP 的 G33 问题 #68

我这里有一个实验分支,可以解决这个问题,并提高与 G33 运动的混合性能:

https://github.com/robEllenberg/linuxcnc-mirror/tree/feature/nominal-vel-during-sync

有关性能改进的详细信息,请参见#164

robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2016 年 12 月 11 日

robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2017 年 1 月 27 日

robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2019 年 5 月 2 日

Ver 2.7 TP 的 G33 问题 #68 robEllenberg 自己分配了这个 2019 年 6 月 14 日
Ver 2.7 TP 的 G33 问题 #68
合作者

这和#704一样吗?

我对 704 的建议是记录行为。我认为在两个主轴同步移动之间暂停是没有意义的,

在两个连续的 G33 移动之间强制同步索引的最佳方法是什么?
我将尝试测试虚拟 G0 或 G1 是否退出 G33“模式”

Ver 2.7 TP 的 G33 问题 #68
合作者
c-莫利 评论了 2020 年 4 月 3 日 通过电子邮件
Ver 2.7 TP 的 G33 问题 #68
合作者
罗伯·埃伦伯格 评论了 2020 年 4 月 3 日 通过电子邮件
robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2020 年 4 月 4 日

Ver 2.7 TP 的 G33 问题 #68
合作者

这个现在是什么情况?
b3fa297帮助还是阻碍?

robEllenberg 添加了对引用此问题的 robEllenberg/linuxcnc-mirror 的提交 2020 年 6 月 14 日

Ver 2.7 TP 的 G33 问题 #68

这个现在是什么情况?
b3fa297帮助还是阻碍?

我不认为它完全解决了原始问题(G1 和 G33 之间的混合),但它是 2.7 的必要修复(截至今天早上最新的 2.7 分支仍然显示#704行为)。

Ver 2.7 TP 的 G33 问题 #68
合作者

希望由#890修复

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
项目

还没有

发展

没有分支机构或拉取请求

7人参加
Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68Ver 2.7 TP 的 G33 问题 #68

喜欢 (0)