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.

  • 5 voto(s) - 3.2 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Autolevel, paso a paso (I): Cambiar el firmware.
#1
Como veo que el interés por el autolevel va en aumento (he contestado a varias preguntas últimamente), voy a iniciar una serie de post (ya que solo uno sería demasiado grande), para aportar toda la información que tengo sobre este tema.
 
Antes de empezar, decir que implementar el autolevel es un proceso laborioso, que incluye el cambio del firmware original y en algunos casos, realizar algún pequeño montaje eléctrico. Por lo que, si decidís hacerlo, será por vuestra cuenta y riesgo.
 
Cambiar el firmware
 
(Nota: Todo lo que pondré a lo largo de este tutorial es en entorno Windows.)
 
Antes de nada y en respuesta a varias preguntas que se hacen en el foro, decir que el cambio de firmware tiene una repercusión mínima, si es que tiene alguna, en la calidad de impresión.
 
El firmware se limita a controlar el hardware para realizar las ordenes que se le pasan en formato gcode, por lo que por ahí hay poco margen para la mejora.
 
Las ventajas de ir a un firmware abierto son: primero, que permite un control total sobre todos los parámetros de la configuración del mismo y segundo, que da la posibilidad de implementar funciones que no permite el original. Por ejemplo, el autolevel.
 
Por tanto, lo primero que haremos será cambiarlo. Si queréis guardar una copia del original, para restaurarlo si no os convence el cambio, en este post tenéis toda la información para realizarla.
 
Creo que el firmware más interesante actualmente es Marlin, tanto por características como por la gran comunidad que tiene detrás. Hasta hace poco, no soportaba las placas Anet y por ello había que utilizar una versión preparada para ellas denominada Skynet3D. Pero la última versión de Marlin ya las soporta y parece ser que han abandonado el desarrollo de Skynet.
 
La última versión de Marlin (en el momento de escribir esto es la 1.1.6), se puede descargar de aquí.
 
Para configurar y cargar el firmware utilizaremos el IDE de Arduino. En el momento de escribir esto, la última versión es la 1.8.5. En versiones anteriores venía incluido en Marlin, pero en esta última versión ya no viene, por lo que hay que descargarlo directamente de su página aquí.
 
Al contrario que Marlin, el IDE de Arduino no trae configurada la placa Anet. Para poder utilizarla, hay que descargar los datos de la placa y colocarlos en él. Se pueden descargar de aquí.
 
Una vez descargados y descomprimidos los tres zip, tendremos todo lo necesario para configurar y cargar el firmware en la impresora. Conviene ponerlos juntos en una misma carpeta, para no andar dando vueltas. Por ejemplo, nos quedaría así:
 
[Imagen: Imagen29.jpg]
 
Ahora, copiamos la carpeta anet-board-master\hardware\Anet y la pegamos dentro de la carpeta arduino-1.8.5\hardware\. Así tendremos la placa Anet 1.0 en el IDE de Arduino.
 
Marlin trae, en la carpeta Marlin-1.1.x\Marlin\example_configurations\Anet\, dos carpetas (A8 y A6) que tienen dentro los archivos Configuration.h y Configuration_adv.h, ya preconfigurados para esas máquinas.
Copiaremos los dos archivos correspondientes (dependiendo de la máquina que tengamos), en la carpeta Marlin-1.1.x\Marlin\, indicando que sustituyan a los que ya existen en ella con el mismo nombre.
 
A partir de aquí, a lo largo de todo el tutorial asumiré que la máquina es una A8. Si tenéis una distinta, tendréis que cambiar los datos que varían de una máquina a otra donde corresponda.
 
Ejecutamos el archivo arduino.exe, que se encuentra en la carpeta arduino-1.8.5:
 
[Imagen: Imagen20.jpg]
 
En el menú Archivo, seleccionamos Abrir y buscamos el archivo Marlin.ino que se encuentra en la ruta Marlin-1.1.x\Marlin\. Pulsamos Abrir.
 
En la parte superior de la ventana aparecen una serie de pestañas, que se corresponden con todos los archivos que forman Marlin. Dado que hay muchos y no caben todas sus pestañas en la pantalla, a la derecha de ellas hay una flecha que despliega todas las que hay.
 
Normalmente, la configuración suele ser desactivar o activar unos parámetros concretos o bien darles un valor.
 
Lo primero se hace poniendo o quitando (comentando o descomentando), delante del parámetro de que se trate, una doble barra hacia la derecha (//).
 
Los valores se indican después del parámetro, con uno o varios espacios entre ellos. 
 
Seleccionamos la pestaña configuration.h.

Este archivo ya está preparado para utilizarlo directamente con la A8, pero podemos cambiar un par de cosas para que quede mejor: la lengua en que se muestran los mensajes de la pantalla de la impresora y el nombre que se muestra en la pantalla de inicio.
 
Para lo primero, hay que buscar la línea #define LCD_LANGUAGE en y cambiar el en por el código de la que nos interese. Hay un listado con los disponibles, justo encima de esa línea.

(Nota: Hay mucha gente que se desespera buscando un parámetro concreto de configuración en un fichero tan extenso.
Para que no os pase esto, podéis usar la utilidad de búsqueda.
En el menú Editar, seleccionáis Buscar, en el cuadro de diálogo ponéis el parámetro que estáis buscando (por ejemplo, LCD_LANGUAGE) y desmarcáis la opción Buscar en todas las Pestañas de Sketchs, para que solo busque en la pestaña que estamos (si es eso lo que queremos).
Pulsando Buscar, se posicionará en el primer punto donde se encuentre ese parámetro.

[Imagen: Imagen16.jpg]

Si no es el que buscamos, pulsando de nuevo buscará el siguiente y así hasta que no encuentre más.)

Para lo segundo, al principio del configuration.h deberéis descomentar (quitar la // del principio) la línea //#define CUSTOM_MACHINE_NAME "3D Printer", sustituyendo lo que hay entre las comillas por el nombre que queráis que aparezca. Tened en cuenta que la línea de la pantalla original tiene un tamaño de 19 caracteres y que el nombre que pongáis se mostrará así: nombre lista..

Ya que estamos con el tema de la lengua y la pantalla, hago un inciso para comentar que las palabras que aparecen en la pantalla se pueden cambiar por las que nosotros queramos, siempre teniendo en cuenta lo comentado para el tamaño de las líneas.
 
Para ello, tenemos que buscar la pestaña correspondiente a la lengua de que se trate, que tendrá el nombre language_código.h. En este archivo se encuentran las palabras que pueden aparecer en la pantalla y se pueden cambiar por lo que se quiera (sin perder de vista de qué se trata o tendréis después problemas para interpretar la pantalla).
 
Con lo realizado hasta ahora, el firmware es operativo y puede sustituir ya al original, imprimiendo la impresora con él sin ningún problema.

Pero aún no está configurado para realizar el autolevel ni para controlar el sensor, por lo que si se utiliza ya, hay que hacerlo con el interruptor de fin de carrera mecánico en Z.
 
Ahora vamos al menú Archivo y seleccionamos Salvar para guardar los cambios.
 
Ya podemos cargarlo en la impresora.
 
Para hacerlo, necesitamos tenerla conectada por USB al ordenador e instalado el driver CH340. Si no se instala automáticamente al conectar y encender la impresora, se puede hacer manualmente utilizando el driver que se encuentra en la tarjeta de memoria que viene con ella.
 
Una vez instalado el driver y conectada la impresora, al encenderla se le asigna un puerto COMx (donde x es un número). Hay que mirar cual es este número. Se puede ver en el Administrador de Dispositivos, en el apartado Puertos COM y LPT:
 
[Imagen: Imagen3.jpg]
 
En el menú Herramientas, seleccionaremos en el apartado Placa:”Anet V1.0“, en el apartado Puerto:”COMx” el que tenga asignado la impresora y en Programador:” USBasp“.
 
Quedará tal que así (cambiar el COM3 por el que corresponda):

[Imagen: Imagen23.jpg]

Ahora, pulsando sobre el botón circular con una flecha dentro (Subir), se compilará y se cargará en la impresora el firmware.

[Imagen: Imagen24.jpg]

Cuando termine (pondrá Subido), se reiniciará la impresora y aparecerá el nuevo mensaje de bienvenida.

Y ya tendremos operativa la impresora con el nuevo firmware cargado, pero aún sin autolevel.

Autolevel, paso a paso (II): el sensor.
  Responder
#2
Gracias!! este post me va a venir de lujo. Por lo que leo, ¿puedo sustituir el Skinet que tenia por este Marlin sin problemas?
Ahora solo falta saber como configurar el sensor, PID y todo eso...
  Responder
#3
Excelente!!! Creo que ayudara a much@S!!!
  Responder
#4
muchas gracias!! ya estoy encargando el autolevel en 3,2,1...
  Responder
#5
hola, voy a seguir tu tutorial, antes de nada muchas gracias, gran aporte, queria decirte que al compilar marlin arduino da error, hay que instalar libreria U8glib_Arduino, por si lo quieres añadir para que no les pase a otros, saludos¡¡¡
  Responder
#6
(29-01-2018, 09:40 PM)limdnas escribió: hola, voy a seguir tu tutorial, antes de nada muchas gracias, gran aporte, queria decirte que al compilar marlin arduino da error, hay que instalar libreria U8glib_Arduino, por si lo quieres añadir para que no les pase a otros, saludos¡¡¡

Hola, gracias por la intención pero ese error solo se produce si se selecciona la pantalla como del tipo gráfico, no para las alfanuméricas que son las que equipa la A8 de serie. El tutorial está hecho para estas últimas.
Un saludo.
  Responder
#7
Pues no se donde se elige esa configuración... Xq yo hice lo que ponías aquí y me salió ese error
  Responder
#8
Pues con toda seguridad no has seguido bien el tutorial.
Como es lógico, antes de subirlo, comprobé que todo funcionaba correctamente.
Quizá te saltaste el paso de copiar los archivos de configuración de la A8 a la carpeta Marlin y por eso tienes mal configurado el LCD.
Está en el apartado LCD and SD support del configuration.h.
Para la A8 de serie, solo hay que tener descomentada la linea #define ANET_KEYPAD_LCD.
  Responder
#9
lo estoy haciendo para una anet a6, pero vamos que supongo que la pantalla no cambiara mucho.... y si he seguido todos los pasos
  Responder
#10
(31-01-2018, 09:53 AM)limdnas escribió: lo estoy haciendo para una anet a6, pero vamos que supongo que la pantalla no cambiara mucho.... y si he seguido todos los pasos
El display de la A6 es diferente del de la A8. Es posible que necesites esa librería. De todas formas puedes comprobar si la necesitas mirando lo que te ha comentado simemart.

Enviado desde mi D6603 mediante Tapatalk
  Responder
#11
(31-01-2018, 09:53 AM)limdnas escribió: lo estoy haciendo para una anet a6, pero vamos que supongo que la pantalla no cambiara mucho.... y si he seguido todos los pasos

Pues en el tutorial se indica claramente que es para las A8 y que si se aplica en otro modelo hay que realizar cambios.
No te parece que deberías haber empezado diciendo que lo estabas aplicando en otra máquina?
En concreto, la pantalla de la A6 es del tipo gráfico y la de la A8, alfanumérico. Hay una gran diferencia.
Naturalmente, el archivo de configuración que viene para las A6 trae ese tipo de pantalla indicado y es necesario tener la librería U8Glib para poder compilar.
  Responder
#12
genial... pues duda aclarada... seguro que es util a mucha gente que como yo sigue tu tutorial para poner autolevel a la a6
  Responder
#13
Hola, ¿alguien sabe si este tutorial funciona también con las anet a8 con placa versión 1.5?. Saludos y gracias por el tutorial
  Responder
#14
(20-02-2018, 01:30 PM)Deki escribió: Hola, ¿alguien sabe si este tutorial funciona también con las anet a8 con placa versión 1.5?. Saludos y gracias por el tutorial

Yo acabo de hacerlo en una Anet A6 con placa 1.5 y de momento parece que funciona (solo he hecho esta parte del tutorial)
  Responder
#15
(20-02-2018, 06:27 PM)runy escribió:
(20-02-2018, 01:30 PM)Deki escribió: Hola, ¿alguien sabe si este tutorial funciona también con las anet a8 con placa versión 1.5?. Saludos y gracias por el tutorial

Yo acabo de hacerlo en una Anet A6 con placa 1.5 y de momento parece que funciona (solo he hecho esta parte del tutorial)

Entonces voy a liarme con la instalación de Marlin, muchas gracias.
  Responder
#16
Hola.
 
Quiero instalar un autolevel y en un principio escogí Skynet V2.3.1 pero viendo que tenía errores al verificar el código vi este tutorial y decidí instalar MARLIN, con mucha preocupación, no por el código si no por mí ya que soy un completo novato. Pero comprobé que las instrucciones son claras me decidí.
Deciros que del código solo he tocado lo del cambio de  idioma, pero a la hora de compilar me sale el siguiente error.
[Imagen: Marlin_1.jpg]

[Imagen: Marlin_2.jpg]


Espero que me podáis ayudar.

Muchas gracias
  Responder
#17
Maximux,

¿Has hecho lo que dice Simemart en el primer mensaje donde indica que "Marlin trae, en la carpeta Marlin-1.1.x\Marlin\example_configurations\Anet\, dos carpetas (A8 y A6) que tienen dentro los archivos Configuration.h y Configuration_adv.h, ya preconfigurados para esas máquinas. Copiaremos los dos archivos correspondientes (dependiendo de la máquina que tengamos), en la carpeta Marlin-1.1.x\Marlin\, indicando que sustituyan a los que ya existen en ella con el mismo nombre."?

Creo que has dejado la configuración por defecto que viene den Marlin. Verífícalo, por favor.

Saludos,
  Responder
#18
(05-03-2018, 07:45 PM)wekoyote escribió: Maximux,

¿Has hecho lo que dice Simemart en el primer mensaje donde indica que "Marlin trae, en la carpeta Marlin-1.1.x\Marlin\example_configurations\Anet\, dos carpetas (A8 y A6) que tienen dentro los archivos Configuration.h y Configuration_adv.h, ya preconfigurados para esas máquinas. Copiaremos los dos archivos correspondientes (dependiendo de la máquina que tengamos), en la carpeta Marlin-1.1.x\Marlin\, indicando que sustituyan a los que ya existen en ella con el mismo nombre."?

Creo que has dejado la configuración por defecto que viene den Marlin. Verífícalo, por favor.

Saludos,
Ups......
Muchas gracias
El ansia me ha hecho omitir este paso.
Hecho, realizado, verificado y todo Ok.
Muchas gracias me seguís guiando por el buen camino.
Saludos.
  Responder
#19
Hola! Me presento por aquí porque soy nuevo y no he encontrado el post de presentaciones:
Soy Jose, de Valencia y recientemente he comprado una Anet A8 con autonivel.
Llevo todo el día intentando subir el firmware skynet y siempre me da el mismo error, así que buscando he llegado a este hilo donde está todo muy bien explicado.
La cuestión es que he intentando subir Marlin me pasa lo mismo y no se si estoy haciendo algo mal o es que la placa de mi Anet (v1.5) es defectuosa o viene "capada".
He instalado todos los drivers necesarios, arduino y la extension anet board master. He copiado los archivos "Configuration_adv.h" y "Configuration.h" donde toca.... no se me ocurre qué puedo estar haciendo mal.
Os agradecería que me echarais una mano, por favor.

Adjunto los pantallazos de arduino cuando da el error:

[Imagen: pantalla1.jpg]

[Imagen: pantalla2.jpg]
  Responder
#20
Hola, bienvenido al foro.
El error que estás teniendo al compilar es de comunicación: el AVRdude no está consiguiendo sincronizar para comenzar la transmisión.
Por la versión de la placa no creo que venga el problema. No es v1.5 sino v1-5.
Parece ser que solo cambia el software respecto a las v1.0, es decir, son las mismas placas a nivel de hardware.
Prueba a utilizar otro puerto usb en el ordenador y otro cable. Puede que el problema venga por ahí.
En principio, en el fichero de configuración de las Anet, la Anet v1.0 tiene asignada una velocidad de conexión de 57600 baudios, que no debería dar ningún problema.
Solo conozco un caso de alguien que ha reportado no poder subir el Marlin a esas nuevas placas.
No estaría mal si algún otro poseedor de esa placa, que haya cambiado a Marlin sin problemas, nos lo hiciese saber.
Porque otra posibilidad sería que esas placas viniesen con un bootloader configurado para evitar el cambio de firmware.
Evitarlo a los usuarios inexpertos, ya que si no hay modificación del hardware, solo habría que "quemar" de nuevo el bootloader para saltarse la limitación.
Pero me extrañaría mucho que Anet se haya liado la manta a la cabeza de esa forma.
Lo dicho: ¿alguien con una placa Anet v1-5 que haya instalado Marlin?
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Anet ET4 no me deja actualizar Firmware. Linuco 2 1,201 26-07-2023, 09:01 PM
Último mensaje: covilha6200
  placa anet v1.7 no me deja subir el firmware Hunterfett 4 2,129 19-09-2022, 02:12 PM
Último mensaje: Simemart
  Firmware (copia de seguridad y restauración) y bootloader. Simemart 98 51,804 29-04-2022, 08:33 PM
Último mensaje: Simemart
  Autolevel, paso a paso (III): configuración (ACTUALIZADO y EDITADO). Simemart 281 105,554 06-10-2021, 05:23 AM
Último mensaje: kimera1988
  Firmware Anet A8 Plus 1.6 Akila 1 1,421 20-02-2021, 05:51 PM
Último mensaje: miguelangel