mich0111 Posté(e) Avril 15, 2022 Partager Posté(e) Avril 15, 2022 (modifié) Bonjour, J'utilise Cura et je n'arrive pas à comprendre pourquoi j'ai des instructions Gcode après la séquence supposée de fin. Voici ce que je mets comme séquence de fin : ;Dual end G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X0 Y240 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positionning T0 G1 X-62 T1 G1 X362 G1 Y{machine_depth} ;Present print M106 S0 ;Turn-off fan M104 T0 S0 ;Turn-off hotend 0 M104 T1 S0 ;Turn-off hotend 1 M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z M109 T0 S40 ;Waiting for hotend 0 temp = 40° M109 T1 S40 ;Waiting for hotend 1 temp = 40° M81 ;Turn-off printer Et voici ce que j'ai à la fin du fichier slicé : ;Dual end G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X0 Y240 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positionning T0 G1 X-62 T1 G1 X362 G1 Y302 ;Present print M106 S0 ;Turn-off fan M104 T0 S0 ;Turn-off hotend 0 M104 T1 S0 ;Turn-off hotend 1 M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z M109 T0 S40 ;Waiting for hotend 0 temp = 40° M109 T1 S40 ;Waiting for hotend 1 temp = 40° M81 ;Turn-off printer M82 ;absolute extrusion mode M104 S0 ;End of Gcode ;SETTING_3 {"extruder_quality": ["[general]\\nversion = 4\\nname = \\u00c9bauche ;SETTING_3 custom 1\\ndefinition = SV04_Dual_Mode\\n\\n[metadata]\\nsetting_ver ;SETTING_3 sion = 16\\ntype = quality_changes\\nintent_category = default\\nqual ;SETTING_3 ity_type = draft\\nposition = 0\\n\\n[values]\\ninfill_pattern = tria ;SETTING_3 ngles\\ninfill_sparse_density = 20\\nmagic_fuzzy_skin_outside_only = ;SETTING_3 True\\nmaterial_final_print_temperature = 195\\nmaterial_print_temper ;SETTING_3 ature = 195\\nmaterial_standby_temperature = 185\\nsupport_angle = 52 ;SETTING_3 \\n\\n", "[general]\\nversion = 4\\nname = \\u00c9bauche custom 1\\nd ;SETTING_3 efinition = SV04_Dual_Mode\\n\\n[metadata]\\nsetting_version = 16\\nt ;SETTING_3 ype = quality_changes\\nintent_category = default\\nquality_type = dr ;SETTING_3 aft\\nposition = 1\\n\\n[values]\\ninfill_pattern = triangles\\ninfil ;SETTING_3 l_sparse_density = 20\\nmaterial_final_print_temperature = 195\\nmate ;SETTING_3 rial_print_temperature = 195\\n\\n"], "global_quality": "[general]\\n ;SETTING_3 version = 4\\nname = \\u00c9bauche custom 1\\ndefinition = SV04_Dual_ ;SETTING_3 Mode\\n\\n[metadata]\\nsetting_version = 16\\ntype = quality_changes\ ;SETTING_3 \nintent_category = default\\nquality_type = draft\\n\\n[values]\\nad ;SETTING_3 hesion_type = raft\\nsupport_enable = True\\n\\n"} J'aimerais bien savoir à quel endroit sont ajoutées les dernières instructions, c'est-à-dire à partir du dernier M82. Je m'étais rendu compte d'un problème parce que seul un des 2 hotend était refroidi et qu'en plus l'imprimante n'était jamais éteinte. Or je voulais être sûr que les 2 extrudeuses étaient refroidies avant d'éteindre automatiquement l'imprimante. Par avance, merci de votre aide. Amitiés Michel Modifié (le) Avril 15, 2022 par mich0111 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fran6p Posté(e) Avril 15, 2022 Partager Posté(e) Avril 15, 2022 Pour chacun de tes extrudeurs, leur section Gcode de fin est vide ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 15, 2022 Auteur Partager Posté(e) Avril 15, 2022 (modifié) Non, mais rien qui ne corresponde. La séquence est identique pour les 2 extrudeuses. G92 E0 G1 Z{retraction_hop_height_after_extruder_switch} F12000 G1 E-{switch_extruder_retraction_amount} G92 E0 D'ailleurs, si j'ajoute l'instruction M82 dans mon gcode de fin avant le M81, est-ce que cela ne réglera pas le problème ? Le 2ème M104 sera en surplus mais ne devrait pas gêner il me semble avec l'imprimante déjà éteinte. Sachant que je ne sais pas à quoi servent les instructions SETTING qui sont toutes mises en commentaire. Modifié (le) Avril 15, 2022 par mich0111 Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) Salut @mich0111, Je vais sûrement dire de grosses bêtises, mais au moins, tu es prévenu . Il y a 19 heures, mich0111 a dit : J'aimerais bien savoir à quel endroit sont ajoutées les dernières instructions, c'est-à-dire à partir du dernier M82. Je pense que c'est à la fin de la fonction "FffGcodeWriter::finalize" du fichier FffGcodeWriter.cpp, dans les sources de Cura_SteamEngine: Citation // set extrusion mode back to "normal" const bool set_relative_extrusion_mode = (gcode.getFlavor() == EGCodeFlavor::REPRAP); gcode.writeExtrusionMode(set_relative_extrusion_mode); for (size_t e = 0; e < Application::getInstance().current_slice->scene.extruders.size(); e++) { gcode.writeTemperatureCommand(e, 0, false); } gcode.writeComment("End of Gcode"); Ce qui peut être intéressant, c'est le commentaire qui suit ces lignes Citation the profile string below can be executed since the M25 doesn't end the gcode on an UMO and when printing via USB. La question est: est-ce qu'un M25 à la fin de ton Gcode de fin changerait quelque chose? Il y a 18 heures, mich0111 a dit : D'ailleurs, si j'ajoute l'instruction M82 dans mon gcode de fin avant le M81, est-ce que cela ne réglera pas le problème ? Je ne vois pas pourquoi, donc non Il y a 18 heures, mich0111 a dit : Sachant que je ne sais pas à quoi servent les instructions SETTING qui sont toutes mises en commentaire. Sûrement pour une analyse / pour information Il y a 19 heures, mich0111 a dit : seul un des 2 hotend était refroidi Tu pourrais essayer de forcer les commandes avec: T0 M104 T0 S0 ;Turn-off hotend 0T1 M104 T1 S0 ;Turn-off hotend 1 M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but ZT0 M109 T0 S40 ;Waiting for hotend 0 temp = 40°T1 M109 T1 S40 ;Waiting for hotend 1 temp = 40° Il y a 19 heures, mich0111 a dit : en plus l'imprimante n'était jamais éteinte As-tu vérifier que la PS_ON_PIN est correctement définie et câblée? Modifié (le) Avril 16, 2022 par pommeverte 1 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 il y a 37 minutes, pommeverte a dit : Je pense que c'est à la fin de la fonction "FffGcodeWriter::finalize" du fichier FffGcodeWriter.cpp, Bonjour et merci pour ton analyse. Donc, c'est mort puisque je ne vais pas prendre le risque de modifier les sources et les recompiler puisqu'à chaque nouvelle release il faudra penser à le refaire. il y a 39 minutes, pommeverte a dit : Je ne vois pas pourquoi, donc non Jee suis mal exprimé. Je voulais dire qu'en ajoutant le M82 manquant dans mon code de fin, avant l'exécution du M81, je complétais la séquence et donc il ne manquait rien par rapport à ce que proposait cura en standard. La question que je me pose est, que se passe-t-il lorsqu'on envoie une instruction à une imprimante éteinte ?. Est-ce que cela ne va pas bloquer l'exécution du fichier puisqu'il n'aura plus de réponse ? il y a 43 minutes, pommeverte a dit : Tu pourrais essayer de forcer les commandes avec: Est-ce que ce n'est pas la même chose que ce que j'ai écrit ? Je veux dire que mettre des Tx il y a 46 minutes, pommeverte a dit : entre les instructions ou les incorporer dans les instructions ce n'est pas pareil ? C'est une vraie question, je ne suis pas spécialiste du gcode. il y a 48 minutes, pommeverte a dit : As-tu vérifier que la PS_ON_PIN est correctement définie et câblée? Pour le coup, je ne comprends même pas la question Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) Il y a 3 heures, mich0111 a dit : La question que je me pose est, que se passe-t-il lorsqu'on envoie une instruction à une imprimante éteinte ? La communication sera perdue donc, après, c'est la gestion des erreurs de communication du logiciel qui envoie les commandes (Pronterface, octopi,...) qui prend le relai. Il y a 3 heures, mich0111 a dit : Est-ce que ce n'est pas la même chose que ce que j'ai écrit ? Je veux dire que mettre des Tx En théorie si, mais peut-être qu'il faut bien lui hurler dans les oreilles pour que le microcontrôleur comprenne Il y a 3 heures, mich0111 a dit : Pour le coup, je ne comprends même pas la question Je ne l'ai jamais testé, mais de ce que j'imagine, la commande M81 change l'état de la broche n° PS_ON_PIN du microcontrôleur. Du coup, c'est sur cette broche/connecteur qu'il faut brancher ton relai qui éteint l'alimentation de l'imprimante. Modifié (le) Avril 16, 2022 par pommeverte Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 il y a 1 minute, pommeverte a dit : Du coup, c'est sur cette broche/connecteur qu'il faut brancher ton relai qui éteint l'alimentation de l'imprimante. Mais c'est vraiment galère, j'espère ne pas être obligé de brancher le relais sur cette pin. Je vais faire un essai avec ce gcode et voir ce que ça donne. Je reviendrais donner le résultat. Bon WE et merci encore Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 Normalement, la broche du microcontroleur devrait être accessible depuis une broche d'un connecteur . Quelle carte-mère as-tu sur ton imprimante? 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
PPAC Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) Il y a 1 heure, pommeverte a dit : Il y a 19 heures, mich0111 a dit : Sachant que je ne sais pas à quoi servent les instructions SETTING qui sont toutes mises en commentaire. Sûrement pour une analyse / pour information Cela permet éventuellement de réimporter les modification d'un profil d'impression sous Ultimaker Cura ... Et comme ce sont des commentaires cela n'a normalement pas d'influence lors de l'impression. Après pour l'histoire de l'imprimante qui ne s’arrête pas là il faudrait plus de détail ... (si vraiment il y a un relais d’arrêt ) Aussi il me semble que pour attendre le refroidissement des buses, il faut plutôt utiliser le 'R' pour attendre le refroidissement et non 'S' qui lui continue dé que l'on dépasse la température ... https://marlinfw.org/docs/gcode/M109.html Citation Usage .. [R<temp>] Target temperature (wait for cooling or heating). [S<temp>] Target temperature (wait only when heating). Also AUTOTEMP: The min auto-temperature. ... Examples ... Set target temperature, wait even if cooling M109 R120 Modifié (le) Avril 16, 2022 par PPAC 1 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) il y a 5 minutes, PPAC a dit : si vraiment il y a un relais d’arrêt Perso, j'en doute, vu la réponse faite . @mich0111 devait penser que c'était intégré ... il y a 5 minutes, PPAC a dit : Aussi il me semble que attendre le refroidissement des buses, il faut plutôt utiliser le 'R' pour attendre le refroidissement et non 'S' qui lui continue dé que l'on dépace la température ... Bien vu , je crois que l'affaire est résolue. Une nouvelle fois, le coupable se situait entre l'écran et la chaise Modifié (le) Avril 16, 2022 par pommeverte 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fran6p Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) Il y a 22 heures, mich0111 a dit : Sachant que je ne sais pas à quoi servent les instructions SETTING qui sont toutes mises en commentaire. Elles servent par exemple quand on veut réutiliser un profil de tranchage qu'on a pas enregistré Un fichier gcode tranché via Cura peut être réutilisé pour ajouter un profil (cette dernière section n'est pas bien difficile à analyser, il n'y a en fait que les différences par rapport à un profil standard). Quant aux M80/M81 il faut pour que ça fonctionne ou que la carte soit capable de les gérer directement ou via un relai genre BTT ou, c'est que j'utilise, des prises connectées (commandées via Tasmota (Sonoff)) qui possèdent une adresse IP: je peux éteindre l'imprimante (M81 ad.res.se.ip ) après avoir attendu que la buse soit repassée sous les 50°C (M109 R50) Modifié (le) Avril 16, 2022 par fran6p 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 (modifié) J'ai modifié le gcode de fin pour en faire ceci : ;Dual end G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X0 Y240 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positionning T0 G1 X-62 T1 G1 X362 G1 Y{machine_depth} ;Present print M106 S0 ;Turn-off fan T0 M104 S0 ;Turn-off hotend 0 T1 M104 S0 ;Turn-off hotend 1 M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z T0 M109 R40 ;Waiting for hotend 0 temp = 40° T1 M109 R40 ;Waiting for hotend 1 temp = 40° M82 ;Absolute extrusion mode M81 ;Turn-off printer Résultat des courses, sitôt son travail terminée et même si l'extrudeuse 2 a encore des impressions à faire, l'extrudeuse 1 reçoit la commande "M104 S0". De son côté, l'extrudeuse 2 termine et, sitôt fait, reçoit le même "M104 S0", en même temps qu'un "M140 S0" est envoyé. Ensuite, l'extrudeuse 1 reçoit "M109 R40", l'imprimante attend cette température puis envoie la même commande à l'extrudeuse 2. Une fois cette température atteinte, l'impression est terminée mais l'imprimante n'est pas éteinte. Je vérifie l'exécution des commandes à l'aide de l'écran sur lequel je vois afficher les consignes demandées. Quand à la fin de l'impression, je m'en rends compte par l'extinction de la lumière qui est synchronisée sur la fin de l'impression. Conclusion, le M81 n'est pas pris en compte. Donc, question subsidiaire, existe-t-il un plugin me permettant d'éteindre l'imprimante une fois ces températures atteintes ? Ce n'est pas possible avec octorelay ni avec enclosure. Si j'utilise PSU control avec du Gcode, il est fort probable que j'ai le même comportement. Donc je sèche. Si vous avez des idées, je suis preneur. Amitiés Michel Il y a 4 heures, pommeverte a dit : Perso, j'en doute, vu la réponse faite . @mich0111 devait penser que c'était intégré En fait, si le M81 ne marche pas, je peux également utiliser le relais intégré au RPI3 d'octopi pour allumer/éteindre l'imprimante Modifié (le) Avril 16, 2022 par mich0111 Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 il y a 32 minutes, mich0111 a dit : Donc, question subsidiaire, existe-t-il un plugin me permettant d'éteindre l'imprimante une fois ces températures atteintes ? Le plus gros soucis, c'est qu'il n'y a pas beaucoup d'infos sur ta carte-mère, qui est apparemment une creality V2.5.1 (info trouvée ici). Donc c'est franchement compliqué de répondre, d'autant plus que ça dépend aussi du firmware installé. Effectivement, la solution de passer par le RPi est largement plus envisageable à mon avis. Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 il y a 12 minutes, pommeverte a dit : Le plus gros soucis, c'est qu'il n'y a pas beaucoup d'infos sur ta carte-mère, qui est apparemment une creality V2.5.1 Que puis-je te fournir comme informations supplémentaires ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 Malheureusement aucune puisque je ne pense pas que tu disposes des sources du firmware ni du schéma de la carte. Sinon, on aurait pu activer le GCode M43 qui aurait donné l'info du n° de la broche PS_ON_PIN. Tu peux toujours essayer d'envoyer le Gcode et de croiser tout ce que tu peux pour avoir une réponse ... Le Rpi me parait être la seule solution (que je ne connais pas , mais que d'autres ont déjà utilisée ). Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 Ça peut le faire quand même SV04-V1.1.0 Firmware Source Code(18th Mar 2022).rar Lien vers le commentaire Partager sur d’autres sites More sharing options...
pommeverte Posté(e) Avril 16, 2022 Partager Posté(e) Avril 16, 2022 (modifié) Mince, j'm'attendais à ce que tu répondes, "ben, pas grave" ... Dans les sources, PS_ON_PIN n'a pas de n° de patte attribuée donc, c'est mal parti... je poursuis en te donnant des infos, mais sans matos pour tester de mon coté, je trouve ça très risqué de continuer dans cette voie : D'après la photo ci-dessous, les connecteurs Z1-, Z2-, J1, J2 ne sont pas câblés. Mais j'imagine que des entrées du microcontrôleur le sont via la nappe multicolore. D'après les sources, tu possèdes un BLtouch cablé sur la patte PD12 du microcontroleur, ce qui laisserait l'entrée Z- libre qui pourrait être utilisée pour piloter un relai. J'ai donc préparé un firmware où j'ai activé le Gcode M43 et affecté PS_ON_PIN à Z1- (théoriquement ). Après avoir flashé le firmware, tu envoies un M43 qui devrait te retourner une liste d'entrées/sorties dont PS_ON_PIN avec un n° de broche suivi de PE1. Le test pour valider la sortie sera donc de mesurer la tension sur la broche du milieu, je pense (en tout cas, pas celle reliée à la masse ou au 3.3V), du connecteur Z1- : Pour mettre la sortie à 1, tu envoies en remplaçant xx par le n° que tu as lu dans la réponse au M43:M42 Pxx S1 Pour mettre la sortie à 0, tu envoies en remplaçant xx par le n° que tu as lu dans la réponse au M43:M42 Pxx S0 PS: tu les as trouvé où ces sources? peut-être qu'il y a d'autres infos utiles au même endroit? Citation firmwareV1.bin Modifié (le) Avril 16, 2022 par pommeverte 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 16, 2022 Auteur Partager Posté(e) Avril 16, 2022 Je les ai trouvé sur le site de Sovol. Je n'ai pas été cherché bien loin. Ceci étant, ce que tu me proposes est bien trop compliqué pour moi, ou plutôt trop risqué. Je risque de faire des bêtises. Même si je comprends l'idée générale, ça reste assez touchy. Merci quand même pour tous les efforts fournis. Je vais chercher du côté des plugins. Comme tu le disais, il doit y sûrement y avoir du monde qui a dû y arriver. Bon dimanche. Lien vers le commentaire Partager sur d’autres sites More sharing options...
fran6p Posté(e) Avril 17, 2022 Partager Posté(e) Avril 17, 2022 As-tu lu / testé le sujet suivant ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 17, 2022 Auteur Partager Posté(e) Avril 17, 2022 il y a 53 minutes, fran6p a dit : As-tu lu / testé le sujet suivant ? Salut, Oui j'ai lu tout le sujet et je n'ai pas vu de gestion de température. Ceci étant, je crois que le plugin PSU control est parfait pour ça. Il me reste quelques réglages à trouver et notamment concernant le paramètre sensing. En dehors de ça, ça a l'air de fonctionner. Je reviendrais poster avec la solution complète quand je l'aurais totalement validée. Bonne fin de WE et merci encore Lien vers le commentaire Partager sur d’autres sites More sharing options...
fran6p Posté(e) Avril 17, 2022 Partager Posté(e) Avril 17, 2022 il y a 49 minutes, mich0111 a dit : je n'ai pas vu de gestion de température. Tu entends quoi exactement par «gestion de températures» ? Un simple M109 Rtemp_souhaitee ne suffit pas avant de lancer la commande d'extinction (quelle qu'elle soit) ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mich0111 Posté(e) Avril 17, 2022 Auteur Partager Posté(e) Avril 17, 2022 (modifié) Il y a 3 heures, fran6p a dit : Tu entends quoi exactement par «gestion de températures» ? Le refroidissement des buses. Effectivement le M109 fonctionne mais, en revanche, le M81 derrière n'éteint pas la machine. Ceci étant, j'ai trouvé la solution en utilisant des plugins standards sans rien ajouter ni câbler. J'ai fait un post là-dessus. https://www.lesimprimantes3d.fr/forum/topic/47584-octoprint-utilisation-du-plugin-psu-control/?do=findComment&comment=495996 Et mon gcode de fin devient : ;Dual end G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X0 Y240 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positionning T0 G1 X-62 T1 G1 X362 G1 Y302 ;Present print M106 S0 ;Turn-off fan T0 M104 S0 ;Turn-off hotend 0 T1 M104 S0 ;Turn-off hotend 1 M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z A+ Modifié (le) Avril 17, 2022 par mich0111 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant