張常華 李仕昆 張澤棟 曾研
【關(guān)鍵詞】氣體傳感器;人工神經(jīng)網(wǎng)絡(luò);神經(jīng)元
本文基于神經(jīng)網(wǎng)絡(luò)對多種傳感器監(jiān)測的數(shù)據(jù)進(jìn)行融合迭代處理,來解決氣體傳感器的測量誤差,得到相對準(zhǔn)確的氣體濃度值。在神經(jīng)網(wǎng)絡(luò)對采集氣體進(jìn)行處理后,周圍環(huán)境的氣體濃度值能夠在便捷裝置上更新顯示。
便攜多氣體監(jiān)測設(shè)備的系統(tǒng)總體框架如圖1所示,設(shè)備由電源、移動終端、傳感器監(jiān)測模塊、藍(lán)牙模塊和STM32F405RGT為主控芯片的單片機(jī)組成。設(shè)計為了滿足設(shè)備能夠隨身攜帶的特點和本著環(huán)保的原則,同時讓其具備安全性能良好的優(yōu)點,采取了可充電式電池作為電源,通過電源模塊給整個設(shè)備供給所需的電力。由于該設(shè)計用到的模塊比較多,傳感器和單片機(jī)的接口無法滿足模塊允許所需要的電壓,因此在電池供電后,設(shè)計降壓穩(wěn)壓電路(如圖2所示),輸出傳感器等設(shè)備運(yùn)行所需要的電壓。在電源模塊中利用5-3.3V的降壓電路,給STM32F405RGT6為主控芯片的電路板供電,在電路中留出引腳給現(xiàn)有的傳感器(溫濕度壓強(qiáng)綜合的傳感器、氧氣傳感器、二氧化碳一氧化碳TVOC傳感器、苯甲醛傳感器)、蜂鳴器進(jìn)行連接。以及給出一個I/O口于藍(lán)牙模塊,連接電路與藍(lán)牙模塊,使單片機(jī)能夠?qū)⒔?jīng)神經(jīng)網(wǎng)絡(luò)處理后的相對準(zhǔn)確的氣體濃度值通過藍(lán)牙模塊傳輸給對應(yīng)設(shè)計的手機(jī)APP上。
該設(shè)備能夠?qū)怏w傳感器數(shù)據(jù)與周圍環(huán)境參數(shù)經(jīng)過神經(jīng)網(wǎng)絡(luò)處理,處理后得到相對準(zhǔn)確的氣體濃度值數(shù)據(jù),單片機(jī)再通過藍(lán)牙模塊將氣體濃度值發(fā)送給移動終端,并在終端顯示氣體濃度。如果濃度達(dá)到危害到人體健康的閾值,設(shè)備將會通過蜂鳴器進(jìn)行提示,危害程度越大,蜂鳴器所造成的聲音越尖銳,并在終端上對設(shè)備持有人提示危害程度。
監(jiān)測采用多種高靈敏度的氣體傳感器監(jiān)測周圍的環(huán)境,通過傳感器多次采集的數(shù)據(jù)與神經(jīng)網(wǎng)絡(luò)的處理得到氣體相對準(zhǔn)確的濃度。當(dāng)氣體濃度過高或過低偏離正常人體健康所需的正常值,設(shè)備將會報警,并且對相關(guān)人員的移動終端及時推送危害程度。
移動終端APP在被打開后,顯示出需要監(jiān)測的環(huán)境參數(shù),然后檢測藍(lán)牙模塊與單片機(jī)連接是否正常。若連接正常,APP向單片機(jī)發(fā)送獲取各類環(huán)境參數(shù)的命令,讓傳感器對各種環(huán)境參數(shù)進(jìn)行采集,經(jīng)過單片機(jī)采集處理后的數(shù)據(jù)通過藍(lán)牙將數(shù)據(jù)返回至移動終端顯出來。如圖3所示
溫濕度壓強(qiáng)傳感器和多種氣體傳感器通過神經(jīng)網(wǎng)絡(luò)處理采集后的數(shù)據(jù),再由藍(lán)牙模塊將數(shù)據(jù)傳輸至終端APP,并將處理后相對準(zhǔn)確的數(shù)據(jù)在軟件界面進(jìn)行顯示,圖4為該設(shè)備在檢測時的顯示狀況。從圖中可以能夠看出測量后的各種環(huán)境參數(shù)。
在識別混合氣體的成分中,最常用的方法是先將各種氣體分離,然后分別裝入不同的傳感器進(jìn)行檢測,但隨著人工智能發(fā)展,不再需要人工進(jìn)行氣體分離,而是采用之前所得到的數(shù)據(jù)進(jìn)行分析。模擬人工神經(jīng)網(wǎng)絡(luò)的方法,在傳統(tǒng)的方法中是循環(huán)伏安測量法:利用箔電極具有透氣性,氣體能透過箔電極與電極之間的電解質(zhì)發(fā)生電離反應(yīng)[1],不同氣體在反應(yīng)的時候產(chǎn)生的伏安曲線不同,再通過多種不同的傳感器,可以識別出多種復(fù)雜的氣體,利用不同氣體所表現(xiàn)的特征伏安曲線的不同,識別出與之相對應(yīng)的氣體。
而人工神經(jīng)網(wǎng)絡(luò)是一個非線性的并行處理系統(tǒng), 采用分布式存儲結(jié)構(gòu),信息 分布在神經(jīng)元之間的連接強(qiáng)度(即權(quán)重) 上,不同于傳統(tǒng)的程序,其不是有順序地進(jìn)行,而是通過對原有的樣本進(jìn)行學(xué)習(xí),然后不斷改變不同神經(jīng)元之間的權(quán)重,在模擬中學(xué)習(xí)。而智能傳感器就是采用的人工神經(jīng)網(wǎng)絡(luò)的方式, 如三層前饋網(wǎng)絡(luò),即:輸入層、隱含層(中間層)和輸出層。各層之間實現(xiàn)全連接。[2](如下圖所示)
神經(jīng)元與神經(jīng)元之間的連接強(qiáng)度稱為權(quán)重, 求和則得到該節(jié)點的凈輸入。在不同的輸入信號作用下對其進(jìn)行相對應(yīng)功能函數(shù)的計算,產(chǎn)生輸出信號(如圖6)。在智能微傳感器的人工神經(jīng)網(wǎng)絡(luò)中,我們設(shè)置了多種氣體作為特征標(biāo)識,每種氣體通過循環(huán)伏安法測得到三條特性曲線, 其中二條曲線的數(shù)據(jù)用于訓(xùn)練, 另一個用于修正訓(xùn)練期間產(chǎn)生的錯誤,將測得的伏安特性曲線作為輸入端,最終進(jìn)行氣體的辨識。
網(wǎng)絡(luò)進(jìn)行氣體的識別過程主要分為五個步驟:(1)確定氣體傳感器陣列的維度;(2)對氣體進(jìn)行采樣;(3)構(gòu)造 BP 神經(jīng)網(wǎng)絡(luò);(4)對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練; (5)檢驗 BP 神經(jīng)網(wǎng)絡(luò)辨識結(jié)果的正確率[3]。
人工神經(jīng)網(wǎng)絡(luò)和傳感器陣列技術(shù)相結(jié)合的方法對混合氣體檢測這一方面的研究效果拔群, 通過大量的實踐證明,該方法對未知氣體的識別可以高達(dá)100%,除此之外在定量識別方面,最小誤差可控制在4.49%以內(nèi),可以滿足我們?nèi)粘I畹男枨蟆?/p>
基于STM32單片機(jī)的多氣體濃度監(jiān)測設(shè)備,硬件采用了多模塊進(jìn)行設(shè)計,軟件代碼以神經(jīng)網(wǎng)絡(luò)處理和機(jī)器學(xué)習(xí)為主,使系統(tǒng)具有高精度,抗干擾能力強(qiáng)的特點,能夠準(zhǔn)確得到空氣中主流氣體濃度是否超標(biāo)的信息,適用于各種室內(nèi)場所,同時有著蜂鳴器模塊在濃度超標(biāo)時會進(jìn)行報警。多個模塊都已經(jīng)屬于成熟的技術(shù),多模塊組合的結(jié)構(gòu)也能使得設(shè)備的具有低功耗的特點。