Nomar记录一段历史
使用 Marlin Mesh Bed Leveling 时,喷嘴会从床上跳起来

我在 Anet A8 打印机上使用带有 RAMPS 板的 Marlin 固件。

打印机的床尺寸为 220 x 220 毫米,这在configuration.h文件中有所说明。使用网床调平时,将 x-min 设置为 5.0 后,喷嘴完美地跳到床的第一个角,但接下来的两个点不在床的末端。这是我的设置:

 // Travel limits after homing (units are in mm) #define X_MIN_POS 5.0 #define Y_MIN_POS 0.0 #define Z_MIN_POS 0 #define X_MAX_POS 220 #define Y_MAX_POS 220 #define Z_MAX_POS 240

我的问题可能是什么?

您发布的设置与床位调平没有太大关系。它们只是正常操作的移动限制。您应该发布配置的探头偏移和探测位置(例如,“LEFT_PROBE_BED_POSITION”或“UBL_PROBE_PT_1_X”,取决于您的配置)。
@TomvanderZanden 太糟糕了,OP 没有回答您的评论,您是唯一知道 Q(和 A)中使用了错误常量的人!

2个回答

问题出在代码中。请使用这些:

 // The size of the print bed #define X_BED_SIZE 220 #define Y_BED_SIZE 220 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 5 #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 240

你的问题会好的。

您需要解释为什么这些更改是有效的 - 特别是如果其他人将来会用类似的问题查看此答案。
实际上,这些是针对此特定问题更改的错误常量,这些仅定义了从止动件到原点和最大床位位置的喷嘴偏移,这与探针限制位置无关。问题确实出在代码中,而不是您在答案中解决的代码!

没有一个答案能解决您的问题来解决它!唯一明智的贡献来自@TomvanderZanden的评论。


为了使传感器保持床的限制范围(考虑传感器的偏移和热端托架的大小),您需要定义传感器(加上托架)可以到达的位置(使传感器也保持在床上,您还需要定义传感器限制)。建议的常量对于定义床的大小和构建体积很重要,但更改它们实际上并不能解决您的问题。您的问题是您需要解决传感器可能在指定体积内探测的位置,即传感器探测区域。

我在 Anet A8 上使用 ABL(自动贝尔调平),在位置( x = -26 mmy = -40 mm从喷嘴中心看)使用左前安装的传感器。为了让传感器在床区上运行而不会碰到车厢的限制,您必须(自己!)计算自动床调平区的尺寸是多少。这是因为传感器偏离了喷嘴。如果传感器覆盖整张床,则轴上需要额外的空间。为了解释这一点,如果您的传感器在左前方,就像我的情况一样,您在 X 滑架右侧留下的额外空间量将决定滑架可以走多远,从而限制正确的探头位置。如果托架上没有额外空间(最安全的假设),您只需要将传感器偏移量添加到最大床尺寸(喷嘴可以达到的范围)。例如,我的探头 X 偏移量为-26 mm 。因此,最大探头距离为-26 mm + 220 mm = 194 mm

这意味着您需要在 Marlin 固件安装的 configuration.h 中设置以下常量(在启用 ABL 的设置中;探头和调平类型...):

 #define X_PROBE_OFFSET_FROM_EXTRUDER -26 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -40 // Y offset: -front +behind [the nozzle] // Set the boundaries for probing (where the probe can reach). #define LEFT_PROBE_BED_POSITION (0 + 10) // 10 #define RIGHT_PROBE_BED_POSITION (220 - 26 - 10) // 184 #define BACK_PROBE_BED_POSITION (220 - 40 - 10) // 170 #define FRONT_PROBE_BED_POSITION (0 + 10) // 10

此外,您提到的设置需要是:

 // The size of the print bed #define X_BED_SIZE 220 #define Y_BED_SIZE 220 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS -33 // Distance from end switch to X = 0 of origin #define Y_MIN_POS -10 // Distance from end switch to Y = 0 of origin #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 240

-33-10定义了喷嘴从停止位置到打印原点需要移动的距离!将 ABL 与传感器一起使用时,无需更改此设置(除非您使用具有不同喷嘴中心的不同打印头托架)。为什么这些值是-33-10 (或接近于此的值;例如,对于我的打印机,它们是-36-8 )在此答案中进行了解释。

随机文章