Aller au contenu

GO Print

extrudeur qui s'arrête après 1 ligne de GCODE ?


demandeinfos

Messages recommandés

Bonjour,

Ma question fait référence à un autre post où je souhaitais pouvoir lancer du GCode pour faire fonctionner une imprimante 3D mais en supprimant le chauffage plateau et aussi celui de l'extrudeur.

A priori, pour l'instant ce que j'ai fait fonctionne, car si je débranche le plateau et l'extrudeur, je peux actionner les 3 axes seuls.

Depuis, j'ai rebranché l'extrudeur (moteur) car j'aurai besoin uniquement de faire fonctionner le moteur. Ca semble fonctionner car en utilisant Repetier Host, la console manuelle me permet d'actionner le moteur de l'extrudeur.

Par contre, en ligne GCode, si je lance par exemple :

- G0 F1000 E25

ou

- G0 X5 Y6 Z3 E25

le moteur tourne mais qu'une fois, c'est à dire, qu'une fois qu'il a mis en oeuvre la toute première commande E, après il n'en prend plus aucune en compte, je dois actionner le bouton arrêt d'urgence de Repetier pour que la fonction E du gcode soit de nouveau prise en compte.

Je ne vois pas où agir, auriez-vous un conseil à me donner ?

Si besoin, je joins au message le config.h de Marlin que j'avais modifié pour les températures plateau et extrudeur, mais je n'ai pas touché à grand chose.

Merci d'avance.

 

 

marlin_modif.docx

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

Je pense que c'est en relatif (G90 dans le GCode).

Je veux bien mettre mon GCode mais le problème n'est pas là je pense, je l'ai mis quand même.

Comme je le disais dans mon précédent post, si je mets dans la console de Repetier Host juste G0 F1000 E25 (sans rien d'autre) par exemple, et que j'envoie, ça ne marchera qu'une fois au premier branchement de l'imprimante, puis si je relance cette unique et même ligne de GCOde, rien, je dois déconnecter l'imprimante pour que ça remarche.

Merci.

 

 

gocde_test_forum_avec_E.gcode

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

Salut,

il y a 4 minutes, demandeinfos a dit :

J'ai mis mon GCODe dans le post,

oups, le lien ne fonctionne pas.

il y a 5 minutes, demandeinfos a dit :

Je pense que c'est en relatif (G90 dans le GCode).

G90, c'est pour les déplacements, pour l'extrudeur c'est M82 (absolu) ou M83 (relatif). Par défaut c'est souvent M82.

il y a une heure, demandeinfos a dit :

Par contre, en ligne GCode, si je lance par exemple :

- G0 F1000 E25

ou

- G0 X5 Y6 Z3 E25

après une de ces commandes, envoie G92 E0, pour repositionner ton extrudeur à 0 et envoie ensuite ta nouvelle commande.

Lien vers le commentaire
Partager sur d’autres sites

Il n'y a qu'une seule instruction pour faire extruder.

(PGM, NAME="1002")
; MACHINE
;   VENDOR AUTODESK
;   DESCRIPTION GENERIC 3-AG0 XIS
; T5  D=1 CR=0.5 - ZMIN=8.135 - BALL END MILL
G90 G40 G94
G17
G71
M26
; TRACE3
M9
M26
T5 M6
M26
S5000 M3
H0
M8
G0 F1000 E25
G0 X25.795 Y126.205
G0 Z95.676
G0 Z84.676
G0 Z8.135 F1000
G0 X25.553 Y125.961 Z8.848
G0 X25.292 Y125.696 Z9.547
G0 X25.014 Y125.411 Z10.229
G0 X24.721 Y125.107 Z10.892
G0 X24.414 Y124.784 Z11.536
G0 X24.094 Y124.444 Z12.158
G0 X23.764 Y124.087 Z12.758
G0 X23.424 Y123.715 Z13.335
G0 X23.076 Y123.33 Z13.886
G0 X22.722 Y122.931 Z14.413
G0 X22.356 Y122.512 Z14.924
G0 X21.977 Y122.071 Z15.419
G0 X21.587 Y121.61 Z15.898
G0 X21.187 Y121.127 Z16.357
G0 X20.777 Y120.626 Z16.795

ça manque de E.

Il en faut à chaque fois que tu veux extruder (en gros pratiquement à chaque ligne).

 

🙂

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

G90 défini le positionnement en absolu pour tous les axes y compris extrudeur sauf s'il est écrasé par M83 (doc Marlin)

En positionnement absolu c'est normal qu'il ne le fasse qu'une fois. Il interprétera les G0 avec la même valeur de E comme "j'y suis déjà, je n'ai rien à faire".

Comme le dit @trotro, la solution c'est M83 pour avoir l'extrudeur en relatif ou remettre à 0 la position de E à chaque fois avec G92 E0. Tu peux aussi tout passer en relatif avec G91 mais ça impacte les autres axes ou incrémenter la valeur de E.

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

Encore une fois merci beaucoup pour vos retours, je n'avais pas du toutes ces notions.

Si je fais

 

G90
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10

en effet, extrudeur et axe sne font qu'un trajet,

 

par contre, je je lance

 

M83
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10

ou

G91
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10

j'obtiens les mouvements les uns à la suite des autres

par contre dans le cas de l'utilisation de M83 ou G91, j'ai un peu de mal à voir l'impact sur l'ensemble du GCode suite au retour de @Tircown

pourriez-vous m'éclairer à ce sujet ?

encore merci

 

 

ps : fonctionne aussi ?

G91
M83
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10

ou

M83
G91
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X10
Lien vers le commentaire
Partager sur d’autres sites

G91 puis M83 ne sert à rien puisque tu passes tous les axes en relatif, E inclus puis défini E en relatif alors qu'il l'est déjà. Inversement pour M83 puis G91.

Comme je l'ai dis G91 impacte les autres axes ce qui signifie que de multiples appels à G0 X10 décaleront X de 10mm à chaque fois. Donc gare à la casse matérielle en allant trop loin.

J'ai voulu être exhaustif mais oublie G91. Utilises G90 puis M83, c'est le plus simple.

Lien vers le commentaire
Partager sur d’autres sites

Tout est très clair, merci beaucoup.

Voici un code que j'ai utilisé et qui fonctionne très bien :

G90
M83
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X20
G0 F1000 E10
G0 X30
G0 F1000 E10
G0 X10
G0 F1000 E10
G0 X20
G0 F1000 E10
G0 X30

l'extrudeur tourne, puis x avance ou revient et ainsi de suite

je profite du post pour poser une question que je me pose depuis que je suis sur ce sujet : y aurait-il un moyen de lancer l'extrudeur par exemple sur 100 mm et parallèlement demander à l'imprimante de faire ses mouvements, l'idée est de ne pas devoir indiqué à chaque ligne E X mm ? (je sais que ce n'est pas le principe de l'imprimante, mais je voudrais savoir si c'était possible) ?

Lien vers le commentaire
Partager sur d’autres sites

Non, ce n'est pas possible car vu que la vitesse varie en fonction du déplacement, l'extrusion ne sera pas optimisée.

 

C'est balo, tu as compris trop vite, je venais juste de faire un croquis 😄

IMG_20181110_172006.thumb.jpg.df55e4d22b3ff35e77194c40507f50f0.jpgIMG_20181110_172419.thumb.jpg.ad42ef08eea55a445c264bf15f0a9b82.jpg

 

Le F1000 n'est pas obligatoire sur toutes tes lignes.

Tu en mets un sur la première commande et ça suffit pour définir la vitesse pour toutes tes autres commande.

 

Tu peux aussi faire:

G90
M83
G0 X10 F1000 E10
G0 X20 E10
G0 X30 E10
G0 X10 E10
G0 X20 E10
G0 X30 E10

 

🙂

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

Ok c'est bien clair, et merci pour les schémas.

Alors je viens de tester dans mon GCODE maintenant avec les déplacements que je souhaite, voilà le résultat (je mets que le début après c'est juste des X, Y, Z en plus) :

Si je fais :

G90
G0 X25.795 Y126.205 Z8.135
G0 X25.553 Y125.961 Z8.848
G0 X25.292 Y125.696 Z9.547
G0 X25.014 Y125.411 Z10.229
G0 X24.721 Y125.107 Z10.892
G0 X24.414 Y124.784 Z11.536
G0 X24.094 Y124.444 Z12.158
G0 X23.764 Y124.087 Z12.758
G0 X23.424 Y123.715 Z13.335
G0 X23.076 Y123.33 Z13.886

pas de soucis, tout fonctionne

si je fais :

G90
M83
G0 E10 X25.795 Y126.205 Z8.135
G0 E10 X25.553 Y125.961 Z8.848
G0 E10 X25.292 Y125.696 Z9.547
G0 E10 X25.014 Y125.411 Z10.229
G0 E10 X24.721 Y125.107 Z10.892
G0 E10 X24.414 Y124.784 Z11.536
G0 E10 X24.094 Y124.444 Z12.158
G0 E10 X23.764 Y124.087 Z12.758
G0 E10 X23.424 Y123.715 Z13.335
G0 E10 X23.076 Y123.33 Z13.886
G0 E10 X22.722 Y122.931 Z14.413
G0 E10 X22.356 Y122.512 Z14.924
G0 E10 X21.977 Y122.071 Z15.419

pas de soucis, tout fonctionne aussi, le moteur de l'extrudeur tourne à vitesse constante et les axes vont à une vitesse très inférieure à celle du GCode ci-dessus (c'est flagrant, les moteurs ne jouent pas du tout la même musique)

si je fais :

G90
M83
G0 E1  25.795 Y126.205 Z8.135
G0 E1  25.553 Y125.961 Z8.848
G0 E1  25.292 Y125.696 Z9.547
G0 E1  25.014 Y125.411 Z10.229
G0 E1  24.721 Y125.107 Z10.892
G0 E1  24.414 Y124.784 Z11.536
G0 E1  24.094 Y124.444 Z12.158
G0 E1  23.764 Y124.087 Z12.758
G0 E1  23.424 Y123.715 Z13.335
G0 E1  23.076 Y123.33 Z13.886
G0 E1  22.722 Y122.931 Z14.413
G0 E1  22.356 Y122.512 Z14.924
G0 E1  21.977 Y122.071 Z15.419
G0 E1  21.587 Y121.61 Z15.898
G0 E1  21.187 Y121.127 Z16.357
G0 E1  20.777 Y120.626 Z16.795
G0 E1  20.36 Y120.104 Z17.21
G0 E1  19.937 Y119.565 Z17.601

pas de souci, ça fonctionne, la je retrouve la vitesse des axes du premier GCODE, et à ma grande surprise, le moteur de l'extrudeur fait des accélérations ! en fait, quand j'observe l'imprimante, à un moment du déplacement du plateau, il y a des accélerations du plateau et au même moment, l'extrudeur tourne plus vite

je donne peut-être l'impression de découvrir ... mais c'est le cas 😉

en fait mon déplacement correspond à une succession d'arc de cercles disposés en rond, l'imprimante accélère quand elle forme le haut de l'arc et ralenti par contre pour faire les montées et descentes

 

j'ai 2 questions sur ces observations :

- comme je n'ai pas de connaissance dans la programmation : pourquoi quand je mets E1 ou E10 je n'observe pas le même comportement de l'imprimante ?

- imaginons que je souhaite que les arcs soient tracés à vitesse constante et que l'extrudeur lui aussi, tourne à vitesse constante, serait-ce possible ? (a priori, je dirais non, je ne suis pas du tout spécialiste, mais ça me semble contraire à ce que justement on demande de faire à Marlin)

merci pour vos retours

Lien vers le commentaire
Partager sur d’autres sites

Tes axes (X, Y, Z et E) sont limités individuellement à certaines vitesses.

Avec ton E10, comme il y a une grande distance à parcourir (beaucoup de filament à extruder), Les autres axes sont limites par cette vitesse (vu qu'a la fin de l'action, les 3 axes (X, Y, E) doivent finir en même temps.

 

Avec ton E1, ce n'est plus E qui régule les autres autres.

il y a 17 minutes, demandeinfos a dit :

- imaginons que je souhaite que les arcs soient tracés à vitesse constante et que l'extrudeur lui aussi, tourne à vitesse constante, serait-ce possible

Oui, mais ça demande un peu de calcul et de math (théorème de Pythagore).

 

🙂

Lien vers le commentaire
Partager sur d’autres sites

Tout à fait, dans la limite la vitesse max de chaque axe.

IMG_20181110_185738.thumb.jpg.8da5ce90d36f747824a953639e7ea15c.jpg

Par exemple, dans ce cas,

à gauche, l'axe se déplace de 10 mm/s à une vitesse de 5 mm/s.

Il lui faut donc 2 secondes.

Durant ce déplacement, E doit avancer de 5 mm.

Si il le fait à sa vitesse max, il ne mettrais qu'une seconde.

Il doit donc réduire sa vitesse à 2.5mm/s.

 

Dans le cas de droite, vu que la Vmax de X est de 10, le déplacement durera 1 seconde, ce qui correspond à la vitesse max de E et au debit de E en 1 seconde.

 

Là où ça se complique un peu, c'est quand X et Y se déplacent en même temps.

IMG_20181110_172006.thumb.jpg.df55e4d22b3ff35e77194c40507f50f0.jpg

En partant du principe que pour un déplacement de X de 1, il faut une extrusion de 1 ( 1E pour faire simple) et que pour un déplacement de Y de 1, il faut également une extrusion de 1 E

Pour aller du point 1 à 2, ça donne (en relatif)

X1 Y0 E1

Pour aller du point 2 à 3, ça donne (en relatif)

X0 Y1 E1

Pour aller du point 4 à 5, ça donne (en relatif)

X1 Y1 E1.414

J'obtiens 1.414 grâce à Pythagore ( E = racine (X² + Y²) ) donc E = racine (1 + 1) = racine de 2.

Pour aller du point 4 à 6 en un sel déplacement , ça donne (en relatif)

X2 Y1 E2.236 (racine de (2² + 1²)  = racine de (4 +1) = 2.236)

 

Il faut donc calculer la vitesse en fonction de chaque déplacement.

 

🙂

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

Merci beaucoup encore pour ces détails.

 

il y a 12 minutes, Yo' a dit :

à gauche, l'axe se déplace de 10 mm/s à une vitesse de 5 mm/s. 

est-ce que ce ne serait pas "l'axe se déplace de 10 mm/s à une vitesse de 5 mm/s. " ? (c'est juste pour être sûr de bien comprendre)

 

pour le reste, faut je regarde ça à tête réposée et faire quelques exemples avec l'imprimante

 

si j'ai bien compris aussi, sur la photo du tableau Vx, Vy, et Vz, sont des vitesses en mm/s données uniquement pour exemple (?), mais du coup pour l'imprimante, comment peut-on les connaître ou les modifier ?

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, demandeinfos a dit :

est-ce que ce ne serait pas "l'axe se déplace de 10 mm/s à une vitesse de 5 mm/s. " ? (c'est juste pour être sûr de bien comprendre)

Tu as trouvé le piège !

😄

 

il y a 12 minutes, demandeinfos a dit :

sont des vitesses en mm/s données uniquement pour exemple

Tout à fait.

Il faut que tu aille voir dans Marlin.

Soit dans configuration.H soit via l'écran.

 

🙂

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...