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

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

模數(shù)轉(zhuǎn)換器(ADC)有多種類型,日常制作者通常接觸到的是12位ADC或10位ADC。10位ADC提供1024個可能的位分辨率(2的10次方)。還有更強大的32位ADC,具有4,294,967,296個可能的位分辨率(2的32次方)。只要計算機能夠處理高采樣率和高細節(jié)的模擬數(shù)據(jù)數(shù)字表示,這就能提供對模擬信號的極其準確的表示。請查看下圖,了解不同位數(shù)導(dǎo)致的模擬信號數(shù)字表示的更精確/更不精確的圖表。

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

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

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

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

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

軟件設(shè)置
系統(tǒng)通電并完成(新)首次啟動向?qū)Ш螅鷮⒖吹綐漭勺烂妗,F(xiàn)在,Adafruit ADS1115 ADC需要I2C通信才能工作。默認情況下,樹莓派操作系統(tǒng)上的這種通信方式是關(guān)閉的。因此,第一步是打開它。
為此,請打開樹莓派配置菜單(通過左上角的菜單并滾動到首選項找到),然后在接口選項卡下啟用I2C連接。啟用后,重置樹莓派以鎖定更改。
現(xiàn)在,系統(tǒng)已重新啟動并連接到互聯(lián)網(wǎng),請按屏幕左上角的黑色按鈕打開一個新的終端窗口。這將打開一個終端窗口。請查看下面此操作的圖片以及指向按下的終端按鈕的大紅色箭頭。
此終端窗口將使我們能夠從互聯(lián)網(wǎng)下載所需的精確軟件包。現(xiàn)在,在終端中輸入以下行并回車,以獲取所需的所有軟件包。如果提示,請輸入| Y |以繼續(xù)/確認安裝。請查看下面下載其中一個命令的圖片。
如果您運行的是Bookworm操作系統(tǒng)(2024年起樹莓派操作系統(tǒng)的默認版本),則需要使用所謂的虛擬環(huán)境。如果您尚未設(shè)置環(huán)境,可能會收到“外部管理環(huán)境”錯誤消息。設(shè)置虛擬環(huán)境很容易,只需執(zhí)行一次,我們有一個非常簡短的指南來介紹如何操作。如果您已經(jīng)設(shè)置了環(huán)境,或者您運行的是較舊的操作系統(tǒng),則可以跳過此步驟
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

完成后,我們已經(jīng)完全設(shè)置了樹莓派單板計算機,以便與SM-24檢波器和ADS1115板一起工作。
演示——連續(xù)記錄和24小時數(shù)據(jù)記錄
我創(chuàng)建了一些示例代碼,您可以在本頁底部或此處找到并下載。
https://core-electronics.com.au/attachments/uploads/article-downloads-geophone-scripts-and-datasheets.zip
這些文件將位于一個Zip文件夾中,只需將其內(nèi)容提取到您喜歡的任何位置,桌面是一個非常好的選擇。右鍵單擊并使用Thonny IDE打開任何文件,以查看它們的編寫方式。Thonny IDE只是一個Python解釋器軟件,您可以使用任何您喜歡的軟件。
讓我們首先打開| Differential Graph Display.py |。所有腳本都經(jīng)過了詳細注釋,因此您可以跟隨。打開后,按大的綠色| 運行 |按鈕。一旦按下運行,它將顯示檢波器的實時輸出,并不斷更新圖表。搖動檢波器,圖表將相應(yīng)響應(yīng)。這些數(shù)據(jù)也記錄在shell輸出中。Y軸上的讀數(shù)是檢波器輸出的毫伏值。數(shù)據(jù)以大約每秒25個讀數(shù)的速度不斷傳入。腳本中的Y軸設(shè)置將防止其即使在劇烈搖動時(雖然我不推薦這樣做)也會使垂直讀數(shù)達到最大值。腳本中將使用16的增益,以便您可以看到此設(shè)備的靈敏度。它能夠檢測到桌子另一側(cè)的輕敲手指。

接下來值得查看的腳本是| Differential-Data-Collect-Gain.py |。運行此腳本,它將采集100個電壓數(shù)據(jù)樣本,并將這100條信息存儲在名為| Geophone_Data.txt |的CSV(逗號分隔值)文件中,每個數(shù)據(jù)點之間用新行分隔。如果此文本文件尚未創(chuàng)建,它將創(chuàng)建此文件。另外,請注意,每次運行此腳本時,它都會重寫該文本文件。采集毫伏數(shù)據(jù)后,它還將打印到shell上采集數(shù)據(jù)所需的確切時間。請查看下面此腳本運行的圖片。

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

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

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

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

這開啟了一個有趣的控制世界,其中設(shè)置在墻后的設(shè)備,傳感器完全不在視線范圍內(nèi),仍然可以完全感知并控制連接的硬件。假設(shè)您晚上在家中走動,您的系統(tǒng)將確切知道您在哪里以及您在家中的方向。然后,它可以自動打開燈,照亮您走過的路徑。它還可以用作秘密方法,跟蹤走過特定位置的人數(shù)。
腳本和產(chǎn)品數(shù)據(jù)表下載區(qū)(外加一些歷史)
據(jù)傳,公元132年,中國漢朝的張衡發(fā)明了第一個地震儀,稱為候風(fēng)地動儀。這翻譯為“測量季節(jié)性風(fēng)和地球運動的儀器”。描述稱,它是一個大型青銅容器,直徑約2米。頂部八個點有龍首,龍首中持有青銅球。然后,當?shù)卣鸢l(fā)生時,龍嘴之一會打開,將其球落入底部的青銅蟾蜍中,發(fā)出聲音并指示地震的方向。此地震儀記錄的第一次地震被確定為來自東方。幾天后,一位來自東方的騎手報告了這次地震。
-
adc
+關(guān)注
關(guān)注
100文章
7846瀏覽量
556686 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8559瀏覽量
137152 -
樹莓派
+關(guān)注
關(guān)注
122文章
2081瀏覽量
110703
發(fā)布評論請先 登錄
樹莓派制作地震預(yù)警設(shè)備 總造價不超過110美元
樹莓派內(nèi)部有ADC 和 DAC嗎
學(xué)習(xí)樹莓派之前,該學(xué)啥,需要學(xué)會32嗎,或者需要學(xué)會51嗎
樹莓派的種類_樹莓派安裝教程
樹莓派3wifi配置_樹莓派3開啟wifi熱點_樹莓派3的wifi使用教程
樹莓派3硬件配置_樹莓派3都能裝什么系統(tǒng)_樹莓派3系統(tǒng)安裝教程
一塊神奇的樹莓派電子板竟讓我學(xué)會了Linux系統(tǒng)
樹莓派是什么樹莓派的簡單介紹
樹莓派IO擴展板的技術(shù)規(guī)格 樹莓派擴展板該怎么用
樹莓派控制步進電機
樹莓派分類器:用樹莓派識別不同型號的樹莓派!
學(xué)會了嘛?使用樹莓派和 ADC 檢測地震!
評論