エンドストップはマーリンファームウェアを使用してトリガーされません


9

マーリンファームウェアでRAMPS 1.4を使用するように変換しているガレージセールで購入した古いSolidoodle 2があります。すべてのモーターが正しく動作していますが、エンドストップが機能しない問題が発生しています。

通常のリミットスイッチを使用しています。NCは信号ピンに、もう1つはグラウンドに接続しています。このスイッチを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

-変化なし。スイッチに機械的な故障はありません。導通テスターでテストしました。Rampsボードの信号ピンとグランドピンをジャンパー線で短絡させても、まだ変化が見られません。

どこに障害がありますか?

回答:


4

トラブルシューティングのためにすべてのピンでエンドストップ検出を有効にするには、次の行のコメントを外してみてください。

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

このようにして、M119は変更を表示します。

私が考えることができる唯一のことは、スイッチがランプボードの間違ったピンに接続されているか(最小ではなく最大)、またはスイッチがプルアップを必要としないことです(2番目のテストとしてコメントすることもできます) )


コメントアウトされているこれらの行の組み合わせであることが判明し、エンドストップは間違った2つのピンに接続されました。solidoodlesボードでは、デフォルトでエンドストップコネクタの+と-が逆になっています。
アーロンコフィールド2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.