[ENDSTOP SETTINGS] Ayuda con la configuración de Marlin

2,395 views
Skip to first unread message

Juan B. Martin

unread,
Feb 14, 2017, 7:08:27 PM2/14/17
to Clone Wars: Imprimiendo impresoras 3D
Hola, necesito ayuda con al configuración de los endstops y el homing en Marlin. En mi caso tengo 3 endstops ópticos conectados a X/Y/Z + de la Megatronics.
En este enlace podeis ver el modelo .skp y un par de malas fotos de la máquina que estoy montando: http://www.thingiverse.com/thing:1338611.

Los endstop están al final del recorrido de cada eje, con los led encendidos cuando no los tocan los ejes . Con la configuración actual, la posición home (0,0,0) me queda fijada al encender la impresora. Puedo mover con pronterface cada eje hacia los endstops y al llegar a ellos se para, lo cual sería correcto. Sin embargo al hacer home no hay movimiento en ninguno de los ejes, supongo que debería volver a la posición inicial.

Tengo configurado  marlin con lo siguiente:

// @section machine
#define COREXY

// @section homing
//#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
//#define USE_ZMIN_PLUG
#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG

// 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 = 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.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.

// @section homing
//#define MIN_Z_HEIGHT_FOR_HOMING 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
                                 
// 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

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.

// @section machine

// 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 165  // 167,24 - 180 (M114)
#define Y_MAX_POS 145  // 146,43 - 160 (M114)
#define Z_MAX_POS 135  // 139,90 - 140 (M114)

// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)

// Manual homing switch locations:
// For deltabots this means top and center of the Cartesian print volume.
#if ENABLED(MANUAL_HOME_POSITIONS)
  #define MANUAL_X_HOME_POS 0
  #define MANUAL_Y_HOME_POS 0
  #define MANUAL_Z_HOME_POS 0
  //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
#endif

y en configuration_adv.h tengo:

//#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing

Iceflow

unread,
Feb 14, 2017, 7:35:28 PM2/14/17
to asrob-uc3m-i...@googlegroups.com
Por que quieres fijar los limites máximos por hardware y los mínimos por software? lo normal seria al revés... endstops en los mínimos y que el software sea el que indique cual es el máximo recorrido según la configuración del tamaño de tu impresora que le indiques en el firmware...

De echo, igual ese es el problema... diría que los endstops máximos son opcionales, pero los mínimos son obligatorios... si no vuelve al origen para saber cual es el cero,cero la maquina va a estar "perdida"...

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/4b9678b3-1933-44f4-9d54-6de367e68c7f%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Juan B. Martin

unread,
Feb 14, 2017, 8:40:09 PM2/14/17
to Clone Wars: Imprimiendo impresoras 3D
Para X e Y me da un poco igual, cambiaré el límite mínimo a HW y la posición home que tenía pensada inicialmente sin necesidd de cambiar la posición actual de los endstop. Supongo que en Marlin me bastará con cambiar los parámetros HOME_DIR de -1 a 1?

En el caso del eje Z, tendré que cambiar la posición del endstop de la parte inferior de la impresora a la superior, y usar una pieza mucho mas larga para activarlo.

Ya comentaré cómo queda.

De todas formas me extraña que con tantas opciones de configuración como tiene no sea posible configurarlo de ese modo.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.

Iceflow

unread,
Feb 15, 2017, 3:01:58 AM2/15/17
to asrob-uc3m-i...@googlegroups.com
Si tienes home dir a -1 actualmente esta buscando el home correctamente, en el punto 0,0,0 eso seria buscando los endstops en el origen de coordenadas.

De todas maneras, igual es que no estas tu atajando el problema de manera correcta, piensa que trabajas con un espacio tridimensional que puedes adaptar a tus necesidades, que mas da llamarle a donde tienes los endstop ahora origen o fin? déjalos donde están y que esos mismos sean los endstops de eje negativo... y configura por software los positivos, solo tendrás, probablemente, que invertir la dirección de movimiento de los motores de X e Y...

Con el de Z, no se donde lo tienes colocado actualmente, pero quizá si te toque moverlo o igual es un error de concepto... en ese tipo de printer el Z menos es con la cama arriba del todo, tocando el hotend, lo tienes así configurado?

De todas formas, como tu dices, si que es cierto que con tanta configuración se debería poder hacer de alguna manera, aun así, como dije, sigue sin ser la manera optima... imagina que por lo que sea la impresora en un desplazamiento pierde pasos, cuando le mandes volver, con tu método, al origen de coordenadas, siendo estas por software, al haber perdido pasos ya no volverá al lugar correcto, quizá incluso se pase y golpee algo mecánicamente... tener los endstops en el origen sirve también para resetear la posición de movimiento si algo fuera mal en algún momento...

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsubscr...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/4b9678b3-1933-44f4-9d54-6de367e68c7f%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/a88d3714-d8a0-4259-a95d-517b31ec2f41%40googlegroups.com.

Xoan Sampaiño

unread,
Feb 15, 2017, 3:10:14 AM2/15/17
to asrob-uc3m-impresoras-3d
Ningún final de carrera es obligatorio, puedes deshabilitarlos en Marlin.

Lo que si es obligatorio es configurar correctamente la dirección de homing: 1 si en ese eje hay un final de carrera máximo, y -1 si lo hay mínimo.

Así que puedes configurarlo como quieras.

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsubscr...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/4b9678b3-1933-44f4-9d54-6de367e68c7f%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.

Juan B. Martin

unread,
Feb 15, 2017, 5:57:37 AM2/15/17
to Clone Wars: Imprimiendo impresoras 3D
Efectivamente, el Z menos es con la cama arriba del todo, tocando el hotend. Por diseño de la impresora, me venía mejor colocar el endstop físico en la parte de abajo, alejado del hotend, de esta forma, el HOME_Z debería ser identificado por el endstop de software, y el recorrido máximo de Z por el endstop físico. Quizá con el parámetro  #define MANUAL_Z_HOME_POS 135 podría definirse de esta forma?

Otras dudas con los parámetros relacionados son:

o //#define USE_XMIN_PLUG / XMAX_PLUG, ¿se debe corresponder con la conexión física de los endstops en los conectores de la controladora?

o ENDSTOPPULLUPS,¿tienen que estar disabled, ya que sólo los utilizan los endstop mecánicos, y no los ópticos?

Iceflow

unread,
Feb 20, 2017, 4:15:11 AM2/20/17
to asrob-uc3m-i...@googlegroups.com
//#define USE_XMIN_PLUG / XMAX_PLUG

Claro que tiene que corresponderse con la conexion fisica, si no vuelves loco al firmware jejejeje

ENDSTOPPULLUPS

Diría que si es solo mecánico, el final de carrera, tiene que estar activado, para usar los pullup internos del micro, ya que el interruptor no tiene nada, esta pelado...

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.

Iñigo E.

unread,
Aug 9, 2017, 8:17:01 AM8/9/17
to Clone Wars: Imprimiendo impresoras 3D
Hola,

Y si se pone finales de carrera máximos y mínimos como se configurarían?

Un saludo



El miércoles, 15 de febrero de 2017, 1:08:27 (UTC+1), Juan B. Martin escribió:
Reply all
Reply to author
Forward
0 new messages