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í:
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:
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.
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:
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):
Ahora, pulsando sobre el botón circular con una flecha dentro (Subir), se compilará y se cargará en la impresora el firmware.
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.
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í:
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:
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.
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:
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):
Ahora, pulsando sobre el botón circular con una flecha dentro (Subir), se compilará y se cargará en la impresora el firmware.
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.