懸浮物體大驚奇:自製微型超音波懸浮器

十一月 19, 2018
Facebook
Twitter

 

原文發布於《MAKE》德文版官網,由Niq Oltman翻譯。


如果你想試驗超音波懸浮,一種用聲波讓物體靜浮在空中的原理,你不需要準備任何科學儀器,更不用架設複雜的迴路控制系統或購買昂貴套件。只要一個Arduino、一個步進馬達驅動器,再改變一下距離感測器的功能就可以了。

好吧!我承認我們的微型超音波懸浮器沒辦法讓很重的東西浮起來,但光看保麗龍小球像被施了魔法般靜浮在空中,就已經很吸引人了。

 

相較於磁懸浮,超音波方法就不需要有用來穩定懸浮物體的控制迴路系統。聲波懸浮系統能讓物體自己停留在駐波節點上。你還可讓多個物體同時懸浮在彼此上方,均勻分布空間!

 

時間:3~8小時

難度:中等

成本: $0~50美元

 

材料


Arduino Nano微控制板,附USB

HL293D晶片,或者使用L298N晶片及整流器二極體1N40071個或以上)的步進馬達驅動器模組

電容:100nF1)和2,200µF1

測試用無銲麵包板

萬用電路板(Perfboard),配接永久電路用,尺寸約2″×2″

懸浮用保麗龍小球(發泡聚苯乙烯)

跳線和/或安裝線

電源供應器9V–12V。桌上型電源供應器較好,或者小型變壓器也可。你甚至可以試試看9V電池

HC-SR04超音波距離感測器(2

銅管,0.7″ (18mm),長度約6″,以及接頭:T型接頭(1)和90°接頭(3

底座用小木塊

 

在2/18日發行的《MAKE》雜誌德文版中,我們發表了兩個超音波懸浮裝置的替代方案,其中一個是從已嚴重燒毀的超音波清潔器取下換能器來使用。

 

不過還有第三個方案,就是接下來要告訴大家的。該方法使用便宜的距離感測器來製作,這個方法也是目前最簡單的。

 

1、分解超音波感測器

本專題以距離感測器中之超音波換能器為基礎,像是HC-SR04距離感測模組,該模組可於eBay以不到2美元購得。

 

模組內含有一個做為發射器(T)使用的換能器,另一個換能器則當作接收器(R)使用。原則上,選擇T換能器做為專題用的發射器效果較佳,所以我們買了兩個感測器,分別取出裡面的T換能器(必要的話也可以只買一個,以第一次做這個實驗來說,R換能器的發射功能已經夠好了)。

請將兩個換能發射器脫焊。不過既然開始拆了,就把R換能器也拆下來吧!請勿把接收器上的小線濾網丟掉。因為事實證明,這東西真是出乎意料地好用。

 

換能器的設計是以40kHz運作,該頻率下換能器的工作效能最佳,頻率訊號會由Arduino Nano發出。

 

2、上傳ARDUINO程式碼

 

以下Arduino腳本(sketch)大多由setup()程式執行工作。首先,將所有類比埠口設定為輸出。接著,Timer1設定為頻率80kHz時觸發中斷(interrupt),每次中斷會反轉類比埠口狀態,將80kHz方波訊號轉換為40kHz的全波循環。而loop()程式碼在此就無用武之地了!

 

 

byte TP = 0b10101010; //每個埠口都會收到反相訊號

void setup() {

DDRC = 0b11111111; // Set all analog ports to be outputs 將所有類比埠口設定為輸出

// 初始化Timer1

noInterrupts(); //中斷禁止

TCCR1A = 0;

TCCR1B = 0;

TCNT1 = 0;

OCR1A = 200; // 設定比較暫存器 (16MHz / 200 = 80kHz 方波 -> 40kHz全波)

TCCR1B |= (1 << WGM12); // CTC 模式

TCCR1B |= (1 << CS10); // Set prescaler to 1 ==> no prescaling 將預除器設為1 ==> 無預除

TIMSK1 |= (1 << OCIE1A); // Enable compare timer interrupt 允許比較暫存器中斷

interrupts(); // Enable interrupts 允許中斷

}

ISR(TIMER1_COMPA_vect) {

PORTC = TP; //傳送TP的值到輸出埠

TP = ~TP; //將TP值反相,以進行下一次運作

}

void loop() {

//剩下就沒什麼事了  🙂

}

 

完整的程式碼及示意圖ZIP檔請點擊makezine.com/go/micro-ultrasonic-levitator免費下載

 

3、配置電路

 

理論上,你可以同時將兩個發射器直接連到Arduino Nano類比埠口,因為它們只需要非常小的電流。不過,這麼做的話,其工作電壓就會受限於Arduino所提供的5V,大大降低懸浮功率。為了加強訊號,請使用擁有H橋電路的L293D晶片,就是某些步進馬達驅動器裡會使用的那種晶片。

 

如果你對於直接使用L293D晶片感到憂心,可以用有L298N晶片的步進馬達驅動模組作為替代。只要把四個輸入端其中兩個接到Arduino的A0和A1埠口,再接通GND端和5V端即可,配接方式詳如下方示意圖。

假如你是直接在萬用板上使用IC晶片建立電路,請確保電路內加入兩個電容。如此可濾除換能器產生的線路雜訊,這些雜訊很可能會「毀損」Arduino,迫使控制板不斷重置。

 

4、讓物體懸浮

 

請先將兩個發射器以間隔約20mm(0.8″)放置,可以用輔助夾座或其他功能類似的裝置將其固定。確切的間隔距離需透過反覆實驗才能得知。上圖說明了完整的架設原型,使用了步進馬達模組、麵包板和輔助夾座。

 

此間隔距離必須恰好能產生駐波,還要有夠強的高低氣壓場。你可用以下公式估算距離,並以室溫下音速343m/sec(1,125ft/sec)來計算:

343,000mm/sec / 40,000Hz = 8.575mm

 

所以,要期待能在距離為8.575毫米(0.338”)或該數值倍數時產生駐波。但兩發射器間之距離與聲波圍繞的區域範圍不盡相同,因此該計算結果並不是非常準確,你必須一直微調距離直到裝置能成功運作。

 

假如你有雙通道示波器,這將有助於你找到合適的距離。請將通道之一連接到Arduino,另一通道連接到兩發射器其中一個(測量時請確保發射器與電路板已中斷連接)。若距離恰好,超音波接收器發出的正弦波應該與Arduino的方波信號完全同相。

 

 

還記得你留下的超音波接收器線濾網嗎?把它黏在牙籤上,這可在你要把保麗龍小球放到適當位置時助你一臂之力,因為它能透射聲波(假如你用手或鑷子放小球可能會很辛苦。而且會使換能器發出的聲波產生折射或受到擾動,駐波也可能因此無法成形或不穩定)。

物體首次成功懸浮前,你需要有點耐心。

 

  • 如果球好像要浮起來卻又掉下來了,請試著用小塊一點的保麗龍。懸浮物不需要是圓的。事實上,我們發現不規則狀的碎片似乎更容易懸浮。
  • 你的懸浮物體是否瘋狂跳動?請試試降低電源電壓。你可以另外串聯1N4007二極體來降壓。每個二極體會降低0.7伏特左右的電壓,以12V電源供應器而言,我們發現電壓於9V至11V之間效果最佳(如果可以的話,使用可變電壓的電源供應器是最方便的)。
  • 第一個保麗龍球成功懸浮後,你可以嘗試在其他駐波節點上放置更多小物體。成果一定會讓你印象深刻!

5、讓裝置看起來美美的(非必要)

正式安裝超音波懸浮器時,你可以用漂亮的外殼包覆它,把它打造成令人欽羨的桌上逸品。

我們的最終版是用五金行買來的18mm(0.7″)銅管製成的。我們將兩個發射器的濾網到濾網之間的距離設計為37mm(約為1½”),這是經過實驗得來的數字。至於你用的是幾毫米,數值可能會有所不同。

假如你最後是用L293D晶片來建構電路,整個控制板就能輕鬆置入底座中。右側可以看到12V電源供應器插孔。

祝懸浮愉快!


進階:

這個Ultraino開源專題採用類似於超音波懸浮器的方法,不過功能更加強大。該專題由布里斯托大學Asier Marzo博士帶領,使用Arduino Mega控制板和客製放大器來控制置於3D列印盒子裡由64個換能器組成的相位陣列。此裝置能讓液體、晶片和昆蟲等物體懸浮,你可以在Instructables上找到製作細節

 

Ultraino專題科學論文中提到許多超音波相控陣列的其他應用,相當引人入勝。其中包括可控式隔空觸覺反饋、無線功率傳輸、參量式揚聲器,甚至還有牽引聲波。 請點此免費線上閱讀

另一篇和懸浮有關的有趣論文是「微懸浮:多發射器單軸聲波懸浮器」(TinyLev: A multi-emitter single-axis acoustic levitator)。這是Marzo早期製作的專題,用了72個換能器,該專題可於網上查閱。最後這項專題還提供「微懸浮」變化版本(MiniLev),只需要兩個換能器即可,和本專題就更相似了。另外,你也可以看到物理女孩黛安娜(Dianna Cowern from Physics Girl)採訪Marzo的影片,內容非常棒。

 

 

Ulrich Schmerold住在德國南部巴伐利亞州。他喜歡用專題創作來驚豔眾人,激發大家對物理的興趣。他的主要工作是製作能幫助身障人士的設備。

 


(譯:曾筱涵)

【原文】


 

Social media & sharing icons powered by UltimatelySocial