Aller au contenu

Anycubic Kobra 3 Combo

Changer de filament pour imprimer un objet en plusieurs couleurs


Messages recommandés

Bonjour,

Je me suis demandé s'il y avait moyen de pauser l'impressio pour changer la couleur du filament au cours de l'impression ou pour intégrer une pièce en métal, un écrou p.ex., et je suis tombé sur le code M600.

Etant donné que mon imprimante Creality Ender 3 Pro ignore le code M600 (il y a des versions qui sont capables de l'exécuter), prévu pour changer le filament, j'ai une routine qui pause l'impression à une hauteur saisie manuellement dans le code, et en principe cela fonctionne très bien, en principe:

Lorsque la hauteur à partir de laquelle l'impression doit continuer avec une autre couleur est atteinte, la tête d'impression monte à la position relative (G91) Z50, donc 50mm au-dessus de la première couche à imprimer avec la 2e couleur, le filament est rétracté (G1 F1800 E+valeur négative...) et l'imprimante émet des bips (M300...) et elle se met en pause (M0) jusqu'à ce qu'on appuie sur le bouton rotatif.

Le moment est alors venu de retirer le filament complètement et d'introduire le nouveau qui est transporté jusqu'à la tête d'impression (G1 F1800 E+valeur positive), et là réside le hic: je n'ai pas résussi à introduire le nouveau filament dans la canule sans bouger la tête vers le bas, avec la conséquence fâcheuse qu'elle descend trop bas (la distance sur laquelle je l'ai poussée vers le bas +50mm).

Comme le même problème est survenu à chaque essai (il est assez difficile d'introduire le filament dans la petite canule et la tête se déplace sans beaucoup d'efforts vers le bas), je me suis mis à la recherche d'une solution pour que l'imprimante vérifie sa position actuelle, et la corrige le cas échéant, si elle a bougé, avant la commande Z-50 qui la ramèene au niveau où l'impression doit continuer.

J'avais d'abord pensé, mais c'était une mauvaise piste, que monter à la position Z50 absolue (G90) au lieu de laposition Z50 relative (G91), était la solution, mais si elle redescend de 50mm de Z50 absolu elle est à Z0!

Il faudrait donc trouver un moyen pour que la hauteur imprimée avec la première couleur (2,2mm dans mes essais) soit retranchée de la position absolue Z50 mais je crains que ce ne soit pas possible.

Quelqu'un parmi vous voit-il une solution?

Bien à vous

Pro Ape

Lien vers le commentaire
Partager sur d’autres sites

oui de qu'elle imprimante parlez-vous  ? car la Creality Ender3 ne fonctionne pas avec le M600. hélas
Peut -être réaliser une bague de serrage mobile placée sur l'axe pour éviter qu'il descende !!!
la pièce en forme de U avec une vis d'ablocage à enlever après la mise en place du nouveau filament. Cette idée est grossière mais peut répondre au besoin.
J'ai fait des essais avec ma GEEETECH A20 et elle accepte le M600.
Nota toutes les imprimantes selon les firmwares n'acceptent pas le M600 dommage 😉

Lien vers le commentaire
Partager sur d’autres sites

Le souci est que ton imprimante sera forcément perdue si tu bouges la tête manuellement.
Comme ce n'est pas un mouvement à son initiative, elle conservera la valeur d'avant ce mouvement.
Donc que tu parles en relatif ou en absolu, la valeur connue par l'imprimante sera fausse.
Le seul moyen à mon avis, serait de réinitialiser la valeur de Z, et d'utiliser la couche d'arrêt comme hauteur de départ.
En gros elle refait un "home" en dehors de la pièce pour réinitialiser la bonne hauteur, puis elle remonte à la valeur de ta dernière couche +1 couche pour continuer.
En plus il faudrait aussi mémoriser les emplacements X et Y pour ramener la tête au bon endroit.
Mais je ne sais pas si c'est possible ou alors à le faire manuellement dans le gcode.

Ceci étant, comme le mentionne @vap38 toutes les imprimantes ne gèrent pas le G600.
Il me semble que dans ce cas le bouton pour accepter la reprise de l'impression ne fonctionne pas (pas de réaction de l'imprimante) et que tu ne peux donc pas lui ordonner de reprendre l'impression. Donc voir avant tout si ton imprimante le gère correctement.

J'imagine que ton imprimante est une direct drive pour que tu ai le souci d'appuyer sur la tête, car je n'ai pas ce souci avec la mienne en Bowden, puisque mes efforts pour pousser le filament se font sur l'extrudeur qui est solidement fixé au chassis ! 😉  Ouffff ... au moins un petit avantage pour le bowden !

Sinon il y a une solution plus marrante : souvent les slicers sont capables d'estimer la longueur de filament utilisé. Donc tu fais estimer chacune des couleurs, tu coupes les morceaux dont tu as besoin, puis tu les assembles pour ne faire d'un seul filament (il existe un petit outils pour faire ça propre) : et hop, une impression multi-couleurs en 1 seul fois !

Lien vers le commentaire
Partager sur d’autres sites

@Titouvol sauf que si les dents mangent fortement le filament à la jonction la séparation peut se faire et le pire serait d'avoir une rétraction a ce niveau du coup là tu augmentes tes chances que la jonction cède définitivement ^^

Lien vers le commentaire
Partager sur d’autres sites

Les rares fois ou j'ai essayé je n'ai pas eu le souci.
@Idealnight Tu as eu des cas ou la soudure a lâché ?
C'est vrai que ce n'est peut être pas ideal si tu as beaucoup de rétractions ...
Mais si c'est plutôt des murs ou des surfaces plates ... ça doit passer crème ! 😉

Lien vers le commentaire
Partager sur d’autres sites

@Titouvol J'avais essayé à une époque alors peut-être que ma soudure entre les fils n'étaient pas bonne, peut-être que ma vitesse d'impression était trop élevée et peut-être que mes rétractions étaient trop nombreuses...

J'avais trop de peut-être et donc après 2/3 essais j'ai laissé tomber lol 🙂 (je ne suis pas très patient 😋)

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis absolument pas patient non plus, mais ayant l'imprimante à côté de moi je suis obligé d'imprimer relativement lentement pour qu'elle reste assez discrète (sinon elle passerait par le fenêtre). Alors peut être que ça a aidé pour mes tests.

Modifié (le) par Titouvol
  • Haha 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour les nombreuses réponses!

Le problème n'est pas le M600, puisque j'ai une routine pour le "simuler", mais le fait que je n'arrive pas à enfiler le filament sans que l'axe ne bouge.

J'avais aussi pensé déjà à fabriquer un truc pour la bloquer, mais comme elle travaille avec des couches minimes je crains qu'il soit inévitable de bouger la tête un minimum, la hauteur d'ûne couche ou plus.

Il y a 3 heures, Titouvol a dit :

Le seul moyen à mon avis, serait de réinitialiser la valeur de Z, et d'utiliser la couche d'arrêt comme hauteur de départ.

Impossible puisque l'imprimante ne sait faire rien d'autre que d'attendre l'ordre de continuer après le changement du filament (ou l'intégration d'un objet comme un écrou).

A moins qu'on ne puisse le faire dans le GCode.

Relier différentes couleurs de filaments me semble plutôt impraticable puisqu'il ne sera pas possible de faire démarrer l'impression avec le 2e filament au bon endroit. En plus le slicer donne seulement la longueur du filament pour l'objet entier.

Donc pas de solution idéale en vue. Il me semble que toute solution mécanique est vouée à l'échec, manque de précision suffisante.

La seule solution serait d'amener le code à vérifier et à corriger la position de Z avant de continuer l'impression. Mais est-ce possible? Comment?

Dommage qu'il n'est pas possible, à mon su, d'intégrer de simples opérations arithmétiques!

Bien à vous

Pro Ape

Lien vers le commentaire
Partager sur d’autres sites

Les couches sont trop fines pour que des cales fonctionnent correctement.
Un décalage de 0.1 ou 0.2mm c'est ridicule, mais suffisant pour faire échouer la reprise de l'impression.

Je pensais effectivement à voir pour modifier manuellement le GCODE.
Genre ajouter des lignes :
Tout d'abord il faut récupérer les valeurs de X, Y (Z correspondra à la couche ou on insert les lignes).

Envoyer la tête en x=0 et y=0 (avant de toucher à Z pour ne plus être au dessus de la pièce).
Faire un home de Z (prévoir la place lors du tranchage pour que la tête et l'axe X puissent descendre sans toucher la piece).
Faire une pause
Changer le filament
Refaire un home de Z
Remonter à la hauteur de Z
Renvoyer la tête aux valeurs de X et Y notées.
Reprendre l'impression.

Trouver la bonne couche n'est pas insurmontable, mais je ne sais pas si c'est si évident d'avoir les valeurs absolues de X, Y.

Lien vers le commentaire
Partager sur d’autres sites

@ProApe 

Il me semble que le plus facile est d'activer le M600 dans ton firmware....    A moins que ta Ender 3 Pro soit équipée d'une carte mere 8 bits,  il serait beaucoup plus simple de flasher ton imprimante avec un firmware dont le M600 aura été activé !

Non ??

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Titouvol a dit :

Les couches sont trop fines pour que des cales fonctionnent correctement.
Un décalage de 0.1 ou 0.2mm c'est ridicule, mais suffisant pour faire échouer la reprise de l'impression.

C'est ce que je voulais dire.

Ce que tu écris concernant le GCode me semble intéressant, mais comment le réaliser?

Citation

Il me semble que le plus facile est d'activer le M600 dans ton firmware....    A moins que ta Ender 3 Pro soit équipée d'une carte mere 8 bits,  il serait beaucoup plus simple de flasher ton imprimante avec un firmware dont le M600 aura été activé !

Ce n'est pas possible dans mon imprimante.

Et je ne comprends pas la différence avec ma routine qui fait la même chose, mais je dois dire que je ne connais pas l'envergure du M600; cela ferait seulement une différence si la tête était garée pendant la pause à Z0.

Par contre, en réfléchissant bien... prenons le machin que je voulais imprimer en 2 couleurs: le changement de couleur se fait à Z2.2 absolu. Lorsque l'impression de la couche Z2.0 absolu est terminée la tête passe à la hauteur Z2.2 absolu, le filament est rétracté, et la tête monte à la hauteur relative Z5.0 correspondant donc à la position absolue Z5.2.

Je change donc le filament et par malheur la tête bouge à nouveau vers le bas. Pour corriger cela j'ai ajouté G1 Z50 en mode absolu juste avant le code qui fait redescendre la tête à Z2.2. Si cela fonctionne (je n'ai pas encore su le vérifier) la tête va donc remonter à Z50 absolu. Donc, pour qu'elle redescende à Z2.2 absolu, je dois modifier le Z-50 relatif en Z47.8 absolu et je devrais atterrir à la bonne hauteur.

Si mon raisonnement est exact et que cela peut fonctionner comme ça je dois faire ce petit calcul pour chaque impression à 2 ou plusieurs couleurs.

J'entrevois une autre possibilité: lorsque la tête est montée à Z50 relatif elle est garée en même temps sur les deux autres axes: G1 X5 Y5 et je pourrais donc la descendre à Z0 absolu avec G90 G1 Z0 pour changer le filament, et je remonte à Z2.2 absolu moyennant le code G90 G1 Z2.2.

Compliqué tout ça, mais intéressant!

Bien à vous

Pro Ape

 

Il y a 1 heure, Titouvol a dit :

Tout d'abord il faut récupérer les valeurs de X, Y (Z correspondra à la couche ou on insert les lignes).

Dans ma routine qui remplace M600, les axes X et Y sont déplacées avec G90 X5 Y5 et comme dans cette routine il n'y a pas un autre code qui la ramène à la position XY initiale -cette routine n'a pas coulé de ma propre plume- il ne semble donc pas nécessaire de devoir connaître cette position, le code "normal" doit reprendre le déplacement au bon endroit

 
Lien vers le commentaire
Partager sur d’autres sites

Tout est possible avec la ender 3 même si parfois y'a des contraintes ^^.

J'ai une carte 8 bits et si c'est le cas pour toi aussi c'est complexe en gros si t'as un bltouch se sera très difficile pour y arriver. Sans bltouch il faut voir la taille demander par le M600 🙂.

Donc si vraiment tu ne trouves pas la solution mais que tu y tiens on peut regarder en changeant le firmware 😉 

Modifié (le) par Idealnight
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

je fait du multicouleur avec mon anet A8 qui est en direct drive

je prépare tout simplement mes fichiers pour les imprimer les uns à la suite des autres en mettant un  Zofffset de démarage dans cura pour chaque couleur d!fferente

ou

si c'est sur la meme couche, un zoffset sur les parties creuse que j'ai préalablement préparées

entre chaque fichier, j'ai tout le temps que je veux pour changer le filament et bouger tous les axes si nécéssaire

Lien vers le commentaire
Partager sur d’autres sites

il y a 25 minutes, Patrick76 a dit :

je prépare tout simplement mes fichiers pour les imprimer les uns à la suite des autres en mettant un  Zofffset de démarage dans cura pour chaque couleur d!fferente

ou

si c'est sur la meme couche, un zoffset sur les parties creuse que j'ai préalablement préparées

astucieux!

direct drive, ça signifie quoi exactement?

Lien vers le commentaire
Partager sur d’autres sites

C'est quand l'extrudeur et son moteur sont directement sur la tête d'impression et bon fixés sur la bâti et reliés à la tête d'impression par un tube PTFE (tube Bowden).

Modifié (le) par Titouvol
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, ProApe a dit :

Ce n'est pas possible dans mon imprimante.

Comme le mentionne @Idealnight, c'est tres possible, à moins que tu ait une carte 8 bits...     Ma Ender 3 Pro avait une carte 4.2.2 (32 bits), je l'ai changé pour la 4.2.7 (pour avoir les drivers silencieux), et j'ai activé le M600 (et quelques autres bricoles), et je peux te dire que c'est le bonheur....

Vérifie quelle carte mere tu as, et on pourra te confirmer le tout !!!

Voici une de mes dernieres impressions (qui a demandé 5 x M600):

1257584125_PawPatrol.thumb.jpg.d9d1c441e721d1ce2f8a9d84aff19279.jpg

Lien vers le commentaire
Partager sur d’autres sites

@ProApe

Quand l'imprimante rencontre le code M600 dans le fichier a imprimer, l'impression s'arrête, la tête est positionnée au X0 Y0 et le filament est retiré de la buse.  Apres avoir inséré le nouveau filament jusqu'à l'extrudeur, l'imprimante avance le filament pour purger la buse, et redémarre l'impression à l'endroit exacte ou elle s'était arrêtée.    Même si il s'écoule un long laps de temps entre le retrait du filament, et l'insertion du nouveau, l'imprimante demeure en stand-by, gardant le bed à la température demandée (pour éviter le décollement de la piece) et redémarre la chauffe de la buse si celle-ci a eu le temps de refroidir....

 

😉

Lien vers le commentaire
Partager sur d’autres sites

Bsr, j'ai eu ce problème de hauteur de tête (en voulant imprimer des cartes de visite en 2 couleurs ...)

j'ai noté cela dans mes notes

Citation

si en Z on n'est pas bcp descendu , on n'a pas la place de purger la buse
Modifier le Gcode pour ajouter le Z dans M600
M600 [B<beeps>] [E<pos>] [L<pos>] [T<index>] [U<pos>] [X<pos>] [Y<pos>] [Z<pos>]
https://marlinfw.org/docs/gcode/M600.html

Lien vers le commentaire
Partager sur d’autres sites

Mon astuce a fonctionné sauf que...

...le filament n'est pas sorti à Z0

...il a imprimé trop bas bien que j'aie fait monter la tête à 2.2mm, de sorte qu'il a gratté dans les couches déjà imprimées. Voir les stries sur la photo

Conclusion: je dois garer Z à>0 pour introduire le filament et trouver la raison pourquoi il a continué l'impression à un niveau trop bas

20211129_211258.jpg

Pourquoi ce code ne fait-il pas continuer l'impression à 2.4 mm mais bien plus bas?

G90
G1 Z50 
G1 X5 Y5
G91 ; Relative mode
G1 F1800 E-200
G1 F1800 E-200
G1 F1800 E-300
G90

M300 S440 P200
M300 S660 P250
M300 S880 P300

M0 Changement du filament

G91
G1 F1800 E200
G1 F1800 E200
G1 F1800 E70

G90 ; Absolute mode

M0 Changement Ok 
G1 Z2.4
Modifié (le) par ProApe
Lien vers le commentaire
Partager sur d’autres sites

Théoriquement j'ai trouvé la solution, en ne travaillant qu'avec des références absolues et en homant le Z après le changement de filament, pour être sûr que la machine a la bonne position de Z.

Hélas, dans la pratique, l'impression continue bien à la bonne hauteur, mais il n'y a pas de filament qui sort et je constate que les 2 petites roues qui le transportent ne bougent pas normalement mais très peu. La raison n'est pas une buse bouchée puisque, lorsque je démarre une nouvelle impression, le filament sort normalement et je vois les roues tourner normalement.

En annexe le code avec le début de la suite du code "normal".

Ce qui me frappe, dans le contexte de la recherche de la raison de la non-extrusion du 2e filament: à la première ligne de la suite du code normal le filament est d'abord rétracté:

G1 E-5.00000 F3600.000

alors que je ne trouve pas cela aux autres changements de couche.

Normalement cela ne doit pas faire partie de la routine de contournement de M600 mais bien du code original.

D'ailleurs, j'ai découvert qu'en pausant l'impression par le menu les axes peuvent toujours être bougés, ce qui ouvrirait la possibilité de procéder de cette sorte pour changer de filament (ou intégrer un objet) en faisant monter l'axe par le menu. Retrouver la bonne position de Z n'est pas un problème, il suffit de noter la position avant de monter la tête. Et même si l'axe arrivait à descendre pendant le changement on arrive à la faire redescendre à la bonne position.

Le seul hic: il faut ou bien déclencher la pause au bon moment par le menu ou bien insérer au bon endroit dans le code une commande déclenchant une pause, sous condition que la possibilité de faire bouger les axes moyennant le menu soit conservée (si une telle commande existe). Les M0 de ma routine n'offrent pas cette possibilité: elles font continuer l'exécution du code dés qu'on touche au bouton.

Bien à vous

ProApe

Routine remplaçant M600.docx

Modifié (le) par ProApe
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ce ne serait pas plus simple de forcer une fin de filament au moment voulu en déconnectant le capteur ? cela aurait pour effet de mettre l'imprimante en attente du remplacement et, une fois fait, elle redémarrait l'impression la ou elle s'est arrêtée ? 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...