去年購入した、Ender-3 S1を現在も使用していますがそろそろカスタムなどもしてみようと思い色々調べてみました。
丁度ラズベリーパイ3が手元に余っていたのでそちらを流用してKlipperを導入してみようと思います。
機種ごとの設定や、ロッドによる部品やCPUなどの搭載物によって起動しなくなったりなど本体自体の破損や故障につながる作業が多数あります、自身でカスタムしたり問題点の修正などができない方はやらないでください。
当記事での作業によって故障等の不利益が生じても一切の責任を負いません、必ず自己責任で実行してください。
Klipperについて
3Dプリンター自体にも動作を制御する基盤が入っていますが、それを外部で制御するオープンソースソフトウェアです。
印刷速度の向上や、印刷品質が上がるなどの印刷関連の機能や、遠隔での監視など。
メッシュレベリングなどの機能もあるみたいなので、ちょうどレベリング関連に不満があったため導入に踏み切りました。
参考サイトなど
国外サイトが主で、特にS1は上手く作動しないような噂も聞いていましたが、日本語で解説しているページがあったのでリンクを貼っておきます。
導入前の注意点
前提としてラズベリーパイ3B以降の製品や互換品などが必要になるので事前に準備する。
S1のUSB-Cの差し込み口が小さめのサイズなので、カバーなどで一回り大きい形状の物は上手く刺さらないと思われます。
事前に使用できるか確認しておきましょう。
本体側の確認事項
S1もPRO両方ともロッドによって搭載している基盤のCPUが違う物があります。
現在は2種類あるようですが、本体の底面のパネルを取り外さないと確認できないため、購入時やメンテナンスの時に確認しておいた方が良いです。
※フロントのパネルを取り外してSDスロット付近をライトで照らすとギリギリ見えました。
カメラなどで拡大すると底面を全部取り外さなくてもフロントだけで行けるかもしれません。
事前準備
先ほどの引用サイトの方法で上手くいかない部分があったので、ラズベリーパイを起動後の設定が上手くいかないときはこちらのサイトも参考にインストールからやり直しました。
MainsailOS
※Raspberry Pi imagerの選択肢からでもインストールできるので読み飛ばして問題があった場合に読んでください。
ラズベリーパイで使用するOSを準備します。
対応機器に合わせたアセットを選んでダウンロードします。
32と64bit版がありますが、32bit版を使用します。
「MainsailOS-1.2.1-raspberry-rpi32.img.xz」今回はこちらを使用。
Raspberry Pi imager
OSイメージ作成のためにRaspberry Pi imagerを使用します。
最新版でOSの選択項目に追加されていたのでそちらを選んで作業できたのでまずソフトが提示してくる物で試してください。
3Dプリンターの項目があるので選択。
OSを選択して、次のページで今回は32bit版を選択。
インストールするSDカードを選択して、右下の歯車をクリック。
設定画面が表示されるので、SSHを有効化
ユーザー名は使用しているPCの名前が出てくるときがありますが、「pi」に設定。※別の名前でも行けるはずですが、設定ミス対策だと思います。
WI-FIを設定 ※5Gは非対応が多いので選択しない。
ホスト名は指定していませんが、この後の説明でブラウザからアクセスできないときは変更するなどしてください。
※上記の選択肢にOSがなかった場合の手動手順として記載を残してます。
インストール→OSを選ぶ→カスタムイメージを使う。
先ほどDLしたOSイメージを選択。
次の画面で、設定(歯車)をクリック。
パスワードやWI-FIなどの設定を済ませておきます。
通信の暗号化のSSHを有効にしたり、WIFIを使う国もJPにしておきました。
セットアップ
ラズベリーパイを起動。
本体側は、特に操作は必要ないですがエラーなどがないか画面で確認しておく。
立ち上げが終了したら、使用しているPCのブラウザでラズベリーパイにアクセス。(chromeを使用)
mainsailos.local
もしくは
raspberrypi.local
どちらでもアクセスできないときは面倒ですが、ラズベリーパイのIPを調べてそちらでアクセス。
このような画面が表示されます、英語表記ですが右側の歯車マークからLanguageで日本語に設定可能。
設定を進める前に、左の「機器」をクリックしてアップデート確認の項目が表示されるので先にアップグレードをしておきます。(○更新アイコン)
SSH設定
更新が終わったら、設定を進めます。
接続するソフトがなければ「Tera Term」をインストール。
こちらのソフトを使用しなくても設定できますが、その辺りは個人の技量にまかせます。
先ほどのホスト名かIPアドレスを入力。
OSインストール時に指定した、ユーザー名とパスワードを入力。
問題なければこのような画面に。
コマンドを入力していきます。(他の機種の設定は調べていないので注意)
順番に入力する。
git clone https://github.com/th33xitus/kiauh.git
cd kiauh
chmod +x kiauh.sh scripts/*
./kiauh.sh
問題なければこのような画面になります。
一旦キーボードの「Q」→エンターで抜けます。
ファームウェアの作成
アップデートやプリンターのCPUの確認が済んでいない場合は先にそちらを確認。
※特にCPUの確認は間違えるとプリンター本体が起動しなくなる可能性があります。
事前に確認した段階で、STM32F103かSTM32F401のどちらかだと思われます。
今回はSTM32F401だったのでその前提で作業を進めます。
問題なければ、コマンドを入力していきます。
cd klipper
make menuconfig
矢印キーでCPUの種類などを選択していきます。
※Bootloader offsetの数値を間違えると直しようがないらしいので注意。
CPUでこのあたりの数値が変わるので特に注意、今回は該当CPU以外の情報を集めていませんが設定画が変わります。
設定が問題なければ、Q→Y
コマンド画面に戻ったら下記を実行して、FWの構築を開始します。
make
完了するとFWが作成されているので、SFTP経由でラズベリーパイに接続します。
Windowsを使用しているので、愛用しているWInSCPを使用、先ほど入力したホスト名、ユーザー、パスワードを入力してログイン。
/home/pi/klipper/out
このフォルダにある「Klipper.bin」をSDカードもしくは一旦どこかに保存しておきます。
SDカードに書き込む際に、STM32F401のCPUの場合は直下ではなく「STM32F4_UPDATE」フォルダを作成してその下にbinファイルを置かないとアップデート出来ないので注意。
SDカードに書き込み、プリンター本体に差し込むとファームの書き換えが始まります。
20秒くらいで終わりますが2~3分ほど余裕をもって電源をOFFにします。
書き換えが終わったら、本体とラズベリーパイの電源をOFFにして再起動しましょう。
※再起動前にSDカードは抜いておきます。
ブラウザの方は、エラーが複数表示されますが、あとで作成する「printer.cfg」ファイルを作成するので大丈夫です。
該当ファイルはこちらのサイトでDLできるので機種を間違えないように注意。
Klipper Firmware configs for various FDM 3D printers, with tuned settings.
今回はS1のcfgファイルをアップロード。
ZIPになっているのでそのままUPしないように注意。
もしくはFTPからアクセスして下記のフォルダの該当する製品のコンフィグファイルの名前を変更してアップロード
/home/pi/klipper/config/該当製品名
※エラーが複数出るのでサイトのデータの方が良さそうです。
アップロード後、再度右上の電源アイコンからFWの再起動をかければ設定は終了です。
印刷データを開いた際にエラーが出る場合
スライサーで作成したデータを上手く開けない場合の確認箇所です。
printer.cfgを開いて以下の部分を確認。
[virtual_sdcard]
path: ~/printer_data/gcodes
古いコンフィグデータの書き方だとうまく動作しないため。
mainsail.cfgの同一箇所も表記が違うとエラーが出るので一応確認する。
動作確認
ダッシュボードの画面でエラーの表示がないことを確認。
右下のコンソールに入力して、原点復帰をかける。
純正FWの時の現在値復帰と同じ動作になれば大丈夫です。
下記コマンドを順番に入れて、原点復帰→初期値修正をします。
G28
probe_calibrate
画面が変わるのでプラスやマイナスで、手動レベリングと同様に高さ調整を行い調整した位置で確定させる。
その後コマンドを入力して、位置情報をセーブさせます。
SAVE_CONFIG
メッシュレベリング
先ほどのように「G28」で原点復帰
高低マップ→校正をクリック。
作業時の日付などに名前を変えて実行すると、レベリングが始まります。
数値で見るとこんなにひどいんですね。
確認が終わったら、ダッシュボードに戻り先ほどのようにコンソールから情報をセーブします。
SAVE_CONFIG
これで基本操作は大体終わりました。
まとめ
加速度センサーなどを取り付けると揺れによるゴーストなどが軽減されますが、後日購入予定です。
印刷テストなどの細かい部分は時間の都合で記事にできなかったので、時間があるときに追記していく予定です。
最後まで有難うございました。