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

バージョン072用CANファームウェアのコンパイル

コンパイルの開始​

ファームウェアコンパイル簡易ガイド​

注意事項​

  • ネットワーク: 上位機(ラズベリーパイなど)がネットワークに接続されていることを確認してください
  • ログイン方法: SSH を使用してネットワーク経由でログインする必要があります。シリアルポートは無効にしてください
  • 入力方式: キーボードは英数字半角モードに保ってください

SSHログインとユーザー切り替え​

MobaXterm、PuTTY などのツールを使用して上位機にSSHログインします。

ユーザー切り替え:​

  • 通常システム(ラズベリーパイ公式システムなど)
    root の使用は禁止されており、通常ユーザーに切り替える必要があります:
    su <ユーザー名>
  • FLY上位機(FlyOS-FASTシステム)
    root ユーザーでのログインのみサポート(パスワード:mellow)

ファームウェアコンパイル操作ガイド​

Klipper ファームウェア設定画面ではキーボード操作のみサポートされており、マウスは使用できません。

キー機能
↑ / ↓上下にカーソルを移動し、メニュー項目を選択
Enter / スペース選択の確定、オプションのチェック、またはサブメニューに入る
ESC前のメニューに戻る
Q設定画面を終了
Y終了時にプロンプトが表示されたら Y を押して設定を保存

ファームウェアコンパイルの開始​

以下にファームウェアのコンパイル方法を説明します:

  1. SSHに接続し、以下のコマンドを入力して Enter を押します:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig

    ここで、rm -rf ~/klipper/.config && rm -rf ~/klipper/out は以前のコンパイル設定とファームウェアをクリアするために使用します; make menuconfig はKlipperファームウェア設定画面を開くために使用します。

  2. 以下の順序に従って各項目を設定し、各項目が完了してから次の項目に進みます。

    1启用 Enable extra low-level configuration options
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    2Micro-controller Architecture 选择 STMicroelectronics STM32
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    3Processor model 选择 STM32F072
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    4Bootloader offset 选择 8KiB bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    5Clock Reference 选择 8 MHz crystal
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    6Communication interface 选择 CAN bus (on PB8/PB9)
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (CAN bus (on PB8/PB9)) --->
    7CAN bus speed 默认使用 1M(1000000),无需修改

    默认 CAN 速率为 1M,对应值 1000000,使用 1M 时无需修改。

    • 1M:1000000
    • 500K:500000
    • 250K:250000

    请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。

    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (CAN bus (on PB8/PB9)) --->
    (1000000) CAN bus speed
    8启用 Optimize stepper code for 'step on both edges'
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (CAN bus (on PB8/PB9)) --->
    (1000000) CAN bus speed
    [*] Optimize stepper code for 'step on both edges'
    9按 Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (8KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (CAN bus (on PB8/PB9)) --->
    (1000000) CAN bus speed
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    10出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. 上記の最後の2つの手順を完了したら、Q を押して設定画面を終了し、次に Y を押して設定を保存します。

  4. コマンドラインに戻ったら、以下のコマンドを入力して Enter を押し、コンパイルを開始します:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/stm32/stm32f0_i2c.o
    Compiling out/src/generic/canserial.o
    Compiling out/src/../lib/fast-hash/fasthash.o
    Compiling out/src/stm32/can.o
    Compiling out/src/generic/canbus.o
    Compiling out/src/stm32/chipid.o
    Compiling out/src/stm32/hard_pwm.o
    Preprocessing out/src/generic/armcm_link.ld
    Building out/compile_time_request.o
    Version: XXXX
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

    终端末尾出现 Linking out/klipper.elf 和 Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。

接続方法​

  • ファームウェアを書き込む前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが書き込まれたマザーボードに接続します。下に参考となる接続図があります。
    Loading...
停電操作

プリンターの電源を完全に切り、電源供給を遮断してから、CANノードに電力を供給する可能性のあるUSB接続も外してください。通電状態で配線の抜き差し、終端抵抗の調整、端子への接触を行わないでください。

ここでいう「非通電状態での測定」はCAN線を切断することではありません。測定時はCAN線およびバス上の各ノードを通常の使用状態のまま接続しておく必要があります。そうでなければ、測定できるのは単一ノードまたは単一の終端抵抗だけで、CANバス全体を代表することはできません。

マルチメーターを抵抗レンジに設定し、CAN-HとCAN-L間の抵抗値を測定します:

参考測定値判断と処理
約 60Ω正常です。通常、バスの物理両端にそれぞれ 120Ω の終端抵抗があることを示します
約 120Ω通常、終端抵抗は1つだけ有効です。製品の配線図に従って、もう一方の物理末端の終端抵抗を有効にしてください
約 40Ω通常、終端抵抗は3つ有効になっています。製品の配線図に従って、余分な終端抵抗を無効にしてください

上記の数値は参考値です。マルチメーターの精度、テストリードの接触、配線の状態によって測定誤差が生じる場合があります。判断の重点は、読み値がどの範囲に近いか、および終端抵抗を調整した後の読み値の変化傾向であり、表の数値と完全に一致する必要はありません。

Loading...

IDの検索と書き込み​

CANBus UUIDの検索​

操作前の注意事項
  • 非印刷状態でのID検索およびファームウェア書き込み操作を推奨します。印刷プロセスへの干渉を避けるためです。
  • 同一メインボード/ツールボードのKatapult(CANBoot)ファームウェアとKlipperファームウェアは同じCAN IDを使用します。
前提条件

以下の条件を満たしていることを確認してください。満たしていない場合、CAN IDを正常に検索できない可能性があります:

  1. 上位機のCANネットワークが正しく設定されている
  2. ツールボードのCANレートが上位機と完全に一致している(レートが一致しない場合、通信できません)
  3. lsusb コマンド実行後に 1d50:606f デバイス(USB-CANアダプタ)が表示される

検索コマンド(システムに応じて選択)​

  • 通常の上位機の検索コマンド
    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • FLY上位機の検索コマンド
    python3 ~/klipper/scripts/canbus_query.py can0

検索結果の説明​

ケース1:Klipperファームウェア書き込み済みのメインボード/ツールボード​

  • 表示内容:CAN IDが1つ表示され、Application: Klipper と表示される
  • 説明:デバイスは既にKlipperファームウェアで動作しており、そのまま使用できます。このIDはメインボードIDの場合もツールボードIDの場合もあります。
  • 識別方法:まず完全に電源を切り、ツールボードのCANケーブルを外してから再度電源を入れ、検索します。IDが消えた場合はツールボード、IDが残っている場合はメインボードです。
Loading...

ケース2:メインボード + 書き込み待ちツールボード​

  • 表示内容:2つのCAN IDが表示される
  • 説明:メインボードはKlipperファームウェアで動作しており、ツールボードはCanBootファームウェアで動作しており、書き込み待ちの状態です。
Loading...

ケース3:UTOC + 書き込み待ちツールボード​

  • 表示内容:UTOC自体はIDを表示せず、ツールボードのIDのみが表示される
  • 説明:UTOCはブリッジとしてのみ機能します。ツールボードがCanBootモードであることを確認してください。
Loading...

ケース4:IDが表示されない​

  • 表示内容:IDが一切表示されない
  • 考えられる原因:
    1. CANバスがKlipperに占有されている
    2. 上位機のCAN0レート設定が誤っている
    3. 物理的な配線に異常がある
    4. デバイスがCanBootモードに入っていない
Loading...

重要なお知らせ
  • 書き込み待ち状態:ツールボードがCanBootモードの場合、Application: CanBoot と表示され、ファームウェアランプが点滅します。この状態でファームウェアの書き込みが可能です。
  • ID占有の対処:デバイスが既にKlipperファームウェアで動作しており、IDが設定ファイルに記入済みの場合、IDは表示されません(Klipperに占有されています)。再度表示するには、設定で該当IDを無効化し、完全に電源を切って再起動する必要があります。
トラブルシューティング

UUIDを検索できない場合は、以下を参照してください: CAN問題トラブルシューティングガイド

書き込み開始​

CANファームウェアのコンパイルが完了したら、デバイスの現在の状態に応じて書き込み方法を選択してください:

您的下位机现在是什么状态

Loading...