Contact me: hankecnc@gmail.com

探测和 gcode 旋转 #94

推推 grbl 3年前 (2023-02-07) 359次浏览
打开
raenji-sk 打开了这个问题 2021 年 4 月 11 日 · 72条评论
打开

探测和 gcode 旋转#94

raenji-sk 打开了这个问题 2021 年 4 月 11 日 · 72条评论

评论

探测和 gcode 旋转 #94

嗨,是否可以在发件人的探测部分添加一个功能。一个会在两个点沿一个轴探测以确定角度,如果库存不完全与轴成正方形,然后计算并旋转 gcode 以进行补偿?例如,Uccnc 有这个,它似乎对双面工作非常有用。

探测和 gcode 旋转 #94
所有者

它在我的待办事项列表中,将在第一次产品发布后的某个时间添加。

探测和 gcode 旋转 #94
作者

完美的。例如,如果我可以帮助您进行测试,请告诉我。

探测和 gcode 旋转 #94
所有者

我想知道应该在哪里实施轮换。在控制器或发件人?

LinuxCNC 有旋转作为G10L2 命令的选项,Mach 3 使用 G68/G69。

LinuxCNC:“可选择编程 R 以指示 XY 轴绕 Z 轴的旋转。从 Z 轴的正端看,旋转方向为 CCW。”

Mach3:“程序G68 A~B~I~R~旋转程序坐标系。” 和“程序 G69 取消旋转”。

探测和 gcode 旋转 #94
作者

问得好,我发现原来的 grbl 不支持 G68 或 G10L2 R gcode。
bCNC 以某种方式实现了这一点,但不是通过机械探测,而是使用相机告诉发送者库存材料中的实际坐标与 gcode 中的坐标相比在哪里。
Christian Knüll 还在他的 Estlcam SW/HW 中以某种方式实现了它 – https://www.youtube.com/watch?v=bhZdbgM6S70在大约 1 分钟的标记处。
也许发送方的实现会更快更容易,除非你能以某种方式在控制器级别将 G10L2 或 G68 实现到 grblHAL 中。
但我不是程序员,或者至少不是一个好程序员,所以只是推测一下。

探测和 gcode 旋转 #94
所有者

bCNC 以某种方式实现了这一点,但不是通过机械探测,而是使用相机告诉发送者库存材料中的实际坐标与 gcode 中的坐标相比在哪里。

ioSender 应该支持相机和机械探测。在钻孔和铣削 PCB 时,我需要摄像头支持。

也许发送方的实现会更快更容易,除非你能以某种方式在控制器级别将 G10L2 或 G68 实现到 grblHAL 中。

我不确定什么是最快的 – 也是最完整的。grblHAL 支持带重复的固定循环,我不确定这些在发件人中是否“按原样”转换。如果在控制器中实现,则只能使用 grblHAL,除非遗留 grbl 和其他端口做同样的事情……发送方的部分实现(不支持所有 G 代码)最初可能是最好的解决方案。

探测和 gcode 旋转 #94
作者

在钻孔和铣削 PCB 时,我需要摄像头支持。

是的,相机探测非常适合这些任务,并且对 PCB 的精确对齐有很大帮助。

发送方的部分实现(不支持所有 G 代码)最初可能是最好的解决方案。

没错,我也猜到了。我怀疑旧版 grbl 是否会添加更多功能,因此可能取决于您如何操作,并且发送器实现将允许与独立于硬件的任何 gcode 程序一起使用,但由gcode 发件人。也许像我猜的高度图之类的东西也是由发送者计算的。

不支持所有 gcode 你的意思是,例如在旋转弧线之后,或者其他什么东西不起作用?

与其他 32 位 grbl 端口取得联系是否值得?就像 Grbl_Esp32。或者 Spark Concepts 不久前发布了一个 32 位 Xpro V5 控制器,它运行一些 32 位 grbl 端口,但我不确定是哪个。我的意思是为下一代 grbl 建立一些共同的坚实基础。

探测和 gcode 旋转 #94
所有者

也许像我猜的高度图之类的东西也是由发送者计算的。

这是。

不支持所有 gcode 你的意思是,例如在旋转弧线之后,或者其他什么东西不起作用?

重复的固定循环可能会有问题,G5 样条也是吗?这些没有被广泛使用,所以是一个小问题。

与其他 32 位 grbl 端口取得联系是否值得?

我不知道。grblHAL 非常不同,因为内核完全与处理器无关,我不打算改变它。有几个开发人员正在为核心开发新的驱动程序 – IMO 我鼓励这是一件好事。通常,我使用 LinuxCNC 规范作为向核心添加 G 代码和 M 代码的基础,其中一些是从 Mach 3 规范中提取的。

或者 Spark Concepts 不久前发布了一个 32 位 Xpro V5 控制器,它运行一些 32 位 grbl 端口,但我不确定是哪个。

它基于 Grbl_ESP32 – 违反许可证?

我的意思是为下一代 grbl 建立一些共同的坚实基础。

grblHAL 核心最接近可用?

探测和 gcode 旋转 #94
合作者
菲尔·巴雷特 评论了 2021 年 4 月 30 日  

在发件人与 Grbl 核心中实施 – 有趣的问题。我的第一直觉是发件人。然后它适用于所有 Grbl 实现并且是完全独立的(探测/转换)。如果在 Grbl Core 中实现,您仍然需要发送方探测旋转量并发出旋转命令。

Height Mapping/GCode Transform完全在sender内部,做出合理的模型。一致性?

如果存在无法转换的固定循环等功能,我假设发件人会产生错误消息。(虽然我不太明白为什么CC不能变形。)

编辑:关于下一代 Grbl 的基础主题。除了 grblHAL,我看不到任何接近的东西。所有其他版本都绑定到特定的微控制器,并且不容易通过插件进行扩展。

探测和 gcode 旋转 #94
所有者

Height Mapping/GCode Transform完全在sender内部,做出合理的模型。一致性?

LinuxCNC G10L2 规范允许旋转,因此在核心中支持它会很好,但可能很难(呃)实现。作为第一步,我将寻求发送者实施。

如果存在无法转换的固定循环等功能,我假设发件人会产生错误消息。

一定。我还没有研究过这个,它可能只会影响带有重复参数的固定循环L<n>,如果有的话?

探测和 gcode 旋转 #94

将旋转(和高度映射)放入 Grbl 核心的优点是它使发送者不那么复杂。这对于非 PC 发送器(如简单的控制面板)或手持设备(如 super MPG(ala OB 的“接口”))将很有价值。虽然,探测并不简单……

探测和 gcode 旋转 #94
作者

grblHAL 内核最接近可用

这就是为什么我最终使用它和很棒的 BOB 形式 Phil。在做出这个决定之前,我可能确实比较了所有选项。

重复的固定循环可能会有问题,G5 样条也是吗?这些没有被广泛使用,所以是一个小问题。

如果那是唯一的限制,那么我会说这完全没有问题。大多数爱好发送器/硬件或后处理器无论如何都不支持我相信。

虽然,探测并不简单……

没错,但与 Mach 或 UCCNC 等更多工业解决方案相比,高级探测方法是我目前在 grbl(HAL) 中唯一怀念的东西。

探测和 gcode 旋转 #94
所有者
terjeio 评论了 2021 年 5 月 7 日  

GCode Sender Edge.33p0.zip现在可用于旋转 gcode 的反馈,选项卡已添加到“探测”选项卡,菜单/对话框已添加到“文件”>“转换”菜单。仅经过轻微测试,不支持 G5 样条曲线。在一个包含圆弧的文件上看到的人工制品。这是一个 RFC(征求意见)版本,因此请格外小心使用。

探测和 gcode 旋转 #94
作者

完美,如果我明天有空的话我会试一试。

探测和 gcode 旋转 #94
合作者

谢谢你这样做!

我想我知道这个问题的答案但值得确认 – 如果我应用旋转并将 GCode 从 IOSender 的程序选项卡中复制出来,是否会给我修改/旋转的 GCode?我想用它来验证旋转并寻找人工制品。

应用高度图的相同问题。

探测和 gcode 旋转 #94
所有者

如果我应用旋转并从 IOSender 的程序选项卡中复制 GCode,是否会给我修改/旋转的 GCode?

是的,所有转换都会这样做,使用文件 > 保存将其复制出来。3D 显示也会更新以显示修改后的刀具路径。

探测和 gcode 旋转 #94
作者
兰吉斯克 评论了 2021 年 5 月 7 日  

所以我做了一些快速测试。好消息是,在大多数情况下,它似乎可以正常工作并旋转 gcode。但是,在某些文件上,它确实会在按下应用按钮后使程序崩溃。
https://1drv.ms/u/s!AmP5jEwdNIwcltc0gHe-pLyD-xAThg?e=gt3dMz
这是我的 OneDrive 文件夹的链接,其中包含经过测试的 gcode。旋转的文件名中有一个“旋转”后缀。原始文件和旋转文件都在那里。
名为 8mm 的两个文件…使应用程序崩溃。如果您发现会导致问题的原因,您是否可以看一下它们?

探测和 gcode 旋转 #94
所有者

@raenji-sk谢谢。崩溃的文件有不在 XY 平面内的弧形移动。我必须添加处理。

仅供参考,我用另一个发件人测试了其中一个,它没有崩溃——它只是产生了奇怪的动作……

探测和 gcode 旋转 #94
作者

崩溃的文件有不在 XY 平面内的弧形移动。

是的,我只是通过手动编辑 .nc 文件并删除它们才发现的。

探测和 gcode 旋转 #94
作者

需要明确的是,它不会在使用 G17-G19 打开文件时崩溃,并且在官方 ioSender 版本中运行正常,因为我昨天确实运行了这些文件,一切都很好。
在探测角度并对其应用旋转后,它确实会崩溃。

探测和 gcode 旋转 #94
所有者

新的边缘版本。现在断层半径模式弧和 XZ 和 YZ 平面中的弧,首先使用文件 > 变换 > 弧到线将弧转换为线。一些半径模式弧可能会根据它们覆盖的半圆或全圆的多少进行变换。

Fusion 360 用户可以将后处理器更改为不输出 XZ 和 YZ 平面中的圆弧。信息在这里

产生电弧伪影的文件在转换为它们出现的常规 3 位小数时,在公制模式(亚微米分辨率)下有 4 位小数。我为此类文件添加了一个临时修复程序。

探测和 gcode 旋转 #94
作者
兰吉斯克 评论了 2021 年 5 月 9 日  

太好了,下周测试。

关于探测的另一件事,我最近在右下角尝试了外部角探头,但它总是关闭。虽然左下角工作正常……
不知道这是我的错误还是其他原因。当我有机会时,我会尝试复制并记录它。
编辑:
忽略之前关于角探测的信息。它现在可以在所有 4 个外部 corrr 上使用边缘和官方版本。不知道之前出了什么问题…

探测和 gcode 旋转 #94
作者

尝试使用仅包含 XY 弧的简单程序进行旋转。XZ 和 YZ 在后处理器中被禁用。
似乎工作得很好。这是一个简短的视频:
https ://youtu.be/_FbhxemMLXc

探测和 gcode 旋转 #94
所有者

@raenji-sk感谢您的反馈。

上传的新边缘版本可以根据程序限制值指定旋转中心(原点)。

探测和 gcode 旋转 #94

探测和 gcode 旋转 #94
作者
兰吉斯克 评论了 2021 年 5 月 11 日  

上传的新边缘版本可以根据程序限制值指定旋转中心(原点)。

非常好,可能会有用。

发现了一些其他的东西:
https : //1drv.ms/u/s!AmP5jEwdNIwcltc0gHe-pLyD-xAThg?e=FYm0Dm 一个带有新测试 gcode 的驱动器文件夹

  1. 旋转 gcode 条带/更改一些命令/参数
    如果将旋转测试 M7M8.nc 与其旋转版本进行比较,则存在代码的缺失部分,例如
    第 6 行 – 原始为 G28 G91 Z0 在开始实际铣削之前缩回 Z ,旋转文件只有G91G28
    第13行-停留在G4 S2,在旋转文件中是S2G28
    第136和138行,G28 G91 Z0和G28 G91 X0 Y0缺少XYZ坐标参数

  2. M6 命令问题
    在 Fusion grbl PP 中使用多个工具并启用 M6。此 gcode 使 IOSender – 文件旋转测试两个工具 M6M7M8.nc 崩溃。在 IOSender 中打开文件时禁用 M6 或剥离它不会使它崩溃,但会使 M6 变得无用。
    这究竟应该如何工作?顺便说一句,即使存在 M6,它也可以在 bCNC 中正常打开。

测试是使用最新的 Edge 版本 (33.p2) 完成的。但我确实在带有 Protoneer 防护罩的 Arduino UNO 上运行了这个,因为我附近没有带 CNC 的 Teensy 控制器,不知道在这种情况下这是否重要所以请告诉我是否应该用 Teensy 重新测试它。
如果您还有其他想要测试的事情,也请告诉我。

编辑 1:第 2 点。当 IOSender 在连接了 Teensy 控制器的情况下运行时,带有 M6 工具更改命令的文件打开而不会崩溃。所以这一定是 8 位 arduino 上 M6 处理的问题。

编辑 2:第 1 点。与 Teensy 控制器 gcode 相同的行为以与上述相同的方式被剥离/修改。

编辑 3:Point1,第 13 行,G4 停留。我将 PP 设置为 G4 Snn(这对于 RepRap 固件 G4Snn 是可以的 – 秒,G4Pnn 毫秒,之前我正在编辑 Duet PP,所以很困惑..)。LinuxCNC/GRBL 只使用 Pnn,所以我把它改回那个。现在旋转 gcode 后,G4 命令从旋转的 gcode 中完全消失。

探测和 gcode 旋转 #94
所有者

喜欢 (0)