王靖懿,崔國(guó)強(qiáng),韓東奇,李 響,王英澤
(北方工業(yè)大學(xué) 信息學(xué)院,北京 100144)
近年來(lái),人們生活水平日益提高,人身保護(hù)和財(cái)產(chǎn)保護(hù)成為人們主要的關(guān)注點(diǎn)。在多種自然災(zāi)害中,火災(zāi)對(duì)于群眾的人身安全、財(cái)產(chǎn)安全最具殺傷力?;馂?zāi)發(fā)生的過(guò)程中會(huì)產(chǎn)生許多有害氣體,這些有害氣體在空氣中的含量超出一定的標(biāo)準(zhǔn)時(shí)就會(huì)對(duì)人體健康造成傷害[1-2]。目前市面上大多為有線(xiàn)攜帶式氣體檢測(cè)儀,需要親臨現(xiàn)場(chǎng)進(jìn)行氣體檢測(cè),無(wú)法實(shí)現(xiàn)對(duì)空氣中氣體的遠(yuǎn)程監(jiān)控。
本系統(tǒng)具有無(wú)線(xiàn)氣體探測(cè)功能和便攜等優(yōu)點(diǎn),將STM32、EVAL-CN0357氣體探測(cè)電路以及長(zhǎng)距離無(wú)線(xiàn)傳輸技術(shù)(Long Range, LoRa)相結(jié)合,利用電化學(xué)傳感器單電源、低噪音、便攜等優(yōu)勢(shì),將檢測(cè)電路檢測(cè)出的特定氣體信息通過(guò)無(wú)線(xiàn)通信LoRa模塊實(shí)現(xiàn)遠(yuǎn)程發(fā)送。本系統(tǒng)使用Alphasense公司出品的CO-AX傳感器實(shí)現(xiàn)CO探測(cè)。
系統(tǒng)包括氣體傳感器、無(wú)線(xiàn)發(fā)送LoRa模塊、前端放大電路、ADC讀取數(shù)據(jù)模塊、數(shù)據(jù)轉(zhuǎn)換模塊、MCU和LCD顯示屏。使用CO-AX傳感器測(cè)量CO氣體濃度,此傳感器最大響應(yīng)為100 nA/ppm,最大輸入為2 000 ppm。所用AD7790芯片為16位,具有精度高、單電源、噪聲小等優(yōu)點(diǎn)。將CO-AX傳感器與MCU連接,可將CO濃度數(shù)據(jù)顯示在LCD顯示屏上,并通過(guò)LoRa模塊發(fā)送到上機(jī)位。
系統(tǒng)硬件主要包括CN0357氣體探測(cè)電路、CO傳感器模塊、無(wú)線(xiàn)通信模塊。利用電化學(xué)傳感器對(duì)輸出高低電平和0X38波形進(jìn)行采集,通過(guò)電壓轉(zhuǎn)換公式得到數(shù)據(jù)后由SPI通道回傳,并在LCD屏上顯示,最終通過(guò)LoRa模塊傳輸至數(shù)據(jù)管理端。
系統(tǒng)的電化學(xué)氣體傳感測(cè)量電路檢測(cè)空氣中的CO濃度,然后經(jīng)電平轉(zhuǎn)換芯片將信息傳回AD7790芯片,STM32F103X通過(guò)SPI接收后將數(shù)據(jù)顯示到LCD屏上,最后通過(guò)無(wú)線(xiàn)通信模塊將數(shù)據(jù)傳至PC端[3]。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 硬件結(jié)構(gòu)
2.2.1 電化學(xué)傳感器測(cè)量電路
在電化學(xué)傳感器測(cè)量電路中,通過(guò)CO-AX檢測(cè)頭檢測(cè)對(duì)應(yīng)氣體的濃度,通過(guò)1管腳和2管腳傳送電流信號(hào),其中1管腳由CE流向ADA4528,2管腳流入WE,回傳到ADA4528的3管腳后再傳到放大器和AD7790,最后通過(guò)CO濃度與電壓轉(zhuǎn)換公式得到數(shù)據(jù)。電化學(xué)傳感器測(cè)量電路如圖2所示。
圖2 電化學(xué)傳感器測(cè)量電路
跨阻放大器計(jì)算公式:
CO濃度與電壓關(guān)系公式:
2.2.2 AD7790及應(yīng)用
AD7790是一款適合低頻測(cè)量的低功耗、完整模擬前端[4-5],內(nèi)置一個(gè)低噪聲16位Σ-Δ型ADC,一路差分輸入可配置為緩沖或無(wú)緩沖模式,此外還有一個(gè)增益可設(shè)置為1、2、4或8的數(shù)字PGA。從放大器ADA4528傳入的電壓信號(hào)通過(guò)3管腳進(jìn)入AD7790。采集數(shù)據(jù)并處理后,信號(hào)由9管腳輸出。AD7790驅(qū)動(dòng)電路如圖3 所示。
圖3 AD7790驅(qū)動(dòng)電路
2.2.3 LCD電路
LCD顯示屏通過(guò)在.C文件中引用聲明函數(shù)顯示所需的字、字符以及字符串,主要運(yùn)用CS、CLK、MOSI和MISO通過(guò)調(diào)節(jié)時(shí)序?qū)崿F(xiàn)[6],LCD電路如圖4所示。
圖4 LCD電路
2.2.4 有源蜂鳴器
蜂鳴器是電子信息傳遞裝置,采用3.3 V直流電壓供電。電磁式有源蜂鳴器自帶振蕩電路,初始化后,拉低管腳的電平,蜂鳴器發(fā)出聲響,反之蜂鳴器無(wú)反應(yīng)。STM32蜂鳴器電路如圖5所示。
圖5 STM32蜂鳴器電路
本設(shè)計(jì)使用Semetch公司出品的SX1278作為無(wú)線(xiàn)通信的載體,選用點(diǎn)對(duì)點(diǎn)透?jìng)髂J?。LoRa工作于半雙工模式,單片機(jī)端為發(fā)送端,PC端為接收端,利用USART發(fā)送AT命令進(jìn)行設(shè)置,電腦端可以通過(guò)上位機(jī)進(jìn)行設(shè)置。LoRa上電默認(rèn)為透?jìng)髂J?,將單片機(jī)端和電腦端的LoRa設(shè)置成相同的參數(shù)即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信[7]。
系統(tǒng)軟件部分主要包括系統(tǒng)模塊初始化、ADC讀取數(shù)據(jù)、數(shù)據(jù)轉(zhuǎn)化、LCD顯示、蜂鳴器報(bào)警和LoRa發(fā)送數(shù)據(jù)。軟件流程如圖6所示。
圖6 軟件流程
STM32讀取AD7790從CO感應(yīng)頭收集的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化為實(shí)際值后在LCD上顯示(當(dāng)超過(guò)設(shè)置的閾值時(shí),蜂鳴器鳴響),通過(guò)LoRa將數(shù)據(jù)傳輸至上位機(jī),用戶(hù)可以對(duì)數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)測(cè)。
本文以有害氣體無(wú)線(xiàn)監(jiān)測(cè)設(shè)計(jì)為研究目標(biāo),使用STM32作為主控模塊,利用AD7790芯片完成數(shù)據(jù)的轉(zhuǎn)化與傳輸。通過(guò)LoRa模塊實(shí)現(xiàn)對(duì)有害氣體濃度的無(wú)線(xiàn)遠(yuǎn)程監(jiān)測(cè),并使用蜂鳴器在氣體濃度超出閾值時(shí)報(bào)警。系統(tǒng)對(duì)室內(nèi)CO濃度的監(jiān)測(cè)效果良好,能夠有效保證室內(nèi)人員的人身財(cái)產(chǎn)安全。