[教學] Z-Probe 近接開關距離調整 - inductive proximity sensor

本帖最後由 vichui 於 2015-10-2 14:37 編輯

自己一直對Z的零位調整十分困惑,每次要調整時就去轉動精度沒有很高的螺絲帽,這方法一來很不便,二來收緊螺絲帽的同時sensor也會有多少的移位,很不準確.

Marlin 的Z_PROBE_OFFSET_FROM_EXTRUDER
一直都知Marlin config中有這個設定可用來修正Z軸高度的座標 (零減掉這個設定值),這比去轉動螺帽方便, 但每次也得去改Firmware, 太花時間了, 也就一直它他設做零,去轉動那些螺絲帽算去.

G-Code M851
後來有次使用M503檢查EEPROM無意中發現了EEPROM中有Z probe offset的數值,和M851這個G-Code, 翻查Marlin offical文件沒有這code的存在,最後在reprap forumn找到了,原來這是1.03 Dev後加入的,offical文件還沒更新.使用方法:

      M851 Z-x.y



調整步驟
(引用了這篇中的方法: 雄: 3DP : 近接開關距離與靭體設定調整:)

1.Z_PROBE_OFFSET_FROM_EXTRUDER設定為零
由於我們會使用 EEPROM存儲數值, Source Code中設要為零和打開EEPROM功能.

2.調整感應開關位置
首先要調整 Z-min 的感應開關安裝位置,讓感應器觸發時,噴頭高於平台,但沒碰到列印平台。見下圖:-



A: 感應開關要比噴頭高 - 這樣Sensor才不會在打印中碰到膠件
B: 平台不要碰到噴頭, 留大約1-2mm就可, 而B就是Z offset 的距離
C: 感應開關的工作距離

3.清除EEPROM
利用以下Gcode清除之前存於EEPROM中的數值

M851 Z0 ; 設定Z-probe offset 為0
M500    ; 存入EEPROM中

4.HOME (G28)
執行G28一次讓三軸歸零( X、Y、Z)。

5.精測Z-Offset
現在我們會測量z-probe offset (B)的數值, 方法中會用到G92,和一般的調高方法.
AutoHome歸零後, 現在的Z一定會是0, 我們無法以一般移動指令讓噴頭和平台更接近.不過我們可使用G92來使Z大過0,Z便能再次移動. 做法如下

   G92 Z10 ;把現在的Z (0)設定為10

再來,利用列印程式的「手動模式」或是 G-codes,慢慢調低噴頭高度,搭配「A4 影印紙」,找出印表機噴頭的最佳高度,找到後就能計算出。

6.計算Z-probe offset
以前面作為例子,找到最佳的高度時,如果此時 Z 軸的高度是 8.73mm ,計算一下目前的高度減掉原來的高度:

      8.73 - 10 = -1.27

答案 -1.27就是我們要的Z-probe offset了

7.把Z-probe offset寫入EEPROM
M851 Z-1.27 ; 設定Z-probe offset 為-1.27 (B的距離)
M500    ; 存入EEPROM中

8.測試
執行G28一次讓三軸歸零( X、Y、Z), 這次Z會顯示為1.27 (你所計算出來的數值).以後每次AutoHome也會停於這位置.這時再埶行 G1 Z0就可讓Z軸歸零.

9.更改切片軟件Start-Gcode (如果有用G29)
Marlin的Z-Probe Offset配上G29(Z-Probe平臺自動補正)功能有一個小問題發生, 就是G29預設Z己經歸零的,所以一定會跟住G28做,如:

.....

G28 ;Home x,y,z
G29 ;Auto bed leveling
.....

但用了Z-Probe Offset後, G28之後Z將不是0.這時我們要加入G1 Z0來使Z真正的歸零後才可行G29,如

.....

G28 ;Home x,y,z
G1 Z0 ; move Z to 0 position
G29 ;Auto bed leveling
.....

這方法很方便, 每次調整只需要重覆3-7就可以..

http://3dprinterdiy123.blogspot.hk/2015/10/z-probe-inductive-proximity-sensor-part.html

記得落鏍絲膠, 印印下鬆又玩多次.如果買了次貨, 個sensor 要低得好緊要先得.

我己用了servo, 就解決以上問題, 基本上一次okay.

我的做法是跟據你的做法. G28, Tune 好 z-offset.

做多次G29, 個paper test. 和Z-offset 個數有小小off.  只要加z-offset 就得.

最後我建議用testing stage 個branch. release branch G29, 個offset 有問題的

TOP

回覆 2# g2david

個sensor真係好緊要的, 太低, 平台傾斜就好易噴頭撞平台

下次分享埋我點用sensor manual tune 水平的方法. 快靚正...

TOP

回覆 1# vichui


    In fact,  The zero reset is not necessary in other Marlin firmware. I guess this is a bug in your current version. The testing 1.0.3 has a bug when calculating z axis offset after G29.  it is fixed in testing stage version.

G28 ;Home x,y,z
G1 Z0 ; move Z to 0 position
G29 ;Auto bed leveling

My previous version, I need to manually reset the servo distance from print head in Gcode. After using newer version in staging branch. all fixed without any adjustment.

TOP



所以我文中有提到 g1 z0 都prevent呢個問題的, 我仲用近1.03 dev,  因為改過未大月時間upgrade

TOP

請問一下,你的SENSOR 從哪兒入手?
RS 同類的要成3百幾一個
而淘寶就十幾都有。

究竟邊種信得過???

TOP

回覆 6# jonahl


    PMed

TOP

師兄我都想要條LINK

TOP

師兄我都想要條LINK

TOP

MARLIN固件可以LIVE去改Z MAX, ROD LENGH, RADIUS?

TOP