適用對象 :

  • 不小心對 3dp 產生好奇心的人
  • 想了解 3dp 原理的人
  • 擔心這個又擔心那個 , 想要最好 , 但卻不行動的人
  • 有耐心的人 因為文太長 XD

我目前也只是一個剛玩沒多久的新手

因為好奇所以跟社團直接購買了一個 prusa i3 的套件 , 省掉一些找料上的時間損失
我的裝機經驗只有 prusa i3 但目前大多數的 3dp 概念都跟 prusa i3 差不多

所以如果你是一個剛剛產生興趣 但還來不及完整了解 3dp 的人
你可以參考看看我的心得分享

大多數的文章 都偏向從 機器開始介紹
但是如果你打算無中生有的自己來
一定會有點不知所措 或是有一大堆的擔心
例如 : 可以用什麼材料? 可以印多大? 可以印多精細? 強度怎麼樣? 3D 軟體難不難?
原因是很多你擔心的問題 必須從原理來討論
而不是機器
先耐著性子 慢慢看完
你會發現 其實 機器不重要
當然第一台還是建議你選用大多數人在玩的機器
避免出事沒人問的冏境

關於3D印表機的書, 可以看這裡

3D印表機自造全書(3D Printer DIY):第一本完全為國內打造的世界級3D印表機DIY聖經!

3D列印無限可能:從打造自己的3D印表機到輸出個性化3D物件

更多關於3D列印的書


3D Printer 工作原理 :

在 wiki 上說得很清楚 目前 wiki : 3D 列印的技術
主要分為
選擇性雷射燒結(selective laser sintering,SLS)
直接金屬雷射燒結(Direct metal laser sintering,DMLS)
熔融沉積式(fused deposition modeling,FDM)
立體平版印刷(stereolithography,SLA)
數位光處理(DLP)
熔絲製造(Fused Filament Fabrication,FFF)
融化壓模式(Melted and Extrusion Modeling,MEM)
分層實體製造(laminated object manufacturing,LOM)
電子束熔化成型(Electron beam melting,EBM)
選擇性熱燒結(Selective heat sintering,SHS)
粉末層噴頭3D列印(en:Powder bed and inkjet head 3d printing,PP)

而 RepRap 的機器目前都是採用 熔融沉積式(fused deposition modeling,FDM)
簡單說就是 把材料加熱到融化的狀態後 將它擠到列印的平面上 逐層的堆疊起來
YouTube : Prusa i3 printing

原理就是這樣的單純

  1. 加熱到材料融化
  2. 吐出來
  3. 1 ~ 2 不斷的循環
  4. 完成

3D Printer 工作路徑 :

如果你有看懂工作的原理 , 緊接著就應該會思考到
要怎樣才能讓機器畫出想要的形狀
目前採用 FDM 的機器 大多採用 G-code 的命令來執行要走的工作路徑 依照 wiki 的資料來說 , G-code 似乎不是 3D Printer 專用的東西 wiki : G-code
G-code 似乎早就被廣泛的應用在各種自動控制的機器當中
而 3D Printer 只是直接採用了這個標準

如何產生 G-code ? :
如果你有認真看過剛剛 wiki 的頁面
你會發現 G-code 所代表的命令有很多是 3D Printer 用不到的指令
例如 : M07 M08 M09 跟 "冷卻液" 有關的命令
所以我們就需要一些專門 替 3D Printer 產生 G-code 的軟體了
目前大家都俗稱這些為 切片軟體 G-code 的流程是這樣

  1. 準備好你的 3D 檔案
    基本上你用任何 3D 軟體都可以 , 因為在進行切片的時候
    切片軟體並不會管你用的是哪一套 3D 軟體
    你只要能夠輸出成切片軟體看得懂的通用格式就可以了
    以圖片來說 就類似 JPG 檔案這樣
  2. 將 3D 檔案轉換成 切片軟體看得懂的格式
    目前我的經驗 比較常用的格式是 STL 檔案
    所以你只須要確定你用的 3D 軟體 可以幫你輸出成 STL 就可以了
    輸出講白一點 就是另存新檔這樣而已
    例如 WORD 另存成 PDF
    中間沒有太多技術的困難度
  3. 將 3D 檔案匯入到切片軟體中
  4. 執行切片
    因為 FDM 的生成原理 是採用 逐層的堆疊的
    所以假設我們1層只能吐出0.2mm的材料
    而你的模型高度是10mm
    那就需要有 50層的路徑
    切片軟體的工作就是幫你把模型 每0.2mm切成一片 並產生這一片需要的工作路徑
  5. 完成並生成 G-code 檔案


產生完的 G-code 可能長這樣 G1 是命令的代碼 後面就是要執行的工作內容
G1 X101.000 Y55.000 E1.003
G1 Z0.5
G1 X0.000 Y0.000 E2.006
翻譯成中文就是
X軸 前進到座標101mm的位置
Y軸 前進到座標55mm的位置
E軸 捲動到 1.003 mm (E軸在 3D Printer 是負責吐材料的)
Z軸 抬高到0.2mm的位置
X軸 前進到座標0mm的位置
Y軸 前進到座標0mm的位置
E軸 捲動到 2.006 mm (E軸在 3D Printer 是負責吐材料的)
若你把這3行丟到 3D Printer 當中 你就可以得到這個只有 0.5 mm 高的 線條模型

就是這樣不斷的 移動 吐料 就能夠完成 3D 列印了

看一看模擬的圖片


所以這邊我想應該能釐清一個概念
我們需要打造一台 可以乖乖執行 G-code 的機器來完成列印
而不是打造一台機器 看看可以用哪一種 G-code
如果你從機器開始思考 你就會不知道 目標是什麼 怎樣動? 怎樣跑?
但從 G-code 開始思考 就很清楚了 , 讓機器能照做就好了

至於 G-code 是怎樣產生的原理
說白了就是一堆數學公式
但那是天才專屬的領域
不是我可以學會的 XD ~ 無法分享

3D 軟體 與 切片 的資源與建議 會放在最下面
現在先別急這一塊 喝口水忍耐一下繼續聽我亂講


3D Printer 步進馬達 移動的控制 與 列印精細度的關係 :

很無奈? 或是很訝異?
3D Printer 的原理其實就這樣子 沒有了...
不過原理本來就是很簡單的東西
困難的部分在於如何實做了 XD

首先我們已經知道 要能夠讓機器 依照 G-code 來運作
我們需要可以控制 X軸 Y軸 Z軸 的移動
和 E軸的吐料 加溫 等等

整個機器架構中 負責讓 X Y Z E 趴趴走的東西
我們叫它 步進馬達 RepRap : Stepper motor
簡單說明它的工作原理就是
給它1次電 它就會轉1次 , 給它10次 它就轉10次
當然原理並沒有那麼簡單 有興趣的話 就 google 吧
步進馬達跟一般常見的馬達如 四驅車用的那種
主要的差別是在 你每一次給它電時 它都會很精準地轉動一個固定的角度
以 prusa i3 的規格來說 是採用 1.8度的步進馬達 並做 1/16 微步進
也就是說 prusa i3 你給一次電 它會旋轉 0.1125 度
如果步進馬達轉一圈 360度 , 代表它動了 3200 步
如果步進馬達轉一圈 360度 , 能夠帶動皮帶移動 能夠帶動皮帶 400mm (40公分) , 代表步進馬達動1步可以只移動移動 0.125 mm

重點來啦 !!
步進馬達的移動單位是 0.125mm , 這就在移動的控制上你的精細度可以到0.125mm長

很多新手很關心 你那台機器可以印多細 它那台機器可以印多細
其實 可以多細的問題 是看你裝的馬達有多變態
市面上是買的到 0.9 度 1/16 微步進的馬達唷!!

但就如強調的文字 這是在移動的控制上的細緻程度
後面還有別的變數 ~ 會引響細緻的程度
所以暫時不需要積極的去尋找變態的馬達 1.8度 的就不錯用了
而另一個重點是 G-code 可以走多遠??
G1 X100000 可以嗎
結論是 可以的
只要你的機器可以移動的範圍有多大 就可以印多大
很多新手關心列印的尺寸問題
尺寸的問題 跟電子零件無關 跟列印程式也無關 跟切片軟體也無關
而是你的機器結構 , 所以你只要讓 你想印多寬 就讓 X的桿子有多寬就可以了
當然 你要考慮結構堅固的問題嚕!!

PS. 我說的 給一次電 是簡單的講法 , 其實並不是真的讓它通電1次
這邊的電也不是直接給步進馬達的電
而是給驅動晶片的一個訊號
prusa i3使用的是 2相的步進馬達 它有2組線圈 , 要完成一次步進轉動其實需要 ... ...
有興趣去查原理吧 我不信我這邊亂講你聽得懂 XD
因為到現在 我也沒有很懂 !!


3D Printer 擠出頭 與 列印精細度的關係 :

我猜想 X Y Z 的移動 透過上面的那個影片 加上 簡單的說明
應該已經很容易做一個想像或是理解了
E (擠出材料)的部分 可能沒看過實機的人會比較難想像

我們回到你每天起床要做的第一件事 刷牙
如果要你在牙刷上漂亮的擠出 1mm 厚的牙膏
你會怎樣做

  1. 保持牙膏根牙刷之間固定的距離
  2. 施加固定的力道擠出牙膏
  3. 緩慢地用固定的速度移動你的牙膏
  4. 完成

沒錯 ~ 你每天都在幹的事情 , 就是 3D Printer 在幫你做的事
再來看一次 X Y Z E 幫你執行的動作

  1. 移動 Z 軸 保持 擠出頭 與列印平台的距離
  2. E軸用固定的速度 推擠線材擠出材料
  3. X Y 軸用固定的速度移動擠出頭
  4. 完成

基本上精細度的部分還是靠 X Y Z E 的步進馬達再控制
但是能擠出的最小量 則是靠擠出頭的孔徑大小
目前常見的線材約是 1.75mm 或是 3mm 的線材
因為材料很硬 所以不可能被擠出來
必須透過擠出頭的加熱 讓它變成熔融的狀態才能被擠出



目前我看過的擠出頭 有0.3 , 0.4 , 0.5mm的
代表在沒有干擾的情況下 , 你擠出的材料的直徑 可以細到 0.3 mm
(當然不可能沒有干擾)

擠出頭的設計很多 , 大多數的問題都在解決 過熱 溢料 卡料 等等長時間列印所發生的物理問題
而不是解決精細度的問題
別騙我 0.3 mm 還不夠你用 = =

很多是有多多?? 這麼多 RepRap : Extruders
我自己目前用的是 RepRap : J Head Nozzle
社群上也有很多人在自己研發 設計
因為我也只用過 J Head , 這邊無法給予更多的心得分享啦


3D Printer 電子控制板 :

了解了執行的過程 和 影響品質的原因
最麻煩的就是 倒底怎樣才能控制阿
這部分就是很麻煩的一堆問題了
畢竟大學就要花4年以上(考慮重修)教你資訊工程
然後教完後也沒幾個人真的寫得出東西
所以這真的是很困難的一個領域

不過好就好在 Open Source 這個瘋狂的概念
一堆天才等級的人們 一堆善良的瘋子
把做好的東西放在網路上 我們只要拿來用就可以了

目前以 Prusa i3 來說 需要用到的電子控制版有

Arduino Mega 2560
這是 3D Printer 的大腦 , 它負責處理你產生的 G-code , 去產生訊號給負責動作的零件
Arduino 也是 Open Source 的資源 , 你心情好也可以自己買零件做一個一樣的 , 官網都有電路圖可以抓
另外一提 ~ 雖然官網上的標價看起來很可怕 , 但在他們國家那是它們的消費水平 並沒有要把你當凱子
你可以在露天 或 光華商場找到其他廠商開發的 , 功能與規格都一模一樣 , 且"應該"都算合法的
當然如果你願意支持原廠 , 購買他們的產品會給它們更多的原力 XD

Ramps 1.4
這是 3D Printer 的??肌肉吧 XD , 它負責接收到大腦送來的訊號 , 然後共給負責動作的零件需要的電力
這個好像沒有官方的版本 , 因為如果你認真看 , 它其實在教你怎樣自己做一張 , 而不是告訴你去哪買

步進馬達驅動晶片
這是 3D Printer 的??我也不知道怎樣講了 XD , 因為步進馬達需要更細膩的工作 Arduino Mega 2560 能力不足 , 所以幫它裝個外掛
印象中如果純粹要讓步進馬達轉 光靠 Arduino Mega 2560 是可以辦到的
但因為 3D Printer 需要的街腳很多 Arduino Mega 2560 不夠用 , 加上需要更細緻的控制而需要 (這行我可能講的是錯的)
目前 Prusa i3 使用的是 A4988 的步進馬達驅動晶片 , X Y Z E 各需要 1 片 , 如果你想要做雙擠出頭 E 就要再多一片

The RepRapDiscount Smart Controller
如果你希望不接電腦就能列印 就另外需要一個 LCD 螢幕 , LCD螢幕野蠻多種的
這種好像比較多人用

不管你的機器長什麼樣子 , 只要是 RepRap 的架構下 用到的電子零件都是一樣的(應該啦 ~ )

電子電路的控制原理 就沒辦法多講了
有興趣的人可以去查詢 Arduino 的教學 , 大多數的教學文章都是用 Arduino Uno
Arduino Uno 跟 Arduino Mega 2560 主要的差別在
Arduino Uno 只有14隻IO腳
Arduino Mega 2560 只有54隻IO腳
簡單說就是 Uno 只能控制 14個開關 Mega 2560 可以控制 54個開關
但工作原理與程式寫法 是一模一樣的


3D Printer 韌體 程式 :

最後了 ~ 終於
我們準備好了電子零件
重點就是程式咧!!
當然有人寫好的啦
RepRap : Marlin 這邊是在介紹它有多偉大 ~ 開玩笑的
Github : Marlin 這邊是真的可以拿到它的程式的地方
你可以在 Github : Marlin 下方看到一大堆的 G-code
這邊就是我們 3D Printer 主要會用到的 G-code 了

把 Marlin 抓下來後
需要打開 Configuration.h 檔案
慢慢地逐行用 google 翻譯慢慢看
把需要設定的地方 調整成跟你機器一樣就可以了

最後上傳到 Arduino Mega 2560 讓大腦擁有智慧
就可以了


機器! 給我一台機器! :

很無奈的 如果你已經看到這一行
我並不打算給予任何機器的推薦
如果你有認真地看完文章
你會發現 機器用哪一台根本不重要
RepRap : Family Tree 這邊有上百種的 RepRap 家族機器
哪一台比較好??
精細度主要看的是步進馬達
吐料的細緻度是看噴嘴
列印最大尺寸是看你的桿子有多長
電子零件大家都一樣
哪一台比較好??
你看的喜歡就好 XD

機器的組裝
金屬零件 列印零件的採買
已經有太多人熱心分享了

我主要只是提供想嘗試的新手
先理解整個基本觀念
然後挑一台喜歡的造型來開始玩
不需要東擔心一下西擔心一下 這樣 ~


文章標籤
創作者介紹

經驗交流分享與備忘

Frank 發表在 痞客邦 PIXNET 留言(0) 人氣()