當前位置:米奇創意網>生活小發明>電子DIY>

地震監測儀:DIYer果斷變身“預警大師”手工電子DIY教程

電子DIY 閲讀(7.8K)

地震監測儀:DIYer果斷變身“預警大師”

很久很久以前,在遙遠的北愛爾蘭,一位靠譜的DIYer做出了一個“靠譜的地震儀”。他表示這個自制儀器可以檢測路過他家門口的卡車、暴躁鄰居的敲門聲、和一英里外打樁機的打樁頻率,但是鑑於北愛爾蘭空白的有點可恥的地震記錄,一次地震也沒檢測出來(這個唯恐地球不震的DIYer此處表示了非常遺憾)。於是作為一位靠譜的譯者,為表達對自制靠譜地震儀行為本身由衷的敬意,我鄭重的在靠譜地震儀的前面加上了一個表示濃濃愛意“卟”字,是的如果你願意讀做“不”也可以的。下面我們就來看看這位北愛爾蘭的朋友是怎麼把自己武裝成地震監測“卟”專家的~

大部分地震監測儀的核心裝置,簡單説起來就是在磁場中懸掛一個固定有線圈的重物。當發生地震時,地面帶動設備中產生磁場的磁鐵一起震動,而線圈卻因為懸掛重物的慣性保持基本靜止。這時線圈因為切割磁力線產生了感應電流,採集這個信號,再做一些濾波和阻尼處理,就可以得到有意義的信息。

 

我的地震儀採用了一個低阻抗的半成品檢測器,自帶阻尼功能,這是設備的系統原理框圖。

 

運動傳感器● 這就是整個設備的照片,醜是醜點,但是很實用的。A和B是兩個廢棄的硬盤,這裏我們去掉磁碟,只使用它的磁頭臂。

● 磁頭臂在硬盤中工作時,由音圈電機驅動。電機驅動器給音圈電機中線圈通電,線圈就會帶動磁頭臂移動。與其他所有電機相同,音圈電機也能反着用,也就是説當移動磁頭臂時,音圈電機中的線圈裏就會產生一股電流。我們可以放大這個電流信號,再把它採集到電腦中去。

● C是個很重很重的鉛塊,是從我家奇怪的天花板上剝下來的,這裏採用彈簧懸掛的方式掛在設備上。D是一個附着在鉛塊C上的傳動結構,負責把鉛塊C與底板的相對移動傳到硬盤的磁頭臂。兩塊硬盤的磁頭臂分別負責採集兩個方向的移動。E和F是兩個用以保證設備穩定的鉛塊。G是選擇開關,可以選擇採集A和/或B線圈中的信息。經過我的實驗,同時採集A和B線圈是最靠譜的。

● 當地震發生時,懸掛鉛塊C因為慣性基本保持不動,傳動結構D也相對C不動,但是這時E、F會隨地震震動,於是磁頭臂移動,A、B線圈產生出感應電流,地震就被檢測到了。

● 據我所知還沒有人這樣使用硬盤,所以這個地震儀應該是個原創發明,啊哈哈哈~

● 這個設備還有個優點。因為音圈電機本來就是要在高速下驅動磁頭臂,電機的阻抗特別低,所以電路基本不存在受到電磁干擾的問題。在旁邊工作着四台電腦和一個顯示器的情況下,信號都不會摻雜太多電源的噪聲。

 

放大器● 這是一個比較標準的放大器電路,用2個741運算放大器製作。整個電路由15V的正負雙電源驅動。

● 選擇開關可以選擇輸入L1和/或L2線圈(A、B音圈電機)中的信號。

● 當輸入信號時,R1或R2與R3匹配能使信號獲得1000或300倍的反向放大。因為要檢測的頻率很低(典型地震的頻率是1Hz或更低),我們的電路還是很可能獲得這麼高增益的。VR1是一個接調零端的10K微調電阻,用以調整輸出的直流模擬信號,方便進行模數轉換。R5和LED是電源指示燈。最後還要把整個電路的輸出接入單位增益緩衝器,好有足夠的電流去驅動8位數模轉換器。

● 如果要把設備放到一個地震頻發的地方去,就不需要這麼靈敏,可以把R1、R2換成阻值較小的電阻來減少放大倍數。不過要記得把R4也換成和R1、R2相近阻值的電阻。這個電路的放大倍數是-(R3/R1或R2),如果你想要100倍的反向放大,用個10K的電阻就可以實現。

 

● 這是我做的電路佈局,如果你需要可以RiscPC文件,可以聯繫我。

 

剩下的部分● 這幅圖上是全部電路設備,A是一個數模轉換板,上面插的是ZN449 8位數模轉換芯片,這是我最喜歡的一個多才多藝的芯片,我的人生因它而不同。雖然這麼説,只要與電腦匹配,別的8位數模轉換芯片也可以用的。B是電纜適配器。C是上一段説明過的放大器。

 

程序● 我編了個名叫!Quaker的小小共享程序用來記錄儀器的輸出。這個程序可以每5分鐘保存一副圖片,記錄這段時間內周圍發生的震動。如果和RiscOS4配合可以把好幾天的記錄都存在同一個目錄下面。下圖是軟件界面和5分鐘的記錄圖。

 

● 第一排的前兩個圖形是我用手指敲了敲房頂,然後關上了我工作室的門,其他的都是背景噪聲。很明顯我的設備超級靈敏的,這樣靈敏的結果就是當地震真正來時,在驚慌中你會發現所有震動都會跳出振幅的閾值,圖像被紅線填滿了。如果此時你還會想要估計地震的強度,參考顯示器本身的跳動幅度會更加準確。

 

程序代碼如下:

10 REM Quaker20 REM Simple earth quake detector demonstration30 REM Needs Velleman K8055 USB Experiment Interface board40 REM Jochen Lueg50 REM December 20096070 MODE 158090 REM Find dll routines addresses100 PROCinit110120 VDU5130 REM Turn board 0 on140 SYS USB_OpenDevice%,0150 CLG160170 MOUSE ON180190 COLOUR 5200 MOVE 10,1000210 PRINT"Press the left mouse button to start"220 MOVE 10,960230 PRINT "Press the right button to pause"240 REPEAT250   MOUSE x%,x%,b%260 UNTIL b%=4270 CLG280 GCOL 5290 REM Start at the top of the screen and repeat until you reach the bottom - 5 traces300310 REPEAT320   CLG330   FOR Y%= 1800 TO 200 STEP -200340350     FOR X%= 0 TO 2559 STEP 2360       SYS A%,1 TO V%370       PLOT 5, X%,Y%+V%*4380       MOUSE x%,y%,b%390       IF b%=1 THEN400         REPEAT410           MOUSE x%,y%,b%420         UNTIL b%=4430       ENDIF440     NEXT450     MOVE 0,Y%-200460   NEXT470 UNTIL FALSE480 SYS USB_CloseDevice%490500 *QUIT510520 END530540 DEFPROCinit550 REM  Typing errors in routine name do not generate an error message - they just hang up the program.560 SYS"LoadLibrary","" TO USB_Board%570 SYS"GetProcAddress",USB_Board%,"OpenDevice" TO USB_OpenDevice%580 SYS"GetProcAddress",USB_Board%,"ReadAnalogueChannel",1 TO USB_ReadAnalogue%590 SYS"GetProcAddress",USB_Board%,"SetAllDigital"  TO USB_SetAllDigital%600 SYS"GetProcAddress",USB_Board%,"CloseDevice" TO USB_CloseDevice%610 SYS"GetProcAddress",USB_Board%,"ClearAllDigital" TO USB_ClearAllDigital%620 SYS"GetProcAddress",USB_Board%,"ClearDigitalChannel" TO USB_ClearDigitalChannel%630 SYS"GetProcAddress",USB_Board%,"SetDigitalChannel" TO USB_SetDigitalChannel%640 SYS"GetProcAddress",USB_Board%,"ReadAnalogChannel" TO A%650 ENDPROC
 

最後再做一點説明,地震監測、地震預警、還有地震預報都是不一樣的概念。簡單的説:地震監測是要在地震來時採集地震的數據和強度;地震預警是要在地震第一波較弱震動到來時,及時預警下一波更強烈的地震;而在現有條件下,地震預報則是不靠譜的、希望能完全提前預報地震的手段。本文中的這個“地震儀”,應該説是一個不錯的震動監測儀,不過如果有高人改裝一下,能做成個地震預警裝置也説不定的,DIY裝置什麼的,可都是潛力股哦~