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

CANネットワーク設定とID検索

使用前の注意

  1. UTORまたはCANブリッジファームウェアを書き込んだマザーボードをUSB経由でホストコンピュータに接続します。
  2. ホストコンピュータのバックエンドには、ネットワーク経由でログインしてください。シリアルポートは使用しないでください。
  3. FlyOS-FASTシステムを使用する場合、CANの設定は不要です(システムはデフォルトで1Mbpsレート、1024キャッシュに設定されています)。

ホストコンピュータがCANをサポートしているか確認

FLYホストコンピュータを使用する場合は、この手順をスキップできます。

以下のコマンドを実行して、カーネルのCANサポートを確認します:

sudo modprobe can && echo "カーネルはCANをサポートしています" || echo "カーネルはCANをサポートしていません"

「カーネルはCANをサポートしています」と表示された場合は、設定を続行できます。

CAN0の設定

⚠️ この操作は既存のCAN0設定を上書きします。完了後、システムを再起動する必要があります。
FASTシステムでは実行不要です!

システムタイプに応じて対応する設定方法を選択してください:

通常のLinuxシステム

1Mbpsレート設定:

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF

500Kbpsレート設定:
上記コマンドの 1000000500000 に変更してください。

最後にデバイスを再起動します:

sudo reboot

CAN IDを検索するコマンド

  • 通常のホストコンピュータでの検索コマンド
    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • FLYホストコンピュータでの検索コマンド
    python3 ~/klipper/scripts/canbus_query.py can0
  • IDが表示され、最後のApplication:Klipperと表示される場合、このIDは直接使用できます。
  • IDが表示され、最後のApplication:CANBOOTまたはKatapultと表示される場合、ファームウェアを書き込む必要があります。
    Loading...

エラーメッセージ

  • 以下は一般的なエラーです
    • OSError: [Errno 19] No such device
    • can.CanError: Failed to transmit: [Errno 100] Network is down
    • can.CanError: Failed to transmit: [Errno 105] No buffer space available
  • 1つ目は、ホストコンピュータがCANデバイス(USBブリッジファームウェアを書き込んだマザーボードまたはUTOC)を見つけられない場合です。
  • 2つ目は、ホストコンピュータがCAN0を設定していない、または設定を間違えた場合です。
  • 3つ目は、ホストコンピュータのキャッシュ不足やシステムの問題などによりキャッシュがクラッシュした場合です。
  • 2点目と3点目は、CAN0の設定を参照し、再設定すれば解決できます。

ツールボードID検索ガイドとトラブルシューティング

1. CANレートの確認と設定

ツールボードのファームウェアのCAN通信レートは、ホストコンピュータの設定と完全に一致している必要があります。一致しない場合、デバイスは検出されません。

操作手順:

  1. ホストコンピュータのターミナルで以下のコマンドを実行し、CAN0インターフェースの現在の状態を確認します:
    ip -details link show can0
  2. 出力情報で、以下の2つの重要なパラメータを確認します:
    • bitrate: 現在のCAN通信レート(例:1000000は1Mbpsを表します)。
    • TxQueueLength: 送信キュー長/キャッシュサイズ(例:1024)。

以下の図はコマンド出力の例です。赤枠内のbitrateパラメータがお使いのデバイス設定と一致しているか重点的に確認してください:

Loading...

2. システムIDの占有を排除

ツールボードにKlipperファームウェアが書き込まれており、そのIDがホストコンピュータの設定ファイル(printer.cfg)に既に書き込まれている場合、そのIDはシステムによって占有され、検索結果に表示されません。

解決方法:

  1. printer.cfgファイル内の、該当ツールボードに関するすべての設定段落を一時的にコメントアウトするか削除します。
  2. 変更を加えた後は、マシンの電源を完全に切り、約10秒間電源を抜いてから、再度電源を入れ直す必要があります。

3. CANバスターミネーション抵抗の確認

  • 安定したCANバスネットワークでは、物理的な配線の両端120Ωのターミネーション抵抗を取り付ける必要があります。
  • 電源を切った状態で、CAN-HとCAN-L間の抵抗値をマルチメーターで測定し、60Ω前後であることを確認する必要があります。

確認方法:

  1. 必ずマシン全体の電源を切った状態で操作してください。
  2. マルチメーターの抵抗測定モードを使用し、マザーボードのCANインターフェースまたはツールボード上のCAN-HピンとCAN-Lピン間の抵抗値を測定します。
  3. 正しいバス抵抗値は約60Ω(2つの120Ω抵抗を並列接続した結果)であるはずです。測定値が大きく異なる場合(開放状態や120Ωのみなど)、配線またはターミネーション抵抗の設定に誤りがあることを示します。

各デバイスの設定ルール:

デバイスタイプターミネーション抵抗の要件操作説明
CANツールボード120Ωターミネーション抵抗が必要基板上のジャンパーまたはDIPスイッチで有効化します。
マザーボードCANインターフェース120Ωターミネーション抵抗が必要基板上のジャンパーまたはDIPスイッチで有効化します。
UTOCタイプ変換モジュール内蔵済み 120Ω抵抗他のターミネーション抵抗を有効化する必要はありません。
Loading...