2021年1月13日 星期三

3DP : 自製音樂盒唱盤

2021年1月13日 星期三

以前對怎麼自製音樂盒就很感興趣,剛好回收了一部人家不要的唱盤式音樂盒,拿到了,第一件事當然是拆開來研究一番。常見的音樂盒是用音筒上的針來撥動簧片振動,發出聲音;而唱盤式的音樂盒則是利用碟形鋼片上的突起來撥動星形輪,星形輪再撥動簧片振動,發出聲音。

在網路上找到碟盤式音樂盒的相關專利說明書:

手上這部碟盤式音樂盒用的碟盤和 CD/DVD 是一樣的大小,最大的差別是音樂盒用的鋼片比較薄,另外,鋼片上還多了一個孔可以在旋轉時固定。



在反覆的量測後,我拿舊光碟片鑽了孔、並直接以打火機加熱 3D printer 用的 PLA 線後,沾黏在光碟片上,放到音樂盒碟片座上,真的可以發出樂音。



初試成功後,當然不可能這樣一個個音符的燒出來。所以利用 OpenSCAD 寫了支程式來產出樂曲所需要的「小凸點」。




程式經過不斷的測試與修正後,放到 GitHub 上,MusicBoxCustomDisc 專案的網址如下:


準備工作 QA

這次的專案可以產出兩種模型,一種是只製作樂曲的「小凸點」,然後將小凸點印在不要的光碟片上;另一種則是印整張的光碟。印在廢光碟片上的好處是可以節省很多等待的時間,如果失敗或是想換別首樂曲時,只要將列印的凸點「鏟掉」後,就可以重印。所以個人喜歡這種可以重覆使用的方法。底下列出印在廢光碟片上,可能遇到的問題:

Q1 : 孔要鑽在哪裡?

光碟片在距離圓心 15mm 有一小圈,在那圈上以 3.2mm 的鑽頭鑽個孔就可以。實際的位置,可能還是要量音樂盒碟片座上的固定柱。

Q2 : 怎樣讓「小凸點」黏緊一點?

光碟片表面很光滑,以 PLA 來說,直接印在上面,應該很容易脫落。我的經驗是可以先在光碟片上抹上一層白膠(個人都用南寶樹脂),以吹風機吹乾以後,如果 3D printer 第一層的距離調得剛好在光碟表面上,應該可以牢牢的黏在上面。

抹過白膠的光碟片


Q3 : 怎樣快速的調整 3D printer 噴嘴的高度?

個人的三部 3D printer ,有兩部是得調 Z 軸限位的位置,而另一部 Delta 型的 3D printer 則可以用 M665 的 G-code 來調整 Z 軸的初始高度,不用動到硬體的部份。所以如果有 Delta 型的 3D printer ,用它比較方便。(可以參考 雄 : 3DP : 以 M665 調整 Delta 的設定)。

Q4 : 光碟片怎樣固定在列印平台上?

建議先在平台的正中央(切片軟體預設把物件放正中央)印一個直徑 14.98mm 、高度 1mm 的圓(光碟片中央的圓孔是 15mm),這樣要印在光碟上時就很好定位,光碟片放上去以後,只要在邊緣再貼一、兩小塊膠帶就能固定好。


當然囉~如果覺得前面那些很麻煩,可以利用 MusicBoxCustomDisc 直接製作整張碟片的模型,然後用 3D printer 印完整的音樂盒碟片就好。


如何編樂曲

專案中有好幾個附檔名是 .scad 的檔案,它們都是 OpenSCAD 的 scripts,除了 music-box-custom-disc.scad 是主程式以外,其它的都是範例樂曲。以 music-box-disc-it_s-a-small-world.scad 來說,它就是 It's a small world 這首的樂曲模型產生器。如果想編寫自己的樂曲,可以先複製這個檔案,然後再打開來編輯裡面的樂曲。

打開檔案以後,找到 musicScore 這一行


musicScore = [


樂曲的音符是用數字表示,一個聲部的音符通通包在一對中括號裡。每個音符間用逗號分隔。


//1st. track
    [
3,4,
5,0, 30,0,
10,0, 20,10,
10,0, 7,0,
...
  ],


上面第一部代表的樂譜是:


C4 D4
F4 - E5 -
C5 - D5 C5
C5 - B4 -


至於數字和音樂盒「音梳」上的簧片怎麼對應,可以打開 music-box-custom-disc.scad 主程式,修改裡面的「notesIndexMap」,左起第一欄是音符代號(數字),第二欄則是音梳簧片的編號。


notesIndexMap = [
 //note number, teeth number
 [0,          0],   //pause
 [-1        , 1],   //C3
 [-2        , 2],   //D3
 [-3        , 3],   //E3


上面 noteIndexMap 的定義是:

  • [0, 0] : 代號 0 是休止符
  • [-1, 1] : 代號 -1 是音梳上的第一片簧片
  • [-2, 2] : 代號 -1 是音梳上的第一片簧片
  • [-3, 3] : 代號 -1 是音梳上的第一片簧片

預設音符代號定義的邏輯是:

  • 0 : 休止符。
  • -1 ~ -7 低音的。
  • 1~7 中音的。
  • 10~70 高音的。
  • 高半音的則為帶 .5 的小數。

節奏的部份則以最短的音當作一拍,較長的音則用暫停記號的 0 來填補剩下的,例如整首最短的音是八分音符,以四分音符的 C4 ( 代碼 1)加一個八分音符的 E4 (代碼 3)來說,就輸入:


1, 0,  3,


有了上面的基本概念以後,就可以開始編寫自己的樂曲,並製作碟盤的模型來印了。


自製碟片播放的問題

前面提到音樂盒鋼製碟片的厚度比較光碟要薄,這製造了播放時的困擾。碟盤式音樂盒有一根壓桿,上面有滾輪,可以壓在碟片上方,讓它可以穩穩地播放樂曲;但是以光碟自製的音樂碟片太厚,無法用壓桿來壓,怎麼辦呢?

我原來是這樣玩:



但是後來發現效果最好是直接在靠金屬星形輪的上方,放兩個小的圓形黑磁鐵(在大創買的),下壓的力量剛剛好:


相關文章






沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket