3D打印機(jī)G-M代碼詳解.doc

3D打印機(jī)G-M代碼詳解.doc

ID:20493679

大?。?8.68 KB

頁數(shù):12頁

時(shí)間:2018-10-10

3D打印機(jī)G-M代碼詳解.doc_第1頁
3D打印機(jī)G-M代碼詳解.doc_第2頁
3D打印機(jī)G-M代碼詳解.doc_第3頁
3D打印機(jī)G-M代碼詳解.doc_第4頁
3D打印機(jī)G-M代碼詳解.doc_第5頁
資源描述:

《3D打印機(jī)G-M代碼詳解.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、G-M指令詳解概述眾所周知,3D打印機(jī)執(zhí)行的是一堆指令,這一堆指令都來源于一個(gè)指令集,即G-M指令集。而固件就負(fù)責(zé)解釋這些指令,并將命令指派給電子原件,從而完成打印任務(wù)。因此,固件和指令集必須相互配合,否則打印機(jī)不會(huì)正常工作。開源的3D打印機(jī)使用的固件多種多樣,但和這些固件匹配的指令集絕大多數(shù)指令都相同,即RepRapG-M指令集。由于Marlin固件使用的最為廣泛,筆者就以Marlin固件的指令集為例作敘述。了解G-M指令有什么用?這用處可大了。幫助使用者更方便地調(diào)試打印機(jī),檢測(cè)打印機(jī)的問題,擴(kuò)展打印機(jī)菜單功能…反正好處多多,不管你信不信,反正我是信了。廢話不多說,進(jìn)入

2、正題。G-M指令集就是一些以G或M開頭的代碼,有時(shí)候還會(huì)摻雜一些以其其他字母以標(biāo)示參數(shù)意義,比如T、S、F、P等。具體意義見下表,表中nnn表示數(shù)字。字母意義Gnnn標(biāo)準(zhǔn)GCode命令,例如移動(dòng)到一個(gè)坐標(biāo)點(diǎn)。MnnnRepRap定義的命令,例如打開一個(gè)冷卻風(fēng)扇Tnnn選擇工具代碼。在RepRap中,工具通常是擠出頭(extruder)。Snnn命令參數(shù),例如馬達(dá)的電壓。Pnnn命令參數(shù),頻率:1次每毫秒。XnnnX坐標(biāo),通常用于移動(dòng)命令。YnnnY坐標(biāo),通常用于移動(dòng)命令。ZnnnZ坐標(biāo),通常用于移動(dòng)命令。Ennn擠出長度,用于控制擠出線材的長度.Innn參數(shù)-現(xiàn)在仍未使用

3、(定義)。Jnnn參數(shù)-現(xiàn)在仍未使用(定義)。Fnnn打印頭移動(dòng)速度單位:毫米每分鐘Rnnn參數(shù)-溫度相關(guān)。Qnnn參數(shù)-現(xiàn)在仍未使用(定義)。Nnnn行碼,在發(fā)送錯(cuò)誤情況后,用來重復(fù)輸入某行代碼(命令)。*nnn校驗(yàn)碼(Checksum).用于檢測(cè)通信錯(cuò)誤因此,能夠被Marlin固件識(shí)別的代碼應(yīng)該是像下面的樣子:N3T0*57N4G92E0*67N5G28*22N6G1F1500.0*82N7G1X2.0Y2.0F3000.0*85N8G1X3.0Y3.0*3312詳解注釋G-Code一行中分號(hào)“;”后面的內(nèi)容為解釋性語句,即注釋。固件會(huì)忽略其內(nèi)容。為了減少通信量,可以

4、把注釋信息都去掉。N3T0*57;這是一條注釋N4G92E0*67;這也是N5G28*22標(biāo)記代碼intcs=0;for(i=0;cmd[i]!='*'&&cmd[i]!=NULL;i++)cs=cs^cmd[i];cs&=0xff;//Defensiveprogramming...N和*,比如N123[...GCode寫在這里...]*71。這是行碼和標(biāo)記碼。RepRap的固件會(huì)以一個(gè)本地計(jì)算的值來對(duì)比標(biāo)記碼,如果兩者值不同,就會(huì)要求重復(fù)輸入該條指令。行碼和檢查碼都可以去掉,RepRap仍會(huì)工作,但它不會(huì)做檢查。你必須同時(shí)使用,或同時(shí)放棄使用。檢查碼cs是通過對(duì)對(duì)應(yīng)的指

5、令(包括它的的行碼)的原始字節(jié)數(shù)據(jù)進(jìn)行異或位運(yùn)算得出的。檢查碼cs的值即是其*符號(hào)右邊的十進(jìn)制數(shù)字,RepRap固件希望每次命令的行代碼都是逐次增加1的大小,不然的話,它會(huì)返回一個(gè)錯(cuò)誤。當(dāng)然你也可以發(fā)送一個(gè)M110命令(詳情請(qǐng)看下面)強(qiáng)行重置機(jī)器。行碼和檢查碼是為了減少信號(hào)干擾。延時(shí)G命令RepRap固件接收到這些指令后,會(huì)先存儲(chǔ)在一個(gè)循環(huán)隊(duì)列緩存里再執(zhí)行。這意味著固件在接收到一條指令后馬上可以傳輸下一條。這也意味著一組線段可以沒有間斷的情況下連續(xù)打印。為了實(shí)現(xiàn)指令流的控制,當(dāng)接受到可緩存的指令時(shí),如果固件把它成功放到本地緩存里,就立即給出應(yīng)答,如果本地緩存已滿,則會(huì)延時(shí)

6、等到緩存有空出的位置時(shí),才給出應(yīng)答,然后才可以傳輸指令。G0:Rapidmove快速移動(dòng)比如G0X10Y20,如果使用絕對(duì)定位的話,就命令打印機(jī)噴頭快速移動(dòng)到X=10,Y=20的位置。G0指令不能包含擠絲參數(shù),只能包含X、Y、Z參數(shù),即所謂的空駛動(dòng)作。12G1:Controlledmove可控移動(dòng)比如G1X10Y20E2.4,G1指令中可以包含擠絲動(dòng)作。Marlin會(huì)嘗試從每一行指令中讀取速度值,然后再移動(dòng)開始之前加速或減速到這個(gè)速度值,然后執(zhí)行移動(dòng)指令,而不會(huì)在移動(dòng)過程中改變速度。下面的幾句指令告訴打印機(jī)速度先從當(dāng)前的1500加速到3000,執(zhí)行第二句的移動(dòng)動(dòng)作,然后再

7、減速到1500,再執(zhí)行第三句的移動(dòng)動(dòng)作。G1F1500G1X90.6Y13.8E22.4F3000G1X80Y20E36F1500如果E軸坐標(biāo)采用絕對(duì)定位的話,而當(dāng)前行中的E坐標(biāo)值小于上一個(gè)E坐標(biāo)值,那么打印機(jī)就會(huì)回抽,這可以有效防止毛刺現(xiàn)象。G2:ControlledMoveArcClockwise可控順時(shí)針圓弧移動(dòng)比如G2X100Y100I50J60E30,表示從當(dāng)前點(diǎn)通過一個(gè)順時(shí)針圓弧線移動(dòng)到(100,100)位置,該圓弧的圓心的位置是當(dāng)前點(diǎn)坐標(biāo)平移(50,60)得到的位置,在此過程中還可以控制擠絲動(dòng)作。G3:Contr

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。