ツールボードMCUの追加とクロスボード設定
このページでは、メインMCUの接続が成功した後に、ツールボードの追加、マルチMCUの状態確認、およびクロスボードピンの設定を行います。メインMCUの接続確認がまだの場合は、先に MCU接続ガイド を完了してください。
前提条件
ツールボードの追加を開始する前に、以下を確認してください:
- メインMCUが MCU接続ガイド に従って接続確認済みであること。
- ツールボードのファームウェア書き込みが完了していること。
- ツールボードのデータケーブルがホストコンピュータまたはマザーボードの対応インターフェース(CAN/USB/RS232)に接続されていること。
ツールボードIDの確認
ツールボードのID確認方法は、その通信インターフェースによって異なります。MCU IDの完全な記入ルールについては、MCU ID設定を参照してください。以下はクイック操作ガイドです:
USBツールボード
SSHでホストコンピュータにログインし、以下のコマンドを実行してすべてのUSBシリアルデバイスを表示します:
ls /dev/serial/by-id/*
出力例:
/dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
書き込みモードのIDには通常、katapult または stm32duino という文字が含まれます(例:usb-katapult_stm32f446xx_...)。必ずKlipperファームウェアモードのIDを使用し、書き込みモードのIDは使用しないでください。
CANツールボード
- SSHコマンドライン
- FlyOS-FAST / FLYホストコンピュータ
SSHでホストコンピュータにログインし、以下のコマンドを実行してCANデバイスのUUIDを検索します:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
出力例:
Found canbus_uuid=688e89f0e402, Application: Klipper
FASTまたはFLYホストコンピュータでは、直接 python3 を使用して検索します:
python3 ~/klipper/scripts/canbus_query.py can0
FASTシステムのCAN0は、1Mレート、1024キャッシュにプリセットされているため、通常は手動設定は不要です。
CANツールボードのKlipperファームウェアUUIDは、CANBoot書き込みUUIDとは異なります。Applicationが CANBOOT または Katapult と表示されている場合、デバイスは書き込みモードです。詳細なトラブルシューティングについては、CANネットワークとID検索を参照してください。
RS232ツールボード
SSHでホストコンピュータにログインし、以下のコマンドを実行してUSB-シリアルデバイスのパスを表示します:
ls -l /dev/serial/by-path/
出力例:
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232通信のツールボードには、baud: 250000 と restart_method: command パラメータを追加で設定する必要があります。設定しないと正常に通信できません。
ツールボード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のファームウェアバージョンがホストコンピュータのKlipperバージョンと一致していることを確認します。
- プリセットのカスタムデバイスを除き、自身でコンパイルしたすべてのファームウェアは、ホストコンピュータのKlipperバージョンと一致している必要があります。
- FASTシステムのファームウェアバージョンはシステムバージョンと一致し、コンパイルされたKlipperファームウェアはシステムバージョンと一致します。
- 異なるバージョンのファームウェアは、機能異常、通信失敗、またはシステムの不安定性を引き起こす可能性があります。
メイン設定ファイルの更新
MCU接続ガイド で手順に従って printer_Backup.cfg をバックアップした場合、このセクションでは検証済みのMCU IDを完全な設定に書き戻します。現在すでに正式な設定ファイルを使用している場合は、このセクションをスキップできます。
すべてのMCU接続が正常であることを確認した後:
- 設定ファイル管理インターフェースで現在の一時的な
printer.cfgを削除します。 - 以前バックアップした
printer_Backup.cfgをprinter.cfgにリネームします。 - 復元した
printer.cfgを開き、元の[mcu]および[mcu <名称>]設定セクションを見つけ、検証済みの実際のIDに更新します。 - SAVE & RESTART をクリックしてKlipperを保存・再起動します。
- この接続テストで実際に検索された正しい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:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin>
# 温度センサーはマザーボードのピンを使用
sensor_type: ATC Semitec 104GT-2
sensor_pin: <sensor_pin>
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:<heater_pin>。 - メインMCUのピンは、プレフィックスなしで実際のピン名を直接記述できます。
- 同じ設定セクション内のピンは、異なるMCUに属していても構いません。Klipperが自動的にクロスボード通信を処理します。
その他のクロスボード設定例
- 温度センサーが2番目のツールボード
- マルチ押出機が異なるツールボードに属する
- ファンのクロスボード制御
ヒートカートリッジが1番目のツールボード、温度センサーが2番目のツールボード:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_type: ATC Semitec 104GT-2
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 が設定されているか確認 |