見出し画像

Anycubic MEGA-S のプローブを使用したZ軸のHomingについて

 前回のベッドレベリングで、Z軸のマイクロスイッチによる原点合わせの精度が少し具合悪いことが分かりましたので、今回はプローブによるZ軸の原点合わせについて書きたいと思います。

 考えてみれば分かる事だったんですが、「プローブの精度がどうの? 精度がどうの?」なんて言っている中でマイクロスイッチを使用して原点出ししていたら何にも意味がありませんね。klipperにはマイクロスイッチでも精度を出すための機能があるみたいですがMarlinにはありません。マイクロスイッチは100μmくらいズレるなんてklipperの説明ページには書いてありました。

Z軸をBLTOUCH(又は3DTOUCH)を使用して合わせるという事は従来のマイクロスイッチは使えなくなるという事なので、Z軸の左右の高さ合わせなどはドウナルンダ??とか難しく考えていましたが、やってしまえば簡単。結果から言うとファームウェアの修正をたった4行行う事で叶ってしまいました。

先ずは動画でご覧下さい。


configuration.h

1051 #define USE_PROBE_FOR_Z_H            //Remove comment
1765 #define Z_SAFE_HOMING         //Remove comment

configuration_ADV.h

705  //#define Z_MULTI_ENDSTOPS            //Comment out
876  #define Z_STEPPER_AUTO_ALIGN         //Remove comment

この4行の変更で上記の動画の動作になります。

簡単すぎて拍子抜けしましたが、はなから Dual Z Stepper の機種はこのようにして使用する事が想定されているのでしょうね。ベッドとの衝突やひやひや感を心配しましたが、取り越し苦労だったようです。

[G28]でHomingしますが Z_SAFE_HOMING を有効にしたので BED の中心でのZ軸の測定に成っています。

[G34]で 左右のZステッピングモーターを位置合わせを実行します。通常は左右が合うまで最大5回計測を繰り返します。最後は新しく定まったZ軸にてセンターでHoming。気が利いてますね。


以下は[G34]を行った後に3回[G28]と[G29]を繰り返した結果です。

>>> G29
SENDING:G29
//action:notification Anycubic i3 Ready.
Bilinear Leveling Grid:
     0      1      2      3      4
0 -0.039 -0.026 -0.045 -0.109 -0.234
1 -0.054 -0.026 -0.013 -0.045 -0.143
2 -0.079 -0.035 -0.005 -0.015 -0.098
3 -0.075 -0.038 +0.022 +0.017 -0.045
4 -0.050 -0.005 +0.033 +0.038 -0.028
>>> G28
SENDING:G28
>>> G29
SENDING:G29
//action:notification Anycubic i3 Ready.
Bilinear Leveling Grid:
     0      1      2      3      4
0 -0.039 -0.038 -0.046 -0.113 -0.244
1 -0.066 -0.033 -0.016 -0.050 -0.139
2 -0.088 -0.039 +0.001 -0.021 -0.081
3 -0.098 -0.025 +0.001 -0.013 -0.055
4 -0.067 -0.011 +0.021 +0.012 -0.038
>>> G28
SENDING:G28
>>> G29
SENDING:G29
//action:notification Anycubic i3 Ready.
Bilinear Leveling Grid:
     0      1      2      3      4
0 -0.054 -0.051 -0.050 -0.113 -0.236
1 -0.081 -0.036 -0.014 -0.035 -0.126
2 -0.093 -0.033 +0.007 -0.010 -0.070
3 -0.071 -0.045 +0.014 +0.010 -0.048
4 -0.060 -0.014 +0.030 +0.021 -0.034

計算はしませんが、十分に使える精度で計測が出来ています。

BLTOUCHの精度だとか3DTOUCHの精度だとか言っても、原点の位置決めを同じテーブルで語れる位の精度で出さなければまったく意味がありませんね。


結果

・プローブを使用して Z軸Homingする事で ノズルとBEDの距離の安定が飛躍的に向上した。

・Z軸の左右高さ合わせをBEDとの距離で合わせるように変更になったので、BED と X軸の関係が自動的に修正出来るようになった。

・Z方向とX方向が正確になったので、MESHの適用精度が向上した。


BEDのレベリングとしては良い所まで来たのではないでしょうかね???第一段階はこの辺までかな???

 ここまで動く事が確認出来ると TMC2209 を使用したセンサーレスホーミングがシンプルで良く見えて来ますね。AnycubicがSensorLessHomingを利用した Viperを発売したばかりですが、こういう面でも品質向上が行われているんですね。

(32bit に移行してしまうようですね。今までの 8bitへの執着は何だったんでしょうか? 4MAXPRO2.0 もまだ8bitなんですよね。)


画像1

意味のある数字が拾えるようになったのでBedLeveringの値を細かくグラフに出してみました。1色で20μmに成っています。

やっぱり右手前はあまり使いたくありませんね。


画像2

ちなみにプローブが無かった時に手動で合わせ込んだMESHです。1色50μm。OA紙での計測もなかなかのものだったようです。




全体に少々データによる裏付けが甘い感はありますが、プローブを取り付けてHomingの方法を変えた事によって BedLeveling の実行精度が飛躍的に向上しました というお話でした。

いいなと思ったら応援しよう!