最近相當火紅的開放原始碼專案 - 3D Printing,自從RepRap Machine被設計以來,一直不斷有各類型的延伸版本出現。例如最有名的Maker Bot Industries,就是按照RepRap的原型設計改良成Thing-O-Matic,其他還有Ultimaker等3D Printing。
|
MakerBot Replicator BigPic:553x409 |
這些所謂的3D Printing,在早期被稱之為快速成型技術(Rapid Prototyping,RP),現今因為Arduino的開放硬體,許多DIY玩家自行研究如何轉換複雜的G Code到機器上的步進馬達,製作出一台又一台DIY 3D Printing。
DIY 3D Printing在早期發展時,用來產生G Code的軟體相當簡陋,有很多bug無法順利使用,與硬體之間的溝通也沒有很多感測器可供監控,需要半自動的清理噴嘴流出的ABS塑料,甚至需要自行判斷噴嘴溫度是否已達標準,使用上相當麻煩。
另外在產生G Code的同時,有許多參數需要進行調整,有些甚至需花上3到6個月時間自行調教各項軟硬體參數。對於剛入門的使用者來說,不易上手,且容易感到挫敗而放棄使用。
直到近年,Arduino MEGA 2560支援更大容量的記憶體空間,更多的I/O數量,配合多種開放原始碼的程式庫,讓上述的問題減少許多。以最為熱門的MakerBot Replicator設計為例,歷經了8代改版,從早期的CupCake(MK4)到Thing-O-Matic(MK7),由單一噴嘴到雙頭噴嘴系統,全自動化的操作模式,讓家庭式3D Printing不再是遙遠的夢想。
DIY 3D Printing設計解密
開放硬體的3D Printing,大多數採用Arduino作為控制晶片,其負責的功能分為兩個部分:一是負責接受從電腦端的PC或MAC軟體送過來的G Code,然後由一塊Arduino Mega 2560進行資料分析,並透過RS485的傳送介面,遞送給另一塊Arduino UNO控制噴嘴溫度與加熱平台。
此外,Arduino Mega 2560還負責控制3D Printing上的四顆步進馬達,這些馬達分別扮演X、Y、Z以及Extuder的角色,相互協調彼此之間的運作。
為了讓3D Printing更具人性化,較新型的3D Printing還具有額外的自動化套件,像是自動化模型送出平台(Automated Build Platform),可讓印製完成的3D模型自動從加熱平台上輸送出來,如此就可達到自動連續印製的效果。
另外也有安全機制的套件設計,可當溫度過高時自動關閉噴嘴的加熱,以免溫度過高使機器受損。另外也有X、Y、Z三個軸運作時的最大限度保護,避免馬達持續走動而碰到機構邊界,此一功能只需透過簡單的觸動開關就能輕易完成。
因此,自己設計一個簡單的3D Printing其實並不複雜,這些基礎動作我們可以從一些簡單的Arduino實驗上就能學習到,像是步進馬達的控制就可從一般電子材料行買到小顆的步進馬達,透過兩相四線式的控制,使步進馬達正反轉向特定的步數,就能達成X、Y軸的移動。
(作者劉士達和林義翔為帝凱科技創辦人及Arduino.TW站長,本文摘自CTIMES雜誌251期/2012年9月號《硬體開放後的新整合:3D Printing》)