Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
AutoNivelacion cama ¿Porque no me funciona?
#1
Hola.
Agradeceria su ayuda. Estoy intentando la autonivelar la cama con un sensor inductivo y no me funciona.
Voy ha intentar ser lo mas exacto preciso de los pasos que estoy haciendo.
Tengo el firmware Marlin 1.1.9.
He definido la autonivelacion bilinear. Para la autonivelacion hago lo siguiente:
1.- En fronterface hago el autohoming -> G28. Una vez hecho, compruebo la distancia de la boquilla con respecto a la cama. Obtengo un valor de -0.25mm.
2.- Con el comando M851 establezco esta diferencia -> M851 Z-0.25
3.- Guardo los datos en la EEPROM - >M500
4.- Ejecuto el codigo para la autonivelacion -> G29
5.- La impresora hace la autonivelacion bilinear en 9 puntos y el fonrterface me indica el desfase en los 9 puntos.
6.- Vuelvo a guardar los datos en la EPPROM ->M500
7.- Luego activo la malla creada -> M420 S1
8.- Finalmente hago pruebas, moviendo los ejes de la impresora a diferentes puntos de la cama, pero no veo que el eje Z haga la compensación a medida que se posiciona en los puntos que le marco.

¿Que estoy haciendo mal?

Por otro lado, haciendo más pruebas. en Cura cargo un fichero y en el codigo Start del gcode tengo lo siguiente:
Primero probe con
G28 ;Home
G29 ; Autonivelacion cama
G1 X100 Y100 Z15 F5000 ; fija posicion de espera
G92 E0
G1 F200 E3
G92 E0
M420 S1

Luego, como sea que tengo almacenados los datos en la EPPROM utilizo:
G28 ;Home
G1 X100 Y100 Z15 F5000 ; fija posicion de espera
G92 E0
G1 F200 E3
G92 E0
M420 S1

No funciona ninguno de los dos. Necesito su ayuda.
Saludos.
Citar
#2
Hola, me parece que esperas un resultado que salte a la vista con el uso del autolevel y realmente lo que se obtiene, cuando funciona bien, es una pieza bien impresa cuando antes no se obtenía.
Mirando la altura de la boquilla no vas a poder ser consciente de si te está aplicando la compensación el autolevel o no. Precisamente es su función: hacer que la altura esté igual en todos los puntos de la cama que estén dentro de la rejilla de medición.
Normalmente, la única pista visible de que lo hace es mirando si se mueven el/los motor/es del eje Z mientras se imprime una capa. Pero si la planitud de la cama es buena, el movimiento será casi inapreciable.
Pecisamente el hecho de que no se aprecie su funcionamiento, es una razón de peso para no utilizarlo.
Tengo una impresora en la que lo utilizo y un tutorial sobre él, por lo que no se puede decir que sea enemigo del sistema, pero siempre he comentado que no es un sistema de mejora de la impresión, sino un sistema de corrección de un defecto que impide que sea buena (la falta de planitud de la cama, no su nivelado). Es algo que muchos usuarios no tienen muy claro y lo toman como una mejora de las muchas que circulan para sus máquinas y que hay que poner sí o sí, pero no es el caso.
Por supuesto, cada cual es muy libre de hacer lo que considere más oportuno, pero en mi opinión y dado el trabajo que conlleva instalarlo correctamente, solo tiene sentido utilizarlo si se necesita.
Volviendo a tu pregunta, los pasos que indicas para todo el proceso parecen correctos y la forma de usar el autolevel también, aunque con una salvedad: si se utiliza el comando G29 ya queda activado el autolevel, por lo que no es necesario enviar un comando M420 S1. No pasa nada por hacerlo pero es redundante.
Si no se hace un G29, entonces sí hay que activarlo con ese comando, pero que las mediciones estén en la EEPROM no te servirá de nada. Tienen que estar en la RAM.
Y si no están en ella, hay que cargarlas en la RAM desde la EEPROM con un comando M501, antes de enviar el comando M420 S1.
En contra de lo que indicas, yo más bien me inclino por pensar que te está funcionando en las dos formas en que lo aplicas, aunque seguramente te esté pasando inadvertido.
Citar
#3
Totalmente de acuerdo, y sin ánimo de desvirtuar el hilo, yo en una cama totalmente plana tampoco pondría autolevel.
Citar
#4
Gracias por vuestra respuesta.
Mi consulta era porque mirando detenidamente el eje Z no veo que haga ningún mínimo movimiento cuando está realizando una impresión. Solo se mueve el eje Z cuando pasa a imprimir otra capa.
Por otro lado, estoy intentando utilizar el autonivelado porque la cama no es totalmente plana, ya que cuando nivelo los extremos con un papel y los dejo todos nivelados para que pase el papel rozando la boquilla, en el centro de la cama hay un desfase de unos 0.2mm, por lo que entiendo que ese desfase existirá, aunque en menor media desde el centro hasta los extremos.
Por lo que entiendo Simemart en tu respuesta, para que me funcione debería poner en el código de inicio del cura un M501 y luego M420 S1, y si solo pongo un G29 ya debería funcionar, es correcto.
Pero si te fijas en mi primer ejemplo ya hago y un G29 y no pasa nada.

Soy nuevo en esto de la impresion 3d y no se, no conozco otra manera de poder solucionar dicho problema si no es con el autonivelado.
Si tenéis alguna sugerencia, agradecería vuestra aportación para solucionar el problema.
Saludos.
Citar
#5
Como te dicen si la nivelacion es correcta puede que ni se note, pero igualmente yo por muy bien que haya calibrado la altura, siempre aprecio un minimo movimiento.
No se si será el caso, pero es importante que verifiques dos cosas:
- Asegurate de no enviar ningun G28 tras realizar el autolevel con el G29, en caso de hacerlo, el autolevel se desactiva.
- Asegurate de que al ejecutar el autolevel la boquilla no este demasiado alta. Por alguna extraña razón al menos en mi firmware (que es antiguo, y por tanto esto podria estar corregido), si hago home con G28 desde una posicion muy elevada luego pasa totalmente del G29 y no se ejecuta. Es algo extraño pero que a mi me ha sucedido en varias ocasiones. Me ha pasado con impresiones previas muy altas... en cuanto hace home como tarda mucho en bajar se me ha dado este caso.

Por ultimo... haz una trayectoria de prueba en un fichero gcode y ejecutala desde la SD o enviandosela desde el software laminador. El autolevel no funciona enviandole comandos a mano, o al menos a mi casi nunca me ha funcionado... recuerdo haber movido los ejes desde repetier host con su panel de movimiento y que me realizase la compensación pero nunca enviandole yo el comando directamente, pero esto podria ser causado por mi version de firmware como antes he dicho.
Citar
#6
Siempre puedes descalibrar la cama exageradamente para ver si así se nota, eso sí apretando los tornillos de un lado no soltando no vaya a ser que te roce el nozzle. Saludos.
Citar
#7
(22-10-2018, 05:50 AM)PGARVI escribió: Gracias por vuestra respuesta.
Mi consulta era porque mirando detenidamente el eje Z no veo que haga ningún mínimo movimiento cuando está realizando una impresión. Solo se mueve el eje Z cuando pasa a imprimir otra capa.
Por otro lado, estoy intentando utilizar el autonivelado porque la cama no es totalmente plana, ya que cuando nivelo los extremos con un papel y los dejo todos nivelados para que pase el papel rozando la boquilla, en el centro de la cama hay un desfase de unos 0.2mm, por lo que entiendo que ese desfase existirá, aunque en menor media desde el centro hasta los extremos.
Por lo que entiendo Simemart en tu respuesta, para que me funcione debería poner en el código de inicio del cura un M501 y luego M420 S1, y si solo pongo un G29 ya debería funcionar, es correcto.
Pero si te fijas en mi primer ejemplo ya hago y un G29 y no pasa nada.

Soy nuevo en esto de la impresion 3d y no se, no conozco otra manera de poder solucionar dicho problema si no es con el autonivelado.
Si tenéis alguna sugerencia, agradecería vuestra aportación para solucionar el problema.
Saludos.

Por lo que indicas no me queda claro si tienes un desfase total de 0,2 mm o de 0,1 mm entre el centro y las esquinas.
Es decir, si cuando tienes las esquinas que rozan el papel, en el centro entran dos papeles o tres.
Si el desfase es en total de 0,2 mm, debería notarse el funcionamiento del autolevel. Si tienes husillos T8 en Z, eso equivale a un giro de 9º que debería ser visible. Si es de 0,1 mm entonces puede que pase desapercibido.
Ten en cuenta que si imprimes piezas pequeñas y cerca del centro puede que ahí realmente esté plana la cama, curvandose cuando ya estás cerca de las esquinas.
Para comprobar todo esto, lo mejor es que realices un gcode con un diseño tal que así:

resim

Dale una altura de 1 capa y un grosor de las líneas múltiplo par del ancho de línea, con lo que deberás configurar un número de líneas de perímetro de la mitad de ese múltiplo para que las haga de una sola pasada (sin hacer relleno).
Hazla del mayor tamaño que puedas, pero que quede dentro de la rejilla de medición que tengas configurada para el autolevel.
Una vez impresa y sin despegarla de la cama, comprueba visualmente el espesor que tiene en las distintas zonas.
Sobre tu pregunta, la respuesta es sí. Yo prefiero que me haga las mediciones al comienzo de cada impresión, por lo que tengo un G29 en el script de inicio.
Citar
#8
ok.
Probaré sus indicaciones y les tendré al corriente del resultado.
Gracias.
Citar
#9
Hola, buenas.
He realizado las pruebas que me indicaban, y aparentemente, ahora si veo movimiento en el eje Z.
Para que funcione, en el Start gcode he incluido al final del mismo M501 y luego M420 S1.

Ahora, les agradecería me indicarán que debo hacer para poder poner un cristal de 3mm. Lo digo por dos razones. Primera para no estropear la cama caliente cada vez que tenga que sacar una impresión y segunda porque la cama va sujeta por tornillos, pero éstos no están en los extremos, más bien a 4 cm de cada extremo, con lo que pierdo bastante dimension para la impresion,
Hasta ahora, en cura utilizaba sin el autonivelado y con el cristal el siguiente código:
G28 ;Home
G1 Z15.0 F6000 ;Muevo la plataforma 15 mm abajo
M0 ; Hago una pausa para poner el cristal y esperar a que se caliente el mismo
G92 Z12.1 ; Situo el eje Z a ésta posición indicando que éste es el punto 0 del eje Z.
G92 E0
G1 F200 E3
G92 E0

Pero si ahora quiero utilizar la autonivelacion con el cristal, como debo engañar a la máquina para indicarle la posición correcta. O con el código de arriba solo tengo que añadir al final del mismo los códigos M501 y M420 S1.
La máquina no tendrá en cuenta el offset del eje Z que está a 0.26mm.

Espero sus indicaciones.
Saludos.
Citar
#10
Tu lo que estas calibrando con el autonivelado es la distancia entre boquilla y lo que tengas debajo en una malla. Tu problema es mas bien la utilizacion de un sensor inductivo en lugar de uno capacitivo...
El autolevel lo ideal seria que lo ejecutases al arranque del gcode ya con el cristal puesto, asi ya se tendrian en cuenta los 2 o 3mm de tu cristal y no tendrias que tocar nada, pero probablemente el rango de deteccion no te de.

Lo unico que se me ocurre es que al final del codigo metas un:
G1 Z3
G92 Z0


De esta forma reseteas el Z indicandole que suba 3mm y se quede como a 0. Aun asi no se que efecto tendrá ejecutar un G92 tras la calibración... puede que te desactive la malla o que tu cristal no sea de 3mm exactos y debas tocar ese valor.

Como te digo lo ideal en el autoleves es tener todos los elementos incluido el cristal ya instalados, porque si no bo te sirve de mucho la malla que realizas pues el cristal le va a dar una planitud diferente a la base.
Citar
#11
ok, gracias.
Efectivamente el rango del sensor no detecta la cama con un cristal de 3mm.
De todas maneras probaré lo que me indica, aunque mirando por internet, me ha parecido entender que si ejecuto un codigo G92 la malla se desactiva como indicaba.
Pero puedo poner la secuencia de esta manera, no:
M501
G1 Z3
G92 Z0
M420 S1

Por que, supongo, que M420 S1, lo único que hace es activar la malla y tener en cuenta los valores de los desfases calculados con G29, pero no pone de nuevo el valor de la cama en 0.26 mm como lo tengo definido en el offset del eje Z. ¿Es asi?

Saludos
Citar
#12
Hola, puedes configurar el Z-Offset directamente al valor que necesites con el cristal puesto y así evitarte el cambio de altura.
Para ello, calienta todo a temperatura de impresión, haz el home, sube el extrusor para colocar el cristal y deja que se caliente, ajusta con la hoja de papel, pon el valor para el offset que te indique en ese momento la pantalla y guárdalo en la EEPROM.
Ojo con el comando M501 porque restaura todos los valores de la RAM con los que estén almacenados en la EEPROM, por lo que todo cambio que se haya realizado se perderá si no coincide con lo almacenado.
De todas formas, ten en cuenta lo que te comenta @Shellmer referente a que estás realizando la medición del autolevel con la superficie de la cama, pero el cristal es casí seguro que tiene distinta planitud.
A parte de que vas a utilizar una medición almacenada, pero quitando y poniendo el cristal cada vez para hacer home, lo que hará que la posición en que quede influya en el resultado del autolevel durante la impresión.
Por eso debe utilizarse un sensor capacitivo con el cristal. Las cosas hechas a medias no suelen dar buenos resultados.
¿Has comprobado si con él cristal puesto tienes esa diferencia del centro a las esquinas?
Citar
#13
Muy bien, gracias.
Haré las pruebas.
Lo del sensor, es el que venía con la compra de la impresora.

Saludos.
Citar
#14
Bien, en principio, creo que el tema ha quedado resuelto.
Agradecerles nuevamente su ayuda.
Saludos.
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Core XY Autonivelación de cama?? jukaramgon 0 374 03-06-2017, 08:54 PM
Último mensaje: jukaramgon
  Mi impresora funcionar funciona, pero no imprime khayrhu 9 3,043 20-05-2015, 04:11 AM
Último mensaje: joseperez
  siempre me imprime mas ancho en la base. ¿porque? Altenife 7 900 18-03-2015, 01:32 PM
Último mensaje: Triggerr
  Perdida de pasos y no se porque C0RB3C 14 1,793 22-10-2014, 10:36 AM
Último mensaje: ruben_cm