Contact me: hankecnc@gmail.com

临时激光模式命令 #406

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

打开
AustinSaintAubin 打开了这个问题 2018 年 4 月 1 日 · 12条评论
打开

临时激光模式命令#406

AustinSaintAubin 打开了这个问题 2018 年 4 月 1 日 · 12条评论

注释

临时激光模式命令 #406
奥斯汀圣奥宾 评论了 2018 年 4 月 1 日  

临时设置激光模式的命令是否可行。
类似于临时偏移的命令或指定特殊工具将非常有用。

; Temporary Offset
G92 X0 Y0 Z0  ; Set Temporary Offset
G92.1 X0 Y0 Z0  ; Unset Temporary Offset, reset of controller also clears the offset.

; Specify Tool
M6 T0  ; Tool #0
M6 T1  ; Tool #1
M6 T2  ; Tool #2

对于像我这样有主轴和激光器的机器,设置$32=1$32=0,根据工作,会在 EEPROM 上引入很多磨损。
对于我的机器,我更喜欢关闭/禁用激光模式,因为如果我在雕刻时忘记禁用激光模式,默认启用激光模式会损坏我的机器。
我的大多数激光脚本都包含$32=1在页眉和$32=0页脚中。
这样,当我用主轴雕刻时,我通常会确信 GRBL 未处于激光模式。


如果指定了特定工具,我建议进行设置以启用激光模式。

$33=1 ; Laser Mode will enable if Tool #1 is selected (M6 T1), all other tools will have laser mode disabled by default. Other tool number could be specified to have laser mode enabled for.

如果工具#1(或指定的其他工具#),则激光模式可以自动启用。

... other g-code
M6 T1 ; select laser tool.
M4 1; Laser Power
.... laser code.
... footer code.
end of job.
临时激光模式命令 #406

或者,$32=1可以指定启用工具激光模式,而不是仅为“所有工具”启用激光模式。

临时激光模式命令 #406
贡献者

@AustinSaintAubin: 我喜欢这个想法。但是,在模式之间切换时可能需要考虑一些特殊情况。但是,这不应该那么难解决。

在下一个版本中,我认为激光启用设置可用于完全禁用激光模式,只有在启用时,它才能配置为表示所有工具、特定工具编号或一系列预设工具。我特别喜欢后者,因为这将使某些激光模式可用于需要不同 PWM 频率或更窄功率水平范围的多种材料或复杂作业。它有助于非常快速地切换模式,CAM 程序可以轻松生成并支持这一点。我会确保将其添加到我的下一个主要版本的开发说明中并将其添加到那里。

临时激光模式命令 #406

我也喜欢你的后一个想法。
作为选择工具/激光模式的一部分,可以设置 RPM/PWM。
这在使用某些期望发送特定功率范围的软件时会很有帮助,例如LightBurn 软件0-1000 )=[0-255]PWM,或许多其他软件 (0-255)=[0-255 ]脉宽调制。
当然,主轴的预期转速范围 (1200-2200)=[0-255] 与 PWM 输出相关,激光模式禁用。

拥有可收藏的模式/配置文件会很棒,但我把一切都留给你的专业知识。谢谢!

临时激光模式命令 #406 chamnit 添加了 增强 标签 2018 年 4 月 25 日
临时激光模式命令 #406

出于同样的原因,我最终自己实施了“临时 32 美元”模式:在同时具有激光和主轴的机器中切换时无需佩戴 EEPROM。我的激光 gcode 以 $32=x 开始/结束,对于那些拥有两用机器的人来说,这似乎是合理的。对于激光专用机器,您可能只想离开它。

FWIW,我喜欢使用工具并围绕它们配置激光模式、PWM 等的想法。那会更干净,似乎是更好的长期解决方案。也许这可以与我在此处引用的(正在做的)工作相结合: gnea/grbl-Mega#69

临时激光模式命令 #406

@AustinSaintAubin,我正在尝试相同的技术,我为 Fusion 360 构建了一个后处理器来处理激光模式,并致力于让它根据工具编号自动检测激光模式切换。但是我的 Grbl 控制器出现了一些不一致的行为。这是示例 gcode 输出:

(1001)
G90 G94
G17
G21
;G43.1 Z0
(启用激光模式!)
(使用 X 偏移:0)
(使用 Y 偏移:0)
(使用 Z 偏移:0)
$32=1
G28 G91 Z0
G90

(二维轮廓5)
S12000 M4
G54
G0 X350.6 Y152.4
Z15
Z0
G1 Z-0.2 F333.3
Y261.462 F5000
G3 X345.6 Y266.462 I-5
G1 X60.8
G3 X55.8 Y261.462 J- 5
G1 Y43.338
G3 X60.8 Y38.338 I5
G1 X345.6
G3 X350.6 Y43.338 J5
G1 Y152.4
G0 Z0
G28 G91 Z0
G90
G28 G91 X0 Y0
G90
M5
;G49
(禁用激光模式!)
$32=0

我看到的奇怪行为是,我第一次发送代码时它运行良好,没有报告错误。然而,下次我发送它时,Grbl 似乎忽略了上面的 G0 指令(粗体)并将工具带到 G28 XY 位置的 Z0 并尝试从那里开始工作。如果我取出激光的 $ 命令,那么 Gcode 将按预期工作。

我想知道您以前是否见过这种行为?当您插入 $32 命令来操作激光模式时,您的 Gcode 是什么样子的?

顺便说一下,我构建并安装了 grbl-sim 来进行测试,我没有为同一个文件报告任何问题。当然,它目前没有给我位置信息,所以我无法判断它是否在 G0 上以及在 sim 中都失败了。

我正在使用 bCNC 作为发件人,所以我不确定问题是否出在他们的解析器上。当 Grbl 不处于 IDLE 模式时,UGS 拒绝发送 $ 命令。

临时激光模式命令 #406

@quezadaminter,我不能确定我是否遇到过这个确切的问题。但是,我在第二次运行某些代码时遇到了不一致的情况。我使用带 GRBL 的 CNCjs。最近没有遇到这个可能的错误,所以很难回忆起来。我通常会在运行作业之前发出重置,以清除我在测试设置期间可能更改/调整的任何内容。

您希望我测试您的代码并查看结果吗?此外,您可能会得到一个便宜的 Arduino 并在其上安装 GRBL。当我想测试危险或新事物将零风险时,我会在 Arduino Uno 上运行命令。另请参阅 CNCjs。

临时激光模式命令 #406

@AustinSaintAubin,是的,如果你有时间试试上面的代码。它是一个带有圆角的矩形。如果您的控制器未设置为使用 G28 命令安全工作,那么请确保在尝试运行它之前将它们注释掉,否则您会导致机器崩溃。

我实际上是在按照您的指南在我的设置中安装带有 CNCjs 的 RPi,只是还没有走那么远:)。与此同时,我正在编写这个后处理器来自动混合雕刻/铣削操作和来自融合的激光操作。最终应该能够像您上面建议的那样从工具编号中提取它。如果我们在 Grbl 中获得一个临时参数,它将更加精简!

我有一个备用的 Arduino 可以用来测试,我会试试看,尽管模拟器工作得很好,你也可以用 $C 标志在机器上测试代码。如果您确实尝试了该代码,请告诉我您看到了什么,我所做的只是运行一次操作,让它完成,然后再次点击播放进行第二次运行。在我的情况下,第二次运行不会引发错误,它会切入错误的位置,我发现就像你说的那样,软重置是让控制器回到正轨的唯一方法。我想我可以在后处理器的 gcode 顶部添加一个软重置,只是看起来很脏。

临时激光模式命令 #406
作者
奥斯汀圣奥宾 评论了 2019 年 2 月 3 日  

GRBL Issue #406 for @quezadaminter
临时激光模式命令 #406

测试了你的 gcode 几次。
问题是……始终不一致,其他所有运行都没有完成。
但是,每隔一段时间都会在同一个地方失败。

G90 G94
G17
G21
;G43.1 Z0
;(Enable the laser mode!)
;(Using X offset: 0)
;(Using Y offset: 0)
;(Using Z offset: 0)
$32=1
G28 G91 Z0
G90

;(2D Contour5)
S12000 M4
G54
G0 X350.6 Y152.4
Z15
Z0
G1 Z-0.2 F333.3
Y261.462 F5000
G3 X345.6 Y266.462 I-5
G1 X60.8
G3 X55.8 Y261.462 J-5
G1 Y43.338
G3 X60.8 Y38.338 I5
G1 X345.6
G3 X350.6 Y43.338 J5
G1 Y152.4
G0 Z0
G28 G91 Z0
G90
G0 G91 X0 Y0
G90
M5
;G49
;(Disable the laser mode!)
$32=0

这应该作为一个单独的问题打开。

临时激光模式命令 #406

@AustinSaintAubin,感谢测试。我同意你的看法,我会开一个新的问题。

临时激光模式命令 #406
贡献者

在程序中更改 EEPROM 设置时要小心。请参阅 wiki 中的 EEPROM 问题。它与 AVR 上的 EEPROM 的工作方式有关。在更改任何设置之前插入 G4 Px 命令,以确保 Grbls 规划器为空并且可以安全地更改设置。

临时激光模式命令 #406

@chamnit,谢谢,我会查看 wiki 并测试 dwell 命令。我还认为,当 AVR 正忙于写入 EEPROM 时,串行接口上​​的数据可能会丢失。对我来说有趣的一点是它以交替的方式工作/不工作。总之,多谢指点!

临时激光模式命令 #406

仅供参考,我能够获得#598的解决方案(上面评论打开的问题)。谢谢你们的帮助。

喜欢 (0)