全方位揭秘控制3D打印機打印運動的G代碼

dy1993   2017-08-10 16:57:39

關(guān)于G代碼

G代碼代表“幾何碼”。它的主要功能是指導機器頭如何在3個維度上幾何移動。不過,它也可以指示機器做非幾何的東西。例如,G代碼可以命令3D打印機用指定的擠出速度擠壓材料或改變其床溫。

從專業(yè)術(shù)語角度,G代碼是一種數(shù)控編程語言。對于那些知道如何編程的人來說,G代碼是一種簡單的編程語言。這是最基本的代碼,沒有先進的結(jié)構(gòu)比如可變因素、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

對于那些不知道如何編程的人來說,我們可以認為是將G代碼作為指令的順序線。每行告訴3D打印機做一個特定的任務(wù)。3D打印機一行一行地執(zhí)行,直到它結(jié)束。

G代碼的組成結(jié)構(gòu)

大多數(shù)的G代碼程序包含三個重要部分。第一部分打印過程中初始化打印機。第二部分指示打印機打印模型。第三部分在打印完成后將打印機重置為默認配置。具體如下:

1、初始階段

在打印開始之前需要執(zhí)行某些任務(wù)。例如,我們需要加熱打印床,加熱擠出機,清洗噴嘴,將噴嘴移動到起始位置等。這些任務(wù)是所有程序的第一部分。

這是一個實際的3D打印任務(wù)的前五行的初始化代碼:

第一行將坐標設(shè)置為絕對坐標。第二行設(shè)置擠出機的擠出率為絕對值。第三行打開風扇,但設(shè)置速度為0,這基本上意味著風扇關(guān)閉。第四行設(shè)置床溫為100度。第五行是指,在這種情況下,打印機等待床溫達到期望值100℃。

在初始化階段,打印機將不會擠壓任何材料,除非它是在清洗噴嘴。這是一個簡單的方法來區(qū)分初始化階段停止和實際打印開始。在實際的打印過程中,打印機幾乎每一步都在擠出材料。

2、打印階段

3D打印機逐層打印模型。像simplify3d或Cura這類的切片軟件通常將三維模型分成多個水平層,堆疊在彼此的頂部來完成最終的打印。

因此,打印階段包括在X-Y平面移動(印刷一層),然后在Z方向移動(移動到下一層)隨后在X Y平面再移動(打印下一層)。具體如下:

3、重置打印機

最后,當打印結(jié)束時,最后的一些G代碼行會將打印機重置到默認狀態(tài)。例如,噴嘴回到原點,加熱關(guān)閉(無論是熱床或是擠出機)和電機禁用。


教你看懂G代碼

當屏幕上布滿著密密麻麻的G代碼時,乍一看還蠻令人頭暈目眩的。但當你一行一行細細地去思考時,會發(fā)現(xiàn)這些代碼還是挺簡單的。如:

這一行告訴3D打印機向目的地直線移動,目的地坐標x = 9.2,y=-5.42,和Z = 0.5,進給速度為3000。

那么我們應該如何理解呢?其實G代碼的每一行以命令開頭。在這個例子中,命令是G1,而命令后面出現(xiàn)的代碼段稱為參數(shù),這意味著“以受控的方式直線運動”。

每個參數(shù)告訴3D打印機如何執(zhí)行命令。參數(shù)以英文字母開頭,然后指定一個值。例如,X-9.2意味著終點X坐標- 9.2。F3000.0意味著進給速度(F)是3000。E0.0377意味著擠出率(E)是0.0377。

從字母G開始的命令是幾何命令,它們告訴3D打印機頭如何移動,但這顯然不足以控制3D打印機的所有方面。如果你需要告訴3D打印機關(guān)掉電機或提高床溫呢?對于這些非幾何任務(wù),G代碼的實現(xiàn)還定義了一組以字母M開頭的命令,它們被貼切地稱為M碼。命令M140設(shè)置床溫,命令M190使打印機等待達到目標溫度。

你在G代碼中遇到的每一個英文字母都有特定的意義。例如,G表示幾何命令,M表示非幾何命令,x表示x坐標,y表示y坐標,f表示進給速度等。其實在G-M代碼中有時候還會摻雜一些其它字母標示參數(shù)意義,比如T、S、F、P等,具體意義見下表:

0

3387 0

發(fā)表評論

登陸后參與評論