たねやつの木

Photographs, Keyboards and Programming

VORON 2.4 R2 ビルドログ (20 - Klipper設定等)

こんにちは。たねやつです。

今回の記事では、Raspberry Pi上でklipperの設定を進めていきます。klipperはVORONを動かすための3Dプリンター用のファームウェアです。

前の記事

前回はRaspberry PiにPCからSSH接続できるようになるまで進めました。

www.taneyats.com

各ドキュメント

基本的なKlipperの初期設定等は以下の各ドキュメントに従って進めていきます。

動画ではいつものVORONおじさんの動画も参考になります。

printer.cfgという最も良く触るコンフィグファイルに関してはSIBOORのGithubリポジトリに公開されているものを使用します。私が参照したタイミングは2023年10月頃なのでそこからいくつか変更されている様子です(もうすでに問題なく動いているのであまり根幹部分はいじらないようにしています)。

Klipperの画面にアクセスしてみる

とりあえず前回Mainsail OSを導入したRaspberry Piを起動してSSH接続するところまでは確認できているので、今度はブラウザからKlipperの画面にアクセスしてみます。このこの辺りのWEBサーバーの自動起動なども設定されているのでかなり楽ですね。

VORONの電源を投入しブラウザから前回Raspberry Pi Imagerで設定したホスト名を入力してアクセスします。ホスト名がvoron2350-0であれば、

http://voron2350-0

にアクセスすれば画面が開くはずです。IPアドレスが分かっている場合はそれでもOKです。

初めてアクセスした時にはエラー画面が表示されていると思いますが問題ないです。printer.cfgという設定ファイルをまだ作成していないためこれが表示されます。

printer.cfgを作成する

アクセスが確認出来たら、一つファイルを作成します。画面左上のハンバーガーボタンをクリックしてMACHINEを選択します。ここではVORONの設定ファイルを編集したり、各種アップデートやエンドストップのテスト等を行うことができます。

画面上の方にある上矢印のアップロードボタンがあるのでそれを使用してファイルをRaspberry Piへと送ります。送るファイルはSIBOORのリポジトリにあるprinter.cfgファイルです。

ファイル名はprinter.cfgから変更しないでください。アップロードが成功したら画面右上の電源ボタン内からFirmware Restartを実行してKlipperを再起動します。これはVORON本体やRaspberry Piの再起動ではなくKlipper自体の再起動となります。今後設定ファイルを修正した時などに毎回必要になってきます。

再起動が完了するとエラーメッセージの内容がMCUと疎通できませんという内容に変わってるはずです。エラーが出ているままですが現状ではOKです。

各設定値について

ぱっと見でそこまで難しい記法ではなくプログラミングとかやったことない人でも読みやすいかと思います。そこまで深掘りはしませんが今後変更する必要のある箇所について少し触れていきます。

mcu EBBCan

[mcu EBBCan]
#serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
canbus_uuid: 2789c6737f74
#  The following command is used to view the ID of canbus and needs to be entered in the ssh terminal.
# “ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ”

今回のVORONキットの一番と言ってもいいほどの特徴のCAN通信を使用してツールヘッド部分を制御するために必要な記述です。詳細は後ほどに作業しながらとなりますが、ここではStealthBurner内につけるSB2209のIDを指定して通信できるようにしています。基本的にとりあえず初期セットアップできるように動かすのに必要な設定値はこれだけになります。

300mmビルドプレートの設定を350mmに

今のコンフィグファイルは一部が300mm用のビルドプレートの設定となっているため、350mmのものを使用している方は変更する必要があります。

[stepper_x]
position_endstop: 300  #350    ## Mechanical reset point coordinates for X-axis (change to 350 for 350 models)
position_max: 300  #350       ## X-axis maximum travel - software limit (change to 350 for 350 models)

300の値を350に変更します。

[bed_mesh]
# 修正前
# mesh_max: 270, 270           # Maximum calibration point coordinates x, y
mesh_max: 320, 320           # Maximum calibration point coordinates x, y

270の値を320に変更します。ベッドの歪みを測定するときの処理なのですが、300mmビルドプレートの設定のままだとせっかくの大きなビルドプレートの端っこの歪みを測定できなくなってしまいます。

[homing_override]
axes: z
set_position_z: 0
gcode:
   G90
   G0 Z5 F1800
   G28 X Y
   G0 X150 Y150 F7200    #300mm
#  G0 X175 Y175 F7200    #350mm
   G28 Z
   G0 Z10  F1800
   G0 X150 Y150 Z30 F1800
#  G0 X175 Y175 Z30 F1800    #350mm

ホーミング地点を指定する座標を150から175に変更します。300mmの行を消して350mmの行の頭にある#を削除してコメントアウト状態を解除します。

[quad_gantry_level]
## Gantry Corners for 300mm Build
## Uncomment for 300mm build
gantry_corners:                         # 300mm machineries
    -60,-10
    360,370
## Probe points
points:
    50,25
    50,225
    250,225
    250,25

## Gantry Corners for 350mm Build
## Uncomment for 350mm build
# gantry_corners:
#  -60,-10
#  410,420
##  Probe points
#points:
#  50,25
#  50,275
#  300,275
#  300,25

ガントリーの水平をとる処理の設定となります。各Zモーターの座標と測定地点の値があります。上のfor 300mm buildの部分をすべて削除して、下のfor 350mm buildの部分のコメントアウトを解除します。

[gcode_macro PROBECALIBRATE]
gcode:
    G28
    G0 X150 Y150 Z1 F3600
#    G0 X175 Y175 Z1 F3600  ##350mm
    PROBE_CALIBRATE

[gcode_macro G32]
gcode:
    BED_MESH_CLEAR               # Unloading net beds
    G28                            # Homing all axes
    QUAD_GANTRY_LEVEL            # Gantry levelling
    G28                            # Homing all axes
    G0 X150 Y150 Z30 F3600         # 300mm
    #G0 X175 Y175 Z30 F3600         # 350mm

最後にGコード内の座標も修正しておきます。

すべて完了したら画面右上のSAVE (& RESTART)のボタンを押して修正を反映させます。

次の記事

次の記事ではOctopus ProとSB2209のファームウェアを書き込みます。

www.taneyats.com