こんにちは。たねやつです。
今回の記事では、BTT HDMI5をVORONにセットしてKlipperScreenの設定を行います。コレをもってしてSIBOORのVORON2.4 R2 Aug Update Kitを完成としたいと思います。
前の記事
前回は装飾部品を作って装着しました。スクリーン用の部品もそこで印刷しているのでまだの方はご覧ください。
部品の取り付け
マウントにディスプレイを固定する
まずはディスプレイの準備ですがコレもココまで来た人なら楽勝です。ディスプレイの保護フィルムはまだ剥がさずボタンの位置を確認して固定 → ブラケットも固定して最後にVORONの前面中央に固定します。自分はSIBOOR付属のマウントではなく適当に探してきて使用しました。
ケーブル類の用意
USBケーブルはキットに付属しているのでHDMIケーブルを追加で用意します。
HDMI端子の変換は使わない方がいい
品質の問題かもしれませんが、自分の環境では両端とも普通のHDMIケーブルに変換端子を噛ませてRaspberry Piに接続するとうまくいきませんでした。ので極力もとから普通のHDMI - マイクロHDMIとなっているケーブルを用意したほうがいいかと思います。
KlipperScreenの設定
画面を表示させるためにKlipperScreen
というものをインストールします。Raspberry Pi上での作業となります。
ドキュメント
KlipperScreenのドキュメントは以下となります。
インストール(KIAUHから)
KlipperScreenをインストールするためにはKIAUH
(Klipper Installation And Update Helper
)というまた別のスクリプトを使用します。以下のページに作業手順があります。
KIAUHがあればKlipperScreenのインストールだけでなくKlipper本体やその他アプリのインストールとアップデートをコマンドライン上で簡単に行うことができますので今後も使用されると思います。
まずはRaspberry PiにSSH接続してコマンドを入力できる状態にします。準備ができたら以下のコマンドを実行します。Githubのリポジトリをコピーしてきます。
cd ~ && git clone https://github.com/dw-0/kiauh.git
ダウンロードが完了したら以下のコマンドを実行してKIAUHの画面を表示します。
./kiauh/kiauh.sh
画面が表示されたら1) install
を実行するために1
と入力します。Perform action
に表示されると思うのでエンターキーを押します。
5
と入力してエンターキーを押すとインストールが実行されるので完了するまで待ちます。
設定の追加
インストールが完了したらprinter.cfg
に設定を追加します。追加する場所はどこでもいいのですが、
printer.cfg
の設定は現状以下のような配置になっていると思います。
プリンターの設定 ... ... ... ★ マクロの設定 ... ... ... ◆ SAVE_CONFIGで自動生成された内容 ... ... ...
今回の設定内容はプリンターの設定に属するのでその群の末尾(★マークの位置)当たりに追加しておくとあとから見たときにスッキリします。以下の内容を追加します。
[virtual_sdcard] path: ~/printer_data/gcodes [display_status] [pause_resume]
マクロの追加
最後にKlipperScreenから実行できるマクロを追加しておきます。PAUSE
とRESUME
と_TOOLHEAD_PARK_PAUSE_CANCEL
はもとからあるので以下を追加します。
[gcode_macro LOAD_FILAMENT] variable_load_distance: 50 variable_purge_distance: 25 gcode: {% set speed = params.SPEED|default(300) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 60 %} SAVE_GCODE_STATE NAME=load_state G91 G92 E0 G1 E{load_distance} F{max_velocity} # fast-load G1 E{purge_distance} F{speed} # purge RESTORE_GCODE_STATE NAME=load_state [gcode_macro UNLOAD_FILAMENT] variable_unload_distance: 50 variable_purge_distance: 25 gcode: {% set speed = params.SPEED|default(300) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 60 %} SAVE_GCODE_STATE NAME=unload_state G91 G92 E0 G1 E{purge_distance} F{speed} # purge G1 E-{unload_distance} F{max_velocity} # fast-unload RESTORE_GCODE_STATE NAME=unload_state
これらはマクロなのでマクロ群の末尾に追加します(◆
の位置)
再起動して表示
設定が完了したらRaspberry Piを再起動してみます。再起動しなくても表示されているかもしれませんが、一応。以下コマンドを実行して再起動します。
sudo reboot
何もしなくても画面が表示されるはず
再起動を実行して、起動フェーズに入ると虹色の画面やRaspberry Piのマークがある画面とログ文字列が表示されると思いますが、そのまま放置します。1分ぐらいするとKlipperの画面が表示されます。
画面回転と明るさ調整はモニター本体ボタンから
画面の向きが180度逆になっている場合はスクリーン本体の真ん中のボタンを押すと回転することができます。左右のボタンは画面の明るさ変更となります。ちなみに画面の明るさを最小にすると消灯するので注意してください。
タッチして動作チェック
無事各種温度などが表示されたら色んなところをタッチしてみて動作チェックしてください。画面左下に常に表示されている赤いボタンは緊急停止用のボタンです。
印刷中もFine Tuning
のボタンからz_offsetを簡単に操作することができるので便利ですね!
消費電力のバグ?
Raspberry Piが起動しない事がある
ここまで正常例を紹介していますが、自分の環境では最初うまいこと画面が表示されないどころか、HDMIケーブルを繋いでいるとRaspberry Piの起動が完了せず使用できないという致命的な現象に悩まされていました。HDMI5を接続しているときというわけではなくHDMIケーブル単体で挿しただけで発生するので余計に謎な現象です....
起動できない場合、最初のログが表示される段階で6秒ぐらいの時点でそれ以降のログが出力されなくなります当然ネットワークの起動などの処理も行われないのでSSH接続もできません。
国内外でも同様の報告あり
調べてみると同様の現象(HDMIケーブル/モニターをつなぐとRaspberry Pi 4が起動しない)が結構発生しているようです。特に以下の記事が日本語でまとめてくださっています感謝!
ざっくり見た感じHDMIを接続している場合は起動時にそっちの方に電力が持ってかれて何らかのRaspberry Pi ボード上のモジュールを起動する電力がなく、全体的な起動も完了しないためではないのかという感じです。
HDMIポートを変更すると何故か起動する
とりあえずいろいろ試してみたりしました。起動した後にHDMIケーブルを挿す。起動時には画面の輝度を最小にしておくなど....。結果としてどれもうまくはいかず、試しにRaspberry Pi上のもう一つのHDMIポートに挿してみるとあっさり起動しました👀。全く持って謎すぎる...
なのでHDMIケーブルを挿さなければちゃんと起動して、挿すと起動ログの途中で止まってしまう場合はHDMIポートを挿し替えて試してみてください。
未だに解決できてないですがとりあえず動くからOK
結局原因はわからないままなのですが、HDMIケーブルをちゃんとしたメーカーのものにすると解消するという解決策が一番多い気がしました。今使ってるのはAmazonベーシックなのですがエレコムのやつとかを使ってみたほうがいいのかもしれないですね。
一ヶ月に1回ほどVORONの主電源を落としたときに稀に発生するのですが、HDMIケーブルを挿す箇所を変えると今のところ順調なのでとりあえず放置で行きます。
ついに完成!!!!!
これにてようやくキットにあるほぼすべての部品をセットすることができました。最後にアンダーパネルが残っているかと思いますが個人的にコレはメンテナンスがしにくくなるので不要かなと思っています。必要であれば公式ドキュメントにしたがってパネルマウントの設置を進めてください。
次の記事
最後に完成したまとめと個人的なこの連載の感想となります。ココまでおつかれさまでした。