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

MCU接続ガイド

適用に関する注意

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

準備と注意事項

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

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

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

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

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が表示されます(これは例です):

  • そのまま使用可能usb-フィールドの後にKlipperと表示されている場合(例:usb-Klipper_stm32f407xx_...)、Klipperファームウェアが書き込まれています
  • ファームウェアの書き込みが必要usb-フィールドの後にkatapultと表示されている場合(例:usb-katapult_stm32f407xx_...)、現在Bootloaderであり、Klipperファームウェアを書き込む必要があります
  • 認識不可:以下の例のIDでusb-フィールドの後に1a86_USB_Serialと表示されている場合、そのデバイスはCH340シリアル変換チップであり、Klipper/katapultファームウェアを実行しているMCUではありません。まず対応するファームウェアを書き込む必要があります
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
  • 正常な場合は以下の通りです
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:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin> # ヒーターは toolboard1
# 温度センサーはマザーボードのピンを使用(直接 gpio または mcu:gpio と記述)
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が自動的にボード間通信を処理します

さらにボード間設定の例

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

[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin> # 加熱は第1ツールボード
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:<sensor_pin> # 温度センサーは第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...