虽然 Trish 直接回答了您问题的 G 代码部分,但如果您使用 Marlin,我的回答提供了另一种选择。RepRap 有一个类似的功能叫做压力推进,但这个答案是专注于 Marlin 的功能。
根据马林的说法:
在默认条件下,挤出机轴运动的处理方式与 XYZ 线性轴相同。挤出机电机与所有其他电机成线性比例移动,保持完全相同的加速度曲线和开始/停止点。但是挤出机不是线性系统,因此这种方法最明显地导致在每次线性运动结束时挤出额外的材料。
简而言之,由于铺设线时不断挤压,角会导致变圆而不是尖锐。可以通过改变流量来缓解这种情况,尽管这可能会影响打印件其他部分的直线,即在挤出时。马林对此的回答是线性推进。
线性推进时,挤出速率随着打印头速度的变化而变化。当打印头移动得更快时,必须推出更多塑料以铺设一致的线条,并且一旦打印头减速,挤出速度就会降低以进行补偿。印刷品应具有一致的线条。这一切都是使用称为 k 的新因子完成的。来自马林:
K 现在是一个有意义的值,单位为 [每 1 毫米/秒挤出速度所需的长丝压缩毫米数] 或 [毫米/毫米/秒]。
可以使用 Marlin 的k 校准工具确定打印机的 k 值,该工具打印出多条直线并指示打印机缓慢打印每行的开头,然后快速打印,然后再次慢速打印。每条线都有不同的 k 值,用户从最一致的线中选择 k 值。
一些注意事项
鲍登式挤出机需要更大的 k 值,即使如此,线性推进也可能不起作用。这是由于鲍登管本身以及挤出机电机和热端之间的材料造成的。这与尝试使用鲍登挤出机打印柔性塑料存在相同的问题。虽然线性推进更适合直接驱动,但也不是不可能在 Bowden 上使用它。
设置线性前进需要一组额外的调谐。虽然这主要意味着调整 k 值,但打印速度可能需要调整(甚至可能允许更快的速度)。
较旧的线性推进版本,至少在 Marlin 上,挤出机电机更加活跃。有些人报告说,打印噪音明显更大。此功能还可能会给 CPU 增加额外的负载。从 v1.5 开始,这些问题应该不再是问题,而是 YMMV。
需要更改固件/G 代码,以便每次打印都可以使用线性前进。如果打印机仅使用一种材料,则可以更改固件。但是,如果在打印机的生命周期内使用多种材料,则 G 代码必须在启动脚本的末尾包含以下命令(更多信息请点击此处)。每种材料的 k 值都不同。该命令的示例如下:
M900 K75 ; Set k-factor for PLA
该链接还建议在固件中打开该功能时将 k 因子值设置为 0。这实质上禁用了固件中的硬编码值。
最后,在使用线性推进时,应禁用切片器设置,如压力推进、结束滑行、缩回后的额外重启长度,因为它们执行类似操作。另一方面,这些设置可能适用于您的打印机,因此您甚至可能不需要使用线性前进。