Welcome! Log In Create A New Profile

Advanced

Finales de carrera no actuan

Posted by Jaume Cat 
Finales de carrera no actuan
March 09, 2017 06:17AM
Buenos días des de Barcelona. Soy nuevo, tanto en el tema de las impresoras 3D, cómo en este fórum. Me he construido una Prusa i3, en buena parte siguiendo los tutos de RepRap. Muy buen trabajo. Voy solucionando problemas, pero ahora me encuentro con uno que no doy con la solución. Pienso que debe ser un problema de configuración del Marlin, pero soy incapaz de encontrar lo que hay que modificar o adaptar.

La cosa es que los finales de carrera no actúan.

Tengo instalados los endostops con placa y LED, de tres cables. Ya se que uno es GND, otro Vcc y el otro el de señal. Los conectores están correctamente colocados, tanto en el interruptor, cómo en la RAMPAS (posiciones 1, 3 y 5).

Utilizo el Repetier. Los motores se mueven correctamente, la cama y el extrusor se calientan bien, los ventiladores funcionan y la LCD funciona.

Al activar los endstop manualmente, los LEds se encienden, lo que indica que actúan correctamente, por eso pienso que el problema debe de estar en el Marlin. He estado buscando por internet si podía localizar donde está el fallo, pero no lo he conseguido.

La configuración que tengo en Marlin es la siguiente:

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.

const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.

//#define DISABLE_MAX_ENDSTOPS

//#define DISABLE_MIN_ENDSTOPS


Al escribir M119 en el monitor serie del IDE, da estos valores:

Estado en reposo:

Reporting endstop status
x_min: TRIGGERED
x_max: TRIGGERED
y_min: TRIGGERED
y_max: TRIGGERED
z_min: TRIGGERED
z_max: TRIGGERED
ok


Activando cada uno de los finales carrera:

Reporting endstop status
x_min: open
x_max: TRIGGERED
y_min: open
y_max: TRIGGERED
z_min: open
z_max: TRIGGERED
ok


He estado cambiando parámetros, pero no consigo que al activar los finales de carrera paren los motores.

Alguien puede darme alguna orientación de donde está el fallo?

Gracias por la atención y la ayuda.

Salu2


www.histoviatges.com
Re: Finales de carrera no actuan
March 09, 2017 08:23AM
Hola, lo que te está pasando es que tenés la logica al revé, deberías llograr que en reposo todos digan OPEN y cuando activás cada uno digan triggered.
Yo tengo endstops mecanicos comunes y lo tengo así:

// 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).
const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

Saludos!!!
Re: Finales de carrera no actuan
March 09, 2017 08:25AM
La otra opción es como dice en el firmware conectar los endstops en NC (normalmente cerrados, porque si se corta un cable en este caso se para la impresora, en cambio si los conectas en Normalmente abiertos y se rompe un cable podrás llegar a romper todo).

Saludos!
Re: Finales de carrera no actuan
March 09, 2017 02:37PM
Diegonavarro, me parece que he estado haciendo el jaramillo todo el tiempo. Creo que he estado haciendo las pruebas mal todo el rato.

Necesitaría que me confirmaras o corrigieras estos puntos (adjunto imagen) :

1.- Los endstops SOLO funcionan activando las "casita" X, Y, Z y vacía (cool smiley?

2.- No actúan si los motores se accionan con las flechas (A)?

3.- En la guía Z, están invertidas las flechas, es decir, clicando (C) debe subir el conjunto del extrusor, y clicando (D) debe bajar éste? O debería ser "normal", clicando (D) debería subir y (C) bajar?

4.- Tal y cómo lo tengo ahora, la guía del Z, al clicar sobre la "casita" Z, empieza a bajar, y al tocar el endstop, se para, con lo que parece un pequeño rebote, y sube o retrocede unos milímetros antes de pararse. Es normal así o debería parase en el momento que toca el fin de carrera?

El error que creo que estaba cometiendo, es que siempre hacía mover los motores a través de las flechas del Repetier, y los endstops no actuaban. "Accidentalmente" lo he probado moviéndolos a través de las "casitas" y así sí que funcionan.

Te estaría muy agradecido si pudieras confirmarme o corregirme las preguntas que te hago, a ver si, de una vez, podemos seguir adelante con el calibrado.

Venga, muchas gracias por la atención y la ayuda.

Salu2 cordiales.


www.histoviatges.com
Attachments:
open | download - Comandaments Repetier.jpg (376.4 KB)
Re: Finales de carrera no actuan
March 09, 2017 06:53PM
Hola, en general (por lo menos a mi gusto) para no hacerse lio ni marearse con cosas que no van, yo trato de seguir una guia media cuadrada de como revisar todo lo que te está pasando, te paso como lo hago yo (debe haber muchos que lo hacen asi o de otra forma)


1ro. Conecto todo como de costumbre. Guia (si es una prusa o similar)

EJE X, si el endstop está a la izquierda va a ser conectado en XMIN a la derecha en XMAX
EJE Y. Si va atrás es YMIN si lo ubicas si va adelante es YMAX
eje Z : En las prusas generalmente va abajo, o sea ZMIN

2do. Con el boton de apago a mano, o el boton de reset o lo que sea (por las dudas que algo esté mal conectado) pongo todos los ejes primero a mano en el medio y prendo la maquina. y hago las primeras pruebas con comandos GCODE:

---> M119
Como no hay ningun endstop accionado tienen que estar todos en OPEN... si no es así corrijo el valor en el firmware, verifico conexiones hasta que salgan todos como OPEN.
Luego acciono con la mano de a uno y verifico que nuevamente al poner el M119 me salga el que accioné a mano como TRIGGERED
Si todo esto sale bien paso al punto 3, sino verifico todo, pero no sirve mover los ejes si los finales de carrera no funcionan bien, porque segun el firmware se pueden no mover o ir para donde no deben.


3. Prueba de direccion de motores:

Lo mismo sigo con todo en el centro y con GCODE ingreso estos codigos:

G0 X+20
(quiere decir que en el eje X mueva 20 mm hacia la DERECHA) si no se mueve a la derecha, apagar todo y o se puede dar vuelta la ficha de conexion del motor si es bipolar común, o se puede modificar en el firmware el parámetro que dice (para marlin):

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

Lo mismo para Y es G0 Y+20 y lo mismo para X G0 Z+20

Recién ahi paso al punto 4

4. Prueba de dirección de HOME.

Primero eje X
G28 X

(el eje debería moverse hacia donde se encuentra el endstop, si no es así tener a mano la forma de apagar todo y revisar donde se conectó (punto 1) y lo siguiente en marlin:

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1

Repetir lo mismo para X, Y e Z... una vez que todo esté ok, se puede hacer el

G28

Que hace el home completo.

5. Por ultimo para asegurarnos que el endstop contrario al configurado (o sea por ejemplo el eje Y tiene como minimo uno mecanico y como máximo se define por firmware hasta donde llegar para no romper todo) hay que:
Hacer un home con G28
Luego ir moviendo el eje con

G0 X150
G0 X160
y así hasta donde llegue el máximo de nuestro eje X (en cada modelo a veces queda en 200, 190, etc.. depende de como quedó construida.
Repetir lo mismo para los 3 ejes y cargar el valor en:



// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 185
#define Y_MAX_POS 200
#define Z_MAX_POS 240


Recién ahi sigo adelante con la calibración y el valor de los "TRAVEL LIMITS" hay que retocarlo una vez que se calibren los pasos de cada eje.

Espero te sirva de guía... creo que con eso respondo tus consultas. Ahi todos las direcciones deberian andar bien en repetier, asi como la dirección del home, etc.

Saludos!
Re: Finales de carrera no actuan
March 10, 2017 05:26AM
Diegonavarro, infinitas gracias por este mini tuto. Ha aclarado perfectamente las dudas que tenía sobre esta parte del calibrado. Y muchas gracias, porque son aspectos del calibrado que no he encontrado en parte alguna, y mira que he mirado y chafardeado por internet. Supongo que en los cientos de tutos que navegan por ahí, deben de dar por sentados estos pasos.

Ahora funcionan perfectamente los motores, el home, el homing, etc., pero sobre todo, he entendido el cómo y el porqué de los mandos del Repetier.

Solo un par de cosas más.

1.- Entiendo que en el Repetier y el eje Z, la flecha que señala arriba, efectivamente debe desplazar este eje hacia arriba. Me equivoco? Lo digo por que en algunos tutos (bastantes) que he estado mirando, indican que los sentidos están invertidos (flecha arriba, eje desciende), cosa que no entiendo el por qué.

2.- Tanto la cama (Y), cómo el extrusor (X), cómo el eje (Z), al llegar al fin de carrera y pararse, hacen cómo un pequeño rebote, en el que el LED llega a apagarse y encenderse de nuevo, y la pieza vuelve a descansar sobre el endstop. Esto es normal? Debe ser así? O, por el contrario, debería parase inmediatamente al tocar el fin de carrera?

Insisto, muchas gracias Diego, gracias a ti he visto la luz. Ahora puedo seguir con el calibrado...

Salu2 cordiales


www.histoviatges.com
Re: Finales de carrera no actuan
March 10, 2017 11:51AM
buenas!! buenisimo que ahora te ande bien!!!


1. La flecha de arriba del Z debe sumar en el z, es decir que en una maquina tipo prusa el cero lo tenés cuando el Z está ABAJO, al darle la flecha que está arriba sube el eje, pero en una maquina tipo ultimaker donde el extrusor queda fijo en Z y se mueve la cama, la misma flecha hace que BAJE.... pero siempre es lo que vos deberías ver en el display o como posición de Z positivo, o sea Z0 es el cero y dandole a la flecha vas a Z10, 20... etc. Inclusive yo tengo una versión de repetier en MAC que ni siquiera tiene las flechas... tiene los valores en positivo y negativo que para mi son mas claros.


2. El rebote es correcto, está implementado en repetier y marlin hace rato, la idea es una aproximación rapida (la velocidad que definis en homing feedrate) y luego retrocede un poco y se acerca mas lento para supuestamente tener una lectura mas precisa del final de carrera... se puede configurar cuanto regresa y las velocidades también...


De nada, la idea es que nos podamos ayudar entre todos, es la finalidad de estos foros. Saludos!!!!
Re: Finales de carrera no actuan
March 11, 2017 12:12PM
Diego, muchas gracias, me has aclarado perfectamente las dudas.

Voy a seguir con los ajustes. Ahora tengo pefectamente claro el funcionamiento de los motores y del Repetier. Ha sido una información que no he encontrado en ninguna parte.

Gracias de nuevo.

Salu2 cordiales.


www.histoviatges.com
Sorry, only registered users may post in this forum.

Click here to login