見出し画像

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から自分のプリンタの設定ファイルを入手

まずは、GithubのKlipperのページにある「↓ CODE」→「Download ZIP」と辿り、KlipperのZIPファイルをダウンロードする。

次にダウンロードしたZIPファイルを解凍してできたフォルダの中にある「config」フォルダ内から自分の環境に合ったプリンタの設定ファイル(拡張子がcfgのファイル)を探す。

あること・ないこと日記

ここ読んで。10番以降
https://terutakke.com/2021/05/ender-3-pro-octopi-klipper/

>プリンタの設定ファイルをテキストエディタなどで開き、[MCU]の「serial:」以降の部分を手順8.で調べたシリアルポートの名前に変更する

あること・ないこと日記

設定内容を書き換えて、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出るよ)というのを設定すればよいはず。

で、公式サイトに丁寧に説明があった。

ブラウザの翻訳機能を駆使して確認。

エクストルーダの「rotation_distance」というのは、ステップモータ1回転でフィラメントが押し出される量を設定します。

Klipper documentation

プリンタのメカを確認せいとか書いてあるけど、すっ飛ばして。設定手順。

公式サイトのではなく、自分のやり方は下記。

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に戻す手間のほうが大きい感じです。

この記事が気に入ったらサポートをしてみませんか?