X5SA Pro ダイレクトエクストルーダーの交換 Orbiter その4 with Klipper
前回からかなり間があいてますが、Orbiterの調整を再開します。
先日、Klipperを導入してX5SA Proに接続したものの十分に設定ができていない状態です。
Orbiterについて調べてたところ、なんと v2 が出てました。おいおい。
よりコンパクトになって強くなってるらしい。
このグラフは流量とエラー率の比較です。
25mm3 から違いがでてます。けど、よくわからんね。あまり無理しなければ違いがないとも言えます。
買い替えることは当面ないのでこれ以上は追いませんが、たまたま
パラメータのヒントを見つけました。
これを参考にしよう。
といっても、ここで設定できそうなのは Pressure Advance ぐらいだった。
次に、ベッドのレベリングを調整します。
ベッドが歪んでるのでここら辺が限界です。
取り外してぐいっと押せばよくなると思うけど、差異は0.325mm なのでよしとしよう。端っこまで印刷しないから関係ねーよ。
エクストルーダーの送り量は、Configuration checks - Klipper documentation (klipper3d.org)を見ながら、現行値の50mmの送りに対して何ミリ進むかを調べて調整します。
なんと、25mmしか動いてなかった。半分やん。
#rotation_distance: 4.637 # for Orbiter v1.5 included gear_ratio
#rotation_distance: 2.318 # for Orbiter v1.5 included gear_ratio 102%
rotation_distance: 2.364 # for Orbiter v1.5 included gear_ratio
rotation_distance を半分にしたところ 51mm になったので、* 1.02 してみた。まぁ、こんなもんでいいでしょ。誤差ですよ。
ちなみに 50%しか吐出しなくてもそこそこの造形はできてしまいます。さすがに天面は隙間だらけですが、外形はそれなりです。手に持ってみると軽さを感じます。
ノズルの温度変化が気に入らないのでPIDの調整もしてみました。
PID_CALIBRATE HEATER=extruder TARGET=205
めちゃくちゃ便利です。しかもいい感じのグラフになりました。
設定値を保存すると、printer.conf の下の方に保存されます。
動的な情報は好きじゃないので、改めて書き直しました。
[extruder]
pressure_advance: 0.2
rotation_distance: 2.364 # for Orbiter v1.5 included gear_ratio
control: pid
pid_Kp: 21.591
pid_Ki: 1.043
pid_Kd: 111.738
さて、xyz cube 20mm を 加速度 5,000 で印刷してみよう。
やや吐出多めですね。XYはキレイにできてます。上端の角がダメだなぁ。
これは後回しにして、ちゃたろうさんの指令通りに加速度10,000を試してみよう。ついでにFlowは95% ぐらいに調整します。ちょっと少な目にしたほうが造形はキレイになります。WallとTopの接合がちゃんとできる範囲で下げよう。
加速度10,000でも動いてるんですが、反転するときにガクガクと音がします。これは上げすぎかな。5,000でも十分速いので戻すことにします。
あんまり違いがわかりません。こんなに積層が揃うのは久しぶりだなぁ。
先日ベルト交換とプーリーの微調整も行いました。
2層目付近の窪みが気になります。2層目あたりからファンが回り出す影響なんだろうか。
Klipperは履歴が残るので便利です。加速度が速いと印刷時間も短くなってます。Curaの推定時間との比較もできてよいですね。
角の凹みはPressure Advance で調整するらしい。さっそく計測してみよう。
Pressure advance - Klipper documentation (klipper3d.org)に従い、stlを入手して curaでスライスします。ノズル径の75%のレイヤー、速度は100mm/s インフィルなしで印刷するんだってさ。
ダイレクトエクストルーダーの場合はこの設定です。(意味はよくわからん)
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005
これでテストモードとして印刷するそうです。下から順に少しづつPressure advanceがちょっとずつ増加していくので出来がよいところの高さを計測するらしい。Mainsailの画面に現在の値が表示されるのでわかりやすい。
だんだんと角の形状がよくなってきて、その後また悪くなってくる。
悪くなったら計測する必要がないので途中で印刷を終了してよい。
フィラメントによって粘性は変わるので印刷環境に合わせた設定が必要になるそうですが、あんまり気にしすぎても大変なので、おれの場合はPLA・PETG・TPUの3種類をざっくり計測すればよいかな。
だいたい30mm ぐらいがよさげでした。なので、factor = 0.05 を掛けて 0.15 になりました。再度 xyz cube を印刷してみましたが、違いがよくわかりませんでした。Marlinよりキレイです。
最後にリンギング対策用の設定をやります。
Resonance Compensation - Klipper documentation (klipper3d.org)
これも専用のSTLファイルが用意されています。vaseモード、100m/s 積層は 0.25mmでgcodeを用意する。
何度か印刷してから気づいたのですが、Surface Mode を Surface にすると△の形状の頂点がくっついてしまいます。元のモデルは中味が空洞なのでNormal か Both を選びます。
以下のコマンドをMainsailで実行してから印刷開始です。
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=7000
SET_PRESSURE_ADVANCE ADVANCE=0
SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5
印刷中はだんだんと加速度が上がっていきます。1500→7000まで上昇します。だんだんとうるさくなってくる。すでに10000で印刷したので、まぁ大丈夫でしょう。途中で外出したので挙動を見てません。
X面はこちら(裏側にでかいXという模様が入ってる)
荒れてるのはなんでだろう。X方向はエクストルーダーからプーリーまでの距離が近いから、プーリーの精度が影響するんだろうか。
次に、Y面
ほんで、これらの波の間隔を計測します。
見えねーよ!
向きを変えて、目印をつけてなんとなく計測しました。
計測が荒いのに有効桁=3で周波数を計算しました。(うそくせぇ)
ほんで次にInput shaper を決めるそうな。揺れを打ち消すアルゴリズムのことだろうと思います。いろいろあるらしいが、MZV か EI のどちらかを選ぶことが多いんだって。(意味は聞かないで~)
で、まずは MZV を設定するが、この時点ではconfファイルには周波数だけを書く。
[input_shaper]
shaper_freq_x = 68.8
shaper_freq_y = 66.7
必ず再起動してからテスト印刷を開始しましょう。
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=7000
SET_PRESSURE_ADVANCE ADVANCE=0
SET_INPUT_SHAPER SHAPER_TYPE=MZV
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5
さぁ、どうなるか楽しみです。今のうちにガイドをよく読んでおこう。
上で求めた周波数が20~25Hzぐらいの低い周波数だったら、筐体の剛性アップやエクストルーダーの軽量化、ベルトを締める、などなどやってくれとのこと。
(ここから丸二日経ちました)
なかなかいい結果が出ずに何度も試しました。
コマンドをミスって無駄な印刷もいくつかありました。
コマンドエリアは改行込みで複数まとめて実行できるので、こんな風に試すコマンドセットを用意しておくとよいです。マクロを登録してもよいと思いますけど、記録しながら何度か繰り返すのでExcelに書いてるほうがよいと思います。
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=10000
SET_PRESSURE_ADVANCE ADVANCE=0
SET_INPUT_SHAPER SHAPER_TYPE=MZV
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=4500 STEP_DELTA=500 STEP_HEIGHT=5
今日のところはXYどちらも 2HUMP_PI で落ち着きました。
Xはそれでも荒れてるけど、今日試した限りではここまでしかキレイになりませんでした。途中でフィラメントが変わったのでわかりづらいです。
PLAなんだけどツヤがない。普段使いにはよいけど品質検査には不向きです。
もう疲れた・・・。
とりあえず、普通に使えるようになったので、あとはぼちぼちと進めていくことにします。
ちゃんと設定しようと思ったらこの表を気にしておかないといけないと思います。なるべく 表の上のほうを適用してくれとのこと。おれのは下から2番目になってしまいました。機械のメンテをきちんとやらないとダメなんだと思います。
Klipperを使うのは躊躇いがありました。
機器構成が増えてまた部屋が散らかってしまうから。
実際に使ってみると、タブレットにインストールしたせいかもしれませんが、場所を取らないしPCの電源入れなくても使えるからプリンタの横に置いておけます。UIが豊富で活動状況が数値で見えるので便利です。
速度や流量が見えるので限界の目安がわかりやすい。
部品で散らかってた押し入れをやっと片付けた。左右のプリンタを入れ替えました。右側に棚の出し入れするのにX5SAのフレームが邪魔なので入れ替えてみました。使いやすさを考えると逆なんですがね。
あんまりスピードを意識しすぎないで、そこそこの速度で安定した印刷をやろうと思います。
本件は数か月かかりましたが、これで終了~
2022-03-07:追記
本来の Input Shaperの設定値の求め方はもっと複雑です。
こちらをよく読んでください。
mzv で事足りるのであればそれでOKなんですが、足りない場合はei や 2hump_ei を試すことになります。
eiはベッドが動くタイプのプリンタに向いているそうです。(例えば Ender3などのY軸方向)
EIは共振周波数が場所によって異なるデルタ型に適しているそうです。
2hump_ei を設定するときは共振周波数よりも下の周波数に設定することになるようです。
また、人間の目視による共振周波数の測定は困難です。というか無理かな。
ちゃんとやりたい人はラズパイにセンサーを取り付けて測定することになります。
実感としては、いくつか試してみて「自分が納得できる範囲」になればそれでOKなんじゃないかと思います。どうせ計測できないし、自分の感覚できれいになったと思えばそれでよいのです。