網頁

3D列印完成時自動退出加熱床

當我的3D印表機列印完成後,都要自己手動把加熱床拖出來,那感覺很沒有儀式感,因此我要在切片軟體中新增一些指令,讓它列印完成後能自己退出來。我是使用Prusa i3加上slic3r切片軟體進行3D列印的,因此我要進行以下的設定。

以下是我從切片軟體產生Gcode分別節錄開頭跟結尾的部分
G21 ; set units to millimeters//設定單位是公制
M107 //關閉風扇
M190 S50 ; wait for bed temperature to be reached //等熱床溫度到50度
M104 S180 ; set temperature //設定擠出頭溫度
G28 ; home all axes //移動到原點
G1 Z5 F5000 ; lift nozzle //提高擠出頭
M109 S180 ; wait for temperature to be reached //等擠出機溫度到180度再開始工作
G90 ; use absolute coordinates //使用絕對座標
G92 E0
M82 ; use absolute distances for extrusion //使用絕對座標擠出
G1 F1800.000 E-1.00000
G92 E0
G1 Z0.200 F6000.000
G1 X57.700 Y78.593 F6000.000
 
中間省略~~ 
G1 X65.564 Y91.538 E2.65031 F747.404
G1 F1800.000 E1.65031
G92 E0
M107
M104 S0 ; turn off temperature //關閉擠出頭加熱(設定為0度)
G28 X0 ; home X axis //X軸回歸原點
M84 ; disable motors //關閉馬達

大家有沒有發現在程式碼的最後,只有關閉擠出頭、X軸回歸原點以及關閉步進馬達,程式碼中並沒有設定到加熱床(Y軸)要退出來或回歸原點的設定。

因此為了要讓加熱床漂亮的滑出來增添儀式感,我們要在slic3r切片軟體內做一些設定。在slic3r→Printer Settings→Custom G-code的頁面中,它允許在切片軟體轉成G-code的時候添加一些程式碼。

【slic3r→Printer Settings→Custom G-code】


Start G-code:插入在列印程式碼一開始
End G-code:插入在列印程式碼結束後
Layer change G-code:在每次Z軸提高後插入程式碼
Tool change G-code:在每一次擠出頭改變作動時加入

Layer change和Tool change我沒試過,不過我們的重點是在End G-code的部分,在列印結束後執行加熱床退出的動作。

因此我們可以在End G-code裡面加入一行G1 Y180(我的熱床Y180剛好是推到最外面的位置),不過記得要加在M84之前,不然下了步進馬達關閉的指令後又要它移動可不對,所以我將程式碼修改為下圖。



如此一來當列印完畢時,加熱床就會自己退出來了,如此一來增添了許多的儀式感。



對3D印表機的G-code有興趣的,可以參考這個頁面:RepRapWiki_G-code說明頁

而我為了讓速度快一點,就把XY的移動指令給進行合併,不然要等X軸跑完才會跑Y軸。
G28 X0
G1 Y180

合併為

G1 X0 Y180

如此一來當列印完成後,XY軸就會同時跑到定位了,如果有其它想要加入的功能,也可以多多嘗試看看。