Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
DUDA Problema de Configuracion "Finales de carrera"
#1
Hola a todos
Me estoy haciendo una impresora CoreXY  pero estoy teniendo problemas para configurar los Finales de carrera y configurarlos en el Marlin.
Os explico un poco lo que tengo montado para poneros en situación:

-Eje X  Endstop Optico.
-Eje Y Endstop de pulsador.
-Eje Z sensor capacitivo para el autolevel.

Como podeis ver tengo un Popurri de sensores.... jajaja... Ademas quisiera que el HOME lo hiciera al fondo de la cama a la Izquierda (para que no moleste el extrusor al retirar las impresiones ya que la quiero cerrar por completo y dejar solo una puerta en el frente).

Os dejo una foto en la que marco donde esta cada sensor y la posicion de los motores.

Lo que necesito saber es donde conecto cada sensor y que valores he de poner en Marlin.

Muchas gracias.
resim

PD: He visto que habia un hilo con una duda similar pero no he utilizado este porque la duda era para una PRUSA y no queria causar confusion entre la gente ya que esta es CoreXY.
Citar
#2
Hola, suponiendo que la foto está hecha desde la parte frontal (que supongo que sí), si los conectas en la placa tal y como los has nombrado en la foto, tendrás el home de los ejes X e Y al fondo a la izquierda.
El sentido positivo del eje X irá de izquierda a derecha y el del eje Y del fondo al frente.
Mucho ojo, porque esto hará que tengas invertidos uno o los dos ejes respecto a los programas de corte y si la pieza no es simétrica, se imprimirá invertida. En CURA tendrás el eje Y. En Simplify3D tendrás los dos.
En este último se puede corregir en las características de la máquina, en el perfil de impresión. En CURA tendrás que reflejar según el eje Y la pieza a imprimir.

Cuando se utiliza un sensor, el home del Z conviene hacerlo en el centro de la cama. Para ello tienes que activar el Z Safe Homming.
Se hace en las siguientes líneas del configuration.h de Marlin:

#define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING)
 #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
 #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif


Por defecto está configurado en el centro de la cama, pero puedes ponerlo en el punto que quieras, siempre que en él esté el sensor sobre la superficie a detectar.
De todas formas, en que se aparte el extrusor para retirar las piezas no influye donde se encuentre el home, sino que se configura en el script de finalización del programa de corte que utilices, poniendo una orden de movimiento al punto que quieras que se vaya el extrusor una vez que acabe la impresión.

Los finales de carrera tendrás que comprobar de que tipo son: NO (Normalmente Abiertos) o NC (Normalmente Cerrados).
Los NO dan la señal cuando se activan. Los NC la dan cuando no están activados.
Se configuran en las siguientes líneas:

#define X_MIN_ENDSTOP_INVERTING (false o true)
#define Y_MIN_ENDSTOP_INVERTING (false o true)
#define Z_MIN_ENDSTOP_INVERTING (false o true)
#define Z_MIN_PROBE_ENDSTOP_INVERTING  (false o true)


Los de tipo NC hay que configurarlos como false; los NO como true.
Ten en cuenta que, dado que estás utilizando el sensor también como final de carrera de Z, tienen que tener los dos el mismo valor.
Si no te aclaras con el tipo que es cada uno, pués por prueba y error. Ponlos todos a false y comprueba uno a uno si funcionan bien. Si no lo hacen, cambia el valor a true del que no funcione como debe.
Puedes comprobarlos enviando un comando M119, que te devuelve su estado.

Para el tema de los motores no se si necesitas ayuda, así que te la pongo también por si acaso.
La dirección del movimiento se configura en las siguientes líneas, que conviene poner así (por ejemplo) en un principio:

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR false


Los del extrusor y el eje Z son sencillos de configurar.
El del extrusor (doy por sentado que utilizarás solo uno, E0), conéctalo y mira cómo se mueve. Si lo hace al revés, cambia su valor a true.
Creo ver que tienes dos motores para el eje Z, pero no parece que los tengas sincronizados mecánicamente. Esto puede que te dé problemas de nivelación de la cama.
Conecta los dos motores y mira hacia donde se mueven. Recuerda que en este tipo de impresoras, la dirección positiva del eje Z es cuando baja la cama. Si se mueven al contrario, haz como con el extrusor.
Si la electrónica que tienes es una con posibilidad de conectar cinco drivers y no vas a utilizar dos extrusores, tienes la posibilidad de utilizar un driver separado para cada motor del Z, cosa que es muy conveniente para darle más fuerza, repartiendo el trabajo entre dos drivers.
Para los motores X e Y la cosa es un poco más complicada.
Hay que configurar dos cosas: el tipo de cinemática (CoreXY o CoreYX) y la dirección de movimiento.
Lo primero se configura en las siguientes líneas:

//#define COREXY
//#define COREYX


Hay que quitar la // de la línea correspondiente (solo puede estar habilitada una).
Quizá haya una forma de saber a priori cual es la configuración que hay que poner (si alguien la conoce, le agradecería que la indicase), pero a mí no se me ocurre otra que la de prueba y error.
Es decir, variar la configuración de los parámetros y ver como se mueven los ejes hasta dar con la correcta.
Las posibilidades son todas las combinaciones de CoreXY y CoreYX con INVERT_X_DIR (false/true) e INVERT_Y_DIR (false/true).
Hay que ir probando todas hasta dar con la que hace que los ejes X e Y (ambos a la vez), se muevan en los sentidos correctos.
Hecho todo esto, ya podrás pasar a la calibración de los micropasos por milímetro de la forma habitual.
Un saludo.
Citar
#3
(09-06-2018, 02:19 AM)Simemart escribió: Hola, suponiendo que la foto está hecha desde la parte frontal (que supongo que sí), si los conectas en la placa tal y como los has nombrado en la foto, tendrás el home de los ejes X e Y al fondo a la izquierda.
El sentido positivo del eje X irá de izquierda a derecha y el del eje Y del fondo al frente.
Mucho ojo, porque esto hará que tengas invertidos uno o los dos ejes respecto a los programas de corte y si la pieza no es simétrica, se imprimirá invertida. En CURA tendrás el eje Y. En Simplify3D tendrás los dos.
En este último se puede corregir en las características de la máquina, en el perfil de impresión. En CURA tendrás que reflejar según el eje Y la pieza a imprimir.

Cuando se utiliza un sensor, el home del Z conviene hacerlo en el centro de la cama. Para ello tienes que activar el Z Safe Homming.
Se hace en las siguientes líneas del configuration.h de Marlin:

#define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING)
 #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
 #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif


Por defecto está configurado en el centro de la cama, pero puedes ponerlo en el punto que quieras, siempre que en él esté el sensor sobre la superficie a detectar.
De todas formas, en que se aparte el extrusor para retirar las piezas no influye donde se encuentre el home, sino que se configura en el script de finalización del programa de corte que utilices, poniendo una orden de movimiento al punto que quieras que se vaya el extrusor una vez que acabe la impresión.

Los finales de carrera tendrás que comprobar de que tipo son: NO (Normalmente Abiertos) o NC (Normalmente Cerrados).
Los NO dan la señal cuando se activan. Los NC la dan cuando no están activados.
Se configuran en las siguientes líneas:

#define X_MIN_ENDSTOP_INVERTING (false o true)
#define Y_MIN_ENDSTOP_INVERTING (false o true)
#define Z_MIN_ENDSTOP_INVERTING (false o true)
#define Z_MIN_PROBE_ENDSTOP_INVERTING  (false o true)


Los de tipo NC hay que configurarlos como false; los NO como true.
Ten en cuenta que, dado que estás utilizando el sensor también como final de carrera de Z, tienen que tener los dos el mismo valor.
Si no te aclaras con el tipo que es cada uno, pués por prueba y error. Ponlos todos a false y comprueba uno a uno si funcionan bien. Si no lo hacen, cambia el valor a true del que no funcione como debe.
Puedes comprobarlos enviando un comando M119, que te devuelve su estado.

Para el tema de los motores no se si necesitas ayuda, así que te la pongo también por si acaso.
La dirección del movimiento se configura en las siguientes líneas, que conviene poner así (por ejemplo) en un principio:

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR false


Los del extrusor y el eje Z son sencillos de configurar.
El del extrusor (doy por sentado que utilizarás solo uno, E0), conéctalo y mira cómo se mueve. Si lo hace al revés, cambia su valor a true.
Creo ver que tienes dos motores para el eje Z, pero no parece que los tengas sincronizados mecánicamente. Esto puede que te dé problemas de nivelación de la cama.
Conecta los dos motores y mira hacia donde se mueven. Recuerda que en este tipo de impresoras, la dirección positiva del eje Z es cuando baja la cama. Si se mueven al contrario, haz como con el extrusor.
Si la electrónica que tienes es una con posibilidad de conectar cinco drivers y no vas a utilizar dos extrusores, tienes la posibilidad de utilizar un driver separado para cada motor del Z, cosa que es muy conveniente para darle más fuerza, repartiendo el trabajo entre dos drivers.
Para los motores X e Y la cosa es un poco más complicada.
Hay que configurar dos cosas: el tipo de cinemática (CoreXY o CoreYX) y la dirección de movimiento.
Lo primero se configura en las siguientes líneas:

//#define COREXY
//#define COREYX


Hay que quitar la // de la línea correspondiente (solo puede estar habilitada una).
Quizá haya una forma de saber a priori cual es la configuración que hay que poner (si alguien la conoce, le agradecería que la indicase), pero a mí no se me ocurre otra que la de prueba y error.
Es decir, variar la configuración de los parámetros y ver como se mueven los ejes hasta dar con la correcta.
Las posibilidades son todas las combinaciones de CoreXY y CoreYX con INVERT_X_DIR (false/true) e INVERT_Y_DIR (false/true).
Hay que ir probando todas hasta dar con la que hace que los ejes X e Y (ambos a la vez), se muevan en los sentidos correctos.
Hecho todo esto, ya podrás pasar a la calibración de los micropasos por milímetro de la forma habitual.
Un saludo.

Muchas gracias @Simemart
ya la tengo configurada gracias a tu ayuda.

Al fina hice caso de lo que me dijiste y he puesto el HOME al Frente a la Izquierda en lugar de al fondo. cuando la tenga en marcha del todo "mirare" (lo tendre que preguntar tambien por aqui... jajaja...) lo del SCRIPT para que se vaya al fondo cuando termine la impresión.

Lo dicho, Gracias.
Citar
#4
Me alegro que te sirviese.
Un saludo.
Citar
#5
Tengo un par de dudas:

Cuando hago el auto leveling y se va al centro para calibrar la altura, ¿es normal que se quede hay?
¿no se podria configurar para que despues de tomar esa medida se vuelva al la esquina?

Ademas cuando calibro la mesa (eso de que mide en varios puntos) tengo que ir dandole al pulsador para que vaya al siguiente. ¿Hay alguna configuracion para que lo haga automaticamente?

Muchas gracias.
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
Triste Problema con los finales de carrera Alenarmi 9 1,206 01-11-2017, 09:55 PM
Último mensaje: Alenarmi