[Marlin+Printrboard], [Endstop Settings], Problema sentido del Endstop

2,550 views
Skip to first unread message

MarioCrespo

unread,
Nov 27, 2013, 6:23:32 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
A ver si me podéis ayudar a configurar esto que he cambiado de todo y subido el Marlin un montón de veces y no he logrado que funcione.

El caso es que el Eje Y se mueve en el sentido correcto (Es una TAZ) pero busca el endstop en el sentido equivocado.
Los endstops son todos mecánicos y están en modo NC ya que  aparece así en los esquemas de cableado de la Printerboard. Aunque en este esquema que he seguido el endsop del eje Z es magnético.


En pins.h he tenido que cambiar la ubicación del conector del endstop "Y" al del endstop "E" (al parecer es un bug de la placa).

Necesito saber exactamente cual es el/los parámetros a cambiar para que busque el homing en el sentido contrario del que lo hace actualmente pero sin cambiar el sentido del motor. Una vez que lo sepa podré buscar otras posibles causas ya que he cambiado prácticamente todos los parámetros uno a uno y resubido el Marlin cada vez con resultados diferentes. 

Estos son los parámetros:

// Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. 
#define DISABLE_MAX_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z true
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true   // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

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

#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false  //If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MAX_LENGTH 298
#define Y_MAX_LENGTH 275
#define Z_MAX_LENGTH 240

// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0
#define X_HOME_POS 0
#define Y_HOME_POS 0
#define Z_HOME_POS 0

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)


Antonio Navarro

unread,
Nov 27, 2013, 6:55:55 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Hola Mario,

Yo creo que tienes que darle la vuelta al conector de ese motor en la placa, de esta forma inviertes su dirección de giro y luego por software invertir ese eje. De esta forma iría de nuevo en la dirección original y el homing lo hará 'invertido' a como lo tienes ahora.

¿Has probado esto?

Un saludo,

MarioCrespo

unread,
Nov 27, 2013, 7:12:01 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Seguro que sí, pero lo volveré a intentar. ¿Cual es exáctamente la linea que debo cambiar?

Antonio Navarro

unread,
Nov 27, 2013, 7:26:16 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Entiendo que sería en este grupo:

#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true   // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

Cambia el del eje Y y ponlo a 'false'
#define INVERT_Y_DIR false   // for Mendel set to true, for Orca set to false

Un saludo,
Message has been deleted

Andres Maroto

unread,
Nov 27, 2013, 7:48:25 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Primero saber hacia donde se mueven los ejes.

Se supone que con el sistema de coordenadas cartesianas los ejes se mueven de la siguiente manera. el EJE Z negativo (hacia abajo), EJE X (negativo hacia la izquierda) EJE Y (negativo hacia atrás) 
¿Dónde tienes los END_STOP mecánicos??? es lo principal.



MODIFICAR LA DIRECCIÓN DE GIRO 

#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true   // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

Cambia el del eje Y y ponlo a 'false'
#define INVERT_Y_DIR false   // for Mendel set to true, for Orca set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN como bien indica (-1) si está en la posición 0 del eje y (1) si está en el lado contrario, esto le dice a la máquina que el "end_stop" mecánico está en un lado o en otro del eje, para calcular su posición.
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false  //If true, axis won't move to coordinates greater than the defined lengths below.
             //define las medidas máximas de impresión 
esto es para usar junto con los END_STOP y la máquina sabe que desde que pulsa hasta el tope por el otro lado hay esa distancia y sabe que son un número de pasos que ya tiene calculados,  
Message has been deleted

MarioCrespo

unread,
Nov 27, 2013, 11:15:12 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
La TAZ es como la Prusa i3 pero con una cama de 300x300. El Endstop de X a la izquierda, el Z abajo y el Y atrás.

Entiendo que si le quiero decir a la impresora que el HOMING de Y está atrás tengo que modificar la entrada añadiendo un (1) en vez del (-1)

#define Y_HOME_DIR 1

Pues esto ya lo he probado y se mueve el carro pero el boton de homing no responde, voy a probar de nuevo ya que a veces se producen errores al subir el firm.

MarioCrespo

unread,
Nov 27, 2013, 11:26:00 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Lo que me mosquea es que si el -1 es hacia atrás entonces lo tengo bien configurado.
Tanto la  línea "#define INVERT_Y_DIR true" como "#define Y_HOME_DIR -1" están como deben estar. 
Seguro que hay alguna tontería obvia que se me escapa. Se me acaba de ocurrir el variar el punto de agarre de la correa al carro, el motor del carro Y está en posición vertical y a lo mejor conecté la polea por el lado que no era.

Iceflow

unread,
Nov 27, 2013, 11:33:53 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
A veces, volver a bajar el ultimo firmware y volver a configurar todo de cero puede servir... instalacion limpia que decimos los informaticos xDDD


--
 
---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

MarioCrespo

unread,
Nov 27, 2013, 11:41:31 AM11/27/13
to asrob-uc3m-i...@googlegroups.com
Sí, he visto que a veces aparecen caracteres raros en los nombres de los archivo de Marlin y da error, debe ser por usar un cable USB largo sin lo filtros de ferrita.

Creo que ya sé donde está el problema, seguro que parto de una mala conexión  de la polea y eso me trastocó todo el proceso. Al llegar a casa lo compruebo.




El miércoles, 27 de noviembre de 2013 17:33:53 UTC+1, Aisflou escribió:
A veces, volver a bajar el ultimo firmware y volver a configurar todo de cero puede servir... instalacion limpia que decimos los informaticos xDDD
El 27 de noviembre de 2013 17:26, MarioCrespo <mariocre...@gmail.com> escribió:
Lo que me mosquea es que si el -1 es hacia atrás entonces lo tengo bien configurado.
Tanto la  línea "#define INVERT_Y_DIR true" como "#define Y_HOME_DIR -1" están como deben estar. 
Seguro que hay alguna tontería obvia que se me escapa. Se me acaba de ocurrir el variar el punto de agarre de la correa al carro, el motor del carro Y está en posición vertical y a lo mejor conecté la polea por el lado que no era.

El miércoles, 27 de noviembre de 2013 17:15:12 UTC+1, MarioCrespo escribió:
La TAZ es como la Prusa i3 pero con una cama de 300x300. El Endstop de X a la izquierda, el Z abajo y el Y atrás.

Entiendo que si le quiero decir a la impresora que el HOMING de Y está atrás tengo que modificar la entrada añadiendo un (1) en vez del (-1)

#define Y_HOME_DIR 1

Pues esto ya lo he probado y se mueve el carro pero el boton de homing no responde, voy a probar de nuevo ya que a veces se producen errores al subir el firm.

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

Lepes

unread,
Nov 27, 2013, 12:38:36 PM11/27/13
to asrob-uc3m-i...@googlegroups.com
A ver... perdonad que moleste .... (igual estoy equivocado...)

Hasta donde yo sé, en Marlin el eje Y debe estar invertido, porque para imprimir en coordenadas Y positivas, El fusor tendría que venir hacia delante de la impresora, pero para ello la bandeja debe ir hacia atrás, por eso pone "#define INVERT_Y_DIR true   // for Mendel set to true, for Orca set to false"

O sea...

Yo partiría de una versión limpia de Marlin, y si el eje Y va al revés, entonces solo tienes que dar media vuelta al conector. Todo lo demás es enredar el asunto modificando directivas de compilación y enredando la lógica del software "sin necesidad".

De todas formas, cuando llegue a casa puedo postear los valores que tengo en Marlin.


Iceflow

unread,
Nov 27, 2013, 12:55:23 PM11/27/13
to asrob-uc3m-i...@googlegroups.com
Cierto :P a ver si luego prueba y nos comenta jejeje


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

Antonio Navarro

unread,
Nov 27, 2013, 3:04:15 PM11/27/13
to asrob-uc3m-i...@googlegroups.com
Es que depende de cómo esté conectado físicamente y de su posición relativa. Es decir, puede estar el motor atrás, pero en vez de en el lado derecho, con el eje apuntando hacia la izquierda, en el izquierdo con el eje apuntando a la derecha, con lo que giraría en sentido inverso aun con la misma configuración del firmware...

La configuración del firmware depende del montaje físico y aunque se puedan cambiar cosas en el firmware, hay que tenerlo todo bien coordinado o termina siendo todo un caos (invertir eje, el homming al revés...). A mi, aunque me gusta y me parece cojonudo que desde el firmware se pueda modificar todo (o casi), prefiero intentar mantener cierta coherencia, aunque toque hacer cambios mecánicos (dar la vuelta al motor, cambiar el conector...).

Pero bueno, son manías mías, que prefiero pocas 'excepciones' en el software ;-)


El miércoles, 27 de noviembre de 2013 18:55:23 UTC+1, Aisflou escribió:
Cierto :P a ver si luego prueba y nos comenta jejeje
El 27 de noviembre de 2013 18:38, Lepes <lepe...@gmail.com> escribió:
A ver... perdonad que moleste .... (igual estoy equivocado...)

Hasta donde yo sé, en Marlin el eje Y debe estar invertido, porque para imprimir en coordenadas Y positivas, El fusor tendría que venir hacia delante de la impresora, pero para ello la bandeja debe ir hacia atrás, por eso pone "#define INVERT_Y_DIR true   // for Mendel set to true, for Orca set to false"

O sea...

Yo partiría de una versión limpia de Marlin, y si el eje Y va al revés, entonces solo tienes que dar media vuelta al conector. Todo lo demás es enredar el asunto modificando directivas de compilación y enredando la lógica del software "sin necesidad".

De todas formas, cuando llegue a casa puedo postear los valores que tengo en Marlin.


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

Mario Crespo Sueiro

unread,
Nov 27, 2013, 5:18:01 PM11/27/13
to asrob-uc3m-i...@googlegroups.com

Efectivamente había puesto mal la correa, ahora va todo tal y como se refleja en la configuración.

Has recibido este mensaje porque estás suscrito a un tema del grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/asrob-uc3m-impresoras-3d/1QHDB_OHK9g/unsubscribe. Para anular la suscripción a este grupo y todos sus temas, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.

Lario (litris)

unread,
Nov 27, 2013, 7:44:26 PM11/27/13
to asrob-uc3m-i...@googlegroups.com
Y conectalos en NO es lo normal. 

Saludos. 

Enviado desde mi iPhone 4s 32Gb.
--
 
---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.

Xoan Sampaiño

unread,
Nov 28, 2013, 3:23:44 AM11/28/13
to asrob-uc3m-impresoras-3d
Lo «normal» es NC [1].

Más que lo normal, es lo recomendable: "what happens if it's unplugged or my pet rabbit chews through the cable?" Design it such that when it's unplugged, it registers as "at the end" rather than "keep going" [2].



2013/11/28 Lario (litris) <fotos...@gmail.com>



--
Xoan Sampaiño [xoan@twitter|vimeo|flickr|delicious]

 /\  Document Freedom Day - Liberate your documents
_\/` http://documentfreedom.org/ - March 27th, 2013

Astrid piñeros torres

unread,
Dec 10, 2015, 1:40:57 PM12/10/15
to Clone Wars: Imprimiendo impresoras 3D
Hola a todos,
Tengo un problema con los finales de carrera, no me andan, por casualidad me di cuenta que si le digo Homing y oprimo los fines de carrera se desplaza y si lo suelto se se para, es como si me los tomana invertidos,
Ya probe cambiando de true a false los ?_MIN_ENDSTOP_INVERTING   y los ? _MAX_ENDSTOP_INVERTING = false, cambie los #define X_ENABLE_ON 0 por 1, estuve revisando cosa por cosa en el codigo y no me andan, ademas vi en el fin de carrera conectado el NC y el NO y sin soldar el C, (ya venian asi cuando la compre para armar). podra ser eso? o que puede estar pasando? Agradezco si alguno puede ayudarme!!!!


2013/11/28 Lario (litris) <fotos...@gmail.com>
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.

Para publicar una entrada en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

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

Para publicar una entrada en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Rafa Couto

unread,
Dec 10, 2015, 2:00:42 PM12/10/15
to asrob-uc3m-i...@googlegroups.com

2015-12-10 19:40 GMT+01:00 Astrid piñeros torres <astridp...@gmail.com>:
vi en el fin de carrera conectado el NC y el NO y sin soldar el C,

Puedes sacar una foto de eso?


--
Rafa Couto
GNU/Linux user #99126 - http://bit.ly/LC-99126
GPG key - http://bit.ly/GPG-D76ABDEC

MrPegapom (Pedro García)

unread,
Dec 10, 2015, 2:42:26 PM12/10/15
to Clone Wars: Imprimiendo impresoras 3D
Si tienes soldados al NC y al NO y nada al C, te puedo decir que está mal. Y que siempre, hagas los que hagas dará contacto abierto.
Yo revisaría  si es así, y luego lo verificaría con el polímetro, no sea que sea un error de serigrafiado. Si está realmente mal, deberás cambiarlos y usar los contactos C y NC.

Sube una foto,please.

Luis Acrox

unread,
Mar 17, 2017, 12:38:17 AM3/17/17
to Clone Wars: Imprimiendo impresoras 3D
Si estan mal debe soldar NO con C y no tocar nada wn el marlin.
Reply all
Reply to author
Forward
0 new messages