Inversión de endstops

      No hay comentarios en Inversión de endstops

En el mercado hay muchos tipos de sondas para calibrar la impresora, tanto NO como NC (Normalmente abierto / Normalmente cerrado) y básicamente funciona al revés una de la otra, en la primera al pulsar se cierra el circuito, en la segunda el circuito está cerrado y al pulsar se abre. Este cambio lo detecta marlin y lo interpreta como un pulso.

Para saber si tenemos bien configurada la sonda, ya sea porque hemos comprado una nueva o porque hemos actualizado marlin sin fijarnos, desde Pronterface, mandamos un M119 y nos dará valores para cada uno de los endstops conectados.

x_max TRIGGERED
y_max TRIGGERED
z_max TRIGGERED
y_min TRIGGERED

Basicamente si el endstop está pulsado deberia salir TRIGGERED y si no, OPEN. Imaginemos que en el ejemplo el efector está arriba pulsando los endstop de altura máxima, sin embargo el sensor está triggered, pese a que nada lo pulse. Esto nos llevaría a error al calibrar, un error de fácil solución.

Abrimos marlin, vamos a la pestaña configuration.h y buscamos la siguiente línea:

#define X_MIN_ENDSTOP_INVERTING

y veremos el siguiente grupo de líneas referentes a los endstops:

#define X_MIN_ENDSTOP_INVERTING false // 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 true // 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 true // set to true to invert the logic of the probe.

Debemos fijarnos concretamente en las líneas cuyos endstops tenemos mal configurados, en el ejemplo, la sonda, es decir, la 3ª y la 7ª lineaas:

#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

En nuestro marlin están en true, así que los ponemos en false (o viceversa) y subimos marlin. Tras subirlo, comprobamos con un M119 que z_min nos da OPEN al no estar pulsada y TRIGGER al pulsarla con el dedo, y ya está.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *