본문으로 건너뛰기

Homing Override - 홈 오버라이드 설정

개요

이 페이지는 3D 프린터의 홈 복귀 프로세스를 최적화하여 안전성과 정밀도를 높이기 위한 두 가지 Klipper 홈 오버라이드(Homing Override) 참조 설정을 제공합니다.

설정 목록

설정기능 설명적용 시나리오
설정 1기본 홈 오버라이드 + 히트베드 중앙 이동표준 홈 복귀 프로세스 최적화
설정 2노즐 온도 확인 + 안전 홈 복귀고온 환경에서의 안전한 홈 복귀

설정 1: 기본 홈 오버라이드

기능 설명

  • Z축 홈 복귀 여부 자동 감지, 미복귀 시 가상 Z 위치 설정
  • Z축 홈 복귀 전 히트베드 중앙 위치로 자동 이동
  • 독립적인 X, Y, Z 홈 복귀 명령 지원
  • printer.configfile.config를 사용하여 프린터 최대 이동 범위 읽기

전체 설정

[force_move]
enable_force_move: true

[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}

; Z축이 홈 복귀되지 않았다면, 가상 위치 설정 및 상승
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}

{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

{% if home_all or 'X' in params %}
G28 X
{% endif %}

{% if home_all or 'Y' in params %}
G28 Y
{% endif %}

{% if home_all or 'Z' in params %}
; 히트베드 중앙으로 이동【중요】 Z 홈 복귀 시 충돌 방지
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
{% endif %}

핵심 코드 설명

G0 X{max_x / 2} Y{max_y / 2} F3600

이 코드 줄은 Z축을 홈 복귀하기 전에 노즐을 히트베드 중앙 위치로 이동시키는 역할을 합니다.

  • X{max_x / 2}: X축을 최대 이동 범위의 절반으로 이동 (히트베드 중앙 X 좌표)
  • Y{max_y / 2}: Y축을 최대 이동 범위의 절반으로 이동 (히트베드 중앙 Y 좌표)
  • F3600: 이동 속도 3600mm/min (60mm/s), 고속 이동

히트베드 중앙으로 이동해야 하는 이유는?

  1. 충돌 방지: 노즐이 히트베드 가장자리에서 홈 복귀할 때 레벨링 노브나 다른 장애물에 부딪히는 것을 방지
  2. 정밀도 향상: 히트베드 중앙은 일반적으로 가장 평평한 영역으로, 홈 복귀가 더 정확함
  3. 호환성: ALPS, BL-Touch, EDDY 등 다양한 프로브 지원

이동 속도는 어떻게 수정하나요?

  • G0 X{max_x / 2} Y{max_y / 2} F3600 줄을 찾습니다.
  • F3600을 원하는 속도 값으로 변경합니다.
  • 권장 범위: F1800-F3600 (30-60mm/s)

사용 예시

G28 ; 전체 홈 복귀 → Z 감지 → XY 홈 복귀 → 중앙 이동 → Z 홈 복귀 → 상승

설정 2: 온도 보호 기능이 포함된 홈 오버라이드

기능 설명

  • 설정 1의 모든 기능 포함
  • 노즐 온도 확인 기능 추가
  • 온도가 너무 높을 경우 안전 온도로 자동 냉각
  • 홈 복귀 완료 후 원래 온도 설정 복원

전체 설정

[force_move]
enable_force_move: true

[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set e_target = printer.extruder.target %} ; 목표 온도 저장
{% set fan_speed = printer.fan.speed %} ; 팬 속도 저장

; Z축이 홈 복귀되지 않았다면, 가상 위치 설정 및 상승
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}

{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

{% if home_all or 'X' in params %}
G28 X
{% endif %}

{% if home_all or 'Y' in params %}
G28 Y
{% endif %}

{% if home_all or 'Z' in params %}
; 온도 확인【수정 가능】 150을 원하는 온도 임계값으로 변경
{% if e_target >= 150 or printer.extruder.temperature >= 150 %}
M106 S255 ; 팬 켜기 (냉각 지원)
M109 S150 ; 150°C로 냉각될 때까지 대기【수정 가능】
{% endif %}
M106 S0 ; 팬 끄기

; 히트베드 중앙으로 이동【중요】 Z 홈 복귀 시 충돌 방지
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000

; 온도 및 팬 속도 복원
M109 S{e_target}
M106 S{fan_speed}
{% endif %}

온도 보호 로직

  1. 온도 확인: 노즐 목표 온도 또는 실제 온도가 ≥ 150°C인지 판단
  2. 팬 켜기: M106 S255로 냉각 팬 최대 속도로 켜기
  3. 냉각 대기: M109 S150으로 노즐이 150°C로 냉각될 때까지 대기
  4. 팬 끄기: M106 S0으로 팬 끄고 홈 복귀 준비
  5. 홈 복귀 실행: 중앙 이동 → Z 홈 복귀 → 상승
  6. 상태 복원: 원래 목표 온도와 팬 속도로 복원

온도 임계값 수정 방법

  1. 【수정 가능】 으로 표시된 두 곳을 찾습니다.
  2. 150을 원하는 온도 값으로 변경합니다.
  3. 두 곳 모두 동일한 값으로 변경해야 합니다.
  4. 저장하고 Klipper를 재시작합니다.

사용 예시

G28 ; 전체 홈 복귀 → 온도 확인 → 냉각 (필요 시) → 중앙 이동 → Z 홈 복귀 → 온도 복원

관련 자료


Loading...