在打印过程中,我的打印机偶尔会做出一些神秘的动作:它会非常缓慢地将 X 或 Y 轴一直向左/向前移动,然后非常缓慢地移回其原始位置并恢复正常打印。我检查了我的 G 代码文件,这些动作绝对不是 G 代码的一部分。什么可能导致这种情况?
我在笛卡尔打印机上从 SD 卡打印。
在打印过程中,我的打印机偶尔会做出一些神秘的动作:它会非常缓慢地将 X 或 Y 轴一直向左/向前移动,然后非常缓慢地移回其原始位置并恢复正常打印。我检查了我的 G 代码文件,这些动作绝对不是 G 代码的一部分。什么可能导致这种情况?
我在笛卡尔打印机上从 SD 卡打印。
问题是由于损坏的 SD 卡造成的,它偶尔会从中读取一些垃圾。事实证明,Marlin 会尝试解释一个损坏的移动命令,G0 X1q3.54
并且仍然尽可能多地读取数字。在这个例子中,它会被解释为G0 X1
而不是(如可能的那样)G0 X103.54
。
这完美地解释了我的症状:
X 和 Y 总是移动到(大约)它们的起始位置,但它总是只有其中一个(这两个移动都不太可能被破坏)。
Z 没有受到影响,因为 Z 移动在 G 代码中很少见(仅在层更改时),因此 Z 移动不太可能受到影响。
E 没有受到影响,因为 Marlin 的长挤压预防会阻止将 E 移动到接近 0 的请求。
除了存储磨损位的损坏的 SD 卡,导致荒谬的命令,也有可能文件的 Creatin 中的其他部分受到损害:
例如,如果在写入过程中取出卡,就会发生这种情况 - 但在这种情况下,它在导入解释器时应该主要是一个不完整的文件。
如果写入过程本身有问题,例如如果 SD 端口有缺陷或适配器有错误,则会出现更多随机分布的坏命令。写入失败的另一种方式是 SD 卡适配器/端口的驱动程序损坏。
通过将 G 代码重新导入切片器(例如 CURA 允许这样做)并查看工具路径,可以检测到坏文件或损坏的卡。如果任何端口对任何卡执行此操作,则应归咎于软件:查看驱动程序更新(罕见!)并重新安装切片器后它是否仍然存在。如果它在一个端口出现故障但在另一个端口工作,则端口或适配器可能有问题,可能需要更换。如果它是一张牌的地方性牌,则这张牌已损坏并被丢弃。如果它是单个文件特有的,请用新文件覆盖它 - 有时由于几乎无法理解的原因写入失败。
如果文件和卡片没问题,但在打印机上读取错误,则应归咎于打印机中的读卡器或板卡。