ツールボードMCU追加とクロスボード設定
このページでは、メインMCUの接続が成功した後に、ツールボードの追加、マルチMCU状態の確認、およびクロスボードピンの設定を行います。まだメインMCUの接続確認を完了していない場合は、先に MCU接続ガイド を完了してください。
第一步:ツールボードの準備と接続
ツールボードの追加を開始する前に、以下を確認してください:
- メインMCUが MCU接続ガイド に従って接続確認済みであること。
- ツールボードのファームウェア書き込みが完了していること。
- ツールボードがCAN、USB、RS232のいずれの通信方式を使用しているか確認済みであること。
開始する前にプリンターの電源を完全に切り、電源供給を遮断してください。通電状態で配線ハーネスの抜き差し、インターフェース配線の整理、端子への接触を行わないでください。
完全に電源を切った後、ツールボードのデータケーブルをホストPCまたはマザーボードの対応するインターフェースに接続します。電源の分解、主電源配線の変更、露出端子への接触は行わないでください。接続が確実であることを確認してから再度電源を投入してください。
複数の同種ツールボードを同時に接続すると、IDを区別することが困難です。一度に1つのツールボードのみを接続して記録することをお勧めします。ツールボードを追加または削除するたびに、必ず再度完全に電源を切ってください。
第二步:ツールボードIDの照会と記録
ツールボードとマザーボードは同じMCU ID記入規則を使用します:
MCU ID 設定説明
Klipper における MCU ID とは、[mcu] または [mcu xxx] 設定セクション内で、制御ボード接続の識別に使用される情報です。通信方式によって記述方法が異なります:
| 接続方式 | 設定項目 | 例 |
|---|---|---|
| USB ファームウェア | serial: | serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx |
| CAN ファームウェア | canbus_uuid: | canbus_uuid: xxxxxxxxxxxx |
| RS232 デバイス | serial: | serial: /dev/serial/by-path/xxxxxxxxxxxx |
| ホスト MCU | serial: | serial: /tmp/klipper_host_mcu |
記入ルール:
- メインボードはデフォルトで
[mcu]を使用し、ツールボードや拡張ボードは[mcu tool]、[mcu toolboard]などのカスタム名を使用します。 - USB ファームウェアは
serial:のみ、CAN ファームウェアはcanbus_uuid:のみを記入し、同じ[mcu]内に両方を同時に保持しないでください。 - 複数 MCU のマシンでは、各
[mcu xxx]がそれぞれ独自の実際の ID を使用する必要があり、同じ USB ID や CAN UUID をコピーしないでください。 [mcu xxx]の名前はピン接頭辞に影響します。例えば、[mcu tool]のピンはtool:gpio13のように記述します。名前の大文字小文字は統一してください。- ドキュメントの例にある
xxxxxxxxはそのまま使用できず、実際に検索した ID に置き換える必要があります。 - RS232 デバイスでは、
serial:の他に通常baud: 250000とrestart_method: commandの記入も必要です。対応する製品ドキュメントに従ってください。
よくあるエラー:
- 書き込みモードの ID(
katapult、canbootを含む ID など)を Klipper ファームウェアの ID として使用する。 - USB ファームウェアに
canbus_uuid:を設定する、または CAN ファームウェアに古いserial:を残す。 - RS232 デバイスでパスのみを記入し、必要な
baud:やrestart_method:を省略する。 - ツールボードを
[mcu]として設定し、メインボードの MCU 設定を上書きする。 - ピン接頭辞と MCU 名が一致しない。例えば、設定が
[mcu toolboard]なのにピンがtool:gpio13と記述されている。
USB ID の確認方法:USB ファームウェアでは、
ls /dev/serial/by-id/*を実行して ID を取得できます。
CAN ID の確認方法:CAN ネットワークと ID 検索
RS232 パス確認方法:
ls -l /dev/serial/by-path/を実行して安定したデバイスパスを取得します。
ツールボード設定:ツールボード MCU 追加とボード間設定
USB、CAN、RS232の照会コマンドと結果の説明:MCU ID設定
IDを記録する際に、toolboard、toolboard1、toolboard2 など、一意で短いMCU名を同時に決定し、以下を確認してください:
- USB IDに
usb-Klipper_...が含まれていること(Katapult/Bootloader書き込みモードのIDではないこと)。 - CANの照会結果に
Application: Klipperと表示されること。 - RS232は
/dev/serial/by-path/配下の安定したパスを使用し、製品要件に従ってボーレートと再起動方法を設定すること。 - ツールボードIDがマザーボードおよび他のツールボードと重複しないこと。
第三步:ツールボードMCUの追加
ツールボードIDを取得したら、現在の完全な printer.cfg をバックアップし、その中に対応するMCU設定セクションを追加します:
- USBツールボード
- CANツールボード
- RS232ツールボード
[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu toolboard]
canbus_uuid: 688e89f0e402
[mcu toolboard]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
- MCU名は完全にカスタマイズ可能です。例:
toolboard、tool、extruder_mcuなど。設定内で一意であることだけが必要です。 - MCU名はクロスボードピンの プレフィックス として使用されます。例:
[mcu toolboard]を参照する場合はtoolboard:PA0と記述します。名前の大文字小文字は統一してください。 - 各MCUの名前とIDは一意でなければならず、メインMCUや他のツールボードと重複してはいけません。
- 複数のツールボードを設定する場合は、各デバイスに異なる名前を設定して区別してください。
設定が完了したら、SAVE & RESTART をクリックしてKlipperを保存・再起動します。
第四步:すべてのMCU接続の確認
ツールボードを追加してKlipperを再起動した後、すべてのMCUがオンラインになっていることを確認する必要があります:
- Fluiddインターフェースを開き、左側メニューの
Systemをクリックします。 Mcu Informationの下で、メインMCUとすべてのツールボードが正しく認識され、接続状態として表示されていることを確認します。
ファームウェアバージョンの確認
すべてのMCU接続が完了したら、ファームウェアバージョンの互換性を検証する必要があります:
- Fluiddインターフェースを開き、左側メニューの
Systemをクリックします。 Mcu Informationの下にあるVersionフィールドを見つけます。- すべてのMCUのファームウェアバージョンがホストPCのKlipperバージョンと一致していることを確認します。
- プリ設定されたカスタムデバイスを除き、自己コンパイルしたすべてのファームウェアはホストPCのKlipperバージョンと一致している必要があります。
- FASTシステムのファームウェアバージョンはシステムバージョンと一致し、コンパイルされたKlipperファームウェアもシステムバージョンと一致します。
- バージョンが異なると、機能異常、通信失敗、システム不安定の原因となる可能性があります。
第五步:クロスボードピンの設定
複数のツールボードを使用する場合、ピンのクロスボード割り当てが必要になることがあります。例:加熱機能は最初のツールボードの加熱ポートを使用するが、温度センサーはマザーボードまたは2番目のツールボードに接続されている場合。
KlipperのマルチMCU設定では、任意の設定セクションのピンは <mcu名>:<ピン番号> 形式で任意の定義済みMCU上のピンを直接参照できます。追加設定は不要です。Klipperは通信バス(CAN/USB/シリアル)を介して自動的にコマンドを対応するMCUに送信します。
典型的なシナリオ:加熱はツールボード、温度センサーはマザーボード
システム構成が次の場合を想定します:
- マザーボードMCU:マザーボードはUSBで接続され、温度センサーはマザーボードに接続されています。
- toolboard1:ツールボード。加熱棒と押出機ステッパーがツールボードに接続されています。
以下の <step_pin>、<heater_pin>、<sensor_pin> などは場所を保持するためのプレースホルダーです。対応するFLYマザーボードまたはツールボードの製品ドキュメントに従って実際のピンに置き換え、! 反転ロジックが実際のハードウェアに適用されるかどうかを確認してください。
ステップ1:すべてのMCUを定義
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[mcu toolboard1]
canbus_uuid: e51d5c71a901
ステップ2:設定内で直接クロスボードのピンを参照
[extruder]
# ステッパーと加熱はツールボードのピンを使用
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin>
# 温度センサーはマザーボードのピンを使用
sensor_type: <sensor_type>
sensor_pin: <sensor_pin>
# rotation_distance、温度範囲など、その他のパラメータは実際のハードウェアに従って設定
- ツールボードのピン形式は
<mcu名>:<ピン番号>、例:toolboard1:<heater_pin>。 - メインMCUのピンはプレフィックスなしで実際のピン名を直接記述できます。
- 同じ設定セクション内のピンは異なるMCUに由来することができ、Klipperがクロスボード通信を自動的に処理します。
その他のクロスボード設定例
- 温度センサーが2番目のツールボード
- 複数の押出機が異なるツールボードに接続
- ファンのクロスボード制御
加熱棒は最初のツールボード、温度センサーは2番目のツールボード:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_type: <sensor_type>
sensor_pin: toolboard2:<sensor_pin>
2つの押出機がそれぞれ異なるツールボードに接続されている場合:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_pin: toolboard1:<sensor_pin>
[extruder1]
step_pin: toolboard2:<step_pin>
heater_pin: toolboard2:<heater_pin>
sensor_pin: toolboard2:<sensor_pin>
押出機はツールボード、モデルファンはマザーボードに接続されている場合:
[fan]
pin: <fan_pin>
[heater_fan throat_fan]
pin: toolboard1:<fan_pin>
heater: extruder
heater_temp: 50
fan_speed: 1.0
- ボードを跨いでピンを参照する場合、対応するMCUが設定ファイル内で
[mcu <名前>]により正しく定義されていることを確認してください。 - MCU名の大文字小文字は一致している必要があります。
[mcu ToolBoard]とtoolboard:PA0を参照するとエラーが発生します。 - 機能の関連性が高いデバイス(加熱棒と温度センサーなど)は、可能な限り同じツールボードに接続することをお勧めします。これにより、最適な応答速度と信頼性が得られます。
よくある問題
| 問題の症状 | 調査の方向性 |
|---|---|
| ツールボードがオンラインにならない | 電源を切り、データケーブルの接続を確認し、IDが正しいか確認します。KlipperファームウェアIDと書き込みモードIDを区別してください |
| 複数のツールボードの名前/IDが競合 | 各 [mcu] の名前とIDは一意である必要があります。MCU ID設定 を参照してください |
| ピン接頭辞が一致しない | [mcu toolboard] のピン接頭辞は toolboard: である必要があり、名前の大文字小文字は一致している必要があります |
| ファームウェアバージョンの非互換性 | ファームウェアを再コンパイルし、ホストのKlipperバージョンと一致させてください |
| CAN UUIDが見つからない | CANネットワークとID検索 を参照してください |
| RS232通信失敗 | baud: 250000 と restart_method: command が設定されているか確認してください |