Anycubic i3 mega-s + Raspberry Pi 3BでKlipperを導入
タイトルの通り、Klipperを導入したときの覚書メモ。まだインストールしながら設定しているときのメモのため、結果動くかどうかはまだ未定。動いたので、メモレベルであるが参考になるはず。
参考アドレスは下記ふたつ。
上の あることないこと日記さんの奴が詳しいので、それに沿って導入していく。
そちらはEnder3で自分の環境と違うので、必要に応じて、tomyさんのやつAnycubic mega pro導入のほうも参考にしていく。
環境
Anycubic i3 Mega-S
Raspberry Pi 3B
Klipper導入前状況として、
モータードライバはTMC2208に変更済み、
それに伴ってファームはカスタムMarlinに変更済み。
Octopi導入済み。
RaspberryPi導入の手引きは上記参考URLを参照ください。
作業開始
1. Tera Tarmをインストール
「Tera Term」定番のターミナルエミュレーター - 窓の杜
Google検索して、窓の杜リンクがあったのでそちらにした。公式でもよいけど、慣れてるほうからインストールとした。
2.Tera Termを設定
接続対象のアドレス「octopi.local」だとなぜかつながらなかったので、IPアドレスを入力した。192.168.x.xという奴。
3.Klipper入手
$ git clone https://github.com/KevinOConnor/klipper
フォルダが作られてgithubから入手してくれる。自動で。
注)ドハマりポイント
ここで普通にクリッパーインストールしたら、
avr-gcc command not found
と出て進めなかった。
4.まず、avr-gccを入手
$ sudo apt-get install avr-gcc
$ sudo apt-get install gcc-avr
似たようなコマンドを打つ。最後だけちょっと違う。
avr-gccをapt-getしても、やっぱりNot foundとなった。どうやらgcc-avrとするのが正しいらしい。わかんないので両方実施。
5.Klipperインストール
コマンドを打ったらインストールされるはず。
$ ./klipper/scripts/install-octopi.sh
6.Klipper設定
$ make menuconfig
ここからプリンタによって設定が違う。各自所有している3Dプリンタに合わせた設定にする。
下記アドレス参照
i3 mega-sだとデフォルトでよいらしい。何も変えない。
Qを押して、「セーブして終了しますか?」にYesを選択。
7.make
公式ドキュメント通り、makeする。
$ make
英語がつらつらーっと出て完了するらしい。
※ドハマりポイントで、avr-gccをインストールしていなかったときは、ここで「command not found (コマンドが見つかりません)」が出て進まなかった。
8.ポート番号を調べる
もう、ここは呪文。わからないのでとにかくタイピング。
その前に、ラズベリーパイとプリンタをUSBでつないだ状態にして、プリンタ電源ONとする。
$ cd ~/klipper/
$ ls /dev/serial/by-id/*
ここで、ポート番号というかポートIDが出る。自分の環境では下記。
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
9.ファームウエア書き込み
調べたポート番号を使って、ファームウエアを書き込む
$ cd ~/klipper/
$ sudo service klipper stop
$ make flash FLASH_DEVICE=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
通信もできて、ベリファイもできてるから大丈夫だと思う。
10.Klipper各種設定を変更
Githubから自分のプリンタの設定ファイルを入手
ここ読んで。10番以降
https://terutakke.com/2021/05/ender-3-pro-octopi-klipper/
設定内容を書き換えて、WinSCPでアップロードする。
※WinSCPは上記リンク先より探して。もしくはGoogle検索ください。
本当はこの辺でインストール完了となるはず。
トラブル
つながらない
Klipper Connecting…表記のまま。どうもポートとボーレートの組み合わせが存在しないらしい。
結局、再度make menuconfigから再開。makeでファームを作り、書き込み。
ラズパイ再起動+プリンタ本体も電源再投入したところ無事つながるようになりました。
Octopiポート設定は下記
シリアルポート /tmp/printer
ボーレート 250000
原点復帰時に逆側へ動いてしまう
モータードライバを交換して反転してるので、Printer.cfgファイルを変える必要があるらしい。
Klipperエディタから編集してみる。お試しで。
エディタは、Klipper最初の画面の「ShowEditor」「OpenEditor」のボタンから開くことができます。
変更点XYZ軸全部反転。
[stepper_x]
dir_pin: !PF1 となっていたのを dir_pin:PF1 とする(!を取る)
[stepper_y]
dir_pin: !PF7 → PF7
[stepper_z]
dir_pin: PL1 → !PL1
[stepper_z1] Z軸はモーターが2個ある
dir_pin: PC3 → !PC3
おそらく、エクストルーダも何か変更が必要。
動作見て、反転は必要そうなので、反転させる。
[extruder]
dir_pin: PA6 → !PA6
ここまで設定して、原点復帰を確認。
エクストルーダ動作量が足りない
Anycubic i3 mega-sだとTitanエクストルーダを使っており、ギアでトルク3倍に増幅されている。もとにしている設定ファイルprinter.cfgは、無印のmega用のため、エクストルーダの動作がおかしくなるはず。
モーター1回転で〇〇mmフィラメント押し出すよ(1パルスで△mm出るよ)というのを設定すればよいはず。
で、公式サイトに丁寧に説明があった。
ブラウザの翻訳機能を駆使して確認。
プリンタのメカを確認せいとか書いてあるけど、すっ飛ばして。設定手順。
公式サイトのではなく、自分のやり方は下記。
1.ホットエンドを180度に昇温する。(昇温しないとエクストルーダが動かないため)
2.温度上がる間に、エクストルーダからボーデンチューブを抜く。
(このときホットエンド側は触らない。あとが面倒なので)
3.フィラメントを差し込んで、ボーデンチューブ継手からちょびっと顔出すようにしておく
4.ホットエンド温度が上がったら、Octopiターミナルから下記コマンドを入れる
G91
G1 E50 F60
コマンドの意味は、G91=相対座標に変える
G1=動け
E50=50mm分
F60=速度60mm/min(もしかしたら60cm/min. 60inch/s?)
5.エクストルーダが動くことを確認し、止まるまで待つ
6.出てきたフィラメント長さを測定。この時は104mmだった
7.計算する
現在の設定値rotation_distance=7.710
指令は50mm(G1 E50)
出てきた量 104mm
倍率ドン、104/50=2.08倍
新しい設定値=旧設定値7.710×2.08≒16.037
8.OctopiのOpenEditorから、エディタを開く
9.該当箇所 [extruder]のrotation_distanceの数字を書き換える(16.037)
10.Save & Close
11.Klipper Restart
12.またコマンドを打って、正しく出るか確認する
G91
G1 E50 F60
13.長さを測って、正しければ完了、だめなら7.計算を再実行
明らかにおかしいぞ、という場合は分母と分子がひっくり返ってたりするのでご注意ください。
なにか簡単なモデルを出力してみて、動作がイケてるか確認する。
自分は上記で狙った通り動作できました。
以上ここまで
ということで、超絶めんどくさいコンパイルとインストールを経由しないといけません。
いけませんが、すべてKlipper公式サイトに記載があります。
全部英語なので、心配な方は翻訳ソフトを使用していただければ理解できるかと思います。
めんどくさいとは思いますが、読んで実行すればできるレベルです。
あと、すでに忘れているので、質問されてもあまり答えられませんのでごめんなさい。
Klipper導入による恩恵は、、、そんなにないかなー。現時点では、Marlinに戻す手間のほうが大きい感じです。
投げ銭用リンクをつけときます。情報はありません。
この記事が気に入ったかた方、参考になった方はいいねボタンをお願いします。投げ銭は気分で。
ここから先は
¥ 300
この記事が気に入ったらチップで応援してみませんか?