开源改变世界

FWRETRACT 不适用于 Kossel Mini #817

推推 grbl 3年前 (2023-02-06) 221次浏览
关闭
DerFlob 打开了这个问题 2014 年 3 月 1 日 · 6条评论
关闭

FWRETRACT 不适用于 Kossel Mini#817

DerFlob 打开了这个问题 2014 年 3 月 1 日 · 6条评论

评论

FWRETRACT 不适用于 Kossel Mini #817
贡献者

你好,

我今天用我的 Kossel Mini 尝试了当前 git HEAD 的 FWRETRACT 选项。我使用 Slic3r 对我的对象进行切片,并启用了使用 G10/G11 代码而不是 Slic3r 的内置缩回功能的选项。
我在固件中为一个设置了收回选项,但一开始也是通过gcode(M207 S5 F3600 Z0.2,M208 S0 F1200)。

这里是 gcode 的一个片段:

M207 S5 F3600 Z0.2
M208 S0 F1200
;...
G90 ; use absolute coordinates
G92 E0 ; reset extrusion distance
M82 ; use absolute distances for extrusion
G1 Z0.300 F15000.000 ; move to next layer (0)
G10 ; retract
G1 Z0.500 F15000.000 ; lift plate during travel
G92 E0 ; reset extrusion distance
G1 X16.496 Y24.926 F15000.000 ; move to first skirt point
G1 Z0.300 F15000.000 ; restore layer Z
G11 ; unretract

不幸的是,似乎有一个主要问题。执行G10命令后,打印机向上驱动约150-200mm,不能说具体多少,指定的进给率。
然后它在 G10/G11 之间执行命令,但这样做会被它刚刚向上驱动的量所抵消,这意味着,特别是 G1 Z0.500 不会一直驱动到打印机床。
当它执行 G11 时,它会继续向上移动,最终会碰到一个止动器,但它不会停止,您必须按下重置按钮以防止进一步损坏。

我真的不知道是什么导致了这个问题,最好的猜测是,这是因为我使用的是 delta 运动打印机。

编辑:我也尝试将 zlift 设置为零,因为我认为它可能与它有关,但没有改变。

FWRETRACT 不适用于 Kossel Mini #817
贡献者

这很奇怪。我会看一下,但我认为我为此编写的代码根本不会与 delta 运动学交互。对计划者来说,如果你用 gcode 做的话,它应该看起来一模一样。您是否尝试过在同一版本的 Marlin 上的切片器中禁用固件收回来切片它?

FWRETRACT 不适用于 Kossel Mini #817
贡献者作者

是的,它确实适用于 Slic3r 中禁用的固件收回。当我在 Marlin 中启用 autoretract 时,当它检测到缩回时会出现同样的问题。

这与 delta 运动学有关只是一个疯狂的猜测。我其实没有任何想法。:)

FWRETRACT 不适用于 Kossel Mini #817
贡献者

刚刚在我的新 3DR 版本上遇到了同样的事情,在我的 Mendel90 或 Prusa I3 上 fwretract 没有任何问题。我在这个分支工作:https ://github.com/mattsch/Marlin/tree/3DR

FWRETRACT 不适用于 Kossel Mini #817

我也遇到了这个。这已经解决了吗?如果没有,我会调查一下。

FWRETRACT 不适用于 Kossel Mini #817

我相信我现在通过基本上注释掉 retract() 中的所有 plan_set_position 调用来让它工作。plan_set_e_positions 适用于在没有 z 升降机的情况下缩回。我的猜测是 plan_set_position 调用需要在它们之前进行 calculate_delta 调用,并且它们的参数会填充其结果。