MCU接続ガイド
本ガイドは、メインMCUがKlipperと正常に接続できない問題を調査するためのものです。デバイスが正常に接続できており、MCU IDの交換や追記のみが必要な場合は、MCU ID 設定を直接参照してください。既存の設定を消去する必要はありません。
調査フロー
- 現在の
printer.cfgをバックアップします。 - Klipperに入れない場合のみ、最小テスト設定を有効にします。
- マザーボードで現在実行されているファームウェアの種類を確認します。
- 実際のMCU IDを照会し、一時設定に書き込んで接続を検証します。
- 完全な設定を復元し、MCU接続項目のみを更新します。
複数のUSB/CAN下位機を接続している場合、ツールボードのIDをマザーボードの [mcu] に誤って記入しやすいです。調査段階では、まずマザーボードのみを検証し、成功を確認してからツールボードを一つずつ追加することをお勧めします。
ステップ1:現在の設定をバックアップする
1. 設定ファイル管理を開く
ブラウザでホスト機のIPアドレスを入力します。Fluiddユーザーは左側の ... をクリックし、Mainsailユーザーは 機械 をクリックして、printer.cfg を見つけます。
2. バックアップを作成する
printer.cfg を右クリックし、Duplicate を選択して、コピーを次の名前に変更します:
printer_Backup.cfg
Fluiddでの操作例:
Mainsailでの操作例:
以降の最小設定は接続テスト専用であり、正式なプリンター設定の代わりにはなりません。printer_Backup.cfg が存在し、内容が完全であることを確認してから続行してください。
正式な設定で [include *.cfg] を使用している場合、同じディレクトリ内の printer_Backup.cfg も読み込まれる可能性があります。バックアップをこのルールに一致しないサブディレクトリに移動するか、拡張子を .txt に変更して保存し、重複した設定セクションが発生しないようにしてください。
ステップ2:必要に応じて最小テスト設定を有効にする
Klipperが現在正常に起動・接続できており、MCU IDの変更のみが必要な場合は、完全な設定を保持したままステップ3に進んでください。
誤った設定や複数の下位機が原因でKlipperが起動できない場合、printer.cfg の内容を一時的に以下の最小設定に置き換えることができます:
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
SAVE & RESTART をクリックして保存します。ここの /tmp/klipper_host_mcu はホスト機のHost MCUへの一時的な接続アドレスであり、最小設定を起動させるためのもので、マザーボードの実際のUSB IDではありません。
開始する前に、プリンターの電源を完全に切り、電源供給を遮断してください。通電状態でケーブルを抜き差ししたり、インターフェースの配線順序を整理したり、端子に触れたりしないでください。
電源を切った後、テストに参加しないツールボードのデータケーブルを外し、ホスト機とマザーボード間の必要なデータ接続のみを残します。電源を分解したり、商用電源配線を変更したり、露出した端子に触れたりしないでください。接続を確認してから再度通電してください。
ステップ3:ファームウェアと通信方法を確認する
まずSSH接続チュートリアルに従ってホスト機にログインし、次を実行します:
lsusb
出力に基づいてデバイスの現在のモードを判断します:
VID:PID | デバイスの状態 | 次のステップ |
|---|---|---|
1d50:614e | Klipper USB ファームウェア | USB ID を照会 |
1d50:606f | USB to CAN ブリッジファームウェア | CAN UUID を照会 |
1d50:6177 | Katapult 書き込みモード | まずKlipperファームウェアを書き込むか起動する |
1a86:7523 | USB シリアルアダプター | RS232 パスを照会 |
lsusb: command not found と表示された場合は、usbutils をインストールできます:
sudo apt-get update
sudo apt-get install usbutils
lsusb に対象デバイスが表示されないマザーボードが正常に給電され、データケーブルが通信をサポートし、ファームウェアのモードが正しいことを確認してください。デバイス名だけでIDを推測したり、Katapult/BootloaderモードのIDを printer.cfg に書き込んだりしないでください。
ステップ4:MCU IDを照会して記入する
USB マザーボード
ls /dev/serial/by-id/*
出力には usb-Klipper_... が含まれている必要があります。katapult または Bootloader を含むデバイスはまだ書き込みモードにあり、Klipper実行IDとして使用できません。
CAN マザーボード
- 通常のLinuxホスト機
- FlyOS-FAST / FLY ホスト機
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python3 ~/klipper/scripts/canbus_query.py can0
Application: Klipper に対応するUUIDのみを設定に書き込むことができます。Total 0 uuids found と表示された場合は、CAN ネットワークと ID 検索に進んで調査を続けてください。
RS232 デバイス
ls -l /dev/serial/by-path/
以下のルールはFAQと共通の内容を使用します:
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 追加とボード間設定
完全な照会手順とマルチMCUの例:MCU ID 設定
ステップ5:メインMCUを検証する
[mcu] 内の接続アドレスを、照会した実際のIDに更新します。ステップ2で最小設定を有効にした場合は、その中の /tmp/klipper_host_mcu を置き換えます。正式な設定を保持している場合は、既存の [mcu] の serial: または canbus_uuid: のみを変更し、他のパラメータは変更しないでください。
- USB マザーボード
- CAN マザーボード
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[mcu]
canbus_uuid: 688e89f0e401
SAVE & RESTART をクリックします。接続が成功したら:
- Fluiddの
Systemページを開きます。 Mcu InformationでメインMCUを見つけます。Micro-Controllerがマザーボードの実際のメインコントローラーモデルと一致しているか確認します。
[mcu]はマザーボードに対応している必要があり、ツールボードのモデルが表示されてはいけません。- すべてのMCUファームウェアのバージョンは、現在のKlipperシステムと互換性がある必要があります。
- それでも接続できない場合は、エラーメッセージの原文に従って接続問題の調査に進んでください。
ステップ6:完全なプリンター設定を復元する
ステップ2で最小設定を有効にした場合、接続検証の完了後は必ず正式な設定を復元してください。[mcu] と kinematics: none のみを含むテスト設定を長期間使用しないでください。
最小構成を使用した場合
メインMCUが接続できることを確認した後:
- 現在の一時的な
printer.cfgをprinter_MCU_Test.txtに名前を変更し、再確認用に保持しつつ、*.cfgワイルドカードによる読み込みを避けます。 - 以前の
printer_Backup.cfgをコピーし、コピーをprinter.cfgという名前で保存します。 - 復元した
printer.cfgを開き、元の[mcu]設定セクションを見つけます。 serial:またはcanbus_uuid:のみを更新し、ステッピングモーター、ヒーター、リミットスイッチ、その他のプリンターパラメータは上書きしないでください。- SAVE & RESTART をクリックし、再度
Mcu Informationに入って接続を確認します。
バックアップが存在しない場合、または内容が不完全な場合は、まず設定履歴から完全な設定を復元し、現在のファイルを上書きし続けないでください。
最小構成をスキップした場合
現在の printer.cfg は正式な設定であり、名前の変更やファイルの復元は不要です。MCU接続が成功し、最初のステップで作成したバックアップが保持されていることを確認してください。
ステップ7:ツールボードの追加
メインMCUの検証が成功したら、各ツールボードを順番に接続して追加します:
ツールボードとマルチMCU設定:ツールボードMCUの追加とクロスボード設定