Calificación:
  • 4 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Autolevel, paso a paso (III): configuración (ACTUALIZADO y EDITADO).
Ok, muchas gracias, lo hago con el IDE 1.8.0 porque y incluía la placa, en el .Zip de skynet 2.3.2 ya viene incluida en el paquete de Arduino y por eso la uso en este versión, lo volveré a intentar y a ver qué consigo, por hoy lo dejo ya, me voy a buscar un Arduino uno por si tengo que reinstalar e bootloader
Citar
(01-06-2018, 02:22 PM)Simemart escribió: Además de lo que te he puesto en el otro post, te recomiendo que uses las últimas versiones, tanto del IDE de Arduino (1.8.5) como de Marlin (1.1.8).

P.S.: Por cierto, el IDE de Arduino no trae incorporada la placa Anet.
Hay que incluir, en la carpeta hardware, el fichero de configuración de la máquina para que la pueda usar.
Tienes toda la información en la primera parte de este tutorial.

Muchisimas gracias por todo Simemark, he conseguido recuperar el bootloader con tu turorial, he tenido que instalar skyner 2.3.2 para Anet A6 porque con Marlin me ha dado dos veces este mismo error
resim

mientras que con Skynet va todo bien, ahora me queda configurar el autolevel pero ya parto de algo mas seguro y con menos miedo de Brikear la tarjeta, por cierto, voy a hacer una foto del cable que me he montado para comunicar el arduino con la Anet ( para la carga de bootloader ) y os la subo.

resim

Aunque me gustaria poder solucionar el error de carga que me da Marlin y asi tener una version mas estable y con revisiones mas frecuentes, para tener la impresora al dia.Si me puedes decir como solucionarlo me vendria muy bien,

Un saludo y mil gracias
Citar
Hola, me alegro que te haya servido el tutorial y que hayas podido cargar el bootloader. Espero que hayas aprovechado para cargar el Optiboot.
En las capturas de pantalla que pones, veo algo que no me cuadra en los tamaños de los archivos compilados.
El que estás subiendo de Marlin indica que ocupa 128652 bytes, lo que me parece demasiado.
Yo hago la prueba y configurado para la A6 y con autolevel me da 126702 bytes, justo en el límite que admite la placa con el bootloader normal.
Pero el de Skynet indica que solo ocupa 103214 bytes, lo que me parece muy poco para una configuración correcta para la A6 con autolevel.
A mi Skynetv2.3.2 fix 2 para la A6 con autolevel me da 125410 bytes. Muy lejos de lo que te da a ti.
Así que no estoy seguro de si lo estás configurando todo correctamente.
El error con Marlin te lo está dando al verificar que lo escrito en la flash es igual a lo que hay en el fichero. Es decir, parece que finaliza la escritura bien, pero no la verificación.
Y como indica, se produce al leer el byte 0x1f000 que equivale a 126976 en decimal, que es justo el límite de la memoria libre con el bootloader normal.
Esto me indica dos cosas: que el problema viene por el tamaño (por eso te carga Skynet sin problema) y que no cargaste el Optiboot (una pena).
Tendrás que intentar que el archvo compilado ocupe como mucho 126976 bytes.
Citar
(06-06-2018, 01:45 AM)Simemart escribió: Hola, me alegro que te haya servido el tutorial y que hayas podido cargar el bootloader. Espero que hayas aprovechado para cargar el Optiboot.
En las capturas de pantalla que pones, veo algo que no me cuadra en los tamaños de los archivos compilados.
El que estás subiendo de Marlin indica que ocupa 128652 bytes, lo que me parece demasiado.
Yo hago la prueba y configurado para la A6 y con autolevel me da 126702 bytes, justo en el límite que admite la placa con el bootloader normal.
Pero el de Skynet indica que solo ocupa 103214 bytes, lo que me parece muy poco para una configuración correcta para la A6 con autolevel.
A mi Skynetv2.3.2 fix 2 para la A6 con autolevel me da 125410 bytes. Muy lejos de lo que te da a ti.
Así que no estoy seguro de si lo estás configurando todo correctamente.
El error con Marlin te lo está dando al verificar que lo escrito en la flash es igual a lo que hay en el fichero. Es decir, parece que finaliza la escritura bien, pero no la verificación.
Y como indica, se produce al leer el byte 0x1f000 que equivale a 126976 en decimal, que es justo el límite de la memoria libre con el bootloader normal.
Esto me indica dos cosas: que el problema viene por el tamaño (por eso te carga Skynet sin problema) y que no cargaste el Optiboot (una pena).
Tendrás que intentar que el archvo compilado ocupe como mucho 126976 bytes.

Buenos dias de nuevo, ¿ me merece la pena volver a instalar el bootloader para poner el optiboot?¿ que es y para que sirve el optiboot?¿ el problema de instalacion de Marlin 1.1.6 y Skynet pudiera ser que lo hago con el IDE de Arduino 1.8.0? lo hago asi porque esta version me venia integrada en el.zip del skynet 2.3.2 fix y que dicha IDE integra la tarjeta de anet V1

resim


[url=https://ibb.co/itBQdT][/url]A la vuelta del trabajo seguire haciendo pruebas para la compilacion
Citar
(06-06-2018, 01:45 AM)Simemart escribió: Hola, me alegro que te haya servido el tutorial y que hayas podido cargar el bootloader. Espero que hayas aprovechado para cargar el Optiboot.
En las capturas de pantalla que pones, veo algo que no me cuadra en los tamaños de los archivos compilados.
El que estás subiendo de Marlin indica que ocupa 128652 bytes, lo que me parece demasiado.
Yo hago la prueba y configurado para la A6 y con autolevel me da 126702 bytes, justo en el límite que admite la placa con el bootloader normal.
Pero el de Skynet indica que solo ocupa 103214 bytes, lo que me parece muy poco para una configuración correcta para la A6 con autolevel.
A mi Skynetv2.3.2 fix 2 para la A6 con autolevel me da 125410 bytes. Muy lejos de lo que te da a ti.
Así que no estoy seguro de si lo estás configurando todo correctamente.
El error con Marlin te lo está dando al verificar que lo escrito en la flash es igual a lo que hay en el fichero. Es decir, parece que finaliza la escritura bien, pero no la verificación.
Y como indica, se produce al leer el byte 0x1f000 que equivale a 126976 en decimal, que es justo el límite de la memoria libre con el bootloader normal.
Esto me indica dos cosas: que el problema viene por el tamaño (por eso te carga Skynet sin problema) y que no cargaste el Optiboot (una pena).
Tendrás que intentar que el archvo compilado ocupe como mucho 126976 bytes.

Hola de nuevo, acabo de compilar el mismo Skynet en otro PC y el resultado es distinto al que consigo en casa y no se a que sera debido, ya que hago exactamente lo mismo, pongo el archivo configuration.h del directorio de anet a6 con autolevel en la carpeta skynet v2.3.2 y luego compilo con la misma IDE 1.8.0 de Arduino ¿ que crees que puede estar ocurriendo?.

resim



Saludos y muchas gracias
Citar
Hola, sobre el bootloader Optiboot la diferencia es que, como su nombre indica, está optimizado y ocupa menos memoria flash, lo que implica más memoria libre para el firmware.
Lo de si merece la pena o no ponerlo, en tu caso creo que sí ya que andas justo de memoria y era una buena oportunidad. Otra cosa es que quieras volver a hacer todo el proceso.
Ten en cuenta que para hacerlo, necesitas tener en el IDE de Arduino la placa Anet V1.0 (Optiboot), ya que ahora no la tienes.
Te recomiendo que prepares todo como se indica en la primera parte de este tutorial de autolevel. Así la tendrás incorporada y también las últimas versiones de todo.
El proceso para "quemar" el bootloader es el mismo, solo que teniendo seleccionada la placa Anet V1.0 (Optiboot).
Sobre los errores, como ves tienes algo en las versiones del IDE de Arduino y de Marlin que no está correcto.
Por eso te recomiendo que partas de cero. Sigue el tutorial paso a paso (teniendo en cuenta las diferencias entre A6 y A8), ya que debería funcionarte sin problemas, incluso sin el Optiboot instalado.
Citar
(06-06-2018, 01:45 AM)Simemart escribió: Hola, me alegro que te haya servido el tutorial y que hayas podido cargar el bootloader. Espero que hayas aprovechado para cargar el Optiboot.
En las capturas de pantalla que pones, veo algo que no me cuadra en los tamaños de los archivos compilados.
El que estás subiendo de Marlin indica que ocupa 128652 bytes, lo que me parece demasiado.
Yo hago la prueba y configurado para la A6 y con autolevel me da 126702 bytes, justo en el límite que admite la placa con el bootloader normal.
Pero el de Skynet indica que solo ocupa 103214 bytes, lo que me parece muy poco para una configuración correcta para la A6 con autolevel.
A mi Skynetv2.3.2 fix 2 para la A6 con autolevel me da 125410 bytes. Muy lejos de lo que te da a ti.
Así que no estoy seguro de si lo estás configurando todo correctamente.
El error con Marlin te lo está dando al verificar que lo escrito en la flash es igual a lo que hay en el fichero. Es decir, parece que finaliza la escritura bien, pero no la verificación.
Y como indica, se produce al leer el byte 0x1f000 que equivale a 126976 en decimal, que es justo el límite de la memoria libre con el bootloader normal.
Esto me indica dos cosas: que el problema viene por el tamaño (por eso te carga Skynet sin problema) y que no cargaste el Optiboot (una pena).
Tendrás que intentar que el archvo compilado ocupe como mucho 126976 bytes.

Buenos dias:
¿ De donde debo recortar para para que el archivo compilado no salga tan grande ?, he vuelto a ponerme con ello después de unos días de parón por obligaciones mayores. Ya tengo configurado el Arduino 1.8.5. para Anet V1 con y sin optiboot, ¿ cuanto espacio ganaria si opto por instalar el optiboot? la compilacion de Marlin me sale grande y no encuentro la explicación, edito los ficheros que vienen para Anet A6 tal y como pones en la guia, ¿ seria posible conseguir los archivos configuration. h y configuration_adv.h para Anet A6 ya preparados ? los que vienen en el directorio example_configuration los pego en el directorio de Marlin y luego les modifico los parametros de distancias del sensor, PID, Lenguaje etc pero no hago nada mas para que crezcan tanto ,en teoria.

De nuevo muchas gracias
Citar
Hola, ¿el PID que configuras es el de la cama? ¿Qué tipo de autolevel utilizas? ¿Que versión de la librería U8Glib?
Puedes ganar 592 bytes comentando la línea //#define EEPROM_CHITCHAT.
El bootloader Optiboot supone una ganancia de 6072 bytes, que borran de un plumazo los problemas de memoria.
Los archivos de configuración de la A6 que vienen con Marlin no son el problema. No hay diferencia de usar esos o hacer una configuración desde cero.
En las pruebas que yo hago, solo excedo el límite de la memoria de la placa V1.0 si configuro el PID para la cama y el autolevel (LINEAR). Y solo por 116 bytes.
Por lo que, con esos 592 bytes extras que te indico, tendrías que compilar sin problemas.
Si no es así, entonces es que tu entorno de Arduino tiene algún problema.
Citar
(14-06-2018, 11:22 AM)Simemart escribió: Hola, ¿el PID que configuras es el de la cama? ¿Qué tipo de autolevel utilizas? ¿Que versión de la librería U8Glib?
Puedes ganar 592 bytes comentando la línea //#define EEPROM_CHITCHAT.
El bootloader Optiboot supone una ganancia de 6072 bytes, que borran de un plumazo los problemas de memoria.
Los archivos de configuración de la A6 que vienen con Marlin no son el problema. No hay diferencia de usar esos o hacer una configuración desde cero.
En las pruebas que yo hago, solo excedo el límite de la memoria de la placa V1.0 si configuro el PID para la cama y el autolevel (LINEAR). Y solo por 116 bytes.
Por lo que, con esos 592 bytes extras que te indico, tendrías que compilar sin problemas.
Si no es así, entonces es que tu entorno de Arduino tiene algún problema.

Buenos dias :

 He hecho un par de pruebas de compilación con y sin Chitchat ( no tengo ni idea de que es o para que sirve ) te pongo unas capturas de pantalla para que veas como tengo configurado todo lo que me preguntas.

Muchisimas gracias por tu dedicación , sin esta ayuda no me hubiese atrevido a probar cambios del firmware.
resim

resim

resim

resim

resim

resim

resim

He encontrado esta pagina que creo que para los neófitos puede venir bien a la hora de saber cuales son y que hacen los diferentes comandos Gcode en Marlin.
Por si os sirve de ayuda a alguno.

http://marlinfw.org/meta/gcode/
Citar
Hola, veo que ya lo has conseguido.
Sobre tu duda, el parámetro EEPROM_CHITCHAT habilita los mensajes de respuesta en las operaciones con la EEPROM.
Como puedes ver en el comentario que incluye su línea, se indica que se puede deshabilitar para ganar memoria.
No hay mayor problema en prescindir de esos mensajes, no influyen en el funcionamiento de esas operaciones.
Un saludo.
Citar
Hola en primer lugar gracias por el tutorial 


El problema es que tengo el sensor detras y no me aclaro con las medidas
este seria mas o menos mi distribucion
resim
Citar
Hola, o has puesto las medidas en décimas de milímetro o lo que pones solo tiene sentido para el valor de C.
Te recomiendo que vuelvas a leer con calma esa parte del tutorial para comprenderlo bien.
Si ves que no llegas a buen puerto, estaré encantado de poder ayudarte si planteas tus dudas con algo más de claridad e información.
Citar
Gracias llevo media tarde intentando compilar los cambios y nada no lo consigo e probado todas las medidas posibles y cada vex me da un error distinto ahora e cambiado a mm y me da este error
resim


toy desesperado
Citar
Hola, como no te va a dar error si le estas diciendo que no tiene espacio en X para moverse (LEFT_PROBE y RIGHT_PROBE iguales a 0).
Y los valores siempre son en milímetros, mi anterior comentario era en broma por los números que habías puesto. Según dices, tienes el sensor a más de medio metro de la boquilla.
Tendrás que tomartelo con más calma. No vas a conseguir nada poniendo valores al azar para ver si suena la flauta.
Yo creo que el tutorial está bastante claro, no se porqué no lo sigues al pie de la letra y paso a paso.
En fin, intentaré guiarte si me dices que impresora tienes y los valores que has puesto en estas líneas del archivo configuration.h:
#define X_PROBE_OFFSET_FROM_EXTRUDER
#define Y_PROBE_OFFSET_FROM_EXTRUDER
#define Z_PROBE_OFFSET_FROM_EXTRUDER
#define X_BED_SIZE
#define Y_BED_SIZE
#define X_MIN_POS
#define Y_MIN_POS
#define Z_MIN_POS
#define X_MAX_POS
#define Y_MAX_POS
#define Z_MAX_POS
#define GRID_MAX_POINTS_X
#define GRID_MAX_POINTS_Y
#define LEFT_PROBE_BED_POSITION
#define RIGHT_PROBE_BED_POSITION
#define FRONT_PROBE_BED_POSITION
#define BACK_PROBE_BED_POSITION

Aunque, si no has tomado bien las medidas A, B, C y D, será difícil que pueda darte la configuración correcta.
Citar
En primer lugar gracias por tu rapida respuesta Simemart
impresora anet a8

las mediciones de la cama son estas
resim

La que no me queda clara es la c pero entiendo que como esta centrado a la boquilla deberia ser 0
con esto y despues de volver a repasar el tutorial e sacado estos valores que me da erro uno
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 (el valor que entiendo que es C)
#define Y_PROBE_OFFSET_FROM_EXTRUDER 55 ( en este caso positivo porque esta hacia detras del eje Y)
#define Z_PROBE_OFFSET_FROM_EXTRUDER (este se hace al final del tutorial y lo tengo claro)
#define X_BED_SIZE 220 (como esta)
#define Y_BED_SIZE 220 (como esta)
#define X_MIN_POS -10 (el valor A en negativo)
#define Y_MIN_POS -4 (valor B en negativo)
#define Z_MIN_POS 0 (el que esta por defecto)
#define X_MAX_POS ( lo que viene)
#define Y_MAX_POS ( lo que viene)
#define Z_MAX_POS 240 ( lo que viene)
#define GRID_MAX_POINTS_X (por defecto)
#define GRID_MAX_POINTS_Y (por defecto)
#define LEFT_PROBE_BED_POSITION 0 (no esta ni a la derecha ni a la izquierda esta centrado)
#define RIGHT_PROBE_BED_POSITION 0 (no esta ni a la derecha ni a la izquierda esta centrado
#define FRONT_PROBE_BED_POSITION 51 (positivo valor de B+D -4 + 55=51)
#define BACK_PROBE_BED_POSITION 220 (sensor hacia atras de la boquilla

estos son los valores que e sacado por supuesto alguno esta mal pero no se encontrar cual por mucho que leo el tuto
de momento no puedo cambiar el sensor de posicion aunque si no encuentro solucion lo desconectare para poner el final de carrera e imprimir otro soporte
Citar
Hola, lo tienes todo bien configurado excepto los límites de la rejilla de medición, seguramente porque no has entendido bien el concepto.
Si tienes los valores de GRID_MAX_POINTS por defecto, te hará 9 mediciones que se corresponden con una rejilla de 3 lineas en X y 3 líneas en Y.
Los 9 puntos de medición son las intersecciones entre dichas líneas.
Los valores de los parámetros XXXX_PROBE_BED_POSITION son las posiciones de las líneas iniciales y finales de la rejilla en cada eje:
LEFT_PROBE_BED_POSITION la primera línea en el eje X,
RIGHT_PROBE_BED_POSITION la última línea en el eje X,
FRONT_PROBE_BED_POSITION la primera línea en el eje Y,
BACK_PROBE_BED_POSITION la última línea en el eje Y.
Es decir, son los límites de la rejilla de medición.
Con una imagen lo tendrás más claro:

resim

Hay que poner unos valores a los que pueda llegar el sensor, teniendo en cuenta que la boquilla no puede salir del cuadrado marcado en rojo.
En tu caso, la máxima rejilla posible sería:
#define LEFT_PROBE_BED_POSITION 0
#define RIGHT_PROBE_BED_POSITION 220
#define FRONT_PROBE_BED_POSITION 51
#define BACK_PROBE_BED_POSITION 220

Pero no conviene que el sensor baje en el mismo borde de la cama por si falla la detección, así que yo le daría 10 milímetros de margen:
#define LEFT_PROBE_BED_POSITION 10
#define RIGHT_PROBE_BED_POSITION 210
#define FRONT_PROBE_BED_POSITION 51
#define BACK_PROBE_BED_POSITION 210

Esa ya sería perfectamente operativa, aunque no estaría centrada en la cama.
Yo personalmente prefiero que lo esté, aunque como digo no es necesario para que funcione.
Citar
Gracias Simemart sabia que algo no tenia claro en la posicion de la rejilla pero no encontraba la manera de verlo claro

Ahora me surge otra duda , crees que la posición del sensor es adecuada o podria optimizar mas la parrilla con la posición del tutorial?
Dado que tengo que imprimir una nueva pieza para el ventilador imprimiria la que lleva soporte como en el ejemplo del tutorial

Muchas gracias de nuevo por tu colaboración

Enviado desde mi Redmi Note 4 mediante Tapatalk
Citar
Hola, realmente no existe una posición del sensor más adecuada que otra.
Lo que pasa es que contra más cerca estén sensor y boquilla, más superficie de la cama cubrirá la rejilla.
Esto es muy importante porque el autolevel no extrapola los resultados de las mediciones a lo que se imprime fuera de ella.
Y no he investigado lo que hace en ese caso, aunque seguramente nada.
Citar
Bueno al final conseguí hacer funcionar la impresora gracias a Simemart y estoy imprimiendo.
Pero cada vez que imprimo tengo que hacer un ajuste fino del eje z
No entiendo porque de una impresión a otra se desajusta el eje z y cuando quiero volver a imprimir baja la boquilla hasta apoyar en el cristal y eso obstruye el material
De momento la voy ajustando pero es un royo trneis alguna idea
Cuando la boquilla baja el eje z se queda en 0.02

Enviado desde mi Redmi Note 4 mediante Tapatalk
Citar
Nadie le pasa que no pueda hacer dos impresiones seguidas sin tener que ajustar la altura del eje z?
En la segunda en nozzle apoya en la cama quedando z0.02
Entiendo que tendria que ser z0

Enviado desde mi Redmi Note 4 mediante Tapatalk
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Autolevel, paso a paso (II): el sensor. Simemart 19 6,769 13-11-2018, 09:20 PM
Último mensaje: edgarc
  Autolevel, paso a paso (I): Cambiar el firmware. Simemart 59 11,575 11-08-2018, 09:37 PM
Último mensaje: Simemart
  CONSULTA Autolevel, vale la pena? marcre 6 448 08-08-2018, 10:48 PM
Último mensaje: Simemart
  Este sensor me vale como autolevel? vegetto 2 304 28-06-2018, 02:37 AM
Último mensaje: vegetto
  APORTE Autoapagado con Marlin (Editado). Simemart 7 1,249 15-06-2018, 02:03 PM
Último mensaje: Simemart