Auto nivelación cama caliente (Bed Auto Leveling)

14,571 views
Skip to first unread message

Victor Cordoba

unread,
Dec 27, 2013, 1:53:31 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Sacado de RepRap3D.es

Auto nivelado cama caliente (auto leveling heatbed)

Bueno voy a intentar explicar lo mejor y más fácilmente posible este sistema de nivelación.

Antes de nada agradecer la ayuda de los compañeros Julito y Weso.

Fuentes:
https://github.com/ErikZalm/Marlin#instructions-for-configuring-bed-auto-leveling
http://www.youtube.com/watch?v=awsI9bMndJA
http://www.youtube.com/watch?v=6msLOR_EfKc
http://www.youtube.com/watch?v=YpiOsetkIRg

thingiverse:
http://www.thingiverse.com/thing:197013 (WeSo)
http://www.thingiverse.com/thing:194012
http://www.thingiverse.com/thing:189061
http://www.thingiverse.com/thing:182889

Elegid el modelo que mejor os venga para vuestra impresora/extrusor (yo tengo montado el ultimo)
Bueno comenzamos:

Necesitamos:
-Impresora 3D.
-1ud servo.
-1ud final de carrera.
-Última versión de marlín.
-Paciencia.

Al lio:
-Lo primero es imprimir el soporte para el servo que hayamos elegido y comprobar que nos sirve.

-Cableamos tanto servo como final de carrera (FC), no dejéis muy justos los cables.

-Montarlo todo en el extrusor.

-Lo siguiente es puentear el Pin de VCC con el de 5V (están al lado del botón reset de vuestra ramps) con esto conseguimos alimentar los pines que trae las ramps dedicados a los servos.

-Una vez puenteado (toda esta manipulación hacedla con la corriente cortada o puede que lo lamentéis ;-)) tenemos que colocar el servo en el pin más cercano al botón reset dedicado a estos (D11) y conectar los cables del FC donde teníamos antes el FC de Z (para los servos de 9g tower pro el cable negro va en el pin de la parte exterior de la ramps al conectarlo).

-Ya tenemos todo conectado, ahora toca trastear marlín para hacer que todo esto funcione como debe. El siguiente paso es descargar la última versión de marlín si no lo tenemos ya.

-Dentro de marlín debemos buscar lo siguiente:
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
Des comentamos este parámetro (borrar los dos //)

//#define NUM_SERVOS 3 // Servo índex starts with 0 for M280 command
//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 160,95} // X,Y,Z Axis Extend and Retract angles


Como el anterior también los des comentamos para habilitarlos y dejamos NUM_SERVOS en 1.

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

-Una vez tenemos esto cargamos marlín en nuestro arduino.

-Lo siguiente es subir Z para que no pueda chocar el servo al bajar con el espejo/cristal.

-Vamos ahora a comprobar las dos posiciones que tendrá nuestro servo (cuando no este activo y cuando estemos nivelando).

Metemos el siguiente código g-code M280 P0 S(ángulo del servo)

Ejemplo: M280 P0 S165

Debemos buscar una posición para tomar medidas y otra con el servo retraído. Probaremos ángulos hasta conseguir los que mejor nos van y los metemos en marlín.

#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 160,95}

Debemos cambiar 160 (posición para tomar medidas) y 95 (servo retraído) por nuestros valores.

-Perfecto, la cosa marcha. Ahora buscamos el centro de nuestro espejo con la boquilla del hotend con el control manual, debemos dejarlo aproximadamente a 0.1 o el grueso de un folio (más adelante tendremos que jugar con el offset de marlín para dejarlo fino).

-Una vez tenemos la boquilla en esa posición ejecutamos en el G-Code G92 X0 Y0 Z0.

-Lo siguiente es subir el eje Z lo suficiente para que el servo pueda dejar el brazo vertical al espejo, una vez el brazo vertical al espejo buscamos el mismo punto anterior (el que dejamos la boquilla a 0.1) pero esta vez con el FC (igual que antes usaremos el control manual para posicionarnos). Cuando estemos en el mismo punto bajamos Z hasta que el FC este a punto de cerrar el contacto y empezamos a hacer movimientos de 0.1 hasta oír el clic del FC.

-Vale ya hemos oído el clic, ahora tenemos que ejecutar el siguiente comando M114 (todos los códigos usados son G-code), nos dará unos valores similares a estos X:24.3 Y:-31.4 Z:5.1.

-Con los valores anteriores anotados volvemos a marlín y buscamos esto:
#define X_PROBE_OFFSET_FROM_EXTRUDER -24.3
#define Y_PROBE_OFFSET_FROM_EXTRUDER 31.4
#define Z_PROBE_OFFSET_FROM_EXTRUDER 5.1


Cambiamos los valores por el valor que nos ha dado M114 pero multiplicándolo por (-1). Volvemos a cargar marlín en nuestro arduino.

-Ya estamos casi terminados. Probaremos que todo funciona correctamente.
Ejecutamos G28 (home de todos los ejes)
Ejecutamos G29 (toma medida en 3 puntos)

-Si lo anterior nos ha salido bien solo nos queda irnos a slic3r y buscar Printer settings> Custom G-code y en start G-code ponemos:

G28 ; home all axes
G29
G1 Z5 F5000 ; lift nozzle


-Para ajustar bien la altura de la boquilla respecto al espejo/cristal tenemos que irnos a marlín a #define Z_PROBE_OFFSET_FROM_EXTRUDER 5.1, si bajamos este valor aumentara la distancia entre la boquilla y el espejo si lo aumentamos lo contrario.

Espero que os sirva este tutorial, cualquier duda por aquí estamos.

Un saludo
Victor

Victor Cordoba

unread,
Dec 27, 2013, 1:56:15 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Prusador lo siento, el copy paste es muy malo xD

Ernesto Navarro

unread,
Dec 27, 2013, 2:31:28 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Excelente Victor!!! Que grande eres!!!
 
Bueno... tambien a Julito y a Weso y al canal de Irc que como has comentado en otro hilo, te han ayudado tanto
 
Me estas dando envidia, y tambien ideas de caballo, y como me conoces, la imaginacion me juega malas pasadas.
 
Animo!! Quiero ver pronto tu i3 voladora, aunque tienes que correr mucho para pillarme.
 
Un abrazo.
 
Ernesto

Victor Cordoba

unread,
Dec 27, 2013, 2:43:03 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Gracias Ernesto.

Me va a costar pillarte pero con esfuerzo y un viaje a valencia lo conseguire xD.

Un saludo
Victor

Julito

unread,
Dec 27, 2013, 2:44:22 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
De nada y gracias a ti por currarte este tutorial , si alguno despues de esto no se aclara en algo ya sabe que estamos en el IRC para ayudarlos a lo que sea . Prusaludos.


El viernes, 27 de diciembre de 2013 19:53:31 UTC+1, Victor Cordoba escribió:

Sergio MC

unread,
Dec 27, 2013, 2:50:28 PM12/27/13
to asrob-uc3m-i...@googlegroups.com

Gracias por este excelente aporte. 

Sin duda me lo apunto para el proyecto en ciernes.

el sacamantecas

unread,
Dec 27, 2013, 5:59:28 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Gracias Víctor, excelente tuto

alfalfasecas

unread,
Dec 27, 2013, 6:00:16 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Pedazo de tutorial! Me va a ser muy útil. Muchas gracias!

El viernes, 27 de diciembre de 2013 23:59:28 UTC+1, el sacamantecas escribió:
Gracias Víctor, excelente tuto

Cacer

unread,
Dec 27, 2013, 8:31:57 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
Muy bueno @Victor. Buen aporte

WeSo

unread,
Dec 27, 2013, 9:28:11 PM12/27/13
to asrob-uc3m-i...@googlegroups.com
De nada!! me alegro que la gente se anime a trastear. La verdad que ésta mejora merece la pena.

Dejo un video de mis primeras pruebas, para que veáis qué es exactamente lo que os debería hacer:

http://www.youtube.com/watch?v=kuQPicddnkU

P.D. Animo a la gente a que se pase por el IRC por si quieren una ayuda más rápida, que a veces mantener una conversación por la lista puede ser tedioso. A todo ello sumadle que se puede hablar de todo y tenemos nuestros momentos de desvarío :D


El viernes, 27 de diciembre de 2013 19:53:31 UTC+1, Victor Cordoba escribió:

alfalfasecas

unread,
Dec 28, 2013, 5:32:19 AM12/28/13
to asrob-uc3m-i...@googlegroups.com
Una pregunta para vosotros que ya estáis manejando el tema de los servos y demás, a ver si me podéis abrir un poco más los ojos.

Estoy pensando en cogerme una pantalla LCD para poder imprimir sin tener que utilizar el PC. Para utilizar los servos, hay que puentear el VCC y el 5V para poder alimentarlos, pero claro esos 5V que llegan de la placa Arduino se cogen a través del puerto USB del ordenador.... podría ser que fuera incompatible utilizar la pantalla LCD con los servos? Ya que al usar la LCD ya no tendría que encender el pc....

Ruben Sanz

unread,
Dec 28, 2013, 7:17:46 AM12/28/13
to asrob-uc3m-i...@googlegroups.com
¿MERECE LA PENA PONER ESTO O DA MÁS PRECISIÓN HACERLO A MANO?

¿SE PIERDE SUPERFICIE DE IMPRESIÓN?

¿ES COMPATIBLE CON PRUSA 2?

¿ES COMPATIBLE TENER LAS RAMPS CON ESTE DISPOSITIVO Y ADEMÁS EL LCD Y SD?

LO DIGO POR LO DE PUENTEAR VCC-5V NO LO ACABO DE ENTENDER MUY BIEN.

SALUDOS.

WeSo

unread,
Dec 28, 2013, 9:40:19 AM12/28/13
to asrob-uc3m-i...@googlegroups.com
Una pregunta para vosotros que ya estáis manejando el tema de los servos y demás, a ver si me podéis abrir un poco más los ojos.

Estoy pensando en cogerme una pantalla LCD para poder imprimir sin tener que utilizar el PC. Para utilizar los servos, hay que puentear el VCC y el 5V para poder alimentarlos, pero claro esos 5V que llegan de la placa Arduino se cogen a través del puerto USB del ordenador.... podría ser que fuera incompatible utilizar la pantalla LCD con los servos? Ya que al usar la LCD ya no tendría que encender el pc....
Yo lo tengo funcionando con una LCD de forma autónoma y todo sin problemas.


El sábado, 28 de diciembre de 2013 13:17:46 UTC+1, Ruben Sanz escribió:
¿MERECE LA PENA PONER ESTO O DA MÁS PRECISIÓN HACERLO A MANO?
 
De todos los cambios que he hecho, es el que más satisfacción me ha dado, te evistas tener que niverla la cama constantemente cada vez que cambias algo. Una vez que tienes bien ajustados los parámetros en el Marlin, es algo genial.

¿SE PIERDE SUPERFICIE DE IMPRESIÓN?

No, sigue siendo la misma superficie de impresión. El autoleveling únicamente es para el eje Z, por lo que el X e Y siguen siendo los endstop de siempre.

¿ES COMPATIBLE CON PRUSA 2?
 
Aquí no te lo puedo asegurar porque no tengo una IT2, pero imagino que no habría ningún problema siempre y cuando el firmware te lo permita.

¿ES COMPATIBLE TENER LAS RAMPS CON ESTE DISPOSITIVO Y ADEMÁS EL LCD Y SD?

Sí, como le comento al compañero, yo tengo ambas cosas. Una vez que está montado, únicamente va a cambiar en que usas el comando G29 en el fileteador.
 
LO DIGO POR LO DE PUENTEAR VCC-5V NO LO ACABO DE ENTENDER MUY BIEN.

Mirando el esquemático de la RAMPs (http://reprap.org/mediawiki/images/4/49/Ramps_v1.4_shield_bothsides.png) puedes comprobar que la alimentación 5v de los servos sólo va conectada al pin 5v que está al lado de Vcc, que será el que nos dé la alimentación para moverlos. Yo soldé dos pines y luego le puse un jumper.

alfalfasecas

unread,
Dec 28, 2013, 9:55:27 AM12/28/13
to asrob-uc3m-i...@googlegroups.com
Yo lo tengo funcionando con una LCD de forma autónoma y todo sin problemas.

Osea que con conectar un jumper que una el VCC con el 5V te funcionan los servos, independientemente de que manejes la impresora por el ordenador o por la LCD. Pues el regalo de reyes de este año va a ser una mejora de impresora!

PD: Tengo una Prusa i2 que sobre febrero o así cambiaré a una 3. Antes de cambiarla probaré estas cosas del servo y pondré aquí si sirve o no sirve para la i2 (pero vamos, si sirve para la 3 no veo ningún motivo para que no sirva para la 2...)

PD2: Muchas gracias Weso tanto por toda la ayuda que nos has proporcionado en este tema como por las piezas para el servo para el Jonas. Serán las que me imprima porque es el extrusor que tengo ;)

Mikel arrate

unread,
Dec 29, 2013, 4:45:33 PM12/29/13
to asrob-uc3m-i...@googlegroups.com
pedazo tutorial y pedazo invento!!!!!
 
esta semana espero copiarlo ;)
 

yot...@gmail.com

unread,
Dec 30, 2013, 6:24:59 AM12/30/13
to asrob-uc3m-i...@googlegroups.com
Hola.
He estado tratando de hacer funcionar un servo en mi tarjeta RUMBA y parece que al fin lo he conseguido.

La tarjeta tiene un conector EXT3 con varias señales disponibles.
He usado los pines 2, 4 y 6 que tienen respectivamente +5v, gnd y pwm2.
Cogí un servo e intercambie en su conector la posición de los cables positivo y negativo (normalmente vienen con el positivo en el centro) y lo conecte como en la foto adjunta. Mucho ojo con la polaridad o quemareis el servo y/o la tarjeta.

Ademas añadí en el fichero pins.h el siguiente texto en rojo:

------------------------------------------------------------------------------------------------------------------------------------------
#define LCD_PINS_D6 41
#define LCD_PINS_D7 40
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43

   #ifdef NUM_SERVOS
       #define SERVO0_PIN 5

       #if NUM_SERVOS > 1
         #define SERVO1_PIN 4
       #endif

   #endif


#endif //MOTHERBOARD==80
------------------------------------------------------------------------------------------------------------------------------------------

Compilar, enviar y a hacer pruebas.

En mi caso el servo es un hextronik mg14 (lo que tenia a mano) y las posiciones de recorrido para el servo en mi caso son 90/0.

Espero que sirva de ayuda a alguno.

Saludos
Fernando
servo.jpg

WHOISNOSFERATU .

unread,
Jan 9, 2014, 8:20:20 AM1/9/14
to asrob-uc3m-i...@googlegroups.com
Bueno ya me ha llegado el servo y he impreso las piezas , voy a montarlo esta tarde, pero tengo dos dudas:
1ª- haciendo un puente , osea, puenteando con estaño entre si, los pines Vcc y el de 5V , simplemente , ya funcionan todos los pines de los servos, asi de facil ??

2ª  cuando te refieres a  conectar los cables del FC donde teníamos antes el FC de Z ; hay que dejarlo ya siempre, y el final de carrera del eje Z se queda desconectado ??
es lo que no entiendo ....

Andres Maroto

unread,
Jan 9, 2014, 8:29:17 AM1/9/14
to asrob-uc3m-i...@googlegroups.com

1 si, con el puente ya alimentas todos los pines de los servos  
2 el FC del eje Z ya es el del servo.... (que me corrijan si me equivoco) podrías tener los 2 en paralelo por seguridad, 

saludos 

WHOISNOSFERATU .

unread,
Jan 9, 2014, 12:09:56 PM1/9/14
to asrob-uc3m-i...@googlegroups.com
perdonad mi inutilidad, pero creo que aun me he liado mas, yo iba a puentear directamente el 5V al VCC es asi ?

en el grafico veo que el 5V esta puenteado con todos los centrales  + de los servos , pero entonces VCC donde va puenteado??

haber si encuentro un grafico de la ramps , ese tuyo concretamente Andres y me pego una empollada a todo el circuiterio de la placa......

Andres Maroto

unread,
Jan 9, 2014, 12:32:14 PM1/9/14
to asrob-uc3m-i...@googlegroups.com
El jueves, 9 de enero de 2014 14:29:17 UTC+1, Andres Maroto escribió:

segun la imagen el VCC (el de arriba de los 3 que hay a al izquierda) va hasta el arduino
el que está en el medio es sólo el positivo +5V para los servos, al puentear los 2 (el de arriba y el del medio) consigues que le lleguen +5V a los pines de los servos (cuadrado rojo en la imagen)
están separados para otro tipo de configuración, nada más..... pero es otro tema que no viene al caso. 

tu conectas los pines del cuadrado negro y el cuadrado rojo, y listo.

saludos

WHOISNOSFERATU .

unread,
Jan 9, 2014, 1:15:11 PM1/9/14
to asrob-uc3m-i...@googlegroups.com
asi ??

Message has been deleted

Andres Maroto

unread,
Jan 9, 2014, 1:26:09 PM1/9/14
to asrob-uc3m-i...@googlegroups.com
correcto, no me apetecía editar otra vez en paint la foto,... jejejejejje


si, así es como tienes que hacerlo.

saludos

WHOISNOSFERATU .

unread,
Jan 9, 2014, 1:33:04 PM1/9/14
to asrob-uc3m-i...@googlegroups.com

ok ..  gracias por vuestra paciencia

ya os dije que era bastante preguntón e repetitivo :) 
el tema configuracion de Marlin lo tengo bastante mas claro.....

WHOISNOSFERATU .

unread,
Jan 13, 2014, 8:28:13 AM1/13/14
to asrob-uc3m-i...@googlegroups.com

tengo un problema, sigo todos tus pasos , pero al hacer homing como la pata del servo con el FC me queda fuera del cristal no para de bajar el eje z y probando el codigo G29 me hace las pruebas fuera del cristal tambien...

Victor Cordoba

unread,
Jan 13, 2014, 8:33:35 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Cuando ejecutas G28, va al homing de X, Y, y en Z busca el centro de la cama?
Tu marlin tiene este codigo?
#define Z_SAFE_HOMING
#ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

Iceflow

unread,
Jan 13, 2014, 8:33:21 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Pues que no se salga del cristal... O.o


El 13 de enero de 2014, 14:28, WHOISNOSFERATU . <whoisno...@gmail.com> escribió:

tengo un problema, sigo todos tus pasos , pero al hacer homing como la pata del servo con el FC me queda fuera del cristal no para de bajar el eje z y probando el codigo G29 me hace las pruebas fuera del cristal tambien...

--
 
---
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.

WHOISNOSFERATU .

unread,
Jan 13, 2014, 8:37:15 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
  // Estas son las posiciones en la cama para hacer el sondeo
  #define LEFT_PROBE_BED_POSITION 60
  #define RIGHT_PROBE_BED_POSITION 170
  #define BACK_PROBE_BED_POSITION 180
  #define FRONT_PROBE_BED_POSITION 20

estas son las posiciones que tengo para hacer el sondeo SON RESPECTO AL CENTRO DE LA CAMA DONDE O DESDE EL PUNTO 0,0,0 EN NLA ESQUINA INFERIOR IZQUIERDA 

Victor Cordoba

unread,
Jan 13, 2014, 8:43:24 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Esas posciones creo recordar que son respecto a 0,0

Vuelvo a preguntar:

Cuando ejecutas G28, va al homing de X, Y, y en Z busca el centro de la cama?
Tu marlin tiene este codigo?
#define Z_SAFE_HOMING
#ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

WHOISNOSFERATU .

unread,
Jan 13, 2014, 8:47:49 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
no, no va al centro vuelve a la esquina inferior izquierda como siempre
no, no tengo esas lineas lo mas parecido es esto:


// The position of the homing switches La posición de los finales de carrera
//#define MANUAL_HOME_POSITIONS  // Si se define MANUAL_*_HOME_POS se utilizará
//#define BED_CENTER_AT_0_0  // Si se define el centro de la cama es (X=0, Y=0)

WHOISNOSFERATU .

unread,
Jan 13, 2014, 8:49:29 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
heber si sera que el marlin que tengo MARLIN V1 le faltaran lineas ???

Victor Cordoba

unread,
Jan 13, 2014, 8:57:40 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Exacto creo que no tienes el ultimo marlin, ami me paso lo mismo y por poco me vuelvo loco, hasta que julito y weso me ayudaron.

Busca la ultima version de marlin y comprueba que esten esas lineas, configuralo y nos comentas.

Un saludo
Victor

WHOISNOSFERATU .

unread,
Jan 13, 2014, 9:01:07 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
bueno ahora cambiendo esto
  #define LEFT_PROBE_BED_POSITION 60
  #define RIGHT_PROBE_BED_POSITION 170
  #define BACK_PROBE_BED_POSITION 180
  #define FRONT_PROBE_BED_POSITION 20


por esto:
  // Estas son las posiciones en la cama para hacer el sondeo
  #define LEFT_PROBE_BED_POSITION 60
  #define RIGHT_PROBE_BED_POSITION 150
  #define BACK_PROBE_BED_POSITION 150
  #define FRONT_PROBE_BED_POSITION 60

si que me hace la prueba en el posiciones mas centradas del cristal pero el homing lo sigue haciendo en la esquina inferior izquierda

HOY NO COMO HASTA QUE SALGA JI JI JI JI

WeSo

unread,
Jan 13, 2014, 9:13:19 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Como te comenta Victor, no tienes la última versión de Marlin, por eso no te va al centro.
Message has been deleted

WHOISNOSFERATU .

unread,
Jan 13, 2014, 9:16:01 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
ok pues busco la ultima version, algun link directo ???

WeSo

unread,
Jan 13, 2014, 9:19:40 AM1/13/14
to asrob-uc3m-i...@googlegroups.com

WHOISNOSFERATU .

unread,
Jan 13, 2014, 11:43:42 AM1/13/14
to asrob-uc3m-i...@googlegroups.com
Lo tengo por fin,eso me pasa por no mirar las actualizaciones de Marlin; Ahora a pasar los datos del antiguo al nuevo Marlin y a trastear......
Por cierto es un coñazo lo de volver a pasar toda la configuracion de un marlin a otro nuevo, no.......     no habria alguna manera de.........
GRACIAS A TODOS  

Iceflow

unread,
Jan 13, 2014, 12:01:06 PM1/13/14
to asrob-uc3m-i...@googlegroups.com
Cuando lo hayas echo 2 veces mas ya sabras de memoria los datos y donde ir a cambiarlos ;)


--

Xoan Sampaiño

unread,
Jan 13, 2014, 3:36:31 PM1/13/14
to asrob-uc3m-impresoras-3d
Claro que la hay, para eso se usa GIT.

1) Clonas el repositorio
2) Creas una rama nueva
3) Modificas el fichero de configuración
4) Guardas y haces «commit»

Luego cada vez que quieras actualizar, vuelves a la rama principal,
actualizas, y haces un «merge» desde tu rama modificada.

2014/1/13 WHOISNOSFERATU . <whoisno...@gmail.com>:
> --
>
> ---
> 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.



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

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

WHOISNOSFERATU .

unread,
Jan 14, 2014, 5:14:49 AM1/14/14
to asrob-uc3m-i...@googlegroups.com
Probare........


El lunes, 13 de enero de 2014 21:36:31 UTC+1, Xoan Sampaiño escribió:
Claro que la hay, para eso se usa GIT.

1) Clonas el repositorio
2) Creas una rama nueva
3) Modificas el fichero de configuración
4) Guardas y haces «commit»

Luego cada vez que quieras actualizar, vuelves a la rama principal,
actualizas, y haces un «merge» desde tu rama modificada.

2014/1/13 WHOISNOSFERATU . <whoisno...@gmail.com>:
>>>> Lo tengo por fin,eso me pasa por no mirar las actualizaciones de Marlin;
>>>> Ahora a pasar los datos del antiguo al nuevo Marlin y a trastear......
>
> Por cierto es un coñazo lo de volver a pasar toda la configuracion de un
> marlin a otro nuevo, no.......     no habria alguna manera de.........
> GRACIAS A TODOS
>
> --
>
> ---
> 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

Susy

unread,
Jan 15, 2014, 11:16:27 AM1/15/14
to asrob-uc3m-i...@googlegroups.com
q tal amigos hay algo q no me queda claro en el sistema de autonivelacion, y es que dicen q el final de carrera para tomar las medidas va en vez del final de carrera en Z.. pero aki me surge la duda y es q cuando se envie el G28 q es el home al no tener el final de carrera z ese eje como se limita????? ya q despues de realizar el home los 3 ejes recien ahi toma las 3 medias.... Me podrian aclarar esta duda por favor

WeSo

unread,
Jan 15, 2014, 11:30:35 AM1/15/14
to asrob-uc3m-i...@googlegroups.com
Cuando activas el autoleveling, el homming de Z lo hace teniendo en cuenta que hay servo, vamos, que hace un homming normal y el de Z baja el brazo para hacerlo también.

En éste video que grabé en las primeras pruebas, puedes ver como primero ejecuto el G28, y luego el G29, y ves lo que hace cada uno: http://www.youtube.com/watch?v=kuQPicddnkU

También comentar que la versión de Marlin que utilicé cuando el video, es antigua. La actual, hace homming en 4 o 9 puntos.

Susy

unread,
Jan 15, 2014, 12:10:04 PM1/15/14
to asrob-uc3m-i...@googlegroups.com

WeSo... al ver tu video me surgio otra duda.. como realizas ese movimiento al momento de hacer el homing en tu maquina??.. puesto que los ejes X-Y ya llegan a su posicion 0,0... pero al llegar el home en Z veo que tu carro X se desplaza hacia el centro de la cama...quedando el final del Z dentro del area de la cama.... Mira aqui adjunto la imagen de mi impresora y como podras observar al momento de realizar el homing con G28 el final de Z quedaría fuera de mi cama...

Iceflow

unread,
Jan 15, 2014, 12:21:18 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Susy, que maquina tienes? no la has presentado por aqui... :( tiene una muy buena pinta!! :P


El 15 de enero de 2014, 18:10, Susy <sdlp...@gmail.com> escribió:

WeSo... al ver tu video me surgio otra duda.. como realizas ese movimiento al momento de hacer el homing en tu maquina??.. puesto que los ejes X-Y ya llegan a su posicion 0,0... pero al llegar el home en Z veo que tu carro X se desplaza hacia el centro de la cama...quedando el final del Z dentro del area de la cama.... Mira aqui adjunto la imagen de mi impresora y como podras observar al momento de realizar el homing con G28 el final de Z quedaría fuera de mi cama...

--
 
---
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.

Susy

unread,
Jan 15, 2014, 1:56:35 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Hola Aisflou gracias jeje... es una máquina que la he construído con un amigo para un proyecto :D... y pues como lo he comentado anteriormente deseo implementarle el autoleveling... nose si tu me podrias ayudar con esa duda que me surgió!!!...

Iceflow

unread,
Jan 15, 2014, 2:12:27 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Supongo que el tema esta en que el endstop de tu eje X quede de tal manera que cuando hagas homing el palpador aun siga dentro del area de impresion... en tu modelo parece que se sale de ese area, no?

Sin ver en mas detalle la maquina tampoco sabria decirte bien si es por eso, a ver si te contesta mejor... :S

Podrias presentarnos la maquina por la lista, que pinta genial!! :D y no solo entrar a preguntar dudas ;) jejejeje


El 15 de enero de 2014, 19:56, Susy <sdlp...@gmail.com> escribió:
Hola Aisflou gracias jeje... es una máquina que la he construído con un amigo para un proyecto :D... y pues como lo he comentado anteriormente deseo implementarle el autoleveling... nose si tu me podrias ayudar con esa duda que me surgió!!!...

--

Jose H

unread,
Jan 15, 2014, 2:31:21 PM1/15/14
to asrob-uc3m-impresoras-3d
@Weso: He visto en el vídeo que usas un final de carrera normal. Según
he leído en muchos sitios ese final de carrera tiene un gran problema
de resolución(demasiada palanca) y para que nivele bien bien necesitas
poner uno de esos que tienen la parte del resorte muy pequeña.

WeSo

unread,
Jan 15, 2014, 2:50:48 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
@Susy, en la última versión de Marlin, al activar la autonivelación, podemos también activar la protección de Z (viene activado por defecto si no recuerdo mal):
#define Z_SAFE_HOMING 

Activando esa opción, automáticamente el homming de Z pasa a hacerlo a la mitad (por defecto) de la cama.

@JoseH, la patilla metálica tiene holgura, pero no es problema, porque el "click" lo hace independientemente de lo que se mueva la propia patilla. Es decir, que puede estar más descolgada en un principio, pero en cuanto apolla, hasta que no hace click, sigue bajando, y el interruptor del switch es fijo.
Había visto los switch que comentas, pero no veo el por qué no debería funcionar uno "normal" como el que yo uso. Te puedo asegurar que, al menos visualmente, la nivelación de la primera cama es perfecta.

Jose H

unread,
Jan 15, 2014, 3:06:41 PM1/15/14
to asrob-uc3m-impresoras-3d
Una de las personas que lo decía era Johan Rocholl, el creador de la
Rostock, pero bueno ya sabes que ese hombre es un fanático de la
perfección, que mide con micrómetro hasta su mesa de trabajo.

El no decía que no funcionara. El decía algo así como el error que
introducía por la falta de precisión era "intolerable", por eso lo
quitó de la BOM de la Kossel. Pero bueno, ya se sabe, para los
japonenes no poder desmontar un motor y montarlo de nuevo pieza a
pieza era intolerable mientras a los americanos les resbalaba.

WeSo

unread,
Jan 15, 2014, 3:10:20 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Entonces supongo que ya de calibrar la cama destornillador en mano con el método del folio, ni hablamos xDDDD

No sé, no le veo el problema al sistema... palanca metálica con switch debajo. Pero vamos, que seguro que hay más cosas imprecisas en nuestras máquinas caseras que esto :D

Jose H

unread,
Jan 15, 2014, 3:24:48 PM1/15/14
to asrob-uc3m-impresoras-3d
El método del fólio y destornillador es buenísimo!

Con fólios finos de papel de cebolla y más finos puedes conseguir
precisiones tremendas.

Tener un sistema de nivelado automático es mejor. Yo no lo he
instalado por no poner un motor más y la complejidad que lleva.

Estoy haciendo uno con el mismo sistema de los bolis retráctiles, pero
con mucha más retracción, para quitarlo y ponerlo con un click a mano
o llevando la impresora a un lugar reservado.
Message has been deleted

NavasXd

unread,
Jan 15, 2014, 5:50:19 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Weso una consulta al realizar el g92 x0 y0 z0 cuando llego la boquilla al punto deseado, para poder colocar el final de carrera en el mismo punto el software no me deja puesto q valores menores a la posicion 0 no permite, mi pregunta es como puedo moverlo para posicionar el final de carrera en el centro del espejo

Andres Maroto

unread,
Jan 15, 2014, 6:02:26 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
archivo Configuration.h 
Line 253: #define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS.
Line 268: //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
Line 268: //#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
Line 272: #define MANUAL_X_HOME_POS 0
Line 273: #define MANUAL_Y_HOME_POS 0
Line 274: #define MANUAL_Z_HOME_POS 0

archivo Configuration_adv.h 
Line 86: #ifdef MANUAL_HOME_POSITIONS  // Use manual limit switch locations
Line 87:   #define X_HOME_POS MANUAL_X_HOME_POS
Line 87:   #define X_HOME_POS MANUAL_X_HOME_POS
Line 88:   #define Y_HOME_POS MANUAL_Y_HOME_POS
Line 88:   #define Y_HOME_POS MANUAL_Y_HOME_POS
Line 89:   #define Z_HOME_POS MANUAL_Z_HOME_POS
Line 89:   #define Z_HOME_POS MANUAL_Z_HOME_POS
Line 92:   #if X_HOME_DIR == -1
Line 94:       #define X_HOME_POS X_MAX_LENGTH * -0.5
Line 96:       #define X_HOME_POS X_MIN_POS
Line 100:       #define X_HOME_POS X_MAX_LENGTH * 0.5
Line 102:       #define X_HOME_POS X_MAX_POS
Line 104:   #endif //X_HOME_DIR == -1
Line 107:   #if Y_HOME_DIR == -1
Line 109:       #define Y_HOME_POS Y_MAX_LENGTH * -0.5
Line 111:       #define Y_HOME_POS Y_MIN_POS
Line 115:       #define Y_HOME_POS Y_MAX_LENGTH * 0.5
Line 117:       #define Y_HOME_POS Y_MAX_POS
Line 119:   #endif //Y_HOME_DIR == -1
Line 122:   #if Z_HOME_DIR == -1 //BED_CENTER_AT_0_0 not used
Line 123:     #define Z_HOME_POS Z_MIN_POS
Line 125:     #define Z_HOME_POS Z_MAX_POS
Line 126:   #endif //Z_HOME_DIR == -1
Line 146: #define X_HOME_RETRACT_MM 5 
Line 147: #define Y_HOME_RETRACT_MM 5 
Line 148: #define Z_HOME_RETRACT_MM 1

como puedes observar en el archivo Configuration.h tienes estas líneas
// Travel limits after homing
#define X_MAX_POS 205
#define X_MIN_POS 0 // si le pones -100 tienes 100mm después del 0.
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

para indicarle donde está el cero existe una opción para hacer que el 0 sea la posición actual del extrusor..... así tendrá posición en positivo y negativo.

saludos....

hay que jugar bastante con la configuración. y si algún miembro te lo explica mejor.... perfecto.

NavasXd

unread,
Jan 15, 2014, 6:39:53 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
muchas gracias amigo por la aclaración, ya configure la programación pero hay algo q noto no se si les pase cuando muevo los ejes cualquiera (x,y,z) la patilla de mi servo empieza a tener unas pequeñas oscilaciones.... eso es normal????

WeSo

unread,
Jan 15, 2014, 6:58:20 PM1/15/14
to asrob-uc3m-i...@googlegroups.com
Lo del G92, yo lo hice ajustando poco a poco. Es cierto que por seguridad, si lo tienes activado (lo habitual), el Marlin bloquea los movimientos negativos.
Puedes desactivar esa opción o hacer la "ñapa" que yo hice, que fue pulsar el endstop a mano justo cuando vi que estaba ya cerca del cristal, o incluso presionando un poco la cama. Luego ya sí puedes volver a sobir, o incluso girar los motores a mano (desactivándolos previamente).


El jueves, 16 de enero de 2014 00:39:53 UTC+1, NavasXd escribió:
muchas gracias amigo por la aclaración, ya configure la programación pero hay algo q noto no se si les pase cuando muevo los ejes cualquiera (x,y,z) la patilla de mi servo empieza a tener unas pequeñas oscilaciones.... eso es normal????

Puede ocurrir por ruido. Yo le puse un filtro de ferrita, y disminuí bastante las vibraciones (el cable va junto a otros 6 pares entre hotend, termistor, ventiladores, etc). Pero lo que mejor solución me dió fue utilizar la opción del Marlin del Delay, que apagase el servo una vez terminada la calibración (no recuerdo si también había un G-Code que lo desactivaba).
 

NavasXd

unread,
Jan 16, 2014, 4:17:47 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
Q tal amigo disculpa una pregunta ya tengo funcionando el auto leveling pero algo q he nota es q el servo no llega a las posiciones programadas es decir la en el primer punto de sondeo llega a lo programada pero en los demas puntos el servo es como q pierde pasos xq se baja demas o sino sube demas por lo q jamas me calibra correctamente al momento de imprimir... como puedo arreglar esto o xq me pasa esto?


WeSo

unread,
Jan 16, 2014, 4:34:56 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
Lo único que se me ocurre es que sea ruido, pero sería muy extraño con la descripción que comentas. El servo funciona correctamente en otros dispositivos?

La verdad que es extraño que tenga posiciones distintas, revisa soldaduras, conexiones y demás, por si acaso.

NavasXd

unread,
Jan 16, 2014, 5:07:08 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
mmm q raro lo q me sucede con esto del auto leveling :(... una pregunta mas cuando realiza el sondeo debería hacer la doble comprobación del final de carrera asi como en los demás ejes??? pregunto xq a mi realiza el primero pero cuando se acerca al segundo ya el final de carrera se levanta... y la vibración del final de carrera es excesiva...

WeSo

unread,
Jan 16, 2014, 6:12:14 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
Sinceramente ahora no sabría responderte con la versión actual de Marlin, y no tengo la impresora donde estoy ahora mismo. Más atrás puse un video, ahí puedes comprobar los movimientos que debería hacer con G28 y G29.

Iceflow

unread,
Jan 16, 2014, 7:09:56 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
Que problema era y como lo solucionaste? porque era raro raro... explica para que le pueda servir al resto!! ;)


El 16 de enero de 2014, 22:17, NavasXd <phn...@gmail.com> escribió:
Q tal amigo disculpa una pregunta ya tengo funcionando el auto leveling pero algo q he nota es q el servo no llega a las posiciones programadas es decir la en el primer punto de sondeo llega a lo programada pero en los demas puntos el servo es como q pierde pasos xq se baja demas o sino sube demas por lo q jamas me calibra correctamente al momento de imprimir... como puedo arreglar esto o xq me pasa esto?


NavasXd

unread,
Jan 16, 2014, 9:34:46 PM1/16/14
to asrob-uc3m-i...@googlegroups.com
Q tal Aisflou bueno aun sigo sin poder reparar ese problema de la excesiva vibracion del servo con lo cual creo q hace a mi servo q no cumpla con las posiciones programadas xq hace el sondeo en el primer punto pero para el siguiente ya bajar el final de carrera baja menos o a veces se va demas... he revisado conexiones soldaduras y demas y no se q esta mal de igual manera he revisado y calibrado monton veces el firmware pero sigo igual creo q voy a comprar otro servo a ver si tal vez sea por el propio servo... ojala sea eso sino no se q mas podra ser...

PSD1:Weso al activar el DELAY del servo mi problema aumento xq podra ser????...
PSD2: si lo soluciono comentare como repararlo

Saludos..

WeSo

unread,
Jan 17, 2014, 2:26:57 AM1/17/14
to asrob-uc3m-i...@googlegroups.com
#define PROBE_SERVO_DEACTIVATION_DELAY 300

Si activas ese parámetro, no puede ser que el problema aumente, ya que desactiva el servo después del movimiento :\

NavasXd

unread,
Jan 18, 2014, 3:06:59 PM1/18/14
to asrob-uc3m-i...@googlegroups.com
Weso a ti ya te funciona correctamente la auto nivelacion me podrias xfavor pasarme tu firmware para hechar un vistazo..

WeSo

unread,
Jan 18, 2014, 3:25:49 PM1/18/14
to asrob-uc3m-i...@googlegroups.com
No lo tengo a mano ahora mismo, pero sí la versión de Marlin que utilizo, ya que lo subí para el mod que hice de modificación del LCD:
http://cut.tf/i

NavasXd

unread,
Jan 20, 2014, 2:54:07 PM1/20/14
to asrob-uc3m-i...@googlegroups.com
Amigos alguno que tenga funcionando el autoleveling me podria pasar su firmware para revisarlo xfa.......

Javier Milan

unread,
Feb 4, 2014, 7:25:15 AM2/4/14
to asrob-uc3m-i...@googlegroups.com
Hola!

A mi me pasaba algo muy parecido, si no igual, y lo solucioné por indicacion de Weso: programé las posiciones de reposo y sondeo alejadas de los limites del servo (0 y 180, en teoria) porque llegaba al tope y daba ese tipo de comportamiento. Ahora las tengo puestas en 30 y 120, y su funcionamiento es mucho mas consistente de una vez a otra. Puede ir por ahi los tiros con mucha probabilidad!

Saludos.

El viernes, 17 de enero de 2014 01:09:56 UTC+1, Aisflou escribió:
Que problema era y como lo solucionaste? porque era raro raro... explica para que le pueda servir al resto!! ;)
El 16 de enero de 2014, 22:17, NavasXd <phn...@gmail.com> escribió:
Q tal amigo disculpa una pregunta ya tengo funcionando el auto leveling pero algo q he nota es q el servo no llega a las posiciones programadas es decir la en el primer punto de sondeo llega a lo programada pero en los demas puntos el servo es como q pierde pasos xq se baja demas o sino sube demas por lo q jamas me calibra correctamente al momento de imprimir... como puedo arreglar esto o xq me pasa esto?


--
 
---
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.

WHOISNOSFERATU .

unread,
Feb 4, 2014, 9:13:19 AM2/4/14
to asrob-uc3m-i...@googlegroups.com
Resumiendo, seria reducir las medidad de la cama en la configuracion de marlin , o las de sondeo del servo ??

Pitaco

unread,
Feb 4, 2014, 10:21:26 AM2/4/14
to asrob-uc3m-i...@googlegroups.com
En eso no entro, que yo aun ando con problemas en ese aspecto, me hace el G29 cuatro veces en el mismo punto, a pesar de tener esas lineas que mencionabais en el Marlin, ultima version.

A lo que me yo referia aqui es al movimiento angular del servo, que unas veces baja mas y otras menos, y en mi caso al menos se debia a que lo llevaba a posiciones angulares cercanas o tocando el tope de sus posibilidades (de 0 a 180 grados) y con ello se descontrolaba de alguna manera.  Ahora he definido las posiciones de reposo y prueba en 30 y 120 grados, y al menos siempre va y vuelve a las mismas posiciones cuando le toca hacer el sondeo, con lo cual las medidas son mas fiables.

Por cierto, que no estaria de mas que no subiera el servo entre cada punto de prueba, porque ahora que las hace todas juntas se puede ver en lalinea de estado del Repetier que la lectura difiere en bastantes centesimas entre las cuatro lecturas (en el mismo punto!!) lo cual habla de imprecision, de mi setup al menos :-P

Seguiremos investigando :-)

Pitaco

unread,
Feb 7, 2014, 7:36:01 AM2/7/14
to asrob-uc3m-i...@googlegroups.com


El martes, 4 de febrero de 2014 16:21:26 UTC+1, Pitaco escribió:
En eso no entro, que yo aun ando con problemas en ese aspecto, me hace el G29 cuatro veces en el mismo punto, a pesar de tener esas lineas que mencionabais en el Marlin, ultima version
...

Hola, solo por comentar que ya se solucionaron los problemas que tenia con el autoleveling (gracias en buena parte a los consejos de Weso) y que a dia de hoy funciona bien.
Animaos, que es una mejora interesante para las prusillas!

Saludos.

Francisco Molina

unread,
Feb 13, 2014, 5:43:49 AM2/13/14
to asrob-uc3m-i...@googlegroups.com

Una duda, al estar subiendo y bajando continuamente el eje Z, ¿no se debería producir backslash en las impresiones?

El viernes, 27 de diciembre de 2013 18:53:31 UTC, Victor Cordoba escribió:
Sacado de RepRap3D.es

Auto nivelado cama caliente (auto leveling heatbed)

Bueno voy a intentar explicar lo mejor y más fácilmente posible este sistema de nivelación.

Antes de nada agradecer la ayuda de los compañeros Julito y Weso.

Fuentes:
https://github.com/ErikZalm/Marlin#instructions-for-configuring-bed-auto-leveling
http://www.youtube.com/watch?v=awsI9bMndJA
http://www.youtube.com/watch?v=6msLOR_EfKc
http://www.youtube.com/watch?v=YpiOsetkIRg

thingiverse:
http://www.thingiverse.com/thing:197013 (WeSo)
http://www.thingiverse.com/thing:194012
http://www.thingiverse.com/thing:189061
http://www.thingiverse.com/thing:182889

Elegid el modelo que mejor os venga para vuestra impresora/extrusor (yo tengo montado el ultimo)
Bueno comenzamos:

Necesitamos:
-Impresora 3D.
-1ud servo.
-1ud final de carrera.
-Última versión de marlín.
-Paciencia.

Al lio:
-Lo primero es imprimir el soporte para el servo que hayamos elegido y comprobar que nos sirve.

-Cableamos tanto servo como final de carrera (FC), no dejéis muy justos los cables.

-Montarlo todo en el extrusor.

-Lo siguiente es puentear el Pin de VCC con el de 5V (están al lado del botón reset de vuestra ramps) con esto conseguimos alimentar los pines que trae las ramps dedicados a los servos.

-Una vez puenteado (toda esta manipulación hacedla con la corriente cortada o puede que lo lamentéis ;-)) tenemos que colocar el servo en el pin más cercano al botón reset dedicado a estos (D11) y conectar los cables del FC donde teníamos antes el FC de Z (para los servos de 9g tower pro el cable negro va en el pin de la parte exterior de la ramps al conectarlo).

-Ya tenemos todo conectado, ahora toca trastear marlín para hacer que todo esto funcione como debe. El siguiente paso es descargar la última versión de marlín si no lo tenemos ya.

-Dentro de marlín debemos buscar lo siguiente:
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
Des comentamos este parámetro (borrar los dos //)

//#define NUM_SERVOS 3 // Servo índex starts with 0 for M280 command
//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 160,95} // X,Y,Z Axis Extend and Retract angles


Como el anterior también los des comentamos para habilitarlos y dejamos NUM_SERVOS en 1.

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

-Una vez tenemos esto cargamos marlín en nuestro arduino.

-Lo siguiente es subir Z para que no pueda chocar el servo al bajar con el espejo/cristal.

-Vamos ahora a comprobar las dos posiciones que tendrá nuestro servo (cuando no este activo y cuando estemos nivelando).

Metemos el siguiente código g-code M280 P0 S(ángulo del servo)

Ejemplo: M280 P0 S165

Debemos buscar una posición para tomar medidas y otra con el servo retraído. Probaremos ángulos hasta conseguir los que mejor nos van y los metemos en marlín.

#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 160,95}

Debemos cambiar 160 (posición para tomar medidas) y 95 (servo retraído) por nuestros valores.

-Perfecto, la cosa marcha. Ahora buscamos el centro de nuestro espejo con la boquilla del hotend con el control manual, debemos dejarlo aproximadamente a 0.1 o el grueso de un folio (más adelante tendremos que jugar con el offset de marlín para dejarlo fino).

-Una vez tenemos la boquilla en esa posición ejecutamos en el G-Code G92 X0 Y0 Z0.

-Lo siguiente es subir el eje Z lo suficiente para que el servo pueda dejar el brazo vertical al espejo, una vez el brazo vertical al espejo buscamos el mismo punto anterior (el que dejamos la boquilla a 0.1) pero esta vez con el FC (igual que antes usaremos el control manual para posicionarnos). Cuando estemos en el mismo punto bajamos Z hasta que el FC este a punto de cerrar el contacto y empezamos a hacer movimientos de 0.1 hasta oír el clic del FC.

-Vale ya hemos oído el clic, ahora tenemos que ejecutar el siguiente comando M114 (todos los códigos usados son G-code), nos dará unos valores similares a estos X:24.3 Y:-31.4 Z:5.1.

-Con los valores anteriores anotados volvemos a marlín y buscamos esto:
#define X_PROBE_OFFSET_FROM_EXTRUDER -24.3
#define Y_PROBE_OFFSET_FROM_EXTRUDER 31.4
#define Z_PROBE_OFFSET_FROM_EXTRUDER 5.1


Cambiamos los valores por el valor que nos ha dado M114 pero multiplicándolo por (-1). Volvemos a cargar marlín en nuestro arduino.

-Ya estamos casi terminados. Probaremos que todo funciona correctamente.
Ejecutamos G28 (home de todos los ejes)
Ejecutamos G29 (toma medida en 3 puntos)

-Si lo anterior nos ha salido bien solo nos queda irnos a slic3r y buscar Printer settings> Custom G-code y en start G-code ponemos:

G28 ; home all axes
G29
G1 Z5 F5000 ; lift nozzle


-Para ajustar bien la altura de la boquilla respecto al espejo/cristal tenemos que irnos a marlín a #define Z_PROBE_OFFSET_FROM_EXTRUDER 5.1, si bajamos este valor aumentara la distancia entre la boquilla y el espejo si lo aumentamos lo contrario.

Espero que os sirva este tutorial, cualquier duda por aquí estamos.

Un saludo
Victor

Oscar Rodriguez Parra

unread,
Mar 17, 2014, 5:24:54 AM3/17/14
to asrob-uc3m-i...@googlegroups.com
Hola

He probado tanto el firmware original descargado de ErikZalm como el de neoxM3 en el foro de SpainLabs. En ambos casos cuando hace homing con el comando G28, el del eje Z no se va a centro de la cama y por tanto el servo al estar fuera de esta no pulsa haciendo que los motores bajen la plataforma indefinidamente. Pongo un vídeo para que lo veais mejor:


Y si, tengo descomentado el Z_SAFE_HOMING y todo lo que le sigue, pero no se por qué no se mueve al centro de la cama :(

gsyvic

unread,
Mar 17, 2014, 5:30:31 AM3/17/14
to asrob-uc3m-i...@googlegroups.com
Jejej, me pasa lo mismo: G28 hace la prueba en la esquina de X=0 e Y=0 y además, cuando le doy al G29 hace las cuatro pruebas en el mismo sitio. He probado con diferentes versiones del firmware y nada...

El 17/03/14 10:24, Oscar Rodriguez Parra escribió:
--

---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a asrob-uc3m-impreso...@googlegroups.com.
Para publicar en este grupo, envía un mensaje a asrob-uc3m-i...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

WHOISNOSFERATU .

unread,
Mar 17, 2014, 10:58:33 AM3/17/14
to asrob-uc3m-i...@googlegroups.com


Lo mismo me pasa a mi he desistido de la autonivelación , tengo el servo , final de carrera todo montado en la pieza del extrusor pero sin hacerlo funcional a la espera de que algun dia ..........
 

WeSo

unread,
Mar 17, 2014, 11:14:28 AM3/17/14
to asrob-uc3m-i...@googlegroups.com
No sé si en éste mismo hilo o en otros (hay varios frentes abiertos del autoleveling en distintos lados), ya se comentó el por qué ocurria.

Es un "problema" con los ENDSTOP, que casi ninguno los tenemos puestos en el final de carrera de cada uno de los ejes, por lo que al no estar activados, no se mueve al centro al hacer el Homming de Z. La solución suele ser invertirlos, es decir, en el Marlin, donde da la opción de invertirlos, ponerlos a true.


El lunes, 17 de marzo de 2014 10:30:31 UTC+1, Jorge Gómez Arenas escribió:
Jejej, me pasa lo mismo: G28 hace la prueba en la esquina de X=0 e Y=0 y además, cuando le doy al G29 hace las cuatro pruebas en el mismo sitio. He probado con diferentes versiones del firmware y nada...

El 17/03/14 10:24, Oscar Rodriguez Parra escribió:
Hola

He probado tanto el firmware original descargado de ErikZalm como el de neoxM3 en el foro de SpainLabs. En ambos casos cuando hace homing con el comando G28, el del eje Z no se va a centro de la cama y por tanto el servo al estar fuera de esta no pulsa haciendo que los motores bajen la plataforma indefinidamente. Pongo un vídeo para que lo veais mejor:


Y si, tengo descomentado el Z_SAFE_HOMING y todo lo que le sigue, pero no se por qué no se mueve al centro de la cama :(
--

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

Oscar Rodriguez Parra

unread,
Mar 17, 2014, 11:41:26 AM3/17/14
to asrob-uc3m-i...@googlegroups.com
Supongo que te refieres a esto:

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.

Pero si los invierto entonces, ¿seguirá funcionando igual el homing o habrá que resoldar los cables? Ahora mismo están todos conectados por los extremos.



--

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

Oscar Rodriguez Parra

unread,
Mar 17, 2014, 5:52:00 PM3/17/14
to asrob-uc3m-i...@googlegroups.com
Nada, poniendo esto:

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 = 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.

no me funciona

Descomentado la línea #define DISABLE_MAX_ENDSTOPS tampoco me funciona.

Comentando las siguientes líneas tampoco me funciona

  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX




El 17 de marzo de 2014, 16:49, WeSo <we...@pinflas.com> escribió:
Sí, me refiero a eso, pero concretamente a los MAX (por aquello del final de carrera que puse). En ese caso, y como supongo que no tienes puesto endstop en el final del recorrido de los ejes, sólo habría que invertir esos, por lo que no es necesario resoldar nada ni tocar los endstop "normales" (los del MIN).


El lunes, 17 de marzo de 2014 16:41:26 UTC+1, Oscar Rodriguez Parra escribió:
Supongo que te refieres a esto:

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.

Pero si los invierto entonces, ¿seguirá funcionando igual el homing o habrá que resoldar los cables? Ahora mismo están todos conectados por los extremos.

El 17 de marzo de 2014, 16:14, WeSo <we...@pinflas.com> escribió:
No sé si en éste mismo hilo o en otros (hay varios frentes abiertos del autoleveling en distintos lados), ya se comentó el por qué ocurria.

Es un "problema" con los ENDSTOP, que casi ninguno los tenemos puestos en el final de carrera de cada uno de los ejes, por lo que al no estar activados, no se mueve al centro al hacer el Homming de Z. La solución suele ser invertirlos, es decir, en el Marlin, donde da la opción de invertirlos, ponerlos a true.

El lunes, 17 de marzo de 2014 10:30:31 UTC+1, Jorge Gómez Arenas escribió:
Jejej, me pasa lo mismo: G28 hace la prueba en la esquina de X=0 e Y=0 y además, cuando le doy al G29 hace las cuatro pruebas en el mismo sitio. He probado con diferentes versiones del firmware y nada...

El 17/03/14 10:24, Oscar Rodriguez Parra escribió:
Hola

He probado tanto el firmware original descargado de ErikZalm como el de neoxM3 en el foro de SpainLabs. En ambos casos cuando hace homing con el comando G28, el del eje Z no se va a centro de la cama y por tanto el servo al estar fuera de esta no pulsa haciendo que los motores bajen la plataforma indefinidamente. Pongo un vídeo para que lo veais mejor:


Y si, tengo descomentado el Z_SAFE_HOMING y todo lo que le sigue, pero no se por qué no se mueve al centro de la cama :(
--

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

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--

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

Para publicar en este grupo, envía un mensaje a asrob-uc3m-i...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

WeSo

unread,
Mar 17, 2014, 6:25:14 PM3/17/14
to asrob-uc3m-i...@googlegroups.com
Pues eso ya me descoloca. Hasta ahora todos los casos que había visto de homing en una esquina en lugar del centro, era por cosa de los endstop.

Imagino que ésta linea la tienes descomentada:
#define Z_SAFE_HOMING


La única razón por la que debería hacerlo en una esquina, estando esa línea activada, y mirando el firmware, es el tema de los endstop.

De todos modos, te recomiendo pasar por el IRC de CW donde si no soy yo, seguro que algún otro compi lo lee y puede echarte una mano.
Para anular tu suscripción a este grupo y a todos sus temas, envía un mensaje a asrob-uc3m-impresoras-3d+unsubscr...@googlegroups.com.

Para publicar en este grupo, envía un mensaje a asrob-uc3m-i...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Oscar Rodriguez Parra

unread,
Mar 18, 2014, 3:10:12 AM3/18/14
to asrob-uc3m-i...@googlegroups.com
Si, esa línea está descomentada. Pongo aquí mi configuración entera http://pastebin.com/dNq4f03X

El caso es que con lo que me dijiste hace algo diferente y es que cuando llega al home de x e y hace como un movimiento de más al lado contrario y con el homing del eje Z necesita dos veces pulsar el endstop para pararlo:


Me conectaré esta noche al canal de irc.

Gracias Weso por los consejos.



Para anular tu suscripción a este grupo y a todos sus temas, envía un mensaje a asrob-uc3m-impreso...@googlegroups.com.

Francisco Molina

unread,
Mar 18, 2014, 3:35:03 AM3/18/14
to asrob-uc3m-i...@googlegroups.com
Según la configuración del Marlin que has puesto en pastebin, aún no has descomentado la línea para que se active el autolevel.

//#define ENABLE_AUTO_BED_LEVELING

Descoméntala y prueba.

Saludos.

Oscar Rodriguez Parra

unread,
Mar 18, 2014, 3:56:45 AM3/18/14
to asrob-uc3m-i...@googlegroups.com
Joder, como sea eso... :)

esta tarde cuando llegue lo pruebo y os comento.


--

---
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/KCaffYNZ1o0/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.

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/d/optout.

Oscar Rodriguez Parra

unread,
Mar 18, 2014, 6:20:16 PM3/18/14
to asrob-uc3m-i...@googlegroups.com
Vale, confirmado me faltaba lo que comentaba Francisco. En algún momento de las pruebas que he estado haciendo he debido dejar esa línea comentada (seguramente cuando viene por defecto al haberme bajado de nuevo el Marlin)


Gracias Weso y Francisco por vuestra ayuda. Finalmente siguiendo el manual y con descomentar la línea #define DISABLE_MAX_ENDSTOPS ya funciona. Para lo de escuchar el click del endstop del servo lo mejor es ir comprobando con el GCODE M119 para saber si ya ha sido pulsado.

Y ya una pregunta para rematar: se hacen cada vez dos pulsaciones en el endstop del servo al autonivelar, y al terminar la segunda el servo de retrae haciendo que roce levemente este con el cristal, ¿hay alguna forma de decirle que antes de retraer el servo suba un poco el eje Z?

El martes, 18 de marzo de 2014 08:56:45 UTC+1, Oscar Rodriguez Parra escribió:
Joder, como sea eso... :)

esta tarde cuando llegue lo pruebo y os comento.
El 18 de marzo de 2014, 8:35, Francisco Molina <furansh...@gmail.com> escribió:
Según la configuración del Marlin que has puesto en pastebin, aún no has descomentado la línea para que se active el autolevel.

//#define ENABLE_AUTO_BED_LEVELING

Descoméntala y prueba.

Saludos.

--

---
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/KCaffYNZ1o0/unsubscribe. Para anular la suscripción a este grupo y todos sus temas, 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-impresoras-3d@googlegroups.com.

Francisco Molina

unread,
Mar 18, 2014, 6:31:09 PM3/18/14
to asrob-uc3m-i...@googlegroups.com

Para eso, ya haría falta modificar código. Creo que en el foro de spainlabs alguien puso los cambios para que el servo sólo suba al finalizar la medición y no entre mediciones.

Oscar Rodriguez Parra

unread,
Mar 19, 2014, 7:36:33 AM3/19/14
to asrob-uc3m-i...@googlegroups.com
He encontrado esto que funciona perfectamente:

Iceflow

unread,
Mar 19, 2014, 8:36:10 AM3/19/14
to asrob-uc3m-i...@googlegroups.com
Muchas gracias por compartirlo!! :D


--

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

Para publicar en este grupo, envía un mensaje a asrob-uc3m-i...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

WeSo

unread,
Mar 19, 2014, 11:23:51 AM3/19/14
to asrob-uc3m-i...@googlegroups.com
Genial, me alegra que lo hayas hecho funcionar. Espero que quedes contento como la mayoría de los que hemospuesto el autoleveling :D

Lo que comentas de levantar el Z antes de subir el brazo, en mi caso no lo hecho en falta porque el endstop, entre la chapa y el interruptor hay una pequeña holgura (que no afecta al calibrado), y el roce es muy suave. De todos modos, en el hilo de mi impresora en spainlabs, un compañero puso una modificación para que directamente el brazo no se recogiera cada vez tomase referencias de un punto.


El miércoles, 19 de marzo de 2014 13:36:10 UTC+1, Aisflou escribió:
Muchas gracias por compartirlo!! :D
El 19 de marzo de 2014, 12:36, Oscar Rodriguez Parra <osc...@gmail.com> escribió:
He encontrado esto que funciona perfectamente:



El 18 de marzo de 2014, 23:31, Francisco Molina <furansh...@gmail.com> escribió:

Para eso, ya haría falta modificar código. Creo que en el foro de spainlabs alguien puso los cambios para que el servo sólo suba al finalizar la medición y no entre mediciones.

--

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

jarrelive

unread,
Mar 21, 2014, 8:29:19 AM3/21/14
to asrob-uc3m-i...@googlegroups.com
Hola

Alguien ha hecho el Auto Leveling con la SAV MKI ?

Segun veo en pins.h, no hay ningun pin definido para el servo, en esta placa.

Saludos

Noso Can C.V.

unread,
Mar 21, 2014, 12:42:53 PM3/21/14
to asrob-uc3m-i...@googlegroups.com
En teoría se puede pero o configuras los pins o te haces con la pantalla LCD a juego. El adaptador para la pantalla ya tiene la conexión para el servo.


Yo quiero añadir el autolevel a mi TAZ, además tiene un montón de espacio para el servo. Pero tengo otras cosas en la lista de espera que tienen prioridad.

He de decir que en un principio no me parecía muy práctico, sobre todo por lo de subir y bajar el brazo en cada punto. Pero si esto se puede corregir y añadir más puntos de medición sí que puede suponer una comodidad en mi caso. 

jarrelive

unread,
Mar 21, 2014, 3:44:30 PM3/21/14
to asrob-uc3m-i...@googlegroups.com
Estoy a la espera de que me llegue la LCD, pero aun asi, imagino que algo se devera de cambiar, o el pin definido es el mismo que para la RAMPS?

MarioCrespo

unread,
Mar 22, 2014, 5:50:18 AM3/22/14
to asrob-uc3m-i...@googlegroups.com
No creo que haya que cambiar ningún pin, ya está todo configurado. Sólo habrá que desmarcar alguna linea para activar la función.

MarioCrespo

unread,
Mar 22, 2014, 5:52:20 AM3/22/14
to asrob-uc3m-i...@googlegroups.com
¿Alguna recomendación de servo? Hay tantas opciones que no me entero. 

Iceflow

unread,
Mar 22, 2014, 10:30:10 AM3/22/14
to asrob-uc3m-i...@googlegroups.com

Cualquier micro servo de 9g te sirve, cuanto mas rapido mejor, mas rapidos los movimientos ;)

El 22/03/2014 10:52, "MarioCrespo" <mariocre...@gmail.com> escribió:
¿Alguna recomendación de servo? Hay tantas opciones que no me entero. 

--

---
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 mensajes, envía un mensaje de correo a asrob-uc3m-impreso...@googlegroups.com.
Para publicar en este grupo, envía un mensaje de correo a asrob-uc3m-i...@googlegroups.com.

Angel Andrés Lerena Pariente

unread,
Mar 22, 2014, 3:37:32 PM3/22/14
to asrob-uc3m-i...@googlegroups.com
Aunque más abajo ya has solucionado el problema desconectando la línea
#define ENABLE_AUTO_BED_LEVELING 

me gustaría añadir algo más.

Yo también quería que mi home de Z al ejecutar el comando G-code "G28" lo hiciera en el medio de la mesa, pero por alguna razón lo hacia descentrado. y lo he solucionado de la siguiente manera:

Ajustando un valores en la siguiente sección de "configuration.h"

//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING


    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

"Z_SAFE_HOMING_X_POINT e Y_PAOINT" definen la posición del home Z al ejecutar el comando "G28" obteniendo los valores de la definición de nuestra cama de "X_MAX_LENGTH" y "Y_MAX_LENGTH" dividiéndolo a la mitad, o lo que es lo mismo punto central de un plano.

¿Y por que XXXXXX mi servo no se pone en la mitar?

Conclusión: los end-stop X e Y no los tengo bien colocados en la posición X0 e Y0 del espejo, por lo que el centro esta desplazado.

Solución 1: colocar bien los end-stop para que coincidan en la posición X 0 e Y 0 des espejo y definir con un valor real el espacio de impresión a utilizar.
Solución 2: modificar el valor "2" para que la división obtenga un valor más cercano a la realidad.

Yo tengo el servo a la derecha del hotend, por lo que he colocado un valor de 2.4 en vez de 2 en el Z_SAFE_HOMING_X_POINT, porque el centro lo tenía más a la izquierda de donde lo hacia. Si fuera al rever, colocaría un valor más bajo de 2.

Espero que esto ayude.

Angel Andrés Lerena Pariente

unread,
Mar 22, 2014, 7:17:39 PM3/22/14
to asrob-uc3m-i...@googlegroups.com
Yo he colocado la modificación y no me funciona como esperaba. sigue levantando el palpador después de tomar la medición. se supone que tendría que subir un poco en el eje Z y luego retirar el palpador.

De todos modos veo un comportamiento poco practico.
¿Por que subir el palpador entre un punto y otro? Cuando estás haciendo esta palpación no hay objeto en medio, solo la mesa. ¿y por que no hacer el siguiente proceso?
bajar palpador, hacer las tomas de medida en tantos puntos como se configuran; entre palpación y palpación, se sube un poco el eje Z según configuración, pero el palpador sigue sacado. cuando termine con el último punto, subir en el eje Z y luego subir palpador con el servo.

Con esto creo que se ganaría tiempo en el proceso de toma de medidas, y evitaria posibles falsas mediciones por si en uno de los pasos el servo no baja o sube correctamente el palpador.

Dejo un video donde se ve la modificación de Marlin (versión publicada hace 3 días) modificada con estas líneas, pero no consigo que haga lo que se supone que hace, levantar el eje Z antes de levantar el palpador. si que he notados que se pone a subir y bajar demasiadas veces entre palpaciones.


Oscar Rodriguez Parra

unread,
Mar 22, 2014, 7:27:12 PM3/22/14
to asrob-uc3m-i...@googlegroups.com
Ok, yo he avanzado en ese tema. También me hacía más subidas de las que debía y quería que el servo se quedase quieto, por eso he modificado el firmware para corregir esos detalles. Las instrucciones son estas:

Pongo aquí los nuevos pasos para modificar el Marlin_main.cpp:

    En la función probe_pt comentar engage_z_probe(); y retract_z_probe();
    En la función process_commands 
      añadir después de bool zig = true; la llamada a la función engage_z_probe();
      añadir antes del primer clean_up_after_endstop_move(); que encuentres la llamada a la función retract_z_probe();

Y para los que tengan el mismo problema que yo con que el endstop se chocaba con la cama cuando se retrae, estos son los cambios que hay que hacer:

    En la función homeaxis añadir antes de retract_z_probe(); la llamada a la función do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);
    En la función process_commands añadir antes del retract_z_probe(); que he puesto en el caso anterior, la llamada a la función do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);

Pruébalo y ya nos contarás.

--

---
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/KCaffYNZ1o0/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un mensaje de correo a asrob-uc3m-impreso...@googlegroups.com.
Para publicar en este grupo, envía un mensaje de correo a asrob-uc3m-i...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Message has been deleted

Angel Andrés Lerena Pariente

unread,
Mar 27, 2014, 2:54:40 AM3/27/14
to asrob-uc3m-i...@googlegroups.com
Hola de nuevo. perdonar, pero he respondido a nivel privado a oscar sobre este hilo y el resto no lo veíais 

pego lo comentado en privado.

Por lo que hemos estado comentando, la transcripción que realizaba Oscar no estaba muy clara y a demás tenia algún gazapo. Somos humanos que se le va a hacer ;-)

Expongo a continuación lo comentado en privado:

"Angel"

Adjunto mi firmware "marlin" modificado con los datos que indicas Oscar.


En el video se ve el efecto que hace.


G28 sigue haciendo "cosas raras" en eje Z le gusta subir y bajar para mi sin motivo jejejejej


G29 lo has clavado. ya no sube el servo entre palpaciones.


Video: http://youtu.be/mwGBuI-I264


Link firmware: http://we.tl/gCsJ1Esmfg


"Oscar"

Hola


He visto tu vídeo y queda genial la explicación jajajajaja


A ver te comento qué puede pasar porque leyendo mis comentarios me he dado cuenta que no está del todo claro XD:


En la función homeaxis añadir antes de retract_z_probe(); la llamada a la función do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);


Tiene un if y tendría que estar todo dentro del if:


if (axis==Z_AXIS)

{

  do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);

  retract_z_probe();

}


Creo que tu lo tendrás como:


do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);

if (axis==Z_AXIS) retract_z_probe();



Y luego un fallo que he cometido, cuando he dicho:


En la función process_commands añadir antes del retract_z_probe(); que he puesto en el caso anterior, la llamada a la función do_blocking_move_to(0,0, Z_RAISE_BEFORE_PROBING);


Esta mal, habría que poner un 


do_blocking_move_relative(0, 0, Z_RAISE_BEFORE_PROBING); antes del retract_z_probe();


y un


do_blocking_move_relative(0, 0, -Z_RAISE_BEFORE_PROBING); después del retract_z_probe();


Por otro lado la función retract_z_probe la tienes que dejar como en la versión original y no la modificada que puse antes, es decir, tiene que estar así:


static void engage_z_probe() {

    // Engage Z Servo endstop if enabled

    #ifdef SERVO_ENDSTOPS

    if (servo_endstops[Z_AXIS] > -1) {

#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)

        servos[servo_endstops[Z_AXIS]].attach(0);

#endif

        servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2]);

#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)

        delay(PROBE_SERVO_DEACTIVATION_DELAY);

        servos[servo_endstops[Z_AXIS]].detach();

#endif

    }

    #endif

}



Por si acaso pongo mi marlin_main.cpp: http://pastebin.com/QienYnRm 

Saludos.

"Oscar"

Por otro lado la función retract_z_probe la tienes que dejar como en la versión original y no la modificada que puse antes, es decir, tiene que estar así:
static void engage_z_probe() {
    // Engage Z Servo endstop if enabled
    #ifdef SERVO_ENDSTOPS
    if (servo_endstops[Z_AXIS] > -1) {
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
        servos[servo_endstops[Z_AXIS]].attach(0);
#endif
        servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2]);
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
        delay(PROBE_SERVO_DEACTIVATION_DELAY);
        servos[servo_endstops[Z_AXIS]].detach();
#endif
    }
    #endif
}

"Angel"

Hola Oscar. Entre semana ando muy liado.

En cuanto lo pruebe te comento. Y lo pongo en el hilo. Me he dado cuenta que lo mande como respuesta privada y el resto de personas no ven la comunicación.


Con todo esto, he corregido "marlin_main" con las indicaciones de Oscar dejando mi "marlin_main" así:

http://pastebin.com/pYiAe5gQ

Ahora funciona logicamente, subir y bajar eje Z, durante el comando "G28" home Z; y durante el comando "G29" palpaciones.

Adjunto video como ha quedado su comportamiento tras indicaciones:  https://www.youtube.com/watch?v=ZlmHS4bN56g&list=UU4_a3uUW5biwBRUN_CNfpkg


Después de las modificaciones he querido hacer un test de impresión. cubo de 20x20x10 con punta 0.25 que ya utilizaba antes, y he detectado un problema muy gordo.

Al imprimir el eje Z se ve que va adaptándose al desnivel de la mesa, hasta aquí bien, pero luego en algunos momentos, noto una pequeña vibración en el eje Z que no lo achaco al cambio de giro, sino como que se atascara, y esto provocara que el Z en algunas capas esta más alto de lo debido, llegando a no fijarse bien una capa con la otra. estoy utilizando una altura de capa de 0.15 mm con una punta de 0.25 mm.
La corriente y ajuste de driver para ejes, la descarto al medir corriente correcta, 400 mA para eje Z.


Adjunto la configuración de Slic3r que estoy usando: Prusa interaccion 2 con hotend budas con punta de 0.25mm y alimentado con filamento ABS 3 mm no muy regular por eso lo tengo a 3.1mm, y altura de capa de 0.15 mm

Para anular la suscripción a este grupo y a todos sus temas, envía un mensaje de correo a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.

Oscar Rodriguez Parra

unread,
Mar 27, 2014, 4:50:52 AM3/27/14
to asrob-uc3m-i...@googlegroups.com
Por lo que hemos estado comentando, la transcripción que realizaba Oscar no estaba muy clara y a demás tenia algún gazapo. Somos humanos que se le va a hacer ;-)

Si, tengo como 5 Marlins en mi disco con distintas pruebas que he ido haciendo y lo que puse fue de uno de ellos, pero no era la última modificación que había hecho. Necesito montarme un subversion :)
 

Con todo esto, he corregido "marlin_main" con las indicaciones de Oscar dejando mi "marlin_main" así:

http://pastebin.com/pYiAe5gQ

Ahora funciona logicamente, subir y bajar eje Z, durante el comando "G28" home Z; y durante el comando "G29" palpaciones.

Adjunto video como ha quedado su comportamiento tras indicaciones:  https://www.youtube.com/watch?v=ZlmHS4bN56g&list=UU4_a3uUW5biwBRUN_CNfpkg

Me alegro de que te haya funcionado. Lo que comentas de que va al eje 0,0 al final del G28 y que luego se baja a una posición  determinada después del G29 está puesto en el Marlin, pero ese código ya no lo he tocado. No se cuál será la justificación para que haga eso, pero como todo se puede modificar. Veo que has puesto los puntos *_PROBE_BED_POSITION muy juntos o eso me parece a mi. Lo de que la pieza no se imprima en el centro creo que podría ser porque habría que ajustar el X_PROBE_OFFSET_FROM_EXTRUDER 

Este es mi vídeo de un G28 y un G29 que he puesto en un fichero .gcode y lanzado desde el panel LCD:

 
Después de las modificaciones he querido hacer un test de impresión. cubo de 20x20x10 con punta 0.25 que ya utilizaba antes, y he detectado un problema muy gordo.

Al imprimir el eje Z se ve que va adaptándose al desnivel de la mesa, hasta aquí bien, pero luego en algunos momentos, noto una pequeña vibración en el eje Z que no lo achaco al cambio de giro, sino como que se atascara, y esto provocara que el Z en algunas capas esta más alto de lo debido, llegando a no fijarse bien una capa con la otra. estoy utilizando una altura de capa de 0.15 mm con una punta de 0.25 mm.
La corriente y ajuste de driver para ejes, la descarto al medir corriente correcta, 400 mA para eje Z.



Ese ruido de clac, clac ¿Podría ser que alguno de los tornillos prisioneros de los acoples flexibles que juntan la varillas roscadas con los motores del eje Z estuviese algo suelto?
It is loading more messages.
0 new messages