Nomar记录一段历史
初始自动调平配置

我即将完成对已死的 3D 打印机的全面电子更换。我正在使用带有 Repetier 固件的 MKS Gen 1.4 板。这是我第一次尝试从头开始设置自动调平。

我已经安装、定位和校准了感应探头,以便运行 G30(单探头)完美运行并返回有效结果。

但是,当我尝试使用 G28(原位),然后使用 G29 执行完整的自动调平序列时,就在每次探测之前,Y 轴向前(大约)倾斜 70 毫米,并按倾斜量累积偏离位置前进。由于 70 毫米 x 3 比我的床的深度 (200x200) 大,Y 轴撞击并磨合了它的物理极限。此外,这会使 Z-probe 超出床的边缘,这会导致固件进入错误模式,因为实际的 z-low 限位开关被击中,而不会使 Z-probe 跳闸。其中,烦人的让 Z 轴向上移动,直到它最终撞到它的物理极限并磨碎,直到我杀死了电源。

  1. 为什么我的配置会导致这种不稳定的行为?我该如何解决?
  2. 错误行为是否可以配置/更改为不尝试在 Z+ 方向上无限移动? (一旦 #1 被修复,这可能无关紧要,但我不喜欢我的打印机进入一种模式,如果电源没有翻转,Z-stepper 可能会自行烧毁。)

这是我的 config.h 的 Z-probe 部分:

(注意:我尝试将 Z_PROBE_Y_OFFSET 更改为 -75,以查看我是否错误地输入了偏移量。它似乎没有明显改变行为。)

 // #################### Z-Probing ##################### #define Z_PROBE_Z_OFFSET 0.2 #define Z_PROBE_Z_OFFSET_MODE 0 #define UI_BED_COATING 1 #define FEATURE_Z_PROBE 1 #define Z_PROBE_BED_DISTANCE 8.0 // Higher than max bed level distance error in mm #define Z_PROBE_PIN ORIG_Y_MAX_PIN #define Z_PROBE_PULLUP 0 #define Z_PROBE_ON_HIGH 1 #define Z_PROBE_X_OFFSET 10 #define Z_PROBE_Y_OFFSET 75 #define Z_PROBE_WAIT_BEFORE_TEST 0 #define Z_PROBE_SPEED 5 #define Z_PROBE_XY_SPEED 150 #define Z_PROBE_SWITCHING_DISTANCE 1.5 #define Z_PROBE_REPETITIONS 5 // Repetitions for probing at one point. #define Z_PROBE_HEIGHT 22.68 #define Z_PROBE_START_SCRIPT "m117 Autoleveling..." #define Z_PROBE_FINISHED_SCRIPT "m117 Autoleveling Complete" #define Z_PROBE_REQUIRES_HEATING 0 #define Z_PROBE_MIN_TEMPERATURE 150 #define FEATURE_AUTOLEVEL 1 #define Z_PROBE_X1 20 #define Z_PROBE_Y1 00 #define Z_PROBE_X2 160 #define Z_PROBE_Y2 00 #define Z_PROBE_X3 100 #define Z_PROBE_Y3 120 #define BED_LEVELING_METHOD 1 #define BED_CORRECTION_METHOD 0 #define BED_LEVELING_GRID_SIZE 5 #define BED_LEVELING_REPETITIONS 5 #define BED_MOTOR_1_X 0 #define BED_MOTOR_1_Y 0 #define BED_MOTOR_2_X 200 #define BED_MOTOR_2_Y 0 #define BED_MOTOR_3_X 100 #define BED_MOTOR_3_Y 200 #define BENDING_CORRECTION_A 0 #define BENDING_CORRECTION_B 0 #define BENDING_CORRECTION_C 0 #define FEATURE_AXISCOMP 0 #define AXISCOMP_TANXY 0 #define AXISCOMP_TANYZ 0
如果工具撞到物理限制,似乎建议使用高 Z 限位开关(也许还有 X&Y 轴...)。当然,那里也有些不对劲,但有时会有些不对劲,限位开关可以帮助解决这个问题,方法是使软件中止/停止,或者直接切断轴的电源.从这个意义上说,笛卡尔轴比 deltabot 更容易设置限位开关。

1个回答

嗯,我在我的打印机上使用马林鱼,通常偏移量为负,这种差异来自 0.0 Z 值传感器和喷嘴。

例如,我有一块铝板,所以这种材料的电感较小,而且我的喷嘴高度为 1.2 毫米;通常这个值应该在 5mm 以上,但我的打印机读取 1.2mm

所以我的偏移量为 1.2mm(这个值对我来说很危险)因为如果传感器停止工作我可以弯曲板。

G28 上的安全 z 高度为 4mm,并且对于自动探测 G29,Z 的速度测试低于行程 X 和 Y。

 #ifdef AUTO_BED_LEVELING_GRID // set the rectangle in which to probe #define LEFT_PROBE_BED_POSITION 8 #define RIGHT_PROBE_BED_POSITION 156 #define BACK_PROBE_BED_POSITION 156 #define FRONT_PROBE_BED_POSITION 8 // set the number of grid points per dimension // I wouldn't see a reason to go above 3 (=9 probing points on the bed) #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // not AUTO_BED_LEVELING_GRID // with no grid, just probe 3 arbitrary points. A simple cross-product // is used to esimate the plane of the print bed #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 156 #define ABL_PROBE_PT_2_X 15 #define ABL_PROBE_PT_2_Y 20 #define ABL_PROBE_PT_3_X 156 #define ABL_PROBE_PT_3_Y 20 #endif // AUTO_BED_LEVELING_GRID // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) // X and Y offsets must be integers #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25 #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29 #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.2 //-12.35 #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. // Be sure you have this distance over your Z_MAX_POS in case #define XY_TRAVEL_SPEED 7000 // X and Y axis travel speed between probes, in mm/min #define Z_RAISE_BEFORE_PROBING 4 //How much the extruder will be raised before traveling to the first probing point. #define Z_RAISE_BETWEEN_PROBINGS 4 //How much the extruder will be raised when traveling from between next probing points

我希望这有助于了解您的设置。

我已将值设置为零而不是 25 和 29,因为我手动将测试点定义为 8 和 156;当然,喷嘴的中心从板中心移动了 25 和 29 毫米,这避免了与 X0 和 Y0 的碰撞。而且我只用了一次 4 点的水平,如果你的床翘曲,那么需要更多的内部点

 #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25 #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29

随机文章