前から気にはなっていた便利なKlipperをEnder6に導入していきます!
ネットで調べても情報が古かったり使用機器が違ったりで、私が上手くいかなかったところも紹介しますので、皆さんの導入のハードルが下がれば幸いです。
(身も蓋もない話ですが、海外の記事でも最近は翻訳が優秀なので読めちゃいますので便利ですよね…)
- 初めに
- 諸注意
- 必要な物(Ender6用)
- 先に私がつまづいたポイント
- 手順1:RaspberryPiをセットアップする
- 手順2:PuTTYを使ってラズパイにリモート接続する
- 手順3:KIAUHをセットアップする
- 手順4:PCのブラウザからFluidd(RaspberryPi)に接続する
- 手順5:3Dプリンタ側のファームウェアをKlipper用に変更
- 手順6:Ender6にKlipperファームウェアを書き込む
- 手順7:SDカードに制御ボードのファームウェアを入れる
- 手順8:3Dプリンタ制御ボードのファームウェア更新
- 手順9:マイクロSDカードに3Dプリンタの画面のファームウェアを入れる
- 手順10:3Dプリンタ液晶のファームウェア更新
- 手順11:RaspberryPiと3Dプリンタを接続
- 終わりに
初めに
Klipperは、2016年にVer0.2.0が登場。それ以来、改良がされ2022年11月にVer0.11.0が登場。
2023年7月時点の最新になります。
一般的に、3DプリンタにはMarlin(マーリン)と呼ばれる制御プログラムが使用されています。
Ender6も同様。マイコンにSTM32F103が使われており、マイコンボードで有名なArduinoとかと同じ括りになります。
一方、Klipperは、Raspberry Piシリーズで作動するアプリになります。
Raspberry Piは、Arduinoと違い、小さいPCという方がイメージとしては近く、マイコンに比べ処理が早く、機械学習や画像認識なんかもRaspberry Piを使えば、実現ができます。
軽快さを求めれば、普通のパソコンを使えばいいのですが、本体が小さく、そこそこ処理ができるので
IotやEdge端末として重宝されます。
普段、3Dプリンタは、マイコンで動いていますので、価格を押さえつつ、十分な性能を発揮しています。ただ、更に良い性能を発揮させようと思うと、力不足なため、RaspberryPiの強力な処理能力で司令塔になってもらい、マイコンに実行してもらって精密に制御しようってのが、Klipperになります。
諸注意
「誰でも分かりやすいように」を心がけていますが、何かしらのミスにより破損する恐れもあります。
当方では責任は負えませんので、ご自身の判断で、実施ください。
必要な物(Ender6用)
- RaspberryPiシリーズのどれか(この記事ではRaspberryPi4Bを使用)
(ネットの多くの記事はコンパクトなRaspberryPiZeroが使われている感じです) - RaspberryPiとマイコンを繋ぐUSBケーブル(Ender6はMicroB)
- MicroSDカード(LCDの更新用、大きくても16GB)
- SDカード(マイコンの更新用、大きくて16GB)
(変換アダプタで、MicroSDをSDサイズにしてもOK) - 工具(Ender6組み立てに付いてきた工具で十分)
先に私がつまづいたポイント
ネットの多くの記事は、コンパクトで3Dプリンタに組込みやすいRaspberryPiZeroや
投稿時期が少し古くてRaspberryPi3が使われているものが多いです。
それで、現行のRaspberryPi4Bを使うと、マイコンとつないだ時のUSB機器の指定方法が異なります。導入手順を、位置から丁寧に記載していきますので、詳細はその時に。
大概のページは、下記のby-idを調べて、その値を知ることで、3Dプリンタに使われているマイコンとつなげるようになります。
#送信内容
ls /dev/serial/by-id/*
#応答内容(例)
/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
ですが、これで見つからない場合があります。
絶望です。よくわかんないなりにやっていて、参考にみている通りにならないなんて。
#送信内容
ls /dev/serial/by-path/*
#応答内容(例)
/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0
この手順は、一連の流れの中ででてきますので、まだ分かんなくてOK
手順1:RaspberryPiをセットアップする
以前はFluddyPiを使用していたようですが、現在はRaspberry Pi OS LiteとKIAUHを使って、環境を準備していきます。
FluddyPiの記事作成時にVer1.19.0が最新です。
URLは載せておきますが、FluddyPiは現在使いません。https://github.com/fluidd-core/FluiddPI/releases
下記から、Raspberry Pi Imagerをお使いのPCにインストールします。
https://www.raspberrypi.com/software/
Raspberry Pi Imagerをインストール後、起動したら、
OSを選ぶ⇒Raspberry Pi OS(other)⇒Raspberry Pi OS Lite(32-bit)の順で選択
ストレージを選ぶ⇒RaspberryPiで使用するMicroSDカードを指定
次に右下の歯車アイコンを押して設定を変えておきます。
後からでもできますが、Raspberry Pi OS Liteがコマンドで操作していくものなので、今のうちにやっておくのが楽です
- ホスト名:変えても変えなくてもいいですが、RaspberryPiにPCからつなぐときに必要になりますのでホスト名.localを覚えておきましょう
- ユーザー名とパスワードを設定する:自分の任意でつけます。RaspberryPiにログインするのに必要になります。
- WiFiを設定する:家のWiFiを指定します。 WiFiを使う国をJP。
- ロケール設定をする:タイムゾーンをAsia/Tokyo。キーボードレイアウトをjp
- 下の永続的な設定は、どうでもOK。
- 保存押したら、画面が戻るので、書き込む
書き込みできたら、RaspberryPi本体にMicroSDカードを指して起動します。
ディスプレイケーブルは、WiFiにつながっていれば不要です。手順2が上手くいかなかったら接続しましょう
手順2:PuTTYを使ってラズパイにリモート接続する
下記から、PuTTYをインストールorダウンロードします。インストール版の.msiと、実行だけの.exeがあるので、お好きな方を選びます。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
起動すると、RaspberryPiとつなぐためのホスト名を入力します。画像の赤塗のところ。
Raspberry Pi Imagerのときの、歯車アイコンで確認したホスト名です。.localは不要
入力したらOpen。何か聞かれたらAccept(許可)でつなぎます。
上手くいかないときは、ディスプレイケーブルでモニターにつないで、起動しているか確認。
RaspberryPiにキーボードを繋いで、次の流れのユーザー名&パスワードを直接入力入力してみてください。ダメなら、Raspberry Pi Imagerの歯車アイコンのところあっているか確認しましょう。ホスト名、ユーザー名、パス。WiFiの設定とかJP選ぶところとか。
上の画像の一行目のように、ユーザー名を聞かれます。Raspberry Pi Imagerのときのユーザー名を入れてエンター
パスワード聞かれるので、ユーザ名同様Raspberry Pi Imagerのときのパスワード。
パス入力中、画面内には表示されないので気にせず入力できたらエンター
ログインできると、末行に、ユーザー名@ホスト名:~ $の表示がでます。
手順3:KIAUHをセットアップする
以下のコマンドを実行し、gitと呼ばれるインストーラを導入します
sudo apt-get update && sudo apt-get install git -y
次は、gitを使って、ホームディレクトリに、KIAUHをダウンロードします
KIAUH(Klipper Installation And Update Helper)はKlipperのインストールとアップデートを補助してくれる便利ツールです。
cd ~ && git clone https://github.com/th33xitus/kiauh.git
KIAUHにアクセス許可を設定する
cd kiauh && chmod +x kiauh.sh scripts/*
次は、KIAUHを起動
./kiauh/kiauh.sh
必要なのが全部インストールできると、上記画像の項目が埋まります。
数字の1でインストールに移って、Klipper、Moonraker、Fluiddをインストールします。
Fluiddに関しては、MainsailやOctoprintも似た機能を提供しています。ほかのも使ってみたくなったらインストールしてみましょう。とりあえず、FluiddがあればOK
手順4:PCのブラウザからFluidd(RaspberryPi)に接続する
お好きなブラウザのURL欄に、RaspberryPiのホスト名.localを入力すると
WEB操作画面に移動します。
何かしら警告は出てるかと思いますが、今のところはPCからFluidd(RaspberryPi)に繋がるのが確認できたらOKです。
手順5:3Dプリンタ側のファームウェアをKlipper用に変更
手順2で使ったPuTTYで、またRaspberryPiを操作していき
下記のコマンドを順に実行していきます。
rmコマンドでファイルを削除。-rfのオプションで、フォルダ事で消す&確認なしで消すを追加
rm -rf klipper
GitHubに公開されているDesuuuu のリポジトリをダウンロード。
これを使うと、Ender6にもともと搭載のタッチディスプレイが使用できます。
git clone https://github.com/Desuuuu/klipper
cdコマンドで、Klipperフォルダに移動します
cd ~/klipper
Klipper ファームウェア構成画面を開きます。
make menuconfig
開いた画面を、下記の画像のように項目を変更してください。Ender6の情報に合わせます。
ちなみに、
UART1が3Dプリンタを制御しているマイコンとの通信ライン。
UART3がLCDを制御している通信ラインです。
項目を合わしたら、画面下部のボタンに従い、Qキー、次にYキーを押して構成を保存します。
黒い画面に戻りますので続きをやっていきます。
make
少しの間、プログラムが動きますので、完了するまで待ちます。
終わると、3Dプリンタに書き込むためのファームウェアが出来上がるので
次の手順に移ります。
手順6:Ender6にKlipperファームウェアを書き込む
WinSCPを使用しますのでダウンロードしてインストール。
立ち上げると、下記のような画面です。
PuTTyと同じように、ホスト名、ユーザ名、パスワードを入れてログイン。
(画像はログイン済みの情報が残ってますが、新しいサイトの項目しかありません)
Raspberry Piにログインできたら、こんな画面になります。左が自分のPCのフォルダ構成,右がログインしたRaspberry Piのフォルダ構成です。
さっきのmakeで作ったファイルの在り処です。このファイルを後で使います。
/home/ユーザ名/klipper/outに移動し、klipper.binファイルが後で必要なファイルです。
ファイルが確認できたら、次の手順に行きます。
手順7:SDカードに制御ボードのファームウェアを入れる
この手順で行うのは、3Dプリンタの制御ボードのファームウェアをklipper用にするためです。
公式のCREALYTYも、フォームウェア更新の注意事項として4096にしなさいと書いています。
容量16GBまでならアロケーション4096が選択できました。32GBだと4096の項目がありませんでした。
Ender6の場合、造形するファイルを入れたSDカードを差し込むスロットで更新します。他の機種の場合は、カードが違ったりUSBメモリだったりするようです。
フォーマットしたら、先の手順6のklipper.binファイルをSDカードにコピーします。
手順8:3Dプリンタ制御ボードのファームウェア更新
電源OFFした3Dプリンタに、SDカード差して電源を入れます。
KlipperじゃないCrealityの更新ファームウェアの場合にはプログレスバーが表示されますが、
今回の場合は何も表示がでません。固まってるように見えますが15秒くらいで終わるらしいので30秒とか長めに待ったら電源を切ります。
手順9:マイクロSDカードに3Dプリンタの画面のファームウェアを入れる
注意事項は、手順7と一緒。容量16GB以下でFAT32、アロケーション4096にすること
ファイルは、desuuuuの物を使用すること。Ender6用に作り込まれてます。
URL先の、下記のDWIN_SETのファイルをダウンロードします。
圧縮されているので、フォルダを解凍して、フォルダごとMicroSDカードにコピーします。
参考ですが、
下記のファイルが、後の更新画面に読み込んだファイル形式が何個と表示されます。
上手くいってないときの参考情報になると思います。
手順10:3Dプリンタ液晶のファームウェア更新
液晶のファームウェア更新のスロットは、液晶の基板直接についてます。さっきの手順8でSDカードを挿したスロットではないので注意。
液晶部分を分解します。液晶を見て、下側2箇所と、裏側2箇所で固定されているので六角レンチで外します。
液晶のケース一体で外れるので、次は液晶の基板を外します。基板の四隅に4箇所、六角レンチで外します。
画像左のリボンケーブル(カラフルな配線)は、細いのであんまり引っ張って断線させないように注意。
これで、マイクロSDカードが挿せます。基板がケースに接触しないようになにか挟んでおいてあげましょう。端子なんかが短絡すると厄介です。
電源ONすると、更新画面が現れます。
項目が進んでいくと、klipper用の画面イメージがパパパっと表示されていきます。
最初32GBのしか見つからなくて試しにやったら、更新画面が現れて各項目の読み込んだファイル数も増えてって、最終的には止まったので、なんかできたような気がするのですが失敗してました。
数字が0の項目があり、全部読めなかったようです。アロケーションのせいなのか不明ではありますが、
16GBで4096指定ではちゃんと成功して、一番上のSD Card Process…END!を確認後、再度電源ONするとklipperの画面が現れます。
3Dプリンタの液晶にKlipperの文字が出た後は、RaspberryPi側から接続されないと、次のメニュー画面には進みません。
手順11:RaspberryPiと3Dプリンタを接続
Ender6の繋ぐところは制御ボード直接です。制御ボードは底面にあるので、底面カバーを外周周りの固定ネジを六角レンチで外します。
制御ボードのUSBのMicroBタイプ、RaspberryPi4はUSBのAタイプ。
MicroB側は端子が曲がりやすいので注意。RaspberryPi側の線は、柱の隅が開いてるので通すのが良いかなと思います。
繋いだらRaspberryPiから見た制御ボードの接続先を下記の方法で調べます。
RaspberryPiでコマンドを入れます。
#送信内容
ls /dev/serial/by-id/*
#応答内容(例)
/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
ですが、RaspberryPi4使っている方はこれでは見つからない場合があります。
下記の方法で、接続先を確認。
#送信内容
ls /dev/serial/by-path/*
#応答内容(例)
/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0
接続先さえわかればいいので、どっちでも大丈夫です。
接続先を調べられたら
Ender6用の設定ファイルを、Klipperにアップロードします。
まずは、下記のファイルをダウンロードして解凍。中にprinter.cfgが入っています。
(デフォルトのがよければ、/home/ユーザ名/klipper/config/に各種設定ファイルがあります)
手順4でやった、ブラウザのURL欄に、RaspberryPiのホスト名.local を入力してFuiddに繋ぎます。
Configurationのページに移動して、+アイコンから先ほどのファイルをアップロード。
アップロードしたprinter.cfgをクリックして開いて、BL Touch有無によるコメントの項目があるので、
#を付けたり消したりして合わしてください。当HPからダウンロードしたファイルはBL Touchありになってます。
[mcu]の項目のserial:を、ご自身のby-idかby-pathに変更して
右上にある保存と再起動。
問題なく繋げれたら、下記のようなホーム画面が出ます。
ダメなときは下記のような画像。
終わりに
いかだだったでしょうか。Input_Shaper(振動補正)が使えたり、Wifi経由で造形が始めれたり、ベッドメッシュ測定やBL TouchのZ方向のスピードゆっくりにしたりと各機能が便利になりますので、Klipperおススメです。
コメント