前言
闊別一段時間的傳感器應用又再重臨。這次介紹的是 AS3935 雷暴檢測器。
論這個系列編寫之難,在於 sensor 科技應用在手提電話,平板電腦中太普及了。由 GPS、指南針、多軸加速、温濕、氣壓等等 sensor 好似唔駛錢咁放哂落去;正所謂英雄見慣亦凡人,盡管自前文輻射傳感器後也試了一大堆環境數據檢測 sensor;但花時間寫出來是沒看頭的,還是自娛罷了。
OK,Why AS3935
就現有一般的民用手提裝置,至今未見配備這種 sensor。可為大家帶來一點新 idea。
有別於傳統的 DIY 雷暴偵測 (鐵粉芯繞線圈 or 大天線 ),或用接收機收 VLF 去監聽雷暴所產生的電磁波噪聲。
以上兩圖轉自 http://members.inode.at/576265/lr.htm
承上一點,如要測量雷暴距離和大約位置,還需多個固定間距的接收器,連 driving circuit。
AS3935 為一小型,獨立運作己可測量與雷暴的距離,有效半徑達 40km。湛新的設計令其獲得 2012 傳感器設計大獎。
半徑達 40km,將之放在香港中心,足以覆蓋香港全境
可調的背影噪聲與靈敏度,並能辦識和排除環境噪聲以提高精準度。
AS3935 可以 SPI,IIC 操控,方便用於 Rpi 或 Arduino 上。
雷暴檢測技術
這裡淺談一下雷暴檢測技術原理,一圖勝千文。
Picture from 29TOASCJ.pdf
以下兩網站詳解有關技術。
簡單來說,雷暴產生一系列 EMP 電磁脈衝。過往舊技術只是用大天線探測 VLF 噪聲。轉換線路將訊號檢波化為聲頻,輸入電腦 sound card 處理。這是 analog 年代的產物。
現在,AS3935 則主要檢測雷暴所產生電磁脈衝的特有 signature,在小型化與檢測頻率取捨下,是以 500kHz 為中心頻率檢測。
Picture from AS3935 資料
專業,納稅人附鈔的是這樣玩的。天文台的閃電探測站設立地點。
Picture from http://www.hko.gov.hk/wxinfo/llis/locationc.htm
天文台的閃電檢測系統,個 sensor 大到成個炮彈咁。
以上兩圖 capture 自天文台 YouTube 頻道
與之相比 AS3935 的 coil,就是蚊肶和牛肶的分別。
Raspberry Pi vs Arduino
承上提到,AS3935 有兩種通聯方法,我以 IIC 為主,初測用我的至愛 Rpi。
這是我的 Rpi notebook,主要用作手提 all-in-one 測試平台。但用在望天打掛的場合,不太適宜。原因在於既要 boot 機,登入和執行相關程式碼,隨時已雨過天晴。
一種小型,開機即運行,無需額外照顧的檢測方案是必需的,可行到邊試到邊。
網上搜查發現日本廠商做了個 Arduino solution 出來。
http://akizukidenshi.com/catalog/g/gK-08685/
就 Arduino 的應用,我以前是很抗拒的。原因是 boot loader 佔了 MCU 資源外,我也有原整的開發平台。
但現在則面對現實,以被佔了 MCU 資源換取一個字:快。反正 atmega328 的內存也用不盡;由零自己寫更浪費寶貴的公餘時間。
這是我的 Arduino AS3935 測試板。就我對 Arduino 的應用,最終是將 program 下載到 atmega328 mcu 直接運行;盡管這些國內 clone 的 Arduino 價錢只十多元。留意 AS3935 的接線要公整,線圈下方不應有金屬 (除去萬用板的銅箔)。
電源要乾淨 (在 AS3935 模組下加 Tan cap,104 ceramic cap)。否則很易 pick up noise。這是以 Rpi 配麵包板測試時效果不穩定的教訓。
下載日本 Arduino Sketch 到我的測試板上,係唔 work 的。世上沒有不勞而獲的午餐。
細研程式,主因:
- 原程式 AS3935 的 IIC address 為第一代的,現需改為0x30
- IIC LCD 的 address 也和我的不同
- 那塊 IIC LCD,應是日本自家產品。其中程式 LCD 部分和一般用開的不同,需重寫
小問題,唔 work 改到 work。與原著相比,我的版本改動如下:
- LCD 的 IIC 驅動是 Arduino 世界最常見的開源方案。方便日本以外的同好使用
- 原著一些字詞用了全大階,或幾大幾細。我全改為較美觀的起始大階後細階格式
- indoor 參數據我的認知改為 0b10010
- 新一代的 AS3935 的 IIC address 是 0x30
- 原作的檢測值,即能量數值和估計距離顯示約 1.3 秒後即被清除。這對影相紀錄和我這個反應遲鈍的人不是好的設計。我將最後檢測到的數值保留,直至下個雷暴數值取代現有數值
以上改動也不需多少時間,一兩晚即可。這個程式是人家辛勞並免費給公眾使用的。所以我 update 後的也同樣上載免費給公眾使用。
附加東西如 IIC LCD 驅動已 pack 到一個 zip file,請到下連結下載。用法,線路請參考原檔案內的 pdf 。他用的是 Ardunio UNO,我則是 Nano。MCU 同是 Atmel AVR Atmega328,兩者對我來說是一樣的東西。
我的版本下載 link
模擬測試
這是環境檢測最麻煩的一環,四個字:望天打掛。
唔行雷閃電,就真坐下度。但總不能每晚到家附近的山丘餵蚊等雷劈。
Photo from mouser 網站
AS3935 有配套的 thunder storm simulator,並可調較輸出能量(距離值)。盛惠約港幣兩千元….,算吧啦。
要自製雷擊,從基本想起,即火花產生器。方法有二:
一/ 較安全的是電子點火槍
但實戰發現,以連續,密集的觸發電子點火槍,大部份時間只能產生環境噪聲。偶有一兩次成功被認為是近距離雷擊,但是偶然,不能有效重覆的。
二/ 瞬間電感短路
我將手上有的電感器數值比較一下,發現 100Mh,粗銅線的反應較強烈。先將 power supply 調到約 9-10V 和負極接到電感一端,快手地將正極 short 一下到電感的另一端,就可產生猛烈的火花。
人工觸發,多被誤認為是頭頂雷擊
但不要如第一方法般,頻密爆火花,這會令 power supply,以至電感產生高温。
危險:留意電感器是一個線圈,再說白一點就是一條銅線而已。直接接上 power supply 即是將你的 power supply 短路。使用這個方法前請先確保你的 power supply 有限流保護,過熱保護等等安全設施。如只有一些膠殼,直插 AC 電源的變壓火牛;本身電學知識又貧乏,請勿嘗試此方法。
寫到這裡,應有人會問,又話會辦識和排除環境噪聲;咁人工觸發又 work,即係流啦。人工觸發成功在於你要讓個 circuit 很易 pickup noise。
秘技在於想試人工觸發,請用電話的 5V USB 火牛供電,咁你會有機會成事。如以電池供電,實測以上兩種方法都沒甚效果。
AS3935 有一重要參數需設定,這是 indoor/outdoor 值。Indoor 即將靈敏度調高,outdoor 則相反降低之。這個參數當初令我很高興,以為安坐家中,見到雷電閃光後就有野睇。但實戰發現,不到窗邊,騎樓等外向地方,難有作為。
香港高樓大廈臨立,如在市區測試,將靈敏度調高很正常。但代價是較易因環境噪聲而顯示偵測到噪音。
實戰測試
機會來了。
8月9日大清早的紅色暴雨,連帶強烈雷暴。終於可在騎樓位置,長時間檢測到雷暴的能量值和估計距離。
這條片是淩晨 4 點睡覺,晨早 6 時多被雷轟醒而爬起來測試;半夢半醒下不如拍多條片交貨而來的,去片:
8月21日凌晨的黃色暴雨,連帶強烈雷暴。
8月28日凌晨的紅色暴雨連雷暴。
這次雷暴明顯較遠(雷聲較細),測到距離 8km – 24 km。
綜合以上三次測試,Home Base 環境只能感應到 24km 以內的雷暴。但三次皆是配有黃紅普遍地區大雨。之前的只行雷沒有雨,和白天的旱天雷走到戶外皆沒反應。
究竟是大雨濕度上升,令電磁波傳送較好而 pick up 到,或環境所限要有強烈雷暴才可觸發到,對我是一條 open question。要繼續測試才可下結論。
與 APRS 結合的應用狂想
要在 Google map 上 plot 個圓形不難,但在 aprs.fi 上我詳閱份 spec 未發現可獨立成圖。Well,機器係死,人係生嘅,人生存就是要不斷解決問題。
這是 aprs.fi 開啟了 PHG 覆蓋評估圖的效果
騎呢做法係應用 Omni directional PHG 天線參數評估覆蓋範圍的圓圈,去扮個閃電距離圖。算試是公開的,由覆蓋結果推回 PHG 值,放到 aprs string 內發出即可。
只需三套系統,發出三個 PHG 圓圈,重疊區就是雷暴的大約位置了。
效果模擬圖
當然,這個方法會令 APRS 地圖太沉重,什麼都放哂落去。另起一個 map 網站,利用 Google API plot 較為理想。
What’s more
http://www.lightningmaps.org 是一個互網聯上的世界閃電實時網站,從用家分佈來看主要是歐洲同好的天下。
雖他們有自己的方案 (鐵粉芯繞線圈),但我也在 YouTube 見過用 AS3935 的。
總結
不經不覺,這個 Blog 運作 4 年了。而本篇正是第 100 篇文章。下篇就此發表一下偉論。