CANファームウェア接続の注意点
配線説明
以下の3つの手順を順番に完了してください:
ステップ1:ディップスイッチの設定
- 先に電源を切る:すべての電源を抜いてください。
- ディップスイッチを探す:ツールボードを裏返します。背面のディップスイッチ群を見つけてください。
- 所定の位置に設定:CANモードを使用するため。すべてのスイッチを以下の例の位置(下側)に設定してください。
Loading...
重要なお知らせ:ディップスイッチ変更後、対応するファームウェアを再書き込みする必要があります(本ガイドではCANファームウェアを使用します)。
ステップ2:配線の接続
- 電源を切ったまま:配線作業中は一切通電しないでください。
- ケーブルの準備:
XT30(2+2)-F4芯データケーブルを使用します。色の定義は以下の通りです:- 赤 (VCC):12V-24V電源のプラス極に接続
- 黒 (GND):電源のマイナス極に接続
- 黄 (CAN-H):CAN拡張ポートのHに接続
- 白/緑 (CAN-L):CAN拡張ポートのLに接続
- デバイスの接続:
- ケーブルの
XT30(2+2)-Fコネクタをツールボードに差し込みます。 - ケーブルの端子をUTOCモジュールまたは「USBブリッジCAN」ファームウェアを書き込んだメインボードに接続します。
- 最後に、USBケーブルでUTOCモジュールまたはメインボードを上位機(FLY PiやRaspberry Piなど)に接続します。
- ケーブルの
ステップ3:終端抵抗の設定と確認
信号の安定性を確保するため、終端抵抗を正しく接続する必要があります。以下の表に従って設定し、電源を切った状態で測定してください:
| デバイス | 操作説明 |
|---|---|
| ツールボード | 120Ω ジャンパキャップを差し込む、または 120Ω ディップスイッチをONに設定します。 |
| メインボード | メインボードに接続する場合、同様にその 120Ω 終端抵抗(ジャンパキャップまたはディップスイッチ)を設定します。 |
| UTOCモジュール | 抵抗内蔵*. |
確認方法:
- 完全に電源を切った状態を維持してください。
- テスターでツールボードのCANポートの CAN-HとCAN-L 間の抵抗を測定します。
- 結果の判断:
- 約60Ω:正常、両端の抵抗が正しく接続されています。
- 約140Ω:CAN-HとCAN-Lが逆に接続されている可能性があります。
- 約120Ω:
120Ω終端抵抗が未接続または断線しています。 - 約40Ω:余分な抵抗がある可能性があります。中間ノードを確認してください。
一言まとめ:先に電源を切る。ディップスイッチを設定する。ケーブルを正しく接続する。両端の120Ω終端抵抗(ジャンパキャップまたはディップスイッチ)を接続する。最後に抵抗値が約60Ωであることを測定する。
チェックリスト:
- 全作業を通じて電源を切った状態で操作
- ディップスイッチがすべて下側に設定済み(CANモード)
- ツールボードの
120Ω終端抵抗が接続済み(ジャンパキャップまたはディップスイッチ) - メインボード(該当する場合)の
120Ω終端抵抗が接続済み(ジャンパキャップまたはディップスイッチ) - CANデータケーブルが確実に接続されている
- 測定した抵抗値が約60Ωである
CANネットワークの設定とトラブルシューティング
ステップ1: 上位機がCANデバイスを認識しているか確認する
- 上位機にログインし、以下のコマンドを入力します:
lsusb
- 結果を確認します:
1d50:606fが表示される → デバイス認識成功lsコマンドが見つからない と表示される →sudo apt-get install usbutilsを実行- 何も反応がない → システムの問題の可能性があります。システムの変更をお勧めします
- 複数の
1d50:606fが表示される → デバイスは1つだけ残すことをお勧めします(例:UTOCを使用する場合は、USBブリッジCANファームウェアが書き込まれた他のデバイスを外す)
⚠️ 重要:
1d50:606fが表示されて初めてCAN IDの検索に進むことができます
ステップ2: CANネットワークの設定
システムの種類に応じて設定方法を選択:
既に設定済み、またはFlyOS-FASTシステムを使用している場合は、この手順は不要です!
- 通常のLinuxシステム
- Raspberry Piシステム
通常の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システムではこの操作は不要です!
Raspberry Piシステムの設定方法
-
ネットワーク設定を作成します(BitRateは500000に変更可能):
sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF'[Match]Name=can*[CAN]BitRate=1000000RestartSec=100msEOF -
接続設定を作成します(TxQueueLengthは変更しないことを推奨):
sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF'[Match]OriginalName=can*[Link]TxQueueLength=1024EOF
- システムを再起動して反映:
sudo reboot
ステップ3: CAN IDの検索
CANの状態を確認:
ip -details link show can0
- 下図の丸で囲んだ部分が上位機のCANレートとキャッシュです
- 上部の
1024は現在のCAN0キャッシュ - 下部の
1000000は現在のCAN0レート
デバイスの検索:
- Fly-Armbianおよび通常の上位機用検索コマンド
- Fly-FAST用検索コマンド
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
正常であれば、Found canbus_uuid=xxxx... と表示されます。
よくあるエラーとその解決方法
| エラーメッセージ | 原因 | 解決方法 |
|---|---|---|
OSError: [Errno 19] No such device | CANデバイスが見つからない | 1. USB接続を確認 2. ファームウェアが正しいか確認 3. lsusb を実行して検証 |
can.CanError: Failed to transmit: [Errno 100] Network is down | CANネットワークが設定されていない | 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を占有している場合:
- Klipperの該当設定をコメントアウトする
- 1分間完全に電源を切る
- 再度通電して検索する
-
終端抵抗の測定値:
- 約60Ω: 正常
- 約120Ω: 片方のみに抵抗がある
- 約40Ω: 3か所に抵抗がある
- 約140Ω: 配線が逆の可能性
クイックトラブルシューティング手順
- まずデバイスを確認:
lsusb→1d50:606fが表示される? - 次に設定を確認:
ip -details link show can0→ レートは正しい? - 最後にハードウェア: 電源を切って抵抗を測定 → 約60Ω?
すべて確認しても解決しない場合: データケーブルまたはデバイスを交換してみてください。またはテクニカルサポートに連絡してください。
ツールボードファームウェア更新手順
ステップ1: 準備
- ガイドに従って新しいファームウェアファイルをコンパイルする
- Klipperサービスを停止する:
sudo systemctl stop klipper
ステップ2: ツールボードIDの取得
Klipper設定ファイルで該当するツールボードのCAN UUIDを見つけます(例: 241696050c56)
ステップ3: ファームウェア更新の実行
お使いのシステムバージョンに応じて正しいコマンドを選択してください:
-
FlyOS-FAST 1.3.8 以降 または 2026年4月9日以降にKlipperを更新したシステム:
python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 -
旧バージョンのシステム(FAST 1.3.8未満 または 2026年4月9日以前にKlipperを更新していない):
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
注意:
-uの後には必ずスペースを1つ入れ、続けてツールボードのCAN UUIDを入力してください。
ステップ4: 結果の確認
-
CAN Flash Successと表示される → 書き込み成功 -
それ以外のエラーメッセージが表示される → 書き込み失敗。UUIDと接続を確認してください。
Loading...
ステップ5: サービスの再起動
sudo systemctl start klipper
更新完了!