Endstops 不会使用 Marlin 固件触发

3D打印 马林鱼 坡道-1.4 终点站
2021-04-26 04:57:37

我有一个旧的 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

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

错在哪里?

3个回答

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

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

这样 M119 将显示任何更改。

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

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

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

#define ENDSTOP_INTERRUPTS_FEATURE

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

与此斗争了一段时间后,我发现在末端止动销上,如果来自像我这样的其他设置,则需要将接地销切换到连接器的中心,将 5 伏销切换到正在读取的引脚,例如 skr 1.4 上的 1.29 针。

一旦你这样做了,它就会读取引脚的状态。