MIT 熱門課程:如何製造幾乎任何東西 How to Make (Almost) Anything 修課經驗

「如何做出幾乎任何東西 How to Make (Almost) Anything,以下簡稱 HTMAA 」,是由自造者運動教父尼爾‧格申斐德(Neil Gershenfeld)於麻省理工麻省理工學院位元與原子中心(Center for Bits and Atoms,簡稱CBA)所開設的熱門課程。

不只有 MIT 的學生可以選修,每年全世界的 Fablab 也有提供為期 5 個月的系列課程 Fab Academy ,同樣由 Neil 遠端教學,差別只是時程較長,教學品質與強度絕對沒有減少,藉此連結起全世界的自造者(Maker)社群。

不在MIT又想要參與這門課的話,就參加FAB ACADEMY吧!

HTMAA 過去是同為建築與規劃學院(School of Architecture and Planning,簡稱SA+P)的藝術、文化與科技(Art, Culture and Technology,簡稱ACT)項目的必修課程,今年改為(保障名額)選修。這門課是以每週介紹一個與數位構築(Digital Fabrication)有關的主題來進行,並利用既有設備與工具來完成作業,學員會在安全與合格的環境下學習,且由曾經修業完成的成員擔任指導老師,負責每次上課的前置工作和材料準備。

每年的課程設計與內容會隨著科技發展與議題趨勢而有所調整,來自不同背景的修課學生被分成不同區塊(Section),例如 ACT 跟 Media Labs 是屬於 CBA Section ,另外還有建築學院、其他 MIT 學生與哈佛學生的 Section,總共約 80 位學生(欲加選人數超過400位),各自依照 Neil 所強調的學習曲線(Learning Curve)來發展個人計畫。

幾乎每堂課都會有的 show and tell 時間,Neil 會讓學生把該週成果帶來分享。

這門課的作業繳交方式,是修課學生每週要把自己的學習歷程、作業等記錄在自己所撰寫的網頁上(換句話說不管本來會不會,學生都得掌握基礎的CSS與HTML語法),並用版本控制工具 Git 來更新。授課網站 是Neil自己架設的資料大匯集,上面有許多參考資料與修課同學成果網頁。另外在 MIT 的課程每週會有一次的實作補充,但不一定跟該週的主題有關,有時會是無法涵蓋在學期中,但同學們感興趣或剛好有助教擅長的主題,例如工程模擬、動畫(像 Unity 跟 Three.js)、織品、路徑規劃等。

樸實無華的課程網站

做為一個社會科學背景、音樂專業且脫離學校多年的藝術工作者,在此將概述我修習HTMAA 2019 年的課程內容與實作照片,供有興趣的創作者朋友參考。

Week 1 課程介紹與電腦輔助設計(Computer-Aided Design

第一週除了課程大綱Fab Academy 與每週一次實作課外,課程目標讓學生是了解「電腦輔助設計(縮寫為CAD)」的優勢與發展脈絡。介紹機器的發展歷史後,切入實務面列舉 CAD 軟體工具如 Fusion360、FreeCAD、SketchUp 等,以及像 Constrian 等在操作軟體時會用到的設定。

作業繳交是統一利用 Git 來更新個人修課網站,雖然沒有限制使用軟體,但Neil通常會特別介紹與推薦開源工具(Opensource),例如 GIMPBlender。不過有鑒於開源工具通常會缺少詳盡的官方文件,麻瓜如我最後還是選擇學生可免費使用的Autodesk系列軟體。

這週的回家作業是把個人課程紀錄網站框架完成、用 Git 更新到各自組別的Repository,並下載與熟悉 CAD 軟體操作,用以描述自己的期末專案。

Week 2 專案管理與電腦控制切割(Project ManagementComputer-Controlled Cutting

以自行下載的CAD軟體操作,開始利用雷射切割與 Vinyl Cut 等設備將數位設計實體化。MIT Media Labs 內有專門的工作區域,學生需要受過安全訓練後才可獲得機器的使用權。這週作業除了基本的雷切、雷雕與不同材質測試,還包括要應用參數式設計來製作一個立體的、模組化的結構體。

不過有鑒於開源工具通常會缺少詳盡的官方文件,我最後選擇學生可免費使用的Autodesk系列軟體。
想坐凳子結果做出來太小,沒辦法真的坐在上面。
Vinyl Cut成品
總算學會了基礎的雷射切割操作(的皮毛)

Week 3 電子製造(Electronic Production

這週開始接觸電子電路設計與製作,包括操作 Neil 與 CBA 所開發的 mods 圖形介面(GUI)工具、製作電路板、焊接、燒錄程式等。

mods工具,以 Websocket 跟機器溝通

mods是一個建立於網頁上的多用途工具,可通過 Websocket 以 udp 來跟其他軟硬體溝通。這週主要是用其來處理 PCB 的圖像檔案來生成 Milling Machine 的 Toolpath 路徑,並設定與 EndMill 有關的參數。如果參數設定不好,在製作電路板時,很可能會發生銅箔被弄斷或是沒有清乾淨的狀況。

milling machine是Roland的SRM-20

課程中主要使用的電路設計架構是 AVR微控制器,學生需要使用 Atmel 的晶片例如 ATtiny44, ATtiny45 等 IC 來宣告 GPIO 腳位以完成各項任務。 Neil 禁止大家使用 Arduino 或樹莓派這類已套裝好、預先讀取各種 Library 的現成工具,認為這些產品資源浪費且成本效益較低。

這週作業之一是要做一個迷你燒錄器(programmer),學員得先自行製作一個小電路板、焊接正確元件,成功撰寫程式燒錄進 IC 後,再用它來燒錄其他的小電路板使其成為另一個programmer。

在Terminal裡面進行燒錄
燒錄好之後透過ISP Header去燒錄另外一個小電路板

Week 4 3D掃描與列印(3D Scanning and Printing

基本測試 3D 印表機的精度跟不同形狀對支撐的需求,另外也測試了一些3D掃描工具。

失敗的3D掃描

工作區域還有幾台 FormLab 的機器,可列印光固化材料。下圖是透過 Form3 列印出來的成品。

Week 5 電子設計(Electronics Design

設計電路基本上以 KiCad 跟 Eagle 軟體為大宗,但 Neil 自己是使用 Python 程式碼直接產生路徑。從這堂課開始,我們得學習使用各種軟硬體(如示波器)來設計、模擬電路,並要了解LED、電阻、電容、電晶體、振盪器等元件的功能,以及基本電子電路計算公式。

每個人都要學會設計電路
從Schematic View轉換到Board View

在 Eagle 中要先在 Schematic View 中創建所有需要用到的元件(Part),然後依照所需功能串接起來,確定沒有問題後,再切換到Board View開始嘗試畫出 PCB 上的路徑。

這週任務是要在電路板上新增一個按鈕,理論上這個板子要跟電腦連接,並重複你所鍵入的字元。與電腦連接的方式是通過 FTDI Cable 轉接 USB , ISP Header 則是用來跟燒錄器溝通用的。

如圖,PCB右側就是FTDI接腳

在 Eagle 軟體裡面設計不同電子元件的連接路徑,有時會有怎麼連都不對的情況,只好先把板子做出來再用跳線連接。但這樣的方式,有可能因為強度不夠,過一陣子 PCB 就會自行損毀,幾經失敗後,上網查閱歷年修課學生的紀錄網站,才發現其實可以利用底板銅箔層來當作 GND ,並修改 Design Rule 的條件來自動控制線路與接點的留白面積與路徑寬度等參數。

一個又一個又一個的PCB

即使成功把PCB照著設計做出來,也不代表這片 PCB 會如預期般運作。最終我還是用 AVR microcontroller 的 Datasheet,在了解 TX 跟 RX 腳位的概念以及所使用 ATtiny 晶片的 GPIO 定義後,重複製作了好幾個相同的 PCB ,再練習使用三用電錶來 debug,最後成功燒錄並執行了!

Week 6 電腦控制機器(Computer-Controlled Machine

這週操作 CNC(Computer Numerical Control)機具,親自體驗每個環節所造成的誤差,認識管理大型機具所需的程序與注意事項。學生需要測試切割、雕刻、製作凹槽等基本功能。

因為此類機器有危險性,所以教職員特別重視有沒有按照規定步驟來操作,包括啟動機器、安裝鑽頭、啟動 Spindle、開啟吸塵功能⋯⋯等等。

Week 7 嵌入式程式設計(Embedded Programming

因為 AVR programming 基本是要寫 C 語言,Neil 又不斷在課堂上強調不建議使用 Arduino 軟體當編譯器,因此一點點小功能就會需要摸索許久才能在 AVR 晶片有限的容量下被成功執行。

練習使用三用電錶

這週的作業是要獨立撰寫程式、燒錄進微控制器,讓 PCB 可以真正做點什麼事。原本想說要整合喇叭做一個 noise generator,透過 ATtiny 晶片內建的 Clock 來產生波形,結果通電後發現設計失敗了,因為電容接法與電流計算有問題。

與助教詢問訊號的過程紀錄

經過助教的一番指導,我理解到現在的我要獨立設計一個音訊裝置,兼容 ADDA 轉換、擴大、濾波與整流是非常困難的。後來決定先做一個具備按鈕的 PCB 完成作業。

Week 8 翻模和鑄造(Molding and Casting

這週主要在翻模,並測試像樹脂、石膏、OOMOO、金屬等材料。

把 OOMOO 裡面的空氣抽乾(自製的抽氣機)
用小台的 CNC 去 mill 蠟製方塊

Week 9 輸入設備(Input Device

輸入設備就是像麥克風、Webcam、壓力、溫濕度、磁力、動態感測等。我們需要將輸入設備設計至電路中,並在電腦端透過 GUI 介面閱讀數值。

學會用放大鏡來幫助焊接

Week 10 輸出設備(Output Device

輸出設備就是像喇叭、燈光、馬達等。我選擇一個有趣的 LED 陣列電路設計 Charlieplexing 來練習如何精算有限的 pin 腳,用較少的 I/O 控制較多的 LED 燈。以 Charlieplexing 的設計方法,n 個引腳可以有n*(n-1)個組合,也就是說可用 n 個引腳驅動n*(n-1)個 LED 燈。過程中學習到了關於LED 顯示頻率、邏輯判斷、正向電壓複雜性等問題。

沒有全部 LED 都亮起來是因為後面銅箔層有短路。

Week 11 網路與通訊(Networking and Communications

Neil 認為網路的未來是會往兩極端發展,一方面是越來越寬裕的流量,另一方面是較慢、穩固、資料量小的設備對設備溝通。因此,本週我們的作業就是利用如 IR、RS232、ESP32 或 ESP8266 等模組來讓電路板可以進行無線通訊。

除了 ESP8266 外,這週作業還包含了要讓學期中設計的 PCB 們,透過自行選擇的通訊協定來互相溝通。之前設計的板子通常都有 ISP Header 所以大多就是透過 MOSI 與 MISO 去互相傳輸,也有人會選擇用 RS232 或 IR 訊號。

Week 12 機械與機器設計(MechanicalMachine Design

這週是唯一的區塊分組協作。 ACT 跟 Media Labs 與 Neil 本身任教的 CBA 在一起。我們最後做了一個自動削蘋果機。

協助3D列印各種部件。結束後大家合照一張。
ACT風格的作品介紹影片
Media Labs風格的作品介紹影片

Week 13 介面與應用程式設計(Interface and Application Programming

這週把之前設計與製作出來的電路板,跟電腦或其他裝置串接,並為其設計一個可閱讀的介面。

Node.js與Max程式截圖

最後我整合了之前做的按鈕電路,每次按一下按鈕,用 Max 撰寫的程式就會上網搜尋一張狗狗圖片並下載下來。

Week 14 外卡-自由發揮(Wild Card

這週分成很多組別,例如 Soft Robot、Advanced Programming、Inflatable、生物材料列印等。我選擇了 Sheet Metal 這組。使用薄鋼板教學,從鍛打、敲擊、彎折到金屬熔接,工具使用說明與注意事項走完一次後,學生就開始自行設計與製作一個包含 Sheet Metal 製品的物件。

從設計到實際透過機器切割金屬板
加固側邊後再彎折成為桌腳
CO2 金屬熔接
最後做了一個有輪子的工作桌

心得

Neil 在其著作中曾表示,比起工程專業的學生,由「技能」出發的模式,會更適合研究藝術或工藝的學生。傳統上,工程要設計具備完整功能的系統,會需要同時建立實體模型與邏輯功能,包括具輸入與輸出介面的嵌入式運算晶片。在工業級標準設定下,這些工作需要一整個團隊來設計與生產,沒有任何一位個人可以獨立完成。

刻板印象中,工程師不會同時擁有設計與製造的雙重技能來獨立完成專案,也沒有單獨的課程或老師可以涵蓋這麼多高度異質性的使用者與機具。在此,學習過程不是由知識的供給來引導,而是由知識的需求來驅動。一旦學生掌握了新技能,例如水刀切割或微控制器程式,他們會像是傳福音的傳教士,把技能展現給其他同學看。當他們為了個人專案需求而需要新技能時,會主動向自己的同儕學習,並在學會後教導更多人如何操作。

這個過程因為是有需求、再教學,可以稱作「及時 ( just in time )」教育模型,而非傳統教導學生一個固定內容的課程,先灌輸以後可能會派上用場的知識,那種傳統上被稱為「以防萬一( just in case )」的教育形式。

回顧修習這門課的過程,我覺得較可惜的是一開始不清楚 AVR Programming 的優勢與學習目標,只覺得好像是某種從零開始的 Arduino,加上對 C 語言太過陌生,有點不知道該從何下手。其實如果前幾週時間先好好花在閱讀文件、釐清 IC 腳位功能跟練習 C 語言基礎程式邏輯(ATtiny 處理訊號大多是二進制,跟寫 Java Script 或 Max 很不同),把盲目製作電路板跟重複焊接的時間省下來,其實課程後半段就會順利很多。換句話說,只要克服了電子電路與程式障礙這關,其他有關成品外觀、功能、使用者經驗等環節,在數位工具輔助下,通常都是迷人而有趣的過程。

原文 MIT熱門課程「如何製造(幾乎)任何東西(How to Make (Almost) Anything),作者紀伯豪,HTMAA修課經驗分享,加點製造經授權編修

延伸閱讀:
[專訪] 商業與本質的取捨,Maker 運動的下一步?
設計師必知:優化產品外觀降低 CNC 加工成本入門
EVT、DVT是什麼?搞懂IoT新創產品開發的六個階段

加點製造為產品開發專業知識交流社群,專業問答提供開發者互助學習,也可以快速的搜尋在地的優秀設計與製造廠商找工作功能全新推出。優秀產品資訊歡迎投稿

與 40,000 名讀者一起訂閱我們

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

在WordPress.com寫網誌.

向上 ↑