01 MicroSynth
一、背景介紹
也許一個只有一個八度范圍小型電子琴使用普通單片機可以方便的完成,但這款全模擬音樂合成器則使得對音樂、電子以及信號原理的學(xué)習(xí)更能夠充滿樂趣。這一點是彌足珍貴的(They are also expensive !)
1、關(guān)于MicroSynth
David Levi希望更多的人了解、只在這款迷你音樂合成器:MicroSynth,簡單、有趣、內(nèi)容豐富,它僅僅有一個名片大小。
▲ 圖1.1 名片大小的MicroSynth PCB 板
(1)設(shè)計特點
David設(shè)計的MicroSynth 使用了觸摸按鍵,替代了機械按鈕。巧妙使用運放(OP-AMP)設(shè)計的振蕩器可以自動產(chǎn)生按照指數(shù)分布的音節(jié)頻率;這要比利用555定時器與雙極性三極管電路更加簡潔;
因此MicroSynth的技術(shù)特點為:
- 沒有機械按鈕沒有任何數(shù)字芯片;沒有555定時器芯片無需使用匹配的雙極性三極管。
雖然使用雙層PCB板制作,但所有的線圈均可在頂層鋪設(shè);底層只作為公共底線。它使用了4個運放,四個的N-MOS三極管,一個無源揚聲器。
▲ 圖1.2 小巧的MicroSynth正面元器件布局
最初 David 設(shè)計MicroSynth就是作為他的特色明信片,把玩它使得David獲得很多樂趣。一天他認(rèn)為MicroSynth 應(yīng)該擁有它作為發(fā)明物的應(yīng)有的權(quán)利,被更多人看到它那靈妙的身姿。
2、關(guān)于David
MicroSynth 的作者David是 MicroKits 品牌的發(fā)明人和擁有者,MicroKits 是最初是提供 特雷門琴(Theremin)[1] 簡單設(shè)計與實現(xiàn)方案的項目。作者開始制作這類音樂合成電子作品,當(dāng)然他現(xiàn)在還不打算將其工程化。隨著制作更大的音樂電路,他使用MicroSynth測試一些想法,順便也作為他本人的名片。
二、技術(shù)細(xì)節(jié)
1、觸摸按鍵
MicroSynth 上的按鍵不是機械按鈕,而是觸摸電阻按鍵。當(dāng)手指觸碰按鈕時,電機兩端就會有微量電流通過手指表面流過,足以打開晶體管開關(guān)。就像普通計算機上的薄膜開關(guān)的原理一樣,只是這里你的手指充當(dāng)了按鈕導(dǎo)通薄膜。
2、指數(shù)電壓
音樂各個音節(jié)頻率是呈現(xiàn)指數(shù)分布,每增加一個八度頻率增加一倍。在MicroSynth電路設(shè)計中,各個按鍵對應(yīng)電阻參數(shù)則是按照線性增加。電路板上的壓控振蕩器(VCO)的輸出頻率正比于輸入電壓。例如,設(shè)計一個輸出10、20、30、40Hz 等間隔頻率信號的電路比較容易,但設(shè)計一個呈現(xiàn)信號耐壓指數(shù)增加電路,比如10、20、40、80Hz則需要豐富的電路技巧。
大多數(shù)音樂合成電路使用雙極性三極管的指數(shù)變化增益將輸入線性電壓轉(zhuǎn)換成指數(shù)變化電壓,但這需要有精確匹配電阻、溫度補償以及電路精細(xì)調(diào)整才行。如果不把眾多瑣碎因素考慮進(jìn)去,則產(chǎn)生的音節(jié)不是太集中,就是分散。
使用555 定時器電路產(chǎn)生音節(jié)則需要利用RC充放電時間呈現(xiàn)指數(shù)變化才能夠輸出指數(shù)變化的音節(jié)頻率。555定時器不僅比普通運放昂貴,它所工作的電壓也比運放高。
作者巧妙設(shè)計了一款僅需要兩個運放電路,可以將線性增加的電阻轉(zhuǎn)換成指數(shù)變化的電壓輸出,來控制一個VCO。本質(zhì)上講,這個電路輸出電壓是電阻的多項式函數(shù),但在一個八度音程范圍內(nèi)它已經(jīng)非常逼近指數(shù)變化函數(shù)了。
3、駭客精神
追求極致精簡的電路駭客們希望利用最為傳統(tǒng)器件完成電路設(shè)計。當(dāng)別人還在嘲笑那些使用微控制器實現(xiàn)本來可以由555定時器實現(xiàn)的功能的時候,David放出狠話,實際上有的時候555定時器都顯得多余。
02 電路設(shè)計
一、電路原理
1、電路器件
【表2-1 MicroSynth電路元器件】
序號 | 器件名稱 | 規(guī)格 | 數(shù)量 |
---|---|---|---|
1 | 喇叭 | FS-2308 | 1 |
2 | USB接口插座 | Micro-USB | 1 |
3 | 雙運放芯片 | MCP6002T-I/SN | 2 |
4 | 喇叭驅(qū)動 | PAM8302AADCR | 1 |
5 | MOS管 | N-溝道MOSFET | 11 |
6 | 電容 | 1uF,100nF,4.7nF | 1uf:2; 100nF:6; 4.7nF:10 |
7 | 電阻 | 1M,200k,100k,37.4k,10k,2k | 1M:18; 200k:4:,100k:14; 37.4k::1; 10k:6; 2k:9 |
8 | 電位器 | 10k | 2 |
2、核心電路
下面這個電路則使用了兩個運放來產(chǎn)生指數(shù)(等比)分布的電壓。其中包括了鍵盤電路、指數(shù)電壓電路、高八度電路、微調(diào)電路等。
(1)按鍵電路
按鍵電路本質(zhì)上是由12個1kΩ電阻串聯(lián)起來,通過按鍵開關(guān)將指數(shù)電壓運放電路負(fù)極性輸入端接地。為了簡單起見,使用了普通開關(guān)表示串聯(lián)電阻接入地,實際上這些開關(guān)將來都是有MOS管來代替。
十二個按鈕可以產(chǎn)生一個八度音高中的十二個半音階。當(dāng)多個按鍵被按下時,該電路不會產(chǎn)生和弦,只有最高音節(jié)輸出。
(2)微調(diào)電路
電路圖中標(biāo)志有“Fine Tune”的電位器用于對輸出電壓進(jìn)行微調(diào),一邊產(chǎn)生準(zhǔn)確的音節(jié)頻率。
(3)八度音程開關(guān)
微調(diào)輸出電壓由右面單位增益,或者倍壓電路緩沖之后送到指數(shù)電壓電路。當(dāng)“Octave”對應(yīng)開關(guān)打開時,緩沖運放為單位增益,如果Octave開關(guān)閉合,則緩沖運放增益為2。利用這個開關(guān)可以產(chǎn)生兩個八度的音節(jié)。
(4)指數(shù)電壓電路
指數(shù)電壓電路是這個電路的核心,它將串聯(lián)的線性變化的電阻轉(zhuǎn)換成指數(shù)變化的電壓。了解它的原理需要一些數(shù)學(xué)推導(dǎo)。
決定輸出電壓是有三部分電路組成:
- 微調(diào)+倍程電路舒適的基準(zhǔn)電壓。經(jīng)過200k,100k分壓電路在輸出運放“+”端產(chǎn)生電壓;由與鍵盤電阻組成的對的分壓電路;輸出電壓經(jīng)過200k,100k以及前面的分壓電路在輸出運放的“-”極需要產(chǎn)生一個電壓等于“+”極電壓。
根據(jù)運放在放大狀態(tài)下,輸入端“虛短”特性,輸出運放的“-”極電壓也應(yīng)該為。這個電壓與輸出電壓在200k電阻上產(chǎn)生的電流為:
由37.4k(假設(shè)稱為)與鍵盤電阻組成的對分壓電路,根據(jù)戴維南定理,可以看成由電壓,內(nèi)阻組成的電壓源。
那么它在輸出運放的輸入電阻(100k)上產(chǎn)生的電流為:
再根據(jù)放大狀態(tài)下運放的“虛斷”特性,,所以
下面,假設(shè):
那么可以計算出對于不同的按鍵電阻 ,所對應(yīng)的輸出電壓。下圖同時顯示了根據(jù)公式“計算值”以及對應(yīng)12音律的音節(jié)值??梢钥吹剿鼈冎g非常接近。
▲ 圖2.2 不同按鍵n對應(yīng)的輸出電壓
3、按鍵電路
下圖給出了按鍵實際電路,它是將手指觸碰電極所產(chǎn)生的微弱電流通過1M歐姆的下拉電阻驅(qū)動MOS管導(dǎo)通,相當(dāng)于一個對地的開關(guān),驅(qū)動前面核心電路中1k歐姆電阻網(wǎng)絡(luò)。
▲ 圖2.3 按鍵電路圖
人體觸碰電路過程中,不僅會等效成貫徹導(dǎo)通電阻,另外還會引入空間的交流電壓信號。所以在按鍵電路中還有1M歐姆與4n7電容組成的濾波電路。
下圖是作者對于這個電路進(jìn)行的電路仿真,可以看出它可以有效的導(dǎo)通。
▲ 圖2.4 利用人工等效模型進(jìn)行電路仿真
下面是按鍵實際電路,指尖觸碰按鍵焊盤后,便可以觸發(fā)電路工作。
▲ 圖2.5 電路板上實際的按鍵
※ 電路小結(jié) ※
在 David 的BLOG[2] 的網(wǎng)頁中并沒有找到完整的電路圖。對于這個電路中振蕩電路的工作原理以及如果判斷是否有按鍵被按下等,作者并沒有進(jìn)行詳細(xì)的說明。
參考資料
[1]特雷門琴(Theremin): https://blog.csdn.net/zhuoqingjoking97298/article/details/105439923?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163317228016780265432070%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163317228016780265432070&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-1-105439923.pc_v2_rank_blog_default&utm_term=Theremin&spm=1018.2226.3001.4450
[2]David 的BLOG: https://hackaday.io/project/181914/logs