May312017

Lidiando con mi impresora 3D Anet A8 – Firmware

Anet A8 es una impresora 3D clónica china de la famosa Prusa i3 que puedes comprar por unos 160$ en Gearbest. Viene con una placa base que es una versión modificada de la Melzi V2.0, con lector de tarjetas SD integrado y un display LCD 20×4 con cinco botones.

Si estás buscando una impresora 3D barata para impresiones esporádicas no profecionales, probablemente esta es una buena opción, pero tendrás que invertir algún tiempo y dinero extra si realmente quieres una impresora 3D que funcione correctamente.

El hardware

No se puede esperar un hadware puntero de una impresora de 160$. Todo está en la delgada línea roja, si no te aseguras de que todos los cables hacen buen contacto y que todos los tornillos están bien ajustados, puede que termines con una impresora en llamas. Por cierto, la mía lleva meses funcionando perfectamente sin ningún incidente.

Más adelante hablaré en profundidad acerca del hardware, por ahora vamos a empezar con la parte que no requiere gastar ni un céntimo.

El firmware preinstalado

La impresora viene con un firmware preinstalado, pero nunca sabrás como funciona exactamente. Una cosa que si notarás es que no está muy pulido. Usa un algoritmo muy agresivo para calentar la cama que pone el hardware a trabajar al máximo. No tiene ningún mecanismo de seguridad para prevenir sobrecalentamiento del extrusor, por lo que si el calentador o el sensor de temperatura se salen de su sitio, la placa continuará enviando corriente al calentador hasta que algo se pegue fuego…

Por otro lado, parece que no implementa un protocolo de comunicación USB adecuado, ya que he sufrido varias interrupciones de la impresión intentando usar una raspberry pi como servidor de impresión.

Firmwares alternativos

Skynet 3D

Si buscas un poco en internet encontrarás un firmware llamado Skynet 3D, que en realidad es un Marlin renombrado y con algunos añadidos para soportar el hardware de la Anet, no tiene nada de malo pero no me siento cómodo con él por dos razones:

  1. El código fuente Marlin no parece muy limpio y el de Skynet 3D tiene incluso peor aspecto, por ejemplo, han añadido soporte para el teclado analógico modificando el módulo encargado de leer las temperaturas…
  2. No he encontrado instrucciones para compilarlo sin usar la versión tuneada de arduino IDE que ellos proveen.

Ninguno de mis argumentos es crítico para el correcto funcionamiento del firmware, pero un programador paranoico como yo no se puede sentir cómodo usándolo 😉

Repetier

No es facil encontar referencias de este firmware asociadas a la Anet, pero echando un vistazo a las placas soportadas, encontraremos referencias a la placa base de Anet en una llamada “Zonestar P802M“. El código fuente de este firmware tampoco es maravilloso, pero parece mejor organizado, por lo que me siento más cómodo con él.

Todo lo que necesitas en un solo lugar

He creado un repositorio en github con todos los ficheros necesarios, por lo que deberías ser capaz de seguir las instrucciones de este artículo y tomar todos los archivos necesarios desde ese repositorio para configurar tu IDE arduino para la placa base de la Anet y configurar y compilar cualquier firmware, por lo que empieza descargando los archivos que he puesto en github.

Definición de hardware para la placa base Anet V1.0 en Arduino IDE

Lo primero que necesitarás para poder flashear algo en tu placa base es agregar soporte a tu Arduino IDE para dicha placa, por lo que después de descargar e instalar arduino IDE, sigue estos pasos:

Limpiar la EEPROM

Limpiar la EEPROM es muy importante si estás cambiando de tipo de firmware, por ejemplo de uno basado en marlin a uno basado en repetier. Si no estás seguro, te recomiendo que lo hagas antes de flashear el nuevo firmware. para ello, sigo los siguientes pasos:

  • Abre Arduino IDE
  • Dirígete a Archivo -> Ejemplos -> EEPROM -> eeprom_clear
  • Selecciona la tarjeta “Anet V1.0”
  • Haz clic en el botón Subir
  • Dale, digamos, 10 segundos para que tu impresora ejecute el programa.

Firmware Repetier

Si quieres probar el firmware Repetier, solo haz lo siguiente::

  • Vete a https://www.repetier.com/firmware/v092/
  • Sube el archivo de configuración que descargaste del repositorio
  • Haz clic en la pestaña “Download”
  • Haz clic en el botón “Download complete firmware incl. these settings” para descargar el firmware
  • Abre el archivo “repetier.ino” en arduino IDE
  • Selecciona la tarjeta “Anet V1.0”
  • Haz clic en el botón Subir

Quemar el bootloader

Puede que brickees tu placa base si haces cosas como seleccionar una tarjeta equivocada, forzar al sistema a subir un firmware incorrecto o desconectar e USB mientras está subiendo. Despues de eso, ya no podrá volver a flashear un firmware en tu placa y obtendrás errores como este:

avrdude: stk500_cmd(): programmer is out of sync

Si te sucede esto, primero descarta que no se trate de un cable USB defectuoso reemplazandolo, si sigues sin poder subir nada a tu placa, es muy probable que tengas el boot loader corrupto, por lo que tu placa es ahora un bonito ladrillo.

Es posible que puedas recuperarla quemando el boot loader de nuevo usando un Ardino como programador ISP conectado como se indica en este diagrama y siguiendo estos pasos:

  • Conecta el cable USB a la placa Arduino
  • Abre arduino IDE
  • Abre el ejemplo ArduinoISP
  • Selecciona en el modelo de Arduino que estás usando como programador (no la placa base de la Anet que vas a programar) en el menú Herramientas > Tarjeta y elije el puerto en el menú Herramientas > Puerto Serie
  • Haz clic en subir ArduinoISP para convertir tu Arduino en un programador ISP
  • Desconecta el cable USB del Arduino
  • Desconecta todos los periféricos de la placa base de la impresora, incluida la fuente de alimentación.
  • Cablea tu arduino a la placa base siguiendo el diagrama, comprueba que tu placa esté orientada del mismo modo que ne la imagen, si la tienes orientada de otra forma, gira la imagen…
  • Comprueba tus conexiones por lo menos tres veces antes de continuar, un conexionado incorrecto puede terminar quemando tu Arduino e incluso la placa base de la impresora
  • Conecta el cable USB al Arduino de nuevo
  • Selecciona la tarjeta “Anet V1.0” en el menú Herramientas > Tarjeta
  • Selecciona “Arduino as ISP” en el menú Herramientas > Programador
  • Haz clic en Herramientas > Quemar Bootloader
  • Si el proceso termina sin errores, desconecta todos los cables entre el arduino y la placa base y vuelve a conectar todos los dispositivos a la placa de tu impresora (ventiladores, motores, LCD, etc.)

A partir de ahora deberías ser capaz de conectar el cable USB a tu impresora y subir firmwares de nuevo. Te recomiendo que empieces subiendo el ejemplo “Blink” y compruebes que uno de los LEDs de la placa empieza a parpadear.

Estos pasos han sido tomados de https://www.arduino.cc/en/Tutorial/ArduinoISP, consúltalo para más información.

Referencias

Política de comentarios

Dada la importancia de los comentarios como espacio de participación, te pedimos por favor que leas detenidamente y cumplas con las siguientes normas de participación.

19 respuestas para “Lidiando con mi impresora 3D Anet A8 – Firmware

Laser

Mil gracias por la información, probablemente salvaste la placa de mi Anet A8 de un fallo de windows y a mi me has salvado de tener que volver a usar win en una larga temporada.

GRACIAS, GRACIAS, GRACIAS!!!!!


Elías R.M.

Gracias ti por por tu comentario. Me alegro de que el post te haya sido útil y también de colaborar para que no dependas de Windows 😉

Saludos


Luis Pérez

Hola Elías R.M
Estaba buscando información para poder solucionar un problema que tengo con mi Anet A8 y encontré tu blog. Veo que eres un fenómeno en muchos temas y sobretodo en el que ami me interesa…Mi problema es que, estuve trasteando con ella y después de hacerle algunos ajustes y funcionar bien, la desconecté de la corriente y cuando la volví a conectar, el LCD se queda en azul y con la pantalla llena de cuadraditos y la placa no responde ni aunque la hagas un reset. Me gustaría poder hablar contigo y me dieses alguna solución de lo que puedo hacer. Muchísimas gracias. Un saludo


Elías R.M.

Hola Luis,

Por lo que cuentas, parece que el firmware de tu placa está corrupto. Prueba a seguir mis instrucciones para recuperarla.

Saludos


Gonzalo

Hola! no sé si me podéis ayudar. Resulta que aún no he sido capaz de imprimir. El calibrado lo he hecho varias veces y creo que está bien. Pero cuando quiero imprimir empieza a trabajar fuera de la mesa y más bajo. Y la mesa ya no la puedo bajar más.
A alguien le ha pasado y sabe qué hacer?

gracias,


albert

hola gonzalo, eso es culpa del endstop del eje Z, que lo tendras mas bajo, por eso te empieza a imprimir por debajo de la mesa, y lo que empieze fuera (del X0) sera porque en el programa para hacer el gcode, tipo simplify3d no tendrás puestas las medidas de tu cama, igualmente revisa todos los endstop, si tienes cualquier problema mi mail amrinye_83@hotmail.com, pregúntame lo que quieras, si puedo solucionarte-lo lo haré


Elías R.M.

Hola Gonzalo,

Como dice albert, tienes que calibrar el end stop del eje Z.

Respecto a lo de que empieza fuera de la cama, asegúrate de configurar la cama correctamente en tu slicer. por ejemplo, en Slic3r yo tengo configurada la cama de la siguiente forma:

  • Size: x: 220 y: 220
  • Origin: x: -32 y: -7

Saludos


albert

hola, e seguido todos los pasos para quemar el bootloader a la placa de la anet a 8 pero al conectar el cable vcc (el de corriente de 5v) se me apaga el arduino, que puedo hacer?

gracias


Elías R.M.

Hola albert,

Asegúrate de que desconectas todo de la placa base (motores, cama, ventiladores, sensores, etc.) De ese modo tu Arduino podrá alimentar la placa base sin quedarse sin potencia.

Saludos


juan carlos

hola he tenido un problema, arme la impresora sin problemas y cuando quise imprimir me sale idle y luego stepper disabled, algunas veces hace el intento de acercarse a la cama para comenzar el trabajo o que se yo pero se detiene y de allí no pasa. Que podría ser la falla? ya verifique el cableado y rearme el extrusor y nada. muchas gracias por su ayuda


Elías R.M.

Hola Juan,

Te recomiendo preguntar en los canales de soporte de Facebook, allí te pueden ayudar mejor con tu problema.

Saludos


Fernando

Hola.
Eso es error de novato como me paso a mi🤣.
Los archivos stl no los carga así que pasalos a gcode con cura o slic3r y verás que bien va.

Un saludo


Fernando Alba García

Hola, intento instalar el skynet en la placa y me pone error de placa por falta de memoria, que tendría que hacer?


Elías R.M.

Hola Fernando,

Ese tipo de errores suelen ser debidos a que has activado muchas opciones en el archivo de configuración de Marlin (Skynet). Te recomiendo que busques una configuración “estándar” para Skynet en tu impreso y empieces por ahí.

Saludos


Vicente

Hola, compré hace una semana la impresora y creo que algo falla, la cama (ejeY) no se mueve. He cambiado y probado los cables conectando el motor Y en la ranura del motor X y sí que mueve, por lo que no es motor no cables, me temo que el problema está en la placa.


Elías R.M.

Hola Vicente,

Es muy probable que el chip controlador del motor esté defectuoso o “quemado”. De todos modos te recomiendo acudir a la comunidad de Facebook, allí hay mucha gente y seguro que alguno ha tenido el mismo problema y ya lo ha solucionado.

Suerte


Narhe

Hola,

He acabado de montar mi impresora y cuando intento imprimir los archivos que vienen en la tarjeta microSD el extrusor se dirige a la posición home pero, posteriormente, empieza a imprimir fuera de la cama caliente. He probado con otros archivos y siempre sucede lo mismo. Alguna idea de qué puede ser?

Gracias


Fernando

Hola.
Revisa la configuración de tu programa generador de gcode y configura la mesa de trabajo poniendo dimensiones y origen a la vez que compruebas los finales de carrera que estén bien ajustados


Deja un comentario

Tu dirección de correo electrónico no será publicada.