檢波器是一種設備,可根據聲波/壓縮波中的粒子速度產生電信號。簡單來說,檢波器是用于地面的超低頻麥克風。檢波器在全球范圍內用于測量地震和震顫,在地震反射測量(特別是地下地質測繪)、安全裝置(通常與地下采礦情況有關)中,能夠測量經過的腳步聲,并在機器學習領域占據一席之地。這些是非常靈敏的被動設備,重要的是,它們產生的電信號是模擬信號。
盡管樹莓派單板計算機功能強大,但默認情況下無法讀取純模擬信號。
因此,我們需要一個ADC(模數轉換器)作為這兩個系統之間的轉換器。ADC將模擬信號轉換為數字表示,以便讀取和處理。大多數傳感器,如溫度傳感器、聲音傳感器或力傳感器,都會產生模擬輸出電壓,檢波器也不例外。本指南的內容如下:
所需材料
將模擬信號輸入樹莓派——Adafruit ADS1115 ADC
硬件搭建
軟件設置
演示——連續記錄和24小時數據記錄
下一步——達到閾值時拍照
腳本和產品數據表下載區(外加一些歷史)
檢波器是非常簡單而巧妙的設備。檢波器通常包含一個彈簧安裝的線圈質量塊,該質量塊可以在殼體安裝的永磁體磁場內自由移動(見下圖)。設備的有效元件是懸掛在彈簧上的線圈質量塊。當地面震動時(假設是由于地震),彈簧安裝的質量塊具有慣性,想要保持靜止。隨著地球繼續移動,磁體在彈簧安裝的質量塊周圍自由地上下移動。這種位移會產生變化的磁場,從而在線圈中產生可測量的電壓信號。這些電壓變化非常迅速。由于電壓是自然現象的結果,因此會產生純模擬信號。請查看下圖,了解本指南中將要使用的SM-24檢波器、檢波器橫截面以及應用示例。

檢波器歷史悠久,1906年,俄羅斯帝國的一位王子B. B. Galitizin發明了這種風格的檢波器。它們還有不同的名稱,如罐子、拾音器和Tortugas。一些特殊的完全耳道式助聽器內部也有微型檢波器系統。新西蘭人在20世紀40年代的戰爭中使用了檢波器。這是識別和定位敵方地下挖洞者方向的最佳方法。與SM-24完全相同的小型高頻檢波器通常用于全球的地震勘探和地震測量。
一如既往,如果您有任何問題、疑問或希望我對該系統進行的操作,請告訴我們您的想法!
所需材料
以下是設置樹莓派讀取SM-24檢波器產生的模擬信號所需的所有材料。
樹莓派掌上電腦(我使用的是樹莓派4B 2GB版,但也可以使用早期低配版,如樹莓派3)
檢波器 - SM-24
ADS1115 16位ADC——4通道,帶可編程增益放大器(該板的新版本為黑色PCB,也可使用其他ADC,用法類似)
DuPont跳線連接器(母對公和母對母)
三個1kΩ電阻
免焊接面包板
用于將系統連接到顯示器的Micro-HDMI轉HDMI線
鼠標和鍵盤
將模擬信號輸入樹莓派——Adafruit ADS1115 ADC
簡單來說,數字信號是具有兩個可區分電平(1或0)的二進制邏輯信號。這些信號由兩個電壓帶表示,一個接近地/零伏,另一個接近電源電壓。數字信號的主要關注點是數據傳輸。模擬信號則涵蓋了其他所有信號。它們只能通過數學函數(如果可能的話)來真實表示。它們是有機信號,具有無限分辨率,直至分子級別。然而,無限分辨率的ADC是無法實現的,但一些現代ADC可以取得驚人的效果。請查看下圖,了解數字信號、模擬信號以及模擬信號如何以數字方式讀取的演示。
模數轉換器(ADC)有多種類型,日常制作者通常接觸到的是12位ADC或10位ADC。10位ADC提供1024個可能的位分辨率(2的10次方)。還有更強大的32位ADC,具有4,294,967,296個可能的位分辨率(2的32次方)。只要計算機能夠處理高采樣率和高細節的模擬數據數字表示,這就能提供對模擬信號的極其準確的表示。請查看下圖,了解不同位數導致的模擬信號數字表示的更精確/更不精確的圖表。

對于我們來說,我們將使用Adafruit ADS1115 16位ADC。請查看下圖中的該設備、帶標簽的引腳圖以及黑色PCB上帶Stemma連接的新版本。該設備具有0到65,535個可能的數據點(2的16次方)的分辨率,非常適合我們的應用。需要注意的是,由于ADS1115板通常設置為處理正負值,因此一位用于表示+或-號,導致分辨率為32767。回到現實世界,16位分辨率是CD播放音樂的分辨率,聽起來非常棒。ADS1115的采樣率可以設置在每秒8到860個樣本之間。請記住,采樣率越高,ADC捕獲和轉換模擬信號所需的時間越短。該板還具有內置增益放大器,允許您將電壓信號放大2-3倍至16倍。更高的增益值使您能夠提高設備的靈敏度,從而有效地實現信號響應的無損放大。對于我們的檢波器案例,我們將使用最大增益值16,以最大化靈敏度。

這些ADC板廣泛用于樹莓派,因為IC芯片的工作電壓為3V3。ADS1115具有四個模擬輸入通道,支持兩種數據采集方式——單端和差分。在單端轉換中,從四個模擬輸入引腳中的每一個獨立采樣模擬數據。在差分模式下,對兩個模擬輸入引腳之間的電壓差進行采樣。這種差分模式非常適合我們的用例,因為檢波器是一種產生兩個可測量電壓的模擬設備。差分輸入比單端輸入更能抵抗電磁干擾(EMI)。為了進一步減少干擾,您可以扭轉/盤繞來自檢波器的電線。扭轉確保了兩根電線受到幾乎相同的外界影響。
使用該板可以通過兩種方式進行轉換(單端或差分)。下面將進行解釋。
轉換由樹莓派啟動。轉換后的值存儲在ADS1115的寄存器中。然后樹莓派讀取該寄存器。
轉換由ADS1115連續進行。信號以預編程的速率采樣,轉換后的值在ADS1115的寄存器中反復更新。樹莓派必須根據編程的采樣率反復讀取ADS1115寄存器。如果樹莓派以較低速率讀取寄存器,則會錯過幾個捕獲的樣本。另一方面,如果樹莓派以較高速率讀取寄存器,則會記錄同一樣本的多個冗余值。
20世紀20年代,瑞典科學家Harry Nyquist提出了著名的Nyquist定理。他確定,如果以至少比信號中最快運動快兩倍的速度定期對信號進行采樣,則可以在傳輸的另一端無損地重建信號。地震測量很難確定最快運動是什么,因此我將嘗試充分利用所有硬件,并使用Python編程語言獲得最佳結果。值得注意的是,其他編程語言,如C、BASIC或匯編語言,將具有更快的操作速度。但這些編程語言的可讀性較差。
硬件搭建
現在我們將搭建硬件。首先,像連接臺式電腦一樣,將所有連接插入樹莓派4B。
但暫時不要插入USB-C電源插頭。現在,您需要在ADS1115板上焊接排針,并在SM-24檢波器頂部焊接一些電線連接。檢波器附帶一個小型迷你PCB板,使焊接到其頂部變得更加容易。我傾向于使用DuPont跳線連接器,但您也可以直接將所有組件焊接在一起,或使用您喜歡的任何連接方式。有很多選擇。請查看下圖,了解我實現的焊接結果。

現在查看下面的原理圖。我們將以完全相同的方式連接Adafruit ADS1115板和樹莓派4B。樹莓派通過GPIO引腳連接到ADS1115板。共有四個連接。紅色連接用于向ADS1115提供3.3V VDD(電壓排水排水)。黑色電線用于在兩個板之間提供GND(接地)連接。最后兩個連接用于I2C連接,SCL(串行時鐘)和SDA(串行數據)。SCL是橙色電線,SDA是紫色電線。傳感器可以由樹莓派本身提供電壓,就像我這樣,但必須是3.3V連接。5V會損壞Adafruit ADS1115 ADC板。

請允許我解釋一下SM-24檢波器附近的電阻布局。中間的1kΩ電阻是根據數據表使用的校準電阻,用于平緩響應曲線。請查看下面從SM-24數據表中摘錄的表格,對此進行了解釋。所有數據表均可在本頁底部下載。

另外兩個1kΩ電阻連接到ADS1115板,用于限流。在檢波器輸出電壓大于ADC最大輸入電壓的情況下,這些電阻將保護我們的系統。即使輸出電壓為10V,遠高于檢波器通常的幾mV輸出,由于電阻的作用,電流將被限制在5mA。因此,我們不會損壞ADS1115模擬輸入的靜電放電二極管(ESD),系統可以長久使用。現在,我們將使用一些跳線將兩個電阻端連接到ADC板上的A0和A1。
連接完所有部件后,您可以為系統供電。您的設置應該與下圖非常相似。請確保將檢波器直立放置,并將桶軸與地心對齊(或至少在幾度范圍內)。檢波器在倒置或角度過大時無法捕獲數據或捕獲不準確的數據。有些檢波器系統將多個軸向萬向檢波器集成到一個系統中,即使在震動時也能提供真實的軸向方向,但我們在這里不涉及這種復雜性。

軟件設置
系統通電并完成(新)首次啟動向導后,您將看到樹莓派桌面。現在,Adafruit ADS1115 ADC需要I2C通信才能工作。默認情況下,樹莓派操作系統上的這種通信方式是關閉的。因此,第一步是打開它。
為此,請打開樹莓派配置菜單(通過左上角的菜單并滾動到首選項找到),然后在接口選項卡下啟用I2C連接。啟用后,重置樹莓派以鎖定更改。
現在,系統已重新啟動并連接到互聯網,請按屏幕左上角的黑色按鈕打開一個新的終端窗口。這將打開一個終端窗口。請查看下面此操作的圖片以及指向按下的終端按鈕的大紅色箭頭。
此終端窗口將使我們能夠從互聯網下載所需的精確軟件包。現在,在終端中輸入以下行并回車,以獲取所需的所有軟件包。如果提示,請輸入| Y |以繼續/確認安裝。請查看下面下載其中一個命令的圖片。
如果您運行的是Bookworm操作系統(2024年起樹莓派操作系統的默認版本),則需要使用所謂的虛擬環境。如果您尚未設置環境,可能會收到“外部管理環境”錯誤消息。設置虛擬環境很容易,只需執行一次,我們有一個非常簡短的指南來介紹如何操作。如果您已經設置了環境,或者您運行的是較舊的操作系統,則可以跳過此步驟
sudo apt-getupdatesudo apt-getinstall build-essential python-devsudo pip3 install matplotlibsudo apt-getinstall libatlas-base-devpip3 install numpy--upgradesudo pip3 install adafruit-ads1x15sudo pip3 install adafruit-circuitpython-ads1x15
完成后,我們已經完全設置了樹莓派單板計算機,以便與SM-24檢波器和ADS1115板一起工作。
演示——連續記錄和24小時數據記錄
我創建了一些示例代碼,您可以在本頁底部或此處找到并下載。
https://core-electronics.com.au/attachments/uploads/article-downloads-geophone-scripts-and-datasheets.zip
這些文件將位于一個Zip文件夾中,只需將其內容提取到您喜歡的任何位置,桌面是一個非常好的選擇。右鍵單擊并使用Thonny IDE打開任何文件,以查看它們的編寫方式。Thonny IDE只是一個Python解釋器軟件,您可以使用任何您喜歡的軟件。
讓我們首先打開| Differential Graph Display.py |。所有腳本都經過了詳細注釋,因此您可以跟隨。打開后,按大的綠色| 運行 |按鈕。一旦按下運行,它將顯示檢波器的實時輸出,并不斷更新圖表。搖動檢波器,圖表將相應響應。這些數據也記錄在shell輸出中。Y軸上的讀數是檢波器輸出的毫伏值。數據以大約每秒25個讀數的速度不斷傳入。腳本中的Y軸設置將防止其即使在劇烈搖動時(雖然我不推薦這樣做)也會使垂直讀數達到最大值。腳本中將使用16的增益,以便您可以看到此設備的靈敏度。它能夠檢測到桌子另一側的輕敲手指。
接下來值得查看的腳本是| Differential-Data-Collect-Gain.py |。運行此腳本,它將采集100個電壓數據樣本,并將這100條信息存儲在名為| Geophone_Data.txt |的CSV(逗號分隔值)文件中,每個數據點之間用新行分隔。如果此文本文件尚未創建,它將創建此文件。另外,請注意,每次運行此腳本時,它都會重寫該文本文件。采集毫伏數據后,它還將打印到shell上采集數據所需的確切時間。請查看下面此腳本運行的圖片。

如果您還將數據打印到shell,則ADC大約每秒將提供100個讀數(取決于樹莓派硬件)。如果您注釋掉所有將數據打印到shell的部分,則可以更快地接收100個樣本。考慮到我們使用的是相對較慢的編程語言,這仍然是大量的數據點。對于本指南中使用的所有腳本,轉換均由樹莓派啟動。如果數據由ADS1115板連續采集,則可以從ADS1115板獲得更高的數據流。使用另一種“更快”的編程語言,如C或機器代碼,將意味著更高的準確性和更多的數據。只是不要被數據淹沒,請記住Nyquist定理。
要使用此腳本記錄一整天的地震數據,我在第一個While循環下方直接創建了第二個While循環。如果您注釋掉第一個循環并取消注釋第二個循環,它將運行While循環一整天。在該時間段內收集所有數據并將其添加到文本文件中。當您有足夠的數據或想要以圖形方式觀察某些內容時,可以使用Excel快速將這些數據轉換為圖表(如果需要)。請查看下面Python腳本的此更改。

大多數地震儀測量速度/電壓,就像我們在這里所做的那樣。如果您想要位移,則對輸出隨時間進行積分;如果您想要加速度,則對輸出隨時間進行微分。
下一步——達到閾值時拍照
最后,我想根據檢波器控制一些連接的硬件。這個想法是,當有人走過樹莓派時,它將通過檢波器檢測到腳步聲產生的振動。然后,它將觸發拍攝走過的人的照片。為此,首先,我們需要在樹莓派單板計算機的CSI端口上連接一個攝像頭。有關設置高清樹莓派攝像頭的指南,請查看此處。完成后,您的設備應該與下圖非常相似。

在Python腳本方面,我調整了之前的腳本以添加閾值。系統將不斷通過檢波器監聽。然后,一旦達到檢波器響應的某個幅度,它將激活攝像頭。攝像頭將自動調整并拍攝其前方任何物體的照片。然后,系統將恢復監聽。將為您執行此操作的腳本名為| Footsteps-Camera-Geophone.py |。以與之前相同的方式打開并運行最終的Python腳本,請查看下面系統在我走出辦公室時自動捕獲我的照片的圖片(我想他們打算把我困在里面)。

此腳本的工作原理非常簡單。如果檢波器響應的值低于-30或高于30,則它將激活攝像頭。攝像頭將拍攝照片。照片保存的名稱將是當前日期和時間。如果此值對您的應用過于敏感,請簡單調整為更高的值。請記住,此檢波器正在通過地毯地板和木桌檢測振動,這非常了不起。請查看下面代碼中的此If語句位置。

這開啟了一個有趣的控制世界,其中設置在墻后的設備,傳感器完全不在視線范圍內,仍然可以完全感知并控制連接的硬件。假設您晚上在家中走動,您的系統將確切知道您在哪里以及您在家中的方向。然后,它可以自動打開燈,照亮您走過的路徑。它還可以用作秘密方法,跟蹤走過特定位置的人數。
腳本和產品數據表下載區(外加一些歷史)
據傳,公元132年,中國漢朝的張衡發明了第一個地震儀,稱為候風地動儀。這翻譯為“測量季節性風和地球運動的儀器”。描述稱,它是一個大型青銅容器,直徑約2米。頂部八個點有龍首,龍首中持有青銅球。然后,當地震發生時,龍嘴之一會打開,將其球落入底部的青銅蟾蜍中,發出聲音并指示地震的方向。此地震儀記錄的第一次地震被確定為來自東方。幾天后,一位來自東方的騎手報告了這次地震。
-
adc
+關注
關注
99文章
6716瀏覽量
549455 -
機器學習
+關注
關注
66文章
8507瀏覽量
134737 -
樹莓派
+關注
關注
121文章
2024瀏覽量
107575
發布評論請先 登錄
評論