Serge62 Posté(e) Février 13, 2023 Auteur Posté(e) Février 13, 2023 (modifié) Voilà un exemple test_colonnes_0.2mm_PLA_ENDER3V2_15m.gcode Je viens de regarder... il envoie ça M190 S60 ; set bed temperature and wait for it to be reached M104 S215 ; set temperature Modifié (le) Février 13, 2023 par Serge62
Savate Posté(e) Février 13, 2023 Posté(e) Février 13, 2023 il y a 2 minutes, Serge62 a dit : Je viens de regarder... il envoie ça Essaye de rajouter ça avant le START_PRINT dans le gcode de démarrage de PS M104 S0 ; Stops PS/SS from sending temp waits separately M140 S0 ; START_PRINT .... 1
Serge62 Posté(e) Février 13, 2023 Auteur Posté(e) Février 13, 2023 (modifié) Merci @Savate, ça fonctionne Par contre, on est d'accord, c'est bien un bug de prusaslicer ? Logiquement il ne doit pas envoyer ces commandes ? Modifié (le) Février 13, 2023 par Serge62
Savate Posté(e) Février 13, 2023 Posté(e) Février 13, 2023 il y a 13 minutes, Serge62 a dit : c'est bien un bug de prusaslicer Ce n'est pas un bug, c'est une fonctionnalité non désirée
Serge62 Posté(e) Février 13, 2023 Auteur Posté(e) Février 13, 2023 (modifié) Hello, Je continue mon apprentissage des macros ... Et évidemment, j'ai un nouveau souci Dans Prusaslicer, il semble assez simple de paramétrer un changement de couleur. J'ai vérifier dans le g-code, M600 est bien présent. J'ai installé cette macro dans mainsail : [gcode_macro M600] gcode: {% set X = params.X|default(50)|float %} {% set Y = params.Y|default(0)|float %} {% set Z = params.Z|default(10)|float %} SAVE_GCODE_STATE NAME=M600_state PAUSE G91 G1 E-.8 F2700 G1 Z{Z} G90 G1 X{X} Y{Y} F3000 G91 G1 E-50 F1000 RESTORE_GCODE_STATE NAME=M600_state L'impression se déroule bien. L'imprimante réagit au changement de couche, mais elle redémarre son impression sans me laisser la possibilité de changer le filament. Comment puis-je insérer une pause ? Encore une fois, quand je clique sur la macro, tout fonctionne bien. L'imprimante attend bien que je change le filament et attend un resume pour redémarrer. J'y comprend rien, voilà que ça marche maintenant Bizarre cette imprimante.... Modifié (le) Février 13, 2023 par Serge62
fran6p Posté(e) Février 13, 2023 Posté(e) Février 13, 2023 (modifié) Il y a 5 heures, Serge62 a dit : c'est bien un bug de prusaslicer ? C'est plus le fait que le trancheur ne connait pas les macros Klipper et ne «voyant» pas de mise en chauffe, il les ajoute de son propre chef (l'astuce de @Savateest celle recommandée pour éviter ce «soucis»). Avec Cura, c'est le même «problèmes» , mon Cura Start Gcode : Révélation ;Nozzle diameter = {machine_nozzle_size} ;Filament type = {material_type} ;Filament name = {material_name} ;Filament weight = {filament_weight} ; M190 S{material_bed_temperature_layer_0} ; M109 S{material_print_temperature_layer_0} M109 S0 M190 S0 START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0} Fait également attention aux «placeholders» utilisés par les trancheurs (nom des variables et manière de les encadrer), Prusaslicer / Superslicer : on utilise des [ ] quand on utilise une seule variable mais { } si avec cette variable on fait un calcul par exemple ; M140 S[first_layer_bed_temperature] ; set bed temp M190 S[first_layer_bed_temperature] ; wait for bed M104 S{first_layer_temperature[initial_extruder]+extruder_temperature_offset[initial_extruder]} ; set hotend temp M109 S{first_layer_temperature[initial_extruder]+extruder_temperature_offset[initial_extruder]} ; wait for hotend Cura utilise des { } pour encadrer les variables (les noms sont différents de {Prusa|Super}slicer : M140 S{material_bed_temperature_layer_0} ; set bed temp M190 S{material_bed_temperature_layer_0} ; wait for bed M104 S{material_print_temperature_layer_0} ; set hotend temp M109 S{material_print_temperature_layer_0} ; wait for hotend Pour infos, mon START_PRINT (ou PRINT_START) est maintenant le suivant : Citation [gcode_macro START_PRINT] description: Use START_PRINT for the slicer beginning script Customize for your slicer of choice with placeholders. These are different for slicers, so take care of their syntax. gcode: # Get Printer built volume dimensions {% set X_MAX = printer.toolhead.axis_maximum.x|default(235)|float %} {% set Y_MAX = printer.toolhead.axis_maximum.y|default(235)|float %} {% set Z_MAX = printer.toolhead.axis_maximum.z|default(270)|float %} # Get Nozzle diameter and filament width for conditioning {% set NOZZLE = printer.extruder.nozzle_diameter|default(0.4)|float %} {% set FILADIA = printer.extruder.filament_diameter|default(1.75)|float %} # Set Start coordinates of purge lines {% set X_START = 4.0|default(4.0)|float %} {% set Y_START = 9.0|default(9.0)|float %} # Calculate purge line extrusion volume and filament length {% set PRIMER_WIDTH = 1 * NOZZLE %} {% set PRIMER_HEIGHT = 0.5 * NOZZLE %} {% set PRIMER_SECT = PRIMER_WIDTH * PRIMER_HEIGHT %} {% set PRIMER_VOL = PRIMER_SECT * (Y_MAX - 3 - Y_START) * 2 %} {% set FILA_SECT = 3.1415 * ( FILADIA / 2.0) * ( FILADIA / 2.0) %} {% set FILA_LENGTH = 1.55 * PRIMER_VOL / FILA_SECT %} # Get Bed and Extruder temperature from Slicer GCode {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP_PRE = 160|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(205)|float %} # Preheat nozzle and bed M104 S{EXTRUDER_TEMP_PRE} M190 S{BED_TEMP} # Reset Pressure Advance to 0, will be adjusted later in G-code based on material settings from Cura #M900 K0 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home _CG28 # either use one of these below lines : G29 and / or BED_MESH_CALIBRATE # do bed leveling for each print. # BED_MESH_PROFILE use an already made leveling. #G29 #BED_MESH_CALIBRATE BED_MESH_PROFILE LOAD="default" #LEVEL_BED_ADVANCED MAX_AGE=10 ; probe mesh eventually # Park nozzle while things heat up G1 X{X_START} Y{Y_START-5} Z{PRIMER_HEIGHT} F6000.0 # Heat nozzle and bed M190 S{BED_TEMP} M109 S{EXTRUDER_TEMP} # Purge line G90 G92 E0 G1 X{X_START} Y{Y_START} Z{PRIMER_HEIGHT} F6000.0 G1 X{X_START} Y{Y_MAX - 3 - Y_START} Z{PRIMER_HEIGHT} E{FILA_LENGTH} F2000.0 G1 X{X_START + PRIMER_WIDTH} Y{Y_MAX - 3 - Y_START} Z{PRIMER_HEIGHT} G1 X{X_START + PRIMER_WIDTH} Y{Y_START} Z{PRIMER_HEIGHT} E{FILA_LENGTH*2} F2000.0 G92 E0 G1 Z2.0 F600 G1 Z0.2 F600 G1 Z2.0 F600 # Alternative macros PRINT_START and PRINT_END [gcode_macro PRINT_START] gcode: START_PRINT { rawparams } Pour la chauffe des éléments (M109 M190), j'utilise également des macros car Klipper sinon attend que la température soit stabilisée (je n'aime pas attendre ) : Citation # Replace M109 (wait for hotend temperature) and M190 (wait for bed temperature) with TEMPERATURE_WAIT. # This just makes Klipper resume immediately after reaching temp. Otherwise, it waits for the temperature to stabilize. [gcode_macro M109] rename_existing: M99109 gcode: #Parameters {% set s = params.S|float %} M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set hotend temp {% if s != 0 %} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+1} ; Wait for hotend temp (within 1 degree) {% endif %} [gcode_macro M190] rename_existing: M99190 gcode: #Parameters {% set s = params.S|float %} M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set bed temp {% if s != 0 %} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree) {% endif %} Modifié (le) Février 13, 2023 par fran6p 1
Serge62 Posté(e) Février 13, 2023 Auteur Posté(e) Février 13, 2023 (modifié) Merci @fran6ppour ce partage. J'avoue humblement ne pas tout comprendre, mais je vois l'idée C'est vrai que c'est ch... d'attendre J'ai une autre question qui découle de l'utilisation des macros. Est-ce que le homing et le bed leveling se font sous Klipper à chaud ou à froid ? Dans mon start_print, le home se fait à froid, mais dans le tien à chaud. Dans ma macro bed leveling c'est à froid aussi. Finalement, c'est mieux de le faire à chaud ou à froid ? J'ai des soucis de première couche du coup. Perso je dirai que c'est mieux à chaud, mais j'ai entendu dire que sous Klipper c'était à froid... Modifié (le) Février 13, 2023 par Serge62
fran6p Posté(e) Février 14, 2023 Posté(e) Février 14, 2023 Je l'ai toujours fait à chaud, question d'habitude particulièrement pour le «bed_mesh», la buse est à 160°C uniquement pour pouvoir bien la «nettoyer» de tout résidu de filament et à cette température, le filament ne suinte pas. Klipper, au moins pour la partie nivellement via la méthode «papier» dit de le faire à température ambiante pour la buse, extrait de la documentation : Citation Effectuez toujours le test du papier lorsque la buse et le lit sont à température ambiante ! Lorsque la buse est chauffée, sa position (par rapport au lit) change en raison de la dilatation thermique. Cette dilatation thermique est généralement d'environ 100 microns, ce qui correspond à peu près à la même épaisseur qu'un morceau de papier d'imprimante typique. La quantité exacte de dilatation thermique n'est pas cruciale, tout comme l'épaisseur exacte du papier n'est pas cruciale. Commencez par l'hypothèse que les deux sont égaux (voir ci-dessous pour une méthode de détermination de la différence entre les deux distances). Il peut sembler étonnant de calibrer la distance à température ambiante alors que l'objectif est d'avoir une distance constante lorsqu'il est chauffé. Cependant, si l'on calibre lorsque la buse est chauffée, elle a tendance à laisser couler de petites quantités de plastique fondu sur le papier, ce qui modifie la quantité de frottement ressenti. Cela complique l'obtention d'un bon calibrage. Le calibrage alors que le lit/la buse est chaud augmente également considérablement le risque de se brûler. La dilatation thermique est stable, elle est donc facilement prise en compte plus tard dans le processus d'étalonnage. Leur raison est celle «en gras», comme je ne chauffe la buse qu'à 160°C, je n'ai pas de problème de suintement Quant aux brûlures, je ne me suis mis en contact avec une buse une seule fois, il y a bien longtemps et cela m'a servi d'apprentissage et j'évite de poser mes gros doigts sur le plateau ce qui fausserait sa planéité.
Serge62 Posté(e) Février 14, 2023 Auteur Posté(e) Février 14, 2023 Merci @fran6p, Je vais relire cette partie avec attention.
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