EDDY I2C ピンと設定の説明
この文書では、FLY-EDDY シリーズ(EDDY-M / EDDY-F)センサーの I2C ピン定義、2つの接続方法のピン対応表と配線手順、および 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 と記述します。
2つの接続方法
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 の2つの方法をサポートしており、どちらか一方を選択してください。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 を使用し、2つの空き GPIO を 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 紹介