Aller au contenu

[Tutoriel] G-code idéal de début et fin d'impression


Messages recommandés

Bonjour,

Je tente en tant que début de créer un petit sujet sympathique permettant de partager notre expérience  pour optimiser le G-code de début et de fin d'impression sur la U20.

Voici ma création que j'ai testé et qui semble correctement fonctionner, je vous demande si vous aussi vous trouvez quelque chose à redire à ce dernier 😉 .

Précisions importantes : il est impératif d'ouvrir le g-code crée avec le trancheur et l'éditer avec notepad ou autre éditeur de texte, car le trancheur ne peut s'empêcher de rajouter des éléments au code !!!

G_Code de début :

G21		; Valeurs métriques
G90		; Mode position absolue
M190 S50 R60	; Chauffer le lit pour un minimum à 50°c et un maximum à 60°c
M109 S200 R210	; Chauffer la buse pour un minimum à 200°c et un maximum à 210°c
G1 Z10 F2400	; Placer la buse à 10mm du lit à 40mm/s
G28 X0 Y0	; Origine 0 en X et Y
G28 Z0		; Origine 0 en Z
G1 Z100 F2400	; Placer la buse de 100mm du lit à 40mm/s
M83		; Mode position relative pour l'extrudeur
G1 F240 E20	; Extruder 20mm de fil pour "purger"
M82		; Mode position absolue pour l'extrudeur
G92 E0		; Réinitialiser l'origine à 0 de l'extrudeur
G4 S10		; Temps d'attente de 10 sec pour bien nettoyer ce qui est sorti et sort encore de la buse
G1 Z10 F2400	; Placer la buse à 10mm du lit à 40mm/s

G-code de fin :

M140 S0				; Éteint le lit chauffant
G91				; Mode position relatif
G1 Z10 X-10 Y-10 E-20 F2400	; Effectuer un dégagement de la structure et rétracter le fil
M104 S0				; Éteint la chauffe de la buse
G90				; Mode position absolue
G28 X0				; Revenir à l'origine 0 en X
G1 Y5 F8400			; Avancer le plateau au maximum
G1 Z100 F2400			; Positionner la buse à 100mm de hauteur
M18				; Désactivation de tous les moteurs
M84				; Arrêt de tous les moteurs
m81				; Arrêt de l'alimentation ATX
M106 S0				; Eteint les ventilateurs (ou S0.7 dans certaines implémentations)
M107				; Extinction des ventilateurs

A vos commentaires

  • J'aime 3
  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Voici le mien qui fonctionne pas mal du tout pour bien amorcer la buse en début d'impression et qui ramène le plateau en avant en fin d'impression, il à été écrit par @rmlc460

et modifié par mes soins :

Début :

G21                ; Valeurs metriques
G90                ; Position absolue
G92                ; Reset extrudeur
G28 X0 Y0          ; Home X et Y
G28 Z0             ; Home Z
G1 Z10 F2400       ; Lève
G1 X100 Y5 F2400   ; Evite le clip
G1 Z0.2 F2400      ; Descend
G1 X200 E20 F1000  ; Imprime ligne aller
G1 Z0.4 F2400      ; Lève
G1 X100 E30 F1000  ; Imprime ligne retour
G92                ; Reset extruder
G1 Z5 F2400        ; Leve
G1 Y10 F2400       ; Décale la tête de 10mm sur Y
M117  Impression   ; Affiche le message Impression sur ecran LCD

Fin :

G91           ; Position relative
G1 E-6        ; Rétracte 
G1 F2400 Z10  ; Lève de 10mm 
G90           ; position absolue
G28 X0        ; home X
G1 Y280       ; Ramener le plateau à l avant
M106 S0       ; Arrête le ventilateur du fang
M104 S0       ; Arrête l extrudeur
M140 S0       ; Arrête le lit chauffant
M84           ; Arrête les moteurs
Modifié (le) par deamoncrack
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir @deamoncrack

Il y a 4 heures, deamoncrack a dit :

Début :


G21                ; Valeurs metriques
G90                ; Position absolue
G92                ; Reset extrudeur
G28 X0 Y0          ; Home X et Y
G28 Z0             ; Home Z

 

Je n'aime pas trop ce début, car si la buse est rasante au plateau tu risque par le retour x0 et yo de racler les clips, ou imagines qu'un léger défaut fait que ton plateau est surélevé, et bien tu risques de faire des dégâts, c'est bien pour cela qu'avant tout déplacement sur X ou Y, je mets la tête à 10mm du plateau 😉 .

Citation

G1 Z10 F2400       ; Lève
G1 X100 Y5 F2400   ; Evite le clip
G1 Z0.2 F2400      ; Descend
G1 X200 E20 F1000  ; Imprime ligne aller
G1 Z0.4 F2400      ; Lève
G1 X100 E30 F1000  ; Imprime ligne retour

 

Tout ceci t'oblige à manuellement régler la chauffe du lit et de la buse, n'est-il pas préférable d'automatiser tout ceci ?

Ensuite dans ce mode, ton extrudeur est en mode relatif ou absolu, car si tu es en relatif il serait plus logique d'avoir :

G1 X200 E20 F1000  ; Imprime ligne aller
G1 Z0.4 F2400      ; Lève
G1 X100 E20 F1000  ; Imprime ligne retour

Pour extruder 20mm dans les 2 cas, et en absolu, il faudrait plutôt :

G1 X200 E20 F1000  ; Imprime ligne aller
G1 Z0.4 F2400      ; Lève
G1 X100 E40 F1000  ; Imprime ligne retour

Pour extruder 20mm dans le premier passage, et 40-20 = 20mm pour le deuxième passage 😉

 

Citation

G1 Z5 F2400        ; Leve
G1 Y10 F2400       ; Décale la tête de 10mm sur Y

 

A quoi sert le décalage en Y ?

 

Citation

M117  Impression   ; Affiche le message Impression sur ecran LCD

 

Quel est l'utilité de marquer cela sur l'écran ?

Merci en tout cas du partage 😉 .

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Cobrasse a dit :

Je n'aime pas trop ce début, car si la buse est rasante au plateau tu risque par le retour x0 et yo de racler les clips

Alors en général avant de lancer un print, je m'assure que mon plateau est bien réglé et j'approche déjà la tête de la position home à la main, donc aucun risque de ce coté !

Ceci dit, rien n'empêche de rajouter une ligne G91 et une ligne G1 Y10 entre le G21 et le G90 pour relever la tête avant de faire le home... 

il y a une heure, Cobrasse a dit :

Tout ceci t'oblige à manuellement régler la chauffe du lit et de la buse, n'est-il pas préférable d'automatiser tout ceci ?

Non, la température du plateau et de la buse sont réglées dans le slicer qui les ajoute automatiquement avant le Gcode de début, le rajouter dans le Gcode de début fait double emploi !

il y a une heure, Cobrasse a dit :

Ensuite dans ce mode, ton extrudeur est en mode relatif ou absolu

Par défaut et sauf indication contraire l'extrudeur fonctionne toujours en mode absolu, mais en tout cas ça fonctionne bien comme ça...!

En fait je pense qu'extruder 20mm de filament pour faire deux couches de 10cm de long chacune est déjà amplement suffisant puisqu'à la fin de ma seconde couche, j'ai encore un gros pâté de surplus... inutile de gaspiller du plastique plus que nécessaire...

il y a une heure, Cobrasse a dit :

A quoi sert le décalage en Y ?

Alors j'utilise cette ligne de code uniquement dans S3D car contrairement à cura, S3D fait redescendre la buse tout de suite après la fin du Gcode de début (là ou cura va d'abord à la position de début de l'impression, puis descend), et du coup S3D me plante la buse en plein dans le gros pâté de la fin de ma ligne de test, donc je décale la tête de 10mm pour éviter ça...

il y a une heure, Cobrasse a dit :

Quel est l'utilité de marquer cela sur l'écran ?

Fondamentalement, aucune ! C'était là avant que je modifie le code donc c'est resté !Cela étant, tu peux écrire tout ce que tu veux...!

Il y a 1 heure, Nafoot a dit :

@deamoncrack le tiens n'arrête pas le ventilo du radiateur si je ne me trompes pas?

Quelle ligne rajouter si on veux que le ventilo radiateur s'arrête genre 1minutes après la fin du print?

Non, je ne sait même pas si on peut.

Quoi qu'il en soit, je préfère le laisser tourner jusqu'à ce que la tête soit bien froide, ça évite que la chaleur du bloc ne remonte le tube et vienne cramer le téflon...

Pour finir, il faut bien comprendre que le principe du Gcode de début et de fin, c'est de pouvoir faire faire à la machine les manœuvres que l'on veut en fonction de sa machine et de ses besoins/envies, il ne faut donc pas forcément copier bêtement ce que fait le voisin !  

Modifié (le) par deamoncrack
  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour @deamoncrack

Il y a 13 heures, deamoncrack a dit :

Alors en général avant de lancer un print, je m'assure que mon plateau est bien réglé et j'approche déjà la tête de la position home à la main, donc aucun risque de ce coté !


Et je te comprends, mais bon pour les étourdis, et puis on est jamais à l'abri d'une erreur 😐

Il y a 13 heures, deamoncrack a dit :

Non, la chauffe du plateau et de la buse sont réglées dans le slicer qui l'ajoute au Gcode après le Gcode de début, le rajouter dans le Gcode de début fait double emploi !

J'ai bien remarqué que malgré le G-code de début et de fin rentré dans les paramètres de limprimante du trancheur, le trancheur ne pouvait pas s'empêcher de rajouter sa propre dose de code ce qui peut-être pas terrible suivant le besoins et exigences ... C'est dans ce sens que je ré-ouvre le G-code créé et que j'efface et met uniquement les lignes que je désire.

Il y a 13 heures, deamoncrack a dit :

Par défaut et sauf indication contraire l'extrudeur fonctionne toujours en mode absolu, mais il ne possède pas de position propre, si on lui demande de faire +20, il fera +20, peu importe sa position précédente, du coup si je met E40, j'aurais beaucoup trop de matériau extrudé ( 20 + 40, et pas 20 + 20...).

Bizarre, cela est en contradiction avec ce qui est marqué ici :

http://gcodeimpression3d.eu/co/absoluVSrelatif.html

Si j'ouvre un G-code, celui du cube xyz par exemple :

G1 F1200 X137.815 Y136.665 E0.0282
G1 X138.308 Y136.389 E0.05639
G1 X138.836 Y136.185 E0.08463
G1 X139.386 Y136.058 E0.11279
G1 X140.009 Y136.009 E0.14397
G1 X159.991 Y136.01 E1.14087
G1 X160.555 Y136.05 E1.16908
G1 X161.108 Y136.169 E1.1973
G1 X161.638 Y136.365 E1.22549
G1 X162.136 Y136.633 E1.25371
G1 X162.59 Y136.97 E1.28192
G1 X162.993 Y137.366 E1.3101
G1 X163.336 Y137.816 E1.33833
G1 X163.611 Y138.309 E1.3665
G1 X163.815 Y138.837 E1.39474
G1 X163.942 Y139.388 E1.42295
G1 X163.991 Y140.01 E1.45407
G1 X163.991 Y159.991 E2.45093
G1 X163.951 Y160.555 E2.47914
G1 X163.832 Y161.108 E2.50736

C'est cohérent avec un mode absolu, la dernière ligne étant :

G1 F1200 X149.617 Y153.589 E1370.49686

Il fonctionne donc plutôt comme je l'ai signalé que comme tu l'imagines 😉 . Donc si tu constates que le moteur d'extrudeur tourne sur la ligne de retour, cela signifie que tu es en mode relatif sur l'extrudeur 😉 ... Car si le filament coule encore c'est juste à cause du fait qu'il coule encore un peu de la buse même si ion extrude pas de fil 😉 .

Merci en tout cas de tes explications.

Lien vers le commentaire
Partager sur d’autres sites

Salut

voici le gcode de la cura4 beta ,sans modifications ,  a voir si ça peut te donner des idées pour améliorer le tien !

; -- START GCODE --

G21 ;set units to millimetres

G90 ;set to absolute positioning

M106 S0 ;set fan speed to zero (turned off)

G28 ;home all axis

G92 E0 ;zero the extruded length

G1 Z1 F1000 ;move up slightly

G1 X60.0 Z0 E9.0 F1000.0;intro line

G1 X100.0 E21.5 F1000.0 ;continue line

G92 E0 ;zero the extruded length again

; -- end of START GCODE --

 

; -- END GCODE --

M104 S0 ;turn off nozzle heater

M140 S0 ;turn off bed heater

G91 ;set to relative positioning

G1 E-10 Z32 F1000 ;retract the filament slightly

G90 ;set to absolute positioning

G28 X0 ;move to the X-axis origin (Home)

G0 Y280 F1000 ;bring the bed to the front for easy print removal

M84 ;turn off stepper motors

; -- end of END GCODE --

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci Jipee

Personnellement je n'aime pas trop ce code, car il n'évite pas le clip !

Et à la fin, couper le chauffage de la buse risque de ne pas permettre la rétraction du filament, car chez moi l'alfawise n'autorise le fonctionnement de l'extrudeur que si la température de buse est d'au moins 180° de mémoire, avant il refuse de débiter ou rétracter le filament !

Enfin il n'y a pas de code permettant l'arrêt de la ventilation pour le refroidissement du filament ... Bref ce code, ne me semble pas parfait 😕.

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

  • 1 month later...

Salut à tous !

Merci à tous pour ces infos qui m'ont bien aidé (bon il faut savoir faire le tri et regarder les documentations G-code car y a des contradictions qd meme 🙂).

Juste pour clarifier les choses : pour l'extrusion et son aspect relatif ou absolu, cela dépend du slicer utilisé. par exemple sur "repetier" il est en absolute par defaut. Je crois savoir que c'est pareil pour Cura(sauf en changeant le parametrage de celui-ci). donc si on fait pas de M83, il restera en absolute. Pour Simplify 3d, il semblerait que par defaut, ce soit en relatif. le start G-code devra se faire en fonction de cela... Je sais qu'à l'époque ou j'étais sur Cura, dans un end G-code j'avais pompé un code d'un mec qui était sous simplify 3d et selon la taille de l'impression le fil retractait plus ou moins...

En ce qui concerne le fait d'indiquer la température du nozzle et du bed dans le start G-code, je ne suis pas très fan... en effet, comme l'indique @daemoncrack, c'est un parametre qui est automatiquement géré par le slicer, avant le start G-code. c'est pour moi beaucoup plus interessant car si comme moi vous utilisez differents types de filaments(PLA, TPU, Nylon), ca voudra dire qu'il faudra changer le start g-code pour modifier la Température. c'est quand meme beaucoup plus simple de paramétrer dans le slicer des profils de filaments. on a qu'à sélectionner le profil PLA, le profil Nylon et les températures changeront automatiquement. Je pars du principe que le G-code doivent etre paramétrés à notre guise puis jamais (ou presque) modifiés.

A+

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

Salut,

Voici le start gcode que je teste avec succès sur ma U30 depuis plusieurs impressions (modif du start gcode cura 4), le but étant seulement d'éviter le clip:

; -- START GCODE --
G21                     ;set units to millimetres
G91                     ;set to absolute positioning
G1 Z20                  ;move up 20mm
G90                     ;set to absolute positioning
M106 S0                 ;set fan speed to zero (turned off)
G28 X0                  ;home X
G1 X50 F2400            ;move X to avoid clip
G28 Y0 Z0               ;home Y and Z
G92 E0                  ;zero the extruded length
G1 Z1 F1000             ;move up slightly
G1 X60.0 Z0 E9.0 F1000.0;intro line
G1 X100.0 E21.5 F1000.0 ;continue line
G92 E0                  ;zero the extruded length again
; -- end of START GCODE --

Lien vers le commentaire
Partager sur d’autres sites

Dans le même esprit, et en French pasceque je le veux ! (mais sans d’accent, car Cura ne les aimes pas -> message d'erreur ! I don't know why...)


; -- START GCODE --

G21 ; definir les unites en millimetres
G90 ; mettre en position absolue
G28 ; home tous axes
G92 E0 ; mettre a zero la longueur extrudee
G1 Z1 F1000 ; leve un peu
G1 Y15.0 X60.0 Z0 E9.0 F1000.0 ; ligne d'intro en X et Y pour éviter le clips
G1 X150.0 E18.0 F1000.0 ; ligne continue
G92 E0 ; mettre a zero la longueur extrudee de nouveau

; -- end of START GCODE --

Une 'tite photo à l'appui :
740910966_2019-02-1717_46_23.thumb.jpg.06b545f48c0238f6163be43ba3d66942.jpg

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

  • 1 month later...

Bonjour à tous et merci pour ces contributions qui me rendent bien service!

Dans le fichier U30,ini livré avec Cura15.04.3, je lis à la fin du start,gcode la commande : G1 F{travel_speed}.

Cette commande n’est pas utilisée dans les contribution ci-dessus et, si j’ai bien lu, F{travel_speed} indique un déplacement à la vitesse «par défaut ».

d’où mes deux questions :

- cette commande est-elle utile et, si oui, dans quelles circonstances ?

- quelle est la vitesse ‘par défaut’ d ‘une U30 ?

Merci d'avance pour vos éclaircissements.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, chb37 a dit :

Bonjour à tous et merci pour ces contributions qui me rendent bien service!

Dans le fichier U30,ini livré avec Cura15.04.3, je lis à la fin du start,gcode la commande : G1 F{travel_speed}.

Cette commande n’est pas utilisée dans les contribution ci-dessus et, si j’ai bien lu, F{travel_speed} indique un déplacement à la vitesse «par défaut ».

d’où mes deux questions :

- cette commande est-elle utile et, si oui, dans quelles circonstances ?

- quelle est la vitesse ‘par défaut’ d ‘une U30 ?

Merci d'avance pour vos éclaircissements.

...Et la réponse est:

On rétablit, par prudence, la "vitesse de croisière" (en mm/minute) telle que définie sur Cura (mais en mm/seconde) dans "vitesse de positionnement".

Sur la U30 (U30.ini / Cura V15.04.3) Vitesse de positionnement: 80 mm/sec

==> F{travel_speed} = 80*60=4800. Ce qui équivaut à écrire G1 F4800.

Demain, je passe à la lettre B... 😅😅

Bonne journée!

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

yep, mais attention au premier post, le gcode n'est pas bon!

il fait un deplacement Z absolu... si ya une piece plus grande a cet endroit elle sera ecrasée p

G90				; Mode position absolue
G28 X0				; Revenir à l'origine 0 en X
G1 Y5 F8400			; Avancer le plateau au maximum
G1 Z100 F2400			; Positionner la buse à 100mm de hauteur
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
×
×
  • Créer...