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), 빠른 이동
왜 침대 중앙으로 이동해야 하나요?
- 충돌 방지: 노즐이 침대 가장자리에서 귀환할 때 레벨링 노브나 기타 장애물에 충돌하는 것을 방지
- 정밀도 향상: 침대 중앙은 일반적으로 침대에서 가장 평평한 영역이므로 귀환이 더 정확
- 호환성: 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 %}
온도 보호 로직
- 온도 확인: 노즐 목표 온도 또는 실제 온도가 150°C 이상인지 판단
- 팬 켜기: M106 S255 냉각 팬 최대 속도로 켜기
- 냉각 대기: M109 S150 노즐이 150°C로 냉각될 때까지 대기
- 팬 끄기: M106 S0 귀환 준비를 위해 팬 끄기
- 귀환 실행: 중앙 이동 → Z 귀환 → 상승
- 상태 복원: 원래 목표 온도와 팬 속도로 복원
온도 임계값 수정 방법
- 【수정 가능】 표시된 두 곳을 찾으세요
150을 원하는 온도 값으로 변경하세요- 두 곳을 동일한 값으로 동시에 변경해야 합니다
- 저장 후 Klipper를 재시작하세요
사용 예시
G28 ; 전체 귀환 → 온도 확인 → 냉각(필요시) → 중앙 이동 → Z 귀환 → 온도 복원
관련 리소스
Loading...