Endstops non si attiverà utilizzando il firmware Marlin


9

Ho un vecchio Solidoodle 2 che ho comprato rotto da una vendita di garage che sto convertendo per usare RAMPS 1.4 con il firmware Marlin. Tutti i motori funzionano correttamente, ho solo problemi a far funzionare i finecorsa.

Sto usando un finecorsa regolare con NC che va al pin del segnale e l'altro a terra. Ho questo interruttore inserito nella prima colonna di intestazione per X-min. La mia configurazione endtop è attualmente:

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

Ho X-min abilitato e invertito. Quando invio un M119 (codice di stato di fine corsa) ricevo:

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

E poi quando premo verso il basso la X con la mano ottengo:

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

-Nessun cambiamento. Non ci sono guasti meccanici con gli interruttori, l'ho testato con un tester di continuità. Ho anche messo in corto circuito i pin di segnale e di terra sulla scheda Ramps con un cavo jumper e non ho ancora visto alcun cambiamento.

Dov'è la colpa?

Risposte:


4

prova a decommentare le seguenti righe per abilitare il rilevamento di fine corsa su tutti i pin per la risoluzione dei problemi.

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

In questo modo l'M119 mostrerà eventuali modifiche.

L'unica cosa che mi viene in mente è che o l'interruttore è inserito nel pin sbagliato sulla scheda rampe (Max invece di Min) o l'interruttore non richiede il pullup (potresti provare a commentarlo anche come secondo test )


Si è scoperto che era una combinazione di quelle righe che venivano commentate e le battute finali erano collegate ai due pin sbagliati. Sulla scheda solidoodles i tasti + e - sono invertiti per impostazione predefinita per i connettori del finecorsa.
Aaron Cofield il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.