很久很久以前,在遙遠的北愛爾蘭,一位靠譜的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分鐘的記錄圖。
● 第一排的前兩個圖形是我用手指敲了敲房頂,然后關上了我工作室的門,其他的都是背景噪聲。很明顯我的設備超級靈敏的,這樣靈敏的結果就是當地震真正來時,在驚慌中你會發現所有震動都會跳出振幅的閾值,圖像被紅線填滿了。如果此時你還會想要估計地震的強度,參考顯示器本身的跳動幅度會更加準確。
最后再做一點說明,地震監測、地震預警、還有地震預報都是不一樣的概念。簡單的說:地震監測是要在地震來時采集地震的數據和強度;地震預警是要在地震第一波較弱震動到來時,及時預警下一波更強烈的地震;而在現有條件下,地震預報則是不靠譜的、希望能完全提前預報地震的手段。本文中的這個“地震儀”,應該說是一個不錯的震動監測儀,不過如果有高人改裝一下,能做成個地震預警裝置也說不定的,DIY裝置什么的,可都是潛力股哦~
??????? 附程序代碼:
10 REM Quaker
20 REM Simple earth quake detector demonstration
30 REM Needs Velleman K8055 USB Experiment Interface board
40 REM Jochen Lueg
50 REM December 2009
60
70 MODE 15
80
90 REM Find dll routines addresses
100 PROCinit
110
120 VDU5
130 REM Turn board 0 on
140 SYS USB_OpenDevice%,0
150 CLG
160
170 MOUSE ON
180
190 COLOUR 5
200 MOVE 10,1000
210 PRINT“Press the left mouse button to start”
220 MOVE 10,960
230 PRINT “Press the right button to pause”
240 REPEAT
250 MOUSE x%,x%,b%
260 UNTIL b%=4
270 CLG
280 GCOL 5
290 REM Start at the top of the screen and repeat until you reach the bottom - 5 traces
300
310 REPEAT
320 CLG
330 FOR Y%= 1800 TO 200 STEP -200
340
350 FOR X%= 0 TO 2559 STEP 2
360 SYS A%,1 TO V%
370 PLOT 5, X%,Y%+V%*4
380 MOUSE x%,y%,b%
390 IF b%=1 THEN
400 REPEAT
410 MOUSE x%,y%,b%
420 UNTIL b%=4
430 ENDIF
440 NEXT
450 MOVE 0,Y%-200
460 NEXT
470 UNTIL FALSE
480 SYS USB_CloseDevice%
490
500 *QUIT
510
520 END
530
540 DEFPROCinit
550 REM Typing errors in routine name do not generate an error message - they just hang up the program.
560 SYS“LoadLibrary”,“K8055D.dll” 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
評論
查看更多