2015年2月15日 星期日

Prusa i3 3D 印表機 DIY 心得

這篇是我的 3D 印表機製作筆記,也是當初在做功課時網路上比較不是那麼直接容易查到的資料。另外也針對我的機器和標準 Prusa i3 不同處做了記錄。這裏不說明硬體組裝及軟體安裝細節,網路上已經太多類似資料了,本文主要補足組裝完成後如何啟動及注意事項,偏向軟硬體觀念釐清。

1.軟體

首先,一開始對 3D 印表機還迷迷糊糊時,做功課看別人的裝機報告,到最後都說要下載 Slic3r、Repitier-Host、Cura.......等軟體,這些是做什麼用的呢? 還有,我要怎樣做出我想要的 3D 物件並列印出來呢?請看下圖流程:


從最左邊,你想要做的 3D 物件,必須經由 CAD 軟體來繪製,例如最容易獲得的免費軟體 -- Google SketchUp,在電腦中畫出想要的 3D 圖型,然後產生 STL 檔案,這是 3D 列印的標準檔案格式,不管你用什麼 CAD 軟體最後都要轉成 STL 檔案。


這是當初我以 SketchUp 繪製的正切唱臂部分零件


CAD 軟體從免費到非常貴的都有,如果要畫出非常細緻複雜的東西,免費軟體可能不太夠用。像我只會畫簡單的零件圖型,Google Sketch up 已經非常好用了。當然網路上有許許多多現成的 STL 檔可以下載,尤其是線條繁複的藝術品,對我來說還是用下載的好了別自找麻煩畫了。

當你已經有 STL 檔案後就要把它餵進 CAM 軟體,CAM 的作用是將 STL 物件轉成可以驅動印表機的機械碼。先加以切片並把每一片都轉成印表機看的懂的 G-Code, 因為印表機是一層層印上去的,你的印表機印一層是多厚,CAM 就根據這個計算 3D 物件要切成幾層,再送 G-Code 進印表機。當然,如果要重複印一樣的東西,可以把 G-code 存檔,下次直接把 G-code 送進印表機就好了,不必再轉檔轉來轉去。









其中,Repetier-Host 這個 CAM 有"手動控制"這項功能,這在 3D 印表機剛裝好時非常好用,可以用來試驗 X, Y, Z 及擠出頭的方向及移動距離是否正確。













2. 硬體及韌體

OK, 現在對軟體大概有個譜了,接下來要開始弄硬體了。當零件全部弄齊之後迫不及待把機架按說明組好後開始要弄電子部分,首先把 Arduino 和 RAMPS 1.4 兩片主板結合後鎖上機架,接下來所有的馬達、風扇、開關等全部都是接在 RAMPS 1.4 上,因此要搞清楚每一個接頭的定義:


要接上 X, Y, Z 軸步進馬達時,突然....誰是X,誰是Y,誰是Z啊?原來是:


很基本的東西別搞錯啊!XYZ End-stop 限位開關也是一樣的軸向,而且是插在 min 的位置,因為這幾個開關是各軸的 0 偵測點。線都接好後可再三檢查是否接錯,多點細心少點以後的麻煩。步進馬達的四條線先接上,之後通電開機後再測試馬達轉向是否正確,錯的話把四條線的接頭反過來接即可。
其中 RAMP 1.4 左邊藍色接頭中間有個風扇輸出,是接冷卻印出物品的風扇,不是接擠出頭的散熱風扇,擠出頭的散熱風扇是直接接12V,只要開機就要持續轉,千萬不要接錯了。

該接的接該鎖的鎖,一切就緒後要開始下載印表機的 Arduino 韌體了,這韌體叫做 Marlin,下載後請參照本部落格"建構一台 MultiWii 多軸飛行器(三)"一文所述之 Arduino 操作方法先修改 Configuration.h 再 Upload 韌體進到板子裏去。
Configuration.h 要修改哪裡呢?在這個部落格文章從組裝到韌體都有不錯的介紹,甚至提供改好的懶人包韌體下載,只要直接下載即可用於 Prusa i3,請大家去看看。

因為我買這套零件,賣家已經將韌體灌好所以我不需要做這韌體的步驟了,事實上我也不敢輕易重灌韌體,因為這套機器有些零件並不是 Prusa i3 所使用的標準零件,如:擠出機及Z軸螺桿,是和標準機型是不同的。這兩個元件會影響到 Configuration.h 所要修改的值。而已經灌進板子內的韌體是無法讀回來再去看到 Configuration.h 內的值,除非賣家會給原始檔。幸好,從 LCD 控制面板內可以看到一些東西。

LCD 控制面板上有一個可以按也可以轉的旋鈕,操做它讓它進入 Control --> Motion  --> 再一直往下轉就可以看到這個畫面:


這就是這台機器每一個步進馬達每走 1mm 需要幾步,對應到 Configuration.h 就是這條:

#define DEFAULT_AXIS_STEPS_PER_UNIT   {X,Y,Z,E}

標準 Pursa i3 的值是: {80,80,4000,750};比對之下果然這台機器 X,Y 一樣是 80,Z 和 E(擠出機 Extruder)則變成了 398.2 和 94.4,趕快記下來,萬一以後要重灌韌體時別忘了這條和標準機型不同。

這裏有個好用的計算器,輸入步進馬達,螺桿或皮帶規格就可算出每走 1mm 需要幾步。其中 Driver microstepping 是馬達驅動電路可以做到幾分之幾的"微步",在 RAMPS 1.4 上每個馬達驅動模組下方有 3個 Jumper, 三個全插上就是 1/16 微步。

機器終於裝好之後還要做些什麼才能開始列印呢?

3. 調整:


3.1 調整X,Y限位開關:

X,Y 軸的限位開關調整比較容易,只要歸零時擠出頭不要超出熱床或撞到熱床螺絲即可。
先不要上電,用雙手同步轉動兩隻 Z軸螺桿,直到擠出頭很接近熱床。再用電表歐姆檔量X 或 Y 軸限位開關接腳,用手移慢慢移動 X 軸擠出頭或 Y 軸熱床使往開關接近,直到電表顯示開關導通為止,看擠出頭尖端位置是否在熱床之內,會不會撞到熱床的固定螺絲,不對的話就調整X,Y 軸的限位開關位置直到 OK。


X,Y 軸歸零時,擠出頭尖端在熱床之內且不會撞到熱床的固定螺絲

3.2 調整 Z 軸高度及水平:

Z 軸與熱床之間的距離調整比較麻煩也需要比較精細調整 。
維持擠出頭在 X,Y 軸歸零的位置,用電表歐姆檔量 Z 軸限位開關接腳,繼續用雙手同步轉動兩隻 Z軸螺桿使電表顯示 Z 軸開關導通為止,此即為三軸歸零的位置。調整 Z 軸限位開關的位置,讓擠出頭的尖端差不多剛好碰到熱床但沒有碰到大約距離一張名片的距離。可用熱床上的彈簧螺絲來微調這一點點的距離。



接下來再用雙手把 Z 軸稍微調高一些,用游標卡尺量 Z 軸兩邊的高度是否一樣,調兩邊的 Z 軸螺桿使Z 軸兩邊的高度一樣,之後就不要再用手去轉  Z 軸了。

3.3 上電了!

終於要通電了,興奮吧!通電後可以聽到擠出頭風扇轉動聲,LCD 應該也要亮起來且有文字訊息。現在利用 LCD 控制面板來做基本的電氣測試。
從主畫面進入 Prepare  --> Move Axis --> Move 1mm 後,XYZ每一個軸向都試著移動看看,數字正越多應該要越遠離限位開關,數字越少或負數應該要靠近離限位開關,如果方向不對趕快把馬達線反過來接即可,直到三軸方向都對了為止。但一直往負數轉好像也沒辦法真的碰到限位開關?這是因為還沒做歸零的動作,在歸零之前是以擠出頭開機時的位置為零點。
現在可以歸零了,切記!做歸零動作前一定要確認馬達方向正確,否則歸零一按下去馬達會在錯誤的邊界不斷的卡住硬轉,只能趕快拔插頭了!
LCD 從主畫面進入 Prepare  --> Auto Home,一按下去後就看到 XYZ 三軸分別往限位開關移動直到碰到為止,到了之後它可能是再確認一次,所以會看到擠出頭會反彈一點再歸位。

接下來,把 PLA 線材裝入擠出機吧!裝的時後注意線材從進入孔到擠出頭的長度,線材塞入就差不多是這個長度,初入門者最容易犯的錯就是線材只到擠出軸,因為塞到這裡會稍微卡卡就以為到了,所以塞之前先看一下線材進入長度這點很重要。

再來一樣從 LCD 控制面板主畫面進入 Prepare  --> Preheat PLA 按下後跳回主畫面,可以看到擠出頭及熱床溫度一直上升。當溫度到達設定點,再按 Prepare  --> Move Axis --> Move 0.1mm --> Extruder 後就轉看看你要擠入 PLA 線材多少 mm 到擠出頭, 看 E 軸馬達轉向是否正確,一樣正數越多擠出越多,反向的話則會把線材抽回。注意, E 軸馬達只有在擠出頭溫度足夠時才會動,因為冷卻凝固的線材會卡住馬達,這是一個保護機制。

到此,恭喜你的機器幾乎完成了!

3.4 安裝 CAM 並連接電腦

現在 X,Y,Z  軸的方向及限位開關都調整好了,Z 軸水平也調了,E 軸也會動了;現在起盡量不要用手移動 X,Y,Z  軸了。再來要安裝前面所說的 Repetier-Host 並完成設定,連接電腦並連線,之後都以電腦下命令的方式來移動。進入手動模式,按各軸方向鍵使之移動,馬達移動方向應該和電腦內的按鍵方向一致,若不對應看看印表機是否放反了@_@!如前圖擠出機應面向你才對。現在按下房子的圖示,就會歸零,房子上沒有寫 XYZ 的那個就是三軸自動歸零。

再次恭喜你的機器連線電腦也完成了,距離成功再跨進一步。

3.5 調整熱床水平

現在要做很重要的事就是調熱床水平了,這關乎到你印出件第一層的品質,而第一層如同建築物的地基,地基不好影響到整個成品的好壞。

首先在 Repetier-Host 手動模式下將三軸歸零,這一點剛才調 Z 軸高度時已經調好,就是擠出頭尖端和熱床距離約一張名片的厚度,接下來按 X 軸使移動 200mm 到熱床的另一邊,調熱床的彈簧螺絲一樣使擠出頭尖端和熱床距離約一張名片的厚度,再來移動 Y 軸 200mm 再到另一端調這點的距離,直到熱床邊界四點及中心點(X:100mm, Y:100mm)都調平了為止,很有可能調過這點後另外一點又要再重調一次,因此要反覆調整。這是最辛苦的調整。

其實這些辛苦都不算什麼,最麻煩的是在這麼細微的距離中移動 X,Y 軸時會發現,熱床並不是真正平面,不管怎麼調邊邊和中間就是會起伏,如果是這樣還是以中心點為優先,邊邊可以誤差大一點,因為列印時物件大都是放在中間。當然如果起伏過大那還是換掉床板吧!像我這台,賣家附的床板是鋁片而不是玻璃片,我想鋁雖然導熱比玻璃好,但平面起伏應該還是玻璃比較佳,以後再換成玻璃的試看看。

到此機器已經完成,可以印出東西看看了!

3.6 試列印

第一次試印建議不要印太複雜的東西,我是從網路下載一個方塊,選一個你所要用的 CAM 軟體 Slic3r、Repitier-Host、Cura.... 都可以,但因為之前已經安裝好了 Repitier-Host 那就先用這個吧(後來摸熟了這些軟體才發現 Repitier-Host 還真只是個 Host,它的切片功能是呼叫 Slic3r 或 Cura 或其它程式)!載入 STL 檔,然後按產生代碼讓它開始切片並產生 G-code, 這可能需要一些時間,然後按下三角形的"運行任務",哈哈!開始印了。

如果第一層有鋪不滿,膠條之間空隙大的情形,可能要再把擠出頭更靠近熱床一點,或設定軟體使增加第一層的擠出量。如果有的地方密有的地方鬆,那就是熱床不夠水平囉!繼續努力調整改善吧!

列印成功後迫不及待要印出的東西如下,都是這台印表機的零件讓它更完善:


熱床水平調整鈕,這樣就不用每次調整都要用工具了,直接手轉即可。



用 SketchUp 畫的線材中心轉軸,壓克力架是印表機附的,還不錯。


LCD 面版


印表機終於比較像樣了!

4. 規格筆記

我把以下這些資料記錄下來,以方便將來燒錄韌體或使用各種 CAM 軟體所需的設定,大家不妨學我把自己的機器規格搞清楚並且記錄下來。

硬體/韌體:

1. 步進馬達一步 1.8度,轉一圈 200 步
2. RAMPS 1.4 馬達驅動 Jumper 三個全上為 1/16 微步
3. X,Y軸使用皮帶 Pitch 2.0mm, 馬達軸使用 20 齒,計算起來每走 1mm 需 80 步。
4. Z 軸為 398.2 steps/mm(這是我的機器值,你的不一樣),反推回去螺桿的 Pitch 應為 8.0361mm
5. E 軸為 94.4 steps/mm(這是我的機器值,你的不一樣)
6. 4988步進馬達驅動板 Rs = 0.1ohm, 1A 之 Vref = 1.43V; 0.7A 之 Vref = 1.0V

CAM 軟體常用到的資料:

1. 連線 Bit rate 設 115200
2. 擠出頭出孔直徑:0.4mm
3. 膠條線材直徑: 1.75mm
4. PLA 溫度在 180-210℃,加熱板的溫度為50℃,不可超過 80℃,需搭配風扇。
5. ABS 溫度在 220-250℃ 之間,加熱板的溫度為90~110℃以上。風扇非必須。
6. 列印範圍:長200mm, 寬200mm, 高165mm(因為擠出機結構不同,噴嘴較低的關係)
7. 列印層高:0.1mm ~ 0.3mm

NYLON 線材使用注意事項
1. 溫度:230C - 265C
2. 速度:當層高大於噴嘴 50% 時,應降低速度 10% - 20%
3. 抽回:因 NYLON 黏度稍高,故抽回長度要稍增加。
4. 擠出線含有過多泡泡表示溫度設定過高
5. 溫度低於 238C 會導致透明度降低,當層高大於噴嘴 25% 時,層間黏合度會不佳
6. 收縮度及熱床作用與 ABS 相當。


[下一篇]



2015年2月8日 星期日

DIY 極致之路 -- 3D 印表機

在上次製做 正切唱臂 時,有部分零件尋找到代客 3D 列印的廠商來製做,即感到 3D 列印技術真是 DIYer 所追求之極致,有了這項技術幾乎解決掉 90% 以上 DIY 所需的零件問題,剩下 10% 是材質問題,只有無法用塑料取代的零件才不能用 3D 列印出來。但我相信不久將來 3D 印表機一定可以印出各種不同材質出來。

3D 列印技術其實很早就已開始發展,只是最近一兩年才突然大量個人化、小型化的印表機出現,到今天 3D 印表機更出現了 Open Source 的機種,也就是一群網路同好分享出自己的研究成果,一台完整的 3D 印表機竟然大辣辣的完全分享給所有網友自製。既然如此,有這樣好康何不自己弄出一台 3D 印表機來,依上次外包列印的經驗,只要多印幾個零件成本應該就回來了。

有一個 3D 印表機的 Open Source 組織叫 Reprap 他們已經提供了完整的資料,只要按圖索驥就能自造出一台 3D 印表機來。他的心臟不用說就是使用另一個 Open Source 組織 -- Arduino 的MCU 控制板,也就是我之前做四軸飛行器的 MCU 控制板。當然還需要電子、電機、機械等零件及韌體,這些資料都請去 Reprap 官網去找。這裏介紹幾個不錯的網站,有助於組裝及使用上的了解:

1. Reprap 官網    如果懂英文,這當然是一定要去的。
2. 3D印表機 DIY 建構筆記
3. 3D Printer DIY

雖然資料都已經完全 Open 給你,但要搜集尋找一整台完整的零件可真是大工程,而且 Reprap 的特色是其中有不少零件是用 3D 列印出來的,帥吧? 3D 印表機自己印出自己的零件,好像科幻電影機器人自己製造機器人大軍一樣的情節已經真實上演了!不過這也表示這些零件除了再請人代客 3D 列印之外是不可能找的到的。

所幸生意人動作都很快,網路上已經有人幫你把所有零件打包好甚至 Arduino 的韌體也幫你 Upload 好了,一整套買回家只要轉螺絲玩組合遊戲即可。於是我也買了一套 Reprap 的其中一機種,叫 Prusa i3 的零件包回家。






望穿秋水,終於等到快遞送來一個大箱,乖乖,還真不小一箱。











裏面包裝得滿用心,一層層軟保力龍發泡包材將零件一個個擺的非常整齊。







上面的塑膠件都是列印出來的。

取出零件就開始組合吧!關於組裝請參考前面介紹的網站,而且我發覺賣零件包的商家多少都有做些小修改,所以亦可參考商家自己的說明就好了,這裡就不再詳述組裝細節了。




先把壓克力立座及步進馬達裝起來






再把底座及步進馬達裝起來,壓克力底板上裝有三顆線性軸承,從上次製做 正切唱臂 跟這次組裝 3D 印表機終於證實,線性軸承實在沒有想像的那麼理想滑順。不過這裏要求沒有像唱臂那麼嚴格,因為有步進馬達在驅動,噪音也不是重點所以用的都是中國製軸承。



總算把機構部分裝好了,剩下電子部分,一堆電線看起來很恐怖。這是因為供應商很誠意的把所有元件,如馬達、風扇、擠出頭、開關等都把接線連好了。


不過接線的方式卻非常的"中國風"這一看就是對岸來的東西,電線不夠長竟然是用"電火布"對接,當場臉上三條線......



於是把控制板:Arduino Mega 2560 + Ramps 1.4 固定好在壓克力機架上後,開始整線並調整線的長度,及把"電火布"改成熱縮套管吧!

經過一番整線處理,終於把整台機器完成了!


其實 3D 印表機的硬體 DIY 實在不難,尤其是像這樣買整套的,他連韌體都幫你灌好了,所以 Arduino 的部分也暫時(也許完全)不需要管它了。
不過究竟不是一台成品,還是要做些功課,真正的功力也就在此,搞清楚一些眉眉角角才能印出好東西出來,本篇先大略介紹我的 3D 印表機,下一篇再介紹 3D 印表機的一些技術觀念。



啊~!印表機會動了!第一次印出一顆方糖,感動到飆淚!


[下一篇]                     [回工具系列 文章列表]               [回 Audio Technique 部落格]