使用夏普GP2Y1010AU0F空氣質量傳感器檢測PM2.5值(個人手稿)

本文不涉及具體的電路設計和方案說明,只對Sharp GP2Y1010AU0F空氣質量傳感器的使用和計算做個筆記。


Sharp GP2Y1010AU0F空氣質量傳感器通過電壓信號來指示當前空氣質量(AQI),單位是mg/m^3,此爲國際標準計量單位,可通過計算公式直接得到我們通常意義上的0到500來表示的PM2.5值。


關於AQI的解釋,可搜索百度。

關於AQI和PM2.5值的計算公式,在百度AQI時可以得到。


對於目前網上流傳的有關GP2Y1010AU0F的使用、代碼及計算公式,基本都是來自一名叫Chris Nafis的網友。參見:http://www.howmuchsnow.com/arduino/airquality/


上文的中文譯文請見:http://www.guokr.com/article/434130/


Chris Nafis通過測算得到,AQI與傳感器輸出電壓存在:AQI = 0.172 x 輸出電壓 - 0.9999 的關係。


這一公式基本符合GP2Y1010AU0F官方datasheet所給出的數據,參見:https://www.sparkfun.com/datasheets/Sensors/gp2y1010au_e.pdf


經過實際操作和測量,我所讀取到的模擬輸出電壓值要遠高於Chris Nafis的平均低於0.05v的電壓水平(我的Vcc = 5.0v)。


如果用Chris Nafis提供的公式來計算AQI,然後再換算成PM2.5值,結果將遠高於真實水平


確保不是電路設計的問題後,經過仔細研究,發現GP2Y1010AU0F官方datasheet存在如下信息:

Output voltage at no dust (沒有粉塵時的理論輸出電壓)= 0.9v (Vcc @ 5v)


這一發現意味着,我的AQI與輸出電壓的關係應該是:


wKioL1MsgwejK3y-AABFBTFW4Wk626.png


註解:0.9v輸出時,AQI爲0(當然這是理想狀態),然後datasheet還說,每0.1mg/m^3的粉塵會增加輸出電壓0.5v,我以0.25v步進,得到上圖,得到如下公式:


AQI = 0.2 × 輸出電壓 - 0.18


這一公式顯然與Chris Nafis的存在較大差異,且比較“理想化”,但經過實際測量,結果與氣象臺的數據還是較爲吻合的。


考慮到GP2Y1010AU0F屬於廉價傳感器,在精準度上當然不能與工業級產品媲美,因此輸出結果也會有個體的較大差異。不過考慮到測量綜合數據的波形圖與較昂貴商業測試儀器所給出的測量波形圖基本一直,通過“人工校正”的方式來修飾數據結果應該是可行的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章