Aller au contenu

GO Print

Script octoprint pause et reprise d impression


Messages recommandés

Bonjour la communauté

 

J utilise des scripts de pause et reprise sur octoprint qui marche plutôt bien :

 

Pause

 

 

G91 ; Relative movement

G1 Z5 ; Move head away vertically

G1 E-6 F1000; Retraction move, take away filament pressure

G90 ; Absolute position ON

G1 X0 F2500 ; Move to left edge of print bed

G1 Y0 ; Move to front position (two moves to avoid risk of running into bed clamps)

G91; Relative movement

G1 E-80 F1000; retract filament into bowden for easier swap

G90; Absolute position ON

 

Et de reprise

 

 

G91 ; Relative movement

G1 E80 F300; Reposition filament (or purge if new filament has been pushed in by hand)

G90 ; Absolute position

G1 Y50 F3000; Move past the front left clamp to be safe

 

Aucun problème quand je fais des impressions couche par couche l opération de pause/chgt de filament/ et reprise se passe impeccable.

 

Le souci se pose quand je fais des impressions séquentielles c a d plusieurs objet à suivre où l’imprimante va finir l objet avant de passer au suivant.

 

Dans ces cas là mon script ne fais pas assez monter ma tête d impression ,

par exemple j’ai 4 pièces à imprimer de 15cm de haut, les trois premières s’impriment les unes après les autres et si je tombe à sec de filament au début de ma 4e pièce , la tête d impression va remonter de 4-5 cm et se déplacer et venir percuter les pièces déjà fini .....

 

Je ne suis pas du tout compétent en gcode mais je me demandais si dans la commande G1 Z5 le Z5 serait la hauteur à laquelle la tête doit remonter ?

Si c est le cas j aurais juste à changer cette valeur dans le genre G1 Z20 ?

 

Espérant avoir pu être assez clair

 

Bonne journée à tous

Lien vers le commentaire
Partager sur d’autres sites

Le G91 active la position relative. C'est a dire que la tête va se déplacer en partant de 0 a partir de son emplacement actuel.

G1 c'est l'ordre de déplacement et Z5 c'est l'axe Z qui va se déplacer de la somme demandée en millimètres. Soit Z5 = monter Z de 5 millimetres

 

Si il n'y avait pas eu le G91 avant et que ta tête était a par exemple 15 cm de haut, elle serait descendue a 5mm du plateau

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

Ton gcode dit:

 

91 ; Position relative, la tête considère qu'elle est a x0 y0 et z0

G1 Z5 ; on monte la tête de 5mm

G1 E-6 F1000; on rétracte le filament de 6mm a la vitesse 1000

G90 ; on passe en position absolue, la tête sait où elle est par rapport aux endstops.

G1 X0 F2500 ; On bouge la tête a x0 c'est a dire au endstops a la vitesse 2500

G1 Y0 ; on bouge la tête en y0 c'est à dire au endstops y

G91; on repasse en position relative, la tête est en x,y et z 0

G1 E-80 F1000; on rétracte le filament de 80mm vitesse 1000

G90; on repasse la tête en position absolue. Elle sait où elle est par rapport aux endstops

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Manu79 a dit :

Du coup je pourrais remplacer Z5 par Z100 si je veux monter mon chariot de 10 cm ?

Cela dépend surtout de la hauteur d'extrusion possible en Z. Exemple: tu fais ta pause alors que la pièce est déjà a 120 mm de haut, ton imprimante peut imprimer jusqu'à 200mm, si tu montes (essaies plutôt) de monter de 100mm, il va y avoir un sérieux problème.

Il y a une chose que je comprends mal dans ton Gcode. Tu utilises Octoprint donc tu as mis tes deux scripts dans la section de configuration «Scripts GCode» (si Octoprint est francisé). Nulle part dans tes scripts, tu utilises / enregistres la position de la buse au moment de la pause pour pouvoir la réutiliser lors de la reprise.

Dans mon Octoprint, la section «Après la mise en pause de l'impression» contient le code (fourni dans la documentation Octoprint) :

Citation

{% if pause_position.x is not none %}
; relative XYZE
G91
M83

; retract filament, move Z slightly upwards
G1 Z+5 E-5 F4500

; absolute XYZE
M82
G90

; move to a safe rest position, adjust as necessary
G1 X10 Y10
{% endif %}

 

La section «Avant la reprise du travail d'impression» :

Citation

{% if pause_position.x is not none %}
; relative extruder
M83

; prime nozzle
G1 E-5 F4500
G1 E5 F4500
G1 E5 F4500

; absolute E
M82

; absolute XYZ
G90

; reset E
G92 E{{ pause_position.e }}

; move back to pause position XYZ
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500

; reset to feed rate before pause if available
{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}
{% endif %}

Tu peux voir que cette dernière section replace la buse à l'endroit de la pause. Par contre je ne l'ai jamais testé avec une impression «pièce après pièce».

Pour ton cas, il faudrait que le déplacement au moment de la pause ne soit réalisé que par une montée de l'axe Z qui dépend des dimensions de ton imprimante et de la hauteur de la pièce donc pas simple. Si la pièce (les pièces) est (sont) bien inférieure(s) au Z maximal, tu pourrais effectuer une montée (pas relative mais absolue) au Zmax-10 par exemple.

🙂

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

Effectivement après le descriptif du code par Stef je me suis demandé comment le chariot connaissait sa position initiale .... mais comme je suis pas une star .. [emoji9]

En fait j’ai suivi cette page

https://community.octoprint.org/t/my-pause-resume-scripts/3541

Et quand j’ai testé en coupant le filament pour m’entraîner au chgt de fil ça fonctionnait donc j’ai pas trop cherché

Mais je vais regardé tes gcodes et sans doute faire un ptit test

Et si ça peut servir j’utilise smart filament sensor

 

J’ai oublié ,

Concernant la hauteur du Z j’y ai bien pensé, mais avec la CR10MAX j’ai 40cm et quand je fais du pièce par pièce c est généralement des petites pièces

Par contre le problème va se poser si j’arrive en fin de bobine sur une pièce assez haute [emoji2955][emoji2955]

Et là du coup j’ai pas encore d’idée pour une éventuelle solution qui m’éviterait de changer les scripts en fonction de ce que j imprime

 

Après qques recherches sur le net je ne vois pas de solution pour un gcode unique qui assurerait un retrait et un deplacement   "safe" dans tous les cas.

Du coup en attendant je vais m abstenir de jouer avec des fins de bobines pour mes impressions pièces/pièces et réserver ça pour mes impressions couche par couche ....

Si j ai bien compris ton gcode et si je veux adapter la hauteur de retrait de la buse à 1cm et la longueur de filament retracté de 8cm il faudrait :

{% if pause_position.x is not none %}
; relative XYZE
G91
M83

; retract filament, move Z slightly upwards
G1 Z+10 E-80 F4500

; absolute XYZE
M82
G90

; move to a safe rest position, adjust as necessary
G1 X10 Y10
{% endif %}

et pour la reprise je ne crois pas qu il faille changer quoi que ce soit mais je suis pas sûr 😬

{% if pause_position.x is not none %}
; relative extruder
M83

; prime nozzle
G1 E-5 F4500
G1 E5 F4500
G1 E5 F4500

; absolute E
M82

; absolute XYZ
G90

; reset E
G92 E{{ pause_position.e }}

; move back to pause position XYZ
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500

; reset to feed rate before pause if available
{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}
{% endif %}

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 20 heures, Manu79 a dit :

Si j ai bien compris ton gcode et si je veux adapter la hauteur de retrait de la buse à 1cm et la longueur de filament retracté de 8cm il faudrait :

Citation

;retract filament, move Z slightly upwards
G1 Z+10 E-80 F4500

Oui

Il y a 20 heures, Manu79 a dit :

et pour la reprise je ne crois pas qu il faille changer quoi que ce soit mais je suis pas sûr 

Si il y a au moins une chose à modifier puisque tu as effectué un retrait de 80 mm au moment de la pause, il faut donc que tu ajoutes avant la section «prime nozzle» :

Citation

G1 E80 F3000 ; ramener les 80 mm rétractés à la vitesse de 50 mm/s (3000 mm/min)

; prime nozzle
G1 E-5 F4500
G1 E5 F4500
G1 E5 F4500

Ayant regroupé tes trois posts précédents, essaie d'utiliser la fonction d'édition pour compléter / corriger / rectifier. Pendant une durée de douze (12) heures c'est possible après la parution d'un premier post. La majorité des fora est réticente au multi-post 😉

Pour éditer un sujet, en haut à droite de celui-ci se trouve le bouton , en cliquant dessus les options possibles apparaissent dans un menu déroulant, il suffit de cliquer Éditer pour entrer dans le mode Édition d'un sujet.

🙂

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

  • 4 months later...
Le 03/11/2020 at 14:16, Manu79 a dit :

 

Bonjour la communauté

 

J utilise des scripts de pause et reprise sur octoprint qui marche plutôt bien :

 

Pause

 

 

G91 ; Relative movement

G1 Z5 ; Move head away vertically

G1 E-6 F1000; Retraction move, take away filament pressure

G90 ; Absolute position ON

G1 X0 F2500 ; Move to left edge of print bed

G1 Y0 ; Move to front position (two moves to avoid risk of running into bed clamps)

G91; Relative movement

G1 E-80 F1000; retract filament into bowden for easier swap

G90; Absolute position ON

 

Et de reprise

 

 

G91 ; Relative movement

G1 E80 F300; Reposition filament (or purge if new filament has been pushed in by hand)

G90 ; Absolute position

G1 Y50 F3000; Move past the front left clamp to be safe

 

Aucun problème quand je fais des impressions couche par couche l opération de pause/chgt de filament/ et reprise se passe impeccable.

 

Le souci se pose quand je fais des impressions séquentielles c a d plusieurs objet à suivre où l’imprimante va finir l objet avant de passer au suivant.

 

Dans ces cas là mon script ne fais pas assez monter ma tête d impression ,

par exemple j’ai 4 pièces à imprimer de 15cm de haut, les trois premières s’impriment les unes après les autres et si je tombe à sec de filament au début de ma 4e pièce , la tête d impression va remonter de 4-5 cm et se déplacer et venir percuter les pièces déjà fini .....

 

Je ne suis pas du tout compétent en gcode mais je me demandais si dans la commande G1 Z5 le Z5 serait la hauteur à laquelle la tête doit remonter ?

Si c est le cas j aurais juste à changer cette valeur dans le genre G1 Z20 ?

 

Espérant avoir pu être assez clair

 

Bonne journée à tous

 

Salut Manu79.
Je souhaiterai faire une pause d'impression sur mon Anet A8 pour pouvoir remplacer la couleur du pla.
J'utilise Simplify 3D et je voudrais connaitre les codes que je dois ajouter et à quel emplacement dans les paramètres de Simplify 3D.
Merci d'avance.
 

Lien vers le commentaire
Partager sur d’autres sites

Salutation @Razorback11000

Pour moi, la piste pour le changement de filament, c la commande "M600" mais il y a des obstacles (M600 doit être activé dans le firmware et il faut un écran en mode non  graphique ...)

A tu pris le temps de faire quelque recherche ?

https://www.google.com/search?q=simplify3d.com+filament+change

https://www.lesimprimantes3d.fr/forum/search/?q=simplify3d changement filament&updated_after=any&sortby=relevancy&search_and_or=and

Bonne continuation !

  • +1 1
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...