Aller au contenu

Filament ABS

zyban

Suppression de la tour de purge

Messages recommandés

Je viens de voir ceci sur le site FB "Geetech Printer User Club"
https://www.facebook.com/jcasha/videos/10157108202698255/?fref=nf
Est-ce facilement réalisable avec un peu de Marlin 1.1.9?
Comme quelques lignes à ajouter et d'autres à commenter par exemple

Modifié (le) par zyban

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

Ta vidéo n'est visible qu'en étant membre du groupe.

c'est faisable mais ca se configure pas dans Marlin mais dans le sliccer, dans la partie changement d'outils.

Soucis, il faut énormément de place pour stocker la matière extrudée qui prend beaucoup plus d'espace que dans une tour de purge.

cdlt

Partager ce message


Lien à poster
Partager sur d’autres sites
youtube drone débutant

Bonsoir,

Pourquoi veux tu supprimer la tour de purge, elle est essentielle pour l'usage du double extruder et la bonne séparation des couleurs sans mélange !

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @sebydjay

 

J'ai dans un premier temps rejeté l'idée.

Après avoir dormi dessus, je trouve l'idée intéressante. En effet, si on voulait printer un objet avec une seule petite partie en dual extrusion, on pourrait, avec S3D, découper l'objet en process.

La purge, dans le bac, ne serait active que pour les process utiles et le reste se printerait sans purge.

Voyez l'exemple suivant :

 

2054322634_Capturedcran2019-01-2120_55_27.thumb.jpg.599ffca7a1b74a0bd334646f0e96f764.jpg

Les parties basses et hautes se printeraient sans purge, seule celle du milieu cacherait de la matière.

 

cdlt

Modifié (le) par Jcc

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @Jcc

Je fais exactement la même chose sauf que souventefois mes couleurs se mélangent légèrement !

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello Geeetech guys,

Je n'ai pas de compte FB (réfractaire) mais le titre et les posts me font penser que vous parlez d'une solution similaire à ce que j'ai expérimenté récemment.

Possédant une A10M et agacé par la quantité de plastique gaspillé par la tour de purge, surtout quand par exemple seuls qq layers ont une couleur différente et requièrent une purge j'ai ajouté qq lignes de script dans Simplify3D pour aller purger dans un coin du bed à chaque changement de couleur.

Sur le bed j'ai scotché un bout de carton pour que la purge se fasse derrière.

(script à mettre dans scripts/Tool change script):

G1 E-10 F4800; retract nozzle quickly

G1 X50 Y100 F4800; first short move on left to wipe filament

G91;

G1 Z65 F4000; move verticaly

G90;

{IF NEWTOOL=0} G1 X50 Y220 F4800; move to purge area (slightly different for each color)

{IF NEWTOOL=1} G1 X40 Y220 F4800;

G92 E0 ; zero the extruded length

{IF NEWTOOL=1}T1; Activate tool 1

{IF NEWTOOL=0}T0; Activate tool 0

G1 E80 F400 ; purge nozzle quickly - ADJUST VALUE HERE depending on color purity expected

G1 E-5 F400 ; small retract

G92 E0 ; zero the extruded length again

{IF NEWTOOL=0} G1 X10 Y30 F4800;

{IF NEWTOOL=1} G1 X20 Y20 F4800;

G91;

G1 Z-65 F4000; back to working Z

G90;

 

Le problème c'est que je n'arrive pas a trouver comment scripter pour que la buse aille à une hauteur fixe. Mon script fonctionne seulement en relatif par rapport au Z courant. Si je mets une valeur Z absolue, pas moyen de retrouver le Z courant.

En pratique, ce procédé de Z relatif marche plutôt bien pour une pièce assez plate mais pour un objet plus haut ça poserait sans doute problème car la purge se ferait dans le vide et entrainerait beaucoup de filament pouvant ruiner l'impression s'il accroche qq chose.

 

Est ce qu'il y a ici des 'brutes' en gcode ? En tout cas c'est qq chose à perfectionner car ça gagne du temps et du plastique.

Partager ce message


Lien à poster
Partager sur d’autres sites

@TizTiz, je comprend l'idée qui est d'interroger le z actuel, le mettre en négatif et après la purge le remettre en positif. C'est sûrement possible mais je ne sais pas comment....
La commande M0 retient la position (arrêt optionnel) mais l'impression est relancée manuellement et M114 retourne les valeurs xyz de la position actuelle qu'il faut replacer dans un G90. Facile à dire mais pas facile à faire 😉

Modifié (le) par zyban

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok merci pour l'info je vais chercher autour de ce M114, ça me fait une piste.

 

Ci dessous une vidéo de qq'un qui fait exactement ce que j'ai en tête avec une buse fait maison 3 couleurs sur une delta (truc de ouf !)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

Je tente désespérément de faire fonction slic3r Prusa Edition avec mon Y. Il permet de construire une tour de purge vide si pas de changement de couleur et arrête la tour dès que ce n'est plus nécessaire. 

Pour la fusée Tintin que je citais plus haut, le grain est de 150 g de matière à config équivalente.

 

cdlt

Partager ce message


Lien à poster
Partager sur d’autres sites
Le ‎08‎/‎02‎/‎2019 at 03:17, TizTiz a dit :

Hello Geeetech guys,

Je n'ai pas de compte FB (réfractaire) mais le titre et les posts me font penser que vous parlez d'une solution similaire à ce que j'ai expérimenté récemment.

Possédant une A10M et agacé par la quantité de plastique gaspillé par la tour de purge, surtout quand par exemple seuls qq layers ont une couleur différente et requièrent une purge j'ai ajouté qq lignes de script dans Simplify3D pour aller purger dans un coin du bed à chaque changement de couleur.

Sur le bed j'ai scotché un bout de carton pour que la purge se fasse derrière.

(script à mettre dans scripts/Tool change script):

G1 E-10 F4800; retract nozzle quickly

G1 X50 Y100 F4800; first short move on left to wipe filament

G91;

G1 Z65 F4000; move verticaly

G90;

{IF NEWTOOL=0} G1 X50 Y220 F4800; move to purge area (slightly different for each color)

{IF NEWTOOL=1} G1 X40 Y220 F4800;

G92 E0 ; zero the extruded length

{IF NEWTOOL=1}T1; Activate tool 1

{IF NEWTOOL=0}T0; Activate tool 0

G1 E80 F400 ; purge nozzle quickly - ADJUST VALUE HERE depending on color purity expected

G1 E-5 F400 ; small retract

G92 E0 ; zero the extruded length again

{IF NEWTOOL=0} G1 X10 Y30 F4800;

{IF NEWTOOL=1} G1 X20 Y20 F4800;

G91;

G1 Z-65 F4000; back to working Z

G90;

 

Le problème c'est que je n'arrive pas a trouver comment scripter pour que la buse aille à une hauteur fixe. Mon script fonctionne seulement en relatif par rapport au Z courant. Si je mets une valeur Z absolue, pas moyen de retrouver le Z courant.

En pratique, ce procédé de Z relatif marche plutôt bien pour une pièce assez plate mais pour un objet plus haut ça poserait sans doute problème car la purge se ferait dans le vide et entrainerait beaucoup de filament pouvant ruiner l'impression s'il accroche qq chose.

 

Est ce qu'il y a ici des 'brutes' en gcode ? En tout cas c'est qq chose à perfectionner car ça gagne du temps et du plastique.

Salut,

Je viens de me mettre au Gcode et ton script va m'intéresser d'ici peu^^ , je trouve l'idée vraiment ingénieuse .

As tu testé ton script? et quelle à été la réaction de la machine?

Je me suis penché sur le Gcode pour scripter via Simplify une prise de photo à chaque changement de couche en mettant la tête d'impression à une position identique sur chaque image ( esthétique^^) ...ça ressemble un peu .

Je me sers d'un G28 X0 pour positionner la tête au même endroit , mais je pense qu'on peut donner n'importe quelles coordonnées absolues (dans ton idée éventuellement , proche du lieu de purge) >>>le script de purge >>> retour à l'impression ...et c'est là que je me pose des questions :

Dans un premier temps , j'ai tricoté avec des coordonnées absolues et relatives comme ton script , mais pénible de retrouver le point de départ , d'où mon utilisation du G28.

Et j'ai constaté , suite au test physique , que y'avait pas besoin de trop s'embêter avec ce retour à l'impression , une fois le script exécuté , l'imprimante reprenait toute seule sa position de départ ( j'en déduis que les Gcodes de pièces sont écris en coordonnées absolues ...dites le moi si c'est pas le cas^^) .

 

C'est pour ça que j'étais curieux du résultat de tes essais ... si tu as pu en faire . Est ce que si ça fonctionne dans les scripts changements de couche , ça ne fonctionnerait pas aussi dans les scripts de changements d'outils ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@Sha,

 

Oui le script que j'ai posté marche très bien en pratique (peut être un peu trop de purge, ça peut s'affiner, ça dépend si les couleurs sont très contrastées ou pas).

Ce script est a placer dans le changement d'outils. J'aime pas trop utiliser le G28 (home) car je me dis que sur beaucoup de changement ça peut occasionner des shifts mais je n'ai rien pour le prouver, juste un 'feeling'  de doute quand à la précision des capteurs à chaque 'home'. Si on utilise des coordonnées absolue, le preview des mouvements montre que la tête ne revient pas à l'objet en cours, donc elle monte jusqu'au ciel :). J'ai pas eu le courage de vérifier si le gcode réel ferait la même chose que le préview de S3D ;) Donc le problème de ce script c'est pour des pièces un peu hautes car il est difficile de prévoir si un tortillon de filament ne va pas coller sur une partie de pièce au bout d'un moment, ou emporter un gros bout et tout foirer. Alors que si la buse va à un endroit fixe, on peut sécuriser avec un contenant et une bordure en silicone ou scotch d'electricien pour 'nettoyer' la buse après la purge. J'ai un peu cherché sur le code M114 mais pas vraiment compris ce que ça faisait, faut dire que les explications sur le site Marlin son succinctes. C'est censé 'retourner' les coordonnées courantes, mais ou est ce qu'on les stocke (est-ce même possible) et comment on les réintègre dans le script ? Mystère. J'ai pas trop bossé dessus en fait, je m'amuse suffisamment avec les dégradés de couleurs pour l'instant. Mais je m'y remets bientôt car cette imprimante est bien mieux que ce que j'en supposais au départ, elle est juste un peu plus "difficile" que ma Tornado.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut.

 

Si vous êtes sur Marlin, il faut utiliser le  G27 qui est fait pour cela. (Park Mode)

Cela fait plusieurs mois que je l'utilise sans le moindre soucis avec un retour en position toujours exact.

 

cdlt

Partager ce message


Lien à poster
Partager sur d’autres sites

@0JCC, Merci pour l'info. mais si je comprends bien ça envoie la buse à une position définie dans le firmware. Donc il faut reflasher le firmware quand on veut changer cette position. J'aurais préféré une solution purement Gcodesque ;/, plus facile à modifier en fonction des besoins.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui. Mais c'est aussi pris en compte pour le changement de filament, la pause, etc ...

Je m'en sers aussi pour parquer la tête à la fin du print car on peux y ajouter une montée en Z en étant sur que ca dépassera pas la course max.

Flasher ca prend 30 secondes.

 

cdlt

Modifié (le) par Jcc

Partager ce message


Lien à poster
Partager sur d’autres sites

@TizTiz merci pour ton retour.

oui , le G28 je l'ai utilisé par praticité pour mon test  .Je pense que je vais refaire un petit essai avec des coordonnées absolues autre que le X0 . ça me confortera dans le fait qu'après une séquence scriptée , il ne serait pas nécessaire de savoir retourné au point où doit se trouver la prochaine action . 

sinon je découvre ce G27 , mais c'est vrai que ça oblige à définir un point dans le firmware  .Autant sur une machine Delta qui est rapide , condamner une zone de l'impression , la plus éloignée possible , et qui servira tout le temps de zone d'essuyage c'est jouable , mais une machine cartésienne (comme j'ai) c'est trop contraignant , pas assez de mobilité sur Z 😣 .

ça peut servir à paramétrer une position pour le bricolage ou le changement de tête , en appel direct ,autre que le Home , via 1 bouton programmé ... ou juste une position de rangeage rangement  ...parking .

 

sinon , il est possible d'utiliser des variables dans du Gcode ? J'ai vu passer quelques lignes de codes exemples maintenant et j'ai pas vu d'utilisation de variables 🤔 .J'ai vu des fonctions qui servaient à en renvoyer mais j'ai compris ( et peut être de travers ) que c'était purement à but informatif et pas exploité en variables.

Partager ce message


Lien à poster
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez poster un message et vous inscrire plus tard. Si vous avez déjà un compte, connectez-vous afin de poster avec.

Invité
Répondre à ce sujet…

×   Vous avez copié du contenu avec formatage.   Supprimer le formatage

  Only 75 emoji are allowed.

×   Votre lien a été automatiquement intégré.   Afficher en tant que lien à la place

×   Le contenu sauvegardé a été restauré.   Effacer l'éditeur

×   You cannot paste images directly. Upload or insert images from URL.


  • Sur cette page :   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...