2018年9月29日土曜日

小型工作機CNC2418 その64(CandleのOverridingをキー操作化)

Candle(Gcode Sender)の初改造であります。
といっても今回は、全面的に他力本願...(-_-;)
マーティーは、前回修得したビルドとデプロイするのがやっとです。

GRBL 1.1fでは、Overriding機能が追加され
このスライドバーで、ほぼリアルタイムにFeedやSpindleを変えることができます。
ミルがヤバそうな時など即座にFeedを下げたりでき、とても重宝しています。
が、マウスでのスライドバー操作なので、
マシンの切削状態を見ながら操作したいのに、PC画面を見てないと操作できません。
10%上げたいのに20%も30%も動くといけないので
数値欄に手入力することも、しばしばあります。
ということで
マーティーは、Overridingをコントロールしたいという意向だけで^^;
YY師が、全面的に作業してくださり、実現に至っております。
ありがとうございます。
その仕様は、
PCのFunction KeyでOverridingをコントロールするものであります。
指一本で操作できるし、こんな風に指を4本置けば
Feedの[-10%][-1%][+1%][+10%]を
マシンを睨みながらブラインド操作できるのです。
特にFeed可変は多用するので、これは、メチャクチャありがたいです。
キー操作だけなので、改造は、簡単そうなのですが
なにせマーティーは、C++なんてイジったことないので
ソースを見ても、C言語とは様相がかなり違い、さっぱりわかりません。
Arduinoのmainをみるようには、追っていけないのです。
ソースファイルが沢山あるし、どのソースファイルかが分かっても
変数と命令が区別がつかない状態なのです。
これが「オブジェクト指向言語」なのか!!!
まだ言葉しか知らないマーティーであります(T_T)

なので製作過程はありません、いきなり、ソース搭載です^^;
元のfrmmain.cpp の28xx行目付近に追加されています。
"If(m_processingFile)":"もしGcode実行中だったら" だそうです。
変数と命令の区別がつかないのですが、
これだけあると、やっと規則性がわかるかな~
という程度のマーティーの今現在の知識であります(-_-;)
*****
if (m_processingFile) {
      if (keyEvent->key() == Qt::Key_F1) {
              ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 10);
          }
      if (keyEvent->key() == Qt::Key_F2) {
              ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() - 1);
          }
      if (keyEvent->key() == Qt::Key_F3) {
              ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 1);
          }
      if (keyEvent->key() == Qt::Key_F4) {
              ui->slbFeedOverride->setSliderPosition(ui->slbFeedOverride->sliderPosition() + 10);
          }
      if (keyEvent->key() == Qt::Key_F6) {
              ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() - 1);
          }
      if (keyEvent->key() == Qt::Key_F7) {
              ui->slbRapidOverride->setSliderPosition(ui->slbRapidOverride->sliderPosition() + 1);
          }
      if (keyEvent->key() == Qt::Key_F9) {
              ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 10);
          }
      if (keyEvent->key() == Qt::Key_F10) {
              ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() - 1);
          }
      if (keyEvent->key() == Qt::Key_F11) {
              ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 1);
          }
      if (keyEvent->key() == Qt::Key_F12) {
              ui->slbSpindleOverride->setSliderPosition(ui->slbSpindleOverride->sliderPosition() + 10);
          }
}
*****

これを前回のQt Creatorでビルド、デプロイすると
実行形式のファイルができあがります。
Qt Creatorでビルド、デプロイできるようになって嬉しいので
これだけは、自らやってみました!
今まで使っていたVer.1.1.7から「LICENSE」と「settings.ini」をコピペします。
早速、適当なGcodeを読み込んでミルをつけずにテストです。
画面は、変わりありません。
[Help]-[About]は、こうなっています。
「zCandle」と命名されております。
では、動画で!
マシンがちと暗いですが
動画を撮りながら操作できるってのが、素晴らしい~
この改造版Candle「zCandle」は、GitHubのここに掲載されています。
「LICENSE」と「settings.ini」は、今まで使っていたVer.1.1.7からコピペします。
但し、十分な確認をしているわけではありませんので、注意の上、ご使用ください。
お~っ!
これを書いている間にLinux版も追加されています。
マーティーは、まだLinuxマシンを持っていません(-_-;)

ちなみに現在のマーティーPCのスタート画面です。
Candleは、右から、V1.0.11、V1.1.7、zCandle V1.1.8.2を並べています。
さすがに、Candle V1.0.11は、使わなくなりました。

<補足>
ビルド&デプロイするQtのバージョンについての備忘録。

改造元のソースは、
ここから「Candle-grbl_1_1.zip」をダウンロードしたものです。
ソースの「candle.pro」には、
*****
TARGET = Candle
TEMPLATE = app
VERSION = 1.1.8
*****
実行形式の公式最新版は、Ver.1.1.7なのに、ソースは、Ver.1.1.8です。
何かこの辺は、末尾に+1する約束事でもあるのかな~?
ただ、このサイトには、なぜか
「Version 1.0 pre-release:」の文字が一番上の項目にあり、
Build requirements: Qt 5.7.0 with MinGW compiler
とありますが、Ver.1.1のことではないので要注意なのです。
ややこしいですが、Candle Ver.1.1説明は、こっちなのです。
ただし、ここにあるソースは、Ver.1.0.12なのです。
要するに、ソースの置き場所が間違っているだけです。
で、ビルド、デプロイは、
Qt 5.4.2 with MinGW Compilerでやらないといけないのです。
Qt 5.7.1でやるとzCandle.exeも***.dllもやたらとファイルサイズがでかくなり
切削開始した途端、下の様にツールパスが消えてしまいます。
Qt 5.4.2では、サイズも動作も正常なファイルが生成されるのです。
それにしても、C++は、難しい~~~っ!
マーティーの頭は、「OUT OF MEMORY」であります(-_-;)

3Dプリンタ その16(Marlin3DprinterToolでベッド高さ調整)

前々回、その14で、Firmwareを
「Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B」にUpdateして、
前回、その15で、「Marlin3DprinterTool」をInstallしました。
このToolでは、ヒートベッドの高さ調整機能もあるのです。

さて、先にI3 Pro BをUSBで接続してから、Marlin3DprinterToolを起動します。
現時点のバージョンは、これです。
Portを選択して[Connect]します。
毎回これがでるので[OK]すると
RESETがかかり、この画面に変わります。
ここで[Configure Bed]タブをクリック
この画面になります。
この使い方は、このYouTubeを参考にしました。
まず、右側の[Home X][Home Y][Home Z]を確認します。
それぞれ、XYZ個別にHoming動作します。
デフォルトでは、I3 Pro Bのステージに合わないので
中央+4コーナーの座標を変更します。
[Back Left Corner]X:20 Y:190
[Back Right Corner]X:200 Y:190
[Safe Home]X:110  Y:120
[Front Left Corner]X:20  Y:45
[Front Right Corner]X:200  Y:45
入力したら、5ヶ所、それぞれで
アイコンで位置を保存します。


或いは、左のNavigationボタンで適当な場所に移動して
この
アイコンをクリックすれば、
その座標値をXYボックスに入れることもできます。

左側の足跡アイコンで、入力した左のXY座標に移動することができます。
5ヶ所の測定ポイントの座標を保存したら
左下の[Probe the Bed]ボタンを押すのですが、
マーティーPCでは、どうしても、これより下を表示することができません。
ほんの僅かに見えるだけです。
その[Probe the Bed]ボタンをクリック!
最初にHoming動作して、中央(Safe Home)からZレベル測定が始まって
4コーナーの測定が行われ、中央との差が表示されていきます。
動作自体は、G29コマンドと同じですが、Zレベルなどが表示されます。
中央の「M3」チェックは、4コーナーのベッド高さ調整のボルト径です。
赤枠部に中央との差とそのボルトの調整回転角(時計の分)が表示されます。

M3ボルトのピッチは、0.5mmで、1回転360°で0.5mm上下するので、
0.25mmだと180° つまり 長針30minutes回して修正、という意味です。
但し、右上(ベッドの右奥)が基準点で、いつも「レ」チェックが入り、
他の3ヵ所は、その右上(ベッドの右奥)との差分で調整する指示がでます。
左(左奥):0.20、右(基準の右奥):-0.33 で、差:0.53(左が高い)ので
0.53 ÷ 0.5 = 1.06右回転 :1hour 3minutes 時計の長針で時計回り
という意味で「1:3 minutes」と表示されているわけです。
調整指示に従ってボルトを調整していきます。
それぞれ時計の長針換算なので、
左上:1h3m(1回転+18°)、左下:1h30m(1.5回転)、右下:7m(42°)
上から六角レンチで回しますが、下の蝶ナットが回らないように気をつけます。
おっ!1回でわりといい感じになってきました!
左前だけ、角度12minutes(72°)時計回りに締めることにします。
もう一息
左前4minutes、右前9minutes 時計回りに締めます。
ちょっと様相が変わりましたが、回す角度は小さいです。
これは、Sensorの再現性の問題かな?
取り敢えず、指示通りに3ヵ所を反時計回りに緩めます。
ん~ん、ここまで来ると、全部チェックマークにしたいですね~
やりました!
約15分でここまで調整できました!
これは、なかなか便利なツールです。
何と言っても回す角度を指示してくれるのがいいです。
「150°締める」より「長針25分進める」の方が断然わかり易いですね~
この状態で[Scan buildsurface]タブにします。
ちょっとZ軸が拡大し過ぎですが、3D表示されます。
試しに
[Number of X-points]:8、[Number of Y-points]:8 として
8 x 8 の64ポイントでやってみます。
[Start Scan of bed surface]すると
1列の8点に2分弱も掛かりますね~
約12分かかり、できました!
真上から
まあ、3D Touch Sensorの再現性誤差がありますが...
前⇔端と左⇔右で傾向がみられないので
XY軸のスライドロッドの直線性は、いいのではないかと思われます。
ヒートベットとガラス板取付の歪みが多少あると思われます。
たぶん、クリップ留めの圧力で歪んでいるのかもです。
「Marlin3DprinterTool」なかなか面白いです。
他にも色々タブがあって面白そうなので、別の機会に試そうと思います。
まだVer.0.28β、完成に近づくと有料になるのかな~?

3Dプリンタ その15(Touch Sensor調整と再現性テスト)

前回、その14で、Firmwareを
「Marlin 1.1.4 With 3DTouch / BLTouch for i3 Pro B」にUpdateしました。

それをダウンロードしたサイトには、
3D Touch Sensor(BL Touch)のコアの調整方法が書いてあるのです。
*****
Procedure to do this (probe in up position, turn your screwdriver very gently):
- unscrew the top screw until probe flash alarm.
- Reset alarm (G-Code : M280 P0 S160)
- Screw until the light pops on (this is your near best starting point to fine tune next)
- Launch M48 repeatability test procedure
- fine tune the screw until Z bed position is the most near 0 and your derivation <= 0.01mm (less is better)

*****
***やってみた後のマーティーの解釈***
1.ピンが上がった状態か確認。
  通常は、電源ONのセルフテストの後、上がった状態。
2.上部のコアをプローブがチカチカ点滅するまで反時計回りに緩める。
3.Repetier-Hostから「M280 P0 S160」コマンドでLED消灯。
4.LEDが点灯するまでコアを時計回りに締める。

  可能な限りゆっくり回して点灯するポイント(約360°前後)にする。
5.「Marlin3DprinterTool」を使ってM48 (Touch Sensorの再現性テスト)
  Derivation(標準偏差)が、できるだけ小さくなるまで
  コアを微調整(0.01mm以下だといいのだが...)
6.No.4操作から180°程度、時計回りに回した方がよさそう。
  (No.6は、マーティーがやってみての感触)
*****

で、このスクリーンショットが気になるので調べると、
「Marlin3DprinterToolVersion: 」というToolのようです。
実は、これでM48(Touch Sensorの再現性テスト)ができるのです。
ソフトを探すと、公式サイトは、ここです。
一応、ここにもあったのですが、Installerがなく、使い方がわかりません。
Installerは、GitHubのここにあるのを使いました。
執筆中のバージョンは、「v0.25-beta」でした。
「Marlin3DprinterTool.msi」をクリックして
ダウンロードします。
ダウンロードした「Marlin3DprinterTool.msi」で右クリックして
インストールします。
ここの時間がちょっと長かったと思います。
進んでいって~
完了です。
「Marlin3DprinterTool」の起動画面が出ます。
ほどなくして、これがでるので、[Yes]します。
ちなみに[Download Link To Clipboard]はErrorがでました。
また、このInstall画面から始まります。
最初と異なるのは、この画面だけ
そのまま[Next]
Installが完了して、起動しました。
バージョンは、これになりました。
これらのアイコンが追加されています。
起動画面の左上のPortを選択して[Connect]します。
先にI3 Pro BをUSBで接続していないとPortの選択ができません。
これがでるので[OK]すると
RESETがかかり、この画面に変わります。
[Z Probe offset]タブにすると、この画面がでてきます。
最初のスクリーンショットとほぼ同じものです。
[Measure Z-Probe repeatability (M48)]ボタンを押すと
Homingが行われた後
Home位置で、Zレベルが4回測定され、下の欄に結果がでます。
ログの全内容はこれです。
Mean(平均)、Min、Max、Range(Max-Min)と
Standard Deviation( 標準偏差 σ)が表示されます。
*****
M48 Z-Probe Repeatability Test
Positioning the probe...
Bed X: 100.000 Y: 96.000 Z: 0.010
1 of 4: z: 0.030 mean: 0.0300 sigma: 0.000000 min: 0.030 max: 0.030 range: 0.000
2 of 4: z: -0.030 mean: -0.0000 sigma: 0.030000 min: -0.030 max: 0.030 range: 0.060
3 of 4: z: -0.030 mean: -0.0100 sigma: 0.028284 min: -0.030 max: 0.030 range: 0.060
4 of 4: z: 0.002 mean: -0.0069 sigma: 0.025086 min: -0.030 max: 0.030 range: 0.060
Finished!
Mean: -0.006875 Min: -0.030 Max: 0.030 Range: 0.060
Standard Deviation: 0.025086
*****

スライドバーで[Parform 10 tests]にすると
10回やってくれます。
ログの全内容は、こんな感じです。
標準偏差σ:0.022194
3σ=0.066582(確率 95%) となるので、
巾 0.07mmのZレベルバラツキ誤差があるということになります。
Touch Sensorの反応バラツキだけではないと思いますが。
*****
M48 Z-Probe Repeatability Test
Positioning the probe...
Bed X: 100.000 Y: 96.000 Z: 0.063(このZの意味だけ不明)
1 of 10: z: 0.030 mean: 0.0300 sigma: 0.000000 min: 0.030 max: 0.030 range: 0.000
2 of 10: z: -0.007 mean: 0.0112 sigma: 0.018750 min: -0.007 max: 0.030 range: 0.037
3 of 10: z: -0.022 mean: 0.0000 sigma: 0.022079 min: -0.022 max: 0.030 range: 0.052
4 of 10: z: -0.007 mean: -0.0019 sigma: 0.019395 min: -0.022 max: 0.030 range: 0.052
5 of 10: z: 0.000 mean: -0.0015 sigma: 0.017364 min: -0.022 max: 0.030 range: 0.052
6 of 10: z: -0.010 mean: -0.0029 sigma: 0.016164 min: -0.022 max: 0.030 range: 0.052
7 of 10: z: -0.033 mean: -0.0071 sigma: 0.018197 min: -0.033 max: 0.030 range: 0.063
8 of 10: z: -0.015 mean: -0.0081 sigma: 0.017219 min: -0.033 max: 0.030 range: 0.063
9 of 10: z: 0.043 mean: -0.0025 sigma: 0.022730 min: -0.033 max: 0.043 range: 0.075
10 of 10: z: -0.020 mean: -0.0042 sigma: 0.022194 min: -0.033 max: 0.043 range: 0.075
Finished!
Mean: -0.004250 Min: -0.033 Max: 0.043 Range: 0.075
Standard Deviation: 0.022194
*****

GeeetechサイトのここのVer.1.1.4を編集したOlimatou氏は、
2時間かけて追い込んだということなので
マーティーも地道にやりました! 以下は、その長~い記録です。
結論的には、
・50回平均しないと測定バラツキが大きい(それでもバラつく)
・冒頭の調整方法からコアを時計回りに1回転辺りがよさそう
・時計方向に回しすぎると悪化する様子
がマーティーの感触です。

それでは、3D Touch Sensorのコアを回して変化をみていきます。
まずは、180°時計方向に回します。
そう変わりありませんね~
*****
1 of 4: z: 0.045 mean: 0.0450 sigma: 0.000000 min: 0.045 max: 0.045 range: 0.000
~~
4 of 4: z: 0.007 mean: 0.0125 sigma: 0.023251 min: -0.020 max: 0.045 range: 0.065
Mean: 0.012500 Min: -0.020 Max: 0.045 Range: 0.065
Standard Deviation: 0.023251
*****

最初の状態から180°反時計方向に回してみます。
ん!良くなっているような?
*****
1 of 4: z: -0.040 mean: -0.0400 sigma: 0.000000 min: -0.040 max: -0.040 range: 0.000
~~
4 of 4: z: -0.017 mean: -0.0169 sigma: 0.016805 min: -0.040 max: 0.007 range: 0.048
Mean: -0.016875 Min: -0.040 Max: 0.007 Range: 0.048
Standard Deviation: 0.016805
*****

もう一回やってみると、悪くなりました!
*****
1 of 4 ~~ 4 of 4
Mean: -0.089375 Min: -0.145 Max: -0.045 Range: 0.100
Standard Deviation: 0.037599
*****

そこから90°時計方向に回します。
つまり最初から90°反時計方向に回したことになります。
*****
1 of 4 ~~ 4 of 4
Mean: 0.015000 Min: 0.002 Max: 0.035 Range: 0.032
Standard Deviation: 0.012374
*****

同じ条件で、10 testsでやり直すと
やっぱしこんなもんかあ~
*****
1 of 10 ~~~~~~~~ 10 of 10
Mean: 0.016500 Min: -0.017 Max: 0.055 Range: 0.072
Standard Deviation: 0.025500
*****

そこから45°時計方向に回します。
つまり最初から45°反時計方向に回したポイント。
*****
1 of 4 ~~ 4 of 4
Mean: 0.029375 Min: 0.010 Max: 0.060 Range: 0.050
Standard Deviation: 0.018740
*****

これも、もう一回、10 testsで!
良くなってきているのかな?
*****
1 of 10 ~~~~~~~~ 10 of 10
Mean: -0.051250 Min: -0.075 Max: -0.035 Range: 0.040
Standard Deviation: 0.014241
*****

もう一回、10 tests!
やっぱしこんなもんかな...(T_T)
10回位じゃ再現性良くないようです。
*****
1 of 10 ~~~~~~~~ 10 of 10
Mean: -0.013000 Min: -0.058 Max: 0.032 Range: 0.090
Standard Deviation: 0.029343
*****

ならばスライドバーをmaxの50回で!
やっぱこんなもんですね~
どうやら50回やらないと判定難しいです。
*****
1 of 50 ・・・・ 50 of 50
Mean: -0.052850 Min: -0.090 Max: 0.007 Range: 0.097
Standard Deviation: 0.023016
*****

そこから更に45°時計方向に回します。
つまり最初の位置。
やはり、この辺が限界のようです。
*****
1 of 50 ・・・・ 50 of 50
Mean: -0.040050 Min: -0.077 Max: 0.007 Range: 0.085
Standard Deviation: 0.023577
*****

一気に360°時計方向に回してみます。
最初から1回転、時計方向に回した所。
*****
1 of 50 ・・・・ 50 of 50
Mean: -0.044950 Min: -0.082 Max: 0.025 Range: 0.107
Standard Deviation: 0.021080
*****

更に360°時計方向に回します。
最初から2回転、時計方向に回したことになります。
これは、増えたと見ていいでしょう~
*****
1 of 50 ・・・・ 50 of 50
Mean: -0.097550 Min: -0.150 Max: -0.033 Range: 0.117
Standard Deviation: 0.031621
*****

更に180°反時計方向に回します。
最初から1.5回転、時計方向に回した所。
更にでかくなったようです。
*****
1 of 50 ・・・・ 50 of 50
Mean: 0.035000 Min: -0.103 Max: 0.145 Range: 0.248
Standard Deviation: 0.043534
*****

更に180°反時計方向に回します。
最初から1回転、時計方向に回した所。
今日は、この辺で終わりにしておきます。
*****
1 of 50 ・・・・ 50 of 50
Mean: 0.028550 Min: 0.000 Max: 0.077 Range: 0.077
Standard Deviation: 0.018655
*****

次の日、同じ条件で50回、電源入れて直ぐに測定しました。
ん~ん、再現性悪いですね~
ソレノイド方式なのであまり期待してはいけないのかな?
自己発熱や室温でも変わるのでしょう?
*****
1 of 50 ・・・・ 50 of 50
Mean: -0.019700 Min: -0.063 Max: 0.043 Range: 0.105
Standard Deviation: 0.025839
*****

で、冒頭の調整をやり直して
(No.6の180°時計方向に回す追加はしていません)
50回やると、ん~ん、こんなにバラつくのか~
*****
1 of 50 ・・・・ 50 of 50
Mean: 0.040250 Min: -0.007 Max: 0.110 Range: 0.118
Standard Deviation: 0.032071
*****

ちょっと脇道へ、M48コマンドを調べてみると
ここに解説とコマンド例がありました。

Repetier-Host V.1.6.0からコマンドでやってみます。
最初に「G28」でHomingしないと「M48」コマンド受付けません。
で、「M48 P4 X100 Y100 V2 E L2」します。
「1回毎に前後左右に10mm程移動して戻る」動作が加わっています。
結果は、これまでの約1/2に???
再度やってみますが、同じ位なのです。
*****
X:104.00 Y:139.00 Z:10.70 E:0.00 Count X:8320 Y:11120 Z:4280
M48 Z-Probe Repeatability Test
1 of 4: z: -0.017
2 of 4: z: -0.048
3 of 4: z: -0.033
4 of 4: z: -0.035
Finished!
Mean: -0.033125 Min: -0.048 Max: -0.017 Range: 0.030
Standard Deviation: 0.010662
*****

10回でやってみます。
「M48 P10 X100 Y100 V2 E L2」
所が、timeout errorが3回も!
*****
M48 Z-Probe Repeatability Test
1 of 10 ~~ 4 of 10
Communication timeout - reset send buffer block
5 of 10 ~~~ 9 of 10
Communication timeout - reset send buffer block
10 of 10: z: -0.048
Finished!
Mean: -0.015750 Min: -0.048 Max: 0.027 Range: 0.075
Standard Deviation: 0.024800
X:104.00 Y:143.00 Z:10.70 E:0.00 Count X:8320 Y:11440 Z:4280
Error:Line Number is not Last Line Number+1, Last Line: 233
Resend: 234
*****

Repetier-Host V.1.6.0で再度10ポイント
今度は、Errorはでず、Marlin3DprinterToolと同等の結果になりました。
*****
Mean: 0.011750 Min: -0.022 Max: 0.043 Range: 0.065
Standard Deviation: 0.022529
X:104.00 Y:143.00 Z:10.70 E:0.00 Count X:8320 Y:11440 Z:4280
*****

Marlin3DprinterToolでまた50回やっていたら
3D Touch Sensorが反応しなくなり、ガラス板に少しのめり込みました(T_T)
たぶん、冒頭の調整方法でLED点灯のポイントでは、いけないようです。
コアを180°時計回りに回します。
(冒頭の調整のNo.6の180°時計方向に回す追加のこと)
Repetier-Host V.1.6.0で再度10ポイント
この辺で諦めます(-_-;)
*****
Mean: 0.064600 Min: 0.017 Max: 0.145 Range: 0.127
Standard Deviation: 0.027154
*****

このOlimatouって方、
2時間かけて、Standard Deviation:0.005669まで追い込んでいるんです。
3D Touch Sensorの写真も載っていて、
マーティーのと同じものに見えますが、違うのかな~?
でサイトの下の方を見ていくと
*****
#define DEFAULT_AXIS_STEPS_PER_UNIT { 81.5, 81.5, 2577.46, 94 }
*****Z軸:2577.46 です。
これは、Z軸のリードスクリューがM8ネジのバージョンですね~
わずかに写っている左側のZ軸カプラー部を拡大すると、Mネジです!
M8ネジのピッチ=リードは、1.25mmです。
マーティーのは、T8リードスクリューで
ピッチ2mmの4条ネジなのでリード8mmのなのです。
たぶん、これが要因ではないかと思われます。
早いとこリード2mmに変えた方が色々と良さそうです。
ちなみに、「Marlin3DprinterTool」は、
この辺のボタンでZ Offset調整もできるのですが、別の機会にします。