Nomar记录一段历史
使用 Marlin 固件不会触发 Endstops

我有一个旧的 Solidoodle 2,是我从车库销售中购买的,我正在将其转换为使用带有 Marlin 固件的 RAMPS 1.4。所有电机都正常工作,我只是在使限位器工作时遇到问题。

我正在使用一个普通的限位开关,NC 连接到信号引脚,另一个接地。我将此开关插入 X-min 的第一个标题列。我的终点站配置目前是:

 //=========================================================================== //============================== Endstop Settings =========================== //=========================================================================== // @section homing // Specify here all the endstop connectors that are connected to any endstop or probe. // Almost all printers will be using one per axis. Probes will use one or more of the // extra connectors. Leave undefined any used for non-endstop and non-probe purposes. #define USE_XMIN_PLUG true #define USE_YMIN_PLUG true #define USE_ZMIN_PLUG true //#define USE_XMAX_PLUG false //#define USE_YMAX_PLUG false //#define USE_ZMAX_PLUG false // coarse Endstop Settings #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors #if DISABLED(ENDSTOPPULLUPS) // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined //#define ENDSTOPPULLUP_XMAX //#define ENDSTOPPULLUP_YMAX //#define ENDSTOPPULLUP_ZMAX //#define ENDSTOPPULLUP_XMIN //#define ENDSTOPPULLUP_YMIN //#define ENDSTOPPULLUP_ZMIN //#define ENDSTOPPULLUP_ZMIN_PROBE #endif // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). #define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

我启用并反转了 X-min。当我发送 M119(终点站状态代码)时,我收到:

 Send: M119 Recv: Reporting endstop status Recv: x_min: open Recv: y_min: TRIGGERED Recv: z_min: TRIGGERED

然后当我用手按下 X 限位器时,我得到:

 Send: M119 Recv: Reporting endstop status Recv: x_min: open Recv: y_min: TRIGGERED Recv: z_min: TRIGGERED

- 没有变化。开关没有机械故障,我已经用连续性测试仪对其进行了测试。我什至用跳线短接了斜坡板上的信号和接地引脚,但我仍然没有看到任何变化。

错在哪里?

2个回答

尝试取消注释以下行以在所有引脚上启用停止检测以进行故障排除。

 //#define USE_XMAX_PLUG false //#define USE_YMAX_PLUG false //#define USE_ZMAX_PLUG false

这样 M119 将显示任何更改。

我唯一能想到的是,要么将开关插入斜坡板上的错误引脚(最大而不是最小),要么开关不需要上拉(您也可以尝试将其评论为第二次测试) )

结果是那些被注释掉的行的组合,并且终端停止连接到错误的两个引脚。在solidoodles 板上,默认情况下,末端挡块连接器的+ 和- 是相反的。

昨天我在板 MKS Robin Nano 和 Marlin 2.0.6 上有同样的错误。

尝试查找并取消注释此定义:

 #define ENDSTOP_INTERRUPTS_FEATURE

失败在于禁用的终点站中断和损坏的部分代码,这些代码返回原位并在步骤之间取消检查终点站状态。但是,如果您在发送归位命令之前激活了 endstop - 它会根据需要工作。

随机文章