开源改变世界

手动换刀 #114

推推 grbl 2年前 (2023-01-31) 255次浏览
关闭
vlachoudis 打开了这个问题 2015 年 9 月 29 日 · 14条评论
关闭

手动换刀#114

vlachoudis 打开了这个问题 2015 年 9 月 29 日 · 14条评论

注释

手动换刀 #114
所有者

大家好,

我想听听您对手动换刀方法的看法。现在实施的工具更改 M6 提供以下选择:

  1. 按原样发送到 grbl/controller
  2. 从发送到控制器的行中删除 M6 命令
  3. 用宏展开

当前的宏扩展执行以下操作
$g – 记住状态
m5 – 停止主轴
%wait – 等到所有命令都被 grbl 处理并且状态为空闲
%_x,_y,_z = wx,wy,wz 记住最后的工作位置在 _x,_y,_z 变量 中 g53
g0 – 绝对/机器首先移动到 z 上的换刀位置,然后是 x,y在 M6) 命令的同一行。

g53 g0
-绝对/机器首先移动到工具探测位置 x、y,然后移动到 z

随后是反转路径更改 z -> 更改 x,y
存储在 _x,_y 中的位置,然后 _z
恢复进给和主轴
并继续….

由于我根本不是 CNC 方面的专家,所以我有以下问题,我喜欢你的意见:

  1. %pause 我可以用 M0 代替进给保持并避免等待。但我必须找到一种向 gui 显示消息的新方法。这是 M0 的正确用法吗?
  2. g10l20…作为@chamnit指出的是不符合 TLO(工具偏移)。
    最初我想设置 TLO 但我有以下概念问题
    a。TLO 在重新启动时不持久
    b。执行校准时,TLO 始终与第一个工具相关。这是一个任意的通常不可重复的设置。

要解决 (a) 问题,需要在每次重启控制器(例如单击停止)后运行校准,
或者
让 GUI 在每次重启后静默设置它记住的最后一个值。
或者
让用户手动按下按钮进行设置。

我不喜欢以上选项,校准需要额外的设置时间,自动或手动设置可能会在我们忘记它并更换工具时导致可能的错误。

我目前重新调整当前 WCS 的 Z 的解决方案在我看来似乎坚持重新启动(但不是那么优雅),因为每次工具坐标系都是相对于当前设置的。

你有什么意见,执行它的正确方法是什么?

手动换刀 #114

@vlachoudis: 我在工作中与机工长就此进行了深入交谈。只是为了确保我的想法是正确的。

首先,WCS 必须独立于刀具变化和偏移。如果不是,则在更换工具时可能会丢失零件零,因为您不知道先前的偏移量是多少或新工具相对于什么。

其次,无论您采用何种工具更换方法,都必须有一个参考点。在工业中,这是通过固定工具探头位置执行的,该位置与机器零位具有已知偏移量。在我的工作场所,他们拿起一个带有精密杆的参考工具架。他们探测该参考工具的尖端并将机器位置存储为初始参考。然后相对于参考重新探测以下所有工具。所有偏移都存储在机器中(或者在 GUI 中的 bCNC 的情况下)。

因此,在设置作业时,机器需要知道主轴中的刀具是什么。它会将存储的刀具长度偏移 (TLO) 应用到机器空间。您会发现零件零与该工具和 TLO 处于活动状态,这样,如果您更换工具,新的 TLO 会保留零件零。

这种方法的缺点是您需要为每个工具配备昂贵的精密刀架、固定的工具探针位置和工具偏移数据库。这是为了加快生产速度,因此您可以简单地设置所有刀具偏移一次,然后一个接一个地运行相同的作业,而无需一直重新探测刀具。(虽然有时您确实必须考虑工具磨损。)但是,这通常不属于新手爱好者的领域。(但这在家庭车间机械师或 LinuxCNC 人员中很常见)。

为了让没有刀架但有固定工具探头位置的用户更简单,我会这样做(还有很多其他方法可以做到这一点):

  • 首先,让用户在定位零件零之前插入第一个工具/寻边器,因为您需要在执行任何操作之前测量工具尖端在机器空间中的位置。
  • 将此尖端位置设置为 TLO 零并将其存储在某处,可能在 bCNC 内。同时向 Grbl 发送 G43.1 TLO 偏移以应用它并确保它删除任何以前的 TLO。
  • 使用第一个工具/找边器定位零件零。
  • 应用 G10 WCS 偏移来设置零件原点。
  • 开始工作。
  • 如果使用寻边器或 g 代码程序指定了不同的工具编号,则用户必须插入新工具并且必须执行工具探测循环。bCNC 计算新的 TLO相对于将零件设置为零的初始工具。向 Grbl 发送新的 G43.1 TLO。
  • 更换另一个工具后,重复上述过程。安装新工具、探针,并相对于将零件设置为零的第一个工具应用 TLO。
  • 任务完成。对每个作业重复整个过程。这是因为对于初始零件零位置,您从来没有固定的参考点,因为刀具可能会以非常不一致的方式卡在主轴中。

如果没有固定的工具探针位置,您只需要让用户输入它的 x、y 位置并要求 z 偏移在探针之间不会改变。例如,这在触摸板系统中很常见,它可以放置在机器的任何位置。更换工具后,触摸板可以放回原位。用户必须确保清除下方的任何碎屑或碎屑,这些碎屑或碎屑可能会改变工具更换之间的探头读数。

我知道这一切都是乏味和耗时的,但这是完成的方式。您必须保持初始偏移,以便无论刀具更换如何都保持 WCS。如果工作出现问题,这会使事情变得容易得多。我希望这可以更清楚地说明应该如何实施以及为什么专业商店选择工具架和更换器。

手动换刀 #114

此外,如果您担心在电源循环后保持偏移量,只要 bCNC 记录了将 WCS 的部分设置为零的初始 TLO,您仍然可以使用此过程。(也可以让 Grbl 为 bCNC 将其存储在另一个 WCS 中,例如 G59。)

手动换刀 #114
所有者作者

谢谢@chamnit详细解释!我完全理解设置 TLO 的方法,当您拥有经过良好校准的探测工具时,这非常有意义。在这种情况下,TLO 表示工具相对于机器坐标空间的真实偏移量。

就我而言(但也许只有我一个人),这是我第一次使用工具更换工具,我没有经过校准的探测工具。每次我在块中插入一个新工具时,我都无法重现以前的偏移量。因此,设置 TLO 与初始刀具偏移的全部意义,其记忆丢失实际上是没有意义的。我将被迫在重启时执行校准或依赖于正确记录了最后一个 TLO 的 GUI(如果发生崩溃,所有内容都将丢失)。我觉得这有点像使用 G92 设置工作坐标与 G54..G59。
通过每次设置 WCS,工作坐标将反映实际工具…
顺便说一句,我刚刚看到 linuxcnc 有一个 G10 L1 xxx 命令来保存 TLO。这在 grbl 中有可能吗?或者它在 AT328 上的 eeprom 内存不足?

另一方面,我的方法只是让拥有工具架的人感到困惑 :) 或习惯于与 TLO 一起工作。出于这个原因,我刚刚创建了一个额外的 toolChange 版本,它按照您的建议设置 TLO 而不是工作区。我已将其添加为用户可以选择的不同工具更改策略。在发布之前,我必须在我的机器上测试它。

大声思考我应该在未来为拥有工具架的用户添加一个额外的政策。它可以预先记录或手动设置刀具偏移量,因此他(她)不必被迫在每次换刀时都进行校准。

手动换刀 #114

@vlachoudis:我不确定我是否理解您所说的校准探测工具的意思。您所需要的只是一个不会移动并提供一致的 z 轴读数的触摸板。但我确实理解你的意思,当你放弃一个新工具时你不能重现工具偏移。这是一个常见问题,因为大多数人都有基于夹头的卡盘并在其之间共享工具。

我所说的存储第一个工具的意思是,您使用它来设置零件零,您需要记住零件零在机器空间中相对于主轴/工具的位置。因此,如果您在初始工具探测之后存储工具尖端位置,您现在就有了一个参考点,可以从该参考点计算任何其他工具的 TLO 以保持零件零,即使在电源循环之后或如果您更换工具。只要零件和探针接触板都没有移动,就可以开始了。

GUI 所要做的就是,在它检测到任何 M6 工具更改时,重新探测新工具以确定机器空间中的尖端位置。然后计算它与确定零件零的存储参考位置之间的 z 差(从技术上讲,您需要的只是一些一致的参考点,而不是第一个工具)。最后发一个G43.1 TLO。恕我直言,这是一种相当直接的方法,并且保持零部分不变。

至于 G10 L1,328 上的问题不是 EEPROM。它是代码处理新命令和数据管理的闪存空间。在 Mega/ARM 版本中,我们可以集成工具数据库等,如果这看起来是正确的事情的话。但是,我认为根据需要使用 G57-G59 工作坐标系不是问题。大多数用户只使用一种工作坐标系(通常是 G54)。

手动换刀 #114
贡献者

大家好,

我有一个带有 grbl 0.9j 和 bCNC 的 eShapeoko,但这不是问题,我有这个:
http
://cnc-plus.de/images/product_images/info_images/werkzeuglaengentaster_0811.jpg 但本质上是一个关闭的开关在我的桌子的零上方一定高度的接触。

我已经把它固定在原位附近,所以更换工具相对较快(拧下夹头,放置新工具并拧紧夹头),并重新调零机器(机器在这种操作中丢失零)

从概念上讲,与固定触摸板相同,
我的探针在 30 毫米高度关闭触点,在 2 毫米高度关闭
触摸板。

一些数字,当我这样做时:

  1. 我换工具
  2. 我回家机器 0,0,0
  3. g38.2 – 我获得了一组坐标,比如 X 12、Y 25、Z-20,但唯一相关的是 Z-20
  4. bCNC 知道我的工具提示在我的零上方 30mm
  5. bCNC 可以计算出工作平面的零点现在比 Z-20 低 30mm
  6. bCNC 知道工具提示在哪里开始切割

当我更换工具时,探头关闭触点的新 z 是 Z-22
bCNC 知道新的零比 Z-22 低 30mm 并相应地表现

您只需输入一次 Z 高度点。(也许你要时不时验证一下)

如果 bCNC 在工作中崩溃,您必须执行上述步骤 2 到 6。
如果工具损坏或当您更换工具时,您必须执行上述步骤 1 到 6

Z 高度始终是固定的(我的是用螺栓固定在桌子上,但触摸板可能会粘在角落里,也许在原位置下面)。

当您有固定夹头(或工具更换器)时,TLO 是一种更好的方法,每个工具作为相对于固定长度(参考工具)的 TLO,并且您从该点输入已知偏移量。

但我认为,在许多爱好机器中,很容易将开关安装在桌子上方的固定位置,即使 DIY 只是一个带有两根电缆的开关。(找到一个精密开关很重要,上面的工具是便宜的,“精度约为0.05毫米”)

最好的祝福

卡罗·D。

手动换刀 #114
所有者作者

@chamnit使用“校准探测工具”我的意思是@onekk说出“参考工具”…我没有找到正确的术语:)
我现在已经实现了这两种方法,但我还没有在我的机器上测试它。接下来几天我会做一些PCB,然后我会把它推到master分支上。

手动换刀 #114
所有者作者

我找到了一些时间去我的机器上测试它。现在这两种方法都可以正常工作。When selecting the update of the TLO the TLO is saved on the bCNC ini together with the machine-z of the probing plate/button as it was found using the “reference tool”.
但是在重置时 tlo 不会自动设置。用户需要点击探测页面中的“设置”按钮。