Ya que tenemos todos los elementos de la electrónica conectados, ahora podemos pasar a cargarle el firmware definitivo a nuestra impresora, este firmware va a ser el Marlin. El Marlin, no lo hemos cargado antes, porque de haberlo hecho, no habríamos sido capaces de mover los motores para ajustar los pololus, ya que si Marlin no detecta que la temperatura del HotEnd es la adecuada o simplemente no detecta el sensor, no nos va a dejar extruir.

Ahora, como ya tenemos todo conectado, le vamos a cargar el Marlin, para ello vamos a necesitar el entorno de programación de Arduino en una versión más actual (yo voy a usar la versión 1.0.5), vosotros podéis descargaros la versión más actual desde la página oficial de Arduino. También vamos a necesitar el Marln, yo voy a usar una versión ya testada que funciona perfectamente y que vosotros podéis descargar de aquí.

Actualizado Julio 2018: La versión de Marlin que se usa en este tutorial funciona perfectamente, pero es una versión antigua, si usáis una electrónica creada con posterioridad al 2016 es probable que no podáis configurarla con la versión de la WEB, para eso bajad la última versión de Marlin aqui

Una vez que tengáis tanto el entorno de Arduino en una versión actual como el Marlin, lo descomprimís y seguís estos pasos:

Abrir el entorno de Arduino, conectad la electrónica y seleccionar tanto la tarjeta que estáis usando (Arduino Mega) como el puerto al que está conectado.

entorno prog

Una vez configurada la tarjeta y el puerto, vamos a abrir el Marlin, para ello en la barra de herramientas le damos a archivo/abrir.... y dentro de la carpeta que hemos descargado con el Marlin, vamos a encontrar un archivo que se llama "marlin.ino", lo abrimos y aparecerá una nueva ventana.

entorno prog2

Al igual que hacíamos con "Sprinter", tenemos que ir a la pestaña de configuración, que es donde vamos a encontrar todos los parámetros que debemos de configurar.

Los primeros parámetros que nos vamos a encontrar van a ser el tipo de placa que tenemos y el numero de extrusores de nuestra máquina, en mi caso, como estoy usando una RAMP's 1.4 tendré que asignarle el número 33 (que es el numero que me indica la lista de tarjetas), y en el numero de extrusores le pondré "1", ya que mi maquina tan solo cuenta con 1 extrusor.

marlin 1

Más abajo nos encontraremos parámetros relacionados tanto con los termistores como con la temperatura, en el parámetro de pone "#define TEMP_SENSOR", tenemos que indicarle que tipo de sensor estamos usando, en mi caso estoy usando un termistor de 100K, por lo que tengo que asignarle el numero "1", como veis, hay posibilidad de asignar hasta 3 tipos de sensores para 3 posibles HotEnds, (en mi caso como solo tengo un HotEnd con un termistor, tan solo es necesario que configure el primero. Seguido a este parámetro, podemos ver otro que pone "#define TEMP_SENSOR_BED", que será el que defina el tipo de termistor que usamos en la cama caliente.

marlin 2

Un parámetro que debemos conocer es el "#define HEATER_MINTEMP", este es un parámetro que no alteraremos, pero hay que saber lo que hace, y es que si intentamos calentar tanto el HotEnd como la cama calietne cuando el sensor registra una temperatura inferior a la que indica aquí, la impresora nos va a dar un error que dirá "ERROR_MIN_TEMP", y no calentará, por ello la habitación o entorno donde este la impresora deberá de estar a una temperatura mayor que la que aquí aparece.

Otro parámetro MUY IMPORTANTE referente a la temperatura, es el que va a fijar el límite de temperatura tanto del HotEnd como de la cama caliente. el de la cama quizás no sea muy relevante, pero el del HotEnd si, ya que si tenemos un HotEnd que no sea "All Metal", y superamos los 250º, es muy posible que fundamos alguna de las partes del propio HotEnd, por ello hay que ponerle un límite.

Yo os diría que si vuestro HotEnd no es "All Metral", fijéis este límite entre 250-260⁰, y si es totalmente metálico lo pongáis en 300⁰.

marlin 3

Si seguimos bajando, nos vamos a encontrar otro parámetro que nos va a definir la temperatura mínima de extrusión, "#define EXTRUDE_MINTEMP", este es un parámetro de seguridad, que va a impedir que extruyamos nada si el HotEnd no está a la temperatura que indicamos aquí, esto se hace para proteger el extrusor e impedir extruir en frio.

marlin 4

Los siguientes parámetros a configurar hacen referencia a los finales de carrera y a el movimiento de los ejes, si habéis hecho el montaje de vuestra impresora de la misma manera que lo he hecho yo, lo valores que tendréis que poner son los que aparecen en la imagen. Los primeros parámetros activan las resistencias de "PullUp", necesarias si trabajáis con los finales de carrera entre señal y GND, el siguiente grupo de parámetros bloquean o no los ejes cuando se mueven, haciendo que permanezcan en la posición que se le ordena, y los últimos parámetros invierten el movimiento de los ejes, aunque yo os diría que este último parámetro no lo modifiquéis, simplemente, si el eje se mueve en la dirección incorrecta dadle la vuelta al cable.

marlin 5

Los últimos valores que vamos a configurar antes de cargar el firmware, son los que veis en la imagen inferior, el primero va a delimitar el área de impresión, y el segundo (valor que ya habíamos visto en el Sprinter) va a configurar los pasos que deben de dar los motores para moverse una unidad.

marlin 6

Para configurar el primer valor es tan sencillo como medir físicamente el recorrido de los ejes, desde que tocan el final de carrera, hasta el otro extremo (restarle unos milímetros para no apurar demasiado).

Para configurar los pasos por milímetro de los motores, lo haremos de forma similar a como lo hicimos con el extrusor, pudiendo directamente poner el valor que obtuvimos con anterioridad a la hora de calibrar el extrusor.

Para el eje Z, los pasos por milímetro van a depender de los pasos del motor, la resolución que le indiquemos a los pololus con los "jumpers" y el paso de rosca de la varilla.

La fórmula que debéis de seguir será la siguiente:

Pasos_por_mm = Pasos_del_motor_por_vuelta x Micro_pasos_del_pololu / paso_varilla

Si usáis un motor del tipo NEMA 17, tendrá 200 pasos por vuelta, la resolución del pololu o micro pasos del pololu con los 4 "jumpers" será de 16 y los pasos de una varilla de métrica 5 es de 0.8mm, por lo que el resultado de la ecuación es:

Pasos_por_mm = 200 x 16 / 0.8 = 4000

Que es el valor que tendréis que poner si usáis estos elementos, si vuestra varilla es de métrica 8, entonces el valor que pondréis será el de 2560.

Para el Eje X e Y, vamos a abrir el Pronterface, le diremos que se mueva 100mm, y mediremos la distancia real que se ha movido, el valor que nos dé, se lo vamos a dividir al valor que aparece en la casilla del eje X o Y (esta por defecto en 80) y lo multiplicaremos por el valor que le hemos ordenado moverse, dando como resultado el numero que debemos de colocar en la configuración de estos ejes.

Configuración del PID

>El PID es un controlador que está programado en el propio Arduino y que debemos de configurar para que la regulación de la temperatura sea lo más precisa posible, para ello vamos a abrir el Pronterface y vamos a ejecutar el comando "m303" (escribiendo este comando directamente sobre la consola del pronterface y dándole a ejecutar).

PID

Una vez lo ejecutemos, veremos cómo empieza a subir la temperatura del HotEnd y de manera automática el programa empezará a activar y desactivar la alimentación viendo cómo evoluciona la temperatura. De esta forma el programa va a comprobar la inercia térmica de nuestro HotEnd y después de un rato, nos va a dar unos valores ( Kp, Ki y Kd), estos valores son los que debemos de poner en el firmware para asegurarnos que nuestro HotEnd calienta de manera adecuada y no sufre oscilaciones de temperatura demasiado acusadas.

PID2

PID3

 

 

 

Deja tus comentarios

Enviar un comentario como invitado

0
terminos y condiciones.
  • Invitado - Juan Maurice

    Buen día Raúl! Te comento, seguí tu tutorial pero cuando intento enviar los gcode a la impresora no me los toma, no calienta el hoten (pero funciona cuando lo prendo desde el pronterface)
    La pantalla la conecté y no prende (solo hace un pitido cada uno segundo)
    Lo probé con el cura y tampoco imprime.
    Podrías ayudarme? Desde ya muchas gracias!

  • Bien ya esta soluccionado me despiste con la medida en el firmware del eje X, le puse 40 cuando es 80 por eso lo hacia mas estrecho y todo por confiar en un sacacuartos que es el de LOW COST que dice que te conoce he tenido que cambiar todo lo que me vendio solo funcionan los finales de carrera todo lo demas a la basura Que te parece??? Yo ahora solo compro en Amazon hay veo las estrellas de catalogacion y te puedes fiar un poco mejor Raul muchas gracias por estar ahi.

  • Hola Raul he decidido arreglar una de mis impresoras que tenia olvidada le he cambiado los usillos del eje Z los de 8 mm por los de 5 mm le he cambiado la ramps le he vueltyo a subir el firmware con arduino 1.5 r2 La impresora funcionaba muy mal y es por eso que he decidido hacer estos cambios Pero tengo un problema cuando la impresora imprime el Gcode lo hace encogiendo la pieza por la mitad te cito un ejemplo para probar la maquina hago un cubo y lo mando A IMPRIMIR pero en vez de hacerme un cubo me hace un rectangulo Lo hace todo correctamente pero cuando imprimo cualquier Gcode me lo hace encojido me gustaria que me dijeras que le puede pasar a la maquina Thanks you

  • Hola, me estoy armando una prosa i3 y tengo un problema. Cuando quiero calcular el PID pingo el comando M303 en el pronterface y no hace nada. Nada de nada. No dice autotune nada. No calienta el extrusor. Cuando le doy temperatura al extrusor desde el mismo pronterface anda barbaro. Pero no me calcula el PID y no se que puede ser. Si me pudierais aconsejar estaría muy agradecido.

  • Hola Cesar, la configuración del PID solo está disponible para Marlin, si estás usando alguna versión antigua de Sprinter u otro firmware puede que el ajuste del PID no esté disponible, dime que versión tienes e investigo si hay algún problema con alguna versión concreta, un saludo!

    Comentario editado por última vez entre hace cerca de 6 meses y Raúl Diosdado
  • Hola muy buenas
    gracias de antemano, os cuento la situacion tengo montada una prusa, a la cual le cambie algunas cosas como la cama de 300x200 los ejes en aluminio los tornillos de metrica 8 y el fabricante indica que los pasos son 398.2 si indico que suba 150 que es tamaño que tengo de eje z los clava, el tema es que caundo intento imprimir algo las capas salen tan pegadas entre si que llega casi a bloquearse y al final arranca la impresión de la cama caliente, creo que puede se por configuracion del repetier pero no estoy seguro ademas aora tarda un monton en subir el eje z pero sube lo que se le manda y ya nose que puede ser, ademas el repetier me da problemas se cierra cuando intento hacer el slicer a alguna pieza o peor bloquea todo y se queda cogido ya me tiene to loco algun otro programa que recomendeis un saludo y gracias

  • Hola Francisco, este problema me pasó a mi en tiempos con Repetier y no fui capaz de encontrarle ni explicación ni solución.... desinstalé el programa varias veces y ni con esas lo solucionaba (creo que guardaría la configuración en algún sitio) al final decidí pasarme a CURA y se acabaron los problemas.
    Es un problema muy raro y como dices es 100% causado por el laminador, si encuentras las solución dimelo!!! ;)

  • Hola Raul, buenas tardes!

    Pregunta rapida, tengo el siguiente termistor: https://e3d-online.com/thermistor-cartridge
    En la pagina dice que es un Semitec 104GT thermistors. Deberia elegir la opcion 55? pasa que no se que significan el resto de las cosas que dice ahi.

    De ya, muchas gracias y un saludo!

  • Si te han dado como referenica que es un Semitec 104GT si debes marcar la opción 55. Para comprobar que todo está bien, simplemente comprueba que te de una temperatura ambiente aproximada, si te da algo o muy alto o muy bajo no calientes el HotEnd que te lo puedes cargar calentándolo más de la cuenta.

  • Muy buenos dias Raul
    He estado haciendo numeros y resulta que la ecuacion de la varilla T8 tu dices que es de 2560 y haciendo lo que tu dices de utilizar el pronterface con el eje X y tambien con el eje Y de medir 100 mm luego el resultado dividirlo entre la medida que salga y luego multiplicarlo por 100 otra vez es correcta pero a mi me sale con el eje Z 1551 y funciona OK Esto lo hice con el Z marcando la varilla lisa con rotulador y subiendo el eje Z 10 mm y haciendo la ecuacion que tu dices me sale 1551 y es correcta Por lo tanto pasos_por_mm=200X16/2.6=1560 no soy muy buen matematico pero me sale esto.
    Te estoy muy agradecido por la gran ayuda , me tenia casi loco con la medida T8 que no me salia pues en el mercado la T8 tiene variantes del pitch hay de 2 hay de 8 hay de 3 en fin ya pueden ser del pitch que sean que con tu ecuacion sale el resultado correcto.
    SALUDOS Y MUCHAS GRACIAS no se como puedo agradecerte esta gran ayuda

  • Hola Leandro, si, yo el dato de los 2560 los tomé para una varilla estándar de métrica 8, hay variantes en con el paso de rosca, asi que si tienes otra variante hay que recalcular estos valores. Para ajustar mejor la máquina y no tener errores, en lugar de moverla 10mm intenta moverla 100mm, así el error será menor y tendrás más precisión a la hora de imprimir piezas con medidas exactas.

  • Eres el mejor Acabo de terminar una impresora de 30 X 30 X 30 es increible funciona igual que la de 20 X 20 X 20 he seguido todas tus instrucciones y me ha salido AUTENTICA Eres el MEJOR y llevo tiempo en esto SALUDOS

  • Enhorabuena!! lo que sabes de una impresora de 20x20x20 se aplica igual a una de 30x30x30, hay muy poca diferencia. El limite está mas o menos en los 50cm, a partir de ahí los ejes que se mueven con correas dan bastantes problemas y hay que cambiar el sistema de transmisión, si algún día te atreves a montar una impresora más grande dímelo y te echo una mano. Un saludo!

  • Disculpa Raul de nuevo pero es que claro el que sabes eres tu y por eso te pregunto disculpame si te hago tantas preguntas . Se que en el marlin se puede configurar para la pantalla LCD es la siguiente te cito un ejemplo para entendernos veras I maginate que tengo que hacer una cabeza de toro que aproximadamente me va a tardar 50 horas, estoy imprimiendo y a las doce horas se va la luz
    entonces he perdido la impresion , bueno si voy al cura y vuelvo a meter la pieza me voy al avanzado y le hundo en el plato hasta llegar a la medida y vuelvo a imprimir esto es una pero hay otra que se configura en el Marlin y cuando se pierde la impresion por un apagon u otra incidencia cuando vuelves a encender la maquina te sale la opcion de (reanudar impresion) esto es bueno por que a veces te toca un filamento que no para de enrredarse y tienes que estar muy pendiente de la impresion y si te vas a la cama se puede liar y con esta opcion se apaga y hasta la mañana siguiente
    Bueno no se si sabes de lo que te hablo esta opcion ya esta en el Marlin creo que en Marlin 1.1.8 o algo asi de los ultimas aplicaciones Bueno jefe tu eres el profe Saludos y Muchas Gracias:D

  • Hola Leandro, hay opciones en las que la impresión se puede pausar para luego reanudar, pero es muy diferente de si se va la luz por dos motivos, el primero es que la impresora no guarda el punto de impresión por el que va dentro del .STL y el segundo es que los motores al cortar la luz se desbloquean y se pueden mover, perdiendo la posición por la que iba imprimiendo. Estos es difícilmente solucionable si la impresora no cuenta con encoders o elementos que constantemente monitoricen la posición de los ejes.
    Hasta donde yo se no hay nada que permita restablecer una impresión después de un corte de luz, lo único que se me ocurre es la solución que has expuesto tu, de imprimir el resto de la pieza que falta hundiendo el diseño en CURA hasta la altura en la que haya dejado de funcionar la impresora.

Cargar Más