A finales de marzo de 2024, empezamos a enviar la MMU3 para la Original Prusa MK4 (y MK3.9). Esto también marcó el final de un largo periodo de pruebas internas en el que la MMU3 demostró que soportaba miles y miles de cambios de filamento en la MK4. La versión MK3S+ lleva comercializándose desde julio de 2023 y sigue dando guerra.

En este momento, la MMU3 para todas las impresoras compatibles está disponible, la mayoría de las versiones están en stock y estamos reduciendo los plazos de entrega de la variante MK4 cada día (véase la tabla de envíos para más detalles). Nos alegra ver que en Reddit no paran de aparecer impresiones muy ambiciosas: las impresiones de más de 150 horas sin una sola intervención no son nada raras hoy en día. 🙂

Antes de entrar en materia – ¡todos los enlaces de los modelos están al final del artículo!

MMU3 – rápido y eficaz

Hay varias razones por las que nos ceñimos al mismo concepto de unidad multimaterial.

En primer lugar, es un mecanismo increíblemente sencillo – puedes construir fácilmente toda la unidad en casa (o actualizar la versión anterior), el mantenimiento es pan comido porque puedes acceder al interior de la unidad rápidamente y limpiar cualquier resto de plástico, etc. Para ello, hemos mejorado varias partes de la unidad, por lo que ahora puede, por ejemplo, ajustar su inclinación en dos pasos para un acceso más cómodo. Sin embargo, en general, la mayoría de las piezas se rediseñaron y reforzaron con piezas metálicas. Nos gustaría agradecemos a la comunidad de impresión 3D por indicarnos la dirección correcta con valiosos comentarios y mods de usuarios – ¡echa un vistazo a nuestro artículo anterior para obtener más información sobre los cambios de hardware!

El diseño de la MMU3 también permite cambios de filamento muy rápidos – tienen un promedio de entre 35 y 45 segundos dependiendo de los valores de purga establecidos en PrusaSlicer. Con fácilmente miles de cambios de filamento durante una sola impresión multimaterial, esto ahorra una cantidad considerable de tiempo al trabajo de impresión y la única solución más rápida es la XL.

Otra cosa que permite la unidad MMU3 es la impresión multimaterial con residuos gestionables. En lugar de cortar y desechar cantidades excesivas de filamento, la MMU3 utiliza una torre de limpieza compacta y semihueca. El tamaño de la torre de limpieza puede reducirse aún más utilizando las opciones de purgar en el objeto o purgar en el relleno, que purgan el material sobrante en la boquilla; de cualquier forma, no tendrás que preocuparte de que se amontonen trozos de plástico junto a tu impresora.

Así que, aunque la unidad puede parecer similar a su predecesora, la experiencia es muy diferente, también gracias a un firmware completamente reelaborado – hemos decidido compartir todo el proceso de desarrollo de la nueva versión a continuación por si no me crees 😉 Con una comunicación bidireccional completa entre las dos placas, es mucho más fácil configurar y ejecutar impresiones multimaterial. La pantalla táctil a color de la MK3.5/MK4 te ofrece opciones adicionales, como la posibilidad de reasignar rápidamente los filamentos o configurar la funcionalidad SpoolJoin para agotar el filamento sobrante de las bobinas de filamento casi vacías.

Por último, pero no menos importante, decidimos mantener el diseño similar a la MMU2S, de modo que si deseas actualizar tu unidad más antigua, es fácil y barato hacerlo. Y puedes hacerlo, por supuesto, flasheando el firmware de la MMU3 en tu unidad MMU2S para mejorar su rendimiento sin sustituir ninguna pieza.

MMU3 para la MK4

Ahora, la pregunta obvia es: ¿por qué se tardó más en sacar la MMU3 para el MK4 cuando las otras versiones estaban disponibles desde mediados de 2023?

Lo hemos tratado ampliamente en nuestros posts de blogs, así que, brevemente: teníamos una MMU3 totalmente operativa para la MK4 lista para su envío alrededor de abril de 2023 y estábamos esperando a que nuestra capacidad de producción se liberara un poco, por lo que la MMU3 estaba programada para junio de 2023. Sin embargo, cuando se acercó el verano y empezaron a subir las temperaturas, notamos un repentino descenso en su fiabilidad (MMU3+MK4). ¿Por qué la MK3S+ funcionaba sin problemas y la MK4 con dificultades? La causa reside en los diferentes sistemas de extrusión y hotend. Teníamos una combinación que funcionaba perfectamente hasta ese momento y, de repente, volvimos al punto de partida.

Así que montamos una granja de pruebas y empezamos a desarrollar una solución inmediatamente. Como hemos descrito anteriormente, con la MMU, las impresiones superan fácilmente las 30 horas de impresión, lo que hace que cualquier tipo de prueba requiera más tiempo.

La causa del problema estaba oculta en las puntas del filamento – una vez que se descarga un filamento del extrusor, la punta debe ser absolutamente perfecta. Sin embargo, en nuestro caso, los filamentos descargados a menudo tenían un largo y fino hilo de plástico en el extremo que causaba problemas en el Nextruder de diseño ajustado. Lo hemos descrito ampliamente en nuestras actualizaciones anteriores (Octubre de 2023 y Enero de 2024).

Un caso extremo del filamento formándose en la punta

Terminamos el último con la afirmación de que la mayoría de los problemas en la MK4 son causados por el filamento, no pasa sin problemas a través del extrusor y hacia la guía de filamento. Esto me lleva a…

La Main Plate del Nextruder

Para conseguir que la (des)carga frecuente de filamento alcanzara el nivel de fiabilidad requerido, tuvimos que ajustar la pieza “Main Plate” en el Nextruder y por eso también se incluye en el paquete MMU3. También hemos rediseñado el proceso de descarga del filamento, haciéndolo más eficiente y mucho más rápido.

Si se utiliza la MK4 de la forma habitual e incluso se cambian los filamentos varias veces al día, la pieza Main Plate apenas mostrará signos de desgaste incluso después de un tiempo prolongado. Sin embargo, las impresiones multicolor pueden realizar fácilmente miles de cambios de filamento durante una sola impresión – sin la MMU, probablemente te llevaría muchos, muchos años de impresión frecuente llegar a este número de cambios de filamento. Con tantos cambios de filamento durante las impresiones multimaterial, la Main Plate puede mostrar signos de desgaste dependiendo de la intensidad con la que utilice la MMU.

La pieza que incluimos con la MMU se ha impreso con Multi Jet Fusion para que sea más duradera. Sin embargo, aún debe tratarse como un consumible, ya que se desgastará con el tiempo. La impresora realiza un seguimiento de los cambios de filamento y te notificará cuando la vida útil prevista de esta pieza esté cerca del final, o si el procedimiento de carga de filamento se vuelve menos fiable debido a un desgaste excesivo. Según nuestras pruebas internas, la pieza de MJF dura unos 80.000 cambios de filamento y luego hay que cambiarla (se tarda unos 10 minutos en cambiarla). Hemos probado esta pieza exhaustivamente en nuestras instalaciones y si experimentas problemas antes de lo esperado, probablemente se deba a otra causa. No dudes en ponerte en contacto con nuestro equipo de asistencia para obtener ayuda.

Como solución a corto plazo, puede imprimir la pieza a partir de PETG – el archivo STL está disponible en Printables.com. Sin embargo, la vida útil será notablemente más corta.

El camino hacia la MMU3

A finales de 2021 / principios de 2022, nuestro jefe de firmware, David comenzó a reunir una lista de características para un nuevo firmware MMU2S. Originalmente, el único objetivo era mostrar mensajes de estado adecuados en la pantalla de la impresora, en caso de que la MMU se encontrara con un problema. A partir de ahí, evolucionó hasta convertirse en un proyecto completamente nuevo cuyo objetivo era añadir una comunicación bidireccional completa, mensajes de estado adecuados y muchas otras características para que la unidad fuera mucho menos propensa a problemas relacionados con el montaje. Nos dimos cuenta de que el montaje de la MMU requería demasiada paciencia para garantizar que todo estuviera PERFECTAMENTE alineado. Esto nunca fue un problema con nuestras impresoras 3D (como mucha gente en Internet dice “el kit de montaje simplemente funciona”), por lo que la situación con la MMU fue algo inesperado – y los usuarios expresaron su frustración muy fuertemente.

Normalmente no hace falta ir a Internet y decir “Todo va bien”. Hay que entrar en Internet para buscar ayuda para solucionar problemas. Cuando empezaron a aparecer preguntas sobre la MMU2 y solicitudes de ayuda, se creó la sensación de que la MMU2S no funcionaba… en absoluto. Sin embargo, la mayoría de los usuarios no tuvieron mayores problemas con la impresión multimaterial. Además, cuando empezaron a aparecer varios mods/arreglos de la comunidad, tuvieron diversos grados de éxito – exactamente porque era muy difícil montar la MMU con gran precisión, por lo que la causa del problema solía estar en varios sitios. Nos tomamos muy en serio estos comentarios. Además contactamos con todos los propietarios de MMU2S con información sobre cómo pueden mejorar sus unidades con un nuevo firmware y ofrecimos formas de compensar los problemas durante el montaje.

Firmware al rescate

Analizamos la situación a fondo, revisando las publicaciones de los usuarios en las redes sociales, los vídeos, las reseñas, las modificaciones y, por supuesto, los informes del servicio técnico. En un principio, queríamos modificar el firmware para hacerlo más fácil de usar, ya que la unidad utilizaba un sistema sencillo, aunque algo críptico, de cinco LED para comunicarse con el usuario. Esta fue una de las cosas que ayudó a crear confusión en las redes sociales. “¡Oh, no, mi primer y tercer LED parpadean! ¿Qué significa?” Esto dificultaba demasiado la resolución de problemas de impresión comunes. Tendría más sentido que la impresora te dijera “Algo bloquea la rotación del rodillo, por favor comprueba lo siguiente:” en lugar de hacer parpadear los LEDs.

 

Basta decir que el firmware de la MMU2 se desarrolló en un equipo minúsculo hace muchos años y que las cosas han cambiado mucho en la empresa en los últimos años. Así que David se propuso mejorar el código base existente, pero lo que al principio parecía una simple actualización del firmware acabó convirtiéndose en un proyecto totalmente nuevo que terminó con la introducción de la MMU3. En lugar de aumentar el código antiguo, se eliminó la base de código existente y el nuevo firmware empezó completamente de cero. El sobreesfuerzo total de la base de código condujo a una mejora masiva del rendimiento general, algo que no siempre ocurre en el desarrollo de software. 😉

En el transcurso de dos meses, se completó la propuesta de una arquitectura de firmware totalmente nueva. Al principio, pensamos en Arduino IDE, pero luego lo descartamos porque no nos permitía hacer todo lo que habíamos planeado.

El firmware se basa en tres capas:

  • HAL – Hardware Abstraction Layer (Capa de Abstracción de Hardware) – permite acceder a temporizadores, watchdogs, EEPROM, USART y más
  • Módulos – abstracción de componentes de la unidad – botones, sensor FINDA, Fsensor, rueda loca, LEDs, motor paso a paso con todas las funciones, almacenamiento permanente, protocolos, polea, selector, serie, temporización, USB CDC, entrada de usuario
  • Lógica de aplicación – lógica de funciones, como cortar, expulsar, inicio, comprobación de sanidad HW, carga de filamento, descarga y más

Una de las cosas que dificultaba el firmware anterior (que tenía sus raíces en 2017) era que estaba escrito como un código síncrono que básicamente descartaba cualquier actualización de la impresora mientras la MMU realizaba una acción. Antes de que la MMU pudiera reaccionar ante cualquier nueva entrada o situación, tenía que completar un ciclo determinado. Además, no sabía realmente lo que estaba pasando con la impresora. Solo recibía órdenes que luego se ejecutaban. Con la nueva arquitectura, esto ya no es así. Todo funciona como una máquina de estados en paralelo todo el tiempo y tanto la impresora como la MMU siempre se comunican entre sí, compartiendo información en tiempo real. De este modo, el sistema puede resolver muchas situaciones que de otro modo provocarían los mensajes «La MMU necesita la atención del usuario». ¿Falló la carga del filamento? Intentemos cargarlo de nuevo automáticamente. Bien, ahora funciona, continúa.

 

Todo esto se hizo en un simple chip ATMega 32U4. Como no es viable ejecutar un sistema operativo embebido con multitarea en él debido a la limitación de recursos, tuvimos que hacer uno nosotros mismos. Bueno, no es multitarea «real», es más bien una arquitectura inteligente que asegura que ningún componente pueda bloquear a otros para que todo siga funcionando todo el tiempo.

Pruebas unitarias e integración

David y su equipo pasaron meses desarrollando el firmware solo mediante pruebas unitarias (pruebas solo de software de pequeñas partes del código) y siempre comprobaban si avr-gcc puede compilar el código. Las únicas partes de pruebas físicas se hicieron con la implementación parcial de componentes HAL. Una vez que el desarrollo estaba en etapas posteriores, el equipo de desarrollo finalmente cargó el firmware en la placa MMU2S – y funcionó de maravilla, demostrando que el enfoque de desarrollo basado en pruebas es válido en su forma pura.

Una parte esencial del nuevo firmware era la implementación de mensajes de error adecuados – esto también significaba preparar el otro lado (la impresora) para la comunicación. Con dos ramas de firmware diferentes (MK3S+ con la placa Einsy y la MK4 de 32 bits con la placa xBuddy), había algo de trabajo extra que hacer.

Al final, aquí también utilizamos máquinas de estados. La impresora es el dispositivo de control y la MMU solo responde a las órdenes (pero esta vez, también puede «informar»). Es lógico que la CPU más potente de la impresora controle la comunicación, las peticiones y demás. Por encima de este protocolo de comunicación hay una capa adicional que conecta el protocolo con el firmware Marlin. Aquí es donde queríamos mantener la API de nivel superior, pero todo lo demás fue desechado y completamente reescrito.

Ha sido un trabajo increíble, pero al final ha merecido la pena. La comunicación entre los dos dispositivos es fluida y la experiencia es prácticamente perfecta.

Y entonces el equipo de hardware tuvo un par de ideas.

Ajusta aquí, ajusta allí…

Ya hemos mencionado que las modificaciones realizadas por la comunidad fueron un indicador importante que nos ayudó a centrarnos en áreas cruciales.

Con el trabajo sobre el nuevo firmware en marcha, nuestro equipo de desarrollo de hardware examinó la unidad MMU y decidió mejorar algunas partes aquí, algunas partes allá – y, finalmente, se rediseñó la mayoría de los componentes salvo la electrónica. De nuevo, puedes encontrar más detalles en la entrada anterior del blog.

Mientras tanto, el equipo de firmware decidió añadir un componente más a la base de código. Uno bastante grande: soporte de registro. O para ser más específicos: parametrización de la MMU en tiempo de ejecución, similar a un sistema de registro MODBUS. Hubo incluso un intento de utilizar MODBUS por completo, sin embargo, debido a la limitación de recursos en el MK3S +, esto fue abandonado en favor de una versión modificada del protocolo MMU. Ahora añade 35 entradas de registro (de 1 y 2 bytes), algunas son de solo lectura, otras son de lectura/escritura, y algunas son persistentes en la EEPROM. Esto nos da toda una serie de nuevas opciones, incluyendo los nuevos códigos G M707 y M708 para leer/escribir entradas de registro. Esto permite, por ejemplo, configurar la velocidad de carga del filamento antes de cada cambio de filamento. Además, cada impresora parametriza su MMU al inicio – lo que nos permite tener un solo firmware MMU para todos los modelos de impresoras soportados.

Más potencia no siempre es mejor

Cuando la MMU3 carga filamento en el extrusor, es una operación bastante sencilla. El tensor gira, ejerce presión sobre el hilo de filamento y la presiona contra el engranaje de alimentación. El engranaje empieza a girar, empujando el filamento a través del selector y el tubo de PTFE hacia el extrusor.

Nuestra idea inicial era que necesitábamos tanta presión como fuera posible. ¿Por qué no? Tienes que empujar el filamento a través del tubo de PTFE, no quieres que el filamento resbale o pierda pasos. Pero en realidad no es así. El movimiento del filamento es controlado por los dos sensores de filamento (en la MMU y en la impresora), así que no importa si el motor pierde algunos pasos. Y tampoco tiene que funcionar a plena potencia.

Esto ayuda a evitar la creación de abolladuras en la cuerda de filamento, donde un accionamiento demasiado potente afeitaría material de la cuerda de filamento, impidiendo que sea empujado hacia adelante por el engranaje. Si has visto Top Gear, seguro que recuerdas a Jeremy Clarkson gritando «¡POWAAHH!», durante un enorme burnout que normalmente evitaba por los pelos un desastre – esto es parecido. Una potencia excesiva es inútil cuando las ruedas no pueden transferir el par al asfalto. Menos corriente entrando en el motor significa que si el filamento se queda atascado en algún sitio, el motor no triturará el material y causará más problemas media hora más tarde cuando esta parte del filamento entre en el extrusor. Cuando la MMU se sale del rango/longitud de paso preestablecido, muestra un error de todos modos. Pero el trozo de filamento se puede reutilizar (no tirar).

Además, a diferencia de la impresora, el antiguo firmware de la MMU carecía de un «motor» controlador y planificador dedicado. Esto hacía que la unidad fuera más ruidosa de lo necesario, además de que era casi imposible controlar las aceleraciones si no era cambiando el código. Con el nuevo firmware, esto ya no es así. Hay un «motor» completamente controlador y planificador que gestiona 3 ejes al mismo tiempo, incluyendo rampas de aceleración. Esto nos permite controlar las velocidades y aceleraciones de todos los motores de forma dinámica en tiempo de ejecución. Además, hemos cambiado la forma en que los controladores TMC2130 realizan el homing (ahora medimos la longitud de los ejes), lo que también ayuda a que la unidad sea más silenciosa y fiable.

Hay más cosas detrás del firmware MMU3, pero son aún más frikis que lo que se acaba de explicar. Quizás en otra ocasión 🙂

Impresiones en color con menos residuos y más comodidad

Así pues, esto resume el estado actual de la MMU3. La unidad está disponible para todos los modelos de impresoras compatibles, funciona excepcionalmente bien y puedes conseguir unos resultados realmente impresionantes con las mínimas molestias.

Estamos masticando a través de la acumulación de pedidos MMU3 más rápido de lo que esperábamos, así que si no tienes tu unidad todavía, va a estar de camino muy pronto. Y si ya imprimes con varios filamentos, ¡comparte tus impresiones! Estamos deseando verlas.

¡Felices impresiones!

 

Enlaces de los modelos:

https://3dsets.com/product/model-7-buggy/

https://www.printables.com/model/384371-the-frog-prince-multi-and-single-colour-fairytale-

https://www.printables.com/model/748459-articulated-sea-turtle-singlecolor-and-multicolor

https://www.printables.com/model/576954-chibi-wolverine

https://www.printables.com/model/144657-mini-viking

https://www.printables.com/model/379304-astronaut-sitting-on-moon

https://www.printables.com/model/138600-cat-sculpt-with-mmu-painting

https://www.printables.com/model/563626-lola-bunny-space-jam

https://cults3d.com/en/3d-model/art/kingfisher-mmu-three-versions