Configuración de Marlin para la Anet E-10

9 Replies

Anet E-10 Impresora 3D Mejoras
Marlin LCD

Como ya os dije en el anterior post, hoy os voy a enseñar como he configurado Marlin para la Anet E-10 modificada.

¿Qué necesito para poner el Marlin?

Lo primero que necesitas es el Arduino IDE, actualmente uso la versión 1.8.5 y lo podéis descargar desde aquí.

Otra cosa fundamental es el propio Marlin, que lo podéis descargar desde aquí. La configuración que os voy a mostrar está realizada para la versión 1.1.6.

En mi caso, como uso una pantalla grande, también necesité la librería U8GLib para configurar la pantalla, y podéis descargarla aquí.

Ya tengo todo, ¿y ahora qué?

Para realizar la configuración seguí las instrucciones del blog de staticsboards, en el que se explica perfectamente y paso a paso todo lo que hay que hacer. Como en esa página vienen todos los detalles, yo voy a ir más rápido.

Paso 1: Conectar la impresora por USB al ordenador

Paso 2: Configurar en el Arduino IDE la placa y el puerto

Para eso os pongo tres pantallazos, para que veáis como hacerlo.

 

 

Marlin - Arduino Placa

Pantalla de selección de placa

Marlin - Arduino Procesador

Selección de procesador de la placa

 

Marlin - Arduino Puerto

Selección de puerto

Paso 3: Instalar la librería u8glib

Seleccionar la opción que veis en la imagen a continuación y buscar el archivo zip de la librería que os habéis descargado.

Marlin - Arduino Libreria

Paso 4: Modificar los ficheros de Marlin para vuestra impresora

Para ello os voy a poner las configuraciones que he puesto yo para la Anet E-10, con la placa GT2560 y drivers DRV 8825.

Fichero Configuration.h

Sección @machine

Marlin - Placa Base

En esta sección se elige la placa base que monta la impresora, en mi caso la GT2560 rev A+, las placas soportadas las podéis ver en el archivo boards.h de Marlin.

Marlin - Custom Machine Name

En esta otra, se le pone nombre a la impresora, no es necesario, pero queda chulo 🙂

Sección @extruder

Marlin - Extruder

Aquí se seleccionan el número de extrusores que tiene la impresora, en mi caso 1, pero la placa que le he puesto soporta hasta 2.

Sección @machine

Marlin - Power Supply

Esto lo debéis dejar así, si la fuente de alimentación no está conectada a la pin PS_ON de la placa.

Sección @temperature

Marlin - Thermistors

Aquí se define el tipo de termistor que tiene montado la impresora para detectar la temperatura, tanto del hotend como de la cama caliente. Yo puse este valor, porque en Skynect venía con ese valor para la Anet y conservo los originales.

Marlin - Min Temperatures

Estos valores son los mínimos que detecta la impresora antes de pararse por avería de los termistores. Es decir, si un cable está roto no llegará a este mínimo y no dejará que la impresora funcione. Son grados celsius.

Marlin - Max Temperatures

En esta sección se definen los valores máximos que puede alcanzar el termistor antes de que la impresora se pare por sobrecalentamiento, son grados celsius.

Marlin - PID Settings

Estos valores los calculé para mi hotend con el siguiente comando GCODE: M303 E0 S200 C8

Marlin - PIDBedTemp

Es muy importante dejar la línea del PIDTEMPBED comentada si usamos un Mosfet o un relé para darle intensidad a la cama caliente. Si se activase, seguramente quemarías el relé o el mosfet por la gran cantidad de cambios que debería hacer en poco tiempo.

Marlin - prevent cold extrusion

Esta sección también es importante, porque es una medida de seguridad que no permite moverse al motor del extrusor hasta que  no se ha alcanzado esta temperatura. Esto evita atascos en el hotend.

Sección @homing de endstop settings

Marlin - homing endstops

Aquí se definen cuales son los finales de carrera que se usan para indicar que ha llegado al extremo de cada uno de los ejes. En mi caso, uso los min de cada uno de los ejes y ahí están conectados en la placa.

Marlin - inverting endstops

Debido a la configuración de mis finales de carrera (como venían de serie) he tenido que invertir la lógica.

Sección @motion de movement settings

Marlin - Steps by unit

Esta sección es de las más importantes, porque se definen los pasos en casa eje. En mi caso al usar los DRV8825 he multiplicados por dos los pasos. Si usáis unos drivers A4988 deberéis dividir por dos los pasos que veis en el pantallazo anterior. En el caso del extrusor, los pasos los calculé con prueba y error, extruyendo 10 cm y haciendo una regla de tres con el resultado obtenido.

Sección @machine de movement settings

Marlin . invert steppers

El cambio en esta sección fue al comprobar que un eje no se movía como correspondía.

Marlin - inverting extruder

Lo mismo pasó en este caso con el motor del extrusor.

Marlin - Dimensiones

En la primera parte, como los finales de carrera los hemos definido como min, se debe poner a -1.

En las otras definiciones se definen las dimensiones de la cama caliente, así como los offset del hotend desde los finales de carrera hasta el comienzo de la cama caliente.

Sección @lcd de LCD and SD support

Marlin - lcd language

Aquí se define el idioma de la interfaz de la pantalla, en este caso en castellano.

Marlin - lcd type

En esta otra sección se define el modelo de pantalla a usar, el modelo que os pongo es el que corresponde a la pantalla que compré en amazon.

Marlin - sd support

Es muy importante descomentar esta línea, es decir, dejarla tal y como la veis para poder usar el lector de SD integrado en la pantalla.

Fichero Configuration_adv.h

Sección @temperature

Marlin - protecion hotend

En esta sección tuve que poner el campo THERMAL_PROTECTION_PERIOD a 60 segundos, porque daba falsos fallos de calentamiento del hotend.

Marlin - protecion hotbed

Lo mismo tuve que hacer para la cama caliente.

Fichero ultralcd_impl_DOGM.h

Marlin - SD Percentaje

Este cambio simplemente te muestra el porcentaje de avance de impresión cuando imprimes desde SD.

¿Has llegado hasta aquí? Eres un valiente 😀

Muchas gracias si has llegado hasta aquí, espero que hayas encontrado interesante el artículo.

Os dejo un pantallazo de como funciona la pantalla de la impresora con todos los cambios realizados.

Marlin LCD


9 comments

  1. Pablo

    Hola buenas, tengo la Anet e10 y he decidido cambiarle el firmware a Marlin para poder tener un control mayor de ella. Quisiera preguntar si para hacer el cambio hace falta cambiar la placa o vale con la que trae de serie y también si tras instalar Marlin mejor la calidad en general de las impresiones.

    Gracias de antemano.

    1. Mr. Appz Post author

      Hola Pablo,

      Lo puedes hacer con la placa que viene de serie, el tema de Marlin es poder configurar más a tu gusto la impresora, idioma, si cambiar termistores, etc. Pero lo fundamental son ciertas protecciones respecto a la temperatura, tanto del hot end como de la cama, que no trae el firmware de serie.

      Para ponerlo en la placa de serie, tienes que instalar los drivers de la misma en el Arduino y ya hacer un configuración normal de la misma.

      Un saludo

  2. Fernando Ruiz Ilincheta

    Buenas de antemano grafías por tu blog .Mira una pregunta .Me pierde pasos el eje Y en una Anet E12 ,creo que se debe a que le driver se calienta .¿Podria ser? . Me esta dando muchos problemas . ?¿Esta configuración de marlin cambiando d placa y drivers me podria valer a mi ?

    1. Mr. Appz Post author

      Hola Fernando,

      Prueba a cambiarle los ventiladores de la caja, yo los cambié por unos muy silenciosos y además dan más flujo de aire.

      Respecto al Marlin, te valdría, pero tendrías que cambiar también el tamaño de la cama, puesto que la de la E12, es de 300mm x 300mm.

      Un cordial saludo, y si necesitas más ayuda ya sabes dónde estoy 🙂

  3. jonathan garrido caballero

    Hola , genial este post , seria esta la configuración para la placa MKS GEN 1.4 ? tengo una Anet e10 y he comprado esta controladora

  4. Julian

    Buenas noches.
    Estupendo post para cambiar el firmware. Lo he seguido paso a paso únicamente que yo tengo una E12 que lo único que varia es la dimensión de la cama. A la hora de compilar todo perfecto pero a la hora de subirlo a la impresora me da un error
    “se ha producido un error al subir el skecht”
    He probado a cambiar el puerto, a desconectar el firewall, a desconectar el bluethoot, a desconectar todos los aparatos que tenía enchufados al pc y nada de nada me sigue diciendo siempre lo mismo. Pruebo a conectar con slicer y puedo mover todos los ejes. La placa es la V 1.5.
    Podrías echarme una mano. Estoy empezando en esto de la impresión 3d y no quisiera desanimarme. Quiero poner el marlin para poder instalar un autolevel.
    Muchas gracias por tu atención
    Un saludo.
    P.D. No se como subir fotos pero tengo un pantallazo del error.

  5. kond

    Buenas, buscando una solucion a mi nuevo problema con la anet A8 he llegado has aquí y creo que me puedes ayudar.

    Tengo ahora marlin19, cuado empieza a imprimir el exruor se va hasta el entro y toca la cama (deja algo de pla) y luego se dirije ya a imprimir.

    Antes (skynet o el de serie) empezaba directamente a imprimir. ¿Hay forma de decrile que haga eso
    Supongo que es // algo en la eeprom pero yo no he encontrado donde.

    puedes ayudarme?

    1. Mr. Appz Post author

      Hola, ¿has cambiado algo en el slicer?

      ¿El script inicial lo tienes por ahí? ¿Has usado el mismo que tenías antes?, porque Marlin simplemente es un firmware no hace que no le digas que haga en un GCODE.

      ¿Qué slicer usas?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *