Fin mars 2024, nous avons commencé à expédier le MMU3 pour l’Original Prusa MK4 (et la MK3.9). Cela a également marqué la fin d’une longue période de tests en interne au cours de laquelle le MMU3 s’est avéré résister à des milliers et des milliers de changements de filament sur la MK4. La version MK3S+ est disponible depuis juillet 2023 et continue de fonctionner à merveille.

À l’heure actuelle, le MMU3 pour toutes les imprimantes prises en charge est disponible, la plupart des versions sont en stock et nous réduisons chaque jour les délais de livraison de la variante MK4 (voir le tableau d’expédition pour plus de détails). Nous sommes heureux de constater que de nombreuses impressions ambitieuses apparaissent constamment sur Reddit – des impressions de plus de 150 heures sans une seule intervention ne sont pas rares de nos jours. 🙂

Avant de nous lancer, tous les liens vers les modèles se trouvent à la fin de l’article !

MMU3 – rapide et efficace

Il y a plusieurs raisons pour lesquelles nous restons fidèles au même concept d’unité multi-matériaux.

Tout d’abord, c’est un mécanisme incroyablement simple – vous pouvez facilement construire l’unité entière à la maison (ou mettre à niveau la version précédente), la maintenance est un jeu d’enfant car vous pouvez accéder rapidement à l’intérieur de l’unité et nettoyer les débris de plastique, etc. À cette fin, nous avons amélioré plusieurs pièces de l’unité, de sorte que vous pouvez désormais, par exemple, régler son inclinaison en deux étapes pour un accès plus pratique. Cependant, de manière générale, la plupart des pièces ont été redessinées et renforcées par des pièces métalliques. Nous voudrions remercier la communauté de l’impression 3D pour nous avoir orienté dans la bonne direction avec de précieux retours et des modifications utilisateur – consultez notre article précédent pour en savoir plus sur les changements matériels !

Le design du MMU3 permet également des changements de filament très rapides – ils durent en moyenne entre 35 et 45 secondes selon les valeurs de purge définies dans PrusaSlicer. Avec facilement des milliers de changements de filament au cours d’une seule impression multi-matériaux, cela permet de gagner un temps considérable sur la tâche d’impression et la seule solution plus rapide est la XL.

L’unité MMU3 permet également l’impression multi-matériaux avec des déchets limités. Au lieu de couper et d’éjecter des quantités excessives de filament, le MMU3 utilise une tour de déchets compacte et semi-creuse. La taille de la tour de nettoyage peut être encore réduite en utilisant les options de nettoyage dans l’objet ou de nettoyage dans le remplissage qui purgent les restes de matériau de la buse – dans tous les cas, vous n’avez pas à vous soucier des morceaux de plastique qui s’empilent à côté de votre imprimante.

Ainsi, même si l’unité peut ressembler à son prédécesseur, l’expérience est très différente, également grâce à un firmware entièrement retravaillé – nous avons décidé de partager ci-dessous l’intégralité du processus de développement de la nouvelle version au cas où vous ne me croyez pas. 😉 Avec une communication bidirectionnelle complète entre les deux cartes, il est beaucoup plus facile de configurer et d’exécuter des impressions multi-matériaux. L’écran tactile couleur de la MK3.5/MK4 vous offre des options supplémentaires, telles que la possibilité de ré-attribuer rapidement les filaments ou de configurer la fonctionnalité SpoolJoin pour épuiser les restes de filaments des bobines de filament presque vides.

Enfin et surtout, nous avons décidé de conserver un design similaire à celui du MMU2S. Ainsi, si vous souhaitez mettre à niveau votre ancienne unité, c’est facile et peu coûteux à faire. Et vous pouvez bien sûr flasher le firmware du MMU3 sur votre unité MMU2S pour améliorer ses performances sans remplacer aucune pièce.

MMU3 pour la MK4

Maintenant, la question évidente est : pourquoi a-t-il fallu plus de temps pour sortir le MMU3 pour la MK4 alors que les autres versions sont sorties depuis mi-2023 ?

Nous en avons largement parlé dans nos articles de blog, donc brièvement : nous avions un MMU3 entièrement fonctionnel pour la MK4, prêt à être expédié vers avril 2023 et nous attendions que notre capacité de production se libère un peu – la MMU3 était donc prévue pour juin 2023. Cependant, lorsque l’été s’est rapproché et les températures ont commencé à monter, nous avons constaté une baisse brutale de sa fiabilité (MMU3+MK4). Pourquoi la MK3S+ a-t-elle fonctionné sans problème et la MK4 a-t-elle eu du mal ? La cause réside dans les différents systèmes d’extrusion et de hotend. Jusque-là, nous avions un combo qui fonctionnait parfaitement et tout à coup, nous étions de retour à la case départ.

Nous avons donc mis en place une ferme de tests et avons immédiatement commencé à développer une solution. Comme nous l’avons décrit précédemment, avec le MMU, vous tendez vers des impressions qui prennent facilement plus de 30 heures d’impression, ce qui rend tout type de test plus long.

La cause du problème était cachée dans les pointes du filament – une fois que vous déchargez un filament de l’extrudeur, la pointe doit être absolument parfaite. Cependant, dans notre cas, les filaments déchargés avaient souvent une longue et fine mèche de plastique à l’extrémité, ce qui causait des problèmes dans le Nextruder, de conception étroite. Nous l’avons largement décrit dans nos mises à jour précédentes (octobre 2023 et janvier 2024).

Un cas extrême de formation de cheveux d’ange de filament sur la pointe

Nous avons terminé la dernière en déclarant que la plupart des problèmes sur la MK4 sont causés par le fait que le filament ne passe pas correctement à travers l’extrudeur et dans le guide de filament. Cela m’amène à…

La plaque principale du Nextruder

Pour que le (dé)chargement fréquent du filament atteigne le niveau de fiabilité requis, nous avons dû ajuster la partie pièce « Plaque Principale » (Main Plate) du Nextruder et c’est pourquoi elle est également incluse dans l’emballage du MMU3. Nous avons également repensé le processus de déchargement des filaments, le rendant plus efficace et beaucoup plus rapide !

Lorsque vous utilisez la MK4 de la manière habituelle et même changez de filament plusieurs fois par jour, la pièce Plaque Principale ne montrera pratiquement aucun signe d’usure, même après une période prolongée. Cependant, les impressions multi-couleurs peuvent facilement engendrer des milliers de changements de filament au cours d’une seule impression – sans le MMU, il vous faudrait probablement de très nombreuses années d’impressions fréquentes pour arriver à ce nombre de changements de filament. Avec autant de changements de filament lors des impressions multi-matériaux, la Plaque Principale peut montrer des signes d’usure en fonction de l’intensite d’utilisation du MMU.

La pièce que nous incluons avec le MMU a été imprimée via Multi Jet Fusion pour la rendre plus durable. Cependant, elle doit quand même être traitée comme un consommable car elle s’usera avec le temps. L’imprimante garde une trace des changements de filament et vous avertira lorsque la durée de vie prévue de cette pièce approche de la fin, ou si la procédure de chargement du filament est devenue moins fiable en raison d’une usure excessive. D’après nos tests internes, la pièce MJF dure environ 80 000 changements de filament puis doit être remplacér (cela prend environ 10 minutes pour la remplacer). Nous avons testé cette pièce de manière approfondie en interne et si vous rencontrez des problèmes plus tôt que prévu, cela est probablement dû à autre chose. N’hésitez pas à contacter notre équipe support pour obtenir de l’aide.

Comme solution à court terme, vous pouvez imprimer la pièce en PETG – le fichier STL est disponible sur Printables.com. Cependant, la durée de vie sera sensiblement plus courte.

En route vers le MMU3

Fin 2021/début 2022, notre responsable du firmware, David, a commencé à dresser une liste de fonctionnalités pour un nouveau firmware MMU2S. À l’origine, le seul objectif était d’afficher des messages d’état appropriés sur l’écran de l’imprimante, si le MMU rencontrait un problème. À partir de là, cela a évolué vers un tout nouveau projet visant à ajouter une communication bidirectionnelle complète, des messages d’état appropriés et de nombreuses autres fonctionnalités pour rendre l’unité beaucoup moins sujette aux problèmes liés à l’assemblage. Nous avons réalisé que l’assemblage du MMU demandait beaucoup trop de patience pour s’assurer que tout était PARFAITEMENT aligné. Cela n’a jamais été un problème avec nos imprimantes 3D (comme le disent de nombreuses personnes en ligne, « le kit de montage fonctionne tout simplement »), la situation avec le MMU était donc quelque peu inattendue – et les utilisateurs ont exprimé très fortement leur frustration.

Il n’est généralement pas nécessaire d’aller en ligne et de dire « Tout va bien ». Vous allez en ligne pour rechercher de l’aide au dépannage. Alors que des questions sur le MMU2 et des demandes d’aide commençaient à apparaître, cela a créé le sentiment que le MMU2S ne fonctionnait pas du tout. Cependant, la plupart des utilisateurs n’ont rencontré aucun problème majeur avec l’impression multi-matériaux. De plus, lorsque divers modifications/correctifs communautaires ont commencé à apparaître, ils ont eu plus ou moins de succès – précisément parce qu’il était trop difficile d’assembler le MMU avec une grande précision, de sorte que la cause du problème se trouvait souvent à divers endroits. Nous avons pris ces commentaires très au sérieux. De plus, nous avons contacté tous les propriétaires de MMU2S avec des informations sur la façon dont ils peuvent améliorer leurs unités avec un nouveau firmware et avons proposé des moyens de compenser les problèmes lors de l’assemblage.

Le firmware à la rescousse

Nous avons analysé la situation en profondeur, en passant en revue les publications des utilisateurs sur les réseaux sociaux, les vidéos, les critiques, les modifications et, bien sûr, les rapports de support. À l’origine, nous voulions retravailler le firmware pour le rendre plus convivial, car l’unité utilisait un système simple, mais quelque peu énigmatique, de cinq LED pour communiquer avec l’utilisateur. C’est l’une des choses qui ont contribué à créer la confusion sur les réseaux sociaux. « Oh non, mes première et troisième LED clignotent ! Qu’est-ce que ça veut dire ? » Cela rendait la gestion des problèmes d’impression courants bien trop difficile. Il serait plus logique que l’imprimante puisse vous dire « Quelque chose bloque la rotation de l’idler, veuillez vérifier les points suivants : » au lieu de faire clignoter les LED.

 

Inutile de dire que le firmware du MMU2 a été développé par une petite équipe il y a de nombreuses années et que les choses ont beaucoup changé au sein de l’entreprise au cours des dernières années. Ainsi, David a décidé d’améliorer la base de code existante, mais ce qui semblait au début être une simple mise à jour du firmware s’est avéré être un tout nouveau projet qui a abouti à l’introduction du MMU3. Au lieu de compléter l’ancien code, la base de code existante a disparu et le nouveau firmware est parti de zéro. La refonte totale de la base de code a conduit à une amélioration massive des performances globales – ce qui n’est pas toujours le cas dans le développement de logiciels. 😉

En l’espace de deux mois, la proposition d’une toute nouvelle architecture de firmware a été finalisée. Au départ, nous avons envisagé l’IDE Arduino, mais celui-ci a été abandonné par la suite car il ne nous permettait pas tout ce que nous avions prévu.

Le firmware est construit sur trois couches :

  • HAL – Hardware Abstraction Layer (Couche d’abstraction matérielle) – permet d’accéder aux timers, aux watchdoges, à l’EEPROM, à l’USART et plus encore
  • Modules – abstraction des composants de l’unité – boutons, sond FINDA, Fsensor, Idler, LED, moteur pas à pas complet, stockage permanent, protocoles, poulie, sélecteur, série, synchronisation, USB CDC, entrée utilisateur
  • Logique applicative – logique de fonction, telle que Couper, Éjecter, Accueil, vérification de l’intégrité matérielle, chargement, déchargement du filament et plus encore

L’une des choses qui encombrait le firmware précédent (qui avait ses racines en 2017) était qu’il était écrit sous forme de code synchrone qui excluait fondamentalement toute mise à jour de l’imprimante pendant que le MMU effectuait une action. Avant que le MMU puisse réagir à une nouvelle entrée ou situation, il devait accomplir un certain cycle. De plus, il ne savait pas vraiment ce qui se passait avec l’imprimante. Il ne faisait que recevoir des ordres qui étaient ensuite exécutés. Avec la nouvelle architecture, ce n’est plus le cas. Tout fonctionne comme une machine à états en parallèle tout le temps et l’imprimante et le MMU communiquent toujours entre eux, partageant des informations en temps réel. De cette façon, le système peut résoudre de nombreuses situations qui autrement provoqueraient le message « Le MMU nécessite l’attention de l’utilisateur ». Le chargement du filament a échoué ? Essayons de le charger à nouveau automatiquement. Bien, cela fonctionne maintenant, continuez.

 

Tout cela a été réalisé sur une simple puce ATMega 32U4. Parce qu’il n’est pas viable d’exécuter un système d’exploitation embarqué multitâche en raison de ressources limitées, nous avons dû en créer un nous-mêmes. Bon, il ne s’agit pas de « vrai » multitâche, il s’agit plutôt d’une architecture intelligente qui garantit qu’aucun composant ne pourra jamais bloquer les autres afin que tout continue de fonctionner à tout moment.

Tests unitaires et intégration

David et son équipe ont passé des mois à développer le firmware simplement en utilisant des tests unitaires (tests logiciels purs de petites parties du code) et ils ont toujours vérifié si avr-gcc pouvait compiler le code. Les seules parties des tests physiques ont été réalisées avec une implémentation partielle des composants HAL. Une fois le développement avancé, l’équipe de développement a finalement téléchargé le firmware sur la carte MMU2S – et cela a fonctionné à merveille, prouvant que l’approche de développement menée par les tests est valable dans sa forme pure.

Une partie essentielle du nouveau firmware était la mise en œuvre de messages d’erreur appropriés – cela impliquait également de préparer l’autre côté (l’imprimante) à la communication. Avec deux branches de firmware différentes (MK3S+ avec la carte Einsy et MK4 32 bits avec la carte xBuddy), il y avait du travail supplémentaire à faire.

En fin de compte, nous utilisons ici également des machines à états. L’imprimante est le dispositif de contrôle et le MMU ne répond qu’aux commandes (mais cette fois, il peut également « faire un rapport »). Il est logique que le processeur le plus puissant de l’imprimante contrôle la communication, les requêtes et bien plus encore. Au-dessus de ce protocole de communication se trouve une couche supplémentaire qui connecte le protocole au firmware Marlin. C’est là que nous voulions conserver l’API de haut niveau, mais tout le reste a été abandonné et complètement réécrit.

C’était une quantité de travail incroyable, mais au final, cela en valait la peine. La communication entre les deux appareils se déroule sans problème et l’ensemble de l’expérience est pratiquement transparente.

Et puis l’équipe matérielle a eu quelques idées.

Ajustez-le ici, ajustez-le là…

Nous avons déjà mentionné que les modifications apportées par la communauté étaient un indicateur important qui nous ont aidé à nous concentrer sur des domaines cruciaux.

Alors que le travail sur le nouveau firmware était en cours, notre équipe de développement matériel a examiné l’unité MMU et a décidé d’améliorer quelques pièces ici, quelques pièces là – et finalement, elle a repensé la majorité des composants sauf pour l’électronique. Encore une fois, plus de détails peuvent être trouvés dans l’article de blog précédent.

Pendant ce temps, l’équipe firmware a décidé d’ajouter un composant supplémentaire à la base de code. Un composant plutôt gros : la prise en charge des registres. Ou pour être plus précis : le paramétrage d’exécution du MMU, similaire à un système de registres MODBUS. Il y a même eu une tentative d’utiliser du MODBUS complet, cependant, en raison des ressources limitées de la MK3S+, cela a été abandonné au profit d’une version modifiée du protocole MMU. Il ajoute désormais 35 entrées de registre (1 octet et 2 octets), certaines sont en lecture seule, d’autres en lecture/écriture et certaines sont persistantes dans l’EEPROM. Cela nous donne toute une série de nouvelles options, y compris les nouveaux G-codes M707 et M708 pour lire/écrire les entrées du registre. Cela permet par exemple de configurer la vitesse de chargement du filament avant chaque changement de filament. De plus, chaque imprimante paramètre son MMU au départ, ce qui nous permet de n’avoir qu’un seul firmware MMU pour tous les modèles d’imprimantes pris en charge.

Plus de puissance n’est pas toujours mieux

Lorsque le MMU3 charge du filament dans l’extrudeur, c’est une opération plutôt simple. L’idler tourne, applique une pression sur le fil de filament et le presse contre l’engrenage d’alimentation. L’engrenage commence à tourner, poussant le filament à travers le sélecteur et le tube PTFE dans l’extrudeur.

Notre idée initiale était que nous avions besoin d’autant de pression que possible. Je veux dire – pourquoi pas ? Vous devez pousser le filament à travers le tube PTFE, vous ne voulez pas que le filament glisse ou saute des pas. Mais ce n’est en réalité pas le cas. Le mouvement du filament est contrôlé par les deux capteurs de filament (dans le MMU et dans l’imprimante), donc peu importe si le moteur perd quelques pas. Et il n’est pas non plus nécessaire qu’il fonctionne à pleine puissance.

Cela permet d’éviter de créer des entailles dans le bout de filaments où un entraînement trop puissant raserait le matériau du bout de filaments, l’empêchant d’être poussé vers l’avant par l’engrenage. Si vous avez regardé Top Gear, vous vous souvenez probablement de Jeremy Clarkson criant « POWAAHH « ! lors d’un épuisement massif qui évitait généralement de peu une catastrophe – c’est similaire. Une puissance excessive est inutile lorsque les roues ne peuvent pas transférer le couple sur la route. Moins de courant entrant dans le moteur signifie que si le filament reste coincé quelque part, le moteur ne broyera pas le matériau et ne causera pas plus de problèmes une demi-heure plus tard lorsque cette partie du filament entrera dans l’extrudeur. Lorsque le MMU dépasse la plage/longueur de pas prédéfinie, elle affiche quand même une erreur. Mais le morceau de filament peut être réutilisé (et non jeté).

De plus, contrairement à l’imprimante, l’ancien firmware du MMU ne disposait pas d’un moteur de gestion approprié de moteur pas-à-pas et de planification dédié. Cela rendait l’unité plus bruyante qu’elle ne devrait l’être, et il était presque impossible de contrôler les accélérations autrement qu’en changeant le code. Avec le nouveau firmware, ce n’est plus le cas. Il y a un moteur de gestion de moteur pas à pas et planificateur qui gère 3 axes en même temps, y compris les rampes d’accélération. Cela nous permet de contrôler dynamiquement les vitesses et les accélérations de tous les moteurs pendant l’exécution. De plus, nous avons modifié la façon dont les drivers TMC2130 effectuent la prise d’origine (nous mesurons désormais la longueur des axes), ce qui contribue également à rendre l’unité plus silencieuse et fiable.

Il y a plus de choses derrière le firmware MMU3, mais elles sont encore plus techniques que ce qui vient d’être expliqué. Peut-être une autre fois. 🙂

Des impressions colorées avec moins de déchets et plus de confort

Cela résume donc l’état actuel du MMU3. L’unité est disponible pour tous les modèles d’imprimantes pris en charge, il fonctionne exceptionnellement bien et vous pouvez obtenir des résultats vraiment impressionnants avec un minimum de tracas.

Nous réduisons le carnet de commandes de MMU3 plus rapidement que prévu, donc si vous n’avez pas encore votre unité, elle sera en route très bientôt. Et si vous imprimez déjà avec plusieurs filaments, partagez vos impressions ! Nous avons hâte de les voir !

Bonne impression !

 

Liens des modèles :

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