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

MCU 接続ガイド

適用説明

本ガイドは、MCU が Klipper と正常に接続できない問題を調査および解決するためのものです。

準備と注意事項

  • 推奨しないホスト機器:Redmi スマートフォン、WiFi スティック、セットトップボックスなどは避けてください。これらは通常、カスタマイズまたは変更されたシステムを使用しており、MCU を正しく認識できない可能性があります。
  • 下位機の数を確認:使用する下位機(ツールボードなど)の数を事前に確認してください。複数の下位機があると接続に影響を与える可能性があります。
  • 配線の簡略化:マザーボードとツールボードからデータケーブル以外のすべての配線を一時的に取り外し、必要なデータ接続のみを残して干渉を排除することをお勧めします。
  • 推奨インターフェースFluidd インターフェースの使用をお勧めします。MCU の接続状態がより直感的に表示されます。

ステップ 1:設定のバックアップとリセット

1. ホストインターフェースにアクセス

ブラウザにホストの IP アドレス(例:192.168.101.179)を入力してアクセスします。

Loading...

2. 設定ファイルの位置確認

WEB インターフェースに入り、左側のサイドバーから設定オプションを見つけます:

Fluidd ユーザー: ... をクリックし、printer.cfg を見つけます。

Loading...

Mainsail ユーザー: マシン をクリックし、printer.cfg を見つけます。

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 に接続 してください。この操作はネットワーク経由で行う必要があります。

操作手順

  1. デバイス検出の実行

    • SSH 接続が成功したら、以下のコマンドを実行します:
      lsusb
    • システムは認識されたすべての USB デバイスを一覧表示します。
  2. コマンド異常への対処

    • lsusb コマンドが存在しないと表示された場合は、先にインストールします:
      sudo apt-get install usbutils
    • 実行後、デバイスが何も表示されない場合は、ホストの交換を検討してください。
  3. デバイス情報の識別 以下の図を参考に、lsusb の出力結果からデバイスを識別します:

    Loading...
    Loading...
  4. ファームウェアタイプの確認

    • 書き込んだファームウェアに基づいて、lsusb の結果で以下の重要な情報を確認します:
      • USB ファームウェア1d50:614e と表示されるはずです
      • USB ブリッジ CAN ファームウェア1d50:606f と表示されるはずです
      • USB Katapult ファームウェア1d50:6177 と表示されるはずです
      • RS232 アダプター (UTOR、または D8 および D8PRO マザーボードと併用): 1a86:7523 と表示されるはずです (G2T と併用する場合はこの手順は不要です)

ステップ 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 を検索します:

~/klippy-env/bin/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 が既に使用されている(設定で無効にしてから、シャットダウン、電源オフ、再起動を行う必要があります)
Loading...

RS232 ID 検索結果

コマンド実行後、端末には RS232 デバイスパスが表示されます(これは例です):

  • /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 設定の特別要件

RS232 デバイスは設定時に必ずボーレートと再起動方法を指定する必要があります:

[mcu toolboard]
serial: <ここを検索したRS232デバイスパスに置き換えます>
baud: 250000
restart_method: command

ステップ 4:メイン MCU の ID を設定する

準備

設定を開始する前に、ツールボードとホストまたはマザーボードの接続を切断し、デバイス認識の競合を避けてください。

printer.cfg ファイルを再度開き、[mcu] セクションの serial: /tmp/klipper_host_mcu 設定行を見つけます。

接続方法に応じて、以下の対応する方法を参照して設定します:

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

設定を保存し、Klipper サービスを再起動します。


ステップ 5:メイン MCU 接続の確認

メイン MCU の設定が完了したら、接続が成功したかどうかを確認する必要があります:

  1. Fluidd インターフェースを開き、左側のメニューから System をクリックします
  2. MCU 情報を確認Mcu Information の下にある Micro-Controller 情報を見つけます
  3. メインコントローラーの型番を確認:表示された型番がマザーボードの実際のメインコントローラーの型番と一致することを確認します
確認ポイント
  • メインコントローラーが STM32H723 の場合、Micro-Controller は H723 関連の型番が表示される必要があります
  • 正しく表示されない場合、または認識できない場合は、以前の設定手順を確認してください
Loading...

ステップ 6:ツールボード MCU の追加

メイン MCU の確認が成功したら、ツールボードを追加できます:

  1. ツールボードを再接続:ツールボードのデータケーブルをホストまたはマザーボードに再接続します
  2. 設定ファイルを編集printer.cfg ファイルの最下部にツールボード設定を追加します
  3. ツールボード ID を設定:ツールボードのファームウェアタイプに応じて、追加した設定セクションに対応する ID を追加します
MCU 命名の説明

設定内の mcu1mcu2 などの名前は、異なるデバイスを一時的に区別するためにのみ使用されます。これらの名前は完全にカスタマイズ可能ですが、設定ファイル内で一意であることを確認してください。

設定形式:

[mcu mcu1]
# ここにツールボードの ID 設定を追加

設定例:

[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

注意事項:

  • 各 MCU は一意の ID を使用する必要があります。ツールボード ID がメイン MCU や他のデバイスと異なることを確認してください
  • MCU 名は完全にカスタマイズ可能です(例:toolboardextruder_mcu など)。設定内で一意であることだけを確認してください
  • 前述の手順で有効と確認されたツールボード ID を必ず使用してください
  • RS232 デバイスは baud: 250000restart_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 は自動的にボード間通信を処理します

その他のボード間設定例

ヒーターは 1 番目のツールボード、温度センサーは 2 番目のツールボード:

[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6 # 加熱は 1 番目のツールボード
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:gpio26 # 温度センサーは 2 番目のツールボード
# ... その他のエクストルーダーパラメータ
注意事項
  • ボード間でピンを参照する場合、対応する MCU が設定ファイル内で [mcu <名前>] によって正しく定義されていることを確認してください
  • 最適な応答速度と信頼性を得るために、機能的に密接に関連するデバイス(ヒーターや温度センサーなど)はできるだけ同じツールボードに接続することをお勧めします

設定が完了したら、保存して Klipper サービスを再起動します。


ステップ 7:すべての MCU 接続の確認

ツールボードを追加して Klipper を再起動した後、すべての MCU の接続状態を再度確認する必要があります:

  1. Fluidd インターフェースを開き、左側のメニューから System をクリックします
  2. MCU 情報を確認Mcu Information の下で、すべての MCU が正しく認識されていることを確認します
  3. 各 MCU の状態を確認:メイン MCU とツールボードがすべて接続状態と表示されていることを確認します
確認ポイント
  • メイン MCU とすべてのツールボードがリストに表示される必要があります
  • 各 MCU の接続状態は「接続済み」である必要があります
  • ある MCU が表示されない、または接続に失敗した場合は、その設定と物理的な接続を確認してください
Loading...

ステップ 8:ファームウェアバージョンの確認

すべての MCU 接続が完了したら、ファームウェアバージョンの互換性を確認する必要があります:

  1. Fluidd インターフェースを開き、左側のメニューから System をクリックします
  2. バージョン情報を確認Mcu Information の下にある Version フィールドを見つけます
  3. バージョンの一致を確認:すべての MCU のファームウェアバージョンがホストの Klipper バージョンと一致していることを確認します
バージョン互換性の説明
  • カスタムコンパイルファームウェア:プリコンフィグされたカスタムデバイスを除き、自分でコンパイルしたすべてのファームウェアは、ホストの Klipper バージョンと一致している必要があります
  • Fly-FAST システム:FAST システムのファームウェアバージョンはシステムバージョンと一致しています。コンパイルされた Klipper ファームウェアはシステムバージョンと一致します
  • バージョン不一致の結果:バージョンが異なるファームウェアは、機能異常、通信失敗、またはシステムの不安定性を引き起こす可能性があります

確認ポイント:

  • メイン MCU とすべてのツールボードの Version 情報が表示され、かつバージョンが一致している必要があります
  • バージョンが一致しない場合は、対応するファームウェアを再書き込みする必要があります

ステップ 9:設定ファイルの復元と更新

すべての MCU 接続が正常であることを確認したら、元の設定ファイルを復元し、MCU 設定を更新する必要があります:

  1. 現在の設定ファイルを削除

    • 設定ファイル管理インターフェースで、現在の printer.cfg ファイルを見つけて削除します
  2. バックアップ設定を復元

    • 以前にバックアップした printer_Backup.cfg ファイルの名前を printer.cfg に変更します
  3. 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 に置き換えてください
  4. ツールボード設定を更新(該当する場合)

    • 設定ファイル内のツールボードに対応する [mcu] セクションを見つけます
    • 接続方法に応じて、実際に検索したツールボード ID に更新します:

    USB ツールボード:

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

    CAN ツールボード:

    [mcu toolboard]
    canbus_uuid: 688e89f0e402

    RS232 ツールボード:

    [mcu toolboard]
    serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
    baud: 250000
    restart_method: command
  5. 保存して再起動

    • すべての MCU 設定の更新が完了したら、SAVE & RESTART をクリックして Klipper を保存し再起動します
    • 再度 System ページに入り、すべての MCU の接続状態が正常であることを確認します
重要な注意
  • 今回の接続テストで実際に検索された正しい ID を使用してください
  • 複数のツールボードを設定する場合は、それぞれの [mcu] セクションの ID を一つずつ更新してください
  • RS232 ツールボードには baud: 250000restart_method: command パラメータを含める必要があります
  • 設定を復元すると、元のプリンターパラメータ(ステッピングモーター、リミットスイッチなどの設定)は変更されません

以上で、MCU 接続のトラブルシューティングと設定の復元は完了です。

Loading...