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