EDDY TAP 모드 디버깅
이 페이지는 EDDY를 TAP 모드에서 사용할 때의 디버깅 절차, 점검 순서 및 일반적인 문제 해결 방법을 설명합니다. TAP 모드는 노즐이 베드에 가볍게 접촉하여 트리거 임계값을 결정하므로, 디버깅 시 노즐, 히트 베드 및 Z축 움직임 상태를 주의해야 합니다.
시작하기 전에 프린터를 완전히 끄고 전원 공급 장치를 분리하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나, 인터페이스 배선을 정리하거나, 터미널을 만지지 마십시오.
- 이 페이지는 디버깅 방법 설명이며, 그대로 복사하여 사용할 수 있는 완전한
printer.cfg가 아닙니다. canbus_uuid,serial, 프로브 핀, 귀환 방향, Z축 스트로크 및 오프셋은 실제 하드웨어에 따라 수정해야 합니다.- 처음 활성화하기 전에 EDDY, 툴보드, 메인보드 및 Z축 기계 구조의 상태가 정상인지 먼저 확인하십시오.
적용 범위
- EDDY/LDC1612 와전류 센서를 사용하며
METHOD=tap또는 TAP 임계값 트리거 방식을 사용해야 하는 경우. - FLY SHT36 V3, SB2040 V3 등 EDDY를 지원하는 툴보드에 적용됩니다.
- 기본 EDDY 배선 및 일반 높이 보정이 완료되었으며, TAP 모드를 추가로 활성화하거나 문제를 해결해야 하는 경우.
버전 요구 사항
- FLY FAST 시스템 사용 시: 시스템 버전
V1.3.9이상 이어야 합니다. - 다른 시스템 사용 시: Klipper가 최신 버전으로 업데이트되었는지 확인하십시오.
- 툴보드 또는 관련 하위 제어기 펌웨어도 최신 버전으로 업데이트해야 합니다. 그렇지 않으면 호스트가 TAP 명령을 지원하더라도 MCU 펌웨어가 응답하지 않을 수 있습니다.
필수 설정
SHT36 V3 또는 SB2040 V3을 예로 들면, [probe_eddy_current fly_eddy_probe] 에 반드시 frequency: 40000000을 설정해야 합니다. 그렇지 않으면 EDDY를 정상적으로 사용하지 못할 수 있습니다.
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
# 아래 i2c_mcu, i2c_bus, 오프셋은 실제 툴보드 및 설치 위치에 따라 수정
i2c_mcu: SHT36
i2c_bus: i2c1e
i2c_speed: 400000
frequency: 40000000
x_offset: 0
y_offset: 21.42
descend_z: 2.5
tap_z_offset: 0
# TAP 임계값 자동 보정 전에 먼저 주석 처리, 보정 성공 후 SAVE_CONFIG가 기록
# tap_threshold: 40000
설정 완료 후, 해당 제품 문서에 따라 구동 전류 보정 과 높이 보정 을 다시 실행해야 합니다.
관련 문서: SHT36 V3 EDDY 사용
설정 전 점검
EDDY 케이블, 툴보드 인터페이스, 프로브 고정 나사, 노즐 및 히트 베드 주변 구조를 점검하기 전에 프린터를 완전히 끄고 전원을 분리하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나 터미널을 조정하지 마십시오.
- 노즐과 베드 표면이 깨끗하고, 필름 잔여물, 접착제 돌기 또는 이물질이 없어야 합니다.
- EDDY가 단단히 고정되어 있고, 코일 설치 위치에 흔들림이 없어야 합니다.
- Z축이 정상적으로 상하로 움직일 수 있고, 걸림, 충돌 또는 프레임 간섭이 없어야 합니다.
- 다중 Z축 기계는 먼저 기본 기계적 레벨링을 완료하십시오.
- EDDY 기본 설정이 완료되어 센서 데이터를 정상적으로 읽을 수 있어야 합니다.
참고 설정 조각
다음 설정은 EDDY TAP 일반적인 부분만 유지합니다. mcu 이름, I2C 버스, 오프셋, 레벨링 방식 및 시작 매크로 매개변수는 실제 기계 상황에 따라 수정해야 합니다. 별도의 설정 파일에 넣은 다음 printer.cfg에서 include 하는 것을 권장합니다.
[respond]
[force_move]
enable_force_move: true
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
i2c_mcu: SHT36
i2c_bus: i2c1e
i2c_speed: 400000
frequency: 40000000
x_offset: 0
y_offset: 21.42
descend_z: 2.5
speed: 5
samples: 3
sample_retract_dist: 5.0
samples_tolerance: 0.05
samples_tolerance_retries: 3
tap_z_offset: 0
# TAP 임계값 자동 탐색 전에 먼저 주석 처리, 보정 성공 후 SAVE_CONFIG가 기록
# tap_threshold: 40000
TAP 설정 Z 오프셋 매크로
SET_Z_FROM_PROBE METHOD=tap 은 TAP 트리거 후 현재 Z 좌표를 업데이트하는 데 사용됩니다. 여러 번 연속 실행하여 결과가 비슷한지 관찰하는 것이 좋습니다. 차이가 크면 저장하지 말고 노즐, 베드면, Z축 백래시 및 TAP 임계값을 다시 확인하십시오.
[gcode_macro _RELOAD_Z_OFFSET_FROM_PROBE]
description: 마지막 PROBE 결과를 기반으로 현재 Z 좌표 새로고침
gcode:
{% set Z = printer.toolhead.position.z %}
{% set position_endstop = 0 %}
{% set raw_config = printer.configfile.config %}
{% if 'stepper_z' in raw_config and 'position_endstop' in raw_config.stepper_z %}
{% set position_endstop = raw_config.stepper_z.position_endstop|trim|float %}
{% endif %}
{% set setZ = Z - printer.probe.last_probe_position.z + position_endstop %}
SET_KINEMATIC_POSITION Z={setZ}
RESPOND MSG="position_Z={'%0.3f' | format(Z)} probe_Z={'%0.3f' | format(printer.probe.last_probe_position.z)} position_endstop={'%0.3f' | format(position_endstop)} set_Z={'%0.3f' | format(setZ)}"
[gcode_macro SET_Z_FROM_PROBE]
description: TAP 모드 Z 오프셋 설정, 사용법: SET_Z_FROM_PROBE METHOD=tap
gcode:
{% set METHOD = params.METHOD | default("automatic") %}
G0 Z5 F300
PROBE METHOD={METHOD} SAMPLES=3
_RELOAD_Z_OFFSET_FROM_PROBE
G0 Z5 F300
이 매크로를 사용하여 position_endstop 을 저장하고 재사용하려면 설정에 저장 가능한 stepper_z position_endstop 값이 있는지 확인하십시오. 첫 디버깅 시에는 0으로 설정한 다음, 수동 Z 오프셋과 첫 레이어 결과를 통해 실제 값을 확인할 수 있습니다.
시작 프린트 매크로 호출
시작 매크로에서는 기계가 가열, 귀환 및 필요한 레벨링을 완료한 후 TAP을 호출하여 Z 오프셋을 설정하기만 하면 됩니다. 노즐이 프린트 온도까지 올라가기 전에는 낮은 온도를 유지하여 필름이 TAP에 영향을 주는 것을 방지할 수 있습니다.
[gcode_macro PRINT_START]
gcode:
{% set BED = params.BED|default(60)|int %}
{% set EXTRUDER = params.EXTRUDER|default(200)|int %}
{% set X_CENTER = printer.toolhead.axis_maximum.x|float / 2 %}
{% set Y_CENTER = printer.toolhead.axis_maximum.y|float / 2 %}
SET_GCODE_OFFSET Z=0
G21
G90
G28
G1 X{X_CENTER} Y{Y_CENTER} Z15 F9000
M190 S{BED}
M109 S150
# 여기에 원래 프린트 전 준비 절차를 유지
# ...
# 노즐 닦기 매크로가 있다면 TAP 전에 노즐을 먼저 청소하는 것이 좋습니다
# CLEAN_NOZZLE
SET_Z_FROM_PROBE METHOD=tap
# TAP 완료 후 원래 프린트 준비 절차 계속
M109 S{EXTRUDER}
G92 E0
노즐에 필름이 쉽게 묻는 경우, SET_Z_FROM_PROBE METHOD=tap 전후에 각각 한 번씩 노즐을 닦고 SET_Z_FROM_PROBE METHOD=tap 을 한 번 더 반복하여 안정성을 높일 수 있습니다.
TAP 임계값 자동 보정
Klipper는 2026-05-02 이후 TAP 임계값 자동 측정을 지원합니다. 사용 전에 먼저 수동으로 입력한 tap_threshold 를 주석 처리한 후, 다음 명령을 통해 임계값을 다시 찾으십시오.
TAP 임계값 보정 명령: PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=xxx, 일반적인 값으로는 guess, refine, verify 가 있습니다.
다음 단계에서는 노즐이 베드 쪽으로 이동하여 가볍게 접촉합니다. 시작하기 전에 언제든지 비상 정지(M112)를 실행할 수 있는지 확인하십시오. 노즐이 베드에 닿은 후에도 계속 하강하면 즉시 비상 정지하십시오.
① guess: 초기 대략적인 임계값
노즐과 베드 면이 깨끗한지 확인하고, 귀환 후 툴헤드를 베드 중앙 근처로 이동시키고 노즐을 베드에서 3~10mm 떨어뜨리십시오.
PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=guess
이 명령은 메인 프로브 보정 데이터를 분석하여 초기 tap_threshold 대략적인 값을 얻은 다음, 한 번의 접촉 감지를 수행합니다. 이상적으로는 프로브가 하강하여 노즐이 베드에 닿은 후 들어 올려지고 유효한 감지 결과를 보고합니다.
② refine: 임계값 정밀 조정
TAP=guess 가 성공하면, 노즐을 베드 중앙 근처 3~10mm 에 유지한 상태에서 다음을 실행합니다:
PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=refine
이 명령은 이전에 성공한 감지 데이터를 사용하여 더 정확한 임계값을 결정합니다.
③ verify: 안정성 확인
TAP=refine 이 성공하면 다음을 실행합니다:
PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=verify
이 명령은 베드를 연속 다섯 번 감지합니다. 다섯 번 모두 정상적으로 완료되고 결과가 안정적이면 통과입니다.
④ 설정 저장
위 단계가 모두 성공하면 다음을 실행합니다:
SAVE_CONFIG
저장 후 Klipper를 재시작합니다. 이 시점에서는 TAP 임계값만 저장되었으며, Z 오프셋 확인을 계속 완료해야 합니다.
수동으로 임계값 찾기
자동 보정 중 임계값이 적절하지 않거나, 조기 트리거 또는 베드 접촉 후에도 멈추지 않는 등의 오류가 발생하는 경우 자동 명령을 반복해서 실행하지 마십시오. 대신 PROBE_ACCURACY 를 사용하여 수동으로 찾으십시오:
PROBE_ACCURACY METHOD=tap tap_threshold=40000
수동 조정 시 40000 근처에서 테스트를 시작할 수 있습니다:
- 베드에 닿기 전에 트리거됨 → 임계값이 너무 낮으므로 적절히 높이십시오.
- 베드에 닿은 후에도 멈추지 않음 → 임계값이 너무 높으므로 즉시 비상 정지하고 낮추십시오.
- 각 테스트 전에 노즐과 베드 면이 깨끗한지 확인하고 노즐을 베드에서
3~10mm떨어뜨리십시오.
수동 임계값이 안정되면 자동 보정의 TAP=refine 및 TAP=verify 로 돌아가 확인할 수 있습니다.
Z 오프셋 설정
TAP 임계값이 통과되면 Klipper의 TAP 방법을 사용하여 Z 오프셋을 설정합니다:
SET_Z_FROM_PROBE METHOD=tap
여러 번 연속 실행하여 결과가 비슷한지 관찰하는 것이 좋습니다. 차이가 크면 저장하지 말고 노즐 청소, 히트 베드 강성, Z축 백래시 및 TAP 임계값을 확인하십시오.
새로운 버전의 Klipper에서는 tap_z_offset 을 사용하여 TAP 간격을 미세 조정할 수 있습니다. 실제 첫 레이어는 여전히 인쇄 결과를 통해 확인하는 것이 좋으며, 단일 감지 값만으로 판단하지 마십시오.
수동 Z 오프셋 확인
TAP 임계값과 SET_Z_FROM_PROBE METHOD=tap 이 모두 통과된 후에도 노즐과 베드 사이의 실제 간격을 수동으로 확인해야 합니다:
- 노즐과 베드 면을 청소하고 노즐을 히트 베드 중앙 근처로 이동합니다.
SET_Z_FROM_PROBE METHOD=tap을 실행하여 이상이 없는지 확인합니다.- 종이 또는 첫 레이어 테스트를 사용하여 실제 노즐 간격을 확인하고 웹 인터페이스에서 Z 오프셋을 미세 조정합니다.
- 첫 레이어가 적절하면 설정을 저장합니다.
- 이후 노즐, 핫엔드, EDDY 설치 위치 또는 베드 구조를 변경한 후에는 오프셋을 다시 확인해야 합니다.
일반적인 문제
설정 완료 후에도 정상적으로 사용할 수 없음
- FAST 시스템 버전
V1.3.9이상 (또는 Klipper가 최신 버전으로 업데이트되었는지) 확인합니다. - 하위 제어기 펌웨어가 최신 버전으로 업데이트되었는지 확인합니다.
[probe_eddy_current fly_eddy_probe]에frequency: 40000000이 설정되어 있는지 확인합니다.i2c_speed가 너무 높지 않은지 확인합니다. SHT36 V3 / SB2040 V3의 경우 먼저400000으로 테스트할 수 있습니다.- 구동 전류 보정과 높이 보정을 다시 실행합니다.
klippy.log에서 첫 번째 EDDY 또는 TAP 관련 오류를 확인하고 오류 내용에 따라 문제를 해결합니다.
TAP 감지 결과 불안정
- 노즐과 베드 면을 청소합니다.
- EDDY 고정이 느슨하지 않은지 확인합니다.
- Z축에 걸림 또는 백래시가 있는지 확인합니다.
TAP=refine과TAP=verify를 다시 실행합니다.
MCU 'xxx' I2C request to addr 42 reports error BUS_TIMEOUT
EDDY가 있는 MCU와 LDC1612 간의 통신이 실패하거나 불안정합니다.
EDDY 케이블, I2C 인터페이스, 터미널 압착 또는 케이블 교체를 점검하기 전에 프린터를 완전히 끄고 전원을 분리하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나 터미널을 조정하지 마십시오.
i2c_mcu,i2c_bus또는 소프트웨어 I2C 핀이 실제 툴보드와 일치하는지 확인합니다.i2c_speed를 먼저400000으로 낮추어 테스트합니다.- EDDY 케이블, 터미널 및 툴보드 인터페이스가 느슨하지 않은지 확인합니다.
- EDDY와 툴보드 펌웨어가 모두 현재 Klipper를 지원하는 버전으로 업데이트되었는지 확인합니다.
Unable to detect tap: insufficient slope delta
일반적인 오류 메시지:
!! Unable to detect tap: insufficient slope delta (-36983.054918 vs 30633.703000)
현재 tap_threshold 가 적절하지 않거나, 감지 데이터가 충분히 명확한 TAP 변곡점을 형성하지 않았습니다.
- 노즐과 베드 면을 청소합니다.
- 자동 보정을 반복해서 실행하지 말고
PROBE_ACCURACY METHOD=tap tap_threshold=40000을 사용하여 수동으로 임계값을 찾으십시오. - 수동 임계값이 안정되면
TAP=refine및TAP=verify로 돌아가 확인합니다.
Unable to detect tap: invalid depress distance
일반적인 오류 메시지:
!! Unable to detect tap: invalid depress distance (0.020411 vs 0.030000:0.250000)
Klipper가 판단한 눌림 거리가 예상 범위(0.03~0.25mm)를 벗어났습니다. 일반적인 원인: 히트 베드 강성 부족, 노즐 접촉 과정 불안정, Z축 백래시 또는 TAP 임계값 부적절.
- 노즐, 히트 베드 표면 및 자석 시트가 깨끗하고 평평한지 확인합니다.
- 히트 베드 지지대, Z축 구조 및 프로브 설치에 눈에 띄는 흔들림이 있는지 확인합니다.
- Z 귀환 및 감지 속도를 낮춘 후 다시 확인합니다.
- 동일한 오류가 여러 번 발생하면 TAP 매개변수를 저장하지 말고 기계적 강성과 임계값 문제를 우선적으로 해결하십시오.
- 일반 사용자는
klippy/extras/probe_eddy_current.py를 수정하여 오류 범위를 완화하지 않는 것이 좋습니다. 하드웨어와 임계값이 모두 정상임을 확인한 후에만 Klipper 소스 코드에 익숙한 담당자가 조정 필요 여부를 평가해야 합니다.
Eddy: CLKIN frequency too low
일반적인 오류 메시지:
!! Eddy: CLKIN frequency too low: 0.001 < 0.002
I2C 통신이 불안정하여 데이터 포인트 획득 시간 간격이 비정상적입니다.
i2c_mcu,i2c_bus또는 소프트웨어 I2C 핀이 올바르게 입력되었는지 확인합니다.i2c_speed를 먼저400000으로 테스트하고 처음부터 너무 높게 설정하지 마십시오.- EDDY 케이블, 터미널 및 툴보드 인터페이스가 느슨하지 않은지 확인합니다.
- 소프트웨어 I2C를 사용하는 경우 해당 GPIO가 다른 기능에 의해 점유되지 않고 주변 회로가 신호에 영향을 미치지 않는지 확인합니다.