メインコンテンツまでスキップ

CANファームウェア接続に関する注意事項

配線説明

以下の3つの手順を順番に完了してください:

ステップ1: ディップスイッチの設定

  1. まず電源を切る: すべての電源を抜きます。
  2. ディップスイッチを探す: ツールボードを裏返し、背面のディップスイッチ群を見つけます。
  3. 正しい位置に設定: CANモードを使用するためには、すべてのスイッチを下記の例の位置に設定する必要があります。
    Loading...

重要: ディップスイッチを変更した後は、必ず対応するファームウェア(本ガイドではCANファームウェア)を再書き込みしてください。

ステップ2: 配線接続

  1. 通電しない状態を維持: 配線作業中は絶対に通電しないでください。
  2. ケーブルを準備: XT30(2+2)-F 4芯データケーブルを使用します。色の定義は以下の通りです:
    • 赤 (VCC): 12V-24V 電源の正極に接続
    • 黒 (GND): 電源の負極に接続
    • 黄 (CAN-H): CAN拡張ポートのHに接続
    • 白/緑 (CAN-L): CAN拡張ポートのLに接続
  3. デバイスを接続:
    • ケーブルのXT30(2+2)-Fコネクタをツールボードに差し込みます。
    • ケーブルの端子を UTOCモジュール または「USBブリッジCAN」ファームウェアが書き込まれたメインボードに接続します。
    • 最後に、USBケーブルでUTOCモジュールまたはメインボードを上位機(FLY PiやRaspberry Piなど)に接続します。

ステップ3: ターミネータ抵抗の設定と確認

信号を安定させるため、ターミネータ抵抗を正しく接続する必要があります。以下の表に従って設定し、通電しない状態で測定してください:

デバイス操作説明
ツールボード120Ωと表示されたジャンパピンを見つけて取り付けます。
メインボードメインボードに接続する場合、同様に120Ωジャンパピンを取り付けてください。
UTOCモジュール内蔵済み*。

確認方法:

  1. 完全に通電していない状態を維持します。
  2. テスターを使用して、ツールボードのCANポートの CAN-HとCAN-L 間の抵抗を測定します。
  3. 結果の判断:
    • 約60Ω: 正常。両端の抵抗が正しく接続されています。
    • 約140Ω: CAN-HとCAN-Lが逆接続されている可能性があります。
    • 約120Ω: 120Ωジャンパピンが取り付けられていない、または断線しています。
    • 約40Ω: 余分な抵抗が接続されている可能性があります。中間ノードを確認してください。

一言でまとめ: まず電源を切り、ディップスイッチを正しく設定し、ケーブルを正しく接続し、両端の120Ωジャンパピンを接続し、最後に抵抗が約60Ωであることを確認します。

チェックリスト:

  • 作業中は常に通電していない
  • ディップスイッチはすべて下(CANモード)に設定済み
  • ツールボードの120Ωジャンパピンは取り付け済み
  • メインボード(該当する場合)の120Ωジャンパピンは取り付け済み
  • CANデータケーブルは確実に接続されている
  • 抵抗値は約60Ω

CANネットワーク設定とトラブルシューティング

ステップ1: 上位機がCANデバイスを認識しているか確認

  1. 上位機にログインし、コマンドを入力します:
lsusb
  1. 結果を確認します:
  • 1d50:606fが表示される → デバイス認識成功
  • lsコマンドが見つからないと表示される → 実行: sudo apt-get install usbutils
  • 何も反応がない → システムの問題の可能性があります。システムの変更を推奨します
  • 複数の1d50:606fが表示される → 1つのデバイスのみを接続することを推奨します(UTOCを使用する場合は、他のUSBブリッジCANファームウェアが書き込まれたデバイスを切断してください)

⚠️ 重要: 1d50:606fが表示されて初めて、CAN IDの検索を続行できます

ステップ2: CANネットワークの設定

システムタイプに応じて設定方法を選択:

すでに設定済みの場合、またはFlyOS-FASTシステムを使用している場合はこのステップは不要です!

通常のLinuxシステムの設定方法

1Mレートを設定(推奨):

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

500Kレートを設定:

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

注意: FASTシステムではこの操作は不要です!

  1. システムを再起動して有効化:
sudo reboot

ステップ3: CAN IDの検索

CAN状態を確認:

ip -details link show can0
  • 下図で丸で囲んだ部分が上位機のCANレートとバッファです
  • 上の1024は現在のCAN0バッファ
  • 下の1000000は現在のCAN0レート
Loading...

デバイスを検索:

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

正常に表示されると:Found canbus_uuid=xxxx...

よくあるエラーと解決方法

エラーメッセージ原因解決方法
OSError: [Errno 19] No such deviceCANデバイスが見つからない1. USB接続を確認
2. ファームウェアが正しいことを確認
3. lsusbを実行して確認
can.CanError: Failed to transmit: [Errno 100] Network is downCANネットワークが設定されていない1. 上記の設定手順を実行
2. システムを再起動
can.CanError: Failed to transmit: [Errno 105] No buffer space availableバッファ不足1. CANバッファが1024であることを確認
2. システムを再起動

CAN IDが検索できない場合の確認手順

ステップ1: 基本確認

  • lsusbを実行して1d50:606fが表示される
  • CANデバイスとツールボードの両方に通電されている
  • データケーブルが確実に接続されている

ステップ2: 設定確認

  • CANネットワークが正しく設定されている
  • 上位機のCANレートとツールボードのファームウェアが一致している(デフォルト1M)
  • システムを再起動済み

ステップ3: ハードウェア確認

  • CANバス両端に120Ωターミネータ抵抗が接続されている
  • 通電しない状態でCAN-HとCAN-L間の抵抗が≈60Ωである
  • ケーブルに断線がない
  • CAN-HとCAN-Lが逆接続されていない

ステップ4: 特殊な状況への対応

  • Klipperが既にIDを使用している場合:

    1. Klipper設定内の該当設定を無効化
    2. 完全に1分間通電を切る
    3. 再度通電して検索
  • ターミネータ抵抗の測定値:

    • ≈60Ω: 正常
    • ≈120Ω: 片側のみ抵抗が接続されている
    • ≈40Ω: 3端に抵抗が接続されている
    • ≈140Ω: ケーブルが逆接続されている可能性

迅速なトラブルシューティング手順

  1. まずデバイス確認: lsusb1d50:606fはあるか?
  2. 次に設定確認: ip -details link show can0 → レートは正しいか?
  3. 最後にハードウェア確認: 通電を切って抵抗測定 → 約60Ωか?

すべて確認してもダメな場合: データケーブルやデバイスの交換を試すか、技術サポートに連絡してください。

ツールボードファームウェア更新手順

ステップ1: 準備作業

  1. チュートリアルに従って新しいファームウェアファイルをコンパイル
  2. Klipperサービスを停止:
sudo systemctl stop klipper

ステップ2: ツールボードIDの取得

Klipper設定ファイル内で、対応するツールボードのCAN UUIDを探します(例: 241696050c56

ステップ3: ファームウェア更新の実行

以下のコマンドを使用してファームウェアを書き込みます(241696050c56を実際のCAN UUIDに置き換えてください):

python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56

ステップ4: 結果の確認

  • CAN Flash Success と表示される → 書き込み成功
  • 他のエラーメッセージが表示される → 書き込み失敗。UUIDと接続を確認してください

注意: -uの後にはスペースが必要で、その後にツールボードのCAN UUIDを入力します

Loading...

ステップ5: サービスの再起動

sudo systemctl start klipper

更新完了!

Loading...