Doucement mais sûrement, le chapitre intitulé Original Prusa i3 MK3S+ devra un jour se terminer, même si nous ne prévoyons pas d’abandonner le support demain. Quoi qu’il en soit, la série MK3 a connu une longue et merveilleuse carrière. Les premières unités ont été expédiées fin 2017 et nous travaillons depuis sur des mises à jour et des améliorations. Les récentes versions du firmware ont apporté des ajouts importants à une liste déjà longue de fonctionnalités de sécurité, en particulier le système de Protection par Modèle Thermique qui vérifie en permanence si votre imprimante fonctionne comme prévu avec une précision extrême. Nous avions d’excellents systèmes de sécurité en place dès le début, mais il y a toujours de la place pour l’amélioration.

Modèle thermique – Récapitulatif rapide

Le firmware 3.12 pour les MK3/S/+ a apporté une nouvelle fonctionnalité de sécurité appelée Protection par Modèle Thermique, que nous avons abordée dans un article détaillé.

Alors, juste un petit récapitulatif : nous avons introduit cette nouvelle fonctionnalité de protection pour identifier et résoudre rapidement les problèmes de chauffe inattendus sur votre imprimante 3D. L’objectif est d’arrêter le processus de chauffage dans un délai de 10 à 12 secondes pour éviter tout dommage potentiel. Ces problèmes englobent divers facteurs tels que des problèmes de câblage, des blocs de chauffe défectueux, des défauts de thermistance et des variables externes telles que les courants d’air et la formation de blobs d’extrudeur.

Cette fonctionnalité s’appuie sur une simulation interne de la hotend. Le firmware surveille en permanence les lectures de la thermistance pour s’assurer qu’elles suivent un modèle thermique prédéfini. Si des irrégularités sont détectées, l’imprimante répond en quelques secondes en affichant un avertissement « ANOMALIE THERMIQUE », qui disparaît une fois que les lectures reviennent à leurs valeurs attendues dans les 5 secondes. Si l’anomalie persiste, l’imprimante désactivera la chauffe et déclenchera un avertissement sonore pour alerter l’utilisateur.

La question est : que se passe-t-il si votre imprimante 3D est fortement modifiée ?

Collecte des données

Nous avons analysé plus de 150 000 mesures pour créer le modèle thermique pour nos imprimantes 3D MK3S+ d’origine. Fondamentalement, nous avons vérifié les plages de différents paramètres (températures, puissance de sortie, temps) et créé un profil général pouvant être appliqué à toutes nos imprimantes en toute sécurité. Cela signifiait pousser les imprimantes au-delà de leurs limites (oui, il y avait de la fumée). Par exemple,nous avons utilisé un bloc de chauffe personnalisé avec de la place pour 2-3 thermistances, afin que nous puissions brancher une thermistance cassée avec une autre entièrement fonctionnelle et comparer les deux en temps réel.

Cependant, il n’était pas en notre pouvoir de tester chaque modification disponible pour nos imprimantes et préparer chaque modèle thermique. Nos imprimantes sont open source et chacun est libre de les modifier, de les régler et de les hacker comme bon lui semble, mais comme la sécurité et la fiabilité font partie de nos principales priorités, nous avons dû tracer une ligne impopulaire quelque part. C’était le Modèle Thermique.

Peu de temps après la sortie, nous avons commencé à recevoir des rapports de divers utilisateurs. Certains d’entre eux étaient en fait des appels à l’aide lancés par l’imprimante. La Protection par Modèle Thermique dérangeait les utilisateurs simplement parce que les composants de leur imprimante étaient endommagés et devaient être remplacés. Chaque fois que le nouveau système produisait une erreur, c’était grave. Notre recommandation est assez claire à ce sujet : si votre détecteur de fumée commence à vous déranger avec des bips constants, la solution n’est pas de retirer ses piles. Idem avec les nouvelles fonctionnalités de sécurité du firmware. Bien entendu, cela ne signifie pas que le firmware est à 100% à l’épreuve des balles : nous avons déjà identifié et résolu quelques cas inhabituels. Donc, si vous possédez une MK3S+ d’origine et que le système de protection vous pose problème, plutôt que de « retirer les piles d’un détecteur de fumée », veuillez nous contacter et nous serons plus qu’heureux de vous aider.

Ce sont donc les imprimantes d’origine et modifiées par les utilisateurs. Et puis il y a la Revo.

La hotend Revo fabriquée par nos amis d’E3D est une alternative populaire à la hotend d’origine de la MK3S+. Même s’il s’agit d’un excellent matériel, il s’agit toujours d’une modification tierce. Puisque notre équipe était entièrement dédiée à terminer le MMU3, la Revo a du être abordée d’une manière différente. Heureusement, la Revo présente des caractéristiques très homogènes.

Mesure de la Revo

En raison de la capacité limitée de notre équipe de développement, nous nous sommes tournés vers notre communauté pour obtenir de l’aide. De nombreux utilisateurs de GitHub se sont précipités pour nous aider – nos plus grands remerciements vont à alexiri, kroméninja, ulab, JWvP, snafu1282, matthiazzz, sdh2, devejhilton, D-an-W et MarronOut09 juste pour en nommer quelques-uns. Merci à tous ceux qui ont contribué et nous ont aidé à façonner le firmware 3.13, vos contributions sont très appréciées!

Nous avons demandé aux membres de la communauté de mesurer les températures et les ventilateurs dans des conditions spécifiques. La réponse a été incroyable et nous avons pu collecter suffisamment de données assez rapidement. L’une des choses qui a également aidé est le fait que les hotends Revo ont des propriétés homogène sur toute la gamme des hotends fabriquées.

Une fois que nous avons collecté les données de base, nous avons préparé une mise à jour du modèle thermique qui a été distribuée sous forme de firmware expérimental afin de vérifier si nous avions bien fait les choses. Il s’est avéré que c’était un pas dans la bonne direction. Les résultats étaient prometteurs, mais nous avions besoin d’un échantillon plus large. Nous ne pouvions pas collecter suffisamment de données auprès des membres de la communauté et nous ne voulions pas non plus utiliser des valeurs trop génériques (large plage), car cela rendrait le système de protection beaucoup moins fiable.

Pendant ce temps, nous attendions qu’E3D nous livre ses données officielles. E3D avait besoin de vérifier différents lots de ses extrudeurs Revo pour trouver les valeurs limites, afin que nous puissions voir quelle est la plage de divers paramètres. Une fois ces valeurs obtenues, nous avons enfin pu passer à la dernière étape : tout compiler dans le fichier du firmware.

Finalement, nous avons opté pour un ensemble distinct de binaires : il est plus facile de flasher le bon fichier de firmware plutôt que d’ajuster les valeurs dans les paramètres. Et de plus : une fois ces systèmes en place, nous pouvons désormais ajouter facilement vos modèles thermiques – si vous souhaitez ajouter la prise en charge de la protection du modèle thermique pour votre hotend tierce, contactez-nous et nous vous expliquerons.

Plus de contributions de la communauté

Nous avons publié récemment le nouveau firmware 3.13.2-RC1 et il comporte encore plus de contributions communautaires. L’architecture 8 bits est sévèrement limitée (elle ne pourra donc pas exécuter, par exemple, l’Input Shaper et la Pressure Advance), mais c’est toujours génial de voir comment les optimisations de code peuvent économiser de précieux octets. Avec les récentes modifications apportées au code, nous avons pu économiser 6 Ko de mémoire flash interne (même avec le MMU3S et le modèle thermique en place). Cela nous a donné plus d’espace pour les ajouts réalisés par la communauté.

Nous avons implémenté la fonctionnalité Activer/désactiver le capteur de filament proposée par Commode0re et aussi le support du G-code M118 par Robomagus qui permet l’envoi de messages (impression en série) vers des hôtes comme Octoprint ou PrusaLink.

Et enfin et surtout – dans le firmware 3.13.0, nous avons implémenté un support pour Meatpack fourni via des pull requests par scottmudge ! Il s’agit d’un développement passionnant car Meatpack permet essentiellement la compression du G-code avec un ratio d’environ 0,61 avec seulement une petite surcharge de traitement.

Et c’est tout pour aujourd’hui. J’espère que vous avez apprécié un petit aperçu de notre « cuisine » de firmware. Nous ne manquerons pas de vous proposer d’autres journaux de développement dans un avenir proche.