본문으로 건너뛰기

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가 최신 버전으로 업데이트되었는지 확인하십시오.
  • 툴보드 또는 관련 하위 MCU 펌웨어도 최신 버전으로 업데이트해야 합니다. 그렇지 않으면 호스트가 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 와이어 하니스, 툴보드 인터페이스, 프로브 고정 나사, 노즐 및 히트 베드 주변 구조를 점검하기 전에 프린터를 완전히 끄고 전원을 분리하십시오. 전원이 켜진 상태에서 와이어 하니스를 연결/분리하거나 터미널을 조정하지 마십시오.

  1. 노즐과 베드 표면이 깨끗하고, 필라멘트 잔여물, 접착제 돌기 또는 이물질이 없어야 합니다.
  2. EDDY가 단단히 고정되어 있고, 코일 설치 위치에 유격이 없어야 합니다.
  3. Z축이 정상적으로 상하로 움직일 수 있으며, 걸림, 충돌 또는 프레임 간섭이 없어야 합니다.
  4. 다중 Z축 기계는 먼저 기본 기계적 레벨링을 완료해야 합니다.
  5. 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

이 명령은 베드를 연속으로 5번 감지합니다. 5번 모두 정상적으로 완료되고 결과가 안정적이면 통과입니다.

④ 설정 저장

위 단계가 모두 성공하면 다음을 실행합니다.

SAVE_CONFIG

저장 후 Klipper를 재시작합니다. 이때 TAP 임계값만 저장되었으므로 Z 오프셋 확인을 계속 완료해야 합니다.

수동 임계값 찾기

자동 교정 중 임계값이 적절하지 않거나, 조기 트리거 또는 베드 접촉 후에도 멈추지 않는 등의 오류가 발생하면 자동 명령을 반복해서 실행하지 마십시오. 대신 PROBE_ACCURACY를 사용하여 수동으로 찾으십시오.

PROBE_ACCURACY METHOD=tap tap_threshold=40000

수동 조정 시 40000 부근에서 테스트를 시작할 수 있습니다.

  • 베드에 닿지 않았는데 트리거됨 → 임계값이 너무 낮음, 적절히 증가시키십시오.
  • 베드에 닿은 후에도 멈추지 않음 → 임계값이 너무 높음, 즉시 비상 정지하고 낮추십시오.
  • 각 테스트 전에 노즐과 베드 표면이 깨끗하고 노즐이 베드에서 3~10mm 떨어져 있는지 확인하십시오.

수동 임계값이 안정되면 자동 교정의 TAP=refineTAP=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이 모두 통과된 후에도 노즐과 베드 표면 사이의 실제 간격을 수동으로 확인해야 합니다.

  1. 노즐과 베드 표면을 청소하고 노즐을 히트 베드 중앙 근처로 이동합니다.
  2. SET_Z_FROM_PROBE METHOD=tap을 실행하여 이상이 없는지 확인합니다.
  3. 종이 또는 첫 번째 레이어 테스트를 사용하여 실제 노즐 간격을 확인하고 웹 인터페이스에서 Z 오프셋을 미세 조정합니다.
  4. 첫 번째 레이어가 적절하면 설정을 저장합니다.
  5. 이후 노즐, 핫엔드, EDDY 설치 위치 또는 베드 구조를 변경한 후에는 오프셋을 다시 확인해야 합니다.

일반적인 문제

설정 완료 후에도 정상적으로 사용할 수 없음

  1. FAST 시스템 버전이 V1.3.9 이상인지 확인합니다. (또는 Klipper가 최신 버전으로 업데이트되었는지 확인)
  2. 하위 MCU 펌웨어가 최신 버전으로 업데이트되었는지 확인합니다.
  3. [probe_eddy_current fly_eddy_probe]frequency: 40000000이 설정되어 있는지 확인합니다.
  4. i2c_speed가 너무 높지 않은지 확인합니다. SHT36 V3 / SB2040 V3는 먼저 400000으로 테스트할 수 있습니다.
  5. 구동 전류 교정과 높이 교정을 다시 실행합니다.
  6. klippy.log에서 첫 번째 EDDY 또는 TAP 관련 오류를 확인하고 오류 내용에 따라 문제를 해결합니다.

TAP 감지 결과 불안정

  1. 노즐과 베드 표면을 청소합니다.
  2. EDDY 고정이 느슨하지 않은지 확인합니다.
  3. Z축에 걸림 또는 백래시가 있는지 확인합니다.
  4. TAP=refineTAP=verify를 다시 실행합니다.

EDDY TAP / Z_TILT가 Timer too close 트리거

일반적인 오류 메시지:

!! MCU 'xxx' shutdown: Timer too close

이 오류가 EDDY TAP, Z 귀환, Z_TILT_ADJUST, QUAD_GANTRY_LEVEL 또는 베드 스캔 단계에서만 발생하는 경우 일반적으로 EDDY 샘플링, CAN 통신 및 호스트 스케줄링 여유를 동시에 확인해야 합니다.

  1. klippy.log에서 오류 전후의 Stats 행을 확인하여 bytes_retransmit, bytes_invalid, canstat_* 이상, I2C 오류 또는 호스트 부하 증가가 동시에 존재하는지 확인합니다.
  2. Klipper, 툴보드 MCU, EDDY MCU 펌웨어 버전이 일치하는지 확인하고 업데이트 후 관련 모든 MCU를 다시 플래시해야 합니다.
  3. 카메라 스트림, KlipperScreen, 원격 제어 플러그인 및 기타 높은 점유율 서비스를 일시적으로 중단한 후 재테스트합니다.
  4. 오류가 Z_TILT_ADJUST에서 발생하고 기계 구조가 허용하는 경우 임시로 Z_TILT_ADJUST METHOD=scan을 사용하여 TAP 트리거 경로의 타이밍 동기화 압력을 줄일 수 있습니다.
  5. 시작 매크로에서 불필요한 반복 귀환, 반복 TAP 및 연속 베드 스캔 동작을 줄입니다. 이미 귀환되었고 기계 상태를 신뢰할 수 있는 경우 매크로가 G28을 반복하지 않도록 합니다.
  6. EDDY I2C 오류도 동시에 발생하는 경우 먼저 I2C BUS_TIMEOUT에 따라 와이어 하니스, I2C 속도 및 툴보드 인터페이스를 확인합니다.

시스템 관련 문제 해결: Timer too close

MCU 'xxx' I2C request to addr 42 reports error BUS_TIMEOUT

EDDY가 있는 MCU와 LDC1612 간의 통신 실패 또는 불안정.

전원 차단 작업

EDDY 와이어 하니스, I2C 인터페이스, 터미널 압착 또는 와이어 하니스 교체 전에 프린터를 완전히 끄고 전원을 분리하십시오. 전원이 켜진 상태에서 와이어 하니스를 연결/분리하거나 터미널을 조정하지 마십시오.

  1. i2c_mcu, i2c_bus 또는 소프트웨어 I2C 핀이 실제 툴보드와 일치하는지 확인합니다.
  2. i2c_speed를 먼저 400000으로 낮추어 테스트합니다.
  3. EDDY 와이어 하니스, 터미널 및 툴보드 인터페이스가 느슨하지 않은지 확인합니다.
  4. EDDY 및 툴보드 펌웨어가 현재 Klipper를 지원하는 버전으로 업데이트되었는지 확인합니다.

Unable to detect tap: insufficient slope delta

일반적인 오류 메시지:

!! Unable to detect tap: insufficient slope delta (-36983.054918 vs 30633.703000)

현재 tap_threshold가 적절하지 않거나 감지 데이터가 충분히 명확한 TAP 변곡점을 형성하지 못했습니다.

  1. 노즐과 베드 표면을 청소합니다.
  2. 자동 교정을 반복해서 실행하지 말고 PROBE_ACCURACY METHOD=tap tap_threshold=40000을 사용하여 수동으로 임계값을 찾습니다.
  3. 수동 임계값이 안정되면 TAP=refineTAP=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 임계값 부적절.

  1. 노즐, 히트 베드 표면 및 자석 시트가 깨끗하고 평평한지 확인합니다.
  2. 히트 베드 지지대, Z축 구조 및 프로브 설치에 명백한 유격이 있는지 확인합니다.
  3. Z 귀환 및 감지 속도를 낮춘 후 다시 확인합니다.
  4. 동일한 오류가 여러 번 발생하면 TAP 매개변수를 저장하지 말고 기계적 강성과 임계값을 우선적으로 확인합니다.
  5. 일반 사용자는 klippy/extras/probe_eddy_current.py를 직접 수정하여 오류 범위를 완화하지 않는 것이 좋습니다. 하드웨어와 임계값이 모두 정상임을 확인한 후에만 Klipper 소스 코드에 익숙한 담당자가 조정 필요성을 평가하도록 하십시오.

Eddy: CLKIN frequency too low

일반적인 오류 메시지:

!! Eddy: CLKIN frequency too low: 0.001 < 0.002

I2C 통신이 불안정하여 데이터 포인트 획득 시간 간격이 비정상적입니다.

  1. i2c_mcu, i2c_bus 또는 소프트웨어 I2C 핀이 올바르게 입력되었는지 확인합니다.
  2. i2c_speed를 먼저 400000으로 테스트하고 처음부터 너무 높게 설정하지 마십시오.
  3. EDDY 와이어 하니스, 터미널 및 툴보드 인터페이스가 느슨하지 않은지 확인합니다.
  4. 소프트웨어 I2C를 사용하는 경우 해당 GPIO가 다른 기능에 의해 점유되지 않고 주변 회로가 신호에 영향을 미치지 않는지 확인합니다.
Loading...