Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

Je rencontre un problème en ce moment avec ma nouvelle installation de klipper, mainsail et OrcaSlicer.
Après quelques souci de compréhension concernant les macro, tout fonctionne bien dorénavant.impression de benchy et cube pour la calibration: on est bon.
Je m'attaque maintenant au Pressure advance mais pour une raison qui m'échappe klipper me renvoi une erreur.
Tout d'abord: - je suis obligé de chauffer le plateau et la buse manuellement sinon klipper renvoi l'erreur "extruder not hot enough" pourtant dans ma macro start_print je demande bien                                la chauffe et cela fonctionnait pour les autres fichier avant (benchy cube etc...)

                        -Je rentre donc la température manuellement, l'imprimante fais son G28 mais reste en butée en X et Y et me renvoi l'erreur "Must home axis first: 220.000 220.000 0.163 [-23.000]"

J'ai beau tenté de refaire le homing cela me renvoi toujours à cette erreur et je ne trouve pas d'info sur le net.

Voilà ma macro start modifié avec les variable de température plutôt que des température fixe que j’utilisais avant (seul modification effectué depuis l’impression des benchy ainsi que le z offset

[gcode_macro START_PRINT] 
#variable_T_BED: 60
#variable_T_EXTRUDER: 200
#variable_STANDBY_T_EXTRUDER: 170
gcode:
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
gcode: 
      M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
     # Home the printer
    G28
    
    # Move the nozzle near the bed
    G1 X15 Y20 Z5 F6000
    # Move the nozzle very close to the bed
    G1 Z0.15 F300    
    M117 Waiting for temperature
    # Start bed and extruder heating and continue
    M104 S{STANDBY_T_EXTRUDER}
    M140 S{T_BED}
    {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}
        M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue  
    {% endif %}
    
    M140 S{T_BED} 
    M104 S170
    M190 S{T_BED}
	M109 S{T_EXTRUDER}
    
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0
    G1 F2700 E-5

et voici mon start gcode dans OrcaSlicer.

START_PRINT T_BED=[first_layer_bed_temperature] T_EXTRUDER=[first_layer_temperature]

Si vous pouviez éclairé ma lanterne ce serait top car je nage en eau trouble ^^

En vous remerciant d'avance

 

Posté(e) (modifié)
il y a une heure, lezaii a dit :

Voilà ma macro start modifié avec les variable de température plutôt que des température fixe que j’utilisais avant

vire le deuxième gcode

[gcode_macro START_PRINT] 
#variable_T_BED: 60
#variable_T_EXTRUDER: 200
#variable_STANDBY_T_EXTRUDER: 170
gcode:
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
gcode: <-- A VIRER
      M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp

et là tu veux faire quoi exactement ?

M117 Waiting for temperature
    # Start bed and extruder heating and continue
    M104 S{STANDBY_T_EXTRUDER} ; chauffer la buse sans attendre à STANDBY_T_EXTRUDER
    M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED
    ; si plateau congelé, alors lancer la chauffe avec attente à 85% de la t° ... pourquoi pas mais bon ...
    {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}  
        M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue  
    {% endif %}
    
    M140 S{T_BED} ; et puis maintenant on continue à chauffer le lit ...
    M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... 
    M190 S{T_BED} ; ah on met le lit à la bonne t° et on attend
	M109 S{T_EXTRUDER} ; et la buse va enfin atteindre la t° de consigne

pour quoi ne pas mettre 

M104 S{T_EXTRUDER} ; chauffer la buse sans attendre à T_EXTRUDER

M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED

M190 S{T_BED} ; attendre que le lit soit chaud

M109 S{T_EXTRUDER} ; attendre que la buse soit chaude

 

 

Modifié (le) par Savate
Posté(e)
il y a 15 minutes, Savate a dit :

et là tu veux faire quoi exactement ?

M117 Waiting for temperature
    # Start bed and extruder heating and continue
    M104 S{STANDBY_T_EXTRUDER} ; chauffer la buse sans attendre à STANDBY_T_EXTRUDER
    M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED
    ; si plateau congelé, alors lancer la chauffe avec attente à 85% de la t° ... pourquoi pas mais bon ...
    {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}  
        M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue  
    {% endif %}
    
    M140 S{T_BED} ; et puis maintenant on continue à chauffer le lit ...
    M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... 
    M190 S{T_BED} ; ah on met le lit à la bonne t° et on attend
	M109 S{T_EXTRUDER} ; et la buse va enfin atteindre la t° de consigne

pour quoi ne pas mettre 

M104 S{T_EXTRUDER} ; chauffer la buse sans attendre à T_EXTRUDER

M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED

M190 S{T_BED} ; attendre que le lit soit chaud

M109 S{T_EXTRUDER} ; attendre que la buse soit chaude

 

 

merci de prendre le temp de repondre.
C'est justement ce que j'ai modifié ce matin. Je me suis sans doute embrouillé c'est vrai qu'en relisant à tête reposé ce n'est pas clair haha.

Dans l'idée je voulais:

1-préchauffer la buse mais sans que le filament suinte (T_standby =170)

2-commancer à chauffer le bed

3-une fois arrivé à 85% de la temp du bed, reprendre la chauffe de la buse

4-attendre la température final.

Posté(e) (modifié)
il y a une heure, lezaii a dit :

Dans l'idée je voulais:

laisse tout comme ça alors, mais remplace cette ligne

M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... 

par

M104 S{T_EXTRUDER}  ; on monte la buse à la bonne t° sans attendre

ou par rien si tu ne veux pas monter la buse pendant la chauffe du bed

Modifié (le) par Savate
Posté(e)

@Savate j'ai nettoyer le fichier .cfg pour faire au plus simple le temp de trouver d'où viens mon problème. Maintenant la MACRO start re ssemble à ça.

[gcode_macro START_PRINT] 
#variable_T_BED: 60
#variable_T_EXTRUDER: 200
#variable_STANDBY_T_EXTRUDER: 170
gcode:
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
  M104 S(T_STANDBY_T_EXTRUDER)
  M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED
  M190 S{T_BED} ; attendre que le lit soit chaud
  M109 S{T_EXTRUDER} ; attendre que la buse soit chaude 
      M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
     # Home the printer
    G28
    
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0
    G1 F2700 E-5

LE soucis c'est ce message "extruder not hot enough"quand je lance un print: comme si klipper cherchais à imprimer à froid.
et si je lance la chauffe manuellement avant de lancer le print, l'imprimante fais son g28 normalement puis va en butée contre les fin de course (donc en x=220 y=220 dans mon cas) et m'affiche "must home axis first"j'ai tenté de relancé le même print qu'hier mais idem...

Posté(e)
il y a 14 minutes, lezaii a dit :
  {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
  M104 S(T_STANDBY_T_EXTRUDER)

Erreur de syntaxe sur la variable

dans le set tu as STANDBY_T_EXTRUDER

et ailleurs c'est T_STANDBY_T_EXTRUDER

il y a 15 minutes, lezaii a dit :
M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED
  M190 S{T_BED} ; attendre que le lit soit chaud

tu peux virer le M140 S{T_BED} ... il ne sert à rien 

Si tu lances un

START_PRINT T_BED=60 T_EXTRUDER=200

dans la console, ça chauffe ou pas ?

Posté(e) (modifié)

ok donc variable corrigé.
en lancant

START_PRINT T_BED=60 T_EXTRUDER=200

ca me met "extrude below minimum temp

EDIT: Je précise qu'elle ne fait même pas son g28 avant

Modifié (le) par lezaii
Posté(e)
il y a 26 minutes, lezaii a dit :

ca me met "extrude below minimum temp

tu peux vérifier si tu n'a pas deux START_PRINT dons ton printer.cfg ?

Posté(e) (modifié)

Non un seul..

voilà le .cfg si ça peut être utile.

# This file contains pin mappings for the stock 2020 Creality Ender 5
# Pro with the 32-bit Creality 4.2.2 board. To use this config, during
# "make menuconfig" select the STM32F103 with a "28KiB bootloader" and
# with "Use USB for communication" disabled.

# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select the
# USART3 serial port, which is broken out on the 10 pin IDC cable used
# for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.
[include mainsail.cfg]

[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 220
position_max: 220
homing_speed: 50


[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.620
stealthchop_threshold: 999999

[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 220
position_max: 220
homing_speed: 50

[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.620
stealthchop_threshold: 999999


[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 4
#endstop_pin: ^PC2
endstop_pin: probe:z_virtual_endstop
position_min: -10
position_max: 300
#position_endstop: 0.0
homing_retract_dist: 20

[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999

[safe_z_home]
home_xy_position: 100, 100 # Change coordinates to the center of your print bed
speed: 50
z_hop: 20                 # Move up 20mm
z_hop_speed: 50

[bltouch]
sensor_pin: ^PC2
control_pin: PA1
pin_move_time: 0.2
x_offset: 42
y_offset: -4

# Increase Z_Offset to lower nozzle closer to bed. PLA 2.6
#z_offset: 1.065
samples:2
samples_tolerance: 0.05
samples_tolerance_retries: 3
speed: 60
sample_retract_dist: 20 
pin_up_reports_not_triggered: False
pin_up_touch_mode_reports_triggered: False

[screws_tilt_adjust]
horizontal_move_z: 30
screw1: 0,200
screw1_name: Arrière G
screw2: 150,200
screw2_name: Arrière D
screw3: 0,30
screw3_name: Avant G
screw4: 150,30
screw4_name: Avant D

[bed_mesh]
speed: 120
horizontal_move_z: 30
mesh_min: 42, 14
mesh_max: 220, 200
probe_count: 5, 5
fade_start: 1
fade_end: 10

[extruder]
step_pin: PB3
dir_pin: !PB4
enable_pin: !PD2
microsteps: 16
rotation_distance: 32.56
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 22.44
pid_Ki: 1.80
pid_Kd: 70.02
min_temp: 0
max_temp: 260
min_extrude_temp: 180
max_extrude_only_velocity: 150
max_extrude_only_accel: 5000

[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
stealthchop_threshold: 999999

[heater_bed]
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC3
control: pid
pid_kp: 28.330
pid_ki: 2.053
pid_kd: 97.739
min_temp: 0
max_temp: 135

[heater_fan heatbreak_cooling_fan]
pin: PC7

[fan]
pin:PC6

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_30FFD305344E393718540657-if00

[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1000
max_z_velocity: 5
max_z_accel: 100
square_corner_velocity: 5

[static_digital_output usb_pullup_enable]
pins: !PA14

[board_pins]
aliases:
    EXP1_1=PB5,  EXP1_3=PA9,   EXP1_5=PA10, EXP1_7=PB8,  EXP1_9=<GND>,
    EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9,  EXP1_8=PB15, EXP1_10=<5V>,

# See the sample-lcd.cfg file for definitions of common LCD displays.

[display]
lcd_type: emulated_st7920
en_pin: EXP1_7
spi_software_sclk_pin: EXP1_6
spi_software_mosi_pin: EXP1_8
spi_software_miso_pin: PA3
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2

[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
  BED_MESH_PROFILE LOAD=E5Pklipp

[exclude_object]


	[gcode_macro START_PRINT] 
#variable_T_BED: 60
#variable_T_EXTRUDER: 200
#variable_STANDBY_T_EXTRUDER: 170
gcode:
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
     G28
      M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
  M104 S(STANDBY_T_EXTRUDER)
  M190 S{T_BED} ; attendre que le lit soit chaud
  M109 S{T_EXTRUDER} ; attendre que la buse soit chaude 
   
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0;
    G1 F2700 E-5;

      [gcode_macro END_PRINT]
gcode:
    G91 ;Relative positioning
  G1 E-2 F2700 ;Retract a bit
  G1 E-2 Z0.2 F2400 ;Retract and raise Z
  G1 X5 Y5 F3000 ;Wipe out
  G1 Z10 ;Raise Z more
  G90 ;Absolute positioning
  G28 X0 Y0 ;Present print
  M106 S0 ;Turn-off fan
  M104 S0 ;Turn-off hotend
  M140 S0 ;Turn-off bed

  M84 X Y E ;Disable all steppers but Z

    
[gcode_macro G29]
gcode:
	G28
    M190 S {50}
   	BED_MESH_CLEAR                                        ; Clear bed mesh data
	BED_MESH_CALIBRATE PROFILE=E5Pklipp                                    ; Run Bed Mesh
	G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE SAVE=E5Pklipp                     ; Save Bed Mesh

    
[gcode_macro M300]
gcode:
    {% set S = params.S|default(1000)|int %} ; S sets the tone frequency
    {% set P = params.P|default(100)|int %} ; P sets the tone duration
    {% set L = 0.5 %} ; L varies the PWM on time, close to 0 or 1 the tone gets a bit quieter. 0.5 is a symmetric waveform
    {% if S <= 0 %} ; dont divide through zero
    {% set F = 1 %}
    {% set L = 0 %}
    {% elif S >= 10000 %} ;max frequency set to 10kHz
    {% set F = 0 %}
    {% else %}
    {% set F = 1/S %} ;convert frequency to seconds
    {% endif %}
    SET_PIN PIN=BEEPER_Pin VALUE={L} CYCLE_TIME={F} ;Play tone
    G4 P{P} ;tone duration
    SET_PIN PIN=BEEPER_Pin VALUE=0

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bed_mesh E5Pklipp]
#*# version = 1
#*# points =
#*# 	-0.066875, 0.062500, 0.241875, 0.393750, 0.475000
#*# 	-0.201875, -0.059375, 0.085000, 0.245625, 0.280625
#*# 	-0.314375, -0.180625, -0.036875, 0.070625, 0.090625
#*# 	-0.390625, -0.275625, -0.160625, -0.058750, -0.060625
#*# 	-0.492500, -0.376250, -0.279375, -0.225625, -0.237500
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 42.0
#*# max_x = 220.0
#*# min_y = 14.0
#*# max_y = 200.0
#*#
#*# [bltouch]
#*# z_offset = 0.840
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 	-0.070000, -0.061250, 0.058750, 0.113750, -0.115000
#*# 	-0.091250, -0.063750, 0.030000, 0.066250, -0.183750
#*# 	-0.108750, -0.090000, 0.006250, 0.006250, -0.310000
#*# 	-0.080000, -0.067500, 0.011250, -0.018750, -0.321250
#*# 	-0.035000, -0.016250, 0.050000, -0.011250, -0.385000
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 45.0
#*# max_x = 220.0
#*# min_y = 15.0
#*# max_y = 198.0

et au cas où voilà en plus le début du gcode d'un cube que je viens de slicer.

; HEADER_BLOCK_START
; generated by OrcaSlicer 1.8.1 on 2024-01-19 at 17:04:22
; total layer number: 69
; HEADER_BLOCK_END

; THUMBNAIL_BLOCK_START

;
; thumbnail begin 300x300 4400
; iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAMqUlEQVR4Ae3c3a5dVRkG4AWBEkCk/F
; oKpS0QiQZjYzSKCaSmB2hikAR/gkRTiERQ0SoQlNCAUUExWo3RxCMugUvgEnoJvQQuYcusLNiUtbv3
; WnvOMcc7xvMk75nBA/Z4M9bH+OZiAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEOL200
; +8PeTK6649uACo0TVH7jxx9I1XL9z7379vDbnr1RfOX3/igccWADW56duPvLYsqu05fu5P79146uEz
; blvA7K665eZjw01qVVltz+EXfvbu8L9dAMzhhge/cnq3olp121oAlDL8vBuG6uuU1aW3LT8RgcldOl
; jfNMNty0AemMyt33/s3H6L6tIM/0y3LWA0w61qL4P1TTP8s4f/jwXAfgxD8qmKyvMHYBRDcRx67ul3
; SpTVpQN5zx+APbv2s/eeHG48pctq+21reDKxALicKQbrm8Y+IrDSWM8Vxo59ROBjSg3W9/MT0UAeOj
; cUwDDkrrmstsdAHjq17h5gbbetBdCH/ewB1nTb8hMRGlbrYH0/ty0DeWjQTh/YayH2EaERU+8B1hL7
; iBCu9ucKY8dAHgLNtQdYSzx/gBBz7wHWdNsykIeK1bQHWEsM5KEyvQzWN42BPFSit8H6prGPCDNK2w
; OsJQbyUFjqHmAt8YFAKKSFPcBa4gOBMJHW9gBriQ8Ewsha3gOsIQbyMALPFcpmGMh7/gAb8FxhnthH
; hDUMP0sM1ueP5w+wC4P1umIfEXZgD7De2EeEDxisZ8Q+It0zWM+K5w90qfcP7KXHQJ5u+MBeG7GPSP
; MM1tuLfUSa47lC27GPSDMM1vuIgTzRfGCvzxjIE8cH9vqOfURi2AOUZYbblp+IVMlgXVbFPiLV8YE9
; 2S32EZmdPUBZJ/YRmY3nCrJJDOQpyh6gjBHPH5icPUAZM/YRmYw9QJkq9hEZjecKUiLDQH64wS9gUw
; brUjL2EdmIPUCZMwby7Jk9QKkhnj+wK3uAUlvsI/IJButSc4a/TfuIXGQPUBIy/ES0j9gxe4CSmOEn
; on3EzniuIMkxkO/EcJ02WJdW4vlDwwzWpcX4QGCD7AFK6zGQb4DBuvQUHwgMZrAuPcY+Yhgf2BMxkI
; /gA3siH8UHAitmsC6yOj4QWJkjZ1+8kPQHJFI6h888e15pVeKOn/9k6+4/vrJ1z3/+GvVHJFIid519
; cevWJx7fuuLA1QqrBoeefWpryJ0v/mLrnn/9OeqPSWSq3PPvt7be/w9QF8tKYVVkWVhDhtvW0TfPRv
; 1hiYydI7//7YdFpbAqs72wlrnrld/4iShd5vCvn/tEWSmsiqwqrCHDv7hjb70e9ccmsmmO/e0PW7c/
; 9cOVZaWwKrJTYS1/IhrIS+u583dndiwqhVWZyxXW9oH88X+8EfVHKLJbhlvVZ5758a5lpbAqspfC2n
; 7bSvqDFNkpy+cKe43CqsReC8vzB2khw3OFnQbrCivAuoW1vG0ZyEtadhusK6wAmxTWMkfOvmQgLxG5
; 86XnNyoqhVWZ/RTW8vmDgbzUmnUG6worwH4Ly/MHqTXrDtYVVoAxCstAXmrKMFi/4/lnRisrhVWRMQ
; treduyjyhz5ehfXtu67Uc/GLWsFFZFxi6sZewjSunsd7CusAJMVVjLgbznDzJ19vNcQWGFmbKwDORl
; 6ow5WFdYAaYuLAN5mSKXfmBPYXWiVGFtv20lHQypL6s+sKewOlGysD522/ITUTbIJnuACqshcxTW8r
; ZlIC97TYnBusIKMFdhLWMfUXbLXj6wp7A6MXdhDbGPKKsy1h6gwmpIDYW1/IloIC/LlHquoLDC1FJY
; y3j+0Hem2ANUWA2prbCWty37iP1lqj1AhdWQGgtrGfuI/WTKPUCF1ZCaC2vIxX3E94evSYdP9p65ny
; sorDC1F9byJ6J9xPZS22BdYQVIKKxlDOTbSOk9QIXVkKTC2n7bSjqg8lHm2ANUWA1JKquP3bZe/pWf
; iGGZaw9QYTUkqaQ+cdv65U/tIwYkZbCusAIkFdTK0nr/J+KR119226o0NewBKqyGJJXT5TIM5O0j1p
; Oa9gAVVkOSSmkvty0D+fmT9FxBYYVJKqR1blueP5TP8FwhebCusAIkFdG6ty0D+XJpYbCusAIkldAm
; 8YHA6VP7HqDCakhS+WwaHwicJq0N1hVWgKTi2U/sI46bFgfrCitAUumMEQP5/aXWD+wprE4klc2Yty
; 0fCFw/NX9gT2F1Iqloxo4PBO49PQzWFVaApIKZIhc/EOj5w45p/bmCwgqTVC5TxUB+dVrZA1RYDUkq
; lqljIP//HP/nm908V1BYYZIKpUR630dM/cCewupEUpmUzMXbVmc/EVvdA1RYDUkqkdLpZR/RYF1hxU
; gqkLnS8j5i788VFFaYpOKYM63tI/a0B6iwGpJUGnOnlecPve0BKqyGJBVGLUl9/tDrHqDCakhSUdSU
; tH3EnvcAFVZDkkqixiTsIxqsK6xmJJVDral1H9FzBYXVnKRiqDm1DeQN1hVWk5JKISFzD+SHwfqh55
; 6OKgOFxZ4llUFK5tpHtAeosJqXVARpKbmPaA9QYXUhqQASM/U+osG6wupK0uFPzhT7iD6wp7C6k3To
; 0zPWPqI9QIXVraQD30L2O5D3XEFhdS3psLeUdZ8/2ANUWCwU1pzZ60B++AloD1BhsVBYNeRyA3l7gA
; qLbZIOdsu5dCBvsK6wWCHpULee5UDeYF1hsYOkA91Lkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqik
; g9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoq
; ikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLC
; oqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDr
; LCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuS
; DrLCoqikg9xLkg6ywqKopIPcS5IOssKiqIOPnHon6TD3kKSD3ENuPPXwuwqrIjd8/avnbn/qyfeSDn
; XLSTrMref6L33x3IL6XHXLzSdue/J7F5IOdqtJOtCt5pbHH33v6ttvO7mgbjd+46G3kw53i0k62C1m
; +Am4IMeBw4dO+ok4X5IOd2txqwo1/ER025onSQe8lQy3qiuvv+7YgmzXfeHzZ9y2yibpoLeQ6x743G
; sL2mEgXzZJhz05BuuNG54/JB381CQd+tR86mtffntB+4bblp+I0ybp4CfGraozVxw4cNBAXmGlxWC9
; c9ccu/sxty2FlZBr77/vzAKGn4j2ERVWrRluVVfddPDEArYzkFdYtcUeIJfl+YPCqiGeK7AWA3mFNV
; fsAbIRA3mFVTrXHD96egGbMpBXWCVisM6o7CMqrKliD5BJGMgrrDFjsE4RBvIKa7+xB0hR9hEV1qZx
; q2IWPhCosNaJPUCqcO39951221JYl4s9QKoy3LZu+e53zieVisKaPge/eeq85wpUyz6iwlrGHiARPH
; /ou7A8VyBSzwP5pIIZM/YAidbrPmJSyYwVe4A0ocd9xKSiGeNWZbBOc4aBfC+3raTC2U8M1mlaLwP5
; pNLZJAbrdKX1gXxS+awbg3W6dODwoZOt/kRMKqB14lZF11rdR0wqob3equwBwgda+0BgUhntFh/Ygx
; VaGsgnFdJOGQbrnivALlrYR0wqplXxgT1YQ/oHApPK6dIYrMOGUgfySQW1jOcKMILEfcSkohriA3sw
; orR9xJSisgcIE0oZyCeUlT1AKCDh+UPNRWUPEGZQ80C+1rIyWIcZ1TqQr7GsfGAPKlDjPmJNRWUPEC
; pU0z5iLWVlDxAqVstAfu6iMliHIHM/f5izrOwBQqA59xHnKiu3Kgh2xYEDB+cYyJcuKoN1aEjp5w8l
; y8oeIDSo5D5iqVuVPUBoXImB/NRlZQ8QOjL184epispzBejYVAP5qX4CLoC+TTGQH7us7AECHxp7ID
; /mrcpgHVhpGMiPcdsao6wM1oFdjTGQN1gHitrPQH7Tsvr0Qw++swDYxIHDh05u8hNxk7JyqwL2bZMP
; BK47WLcHCIxqnQ8E7rWs7AECk9nrQH63orrp0W9d8FwBKGK3fcTLlZUP7AHFXe4DgQbrQJVWDeRXDd
; YXADW4dB/xVnuAQM227yPaAwQiDAN5e4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECS
; /wHplTJyCnxnzgAAAABJRU5ErkJggg==
; thumbnail end
; THUMBNAIL_BLOCK_END

; external perimeters extrusion width = 0.40mm
; perimeters extrusion width = 0.45mm
; infill extrusion width = 0.45mm
; solid infill extrusion width = 0.40mm
; top infill extrusion width = 0.40mm
; first layer extrusion width = 0.50mm

; EXECUTABLE_BLOCK_START
EXCLUDE_OBJECT_DEFINE NAME=Cube_id_0_copy_0 CENTER=110,110 POLYGON=[[99,99],[121,99],[121,121],[99,121],[99,99]]
M73 P0 R11
;TYPE:Custom
START_PRINT T_BED=60 T_EXTRUDER=210
G90
G21
M83 ; use relative distances for extrusion
; filament start gcode
SET_PRESSURE_ADVANCE ADVANCE=0; Override pressure advance value
M106 S0
;LAYER_CHANGE
;Z:0.32
;HEIGHT:0.32
;BEFORE_LAYER_CHANGE
;0.32
G92 E0

G1 E-5 F2700
;AFTER_LAYER_CHANGE
;0.32
;_SET_FAN_SPEED_CHANGING_LAYER
SET_VELOCITY_LIMIT ACCEL=500 ACCEL_TO_DECEL=250
; printing object Cube id:0 copy 0
EXCLUDE_OBJECT_START NAME=Cube_id_0_copy_0
G1 Z.4 F21000
G1 X120.319 Y120.319
G1 Z.4
G1 Z.32
G1 E5 F1800
;TYPE:Inner wall
;WIDTH:0.5
G1 F3000
G1 X99.681 Y120.319 E1.16057
G1 X99.681 Y99.681 E1.16057
G1 X120.319 Y99.681 E1.16057
G1 X120.319 Y110 E.58028
G1 X120.319 Y120.279 E.57803
G1 X120.75 Y120.75 F21000
;TYPE:Outer wall
G1 F3000
G1 X99.25 Y120.75 E1.20908
G1 X99.25 Y99.25 E1.20908
G1 X120.75 Y99.25 E1.20908
G1 X120.75 Y110 E.60454
G1 X120.75 Y120.71 E.60229
G1 E-3.5 F2700
;WIPE_START
G1 F3000
G1 X119.75 Y120.712 E-1.5
;WIPE_END
G1 Z.72 F21000
G1 X120.189 Y100.696 Z.72
M73 P1 R10
G1 Z.32
G1 E5 F1800

 

Modifié (le) par lezaii
ajout de pièce à conviction
Posté(e) (modifié)
[gcode_macro START_PRINT] 
gcode:
#variable_T_BED: 60 
#variable_T_EXTRUDER: 200 
#variable_STANDBY_T_EXTRUDER: 170
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
    G28
    M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
    M104 S{STANDBY_T_EXTRUDER}
    M190 S{T_BED} ; attendre que le lit soit chaud
    M109 S{T_EXTRUDER} ; attendre que la buse soit chaude 
   
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0;
    G1 F2700 E-5;
il y a 18 minutes, lezaii a dit :

voilà le .cfg si ça peut être utile.

tu peux remplacer ta macro par la réindentée qui est juste au dessus

EDIT :

j'ai corrigé la macro :


* variable STANDBY_T_EXTRUDEUR

* parenthèses au lieu des accolades sur le M104 

Modifié (le) par Savate
Posté(e)

mainsail.cfg m'a l'air "propre"

le voici

## Client klipper macro definitions
##
## Copyright (C) 2022 Alex Zellner <alexander.zellner@googlemail.com>
##
## This file may be distributed under the terms of the GNU GPLv3 license
##
## !!! This file is read-only. Maybe the used editor indicates that. !!!
##
## Customization:
##   1) copy the gcode_macro _CLIENT_VARIABLE (see below) to your printer.cfg
##   2) remove the comment mark (#) from all lines
##   3) change any value in there to your needs
##
## Use the PAUSE macro direct in your M600:
##  e.g. with a different park position front left and a minimal height of 50 
##    [gcode_macro M600]
##    description: Filament change
##    gcode: PAUSE X=10 Y=10 Z_MIN=50
##  Z_MIN will park the toolhead at a minimum of 50 mm above to bed to make it easier for you to swap filament.
##
## Client variable macro for your printer.cfg
#[gcode_macro _CLIENT_VARIABLE]
#variable_use_custom_pos   : False ; use custom park coordinates for x,y [True/False]
#variable_custom_park_x    : 0.0   ; custom x position; value must be within your defined min and max of X
#variable_custom_park_y    : 0.0   ; custom y position; value must be within your defined min and max of Y
#variable_custom_park_dz   : 2.0   ; custom dz value; the value in mm to lift the nozzle when move to park position
#variable_retract          : 1.0   ; the value to retract while PAUSE
#variable_cancel_retract   : 5.0   ; the value to retract while CANCEL_PRINT
#variable_speed_retract    : 35.0  ; retract speed in mm/s
#variable_unretract        : 1.0   ; the value to unretract while RESUME
#variable_speed_unretract  : 35.0  ; unretract speed in mm/s
#variable_speed_hop        : 15.0  ; z move speed in mm/s
#variable_speed_move       : 100.0 ; move speed in mm/s
#variable_park_at_cancel   : False ; allow to move the toolhead to park while execute CANCEL_PRINT [True/False]
#variable_park_at_cancel_x : None  ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True
#variable_park_at_cancel_y : None  ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True
## !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!!
#variable_use_fw_retract   : False ; use fw_retraction instead of the manual version [True/False]
#variable_idle_timeout     : 0     ; time in sec until idle_timeout kicks in. Value 0 means that no value will be set or restored
#variable_runout_sensor    : ""    ; If a sensor is defined, it will be used to cancel the execution of RESUME in case no filament is detected.
##                                   Specify the config name of the runout sensor e.g "filament_switch_sensor runout". Hint use the same as in your printer.cfg
## !!! Custom macros, please use with care and review the section of the corresponding macro.
## These macros are for simple operations like setting a status LED. Please make sure your macro does not interfere with the basic macro functions.
## Only  single line commands are supported, please create a macro if you need more than one command.
#variable_user_pause_macro : ""    ; Everything insight the "" will be executed after the klipper base pause (PAUSE_BASE) function
#variable_user_resume_macro: ""    ; Everything insight the "" will be executed before the klipper base resume (RESUME_BASE) function
#variable_user_cancel_macro: ""    ; Everything insight the "" will be executed before the klipper base cancel (CANCEL_PRINT_BASE) function
#gcode:

[virtual_sdcard]
path: ~/printer_data/gcodes
on_error_gcode: CANCEL_PRINT

[pause_resume]

[display_status]

[respond]

[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
  ##### get user parameters or use default #####
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
  {% set retract = client.cancel_retract|default(5.0)|abs %}
  ##### define park position #####
  {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
            else "X=" ~ client.park_at_cancel_x %}
  {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
            else "Y=" ~ client.park_at_cancel_y %}
  {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
  ##### end of definitions #####
  # restore idle_timeout time if needed
  {% if printer['gcode_macro RESUME'].restore_idle_timeout > 0 %}
    SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro RESUME'].restore_idle_timeout}
  {% endif %}
  {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
  _CLIENT_RETRACT LENGTH={retract}
  TURN_OFF_HEATERS
  M106 S0
  {client.user_cancel_macro|default("")}
  SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
  # clear pause_next_layer and pause_at_layer as preparation for next print
  SET_PAUSE_NEXT_LAYER ENABLE=0
  SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
  CANCEL_PRINT_BASE

[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
  ##### get user parameters or use default ##### 
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set idle_timeout = client.idle_timeout|default(0) %}
  {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0 %}
  {% set restore = False if printer.toolhead.extruder == ''
              else True  if params.RESTORE|default(1)|int == 1 else False %}
  ##### end of definitions #####
  SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
  # set a new idle_timeout value
  {% if idle_timeout > 0 %}
    SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
    SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
  {% endif %}
  PAUSE_BASE
  {client.user_pause_macro|default("")}
  _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}

[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_restore_idle_timeout: 0
variable_idle_state: False
gcode:
  ##### get user parameters or use default #####
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
  {% set sp_move = client.speed_move|default(velocity) %}
  {% set runout_resume = True if client.runout_sensor|default("") == ""     # no runout
                    else True if not printer[client.runout_sensor].enabled  # sensor is disabled
                    else printer[client.runout_sensor].filament_detected %} # sensor status
  {% set can_extrude = True if printer.toolhead.extruder == ''           # no extruder defined in config
                  else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder
  {% set do_resume = False %}
  ##### end of definitions #####
  #### Printer comming from timeout idle state ####
  {% if printer.idle_timeout.state|upper == "IDLE" or idle_state %}
    SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
    {% if last_extruder_temp.restore %}
      # we need to use the unicode (\u00B0) for the ° as py2 env's would throw an error otherwise 
      RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" % (printer.toolhead.extruder, last_extruder_temp.temp) }'
      M109 S{last_extruder_temp.temp}
      {% set do_resume = True %}
    {% elif can_extrude %}
      {% set do_resume = True %}
    {% else %} 
      RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
    {% endif %}
  #### Printer comming out of regular PAUSE state ####
  {% elif can_extrude %}
    {% set do_resume = True %}
  {% else %}
    RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
  {% endif %}
  {% if runout_resume %}
    {% if do_resume %}
      {% if restore_idle_timeout > 0 %} SET_IDLE_TIMEOUT TIMEOUT={restore_idle_timeout} {% endif %} # restore idle_timeout time
      {client.user_resume_macro|default("")}
      _CLIENT_EXTRUDE
      RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
    {% endif %}
  {% else %}
    RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % (client.runout_sensor.split(" "))[1]}'
  {% endif %}
  
# Usage: SET_PAUSE_NEXT_LAYER [ENABLE=[0|1]] [MACRO=<name>]
[gcode_macro SET_PAUSE_NEXT_LAYER]
description: Enable a pause if the next layer is reached
gcode:
  {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
  {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
  {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
  SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"

# Usage: SET_PAUSE_AT_LAYER [ENABLE=[0|1]] [LAYER=<number>] [MACRO=<name>]
[gcode_macro SET_PAUSE_AT_LAYER]
description: Enable/disable a pause if a given layer number is reached
gcode:
  {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
  {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
             else params.LAYER is defined %}
  {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
  {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
  SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"

# Usage: SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>] [CURRENT_LAYER= <current_layer>]
[gcode_macro SET_PRINT_STATS_INFO]
rename_existing: SET_PRINT_STATS_INFO_BASE
description: Overwrite, to get pause_next_layer and pause_at_layer feature
variable_pause_next_layer: { 'enable': False, 'call': "PAUSE" }
variable_pause_at_layer  : { 'enable': False, 'layer': 0, 'call': "PAUSE" }
gcode:
  {% if pause_next_layer.enable %}
    RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
    {pause_next_layer.call} ; execute the given gcode to pause, should be either M600 or PAUSE
    SET_PAUSE_NEXT_LAYER ENABLE=0
  {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
    RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
    {pause_at_layer.call} ; execute the given gcode to pause, should be either M600 or PAUSE
    SET_PAUSE_AT_LAYER ENABLE=0
  {% endif %}
  SET_PRINT_STATS_INFO_BASE {rawparams}
  
##### internal use #####
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
gcode:
  ##### get user parameters or use default #####
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
  {% set use_custom     = client.use_custom_pos|default(false)|lower == 'true' %}
  {% set custom_park_x  = client.custom_park_x|default(0.0) %}
  {% set custom_park_y  = client.custom_park_y|default(0.0) %}
  {% set park_dz        = client.custom_park_dz|default(2.0)|abs %}
  {% set sp_hop         = client.speed_hop|default(15) * 60 %}
  {% set sp_move        = client.speed_move|default(velocity) * 60 %}
  ##### get config and toolhead values #####
  {% set origin    = printer.gcode_move.homing_origin %}
  {% set act       = printer.gcode_move.gcode_position %}
  {% set max       = printer.toolhead.axis_maximum %}
  {% set cone      = printer.toolhead.cone_start_z|default(max.z) %} ; height as long the toolhead can reach max and min of an delta
  {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
                else False %}
  ##### define park position #####
  {% set z_min = params.Z_MIN|default(0)|float %}
  {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
  {% set x_park = params.X       if params.X is defined
             else custom_park_x  if use_custom
             else 0.0            if round_bed
             else (max.x - 5.0) %}
  {% set y_park = params.Y       if params.Y is defined
             else custom_park_y  if use_custom
             else (max.y - 5.0)  if round_bed and z_park < cone
             else 0.0            if round_bed
             else (max.y - 5.0) %}
  ##### end of definitions #####
  _CLIENT_RETRACT
  {% if "xyz" in printer.toolhead.homed_axes %}
    G90
    G1 Z{z_park} F{sp_hop}
    G1 X{x_park} Y{y_park} F{sp_move}
    {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
  {% else %}
    RESPOND TYPE=echo MSG='Printer not homed'
  {% endif %}
  
[gcode_macro _CLIENT_EXTRUDE]
description: Extrudes, if the extruder is hot enough
gcode:
  ##### get user parameters or use default #####
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
  {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
  {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
  {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
  ##### end of definitions #####
  {% if printer.toolhead.extruder != '' %}
    {% if printer[printer.toolhead.extruder].can_extrude %}
      {% if use_fw_retract %}
        {% if length < 0 %}
          G10
        {% else %}
          G11
        {% endif %}
      {% else %}
        M83
        G1 E{length} F{(speed|float|abs) * 60}
        {% if absolute_extrude %}
          M82
        {% endif %}
      {% endif %}
    {% else %}
      RESPOND TYPE=echo MSG='{"\"%s\" not hot enough" % printer.toolhead.extruder}'
    {% endif %}
  {% endif %}

[gcode_macro _CLIENT_RETRACT]
description: Retracts, if the extruder is hot enough
gcode:
  {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
  {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
  {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}

  _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
  

 la commande PRINT-START_B n'est pas reconnu 😞

 

Posté(e)
il y a 4 minutes, lezaii a dit :

 la commande PRINT-START_B n'est pas reconnu 😞

c'était dans le cas ou tu renommais ton START_PRINT 🙂

J'ai corrigé la macro dans mon post précédent, elle devrait mieux marcher maintenant

[gcode_macro START_PRINT] 
gcode:
#variable_T_BED: 60 
#variable_T_EXTRUDER: 200 
#variable_STANDBY_T_EXTRUDER: 170
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
    G28
    M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
    M104 S{STANDBY_T_EXTRUDER} ; il y avait des () au lieu des {} et la variable s'appelait T_STANDBY_T_EXTRUDER
    M190 S{T_BED} ; attendre que le lit soit chaud
    M109 S{T_EXTRUDER} ; attendre que la buse soit chaude 
   
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0;
    G1 F2700 E-5;

 

Posté(e)

Les guides de @rootiest plutôt bien faits donnent de bons conseils pour les macros PRINT_START / START_PRINT et leurs pendants (PRINT_END / END_PRINT) ainsi que les Gcodes à utiliser en fonction des trancheurs. C'est  >>><<<

🙂

  • J'aime 1
Posté(e) (modifié)

ha super comme lien merci @fran6p j'ai donc modifié le .cfg comme ceci:

 [gcode_macro START_PRINT] 
#variable_BED_TEMP: 60
#variable_EXTRUDER_TEMP: 200
gcode:
    {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
    {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %}
     G28
      M82 ;absolute extrusion mode
   
  M140 S{BED_TEMP}
  M190 S{BED_TEMP} ; attendre que le lit soit chaud
  M109 S{EXTRUDER_TEMP} ; attendre que la buse soit chaude 
    BED_MESH_PROFILE LOAD=E5Pklipp

ainsi que le orcaslicer comme celà:

START_PRINT BED_TEMP=[bed_temperature_initial_layer_single] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] CHAMBER_TEMP=[chamber_temperature]

comme indiqué dan le lien que tu m'as envoyé.
Malheureusement, le problème reste le même. En lancant un nouveau print j'ai toujours ce message:

11:04
"extruder" not hot enough
11:04
Extrude below minimum temp
11:04
Extrude below minimum temp
See the 'min_extrude_temp' config option for details

le paramètre min_extrude_temp est à 180.

J'avais eu un problème similaire il y a peu de temps, j'avais donc mis des température fixe en lieu et place des variable {BED_TEMP}, {EXTRUDER_TEMP} et dans orcaslicer je n'avais que START_PRINT

BON et bien je double-post pour vous annoncer que le problème est réglé magiquement après une mise à jour complète (sorti il y a 4 jours).
Je n'ai absolument rien changé depuis mon dernier post hormis la MAJ complète (klipper, moonsail crowsnet etc...)
Je vous remercie encore une fois pour tout et navré de vous avoir fais perdre votre temps.

Ralala le pouvoir de la MAJ mystique^^

 

EDIT:
LA BONNE BLAGUE !!!!

Après la mise ajour, j'ai réussi à imprimer un petit cube. nickel !

- Je télécharge le test pour  régler le PRESSURE_ADVANCE

- je rentre les commandes qui vont bien:

SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020

ET là, PAF:

12:16
"extruder" not hot enough
12:16
Extrude below minimum temp
12:16
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
12:16
Unknown command:"START_PRINT"
12:16
Unknown command:"EXCLUDE_OBJECT_DEFINE"
12:16
File selected
12:16
File opened:square_tower(1)_PLA_41m56s.gcode Size:672453

 

Modifié (le) par lezaii
j'ai parlé un peu vite
Posté(e)
Il y a 5 heures, lezaii a dit :

Après la mise ajour, j'ai réussi à imprimer un petit cube. nickel !

- Je télécharge le test pour  régler le PRESSURE_ADVANCE

- je rentre les commandes qui vont bien:

SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020

avant de lancer tes commandes,
met l'imprimante en chauffe aux bonnes t° sinon elle ne saura jamais qu'il faut chauffer 🙂
en gros avant tu doit lancer un START_PRINT BED_TEMP=T°dubed  EXTRUDER_TEMP=T°delabuse
comme ça l'imprimante aura fait sont home, mis à la bonne t° et chargé le mesh

  • +1 1
Posté(e)

oui j'ai essayé mais j'avais toujours le même souci. J'ai trouvé le problème!!!

Ce que je ne comprend pas c'est pourquoi ça a marché après la MAJ mais bon...

Tout cela est dû à une mauvaise "mise en page", je m'explique:

	[gcode_macro START_PRINT] <---- ICI Tabulation en trop avant la balise!!!
#variable_T_BED: 60
#variable_T_EXTRUDER: 200
#variable_STANDBY_T_EXTRUDER: 170
gcode:
    {% set T_BED = params.T_BED|default(60)|float %}
    {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
    {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %}
     G28
      M82 ;absolute extrusion mode
    BED_MESH_PROFILE LOAD=E5Pklipp
  M104 S(STANDBY_T_EXTRUDER)
  M190 S{T_BED} ; attendre que le lit soit chaud
  M109 S{T_EXTRUDER} ; attendre que la buse soit chaude 
   
    G90 ; Absolute position   
    G92 E0 ;Reset Extruder
    G1 Z2.0 F3000 ;Move Z Axis up
    G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
    G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
    G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
    G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
    G92 E0 ;Reset Extruder
    G1 E-2 F1800 ;retract 2mm at 30mm/s
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 E1.8 F1800 ;retract 2mm at 30mm/s
    G92 E0;
    G1 F2700 E-5;

      [gcode_macro END_PRINT]	<---- ICI aussi!!!
gcode:
    G91 ;Relative positioning
  G1 E-2 F2700 ;Retract a bit
  G1 E-2 Z0.2 F2400 ;Retract and raise Z
  G1 X5 Y5 F3000 ;Wipe out
  G1 Z10 ;Raise Z more
  G90 ;Absolute positioning
  G28 X0 Y0 ;Present print
  M106 S0 ;Turn-off fan
  M104 S0 ;Turn-off hotend
  M140 S0 ;Turn-off bed

  M84 X Y E ;Disable all steppers but Z

    
[gcode_macro G29]<---- ça devait être comme ça!!!!
gcode:
	G28
    M190 S {50}
   	BED_MESH_CLEAR                                        ; Clear bed mesh data
	BED_MESH_CALIBRATE PROFILE=E5Pklipp                                    ; Run Bed Mesh
	G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE SAVE=E5Pklipp                     ; Save Bed Mesh

    

Voilà l'explication au mystère. Il semblerait que klipper soit assez sensible à ce genre de bêtise humaine^^

En tout cas je vous remercie encore pour votre réactivité, ce forum est incroyable pour ça.

Si un jour je peux être utile je serais ravi de rendre la pareille.

Posté(e)
Il y a 3 heures, lezaii a dit :

Voilà l'explication au mystère. Il semblerait que klipper soit assez sensible à ce genre de bêtise humaine^^

En tout cas je vous remercie encore pour votre réactivité, ce forum est incroyable pour ça.

c'est pour ça que je t'avais donné une macro correctement indentée ...

jinja2 c'est du script associé à phyton et python est très sensible à l'indentation.

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