AMS : Quels filaments ?

De nombreuses imprimantes sont maintenant disponibles avec un combo AMS (Automatic Material System), qui permet des impressions multi-couleurs.

Le principe est simple : vous mettez plusieurs bobines et dans le slicer, vous indiquez quel bobine utiliser pour telle ou telle pièce ou partie de pièce.

Je ne parlerais pas ici du processus d’impression couleur, mais plutôt des fonctionnalités offertes par ce type de boitier.

En dehors du fait que ces boitiers intègrent généralement un système de séchage des filaments, certains d’entres-eux permettent l’identification du filament (matière, couleur, températures d’utilisations, quantité restante de filament, …). Ces informations sont directement transmises au slicer, ce qui permet une configuration adaptée à l’impression.
Pour réaliser cette opération, le boitier va être capable de lire les informations stockées sur une puce RFID placée sur la bobine elle-même.

Malheureusement, à ce jour, il n’y a pas eu de normalisation concernant le système de codage. Résultat : une bonine équipée de puces RFID de la marque A ne sera pas nécessairement utilisable sur une imprimante de marque B !

Possesseur d’une Kobra 3 de chez Anycubic, seules les bobines Anycubic sont à ce jour compatibles.  Le prix de ces bobines (compter environ 24 € le kilo pour du PLA+) est largement supérieur à ce que l’on peut trouver (généralement autour de 13€ le kilo).

Heureusement, une alternative existe : programmer ses propres puces RFID et les coller sur n’importe quelle bobine de filament.

De quoi avons-nous besoin ?

Tout d’abord, il faut des tags NFC. Les modèles reconnus par le ACE Anycubic sont les « MIFARE Ultralight C », les « NTAG216 » et les « NTAG215 ». C’est le genre de composant que vous allez facilement trouver sur Amazon par exemple (moins de 10 € les 50 pièces).
Il vous faudra aussi un moyen de les lire et les écrire. Nativement, de nombreux smartphone Android ont cette fonction. Il existe aussi la possibilité de bâtir une solution autour d’un Arduino et d’un module RFID.

Un peu de technique

Dans la mesure où il existe des applications spécifiques pour programmer les puces pour le ACE Anycubic, ce paragraphe n’est pas nécessaire. Mais il est quand même interressant de savoir ce que va contenir la puce RFID.

Une puce RFID ou NFC est une puce informatique couplée à une antenne lui permettant d’être activée à distance par un lecteur et de communiquer avec ce dernier. La grande majorité des puces RFID ou NFC ne disposent pas d’alimentation en énergie. Ce type de puces est alimenté à partir du lecteur par l’intermédiaire de l’antenne de la puce : le lecteur envoie un signal électromagnétique à la puce, ce qui la  » réveille  » et lui fournit assez d’énergie pour communiquer avec le lecteur concerné. La radio-identification, le plus souvent désignée par le sigle RFID , est une méthode pour mémoriser et récupérer des données à distance en utilisant des marqueurs appelés « radio-étiquettes » (« RFID tag » ou « RFID transponder » en anglais).
C’est une technologie d’identification automatique (sans contact) qui utilise le rayonnement radiofréquence pour identifier les objets porteurs d’étiquettes lorsqu’ils passent à proximité d’un interrogateur. Elle permet une détection automatique avec des distances de lecture de 10 à 200 m selon le type de puces.
Dans notre cas, nous utilisons des tags NFC (Near Field Communication).
C’est aussi une technologie de communication sans fil. Le NFC est une version plus évoluée de la RFID. Les puces RFID peuvent juste être lues, les puces NFC
permettent vraiment d’échanger des données. Le NFC est une technologie permettant d’échanger des données à moins de 10cm, entre deux appareils
équipés de ce dispositif. Le NFC est intégré à la plupart de nos terminaux mobiles sous forme de puce, ainsi que sur certaines cartes de transport ou de paiement maintenant.

Le tag est généralement organisé en « pages » contenant chacune un certain nombre de « bytes ». Dans le cas du ACE Anycubic, chaque page est constituée de 4 bytes, structurées de la manière suivante :

Page Content Format
4 Version marker [0x7B, 0x00, 0x65, 0x00] (0x65 = v2)
5-7 SKU 12 bytes, null-padded ASCII
8 Unused [0x00, 0x00, 0x00, 0x00]
10 Manufacturer 4 bytes ASCII (e.g., « AC » for Anycubic)
15 Material type 4 bytes ASCII (e.g., « PLA », « PETG »)
20 Color ARGB format [Alpha, Red, Green, Blue]
24 Extruder temps [min_lo, min_hi, max_lo, max_hi] (16-bit LE)
29 Bed temps [min_lo, min_hi, max_lo, max_hi] (16-bit LE)
30 Diameter & length [diam_lo, diam_hi, len_lo, len_hi]
31 Weight [weight_lo, weight_hi, 0x00, 0x00] (grams)

La principale difficulté reste que ces informations ne sont pas documentées « officiellement » par Anycubic. Le tableau ci-dessous est donc une compilation d’informations trouvées sur différents Forum.

En pratique, voici ce que l’on peut obtenir en lisant une puce officielle Anycubic placée sur une bobine de la marque (PLA Tropical Turquoise) :

Page Content Format En clair
4 Version marker [0x7B, 0x00, 0x64, 0x00] (0x64 = v1)
5-7 SKU [0x48, 0x50, 0x4C, 0x31]
[0x38, 0x2D, 0x31, 0x30]
[0x32, 0x00, 0x00, 0x00]
8 Unused [0x00, 0x00, 0x00, 0x00]
10 Manufacturer [0x00, 0x00, 0x00, 0x00] Non renseigné
15 Material type [0x50, 0x4C, 0x41, 0x00] PLA
20 Color [0xFF, 0xBD, 0x9C, 0x00]
24 Extruder temps [0xC8, 0x00, 0xD2, 0x00] min : 200°C
max : 210°C
29 Bed temps [0x32, 0x00, 0x3C, 0x00] min : 50°C
max : 60 °C
30 Diameter & length [0xAF, 0x00, 0x4A, 0x01] Diametre : 175
Longueur : 330
31 Weight [0xE8, 0x03, 0x00, 0x00] Poids : 1000

Les informations lues sont donc cohérentes avec le descriptif donné dans le premier tableau.

Remarque :

A l’usage, je n’ai pas l’impression que les informations de températures et suivantes soient traitées par le slicer ou même l’imprimante.

Dans la pratique

Maintenant que nous maitrisons les données et leur emplacement, il suffit de les écrire dans le NTAG. Et plutôt que de me lanceer dans la programmation, je suis d’abord aller faire une petite recherche sur la toile, et je suis tombé sur exactement ce qu’il me fallait sur ce github :

https://github.com/DnG-Crafts/ACE-RFID?tab=readme-ov-file

Vous y trouverez une application Androïd, une application Arduino et une application Windows.

L’applicaion Androïd va par exemple se présenter de la façon suivante.

Il suffit de sélectionner la type de filament, le poids, la couleur, de détection le NTAG et décrire dedans. A noter que les couleurs peuvent être séelctionnées de différentes manière, ce qui est très pratique.
Pour les autres paramètres, il s’agit des valeurs standard visiblement déjà présentes dans le slicer Anycubic.

Il est aussi possible de formater un NTAG, d’afficher les valeurs par page et de paramétrer les valeurs par défaut :

Un outil donc utilisable clé en main, afin de programmer les NTAG et ainsi identifier n’importe quelle bobine.

La mise en place

Il suffit de coller les NTag programmés sur les 2 côtés de la bobine, environ à 1 cm du bord extérieur, et si possible face à face.
Il est bien important de coller un NTag sur chaque face. En effet, les lecteurs sont positionnés dans les 2 séparation bobines qui se trouvent à l’intérieur du boitier. Selon l’emplacement de la bobine, la lecture sera donc réalisée à gauche ou à droite de la bobine.

En conclusion

Même si l’absence de puce sur les bobines n’est pas bloquant car il est possible de définir manuellement les caractéristiques principales depuis l’écran de l’imprimante, c’est un grand confort d’avoir cette information automatiquement.

C’est tout !

 

 

 

Translate »