This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 1 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
APORTE INSTALAR MARLIN EN ANET A8 PLUS CON OPCIÓN NIVELADO CAMA
#1
Video 
Hola, 

En este vídeo os traigo un tutorial muy sencillito para sustituir el firmware oficial de nuestras ANET A8 PLUS por la versión de MARLIN 2.0.x y con la opción del nivelado de la cama activado. 

Espero que os sea útil!! Decir que soy un novato absoluto en el mundo del 3D y como me costó bastante conseguirlo porque inicialmente me salían mensajes de memoria insuficiente y demás, decidí hacer este video para el que quiera hacerlo no tenga problemas. Es muuuuyy sencillito!!

 
  Responder
#2
¡Muy buen aporte!
Yo también tuve que hacer malabarismos para poder "meter" Marlin con las opciones que me interesaban... la A8 y A8 Plus tienen muy poca memoria y entra muy justo... Una cosa que ayuda mucho es eliminar todo lo decorativo, es decir, nada de logo, nada de nombre personalizado ni cosas de esas... en mi caso, tras quitar lo superfluo y activar las opciones que me interesaban, apenas me sobraron 100 bytes o así...
Nitemare
  Responder
#3
(22-01-2021, 09:37 PM)kuadri escribió: Hola, 

En este vídeo os traigo un tutorial muy sencillito para sustituir el firmware oficial de nuestras ANET A8 PLUS por la versión de MARLIN 2.0.x y con la opción del nivelado de la cama activado. 

Espero que os sea útil!! Decir que soy un novato absoluto en el mundo del 3D y como me costó bastante conseguirlo porque inicialmente me salían mensajes de memoria insuficiente y demás, decidí hacer este video para el que quiera hacerlo no tenga problemas. Es muuuuyy sencillito!!

 
Siguiendo tu magnífica explicación, yo que en estas lides de programación soy un verdadero energúmeno, he conseguido cargar el Marlin 2.0 con las correcciones vistas en el video y sorprendentemente, diciendo "a ver si cuela", con el idioma en español. Entró a la primera, aunque me costó manejarme con el Visual Studio Code, porque al serme completamente nuevo, no lograba averiguar donde estaba la extensión Auto Buil Marlin. Una vez informado, todo fué muy sencillo. Gracias por tu aporte.
  Responder
#4
(09-02-2021, 07:18 PM)Cafrune escribió:
(22-01-2021, 09:37 PM)kuadri escribió: Hola, 

En este vídeo os traigo un tutorial muy sencillito para sustituir el firmware oficial de nuestras ANET A8 PLUS por la versión de MARLIN 2.0.x y con la opción del nivelado de la cama activado. 

Espero que os sea útil!! Decir que soy un novato absoluto en el mundo del 3D y como me costó bastante conseguirlo porque inicialmente me salían mensajes de memoria insuficiente y demás, decidí hacer este video para el que quiera hacerlo no tenga problemas. Es muuuuyy sencillito!!

 
Siguiendo tu magnífica explicación, yo que en estas lides de programación soy un verdadero energúmeno, he conseguido cargar el Marlin 2.0 con las correcciones vistas en el video y sorprendentemente, diciendo "a ver si cuela", con el idioma en español. Entró a la primera, aunque me costó manejarme con el Visual Studio Code, porque al serme completamente nuevo, no lograba averiguar donde estaba la extensión Auto Buil Marlin. Una vez informado, todo fué muy sencillo. Gracias por tu aporte.

Sinceramente, yo pasaría del idioma español, que ocupa una barbaridad y no aporta nada y activaría cosas útiles, tanto para mejorar la impresión como para facilitar las cosas, por ejemplo:

S_CURVE_ACCELERATION
ADTAPTIVE_STEP_SMOOTHING
ADVANCED_PAUSE_FEATURE y ahí puedes usar la inserción y extracción de filamento a través de los menús de la Anet
y si lo vas a usar:
LCD_BED_LEVELING para nivelar la cama con un asistente desde los menús
Nitemare
  Responder
#5
Por cierto, si habéis llegado al límite de quitar cosas y seguís sin espacio, hay dos cosas que se pueden hacer, que no todo el mundo sabe ni sale en todos los tutoriales:

1. Utilizar el boot "optiboot", que está todavía más reducido que el estándar. Esta opción era muy muy muy muy fácil de seleccionar en Arduino IDE, pero en cambio, con VSCode no he podido elegirlo desde los menús/asistentes y no he encontrado otra solución que hacerlo dese la línea de comando, pero vamos, que está tirado, no es nada complicado, ¿Cómo se hace? pues una vez que ha fallado la subida por falta de espacio (hay que ejecutarlo una vez al menos para que cargue en el shell de la parte inferior el entorno de compilación), si usamos la flecha arriba del teclado, veremos que la penúltima orden que se ejecutó fue:

platformio run --target upload -e sanguino1284p

Pues bien, tan solo tenemos que cambiar "sanguino1284p" por "melzi_optiboot" y listo, quedaría así:

platformio run --target upload -e melzi_optiboot

Con esto, ya está usando el "optiboot", cosa que es muy sencilla en Arduino IDE. De todas formas, tras usar desde hace tiempo Arduino IDE y ahora probar VSCode, me quedo con VSCode sin duda, tan solo en los tiempos de compilación ya le da un buen repaso...

2. La segunda cosa que se puede hacer para ahorrar mucho también, es desactivar el comando M503. Ese comando devuelve el estado de lo almacenado en el firmware. Si ya tenemos clara nuestra configuración y no estamos con pruebas, podemos desactivar este comando y ahorraremos bastante espacio.
Para ello hay que descomentar la directiva para que quede tal que así:

#define DISABLE_M503
Nitemare
  Responder
#6
Hola, sobre este tema de conseguir que Marlin 2, con varias funcionalidades activadas, quepa en la memoria del ATMega1284P se ha posteado mucho en el foro, pero dada la poca facilidad que existe en este motor para realizar búsquedas útiles, siempre viene bien recopilar de vez en cuando toda la información en un lugar.
Efectivamente, una vez se agotan las opciones vía configuración, ya solo queda actuar directamente sobre la utilización de la memoria: aparte del cambio por el bootloader optiboot, que reduce bastante la cantidad de memoria requerida respecto al normal, en último extremo se puede trabajar sin bootloader, lo que obliga a utilizar la conexión ICSP a partir de ese momento para grabar en la memoria, pero teniendo a cambio toda la memoria flash para el firmware.
Sobre el uso del entorno Optiboot en PlatformIO con VSC, si se instala la extensión Auto Build Marlin, esta ofrece las dos opciones a la hora de realizar la compilación: si no se tiene instalada, hay que configurar directamente dicho entorno en el archivo platformio.ini, para que utilice ese bootloader sin necesidad de modificar a mano los comandos.
  Responder
#7
la mejor solución es cambiar la placa por una SKR v1.4 Turbo, mejoras ? la velocidad 120Mhz 512kb de memoria que se quedan en unos 480kb libres de memoria, 32bits ,soporta cualquier driver empezando por el TMC2130 y acabando por los TMC22xx, el ATmega1284P esta obsoleto y tiene poca memoria, recomendaciones antes de cambiar la placa por una SKR v1.4 imprimir el adaptador para convertir como esto https://www.thingiverse.com/thing:4044032 y quitar la placa base antigua, la mejor es la SKR v1.4 Turbo que puedes ponerle WIFI, puedes ponerle un 3Dtouch o un bltouch la configuración atraves de marlin 2.0 y visual estudio code, y arrodar.
  Responder
#8
Pues mira que somos tontos, no haber caído en una solución tan sencilla: queda claro que tú no tienes problemas económicos y/o que no vives en un país sudamericano (por citar sitios con dificultades para adquirir material).
Puede que el márketing haga pensar que todo el mundo está a la última, pero la realidad es que una inmensa mayoría de usuarios de la impresión 3D utiliza la vieja y probada tecnología de 8 bits (entre los que me incluyo), que por cierto da unos resultados magníficos si se sabe utilizar bien, por supuesto.
Te aseguro que esos 120 MHz y los 512 Kb, pasan totalmente desapercibidos en las impresoras DIY cartesianas, lo que no quita para que el ATMega1284P esté anticuado y por poco más se pueda tener un ATMega2560 (si se puede conseguir), que soluciona todos sus problemas de memoria completamente.
  Responder
#9
(17-02-2021, 02:25 PM)Simemart escribió: Sobre el uso del entorno Optiboot en PlatformIO con VSC, si se instala la extensión Auto Build Marlin, esta ofrece las dos opciones a la hora de realizar la compilación: si no se tiene instalada, hay que configurar directamente dicho entorno en el archivo platformio.ini, para que utilice ese bootloader sin necesidad de modificar a mano los comandos.

Pues es precisamente eso, que me estoy dando cabezazos, porque tengo el ABM (Auto Build Marlin) y no me da las dos opciones que veo en muchos vídeos de YouTube, solo me ofrece "sanguino_atmega1284p". He visto tutoriales en YouTube donde ABM ofrece 2 o más entornos para compilar, pero en mi caso, he tocado multitud de cosas, y no lo he conseguido nunca...
He mirado y remirado los archivos de configuración y no descubro la razón... de todas formas, sí, lo que he hecho al final es modificar la propia entrada del platformio.ini para añadir/quitar mis personalizaciones (hay también algunos parámetros de compilación que reducen el tamaño)

Con esta reducción de tamaño, tenía curiosidad por probar el POWER_LOSS_RECOVERY pero no me ha terminando de funcionar... solo he activado la directiva, sin más opciones (ni PIN ni nada) y en principio, ha funcionado, al apagar la impresora y volver a encenderla, detecta que se quedó a medias y pide si reanudar o cancelar... si reanudas, hace un "home", calienta extrusor y/o cama, vuelve al punto donde se quedó pero ya no hace nada... en la pantalla creo que ponía "Printing..." o similar, pero nunca más se mueve...
Nitemare
  Responder
#10
Pues a raíz de lo que has comentado, he mirado en PlatformIO este tema, pues no había utilizado nunca el Optiboot y veo que la opción que yo creía que correspondía a ese bootloader (sanguino1284p_optimized), no parece que lo utilice realmente: por lo menos la indicación de memoria total después de la compilación, se corresponde con el uso del bootloader normal, no con el Optiboot. Tendré que investigar un poco más este tema.
Sobre el PLR, si hace todo el proceso de reanudación y se para cuando debería seguir imprimiendo, parece que el problema puede estár en la lectura del archivo gcode desde la tarjeta.
La configuración, si no se tiene un sistema de alimentación de apoyo, solo necesita la activación de la utilidad y en tu caso, parece que sí que está funcionando, pues el menú de reanudación solo sale si se detecta en el tarjeta el archivo con el estado de la impresión en el momento del apagado: si vuelve a la posición donde estaba imprimiendo, es que graba bien los valores.
  Responder
#11
Pues he comprobado que, como sospechaba, el entorno optimized utiliza el bootloader normal y no el Optiboot como yo pensaba, por lo que para compilar para ese bootloader no se puede utilizar el ABM.
Lo más sencillo para hacerlo es abrir la carpeta del proyecto, ir a PlatformIO, en el apartado Project Tasks abrir el entorno melzi_optiboot (env:melzi_optiboot y compilar seleccionando Build o subir a la placa con Upload.
  Responder
#12
(18-02-2021, 04:09 PM)Simemart escribió: Pues he comprobado que, como sospechaba, el entorno optimized utiliza el bootloader normal y no el Optiboot como yo pensaba, por lo que para compilar para ese bootloader no se puede utilizar el ABM.
Lo más sencillo para hacerlo es abrir la carpeta del proyecto, ir a PlatformIO, en el apartado Project Tasks abrir el entorno melzi_optiboot (env:melzi_optiboot y compilar seleccionando Build o subir a la placa con Upload.

Exacto... así lo estoy haciendo...
Yo me he creado estas dos entradas en platformio.ini y he comprobado que funcionan correctamente:

Código:
#
# Sanguinololu (Optiboot bootloader)
#
[env:sanguino1284p_optiboot]
platform      = atmelavr
extends      = common_avr8
board        = sanguino_atmega1284p
upload_speed  = 115200

#
# Sanguinololu (Optiboot bootloader with tuned flags)
#
[env:sanguino1284p_optimized]
platform      = atmelavr
extends      = env:sanguino1284p_optiboot
board        = sanguino_atmega1284p
build_unflags = -g -ggdb
build_flags  = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues
Nitemare
  Responder
#13
Muy interesante la idea de quitar la información de debug y aunque no influye en el tamaño del fichero .hex generado, sí ligéramente en los tiempos de compilación.
Tal y como están escritas esas entradas que agregas a la sección de entornos, al definir la optiboot optimizada la tendrás duplicada si no has eliminado la sanguino1284p_optimized que viene preconfigurada: si quieres seguir con el criterio del archivo, podrías llamarla sanguino1284p_optiboot_optimized.
Como es lógico, hay que copiar este archivo a los nuevos proyectos con los que se trabaje, para sobrescribir el que traen por defecto.
La verdad es que no había investigado este tema de la optimización de la compilación del firmware y el ahorro en memoria ocupada es muy importante, hasta el punto de que puede que no sea necesario tocar el bootloader para poder acomodar en el ATMega1284P la versión 2 de Marlin con muchas de las funcionalidades interesantes activadas.
  Responder
#14
(18-02-2021, 04:09 PM)Simemart escribió: Pues he comprobado que, como sospechaba, el entorno optimized utiliza el bootloader normal y no el Optiboot como yo pensaba, por lo que para compilar para ese bootloader no se puede utilizar el ABM.
Lo más sencillo para hacerlo es abrir la carpeta del proyecto, ir a PlatformIO, en el apartado Project Tasks abrir el entorno melzi_optiboot (env:melzi_optiboot y compilar seleccionando Build o subir a la placa con Upload.
Buenas. He estado leyendo el contenido de este hilo y he visto en algunos videos de youtube qeu recomiendan instalar el optiboot y leyemdo tu entrada me he decidido a instalarlo. Me he ido a la sección "task" de platformIO y al darle a BUILD me sale el siguiente error en la consola:

Verbose mode can be enabled via `-v, --verbose` option

Error: Build environment 'melzi_optiboot' is incompatible with BOARD_ANET_10. Use one of these: sanguino1284p, sanguino1284p_optimized

¿como podria cambiar el tipo de placa ¿en configuration.h?

Un saludo
  Responder
#15
Hola @serrano78, bienvenid@ al foro.
Lo que te indica en el mensaje de error es que cambies el entorno, no el modelo de placa, pues supongo que realmente tienes una Anet.
El entorno para compilar el firmware para esa tarjeta es Sanguino1284p o Sanguino1284p_optimized, si se tiene instalado en la placa el bootloader normal y Sanguino1284p_optiboot, si se tiene el bootloader Optiboot.
Efectivamente, el modelo de placa se configura en el archivo Configuration.h, pero no se puede poner el que se quiera, sino el que corresponda a la placa que tenemos, pues hay otros parámetros que se configuran de forma automática en función de la placa seleccionada (por ejemplo, la asignación de pines de la MCU).
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Fallo Placa base ANET A8 plus TOTE 7 92 23-01-2022, 09:51 PM
Último mensaje: TOTE
  CONSULTA anet a8 temperatura de cama no pasa de 60° dexyeah 3 419 05-08-2021, 08:39 AM
Último mensaje: Simemart
  CONSULTA Anet E-16 imprime fuera de la cama HENRYHESS 1 350 27-05-2021, 07:50 PM
Último mensaje: Simemart
Corazón CONSULTA Sensor Filamento Anet a8 plus ByZecos 1 526 07-04-2021, 12:52 PM
Último mensaje: Simemart
  Firmware Anet A8 Plus 1.6 Akila 1 991 20-02-2021, 05:51 PM
Último mensaje: miguelangel