黃景煦,莫麗薇,于米提江·奧布力,劉璇,王雪茹
(北京信息科技大學(xué),北京,100089)
關(guān)鍵字:Arduino;無(wú)人機(jī);空氣質(zhì)量監(jiān)測(cè)
在二十世紀(jì)八十年代初,一些發(fā)達(dá)國(guó)家逐步建立了自動(dòng)連續(xù)的空氣質(zhì)量監(jiān)測(cè)系統(tǒng)還有宏觀的生態(tài)監(jiān)測(cè)系統(tǒng),為了有效監(jiān)管空氣質(zhì)量的動(dòng)態(tài)變化。我國(guó)作為一個(gè)制造業(yè)大國(guó),工業(yè)水平位居世界前列,但是我國(guó)空氣質(zhì)量檢測(cè)裝置跟不上我國(guó)工業(yè)水平的發(fā)展,在這方面距離發(fā)達(dá)國(guó)家還存在一定的距離,導(dǎo)致監(jiān)管部門(mén)無(wú)法有效的監(jiān)管大量的工廠。本課題主要是設(shè)計(jì)基于Arduino的無(wú)人機(jī)空氣質(zhì)量檢測(cè)裝置,通過(guò)無(wú)人機(jī)檢測(cè)在高空煙囪、管道等周?chē)挠泻怏w的濃度,通過(guò)收集的數(shù)據(jù)檢測(cè)該區(qū)域的空氣質(zhì)量,從而采取措施改善空氣質(zhì)量,從而改善人們的生存環(huán)境[1]。
此空氣質(zhì)量的監(jiān)測(cè)模塊由下位機(jī),存儲(chǔ)模塊以及通信模塊構(gòu)成,對(duì)處理系統(tǒng)的相關(guān)設(shè)計(jì)如圖1所示。圖示中的下位機(jī)包括,顯示器、傳感器模塊和Arduino的開(kāi)發(fā)板。存儲(chǔ)模塊包括Micro SD讀寫(xiě)模塊和Micro SD卡,將空氣質(zhì)量傳感器所采集到的數(shù)據(jù)保存在Micro SD卡內(nèi),而通信模塊將收集到的數(shù)據(jù)實(shí)時(shí)傳輸給上位機(jī),譬如我們經(jīng)常使用手機(jī)連接電腦一樣。通過(guò)上位機(jī)軟件處理數(shù)據(jù),從而繪制出對(duì)應(yīng)的空氣中有害氣體參數(shù)變化的曲線圖,本處理系統(tǒng)采用存儲(chǔ)模塊和通信模塊并行使用,完成測(cè)量參數(shù)的顯示。

圖1 處理系統(tǒng)整體框架
Arduino是全球最流行的開(kāi)源硬件,Arduino Mega2560主板是Arduino各型號(hào)主板中引腳、串口、儲(chǔ)存比較多的一種。Arduino Mega2560采用的核心電路板接口是USB接口,同時(shí)它含有五十四路數(shù)字輸入輸出串口,而采用十五路模擬輸入,四路UART接口以及一個(gè)USB接口等。
MQ-135空氣質(zhì)量傳感器,使用的材料是二氧化錫,這種材料很容易接收到氣體信號(hào)且在空氣中電導(dǎo)率較低。當(dāng)傳感器身處的環(huán)境中有著一定濃度的污染物氣體時(shí),傳感器的電導(dǎo)率就會(huì)隨著空氣中污染物氣體的濃度的改變而隨之改變。通過(guò)使用簡(jiǎn)單的電路,傳感器電導(dǎo)率的變化可以轉(zhuǎn)換為對(duì)應(yīng)于氣體濃度的輸出信號(hào)。
MQ-135傳感器對(duì)NH3、硫化物、苯系蒸汽等氣體的靈敏度相對(duì)其他氣體傳感器來(lái)說(shuō)較高,氣體元件測(cè)試濃度的范圍為十到一千,對(duì)于一些可見(jiàn)度小的污染物的監(jiān)測(cè)效果很好,該空氣質(zhì)量傳感器是一個(gè)適用范圍廣且成本還很低的硬件。
二氧化硫傳感器檢測(cè)空氣中的SO2濃度有非常大的優(yōu)越性,它尺寸小Φ20×16.5,二氧化硫檢測(cè)范圍0-20ppm,最大檢測(cè)濃度2000ppm。它的特點(diǎn)為電流的靈敏度比較高、響應(yīng)時(shí)間短、并且受溫度及濕度的影響小、穩(wěn)定性強(qiáng)等特點(diǎn)。
將二氧化硫傳感器安裝到氣體模組測(cè)試套件上,將傳感器收集的信號(hào)通過(guò)氣體模組測(cè)試套件轉(zhuǎn)化為USB信號(hào),在上位機(jī)軟件上顯示,測(cè)試MQ-135空氣質(zhì)量傳感器的檢測(cè)氣體數(shù)據(jù)的準(zhǔn)確性,通過(guò)氣體模組測(cè)試套件與MQ-135空氣質(zhì)量檢測(cè)的數(shù)據(jù)對(duì)比,便于分析MQ-135空氣質(zhì)量傳感器檢測(cè)的氣體種類(lèi)。
Micro SD卡讀寫(xiě)模塊采用的SPI接口程序,Arduino IDE 自帶SPI庫(kù)文件和SD卡程序庫(kù),通過(guò)SPI驅(qū)動(dòng)程序,單片機(jī)可對(duì)Micro SD卡進(jìn)行讀寫(xiě),讀寫(xiě)模塊支持Micro SD卡、Micro SDHC卡(高速卡),讀卡模塊通信接口為SPI接口。
無(wú)人機(jī)選用F450型號(hào)的無(wú)人機(jī),該型號(hào)的無(wú)人機(jī)飛行高度可達(dá)800-1000m,續(xù)航時(shí)間可達(dá)十五分鐘左右,便于操控,性能穩(wěn)定。
對(duì)于編程語(yǔ)言的選擇,我們選用的是一種較為靈活且特別容易掌握和上手的開(kāi)發(fā)平臺(tái)——Arduino開(kāi)發(fā)平臺(tái),它包含了硬件和軟件,對(duì)于學(xué)過(guò)C語(yǔ)言以及Java的人來(lái)說(shuō)會(huì)更容易上手一點(diǎn),因?yàn)榇司幊陶Z(yǔ)言具有和這兩種語(yǔ)言類(lèi)似的開(kāi)發(fā)環(huán)境,主控芯片主要是AVR單片機(jī)和ARM芯片。同時(shí)Arduino平臺(tái)還具有跨平臺(tái)的特點(diǎn),比如電腦上安裝了虛擬機(jī),就可以在三大常用的操作系統(tǒng)上運(yùn)行,然而除此之外大多數(shù)只能在Windows上開(kāi)發(fā);此外Arduino語(yǔ)言比較簡(jiǎn)單清晰,對(duì)于初學(xué)者來(lái)說(shuō)極其容易上手,只需要簡(jiǎn)單學(xué)習(xí)就可以嘗試進(jìn)行開(kāi)發(fā);還具有開(kāi)放性的特點(diǎn),因?yàn)樗囊恍┙M件都是開(kāi)源的,也就是說(shuō)可以免費(fèi)下載使用,并且修改其代碼。隨著科技的發(fā)展和進(jìn)步,互聯(lián)網(wǎng)時(shí)代的迅速發(fā)展,越來(lái)越多的人開(kāi)始并喜歡使用Arduino開(kāi)發(fā)語(yǔ)言,特別是在大學(xué)里,對(duì)于一些軟件開(kāi)發(fā)者,無(wú)論是計(jì)算機(jī)、自動(dòng)化、軟件等專(zhuān)業(yè),還是一些相關(guān)社團(tuán),比如無(wú)人機(jī),機(jī)器人等,都會(huì)用到此開(kāi)發(fā)語(yǔ)言,特別是一些大創(chuàng)或者其他的創(chuàng)新創(chuàng)業(yè)類(lèi)項(xiàng)目,幾乎都會(huì)用到此Arduino來(lái)進(jìn)行開(kāi)發(fā)。
系統(tǒng)軟件主要由MQ-135空氣質(zhì)量傳感器,存儲(chǔ)模塊,下位機(jī)軟件系統(tǒng)根據(jù)系統(tǒng)需要實(shí)現(xiàn)的功能編輯,主要負(fù)責(zé)下位機(jī)的一些數(shù)據(jù)采集,傳輸,存儲(chǔ)的接口,以實(shí)現(xiàn)數(shù)據(jù)的采集和儲(chǔ)存。
一開(kāi)始我們對(duì)系統(tǒng)進(jìn)行了初始化,完成后,利用傳感器進(jìn)行數(shù)據(jù)的采集,采集數(shù)據(jù)后將數(shù)據(jù)傳輸給上述所示的單片機(jī)中,通過(guò)Micro SD讀卡器將收集的數(shù)據(jù)儲(chǔ)存在Micro SD卡內(nèi)。
為測(cè)試本處理系統(tǒng)的有效性,分別對(duì)系統(tǒng)的硬件和軟件進(jìn)行測(cè)試。
首先,需要特別詳細(xì)的檢查各模塊一些暴露在外界的部分是否存在相互接觸的情況,線路和對(duì)應(yīng)的端口是否接錯(cuò),接下來(lái)我們用到的工具是萬(wàn)用表,它可以檢查出線路是否存在短路或者是有斷路的地方。完成以上操作后,我們則需讓電源處于通電狀態(tài)即可,觀察各模塊的工作狀態(tài)是否正常,存不存在一些不正常的發(fā)熱,閃爍現(xiàn)象,若上述的一切都正常,則模塊硬件調(diào)試完成[2]。
無(wú)人機(jī)的調(diào)試工作主要包括飛行控制系統(tǒng)參數(shù)的調(diào)節(jié),檢查無(wú)人機(jī)的連線情況,在不搭載任何物品的情況下進(jìn)行試飛。多次試飛無(wú)異常情況,則無(wú)人機(jī)調(diào)試完成。
系統(tǒng)軟件部分編輯完成后,我們就可以采用 Arduino 開(kāi)發(fā)平臺(tái)為我們所提供的一系列工具進(jìn)行真實(shí)的模擬,與此同時(shí)再完成最后的調(diào)試。在調(diào)試期間,我們需要將此和我們的電腦進(jìn)行連接,并且需要將程序上傳到之前所用到的單片機(jī)中,通過(guò)Micro SD讀卡器將存儲(chǔ)在卡上的的數(shù)據(jù)顯示在我們所能看到的監(jiān)視器上,并通過(guò)點(diǎn)燃火柴產(chǎn)生氣體,觀察監(jiān)視器顯示的數(shù)據(jù)波動(dòng)情況。需要注意的一點(diǎn)是,我們需要在調(diào)試的過(guò)程中不斷進(jìn)行修改,使系統(tǒng)實(shí)現(xiàn)預(yù)期的功能。
本運(yùn)行系統(tǒng)采用氣體傳感器,單片機(jī)和上位機(jī)軟件的結(jié)合,搭建了一個(gè)具有完備功能的空氣質(zhì)量檢測(cè)裝置。集單片機(jī),傳感器,無(wú)人機(jī)平臺(tái),上位機(jī)軟件于一體。可在性能方面上對(duì)硬件進(jìn)行改造,增大檢測(cè)的精度,增大檢測(cè)數(shù)據(jù)的準(zhǔn)確性。