国内成人免费视频|中文字幕一区精品欧美|国产精品玖玖玖在线观看|国产成人精品久久免费动漫|欧美日韩亚洲一区在线观看|91午夜精品亚洲一区二区|9 9久热RE在线精品视频|精品无码国产不卡在线观看首页

【3D打印機DIY組裝】RepRap Prusa i3 平臺自動補正

開源技術(shù)
2014
03/20
23:10
分享
評論
RepRap Prusa i3 平臺自動補正
平臺校正不但費時,而且經(jīng)常失敗,時在是狠令人洩氣!期盼了好一陣子,Marlin終於將平臺自動補正的功能加進來了。∵@個功能將原本Z軸的Endstop,改裝到擠出頭的旁邊,讓Endstop直接接觸打印平臺,讓Marlin值接測量到平臺的實際位置。不但如此,Marlin會測量平臺上三個不同位置,然后計算出整個平臺傾斜的狀況,并依此補正打印空間的水平方向,讓打印做品跟著平臺一起傾斜,作品本身的三維維持垂直。如此一來,就不必每次打印前,都要耗費時間跟精神,手動做平臺校正工作。





硬體



伺服馬達我選用SG-90,比較輕巧,耗電也不多,可以直接使用RAMPS的5V電源而不至於讓RAMPS當(dāng)機。
i3用的伺服馬達支架,以及探針腳,我放在這邊:
http://www.thingiverse.com/thing:182889

探針的微動開關(guān),直接使用用Z軸的EndStop。不過走線比較長,要重新佈線。
探針的最低點,要比噴頭的最低點還低,但不要低過一公分,避免探測過程中發(fā)生碰撞。

伺服馬達接線如下圖所示:


韌體設(shè)定步驟

預(yù)先燒錄


將configuration.h中以下這幾行的註解符號刪去(行首的 "http://" 刪掉)

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 165,60} // X,Y,Z Axis Extend and Retract angles


將 NUM_SERVOS 改為1

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command


將 Marlin 燒入 RAMPS
燒錄完畢后,伺服馬達會移動到60的位置。
使用M code "M280 P0 S{angle}"可以控制伺服馬達轉(zhuǎn)動到指定的位置(例如M280 P0 S60),找出探測時應(yīng)該要在幾度,收起探針應(yīng)該要幾度。假設(shè)找出來的度數(shù)分別是165度跟60度。
將找出來的度數(shù)填回"SERVO_ENDSTOP_ANGLES"。然后重新燒錄Marlin。
測量探針與擠出頭的相對位置

在打印臺中央做個小記號,然后移動擠出頭的位置,讓擠出頭正好碰觸記號。
用G code "G92 X0 Y0 Z0"讓 Marlin 把現(xiàn)在位置當(dāng)作原點。
用G code "G1 Z30" 把Z軸抬高。
用M code "M401",讓伺服馬達移動到探測的位置。
用控制軟體移動XY軸,讓探針接觸點在記號的正上方(這個步驟不必非常精確,位置大概對就好)。
用控制軟體,讓Z軸每次下降0.1mm,并檢查探針是否被觸發(fā)?梢杂肕 code "M119"來確認(rèn)是否觸發(fā)。這個步驟必須非常精確,要測量到探針剛好被觸發(fā)時Z軸的高度。
觸發(fā)后,使用M code "M114"讀回目前XYZ座標(biāo)。(如果有LCD,可以直接參考LCD上的數(shù)據(jù)。控制軟體上的XYZ座標(biāo)會有錯誤,請不要參考。)
讀出來的座標(biāo),乘以負一之后填入設(shè)定檔。假設(shè)M114讀回來的座標(biāo)是 X:24.3 Y:-31.4 Z:5.1,則在設(shè)定檔中,找到以下這三行,并且把數(shù)值如下填好。

#define X_PROBE_OFFSET_FROM_EXTRUDER -24.3
#define Y_PROBE_OFFSET_FROM_EXTRUDER 31.4
#define Z_PROBE_OFFSET_FROM_EXTRUDER -5.1

設(shè)定測量位置


這四個參數(shù)用來設(shè)定測量面的邊界,請依照機器XY工作范圍的邊界做縮減后,填入設(shè)定檔。如果手邊的機器是 Prusa i3,可以直接使用以下的數(shù)據(jù)。

#define LEFT_PROBE_BED_POSITION 30
#define RIGHT_PROBE_BED_POSITION 140
#define BACK_PROBE_BED_POSITION 140
#define FRONT_PROBE_BED_POSITION 30


測量過程中XY軸移動的速度,單位是mm/min,建議用預(yù)設(shè)值就好。

#define XY_TRAVEL_SPEED 6000


探測前抬高Z軸,避免探測腳與平臺相撞?梢韵仍O(shè)到50mm。如果有把握不會撞到,再回來改。

#define Z_RAISE_BEFORE_PROBING 10


探測過程中抬高Z軸。如果平臺沒有傾斜得狠厲害,探測過程中應(yīng)該是不會撞到平臺的。用預(yù)設(shè)值就狠安全了。

#define Z_RAISE_BETWEEN_PROBINGS 10

最后燒錄


相關(guān)設(shè)定都完成了,再燒錄一次Marlin,機器就具備平臺自動補正的功能了!
G-code Prefix修改


機器只會照著Gcode的指令工作,一般切片軟體產(chǎn)生出來的G code,并不會通知機器要做平臺自動補正。如果沒有加上自動補正的命令稿在 G code Prefix裡面,那就沒辦法享受到自動補正的功能,甚至還會造成機器的傷害。千萬要小心、耐心做好以下的步驟。

KISSlicer

M104 S2 開始加熱擠出頭
G92 Z02  目前的Z位置設(shè)為原點
G1 Z102  Z向上移10mm,避免探針放下時發(fā)生碰撞。
G28 Y2   Y軸歸零
G28 X2   X軸歸零
G1 X100 Y100 F60002  擠出頭位移到平臺中心
M4012  放下探針
G28 z2  Z軸歸零
G292  平臺補正偵測
G1 Z5 F3000 2 抬高Z軸
M109 S2  等待溫度到達工作溫度
M822   E軸使用絕對座標(biāo)





Slic3r

M104 S[first_layer_temperature]2 開始加熱擠出頭
G92 Z02  目前的Z位置設(shè)為原點
G1 Z102  Z向上移10mm,避免探針放下時發(fā)生碰撞。
G28 Y2   Y軸歸零
G28 X2   X軸歸零
G1 X100 Y100 F60002  擠出頭位移到平臺中心
M4012  放下探針
G28 z2  Z軸歸零
G292  平臺補正偵測
G1 Z5 F3000 2 抬高Z軸
M109 S[first_layer_temperature]2  等待溫度到達工作溫度
M822   E軸使用絕對座標(biāo)





修改好之后重新做切片,就可以開始測試平臺自動補正的功能了。
實際使用時Z軸高度可能還是會有些誤差,需要回頭微調(diào) Marlin 中的 Z_PROBE_OFFSET_FROM_EXTRUDER 參數(shù)。

參考資料

https://github.com/ErikZalm/Marlin
http://reprap.org/wiki/RAMPS_1.4
http://kisslicer.com/
http://slic3r.org/
回復(fù)

使用道具 舉報

推動3D打印

關(guān)注南極熊

通知

聯(lián)系QQ/微信9:00-16:00

392908259

南極熊3D打印網(wǎng)

致力于推動3D打印產(chǎn)業(yè)發(fā)展

Copyright © 2024 南極熊 By 3D打印 ( 京ICP備14042416號-1 ) 京公網(wǎng)安備11010802043351
快速回復(fù) 返回列表 返回頂部