MCU 接続ガイド
本ガイドは、MCU が Klipper と正常に接続できない問題を調査および解決するためのものです。
準備と注意事項
- 推奨しないホスト機器:Redmi スマートフォン、WiFi スティック、セットトップボックスなどは避けてください。これらは通常、カスタマイズまたは変更されたシステムを使用しており、MCU を正しく認識できない可能性があります。
- 下位機の数を確認:使用する下位機(ツールボードなど)の数を事前に確認してください。複数の下位機があると接続に影響を与える可能性があります。
- 配線の簡略化:マザーボードとツールボードからデータケーブル以外のすべての配線を一時的に取り外し、必要なデータ接続のみを残して干渉を排除することをお勧めします。
- 推奨インターフェース:Fluidd インターフェースの使用をお勧めします。MCU の接続状態がより直感的に表示されます。
ステップ 1:設定のバックアップとリセット
1. ホストインターフェースにアクセス
ブラウザにホストの IP アドレス(例:192.168.101.179)を入力してアクセスします。
2. 設定ファイルの位置確認
WEB インターフェースに入り、左側のサイドバーから設定オプションを見つけます:
Fluidd ユーザー: Loading... | Mainsail ユーザー: Loading... |
3. 設定ファイルのバックアップ
printer.cfg ファイルを右クリックし、Duplicate を選択してコピーし、コピーを次の名前に変更します:
printer_Backup.cfg
Fluidd 操作例: Loading... | Mainsail 操作例: Loading... |
4. 設定ファイルのリセット
printer.cfg を再度開き、すべての内容を消去し、以下の基本設定を貼り付けます:
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
5. 保存して再起動
- 右上隅の SAVE & RESTART をクリックします。Klipper は設定を保存し、サービスを再起動します。
- エラーが表示されても、とりあえず無視してください。
- その後、すべてのデバイス(ホストとすべての下位機を含む)の電源を完全にオフにします。
- 重要:完全に電源をオフにしないと、後続の手順を実行できません。
ステップ 2:デバイスの検出とファームウェアタイプの確認
前提条件
- メインデバイスの順序:最初の
MCUはマザーボードである必要があり、ツールボードであってはなりません。 - ファームウェアタイプ:FLY マザーボードのファームウェアが USB ファームウェア または USB ブリッジ CAN ファームウェア であることを確認してください。本ガイドは他のタイプには適用されません。
- 接続方法:まず SSH に接続 してください。この操作はネットワーク経由で行う必要があります。
操作手順
-
デバイス検出の実行
- SSH 接続が成功したら、以下のコマンドを実行します:
lsusb
- システムは認識されたすべての USB デバイスを一覧表示します。
- SSH 接続が成功したら、以下のコマンドを実行します:
-
コマンド異常への対処
lsusbコマンドが存在しないと表示された場合は、先にインストールします:sudo apt-get install usbutils- 実行後、デバイスが何も表示されない場合は、ホストの交換を検討してください。
-
デバイス情報の識別 以下の図を参考に、
lsusbの出力結果からデバイスを識別します:Loading...Loading... -
ファームウェアタイプの確認
- 書き込んだファームウェアに基づいて、
lsusbの結果で以下の重要な情報を確認します:- USB ファームウェア:
1d50:614eと表示されるはずです - USB ブリッジ CAN ファームウェア:
1d50:606fと表示されるはずです - USB Katapult ファームウェア:
1d50:6177と表示されるはずです - RS232 アダプター (UTOR、または D8 および D8PRO マザーボードと併用):
1a86:7523と表示されるはずです (G2T と併用する場合はこの手順は不要です)
- USB ファームウェア:
- 書き込んだファームウェアに基づいて、
ステップ 3:デバイス ID の検索
重要な説明
- USB ID 検索:USB ファームウェア にのみ適用され、CAN または RS232 には使用できません。
- CAN ID 検索:CAN バスデバイス にのみ適用され、USB または RS232 には使用できません。
- RS232 ID 検索:RS232 ファームウェア にのみ適用され、USB または CAN には使用できません。
- RS232 の専用性:RS232 ファームウェアは通常、ツールボードにのみ使用され、メイン MCU には適用されません。
ファームウェアタイプに応じた方法の選択
USB ファームウェアデバイス 以下のコマンドを実行して USB デバイス ID を検索します:
ls /dev/serial/by-id/*
USB ブリッジ CAN デバイス システムタイプに応じて、対応するコマンドを選択して CAN ID を検索します:
- 通常のホスト
- Fly_FAST システム
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
RS232 ファームウェアデバイス 以下のコマンドを実行して RS232 デバイスパスを検索します:
ls /dev/serial/by-path/*
結果の解釈と処理
USB ID 検索結果
コマンド実行後、端末には以下のようなデバイス ID が表示されます(これは例です):
-
✅ そのまま使用可能:ID が
usb-フィールドの後ろにKlipperと表示されている場合 -
⚠️ ファームウェアの書き込みが必要:ID が
usb-フィールドの後ろにkatapultと表示されている場合Loading...
CAN ID 検索結果
コマンド実行後、実際の状況に応じて判断します:
- ✅ そのまま使用可能:表示された ID の末尾の
Application:フィールドにKlipperと表示されている場合。 - ⚠️ ファームウェアの書き込みが必要:表示された ID の末尾の
Application:フィールドにCANBOOTまたはKatapultと表示されている場合。 - ❌ デバイスが見つからない:
Total 0 uuids foundと表示された場合、考えられる原因は次のとおりです:- CAN ネットワーク設定の誤り
- CAN レートの不一致(ホスト、マザーボード、ツールボードのレートが一致していることを確認してください)
- その ID が既に使用されている(設定で無効にしてから、シャットダウン、電源オフ、再起動を行う必要があります)
RS232 ID 検索結果
コマンド実行後、端末には RS232 デバイスパスが表示されます(これは例です):
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 デバイスは設定時に必ずボーレートと再起動方法を指定する必要があります:
[mcu toolboard]
serial: <ここを検索したRS232デバイスパスに置き換えます>
baud: 250000
restart_method: command
ステップ 4:メイン MCU の ID を設定する
設定を開始する前に、ツールボードとホストまたはマザーボードの接続を切断し、デバイス認識の競合を避けてください。
printer.cfg ファイルを再度開き、[mcu] セクションの serial: /tmp/klipper_host_mcu 設定行を見つけます。
接続方法に応じて、以下の対応する方法を参照して設定します:
- USB 接続設定
- CAN 接続設定
serial: の後ろの /tmp/klipper_host_mcu を、検索した USB ID に置き換えます。
設定例:
# 検索した USB ID:
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# 設定を次のように変更:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
serial: /tmp/klipper_host_mcu 設定項目を canbus_uuid: に置き換え、検索した CAN ID を入力します。
設定例:
# 検索した CAN ID:
# 688e89f0e401
# 設定を次のように変更:
[mcu]
canbus_uuid: 688e89f0e401
設定を保存し、Klipper サービスを再起動します。
ステップ 5:メイン MCU 接続の確認
メイン MCU の設定が完了したら、接続が成功したかどうかを確認する必要があります:
- Fluidd インターフェースを開き、左側のメニューから
Systemをクリックします - MCU 情報を確認:
Mcu Informationの下にあるMicro-Controller情報を見つけます - メインコントローラーの型番を確認:表示された型番がマザーボードの実際のメインコントローラーの型番と一致することを確認します
- メインコントローラーが STM32H723 の場合、
Micro-Controllerは H723 関連の型番が表示される必要があります - 正しく表示されない場合、または認識できない場合は、以前の設定手順を確認してください
ステップ 6:ツールボード MCU の追加
メイン MCU の確認が成功したら、ツールボードを追加できます:
- ツールボードを再接続:ツールボードのデータケーブルをホストまたはマザーボードに再接続します
- 設定ファイルを編集:
printer.cfgファイルの最下部にツールボード設定を追加します - ツールボード ID を設定:ツールボードのファームウェアタイプに応じて、追加した設定セクションに対応する ID を追加します
設定内の mcu1、mcu2 などの名前は、異なるデバイスを一時的に区別するためにのみ使用されます。これらの名前は完全にカスタマイズ可能ですが、設定ファイル内で一意であることを確認してください。
設定形式:
[mcu mcu1]
# ここにツールボードの ID 設定を追加
設定例:
- USB ツールボード
- CAN ツールボード
- RS232 ツールボード
[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu mcu1]
canbus_uuid: 688e89f0e402
[mcu mcu1]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
注意事項:
- 各 MCU は一意の ID を使用する必要があります。ツールボード ID がメイン MCU や他のデバイスと異なることを確認してください
- MCU 名は完全にカスタマイズ可能です(例:
toolboard、extruder_mcuなど)。設定内で一意であることだけを確認してください - 前述の手順で有効と確認されたツールボード ID を必ず使用してください
- RS232 デバイスは
baud: 250000とrestart_method: commandパラメータを設定する必要があります - 複数のツールボードを設定する場合は、各デバイスに異なる名前を付けて区別できるようにしてください
複数ツールボードのボード間ピン設定
複数のツールボードを使用する場合、ピンをボード間で割り当てる必要が生じることがあります。例:加熱機能は最初のツールボードの加熱ポートを使用するが、温度センサーはマザーボードまたは 2 番目のツールボードに接続されている場合。
Klipper の複数 MCU 設定では、任意の設定セクションのピンは、<mcu名>:<ピン番号> 形式で任意の定義済み MCU 上のピンを直接参照できます。追加の設定は不要です。Klipper は通信バス(CAN/USB/シリアル)を介して自動的に命令を対応する MCU にルーティングします。
典型的なシナリオ:加熱はツールボード、温度センサーはマザーボード
システム設定が以下の場合を想定します:
- メイン MCU:ホスト Klipper ファームウェアを実行、温度センサーはマザーボードに接続
- toolboard1:ツールボード、ヒーターとエクストルーダーステッパーはツールボードに接続
ステップ 1:すべての MCU を定義
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[mcu toolboard1]
canbus_uuid: e51d5c71a901
ステップ 2:設定で直接ボード間でピンを参照
[extruder]
# ステッパーと加熱はツールボードのピンを使用
step_pin: toolboard1:gpio9
dir_pin: toolboard1:gpio10
enable_pin: !toolboard1:gpio7
heater_pin: toolboard1:gpio6 # ヒーターは toolboard1 に接続
# 温度センサーはマザーボードのピンを使用(直接 gpio または mcu:gpio と記述)
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0 # 温度センサーはマザーボードに接続
# その他のパラメータ
rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark
- ツールボードのピン:形式は
<mcu名>:<ピン番号>、例:toolboard1:gpio6 - メイン MCU のピン:ピン名を直接記述できます(例:
PA0) - 同じ設定セクション内のピンは異なる MCU から来ることができ、Klipper は自動的にボード間通信を処理します
その他のボード間設定例
- 温度センサーが 2 番目のツールボードにある場合
- 複数のエクストルーダーが異なるツールボードに属する場合
- ファンのボード間制御
ヒーターは 1 番目のツールボード、温度センサーは 2 番目のツールボード:
[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6 # 加熱は 1 番目のツールボード
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:gpio26 # 温度センサーは 2 番目のツールボード
# ... その他のエクストルーダーパラメータ
2 つのエクストルーダーがそれぞれ別のツールボードに接続されている場合:
[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6
sensor_pin: toolboard1:gpio27
# ... 1 番目のエクストルーダーパラメータ
[extruder1]
step_pin: toolboard2:gpio9
heater_pin: toolboard2:gpio6
sensor_pin: toolboard2:gpio27
# ... 2 番目のエクストルーダーパラメータ
エクストルーダーはツールボード、モデルファンはマザーボードに接続:
[fan]
pin: PB5 # モデルファンはマザーボードに接続
# メイン MCU のピンはピン名を直接記述すればよい
[heater_fan ヒートシンク冷却]
pin: toolboard1:gpio14 # ヒートシンクファンはツールボードに接続
heater: extruder
heater_temp: 50
fan_speed: 1.0
- ボード間でピンを参照する場合、対応する MCU が設定ファイル内で
[mcu <名前>]によって正しく定義されていることを確認してください - 最適な応答速度と信頼性を得るために、機能的に密接に関連するデバイス(ヒーターや温度センサーなど)はできるだけ同じツールボードに接続することをお勧めします
設定が完了したら、保存して Klipper サービスを再起動します。
ステップ 7:すべての MCU 接続の確認
ツールボードを追加して Klipper を再起動した後、すべての MCU の接続状態を再度確認する必要があります:
- Fluidd インターフェースを開き、左側のメニューから
Systemをクリックします - MCU 情報を確認:
Mcu Informationの下で、すべての MCU が正しく認識されていることを確認します - 各 MCU の状態を確認:メイン MCU とツールボードがすべて接続状態と表示されていることを確認します
- メイン MCU とすべてのツールボードがリストに表示される必要があります
- 各 MCU の接続状態は「接続済み」である必要があります
- ある MCU が表示されない、または接続に失敗した場合は、その設定と物理的な接続を確認してください
ステップ 8:ファームウェアバージョンの確認
すべての MCU 接続が完了したら、ファームウェアバージョンの互換性を確認する必要があります:
- Fluidd インターフェースを開き、左側のメニューから
Systemをクリックします - バージョン情報を確認:
Mcu Informationの下にあるVersionフィールドを見つけます - バージョンの一致を確認:すべての MCU のファームウェアバージョンがホストの Klipper バージョンと一致していることを確認します
- カスタムコンパイルファームウェア:プリコンフィグされたカスタムデバイスを除き、自分でコンパイルしたすべてのファームウェアは、ホストの Klipper バージョンと一致している必要があります
- Fly-FAST システム:FAST システムのファームウェアバージョンはシステムバージョンと一致しています。コンパイルされた Klipper ファームウェアはシステムバージョンと一致します
- バージョン不一致の結果:バージョンが異なるファームウェアは、機能異常、通信失敗、またはシステムの不安定性を引き起こす可能性があります
確認ポイント:
- メイン MCU とすべてのツールボードの
Version情報が表示され、かつバージョンが一致している必要があります - バージョンが一致しない場合は、対応するファームウェアを再書き込みする必要があります
ステップ 9:設定ファイルの復元と更新
すべての MCU 接続が正常であることを確認したら、元の設定ファイルを復元し、MCU 設定を更新する必要があります:
-
現在の設定ファイルを削除
- 設定ファイル管理インターフェースで、現在の
printer.cfgファイルを見つけて削除します
- 設定ファイル管理インターフェースで、現在の
-
バックアップ設定を復元
- 以前にバックアップした
printer_Backup.cfgファイルの名前をprinter.cfgに変更します
- 以前にバックアップした
-
MCU 設定を更新
- 復元した
printer.cfgファイルを開きます - 元の
[mcu]設定セクションを見つけ、前述の手順で取得した ID に基づいて更新します:
USB 接続設定:
[mcu]serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00# 実際に検索したメイン MCU の USB ID に置き換えてくださいCAN 接続設定:
[mcu]canbus_uuid: 688e89f0e401# 実際に検索したメイン MCU の CAN UUID に置き換えてください - 復元した
-
ツールボード設定を更新(該当する場合)
- 設定ファイル内のツールボードに対応する
[mcu]セクションを見つけます - 接続方法に応じて、実際に検索したツールボード ID に更新します:
USB ツールボード:
[mcu toolboard]serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00CAN ツールボード:
[mcu toolboard]canbus_uuid: 688e89f0e402RS232 ツールボード:
[mcu toolboard]serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0baud: 250000restart_method: command - 設定ファイル内のツールボードに対応する
-
保存して再起動
- すべての MCU 設定の更新が完了したら、SAVE & RESTART をクリックして Klipper を保存し再起動します
- 再度
Systemページに入り、すべての MCU の接続状態が正常であることを確認します
- 今回の接続テストで実際に検索された正しい ID を使用してください
- 複数のツールボードを設定する場合は、それぞれの
[mcu]セクションの ID を一つずつ更新してください - RS232 ツールボードには
baud: 250000とrestart_method: commandパラメータを含める必要があります - 設定を復元すると、元のプリンターパラメータ(ステッピングモーター、リミットスイッチなどの設定)は変更されません
以上で、MCU 接続のトラブルシューティングと設定の復元は完了です。