Los topes finales no se activarán con el firmware de Marlin

9

Tengo un viejo Solidoodle 2 que compré roto de una venta de garaje que estoy convirtiendo para usar RAMPS 1.4 con Marlin Firmware. Todos los motores funcionan correctamente, solo tengo problemas para que funcionen los topes finales.

Estoy usando un interruptor de límite regular con NC yendo al pin de señal y el otro a tierra. Tengo este interruptor conectado a la primera columna de encabezado para X-min. Mi configuración final es actualmente:

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

Tengo X-min habilitado e invertido. Cuando envío un M119 (código de estado final) recibo:

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

Y luego, cuando presiono hacia abajo el extremo X con mi mano, obtengo:

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

-Ningún cambio. No hay falla mecánica con los interruptores, lo probé con un probador de continuidad. Incluso he acortado la señal y los pines de tierra en el tablero de Rampas con un cable de puente y todavía no he visto ningún cambio.

¿Dónde está la falla?

Aaron Cofield
fuente

Respuestas:

4

intente descomentar las siguientes líneas para permitir la detección de tope final en todos los pines para la resolución de problemas.

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

De esta manera, el M119 mostrará los cambios.

Lo único en lo que puedo pensar es que o bien el interruptor está enchufado en el pin incorrecto en el tablero de rampas (Max en lugar de Min) o el interruptor no requiere el pullup (también podría intentar comentar eso como una segunda prueba) )

SteveP
fuente
Resultó ser una combinación de esas líneas que se comentaron y los topes finales se conectaron a los dos pines incorrectos. En el tablero solidoodles, los + y - se invierten para los conectores de tope final de forma predeterminada.
Aaron Cofield