Konfiguracja "homing_override" Klipper

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
Awatar użytkownika
artur_n
Postów w temacie: 3
Posty: 950
Rejestracja: 20 lis 2017, 21:48
Lokalizacja: RJA
Drukarka: P3Steel, Prusa MK4
x 172

Konfiguracja "homing_override" Klipper

Post autor: artur_n »

Witam,
jestem w trakcie budowy softu do Hevo, utknąłem na home xyz. Okazuje się że drukarka potrzebuje troszkę niestandardowego home.
Mam problem aby poniższą konfigurację wrzucić do sekcji "homing_override", może ktoś z bardziej ogarniętych pomoże mi z tym?

Pozdrawiam
Artur

Kod: Zaznacz cały

#Home osi Z
[safe_z_home]
home_xy_position: 145,145        
speed: 25
z_hop: 12                        # Podnieś Z na 12mm
#z_hop: 6
z_hop_speed: 5

#Home osi X
[gcode_macro SENSORLESS_HOME_X]
gcode:
    {% set HOME_CUR = 0.700 %}
    {% set driver_config = printer.configfile.settings['tmc2209 stepper_x'] %}
    {% set RUN_CUR = driver_config.run_current %}
    # Set current for sensorless homing
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
    # Pause to ensure driver stall flag is clear
    G4 P2000
    # Home
    G28 X0
    # Move away
    G90
    G1 X10 F800
    # Set current during print
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}

#Home osi Y
[gcode_macro SENSORLESS_HOME_Y]
gcode:
    {% set HOME_CUR = 0.700 %}
    {% set driver_config = printer.configfile.settings['tmc2209 stepper_y'] %}
    {% set RUN_CUR = driver_config.run_current %}
    # Set current for sensorless homing
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
    # Pause to ensure driver stall flag is clear
    G4 P2000
    # Home
    G28 Y0
    # Move away
    G90
    G1 Y5 F800
    # Set current during print
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}
Awatar użytkownika
Rozarh
Drukarz
Postów w temacie: 1
Posty: 584
Rejestracja: 12 kwie 2021, 10:45
Lokalizacja: opolskie
Drukarka: Fenix, A20M, TT1SM..
x 234

Re: Konfiguracja "homing_override" Klipper

Post autor: Rozarh »

W Klipperze miałem jedną procedurę na homowanie:

Kod: Zaznacz cały

[homing_override]
gcode:
  {% set do_x = 0 %}
  {% set do_y = 0 %}
  {% set do_z = 0 %}
  {% set HOME_CUR = 0.700 %}
  {% set driver_x_config = printer.configfile.settings['tmc2209 stepper_x'] %}
  {% set RUN_X_CUR = driver_x_config.run_current %}
  {% set HOLD_X_CUR = driver_x_config.hold_current %}
  {% set driver_y_config = printer.configfile.settings['tmc2209 stepper_y'] %}
  {% set RUN_Y_CUR = driver_y_config.run_current %}
  {% set HOLD_Y_CUR = driver_y_config.hold_current %}

  {% if params.Y is defined %}
    ## for y home just y
    {% set do_y = 1 %} 
  {% endif %}

  {% if params.X is defined %}
    ## for x home y first then X
    {% set do_x = 1 %} 
    {% set do_y = 1 %} 
  {% endif %}

  {% if params.Z is defined %}
    ## for z home just z
    {% set do_z = 1 %} 
  {% endif %}

  {% if do_x == 0 and do_y == 0 and do_z == 0 %}
    {% set do_x = 1 %} 
    {% set do_y = 1 %} 
    {% set do_z = 1 %}
  {% endif %}

  {% if do_x == 1 %}
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR} HOLDCURRENT={HOME_CUR}
  {% endif %}
  {% if do_y == 1 %}
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR} HOLDCURRENT={HOME_CUR}
  {% endif %}

  {% if do_x == 1 and do_y == 1 and do_z == 1 %}
    # HOME ALL
    G1 Z10 F1800
    G4 P2000
    G28 X0
    G1 X5 F3000
    G4 P2000
    G28 Y0
    G1 X117 Y67 F9000
    G28 Z0
    Z_TILT_ADJUST
  {% elif do_x == 1 and do_y == 1 and do_z == 0 %}
    # HOME XY
    G1 Z10 F1800
    G4 P2000
    G28 X0
    G1 X5 F3000
    G4 P2000
    G28 Y0
    G0 X150 Y150 Z10 F9000
  {% elif do_x == 1 and do_y == 0 and do_z == 0 %}
  # HOME X
    G4 P2000
    G28 X0
  {% elif do_x == 0 and do_y == 1 and do_z == 0 %}
  # HOME Y
    G4 P2000
    G28 Y0
  {% elif do_x == 0 and do_y == 0 and do_z == 1 %}
    # HOME Z
    G0 X117 Y67 F9000
    G28 Z0
  {% elif do_x == 1 and do_y == 0 and do_z == 1 %}
    # HOME XZ

  {% else %}
    # HOME YZ

  {% endif %}
  G0 F9000

  {% if do_x == 1 %}
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_X_CUR} HOLDCURRENT={HOLD_X_CUR}
  {% endif %}
  {% if do_y == 1 %}
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_Y_CUR} HOLDCURRENT={HOLD_Y_CUR}    
  {% endif %}
axes: xyz
set_position_z: 0
set_position_x: 0
set_position_y: 0
Ale przez informacje o niedokładności SENSORLESS HOMING porzuciłem tą technologię na rzecz endstopów optycznych. Kojarzę, że kiedyś pisałem też sekcję [safe_z_home] ale w tym konfigu, którym teraz dysponuję jej nie mam. Jak wrócę do domu to sprawdzę czy nie mam aktualniejszej kopii.
Z drukarki nie pobiorę, bo banglam na RRF...
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Awatar użytkownika
artur_n
Postów w temacie: 3
Posty: 950
Rejestracja: 20 lis 2017, 21:48
Lokalizacja: RJA
Drukarka: P3Steel, Prusa MK4
x 172

Re: Konfiguracja "homing_override" Klipper

Post autor: artur_n »

Rozarh pisze: Ale przez informacje o niedokładności SENSORLESS HOMING porzuciłem tą technologię na rzecz endstopów optycznych. Kojarzę, że kiedyś pisałem też sekcję [safe_z_home] ale w tym konfigu, którym teraz dysponuję jej nie mam. Jak wrócę do domu to sprawdzę czy nie mam aktualniejszej kopii.
Z drukarki nie pobiorę, bo banglam na RRF...
Chcę osiągnąć to, że po home X odjechać na +10 a po home Y na 5+ ot cała filozofia.
Aczkolwiek chciałem aby to było możliwe przy użyciu przycisków do home z panelu Mainsail.
Awatar użytkownika
cyfron
Postów w temacie: 2
Posty: 1419
Rejestracja: 30 sty 2019, 09:28
Drukarka: U30, SP Pro, UM2+
x 365

Re: Konfiguracja "homing_override" Klipper

Post autor: cyfron »

u mnie to wygląda tak:

Kod: Zaznacz cały

[gcode_macro SENSORLESS_HOME_X]
gcode:
    {% set HOME_CUR = 0.600 %}
    {% set driver_config = printer.configfile.settings['tmc2209 stepper_x'] %}
    {% set RUN_CUR = driver_config.run_current %}
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
    G4 P2000
    G28 X
    G91
    G1 X+5 F1200
    G90
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}

[gcode_macro SENSORLESS_HOME_Y]
gcode:
    {% set HOME_CUR = 0.600 %}
    {% set driver_config = printer.configfile.settings['tmc2209 stepper_y'] %}
    {% set RUN_CUR = driver_config.run_current %}
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
    G4 P2000
    G28 Y
    G91
    G1 Y+5 F1200
    G90
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CUR}

[gcode_macro SENSORLESS_HOME]
gcode:
    SENSORLESS_HOME_X
    SENSORLESS_HOME_Y
    G28 Z
ze względu na dokładność Z mam na krańcówce, X i Y z mainsaila mogę wyklikać w bloku 'macro'.
Awatar użytkownika
artur_n
Postów w temacie: 3
Posty: 950
Rejestracja: 20 lis 2017, 21:48
Lokalizacja: RJA
Drukarka: P3Steel, Prusa MK4
x 172

Re: Konfiguracja "homing_override" Klipper

Post autor: artur_n »

Z bloku makra mogę wyklikać jedno albo oba na raz.
Jednak chciałem dodać to do homing_override aby moc sterować z głównego panelu do home.
Awatar użytkownika
cyfron
Postów w temacie: 2
Posty: 1419
Rejestracja: 30 sty 2019, 09:28
Drukarka: U30, SP Pro, UM2+
x 365

Re: Konfiguracja "homing_override" Klipper

Post autor: cyfron »

u mnie robi to SENSORLESS_HOME
ODPOWIEDZ

Wróć do „Firmware'y i hosty”