3D列印「花式」夜燈

十月 17, 2017
Facebook
Twitter
圖片

攝影:Hep Svadja

最近我被指派一項單純的任務,要為我即將出生的寶貝女兒做一盞夜燈。但出於職業習慣,我稍微做地過頭了一點,做出一盞全手工、可連接Wi-Fi、3D列印製造的夜燈。不幸的是Wi-Fi連線功能真的是過頭了,從來沒用到過。除此之外,出於我的習慣,燈座底下也塗了太多熱融膠。所以這個修正版本是比較整潔、簡單的夜燈,用按鈕來控制開關燈,而且使用的零組件是非常容易取得的Arduino和Adafruit。
在這個夜燈花朵的中心,是用電線連接控制、沿著花朵軸心上下移動的裝置,它會來回拉/推動連接裝置,讓花瓣開闔。全彩燈光則是來自於兩組互相貼合的NeoPixel LED燈環。

列印零件

下載這個STL設計圖檔案(見圖1至5),然後用3D印表機印出來(如圖A)。儘管幾乎所有的材質都能做出這個設計圖,PETG是最理想的材料,因為它可以彎曲,而且層間黏著性(interlayer adhesion)很強,這兩個特性正好適用於厚度很薄的零件(例如花瓣),也可以承受某種程度的凹折。
圖片

圖1

圖片

圖2

圖片

圖4

圖片

圖3

圖片

圖5

圖片

圖A 攝影:Luke Artzt

在列印零件時有幾件事必須要注意:

材料

雖然不管幾乎所有的材質都能做出這個設計圖,PETG是最理想的材料,因為它可以彎曲,而且疊加多層時黏著性很強,這兩個特性正好可以用來做厚度很薄的零件(例如花瓣),也可以承受某種程度的凹折。

噴嘴

我的設計圖適用於0.4mm的噴嘴;像花瓣這樣的薄型零件厚度是0.4mm的倍數,要讓這些零件完工後夠堅固(在這個專題中,花瓣和散光燈泡的厚度是0.8mm)。
圖片

圖:Jason Suter

補強材料

這個專題作品幾乎不需要補強材料,外觀同樣也不需要補強。我將花瓣和散光燈泡之間的夾角設計為小於45度,讓它們更容易列印出來。盡量不要在3mm的孔洞 (例如,用來安裝花瓣軸心的小洞) 內部設計其他的補強結構,因為並不需要這樣的結構,而且這樣之後還要清理環境。

工序

有些零件,例如機械連接部件,可以一起列印,但我選擇把每一片花瓣和散光燈泡單獨印出。這樣雖然比較花時間,但可以保持平整的表面,特別是可以避免PETG材料列印過程中容易產生的黏絲。

基底

大部分的零件都不需要支撐結構,不過我發現「軸心」還是必要的,因為整個夜燈的底座是相對小的。

起始位置

你可能會想要調整一下開闔的起始位置(每一次動作循環的開頭處,不同的裝置會有不同的名稱),不然每一次花瓣開闔過程的開始和結束時,會透過透光的花瓣看到裡面一排排的零件。

組裝

所有的機構裝置和電子零件都會固定在夜燈底座(花盆)的頂部,這樣整個系統很容易組裝完成,最後再把「花盆」安裝上去。你可以在這個專題網頁開頭的影片看到組裝過程,包含組裝完成後花瓣開闔的樣子。
 
注意:要確保所有轉軸式零件盡可能順暢地滑動。需要的話,用3.5mm的鑽頭清理並把孔洞挖大。

1. 測試花瓣密合度

首先確定每一片花瓣用3mm軸心固定時都可以順暢移動(圖B),有需要的話清理一下每個小孔。如果找不到3mm長的軸心,那麼15mm至22mm長的螺紋桿或用鋼鋸切去頭部的螺絲同樣也適用。然後先拆掉花瓣。
圖片

圖B 攝影:Luke Artzt

2. 安裝M3螺帽

在「花托」底部的5個六角形凹槽中各放入一個M3螺帽(圖C)。如果因為3D列印機的公差設定因素導致螺帽難以安裝進六角形凹槽,可以用烙鐵加熱螺帽後,再小心地把螺帽壓進凹槽裡。
圖片

圖C 攝影:Luke Artzt

3. 結合花瓣和莖

用3mm x 15mm的軸,把花瓣固定懸吊在花托的底部。然後把花托開口翻過來朝上。再用五個M3 x 6mm螺絲穿過先前固定好的M3螺帽,把所有零件固定住(圖D)。接著確定所有花瓣都保持活動無礙的狀態後,把「莖」接上花托,並用五個M3 x 8mm埋頭螺絲固定住兩個部件(圖E)。
圖片

圖D 攝影:Luke Artzt

圖片

圖E 攝影:Luke Artzt

4. 加上聯動裝置

用M3 x 10mm的螺絲把五個L形「聯動零件」的長邊端點固定到「星形聯動底座」上(圖F)。所有的聯動零件用螺絲完全固定至長邊的一端後,應該要能維持活動的狀態。
圖片

圖F 攝影:Luke Artzt

接下來把五個L形聯動零件的另一端用M3 x 10mm螺絲與花瓣鎖在一起,然後再確認所有的聯動零件都能在螺絲固定處維持活動(圖G)。並且確認星形底座和莖上要讓電線穿過的洞是否有對齊。
圖片

圖G 攝影:Luke Artzt

5. 把莖埋進花盆

用五個M3 x 10mm螺絲把「莖」和「花盆頂部」鎖在一起(圖H)。再把「軸心」的部份穿過星形底座直至花托,不過先不要把這些零件黏在一起。
圖片

圖H 攝影:Luke Artzt

6. 安裝連接線、測試聯動裝置

將鐵絲從星形底座的上方往下沿著莖穿過去。用一點強力膠把鐵絲跟星形底座連接的地方黏住(圖I)。多餘的鐵絲先讓它留在花盆底部(圖J),頂部多餘的鐵絲則先剪掉。
圖片

圖I 攝影:Luke Artzt

圖片

圖J 攝影:Luke Artzt

接下來很重要,抓住「莖」底下的鐵絲輕輕推/拉,確認之前組裝好的聯動裝置能夠順暢無礙地滑動(視實際情況,如果各個零件固定得很鬆散的話,你可能需要手動固定住軸心,如圖K)
圖片

圖K 攝影:Luke Artzt

7. 接上軸心

先把軸心零件拿開、把它穿過要放在下半部的NeoPixel LED燈環、再重新裝回軸心零件、然後滴一滴強力膠把軸心零件固定在碗狀零件上。這裡要注意的是,底部的LED燈環一定要先安裝(正面朝下),因為你沒辦法從軸心零件的上半部安裝它。

組合電子零件

這個專案採用的是Arduino Nano微控制器,不過幾乎與每一種微控制器都能相容,尤其是能跟Adafruit的Arduino程式庫相容的型號。透過Arduino IDE軟體來設定你的微控制器。
 
電路接線(圖L)則相當簡單。三個獨立的子系統:伺服機、LED燈環、以及旋轉編碼器,全部透過Arduino電路板來溝通,而且可以個別測試其功能。
圖片

圖L 製圖:Fritzing

1. 安裝程式庫

用Arduino程式庫管理員來安裝:

  • Adafruit NeoPixel LED燈環程式庫
  • TiCoServo程式庫

2. 安裝微控制器

Arduino Nano微控制器只要簡單的用束線帶固定或用雙面膠黏在「電子零件架」上。至於微控制器的哪一面要朝上,可依個人喜好決定,看你是想要「腳位朝上」然後用跳線控制電路(圖M),或是想要「腳位朝下」然後把微控制器直接焊在電路板上。選擇「腳位朝下」的方式時則比較容易看清楚電路板上的標示圖案。
圖片

圖M 攝影:Luke Artzt

3. 安裝旋轉編碼器

用廠商隨附的螺帽把旋轉編碼器鎖在「電子零件架」上(圖N)。
圖片

圖N 攝影:Luke Artzt

4. 裝上零件架

用4個M3 x 8mm埋頭螺絲來把裝上編碼器和微控制器的電子零件架固定到花盆頂端(圖O)。
圖片

圖O 攝影:Luke Artzt

5. 裝上伺服機

把推桿連接器接上伺服臂(servo horn),再把伺服臂(servo horn)安裝到伺服機上,但先不要用螺絲鎖緊。用黏著力強的雙面膠把伺服機黏到「花盆」上緣,讓推桿連接器與「莖」上的電線孔對齊。等到步驟7測試完伺服機的動作範圍後,再把伺服臂鎖緊。

6. 把伺服機接上線

由於Adafruit NeoPixel LED燈環的程式庫會和標準化的Arduino伺服機程式庫互相衝突,因此,在伺服機上安裝能與脈衝寬度調變訊號(PWM)相容的針腳,就成了非常重要的事,這樣「TiCoServo」程式庫才能正常使用。接線方式如下:

  • Arduino 5V接上伺服機5V
  • Arduino 接地線(GND)接上伺服機接地線
  • Arduino D10埠接上伺服機的訊號端(Signal)

7. 測試伺服機動作範圍

servoLimitTest草稿碼快速測試伺服機在對應夜燈開/闔時的位置。首先把伺服機擺到正中間位置,先不要裝上伺服臂,以免不小心弄壞。草稿碼的使用說明也包含在程式碼中了。

  • 確認草稿碼中的servoPin參數對應到連接伺服機的腳位
  • 輸入字母qe來測試伺服機向外移動的極限
  • 輸入w來移動伺服機到中間點
  • 輸入op使其來回移動(直到極限為止)
  • 伺服機目前所在位置數值會顯示在序列監控視窗上,因此你可以在程式碼中自行設定想讓伺服機移動的範圍

  1. 8. 把NeoPixel LED燈環接上線

NeoPixel LED燈環其實是一系列可單獨設定的WS2218 RGB LED燈泡,這表示LED燈環可以互相串接,只要將一個燈環的資料輸出端Data Out (DO)與另一個燈環的輸入端Data in(DI)相連即可。將三條電線穿過「莖」(圖P)並依照下列說明連線:

  • Arduino 5V與兩個LED燈環的Vin相連
  • Arduino的接地線與兩個燈環的接地線相連
  • Arduino的D4與第一個燈環的輸入端(DI)相連
  • 第一個燈環的輸出端(DO)與第二個燈環的輸入端相連
圖片

圖P 攝影:Luke Artzt

9. 測試LED燈

在整個作品持續加工的過程當中測試每一個電子零件,會是相當聰明的作法。用Adafruit的草稿碼strandtest來確認LED燈環都有確實運作(圖Q)。確認草稿程式碼中的腳位參數是否已正確設定(在這個專題裡要設定D4)。現在你可以把兩個LED燈環都安裝到軸心上了,另外再貼一些雙面膠固定。
圖片

圖Q 攝影:Luke Artzt

10. 把旋轉編碼器接上線

由於每一個旋轉編碼器會有不同的插腳輸出(pinout),因此記得要仔細閱讀資料說明書或在編碼器上做記號,以分辨不同的插腳輸出。編碼器的程式碼是用硬體中斷來控制,因此必須要使用Arduino電路板上能接收中斷信號的腳位:

  • Arduino上的D2與編碼器上的A針腳連接
  • Arduino上的D3與編碼器上的B針腳連接
  • Arduino上的接地線與編碼器上的接地線連接
  • Arduino上的D7與編碼器上的SW端子連接
  • Arduino上的接地線與編碼器上的開關連接

接線完成後(圖R),可以用Flowerlamp草稿碼來測試,確保每一個腳位都已正確接線了。這時候可以透過Arduino電路板上的序列監控視窗來看旋轉編碼器轉動和開關切換時輸出的訊息。

圖片

圖R 攝影:Luke Artzt

11. 安裝底座和散光燈泡

當所有零件都測試完畢後,用10mm螺絲把「花盆」底部和底座鎖在一起。最後,把散射光球上的卡榫壓進花托後固定住(圖S)。
圖片

圖S1 攝影:Luke Artzt

圖片

圖S2 攝影:Luke Artzt

個人化照明

這個夜燈完全是由Arduino電路板上5V的USB輸入端來供電,所以任何舊的手機充電器都能適用。另外這個夜燈設計的出發點就是愈容易操作愈好,所以簡單按下按鈕就能開/關燈,然後扭一下把手就能改變燈光顏色。
 
除此之外,這個夜燈還有無窮無盡的自由設定的空間,也把這個專題變成學習一點編寫程式碼的很好的練習。或許你想讓夜燈在30分鐘後自動關閉,或讓燈光顏色慢慢改變;又或許你會想安裝Wi-Fi模組、讀取天氣網頁來得到日落的時間、太陽下山後自動開啟夜燈。
時間:16小時以上 難度:簡單 價格:50至70美元
材料

工具

  • 3D列印機,工作臺尺寸至少6” x 6”
  • 寶貝女兒
  • 弓鋸
  • 鑽頭,尺寸3mm-5mm,用來挖洞
  • 雙面膠或絕緣膠帶
  • 螺絲起子
  • 筆刀(hobby knife)或彫刻刀,用來清理零件
  • 電烙鐵及銲錫
  • 束線帶(非必要)

(譯:葉家豪)
[原文]
Social media & sharing icons powered by UltimatelySocial