Nomar记录一段历史
Marlin:可以在 ZProbing 时设置 ZMin 限制吗?

问题:可以设置“ZMin-while-probing”吗?这意味着在 Z 探测时打印机床可以移动到的最小 Z 高度。

目的:出于安全原因,探头开关应该不会因某种原因而触发。

——

在 Marlin Configuration.h 中,我看到您可以在部署 ZProbe 之前设置 Z 轴的高度:

#define Z_PROBE_DEPLOY_HEIGHT 35

在这个问题的上下文中,这实际上是“ZMax-while-probing”,即在 Z Probing 开始之前打印床的可能最低。

我正在寻找“ZMin-while-probing”等价物。这样做的原因只是一个额外的安全检查 - 我知道如果探头开关没有在 Z<=25 时触发,那么它不会触发,并且使用这种特定的打印机配置,这将导致 Z 探针被进入打印机床。

是否已存在用于在此处创建健全性检查的设置?

1个回答

您尚未说明您使用的 Marlin 版本。我假设我们正在讨论最新的 Marlin 1.1 RC8。

不再有任何Z_PROBE_DEPLOY_HEIGHT但在早期的 Marlin 版本中它并没有像你想象的那样工作;它用于表示在 Z 探针部署之前要执行的 Z 行程量。这是为了确保为伺服安装、雪橇或其他类型的“收起”探头提供可用空间。这不是对 Z 行程的限制,而是在开始归位之前始终执行的 Z 行程量。如果没有Z_MAX_ENDSTOP的打印机留在最大行程位置,使用非零Z_PROBE_DEPLOY_HEIGHT可能会使机器人撞到 Z 最大结束位置。

在这些先前版本的 Marlin 中,归位高度是通过上述常量加法和减法的组合来计算的,此后已被更简单的单数Z_HOMEING_HEIGHT (它与新的Z_CLEARANCE_DEPLOY_PROBE 无关)所取代

 //#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow

Marlin 中使用最大床位位置的绝对值作为完整性检查,以确保在正向或负向的一次运动中,轴的移动量都不会超过此值:

 #define Z_MAX_POS 200

如果您的探针工作不正常,则没有虚构的 Z_MIN_WHILE_PROBING可以防止有故障的探针导致头部撞到床上,因此它没有实现,允许Z_MAX_POS健全性检查以防止 Z 轴步进器在故障期间无限期地继续运行探测条件。

如果您的Z_MIN_WHILE_PROBING已实施,如果打印机断电(或 Marlin 崩溃等)且打印头处于大于Z_MIN_WHILE_PROBING 的任何 Z 距离,则将没有机制在下一次开机时开始打印,因为 Marlin 永远不会在负 Z 轴,G28 探测期间和探测成功完成后除外。在这种情况下恢复的唯一方法是有人不断尝试将打印机放回原处然后重新启动,每次迭代将头部Z_MIN_WHILE_PROBING移近床。这将是不可接受的用户体验。

此外,如果实现了Z_MIN_WHILE_PROBING ,它会添加的唯一感知安全措施是,在探针故障期间,Z 步进器会撞到床并继续运行仅Z_MIN_WHILE_PROBING步进器旋转而不是Z_MAX_POS旋转。无论如何,床会受到影响,因此几乎不会增加任何额外的安全性,并且步进驱动器不应在单个Z_MAX_POS旋转长度中过热或造成更多损坏(除了已经对床造成的损坏)。

为了在归位期间更加省心,您可以使用Z_MIN_PROBE_ENDSTOP功能和常闭限位开关连接到控制板上的可用引脚:

 // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine. // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing. // //#define Z_MIN_PROBE_ENDSTOP

然后使用Z_MIN_WHILE_PROBING功能将头部移动到Z_MIN_PROBE_ENDSTOP 起始位置上方以执行探测。如果探头出现故障,这将确保打印机仅在Z_PROBE_OFFSET_FROM_EXTRUDER Z 步进器旋转时崩溃:

 #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

总之,为了防止头部撞到床上,您必须确保您的 Z 探针正常工作:)

随机文章