Endstops werden bei Verwendung der Marlin-Firmware nicht ausgelöst


9

Ich habe ein altes Solidoodle 2, das ich kaputt von einem Flohmarkt gekauft habe, den ich konvertiere, um RAMPS 1.4 mit Marlin Firmware zu verwenden. Alle Motoren funktionieren korrekt. Ich habe nur Probleme, die Endanschläge zum Laufen zu bringen.

Ich benutze einen normalen Endschalter, bei dem NC zum Signalstift und der andere zur Masse geht. Ich habe diesen Schalter für X-min in die erste Header-Spalte eingesteckt. Meine Endstop-Konfiguration lautet derzeit:

//=========================================================================== 
//============================== 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.

Ich habe X-min aktiviert und invertiert. Wenn ich einen M119 (Endstop-Statuscode) sende, erhalte ich:

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

Und wenn ich dann mit meiner Hand den X-Endanschlag nach unten drücke, bekomme ich:

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

-Keine Änderung. Es gibt keinen mechanischen Fehler mit den Schaltern, ich habe es mit einem Durchgangsprüfer getestet. Ich habe sogar die Signal- und Erdungsstifte auf der Rampenplatine mit einem Überbrückungskabel kurzgeschlossen und noch keine Änderung festgestellt.

Wo liegt der Fehler?

Antworten:


4

Versuchen Sie, die folgenden Zeilen zu kommentieren, um die Endstop-Erkennung an allen Pins zur Fehlerbehebung zu aktivieren.

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

Auf diese Weise zeigt der M119 alle Änderungen an.

Das einzige, woran ich denken kann, ist, dass entweder der Schalter in den falschen Stift auf der Rampenplatine eingesteckt ist (Max statt Min) oder der Schalter keinen Pullup benötigt (Sie können versuchen, dies auch als zweiten Test zu kommentieren )


Es stellte sich heraus, dass eine Kombination dieser Zeilen auskommentiert wurde und die Endanschläge mit den falschen zwei Stiften verbunden waren. Auf Solidoodles-Platinen sind die + und - für die Endstop-Anschlüsse standardmäßig umgekehrt.
Aaron Cofield
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.