EDDY I2C 핀 및 설정 설명
이 문서는 FLY-EDDY 시리즈(EDDY-M / EDDY-F) 센서의 I2C 핀 정의, 두 가지 연결 방식의 핀 대조 및 배선 절차, 그리고 probe_eddy_current에 필요한 I2C 관련 설정 항목을 설명합니다.
I2C 핀 정의
FLY-EDDY는 TI LDC1612 칩을 기반으로 I2C 인터페이스를 통해 통신합니다. 5P 케이블에는 4개의 I2C 신호선과 1개의 온도 감지선(TEMP, 보드 내장 서미스터 출력, [temperature_probe] 온도 드리프트 보상용)이 포함되어 있습니다:
| 핀 | 정의 | 설명 |
|---|---|---|
| VCC | 전원 양극 | 5V 전원 공급, 구체적인 사항은 제품 표기를 따름 |
| GND | 전원 접지 | MCU와 공통 접지 |
| SDA | I2C 데이터 라인 | 오픈 드레인 출력, MCU의 I2C SDA 핀에 연결 |
| SCL | I2C 클록 라인 | 오픈 드레인 출력, MCU의 I2C SCL 핀에 연결 |
| TEMP | 온도 감지 | 보드 내장 서미스터 출력, MCU의 ADC 핀에 연결, [temperature_probe] 온도 드리프트 보상용(선택 사항) |
LDC1612의 I2C 주소는 칩 ADDR 핀 레벨에 의해 결정되며, FLY-EDDY는 출고 시 0x42(42)로 고정되어 있습니다. Klipper 설정에서는 10진수 i2c_address: 42로 작성합니다.
두 가지 연결 방식
EDDY-M과 EDDY-F의 신호 정의는 완전히 동일하며, 물리적 연결 방식과 호환 플랫폼만 다릅니다(MX1.25 커넥터 / FPC 케이블):
- EDDY-F(FPC 케이블): SHT36 V3, SB2040 V3, SB2040 PRO V3 툴보드의 EDDY 인터페이스에 특별히 최적화되어 있으며, TEMP 라인이 자동으로 툴보드 온도 감지 핀(모두
gpio28)에 연결됩니다. - EDDY-M(MX1.25 커넥터): 일반 툴보드 또는 메인보드에 적합하며, 실제 보드 정의에 따라 배선하고 I2C를 구성해야 합니다(자세한 내용은 아래 배선 및 설정 섹션 참조).
| 신호 | EDDY-M(MX1.25 커넥터) | EDDY-F(FPC 케이블) |
|---|---|---|
| 전원 양극 | VCC | VCC |
| 전원 접지 | GND | GND |
| 데이터 라인 | SDA | SDA |
| 클록 라인 | SCL | SCL |
| 온도 감지 | TEMP | TEMP |
EDDY-M의 MX1.25 커넥터 핀 순서(왼쪽에서 오른쪽)는 SDA, TEMP, SCL, 5V, GND입니다. EDDY-F의 FPC 케이블은 FLY 툴보드(SHT36 V3 / SB2040 V3 / SB2040 PRO V3)의 EDDY 인터페이스에만 적합하며, 삽입만 하면 되고 핀 순서를 확인할 필요가 없습니다.
EDDY-M: MX1.25 커넥터 배선
배선 또는 케이블 연결/분리를 시작하기 전에 프린터를 완전히 끄고 전원 공급을 차단하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나, 인터페이스 핀 순서를 정리하거나, 커넥터를 만지지 마십시오.
- MX1.25 케이블(단일 헤드 5P, 30cm)을 EDDY-M 커넥터 하우징에 삽입하고, 커넥터 핀 순서(왼쪽에서 오른쪽: SDA, TEMP, SCL, 5V, GND)에 맞춰 하나씩 대응시킵니다.
- 케이블 반대쪽 끝을 일반 툴보드 또는 메인보드의 I2C 인터페이스에 연결하고, 인터페이스 실크 스크린을 기준으로 핀 순서를 확인합니다.
- TEMP 라인을 메인보드의 여유 ADC 핀에 연결합니다. 사용 가능한 ADC 핀이 없으면 연결하지 않아도 되지만, 온도 드리프트 보상 기능은 사용할 수 없습니다.
- 커넥터를 끝까지 삽입한 후 케이블을 가볍게 당겨 빠지지 않는지 확인합니다.
EDDY-M을 일반 툴보드 또는 메인보드에 연결할 때 i2c_mcu, i2c_bus는 실제 메인보드의 MCU 정의에 따라 입력해야 합니다. 소프트웨어 I2C를 사용할 때는 i2c_software_scl_pin / i2c_software_sda_pin을 지정해야 합니다. I2C 주소는 0x42(42)로 고정되어 있고, 크리스탈 발진 주파수는 40MHz이며, 설정 항목 설명은 아래를 참조하십시오.
EDDY-F: FPC 케이블 배선
배선 또는 케이블 연결/분리를 시작하기 전에 프린터를 완전히 끄고 전원 공급을 차단하십시오. 전원이 켜진 상태에서 케이블을 연결/분리하거나, 인터페이스 핀 순서를 정리하거나, 커넥터를 만지지 마십시오.
- FPC 케이블(5P, 0.5mm 피치, 동일 방향)을 EDDY-F 커넥터에 삽입합니다: 잠금 장치를 열고, 케이블의 금속 접점부를 올바른 방향으로 삽입한 후 평평하게 누르고 잠금 장치를 닫아 고정합니다.
- 케이블 반대쪽 끝을 SHT36 V3 / SB2040 V3 / SB2040 PRO V3 툴보드의 EDDY 인터페이스에 연결합니다. FPC와 툴보드 인터페이스가 일대일로 대응되므로 삽입만 하면 되며 핀 순서를 확인할 필요가 없습니다.
- TEMP 라인은 자동으로 툴보드 EDDY 인터페이스의 온도 감지 핀(모두
gpio28)에 연결되므로 추가 배선이 필요 없습니다. - 케이블이 구부러지지 않았는지, 구리 호일이 노출되지 않았는지 확인합니다.
배선 주의사항
- SDA / SCL 신호 라인에 커패시터, 인덕터, 다이오드 등의 부품을 직렬 또는 병렬로 연결하지 말고, RC / LC 필터 회로나 외부 레벨 시프트 모듈을 통과시키지 마십시오. I2C는 오픈 드레인 신호이므로 추가 커패시터는 신호 상승 에지를 느리게 만들어 통신 실패 또는 오류를 유발할 수 있습니다.
- EDDY 통신 라인은 모터 라인, 히터 라인, 베드 히터 라인에서 멀리 떨어뜨려 I2C 신호가 간섭을 받지 않도록 해야 합니다.
- I2C 라인은 너무 길지 않아야 하며, 케이블 품질이 낮거나 배선이 너무 길면 통신이 불안정해질 수 있습니다.
- 완제품 케이블을 우선 사용하십시오. 노출된 커넥터 또는 케이블의 전기적 검사는 애프터서비스 또는 전문가에게 문의하십시오.
I2C 관련 설정 항목
[probe_eddy_current]에서 I2C 통신과 관련된 설정 항목은 다음과 같습니다:
| 설정 항목 | 설명 | FLY-EDDY 값 |
|---|---|---|
sensor_type | 센서 칩 모델, 고정 ldc1612 | ldc1612 |
i2c_address | I2C 장치 주소(10진수) | 42(0x42) |
i2c_mcu | 센서에 연결된 MCU 이름 | 실제 연결에 따라 정의 |
i2c_bus | MCU의 하드웨어 I2C 버스 | MCU 정의에 따름 |
i2c_speed | I2C 통신 속도(Hz) | 기본 100000, 먼저 400000으로 테스트 가능 |
i2c_software_scl_pin / i2c_software_sda_pin | 소프트웨어 I2C의 SCL / SDA 핀 | 하드웨어 I2C 사용 시 구성 불필요 |
frequency | LDC1612 외부 크리스탈 발진 주파수(Hz) | 40000000(40MHz) |
설정 예시
[probe_eddy_current]는 하드웨어 I2C와 소프트웨어 I2C 두 가지 방식을 지원하며, 둘 중 하나만 선택해야 합니다. i2c_bus와 i2c_software_scl_pin / i2c_software_sda_pin을 동시에 구성하지 마십시오.
- 하드웨어 I2C(권장)
- 소프트웨어 I2C
MCU에 사용 가능한 하드웨어 I2C 버스가 있으면 하드웨어 I2C를 우선 사용하는 것이 통신이 더 안정적입니다:
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
# FLY-EDDY의 I2C 주소는 0x42(42)입니다.
i2c_mcu: SHT36
# EDDY에 연결된 MCU 이름, 실제 정의에 따라 입력
i2c_bus: i2c1e
# I2C 버스 식별자, MCU 정의에 따름
i2c_speed: 400000
# I2C 통신 속도(Hz), 통신이 불안정하면 낮출 수 있음
frequency: 40000000
# 외부 크리스탈 발진 주파수(Hz), FLY-EDDY는 40MHz
x_offset: 0
y_offset: 21.42
descend_z: 2.5
MCU에 사용 가능한 하드웨어 I2C 버스가 없거나 하드웨어 I2C 통신이 불안정할 때 소프트웨어 I2C를 사용할 수 있으며, 여유 GPIO 2개를 SCL / SDA로 지정합니다:
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
# FLY-EDDY의 I2C 주소는 0x42(42)입니다.
i2c_mcu: SHT36
# EDDY에 연결된 MCU 이름, 실제 정의에 따라 입력
i2c_software_scl_pin: SHT36:gpioXX
# 소프트웨어 I2C의 SCL 핀, gpioXX는 예시 자리 표시자이며 실제로 EDDY에 연결된 여유 GPIO로 입력
i2c_software_sda_pin: SHT36:gpioXX
# 소프트웨어 I2C의 SDA 핀, gpioXX는 예시 자리 표시자이며 실제로 EDDY에 연결된 여유 GPIO로 입력
i2c_speed: 400000
# I2C 통신 속도(Hz), 소프트웨어 I2C 속도는 너무 높지 않아야 하며 통신이 불안정하면 낮출 수 있음
frequency: 40000000
# 외부 크리스탈 발진 주파수(Hz), FLY-EDDY는 40MHz
x_offset: 0
y_offset: 21.42
descend_z: 2.5
- 하드웨어 I2C와 소프트웨어 I2C 중 하나만 선택: 하드웨어 I2C 사용 시
i2c_mcu+i2c_bus를 구성하고, 소프트웨어 I2C 사용 시i2c_software_scl_pin+i2c_software_sda_pin을 구성하며i2c_bus는 작성하지 말고 두 방식을 동시에 구성하지도 마십시오. - 소프트웨어 I2C의 핀은 다른 기능(예: 온도 센서, 팬, 엔드스톱 등)과 중복 사용할 수 없으며, MCU에서 여유 GPIO를 선택하십시오.
BUS_TIMEOUT,Invalid read data,Eddy: CLKIN frequency too low등의 I2C 오류가 발생하면 먼저 전원을 차단하고 배선을 확인한 후i2c_speed를 낮추어 테스트하십시오.frequency는 EDDY 보드 내장 크리스탈 발진 주파수와 일치해야 하며, FLY-EDDY는 40MHz입니다. 잘못 입력하면 판독값이 비정상적으로 변할 수 있습니다.- 동일한 I2C 버스에 여러 장치가 있을 때 장치 주소가 충돌하지 않는지 확인해야 합니다.
관련 문서
EDDY 문제 모음: EDDY 센서 자주 묻는 질문
EDDY TAP 모드: EDDY TAP 모드 디버깅
FLY-EDDY 제품 문서: FLY-EDDY 소개