Aller au contenu

GO Print

PrusaSLicer et Gcode avant print


Messages recommandés

Bonjour à tous.

En peaufinage de mes prints, je personnalise le Gcode de départ et fin de fichier. Dans Prusaslicer dans les réglages expert on trouve la zone Gcode.

Je souhaiterai faire couler un peu de filament juste avant le départ du print car il arrive que lors de la création de la jupe, il manque du fil et j'ai un micro filament qui se pose pas très bien et qui finit par se coller à la buse et il se retrouve parfois sur mon print final.

si manuellement je fait renter un peu de fil au moment du premier trajet de la buse, ça me fait une sorte de micro purge juste avant la jupe  et je pars tête pleine pour attaquer et tout se déroule carrément mieux ! 

Le soucis que je rencontre c'est où coller mon code.

dans G-code de début, c'est pas bon car c'est une action qui se fait avant que la tête ne chauffe, donc ça ne marche pas.

ensuite il y a G-code avant le changement de la couche, par défaut ça se fait entre chaque couche. Dans le popup info bulle ils disent qu'on peut le définir sur un layer spécifique [layer_num] mais je ne trouve pas la syntaxe, j'ai tenté [layer_1] et layer_1

mais ça me répète encore mon code entre chaque couche. donc je n'arrive pas à trouver.

 

j'ai un autre soucis, je finis par me demander si c'est pas dans la I3 MEGA, en fin de print, je coupe bed et buse, et je voudrais amener le plateau vers l'avant. Par défaut il va derrière.

je mets ce Gcode : G28 Y200  ; on avance le plateau

et malgré tout il part vers le lointain ^^je tente de faire bouger le Z, le X ça marche, je Y ne veut rien entendre ! j'ai même tenter de le mettre à -100, rien de rien.

 

Voiloù, merci pour votre conseils et aides précieuses

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, jmarie3D a dit :

C'est plutôt G1 Y200

ha oui le G28 c'et plutôt pour le homing  je suis en print, verdict dans quelques minutes 😛

 

 

+1 c'était bien ça ! reste mon soucis de départ, je continue les recherches !

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

Il y a 13 heures, Yvan Bonnin a dit :

dans G-code de début, c'est pas bon car c'est une action qui se fait avant que la tête ne chauffe,

Eh bien, tu commandes une chauffe de la buse dans ton Gcode de début, avant ton code.

Lien vers le commentaire
Partager sur d’autres sites

Bien évidemment ! par contre si je colle un M104 (ou un M109) avec un set de température, la ligne de code prévue pour la température défini dans PS disparait. genre je prends la main dessus.

C'est embêtant car selon mes prints, la température de la tête varie et j'aimerai ne pas avoir à modifier dans le G-code à chaque fois. je me tourne vers le M116, mais ça n'a pas l'air de fonctionner. je me demande si la I3 MEGA l'accepte. je continue mes recherches

Lien vers le commentaire
Partager sur d’autres sites

Un petit coup de pouce.

PrusaSlicer renseigne automatiquement certains éléments manquants s'ils ne sont pas spécifiés dans le Custom G-Code, c'est le cas de la température.

Dans mon Start G-Code j'ai un truc comme ça :

M104 S150 ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M109 S150 ; wait for extruder temp
M190 R[first_layer_bed_temperature] ; wait for bed temp

Et un peu plus loin, après le Homing et le MBL j'ai :

M140 S[first_layer_bed_temperature] ; set bed temp
M104 S[first_layer_temperature] ; set extruder temp

Pour les conditions, il faut respecter la syntaxe, par exemple :

{if layer_num < 10}
;Blabla
{endif}

Attention il y a une subtilité, layer_num vaut "-1" quand l'impression n'a pas encore commencé.

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

Merci pour le coup de pouce, je vais regarder ça de plus près pour approfondir un peu le code.

de mon côté j'ai solutionné toutes les requêtes (merci aux coup de pouces @jmarie3D) ! j'ai trouvé des réglages top que je vous partage

G-code de début

G28 ; retour home
G1 Z2 F5000 ; en place
M109 S185 ; attente de mise à la température
G1 X2 Y7 E25.40000 F400.00000 ; on place la tête à l'angle du plateau et on remet le fil et purge un peu 



G-code de fin

G1 X0 Y200 E-22.50000 F1000.00000 ; on sort le fil pour pas que ça coule et on avance le plateau
M104 S0 ; on eteind le corps de chauffe
M140 S0 ; on eteind le plateau
M84 ; libere les moteurs
; séquence Bip de la joie ^^
M300 S1100 P100 ; Bip 0,1s
M300 S1300 P100 ; Bip 0,1s
M300 S1500 P100 ; Bip 0,1s
M300 S1700 P100 ; Bip 0,1s

Pour améliorer le tout, je sors le filament à la fin du print, au moins plus de coulure le temps que la buse refroidisse. Ensuite quand je lance le print comme y a pas de filament dans le corps, ça ne coule pas et une fois M109 et la température à niveau, je rentre le fil assez fortement pour le remettre dans le corps de chauffe (vu que je l'avais sorti) et en faire sortir un peu plus pour avoir la tête chargé. Du coup, j'ai une parfait bien rempli et le print derrière par au top pour la première couche ! 

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

Je m'aperçois que je me suis gourjé dans le code que j'ai posté à la main 🙂, donc copier coller ça sera mieux :

Start G-Code :

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.9.1 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S150 ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M109 S150 ; wait for extruder temp
M190 R[first_layer_bed_temperature] ; wait for bed temp
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
M104 S[first_layer_temperature] ; set extruder temp
G1 Y-3.0 F1000.0 ; go outside print area
M109 S[first_layer_temperature] ; wait for extruder temp
G92 E0.0
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line
G92 E0.0
M221 S{if layer_height<0.075}100{else}95{endif}

End G-Code :

G4 ; wait
M221 S100 ; reset flow
M900 K0 ; reset LA
M106 S255 ; turn on fan
{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}
M140 S0 ; turn off heatbed
M104 S150 ; cool down hotend
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+100, max_print_height)}{endif} ; Move print head up
G1 X0 Y200 F3000 ; home X axis
M109 R150 ; wait for extruder temp
M104 S0 ; turn off temperature
M107 ; turn off fan
M84 ; disable motors

Ce sont les G-Code d'origine pour une MK3S avec quelques aménagements, notamment la préchauffe de la buse à seulement 150°C avant palpage pour éviter l'oozing sans risquer d'écraser une éventuelle crotte durcie sur le plateau. Et à la fin, on remonte de 10cm au dessus de l'impression, limité à Z-max et on attend que la buse redescende à 150°C avec ventilation à fond pour accélérer. J'ai notamment utilisé le paramètre R au lieu de S pour les attentes de refroidissement (bed dans le start pour le palpage et hotend dans le end pour le refroidissement).

Ca permet de voir comment sont utilisées les conditions, on peut par exemple les insérer au milieu d'une ligne de G-Code.

A ne pas prendre tel quel, il y a pas mal de commandes spécifiques aux Prusa.

Lien vers le commentaire
Partager sur d’autres sites

merci pour ton code, je vais voir ce que je peux implanter sur le mien. de mon côté je commence à être très content du mien aussi ^^

 

@Kachidoki je vois que tu fais toi aussi comme une petite purge en 2 temps au départ, je me permets de te conseiller de faire une rétractation avant de faire ton if avec le Z (très pratique d'ailleurs) 

cela pour 2 raison

1./ ça évite le micro fil qui se forme quand le Z se fait

2./ vu que ça sort le fil, je n'ai plus besoin de chauffer ma buse si j'ai besoin d'un changement. le fil est désengagé et il est dispo 🙂 c'est super pratique.

au final j'ai changé ça dans mon code

G-code de début

G1 X2 Y7 E5.40000 F3000.00000 ; on place la tête à l'angle du plateau et on remet le fil 
G1 E20.40000 F400.00000 ; on purge un peu 

G-code de fin

G1 X0 Y200 {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+10, max_print_height)}{endif} E-22.50000 F3000.00000 ; on sort le fil pour pas que ça coule et on avance le plateau

où j'ai intégré ton if à mon mouvement final

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Bonjour,

Ma question vous paraîtra peut être stupide mais je suis débutant dans ce monde de la 3D.

j ai le même défaut que celui décrit par Yvan.

j envisage donc de mettre ces Gcode de début et de fin dans PrusaSlicer pour notamment  « cracher du filament » avant impression.

Par contre  sont ils compatibles avec mon imprimante Longer 3D LK1 V2 (plateau de 300x300) ?

https://shop.compozan.com/imprimante-3d-longer3d-lk1-v2-fdm-300x300x400mm-marlin-ready

d avance merci pour votre retour

cordialement 

Luc

Je prévois de retenir les gcode d Yvan

 

Gcode de début

G28 ; retour home
G1 Z2 F5000 ; en place
M109 S185 ; attente de mise à la température
G1 X2 Y7 E5.40000 F3000.00000 ; on place la tête à l'angle du plateau et on remet le fil 
G1 E20.40000 F400.00000 ; on purge un peu 



Gcode de fin

G1 X0 Y200 {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+10, max_print_height)}{endif} E-22.50000 F3000.00000 ; on sort le fil pour pas que ça coule et on avance le plateau
M104 S0 ; on eteind le corps de chauffe
M140 S0 ; on eteind le plateau
M84 ; libere les moteurs
; séquence Bip de la joie ^^
M300 S1100 P100 ; Bip 0,1s
M300 S1300 P100 ; Bip 0,1s
M300 S1500 P100 ; Bip 0,1s
M300 S1700 P100 ; Bip 0,1s

Lien vers le commentaire
Partager sur d’autres sites

il y a 39 minutes, coyote.57 a dit :

envisage donc de mettre ces Gcode de début et de fin dans PrusaSlicer pour notamment  « cracher du filament » avant impression.

au lieu de cela, utilise la jupe , elle à la même fonction que cette purge, avec l'avantage de pouvoir voir si la première couche accroche correctement.

Lien vers le commentaire
Partager sur d’autres sites

Merci Patrick pour ta suggestion 

J utilise déjà la jupe mais lorsque ca sort un micro filament sans accroche au démarrage , au prochain passage ça a tendance à s entremêler et retirer la suite.

parfois avec du bol j arrive à retirer le fil « capricieux «  avec une pince à épiler mais lorsque la pièce est petite ce n’est pas évident.

 

d ou l idée des gcode de purge de début 

mais est ce compatible avec mon imprimante ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, coyote.57 a dit :

Merci Patrick pour ta suggestion 

J utilise déjà la jupe mais lorsque ca sort un micro filament sans accroche au démarrage , au prochain passage ça a tendance à s entremêler et retirer la suite.

parfois avec du bol j arrive à retirer le fil « capricieux «  avec une pince à épiler mais lorsque la pièce est petite ce n’est pas évident.

 

d ou l idée des gcode de purge de début 

mais est ce compatible avec mon imprimante ?

tout code qui va purger la buse, moi je dis "amorcer" , avec des codes simples, est forcément compatible

mais perso, sur la ligne M19 S185 je changerais par 195 ou 200 pour que le filament soit plus "liquide" à 185°C, il risque d’être un peu trop "pâteux" et mal couler

 

mais si la jupe colle mal, c'est au départ que tu a un soucis de buse trop loin du plateau

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

Merci Patrick pour ta sollicitude 
En rapprochant mon plateau de la buse le résultat était le même 

J ai testé les gcode d Yvan

L amorce n est pas suffisante pour mon imprimante.

Finalement j ai récupéré ceux d un ami qu’il a personnalisé pour son imprimante.

Sur ces réglages, l amorce est plus prononcée sur le bord du plateau

Pour moi ça semble nickel désormais (2 essais faits…les 2 avec succès)

il faudra toutefois que je révise certaines fonctions qui n ont peut être pas (ou peu) d intérêt pour mon imprimante.

 

ci après les codes utilisés 

Gcode de début 


;************************
;* IMPRIMANTE MONDRIAN  *
;*     15 SEPT 2021     *
;************************
;M92 E138 ; calibration PETG buse 04 (TEST DES 100 MM)
M190 S[first_layer_bed_temperature] ; chauffe plateau
G28 X ; prise d'origine en X
G28 Y ; prise d'origine en Y
G28 Z ; prise d'origine en Z
G1 Z1; releve un peu pour pas rayer
M104 S[first_layer_temperature] ; CHAUFFE TETE
G1 X10 Y170 F27000 ; parking
G1 Z0 ; pose la buse pour boucher la buse
M109 S[first_layer_temperature] ; attente chauffe T0
G92 E0 ; reset extrudeur
G0 X0
G0 Z0.2 
G1 Y130 F200 ; debut de nettoyage buse
G0 Z 0.4
G1 Y100 E40 F200 ; amorcage de la buse
G92 E0 
G1 E-1 F500 ;retracte un peu
G0 Z0.2
G1 Y0 F4000 ;Essuie rapidement 
G1 Z0.2 ;Levez et commencez a imprimer.


Gcode de fin


M140 S0 ; couper chauffe plateau
M104 S0 ; couper chauffe T0
G92 E0 ; reset extrudeur
G1 E-5 F3000 ;retraction de 5mm
G1 X10 Y185 F27000 ; parking
; M300 500 500  ; bip de 1/2 seconde
G1 Z150 F480 ; descente plateau
M84 ; couper moteur
M140 S0 ; couper chauffe plateau
M190 R45     ; attente que la temperature descende A 45
M300 1000 1000  ; bip de 1 seconde pour signaler la fin
G1 F2000 Y214

Modifié (le) par coyote.57
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...