Impression 3D

D’une révolution nous passons aux évolutions, l’imprimante 3D est en passe de transformer notre quotidien en se démocratisant avec des modèles de plus en plus performants et simples d’usage.

L’impression 3D est une formidable aventure que nous vous proposons de partager au travers de ce forum.
Forum spécialisé BQ Witbox, Hephestos , Witbox 2, Hephestos 2, Witbox Go!

[GCODE] Comment réaliser une pause en cours d'impression

Cette rubrique concerne les questions technique que vous aimeriez soumettre.

Retour vers Logiciels

par Lolo80 » Jeu Août 04, 2016 3:26 pm

Dans le cadre d'un projet personnel, je souhaitais intégrer des pièces métalliques dans la pièce en cours d'impression.
Pour cela, j'avais besoin que mon imprimante, durant son impression, fasse une pause à une hauteur spécifique, revienne à l'origine, bip un coup pour prévenir puis que l'on puisse reprendre l'impression une fois les pièces métalliques insérées dans  la structure.

Après plusieurs test voilà le compromis que j'ai trouvé (Attention cette solution marche parfaitement avec Octoprint, j'ignore si elle fonctionne avec la carte SD)

Voici le bout de GCODE à intégrer au moyen du notepad à la hauteur souhaitée:

Code : Tout sélectionner
; ++++++ PAUSE PRINT +++++
G28 X Y ; Revenir a Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M1 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
M600 X0 Y0 Z10 E0 L0 ; purge buse en activant le changement de filament qu'on ne change pas mais qu'on laisse purger.
; +++++++++++++++++++++++++



Edit: Mise à jour du post avec la version finale du bout de Gcode
Dernière édition par Lolo80 le Lun Avr 17, 2017 2:49 pm, édité 4 fois.
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Lolo80 » Jeu Août 04, 2016 6:13 pm

Un début d'idée qui règle partiellement le problème:

J'intègre dans le gcode à la ligne layer voulue le code suivant:

; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEST PAUSE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M600 X0 Y0 Z10 E0 L0 ; pause
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ca fonctionne, mais c'est une fonction pour changer le filament, alors ca met le système en pause, monte de 10 mm puis retourne à 0 en X et Y mais après il demande à changer le filament.
Il suffit de ne pas le changer, mais c'est pas parfait :/

J'apprécierai de trouver la même chose mais sans le changement de filament. 
Le Gcode parfait serait:

1/ Monter la tête de 5 mm
2/ Bouger la tête à X0 et Y0
3/ Eteindre la chauffe
4/ Mettre en pause
5/ Relancer en appuyant sur le bouton de l'hephestos
6/ Monter la température à 200
7/ Reprendre l'impression
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Axel » Jeu Août 04, 2016 8:57 pm

Ici, un  très long tutoriel en français avec des idées à prendre : regarder du côté des "process" notamment et des scripts
http://multi-rotor-fans-club.com/viewto ... 65&t=15895

voir aussi les tutos et vidéos sur le site même de Simplify3d : il y a un forum  aussi
Axel
Vénérable membre
 
Message(s) : 393
Inscrit le : Sam Oct 25, 2014 7:23 am
Imprimante 3D: WITBOX

par Jacques » Jeu Août 04, 2016 9:46 pm

Lolo80 a écrit:Un début d'idée qui règle partiellement le problème:

J'intègre dans le gcode à la ligne layer voulue le code suivant:

; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEST PAUSE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M600 X0 Y0 Z10 E0 L0 ; pause
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ca fonctionne, mais c'est une fonction pour changer le filament, alors ca met le système en pause, monte de 10 mm puis retourne à 0 en X et Y mais après il demande à changer le filament.
Il suffit de ne pas le changer, mais c'est pas parfait :/

J'apprécierai de trouver la même chose mais sans le changement de filament. 
Le Gcode parfait serait:

1/ Monter la tête de 5 mm
2/ Bouger la tête à X0 et Y0
3/ Eteindre la chauffe
4/ Mettre en pause
5/ Relancer en appuyant sur le bouton de l'hephestos
6/ Monter la température à 200
7/ Reprendre l'impression

C'est un bon début, M600 est une pose pour un changement de filament, il faut trouver le g-code d'une pose simple
Ensuite éteindre la chauffe est un peu plus compliqué à gérer car au redémarrage il manquera du fil.
Par contre dans un autre sujet nous avions parlé avec Axel d'un changement de fil pour un bracelet en deux temps et deux impressions différentes
En bricolant le STL on peut le faire sans problème avec la deuxième impression en l'air
Recherche le sujet d'Axel sur le bracelet bicolor
Vous cherchez une imprimante, du filament, une pièce détachée, visitez notre boutique, https://boutique.premium-computer.fr/
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Premium, la qualité, le service en plus.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3705
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Lolo80 » Jeu Août 04, 2016 11:07 pm

Le problème c'est que j'ai beau regarder toutes les fonctions, je ne trouve pas de fonction pause (et presser une touche pour resume).
Seulement m600 pour changement de fil, sinon c'est G4 mais on se trouve alors avec une limite de temps avant la reprise de l'impression (et comme c'est pour mettre des aimants , il suffit de pas faire gaffe et pouf on a tous les aimants collés à l'aimant que l'on souhaitait mettre et ainsi se retrouvait à prendre plus de temps que prévu).

Alors effectivement, il reste la solution à faire une impression en 2 temps, mais je n'aime pas vraiment le concept, je préfère de ce fait utiliser m600 :/
Après en lisant les actions Gcode, on peut facilement stopper la température  :

=> exemple M104 S190 Règle la température de l'extrudeuse actuelle à 190oC et le maintien à cette température.

et la faire reprendre

=> M109 dans Marlin, Sprinter (ATmega port) et DuetDéfinir la température de l'extrudeur en degrés celcius et attendre qu'elle soit atteinte. Exemple: M109 S185

Le principal problème... c'est trouver une fonction pause....
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Jacques » Ven Août 05, 2016 1:01 am

M0 ou M1 sont des pauses avec attente jusqu'à  une pression sur le sélecteur
Je pense que la pause avec arrêt de la chauffe posera le problème du relâchement électrique des moteurs avec le risque d'un petit décalage à la reprise de l'impression.
Vous cherchez une imprimante, du filament, une pièce détachée, visitez notre boutique, https://boutique.premium-computer.fr/
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Premium, la qualité, le service en plus.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3705
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Lolo80 » Ven Août 05, 2016 12:22 pm

Merci, je ne trouvais pas cette fonction dans la liste d'action du reprap.

Je vais essayer tout ça et je vous tiens au courant :D

Je crois qu'il existe une fonction pour bloquer les moteurs. Je vais bidouiller un truc et voir ça.
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Lolo80 » Ven Août 05, 2016 12:57 pm

Alors je viens de faire une test qui s'avère presque parfait:

; ++++++ PAUSE PRINT +++++
G0 Z1 ; Monter la tête de 5mm
G28 XY ; Revenir à Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M1 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
; ++++++++++++++++++++++++++

L'impression se coupe, et la chauffe avec.
La reprise se fait au moyen d'octoprint en pressant la touche "resume"
La chauffe reprend et se lance lorsque la tête atteint les 200. Il n'y a qu'à mettre un bout de pla en dessous de la buse pour absorber le surplus et ainsi éviter les bavures.

Le seul problème c'est qu'effectivement les moteurs se coupent aussi avec de ce fait un risque de décalage.
Et je pense que même si je rajoute une ligne pour bloquer les moteurs, l'action M1 les désactivera de nouveau.... 
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Lolo80 » Ven Août 05, 2016 1:52 pm

J'avance, avec ce gcode, la buse stoppe la chauffe se met en pause avec moteur bloqué et reprend la chauffe une fois passer le changement de fil.

G0 Z1 ; Monter la tête de 5mm
G28 XY ; Revenir à Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M600 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
G1 E10 F225 ; G1 E10 F225 ; purge buse de 10 mm de PLA
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Lolo80 » Ven Août 05, 2016 8:20 pm

Finalement, le gcode précédant comporte un défaut.
Malgré avoir rajouter une purge de l'extrudeur, on constate un manque de matière et j'ignore pour quelle raison.

J'ai fini par trouver un compromis:

; ++++++ PAUSE PRINT +++++
G0 Z1 ; Monter la tete de 1mm
G28 X Y ; Revenir a Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M1 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
M600 X0 Y0 Z10 E0 L0 ; purge buse en activant le changement de filament qu'on ne change pas mais qu'on laisse purger.
; ++++++++++++++++++++++++++
L'avantage c'est que le système coupe la température puis se met en pause.
Une fois disponible pour relancer l'impression, il n'y a qu'à resume via octoprint pour relancer la chauffe et purger la buse.
Dernière édition par Lolo80 le Ven Août 05, 2016 11:28 pm, édité 1 fois.
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Jacques » Ven Août 05, 2016 8:55 pm

Pour ma par je ferais une coupe de température puis reprise avec réchauffe et une nouvelle pause de facon à purger à la main la buse.
Le relachement des moteur intervient si aucun mouvement n'est fait pendant 1 ou 2 minutes
C'est juste un paramètre dans des fichiers Marlin, je pense qu'il y a moyen de supprimer cette fonction
Vous cherchez une imprimante, du filament, une pièce détachée, visitez notre boutique, https://boutique.premium-computer.fr/
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Premium, la qualité, le service en plus.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3705
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Lolo80 » Sam Août 06, 2016 1:38 pm

Après un essai sur une pièce plus grosse, je viens de réaliser que la ligne:
G0 Z1 ; Monter la tete de 1mm
semble positionner la tête à 1mm et non monter la tête d'1 mm. Quelle serait la ligne appropriée pour que la tête se lève de son point d'origine?
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

par Jacques » Sam Août 06, 2016 5:36 pm

Il faut passer en mode relatif G91 puis repasser en mode absolu G90 si le code était dans cet état avant  :ugeek:
Vous cherchez une imprimante, du filament, une pièce détachée, visitez notre boutique, https://boutique.premium-computer.fr/
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Premium, la qualité, le service en plus.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3705
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Jacques » Mer Août 17, 2016 3:00 pm

Lolo80 a écrit:Finalement, le gcode précédant comporte un défaut.
Malgré avoir rajouter une purge de l'extrudeur, on constate un manque de matière et j'ignore pour quelle raison.

J'ai fini par trouver un compromis:

; ++++++ PAUSE PRINT +++++
G0 Z1 ; Monter la tete de 1mm
G28 X Y ; Revenir a Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M1 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
M600 X0 Y0 Z10 E0 L0 ; purge buse en activant le changement de filament qu'on ne change pas mais qu'on laisse purger.
; ++++++++++++++++++++++++++
L'avantage c'est que le système coupe la température puis se met en pause.
Une fois disponible pour relancer l'impression, il n'y a qu'à resume via octoprint pour relancer la chauffe et purger la buse.

Il y a une commande qui pourrait être bien utile car elle permet de ne jamais désactiver les moteurs
M85 - Set inactivity shutdown timer with parameter S. Disable with "M85" or "M85 S0".
De cette manière il serait possible de couper la chauffe sans pour autant perdre un pas moteur lors de la reprise
Il faut toutefois tester cette fonction et la réarmer avec 2 minutes (M85 S120) après la pause car elle risque de laisser les moteurs sous tension après l'impression.
A tester
Vous cherchez une imprimante, du filament, une pièce détachée, visitez notre boutique, https://boutique.premium-computer.fr/
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Premium, la qualité, le service en plus.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3705
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Lolo80 » Lun Avr 17, 2017 2:44 pm

Je remet à jour ce post pour donner le bout de Gcode que j'utilise quotidiennement pour intégrer des aimants:

Code : Tout sélectionner
; ++++++ PAUSE PRINT +++++
G28 X Y ; Revenir a Zero en X Y
M104 S0 ; Couper la chauffe
M300 S300 P1000 ; Bip 1 seconde
M1 ; Pause attente pression
M109 S200 ; Reprise de la chauffe à 200°
M600 X0 Y0 Z10 E0 L0 ; purge buse en activant le changement de filament qu'on ne change pas mais qu'on laisse purger.
; ++++++++++++++++++++++++++


Il faut intégrer ce bout de Gcode au moyen du notepad à la hauteur souhaitée (rechercher "Layer XX") afin que l'impression, se mette en pause, revienne à son origine, coupe la chauffe et bloque les moteurs (ce qui permet de vaquer à ses occupations sans se préoccuper de l'imprimante).
Une fois les aimants (où autre chose) placés dans l'impression en cours, il faut relancer l'impression en pause (au moyen d'Octoprint, je ne sais pas si l'option se présente lorsque l'on utilise la carte SD).
L'extrudeur se remet à 200° et propose le changement de filament (option obligatoire pour éviter un manque de matière lors de la reprise de l'impression (j'ai fait pas mal de test c'est la seule chose qui marche parfaitement).
Changer ou non le filament et l'impression reprend où elle s'était interrompue.

Ce système marche parfaitement avec octoprint, il faudrait le tester au moyen de la carte SD pour voir si l'option de reprise de l'impression apparaît via l'écran de l'imprimante (dans mon cas ce n'est pas le cas, mais j'utilise uniquement octoprint).
Lolo80
Contributeur
 
Message(s) : 90
Inscrit le : Sam Oct 25, 2014 4:31 pm
Imprimante 3D: Hephestos

Suivant

Retour vers Logiciels