Aller au contenu

Messages recommandés

Posté(e)
il y a 32 minutes, Andre Casagrandi a dit :

pendant l'impression pour rattraper les defaut du plateau sur klipper

Je ne me suis pas encore penché sur Klipper mais faire un nivellement pendant l'impression ça me semble bizarre...

Posté(e)

ce que je voudrais , c'est que les moteur z compense les défauts plateau en s'ajustant pour garder une valeur identique sur toute la surface entre le hotend et le plateau

Posté(e)
il y a 11 minutes, Andre Casagrandi a dit :

c'est que les moteur z compense les défauts plateau

As tu un système qui palpe le plateau avant l'impression ?

Posté(e) (modifié)

Salut,

Tout est expliqué dans la doc Klipper. En résumé:

  • tu paramètres ton maillage avec la section [mesh_bed]
  • tu palpes ton plateau avec la commande BED_MESH_CALIBRATE
  • tu sauvegardes le résultat avec la commande BED_MESH_PROFILE SAVE=nom_du_maillage
  • dans le fichier printer.cfg, après la prise d'origine (G28), tu rappelles le maillage sauvegardé BED_MESH_PROFILE LOAD=nom_du_maillage

Tu peux  aussi palper systématiquement ton plateau en te limitant à la zone d'impression (voir ce tuto en vidéo)

PS: est-ce que tu as paramétré la section [z_tilt] pour "aligner"/synchroniser tes 2 moteurs Z? voir la doc klipper

Modifié (le) par pommeverte
Posté(e) (modifié)
  1. tu t'assures que tu as bien la section [stepper_z1] pour ton 2nd moteur Z
  2. tu ajoutes la section [z_tilt] dans le fichier printer.cfg
  3. juste après la prise d'origine (G28) tu ajoutes "l'alignement" des moteurs: Z_TILT_ADJUST
Modifié (le) par pommeverte
Posté(e)

elle est la ma pomme préféré.

merci  je vais testé

je fait quoi avec ca?

 

44.png

Citation

# This file contains common pin mappings for the BigTreeTech SKR 3 EZ.
# To use this config, the firmware should be compiled for the
# STM32H723 with a "128KiB bootloader".

# See docs/Config_Reference.md for a description of parameters.

### Enable this to use an RP2040 for your ADXL host. You cannot use the Orange Pi so this is the next best option.
#[mcu adxl]
# Change <mySerial> to whatever you found above. For example,
# usb-Klipper_rp2040_E661640843545B2E-if00
#serial: /dev/serial/by-id/usb-Klipper_rp2040_E660C062137B4E29-if00
#[adxl345]
#cs_pin: adxl:gpio1
#spi_bus: spi0a
#axes_map: x,z,y
#[resonance_tester]
#accel_chip: adxl345
#    203.5, 200, 20
#[output_pin power_mode] # Improve power stability
#pin: adxl:gpio23

[include mainsail.cfg]
[virtual_sdcard]
path: /home/andre/printer_data/gcodes
on_error_gcode: CANCEL_PRINT

[include macros.cfg]
#[include grand-voile.cfg]

## This is for CrydTeam's automatic accel and velocity testing, comment it out if you don't want to set it up.
## https://github.com/cryd-s/klipper_scripts/tree/main/speed_accel_script
#[include speed_test.cfg]

## Enable M118 Echo
[respond]

## Enable cancelling individual objects in a print
## See https://www.obico.io/blog/klipper-exclude-object/#exclude-objects-feature
[exclude_object]


[stepper_x]
step_pin: PD4
dir_pin: PD3
enable_pin: !PD6
microsteps: 128
rotation_distance: 40
endstop_pin: ^PC1
#position_min: -6 
position_endstop: 0
position_max: 220
homing_speed: 50


[stepper_y]
step_pin: PA15
dir_pin:  PA8
enable_pin: !PD1
microsteps: 128
rotation_distance: 40
endstop_pin: ^PC3
#position_min: -6 
position_endstop: 0
position_max: 220
homing_speed: 50

[stepper_z]
step_pin: PE2
dir_pin: !PE3
enable_pin: !PE0
microsteps: 128
rotation_distance: 8
endstop_pin: probe: z_virtual_endstop
position_min: -3
position_max: 300
homing_speed: 5

[stepper_z1]
step_pin: PD11
dir_pin: !PD10
enable_pin: !PD13
microsteps: 128
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop

[heater_bed]
heater_pin: PD7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
#control: watermark
min_temp: 0
max_temp: 130
control: pid
pid_Kp: 135.78
pid_Ki: 26.32
pid_Kd: 460.06
min_temp: 0
max_temp: 120

[bltouch]
sensor_pin: ^PC13
control_pin: PE5
pin_move_time: 0.2  # dd
x_offset: -05   #-40
y_offset: -7
z_offset = 2.550
#z_offset = 2.750
speed: 60 # dd

[safe_z_home]
home_xy_position: 110, 110
z_hop: 10               
z_hop_speed: 10
speed: 100
move_to_previous: false

[bed_mesh]
speed: 70
horizontal_move_z: 10
mesh_min: 5, 5   # 10,10/dd
mesh_max: 180, 190  #150,190/dd
algorithm: bicubic
probe_count: 4, 4
fade_start: 1
fade_end: 10
fade_target: 0

[extruder]
max_extrude_only_distance: 100.0
step_pin: PD15
dir_pin: !PD14
enable_pin: !PC7
microsteps: 64 #16
rotation_distance: 22.863 #33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA2
control: pid
pid_Kp= 17.540 
pid_Ki= 0.801 
pid_Kd= 96.034
min_temp: 0
max_temp: 250


#[z_tilt]
#z_positions: 7, 200
 #           407, 200
#points: 7, 200
 #       100, 200
  #      300, 200
   #     407, 200
#speed: 250
#retries: 8
#retry_tolerance: 0.15

#[probe]
#pin: !PC13
#speed: 2.5
#samples: 3
#samples_tolerance_retries: 3
#z_offset: 0.05
#activate_gcode: probe_reset

## This is for supplying voltage to the Logic Level Converter
## You will need to use one of these if you intend to reuse the factory print head with strain gauge. It outputs +5V when open and 0V when triggered!!
## If you do not intend to use the factory print head, comment this out
#[output_pin 3v3] #dd
#pin: PC0 #dd
#static_value: 1 #dd

## This pin carries 3.3V and drops to 0V to reset the factory print head and strain gauge with every sample
## This is needed because the extruder tension changes as your Bowden tube shifts around!!
## If you do not intend to use the factory print head, comment this out
#[output_pin probe_reset_pin]
#pin: PE5
#value: 1

## This macro is needed to reset the factory strain gauge on the Kobra Max
## If you do not intend to use the factory print head, comment this out
[gcode_macro probe_reset]
gcode:
    SET_PIN PIN=probe_reset_pin VALUE=0
    G4 P500
    SET_PIN PIN=probe_reset_pin VALUE=1
    G4 P100

### Don't forget to SET YOUR E-STEPS!
### Measure 120mm, then extrude 100mm
### G1 E100 F100
### step_distance = old_e_steps * ((120 - distance_to_mark) / 100)

[filament_switch_sensor runout]
pause_on_runout: True
switch_pin: !PC2

## Don't turn off Z or bed heat during idle

[idle_timeout]
gcode:
  SET_HEATER_TEMPERATURE HEATER=extruder TARGET=0
  M84 X Y E
timeout: 43200

[fan]
pin: PB7

[heater_fan hotend_fan]
pin: PB6
heater: extruder
heater_temp: 50.0

[controller_fan mcu_fan]
pin: PB5

[output_pin LED]
pin: PE6
pwm: False
value: 0

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[temperature_sensor pi_temp]
sensor_type: temperature_host
min_temp: 0
max_temp: 100

[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100


[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_41002B001651313238353730-if00
baud: 250000

########################################
# EXP1 / EXP2 (display) pins
########################################

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PC5, EXP1_3=PB1, EXP1_5=PE9,  EXP1_7=PE11, EXP1_9=<GND>,
    EXP1_2=PB0, EXP1_4=PE8, EXP1_6=PE10, EXP1_8=PE12, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=PA6, EXP2_3=PE7, EXP2_5=PB2, EXP2_7=PC4,   EXP2_9=<GND>,
    EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>

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

########################################
# TMC2209 configuration
########################################

[tmc2209 stepper_x]
uart_pin: PD5
run_current: 0.600
interpolate: true
#diag_pin:

[tmc2209 stepper_y]
uart_pin: PD0
run_current: 0.600
interpolate: true
#diag_pin:

[tmc2209 stepper_z]
uart_pin: PE1
run_current: 0.600
interpolate: true
#diag_pin:

[tmc2209 extruder]
uart_pin: PC6
run_current: 0.600
#diag_pin:

[tmc2209 stepper_z1]
uart_pin: PD12
run_current: 0.600
interpolate: true
#diag_pin:

########################################
# MACRO
########################################

[gcode_macro DRAW_SQUARE]
gcode:
    G28
    G0 X10 Y10 Z0.5 
    G0 X10 Y200 Z0.5 
    G0 X200 Y200 Z0.5 
    G0 X200 Y10 Z0.5 
    G0 X10 Y10 Z0.5

[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
  ##### read E from pause macro #####
  {% set E = printer["gcode_macro PAUSE"].extrude|float %}
  ##### set park positon for x and y #####
  # default is your max posion from your printer.cfg
  {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
  {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
  ##### calculate save lift position #####
  {% set max_z = printer.toolhead.axis_maximum.z|float %}
  {% set act_z = printer.toolhead.position.z|float %}
  {% if act_z < (max_z - 2.0) %}
      {% set z_safe = 2.0 %}
  {% else %}
      {% set z_safe = max_z - act_z %}
  {% endif %}
  ##### end of definitions #####
  PAUSE_BASE
  G91
  {% if printer.extruder.can_extrude|lower == 'true' %}
    G1 E-{E} F2100
  {% else %}
    {action_respond_info("Extruder not hot enough")}
  {% endif %}
  {% if "xyz" in printer.toolhead.homed_axes %}
    G1 Z{z_safe} F900
    G90
    G1 X{x_park} Y{y_park} F6000
  {% else %}
    {action_respond_info("Printer not homed")}
  {% endif %} 

[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
  ##### read E from pause macro #####
  {% set E = printer["gcode_macro PAUSE"].extrude|float %}
  #### get VELOCITY parameter if specified ####
  {% if 'VELOCITY' in params|upper %}
    {% set get_params = ('VELOCITY=' + params.VELOCITY)  %}
  {%else %}
    {% set get_params = "" %}
  {% endif %}
  ##### end of definitions #####
  {% if printer.extruder.can_extrude|lower == 'true' %}
    G91
    G1 E{E} F2100
  {% else %}
    {action_respond_info("Extruder not hot enough")}
  {% endif %}  
  RESUME_BASE {get_params}

[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
  TURN_OFF_HEATERS
  CANCEL_PRINT_BASE

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [heater_bed]
#*#
#*# [extruder]
#*#
#*# [probe]
#*# z_offset = -0.030
#*#
#*# [input_shaper]
#*# shaper_type_x = mzv
#*# shaper_freq_x = 68.2
#*# shaper_type_y = mzv
#*# shaper_freq_y = 33.4
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*#       0.000937, 0.180312, 0.172812, 0.021250
#*#       -0.061563, 0.145000, 0.149687, -0.076250
#*#       -0.066250, 0.120625, 0.197812, 0.013750
#*#       0.026562, 0.140937, 0.143750, 0.039375
#*# x_count = 4
#*# y_count = 4
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 5.0
#*# max_x = 179.99
#*# min_y = 5.0
#*# max_y = 189.98
#*#
#*# [bltouch]
 

 

je ne voit pas la commande g28  dans mon  pirnter.cfg

Posté(e)

Dans le fichier de configuration de Klipper (printer.cfg) toute ligne débutant par un dièse ( # ) est un commentaire… En gros, Klipper n'en tient pas compte 😉

Le G-Code G28 (mise à l'origine) sauf s'il est dans une macro PRINT_START / START_PRINT, est généralement plutôt dans la section Gcode démarrage du trancheur 🙄

Il faudrait peut-être revoir les bases («apprendre à marcher avant de vouloir courir»).

🙂

  • fran6p changed the title to nivellement pendant impression
Posté(e)

Voici mes remarques/suggestions pour ton fichier printer.cfg:

  • Tu peux supprimer la section suivante qui ne concerne pas ton imprimante:
Citation

## This macro is needed to reset the factory strain gauge on the Kobra Max
## If you do not intend to use the factory print head, comment this out
[gcode_macro probe_reset]
gcode:
    SET_PIN PIN=probe_reset_pin VALUE=0
    G4 P500
    SET_PIN PIN=probe_reset_pin VALUE=1
    G4 P100

### Don't forget to SET YOUR E-STEPS!
### Measure 120mm, then extrude 100mm
### G1 E100 F100
### step_distance = old_e_steps * ((120 - distance_to_mark) / 100)

  • tu pourrais définir position_min: 0 dans [stepper_x] et [stepper_y]
  • le décalage X,Y de ton BLTouch n'est pas cohérent. Les valeurs seraient plutôt autour de X-44 et Y-16 ou -5
  • la conséquence est que dans la section [bed_mesh], tu aurais: mesh_max: 175, 200  #150,190/dd
  • je ne connais pas la position de tes vis trapézoïdales dans le référentiel d'impression, mais la section [z_tilt] pourrait ressembler à ça:
Citation

[z_tilt]
z_positions: 110, -50 #position de la vis trapézoidale avant à confirmer
    110, 270 #position de la vis trapézoidale avant à confirmer
points: 154, 20
    154, 110
    154, 200
speed: 100
retries: 8
retry_tolerance: 0.02

  • tu pourrais supprimer les lignes suivantes dans la partie SAFE_CONFIG
Citation

#*# [probe]
#*# z_offset = -0.030
#*#

Pour le G28, fran6p a répondu. Je pensais que tu gérais les Gcodes de démarrage et de fin dans le fichier printer.cfg, à moins que ce ne soit dans le fichier macros.cfg qui est indiqué au début de ton fichier 🤔... (macros START_PRINT, PURGE, END_PRINT)

PS: je ne suis pas sûr que tu reçoives beaucoup de réponses dans ce sujet puisque ta configuration est assez spécifique 😅.

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