メインコンテンツにスキップ

MCU ID 設定

このページでは、Klipperにおけるメインボード、ツールボード、CANデバイス、およびホストMCUのID記入ルールについてまとめて説明します。接続関連の問題が発生した場合は、まず通信方式を確認し、その後に対応する serial: または canbus_uuid: を記入してください。

MCU ID の確認

IDを記入する前に、SSHでホストにログインし、対応するコマンドを実行して実際のデバイス識別子を取得する必要があります。

USB デバイス

ls /dev/serial/by-id/*

出力例(usb-Klipper_... はKlipperファームウェアモードのID):

/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
ファームウェアIDと書き込みIDの区別
  • KlipperファームウェアID例:usb-Klipper_stm32h723xx_12345-if00
  • 書き込みモードID例:usb-katapult_stm32h723xx_12345-if00katapultを含む)
  • 書き込みモードID例:usb-STM32_Bootloader_xxxxxxxxxxxxBootloaderを含む)

設定ファイルでは必ずKlipperファームウェアモードのIDを使用してください。書き込みモードのIDしか表示されない場合は、ツールボードがKlipperファームウェアの実行状態になっていないことを意味します。

CAN デバイス

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

出力例:

Found canbus_uuid=688e89f0e402, Application: Klipper
複数のCAN UUIDについて

Applicationが CANBOOT または Katapult と表示されるUUIDは書き込みモードのIDであり、printer.cfg に直接使用することはできません。詳細なトラブルシューティングは CANネットワークとID検索 を参照してください。

ホストMCU

ホストのLinuxプロセスをMCUとしてエミュレートする場合([mcu host])、そのシリアルポートは固定です:

[mcu host]
serial: /tmp/klipper_host_mcu

RS232 デバイス

ls -l /dev/serial/by-path/

出力例:

/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0

ツールボード設定ツールボードMCUの追加とクロスボード設定

MCU ID 設定説明

KlipperのMCU IDとは、[mcu] または [mcu xxx] 設定セクションで制御ボード接続の識別情報を指します。通信方式によって記述方法が異なります:

接続方式設定項目
USB ファームウェアserial:serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
CAN ファームウェアcanbus_uuid:canbus_uuid: xxxxxxxxxxxx
ホストPC MCUserial:serial: /tmp/klipper_host_mcu

記入ルール

  1. マザーボードはデフォルトで [mcu] を使用し、ツールボードや拡張ボードには [mcu tool][mcu toolboard] などのカスタム名称を使用します。
  2. USB ファームウェアは serial: のみ、CAN ファームウェアは canbus_uuid: のみを記入し、同一 [mcu] 内に両方の項目を併記しないでください。
  3. 複数MCU構成のマシンでは、各 [mcu xxx] に実際のIDを使用し、同一のUSB IDやCAN UUIDをコピーして使用しないでください。
  4. [mcu xxx] の名称はピン接頭辞に影響します。例:[mcu tool] のピンは tool:gpio13 と記述します。名称の大文字小文字は統一してください。
  5. ドキュメント例の xxxxxxxx はそのまま使用できず、実際に検出したIDに置き換える必要があります。

よくあるエラー

  • 書き込みモードのID(例:katapultcanboot を含むID)をKlipperファームウェアのIDとして誤って使用する。
  • USB ファームウェアに canbus_uuid: を設定する、またはCAN ファームウェアに古い serial: を残す。
  • ツールボードを [mcu] と設定し、マザーボードのMCU設定を上書きしてしまう。
  • ピン接頭辞とMCU名称が一致しない。例:設定が [mcu toolboard] であるのに、ピンが tool:gpio13 と記述されている。

USB ID 確認:USB ファームウェアは ls /dev/serial/by-id/* を実行してIDを取得します。

CAN ID 確認CAN ネットワークとID検索

ツールボード設定ツールボードMCU追加とクロスボード設定

複数MCU設定例

USBメインボード + CANツールボード

USBメインボードは serial: で接続し、CANツールボードは canbus_uuid: で接続します:

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx

[mcu tool]
canbus_uuid: xxxxxxxxxxxx

[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool

USBメインボード + USBツールボード

両方とも serial: で接続し、異なるIDで区別します:

[mcu]
serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx

[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_toolboard_xxxxxxxxxxxx

CANメインボード + CANツールボード

両方とも canbus_uuid: を使用し、各UUIDは異なる必要があります:

[mcu]
canbus_uuid: aabbccddeeff

[mcu toolboard]
canbus_uuid: 112233445566

ホストMCU + USBメインボード

ホストでLinuxプロセスMCUを実行し、メインボードはUSBで接続します:

[mcu host]
serial: /tmp/klipper_host_mcu

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx

よくある誤り

誤った方法正しい方法
書き込みモードIDをKlipper IDとして使用するデバイスがKlipperファームウェアに入った状態でIDを確認する
USBファームウェアに serial:canbus_uuid: の両方を記入するUSBファームウェアは serial: のみ、CANファームウェアは canbus_uuid: のみ記入する
ツールボードを [mcu] として記述し、メインボード設定を上書きするツールボードは [mcu toolboard] などのカスタム名を使用する
複数のMCUが同じIDを共有する各MCUは独自のユニークなIDを使用する必要がある
ピン接頭辞がMCU名と一致しない[mcu toolboard] のピンは toolboard:PA0 と記述し、名前の大文字小文字を一致させる
ドキュメント内の xxxxxxxx をそのままコピーして使用する実際に検索した実際のIDに置き換える必要がある

トラブルシューティングの入口

問題の症状調査の入口
USB IDが見つからない、または [Errno 2] が発生するよくあるエラー概要
CAN UUIDが無効、またはデバイスがオフラインCANネットワークとID検索
複数MCUの切断、設定が更新できないシステム、パフォーマンス、サービスエラー
ツールボードの追加、クロスボードピン設定ツールボードMCUの追加とクロスボード設定
ピン接頭辞、ピンの重複、またはMCU名の誤り設定関連エラー
Loading...