본문으로 건너뛰기

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 케이블, 툴보드 인터페이스, 프로브 고정 나사, 노즐 및 히트 베드 주변 구조를 점검하기 전에 프린터를 완전히 끄고 전원을 분리하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나 터미널을 조정하지 마십시오.

  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

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

④ 설정 저장

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

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. 하위 제어기 펌웨어가 최신 버전으로 업데이트되었는지 확인합니다.
  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 를 다시 실행합니다.

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