G 代码等待挤压命令完成

3D打印 马林鱼 g代码
2021-04-29 03:15:05

在开始打印之前,我有以下 G 代码来灌注喷嘴。

G28 ; home all axes
G0 Z5 F5000 ; lift nozzle
G0 X30; move to X30
G28 Y; home Y
M420 S1; turn on bed leveling
M109 S220; wait for hotend temperature
G1 E20 F1800; extrude filament 20mm

这个想法是在床外挤出一缕细丝,然后开始打印。绳子挂在床上,泪流满面。所以软泥不会弄乱第一层。

问题是G1 E20 F1800不等待移动完成,控制器立即进入下一个移动。这意味着喷嘴将开始第一层,同时沿途喷出细丝。

有没有办法等待移动完成?

我试过M400这似乎没有帮助。我正在使用 Marlin 固件。

1个回答

你确定这个动作没有完成?这将是非常不寻常的,而不是 3D 打印机固件的正常运行方式。新的G0/G1移动命令在前一个完成之前不会执行,无论是仅挤出、仅行进还是打印移动(挤出和行进的混合)。

您可能会遇到的情况是,您尝试挤出的材料量无法熔化并以您要求的速度通过挤出机。以 1800 毫米/分钟的速度,假设长丝直径为 1.75 毫米,则您需要每秒挤出超过 72 立方厘米的材料(接近整立方厘米!)。根据我刚刚做的一些粗略计算,以这种速度将 PLA 从室温持续升高到挤出温度需要 300 多瓦,如果没有极端的热端和电源,这种情况是不会发生的

因此,您得到的是挤出机齿轮和热端之间的压力积聚(直到它开始滑动),导致材料在 E 轴移动完成后继续渗出一段时间,直到所有压力消退。如果您的目标是为打印喷嘴准备好喷头,这不是如何做到的。它最终只会在打印开始时渗出材料。

您可以通过降低命令中的进给率来稍微解决这个问题,但这仍然不一定会给您带来很好的结果。正确的灌注方法是以接近您的热端可以处理的最大速度挤出,然后在到达打印开始的位置之前缩回并擦拭