劉小濱 劉 寅 沈文浩
(華南理工大學(xué)制漿造紙工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,廣東廣州,510640)
與液態(tài)和固態(tài)污染物相比,造紙工業(yè)在生產(chǎn)過程中排放的氣態(tài)污染物包括SO2、NH3和揮發(fā)性有機(jī)污染物(VOCs)等,這會(huì)增加人體罹患呼吸道疾病的風(fēng)險(xiǎn)[1]。此外,由于造紙污染氣體的成分復(fù)雜,對(duì)其進(jìn)行檢測(cè)具有盲目性,存在檢測(cè)目標(biāo)交叉、檢測(cè)方法復(fù)雜繁瑣以及檢測(cè)結(jié)果滯后且靈敏度較低等問題,所以有關(guān)造紙污染氣體的科學(xué)研究甚少[2]。因此,對(duì)造紙工業(yè)污染氣體進(jìn)行科學(xué)、全面、有效的檢測(cè)和控制具有重要意義。
有研究表明[3],光催化氧化技術(shù)能夠有效降解造紙污染氣體且不產(chǎn)生二次污染,并在本課題組的前期研究中[4],環(huán)境溫/濕度會(huì)影響光催化氧化降解氣態(tài)污染物的效果和速率。為此,本課題設(shè)計(jì)了一款用于檢測(cè)光催化氧化環(huán)境溫/濕度的遠(yuǎn)程監(jiān)控系統(tǒng),可以實(shí)現(xiàn)在手機(jī)APP上對(duì)環(huán)境溫/濕度進(jìn)行實(shí)時(shí)、遠(yuǎn)程監(jiān)控。該系統(tǒng)能為調(diào)控光催化氧化降解氣態(tài)污染物的效率提供手段,以提高光催化技術(shù)在環(huán)境凈化中的應(yīng)用效果。
本課題設(shè)計(jì)的溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)主要包括4個(gè)模塊:控制模塊、傳感器模塊、數(shù)據(jù)無(wú)線傳輸模塊以及人機(jī)交互模塊??刂颇K以基于STM32的單片機(jī)(MCU,STM32F103VET6)為核心,驅(qū)動(dòng)溫/濕度傳感器DHT11采集當(dāng)前環(huán)境的溫/濕度信號(hào),并通過板載的ESP8266 Wi-Fi無(wú)線傳輸模塊將溫/濕度數(shù)據(jù)傳輸?shù)绞謾C(jī)上,最后在手機(jī)APP上顯示實(shí)時(shí)的溫/濕度以及數(shù)據(jù)曲線。該系統(tǒng)同時(shí)具備有高溫度/高濕度報(bào)警功能,當(dāng)環(huán)境溫/濕度超過系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)將自動(dòng)啟動(dòng)蜂鳴器報(bào)警以提醒操作人員調(diào)控當(dāng)前環(huán)境溫/濕度。系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖:(a)DHT11溫/濕度傳感器;(b)以STM32F103VET6單片機(jī)為核心的控制模塊;(c)Android手機(jī)APPFig.1 Block diagram of overall structure of the system:(a)DHT11 temperature/humidity sensor;(b)STM32F103VET6 microcontroller;and(c)APP on Android mobile phone
本系統(tǒng)的硬件除了信號(hào)采集電路、控制電路以及無(wú)線傳輸電路,還包括如下模塊:電源模塊、存儲(chǔ)模塊、調(diào)試模塊及報(bào)警模塊。系統(tǒng)硬件設(shè)計(jì)的總體結(jié)構(gòu)框圖以及各主要硬件模塊與控制器的連接電路原理圖如圖2和圖3所示。
圖2 系統(tǒng)硬件總體結(jié)構(gòu)框圖Fig.2 Design block diagram of overall structure of system hardware
圖3 主要硬件模塊與控制器的連接電路原理圖:(a)DHT11溫/濕度模塊;(b)ESP8266 Wi-Fi無(wú)線傳輸模塊;(c)蜂鳴器報(bào)警模塊Fig.3 Schematic diagram of the connection circuit between the main hardware modules and the controller:(a)DHT11 temperature/humidity module;(b)ESP8266 Wi-Fi wireless transmission module;and(c)buzzer alarm module
主控制器是整個(gè)系統(tǒng)的核心,承擔(dān)著實(shí)現(xiàn)功能、處理數(shù)據(jù)和規(guī)定時(shí)序等任務(wù)。因此,在控制器的選型上要考慮其具有足夠大的程序空間和數(shù)據(jù)運(yùn)算空間[5]。
針對(duì)系統(tǒng)功能需求,本課題選用了基于ARM架構(gòu)和Cortex-M3內(nèi)核的32位STM32F103VET6控制器芯片(單片機(jī)),該芯片具有功能各異且可復(fù)用的100個(gè)引腳并集成了如USART(通用同步/異步串行接收/發(fā)送器)、I2C(I2C總線)和SPI(串行外設(shè)接口)等常用通信接口,可用于外接各種傳感器和執(zhí)行器以控制其他設(shè)備,滿足用戶需求。
為了采集當(dāng)前環(huán)境的溫/濕度數(shù)據(jù),本課題采用了低成本、高靈敏度和精度的DHT11溫/濕度傳感器。該傳感器集成度好,能同時(shí)測(cè)量環(huán)境的溫度和濕度并將信號(hào)直接轉(zhuǎn)換成數(shù)字信號(hào)輸出[6]。同時(shí),DHT11與控制器電路連接簡(jiǎn)單,只需將其DATA引腳與控制器上任一GPIO(通用輸入輸出)口的引腳連接并通信,VCC與GND由控制器的電源電路供電。溫/濕度數(shù)據(jù)采集電路如圖3(a)所示。
該電路實(shí)現(xiàn)的功能是手機(jī)(上位機(jī))通過Wi-Fi信號(hào)與單片機(jī)系統(tǒng)進(jìn)行連接通信??刂破鹘邮盏绞謾C(jī)發(fā)送的指令后,將儲(chǔ)存在RAM中的溫/濕度數(shù)據(jù)通過USART接口傳輸?shù)紼SP8266 Wi-Fi無(wú)線傳輸模塊中,并進(jìn)行數(shù)據(jù)打包和校驗(yàn)標(biāo)識(shí),最后以規(guī)范的Wi-Fi通信協(xié)議進(jìn)行上/下位機(jī)的數(shù)據(jù)傳輸以保證數(shù)據(jù)的準(zhǔn)確性[7]。ESP8266 Wi-Fi無(wú)線傳輸模塊的電路接線如圖3(b)所示。
由于環(huán)境溫/濕度會(huì)影響光催化氧化降解污染氣體的效率[8-9],所以需要設(shè)定一個(gè)溫/濕度閾值以保證光催化氧化反應(yīng)的效率。故本課題設(shè)計(jì)了溫/濕度閾值超限的蜂鳴器報(bào)警電路,該電路采用低電平觸發(fā)的有源蜂鳴器,當(dāng)環(huán)境溫/濕度高于設(shè)定閾值時(shí),則會(huì)觸發(fā)蜂鳴器發(fā)出報(bào)警,提醒操作人員及時(shí)調(diào)整溫/濕度以穩(wěn)定光催化氧化反應(yīng)速率。蜂鳴器報(bào)警電路原理圖如圖3(c)所示。
本系統(tǒng)的軟件設(shè)計(jì)可分為單片機(jī)嵌入式軟件設(shè)計(jì)和Android手機(jī)APP軟件設(shè)計(jì)。嵌入式軟件設(shè)計(jì)包括編寫外設(shè)驅(qū)動(dòng)、通信協(xié)議實(shí)現(xiàn)以及主程序代碼等,以實(shí)現(xiàn)數(shù)據(jù)采集和無(wú)線傳輸?shù)墓δ?;而Android手機(jī)APP軟件設(shè)計(jì)包括編寫界面設(shè)計(jì)、通信協(xié)議實(shí)現(xiàn)、數(shù)據(jù)可視化顯示以及主程序代碼,以實(shí)現(xiàn)接收并顯示傳感器數(shù)據(jù)、給單片機(jī)發(fā)送指令以及記錄數(shù)據(jù)的功能。
系統(tǒng)總體的軟件設(shè)計(jì)流程如圖4所示。當(dāng)系統(tǒng)開始工作時(shí),單片機(jī)與Android手機(jī)APP均處于系統(tǒng)初始化狀態(tài)。初始化后,各個(gè)模塊進(jìn)入正常工作狀態(tài)。此時(shí),可以通過Android手機(jī)APP控制單片機(jī)以驅(qū)動(dòng)傳感器采集當(dāng)前環(huán)境溫/濕度數(shù)據(jù),并將數(shù)據(jù)通過Wi-Fi無(wú)線傳輸模塊上傳到手機(jī);然后在APP界面中就會(huì)顯示溫/濕度數(shù)據(jù)和繪制實(shí)時(shí)曲線圖。當(dāng)溫/濕度超過用戶所設(shè)定的閾值,則會(huì)觸發(fā)蜂鳴器、手機(jī)鈴聲報(bào)警以及APP界面顯示報(bào)警提醒。
圖4 系統(tǒng)總體軟件設(shè)計(jì)流程圖Fig.4 Flow chart of overall software design of the system
3.1.1 單片機(jī)系統(tǒng)主程序設(shè)計(jì)
主程序完成系統(tǒng)各個(gè)模塊的初始化、環(huán)境溫/濕度的檢測(cè)、判斷溫/濕度是否超過設(shè)定的閾值、建立單片機(jī)和手機(jī)的Wi-Fi連接、等待上位機(jī)下發(fā)指令執(zhí)行相應(yīng)操作等功能。其軟件設(shè)計(jì)流程如圖4左半部分所示,其余分模塊的程序設(shè)計(jì)如下文所述。
3.1.2 DHT11溫/濕度模塊驅(qū)動(dòng)程序設(shè)計(jì)
單片機(jī)讀取溫/濕度傳感器數(shù)據(jù)的原理主要是通過改變和檢測(cè)其DATA引腳的高低電平時(shí)序?qū)崿F(xiàn)。首先,單片機(jī)設(shè)定DATA引腳的連接時(shí)序建立與DHT11溫/濕度模塊的連接;其次,單片機(jī)接收DATA引腳返回的數(shù)字信號(hào),轉(zhuǎn)換成溫/濕度數(shù)值存入RAM中;最后,等待后續(xù)程序進(jìn)行取值和使用。DHT11溫/濕度模塊的驅(qū)動(dòng)程序流程如圖5所示。
圖5 DHT11溫/濕度模塊驅(qū)動(dòng)程序流程圖Fig.5 Driving program flow chart of DHT11 temperature/humidity module
對(duì)DHT11溫/濕度模塊的時(shí)序控制和信號(hào)讀取主要分為2部分:①主機(jī)(單片機(jī))檢測(cè)DHT11溫/濕度模塊是否正確連接;②讀取數(shù)據(jù)位“0”和“1”;具體時(shí)序控制如圖6所示。
(1)主機(jī)檢測(cè)DHT11溫/濕度模塊是否正確連接:主機(jī)先發(fā)送連接請(qǐng)求信號(hào)(如圖6(a)中虛線所示),DHT11溫/濕度模塊在收到主機(jī)連接請(qǐng)求信號(hào)后會(huì)應(yīng)答主機(jī)的連接請(qǐng)求(如圖6(a)中實(shí)線所示),在主機(jī)確認(rèn)正確連接后即可開始讀取傳感器上傳的數(shù)據(jù)。
(2)讀取數(shù)據(jù)位“0”和“1”:DATA引腳與單片機(jī)之間采用單總線數(shù)據(jù)格式,單次傳輸5個(gè)字節(jié)(40 bit)的數(shù)據(jù),高位先出。具體數(shù)據(jù)構(gòu)成為:8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗(yàn)和。在讀取1位有效數(shù)據(jù)位開始之前會(huì)持續(xù)54μs的低電平應(yīng)答檢測(cè),然后拉高電平,持續(xù)23~27μs,即表示數(shù)據(jù)位“0”,如圖6(b)所示;持續(xù)71μs即表示數(shù)據(jù)位“1”,如圖6(c)所示。
圖6 DHT11溫/濕度模塊連接與數(shù)據(jù)讀取時(shí)序控制圖:(a)主機(jī)檢測(cè)DHT11溫/濕度模塊是否正確連接;(b)讀取數(shù)據(jù)位“0”;(c)讀取數(shù)據(jù)位“1”Fig.6 Diagram of DHT11 temperature/humidity module connection and timing control of data reading:(a)host checking whether the DHT11 temperature/humidity module is connected correctly;(b)reading of data bit“0”;and(c)reading of data bit“1”
3.1.3 ESP8266 Wi-Fi無(wú)線傳輸模塊驅(qū)動(dòng)程序設(shè)計(jì)
上位機(jī)是基于Android系統(tǒng)設(shè)計(jì)的手機(jī)APP,ESP8266 Wi-Fi無(wú)線傳輸模塊的主要功能是釋放Wi-Fi信號(hào)以建立起單片機(jī)和手機(jī)APP的連接,接收手機(jī)下達(dá)的指令并轉(zhuǎn)化成單片機(jī)執(zhí)行操作的語(yǔ)言,使手機(jī)能讀取溫/濕度數(shù)據(jù)并在手機(jī)APP的界面中實(shí)時(shí)顯示和繪制。ESP8266 Wi-Fi無(wú)線傳輸模塊的驅(qū)動(dòng)程序設(shè)計(jì)流程如圖7所示。
圖7 ESP8266 Wi-Fi無(wú)線傳輸模塊驅(qū)動(dòng)程序流程圖Fig.7 Driving program flow chart of ESP8266 Wi-Fi wireless transmission module
本課題使用Android Studio軟件設(shè)計(jì)了一款基于Android系統(tǒng)的手機(jī)APP,包括如圖8所示的3個(gè)界面:①歡迎界面;②登錄界面;③主界面。
圖8 手機(jī)APP界面:(a)歡迎界面;(b)登錄界面;(c)主界面;(d)運(yùn)行中的主界面Fig.8 APP interface on mobile phone:(a)welcome interface;(b)login interface;(c)main interface;and(d)main interface during operation
當(dāng)APP啟動(dòng)時(shí),歡迎界面隨之啟動(dòng),主要是顯示開發(fā)者、APP圖標(biāo)以及問候語(yǔ)等信息,并在5 s倒計(jì)時(shí)后自動(dòng)切換到登錄界面。用戶在登錄界面輸入正確且唯一的賬號(hào)和密碼后,即可進(jìn)入主界面。主界面具有以下3個(gè)功能:①通過Wi-Fi發(fā)現(xiàn)傳感器檢測(cè)設(shè)備(單片機(jī))并與之連接;②顯示和繪制由單片機(jī)傳入的實(shí)時(shí)測(cè)量的溫/濕度數(shù)據(jù);③將當(dāng)前數(shù)據(jù)表格存儲(chǔ)在手機(jī)內(nèi)存中,同時(shí)可以從內(nèi)存中檢索歷史數(shù)據(jù)。手機(jī)APP界面及功能設(shè)計(jì)流程如圖9所示。
圖9 手機(jī)APP界面及功能設(shè)計(jì)流程圖Fig.9 Flow chart of APP interface and function design of mobile phone
基于STM32單片機(jī)的環(huán)境溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)物如圖10所示。在實(shí)驗(yàn)室環(huán)境中,利用該系統(tǒng)測(cè)試標(biāo)準(zhǔn)濕度飽和鹽溶液(CH3COOK)的濕度以對(duì)該系統(tǒng)進(jìn)行集成調(diào)試[10],測(cè)試方法示意圖如圖11(a)所示,具體操作步驟如下。
圖10 基于STM32單片機(jī)的環(huán)境溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)物圖Fig.10 Images of ambient temperature/humidity remote monitoring system based on STM32 MCU
(1)以相對(duì)濕度為23%的CH3COOK飽和溶液作為基準(zhǔn)樣(即傳感器響應(yīng)和恢復(fù)的基線);
(2)將傳感器移入盛有CH3COOK飽和溶液的瓶中并蓋緊瓶塞,等待讀數(shù)穩(wěn)定;
(3)響應(yīng)過程:將傳感器從CH3COOK飽和溶液中移至盛有更高濕度的飽和鹽溶液(MgCl2、NaBr、NaCl、KCl或KNO3)中進(jìn)行濕度響應(yīng)過程,等待讀數(shù)穩(wěn)定;
(4)恢復(fù)過程:將傳感器從(3)中的飽和鹽溶液中移至CH3COOK飽和溶液中,進(jìn)行濕度恢復(fù)過程,等待讀數(shù)穩(wěn)定;
(5)重復(fù)上述過程,即可得到如圖11(b)所示的濕度響應(yīng)曲線和如表1所示的測(cè)試結(jié)果。
從圖11(b)和表1(表中濕度均為相對(duì)濕度)可以看出,本溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)對(duì)標(biāo)準(zhǔn)濕度飽和鹽溶液的濕度測(cè)量相對(duì)誤差均在10%以內(nèi),最低為0,最高為9.1%,平均相對(duì)誤差在3.1%以內(nèi)。誤差的主要來(lái)源可能為:①由于導(dǎo)線較粗導(dǎo)致玻璃瓶塞未完全塞緊,瓶?jī)?nèi)環(huán)境與外界環(huán)境連通,從而影響瓶?jī)?nèi)的濕度;②配置飽和鹽溶液時(shí)間的影響,即當(dāng)配置飽和鹽溶液的時(shí)間過長(zhǎng),則會(huì)引起瓶?jī)?nèi)藥品變質(zhì)從而影響其濕度。此外,本系統(tǒng)對(duì)不同濕度的響應(yīng)時(shí)間和恢復(fù)時(shí)間均小于30 s且響應(yīng)時(shí)讀數(shù)穩(wěn)定,沒有較大波動(dòng)以及恢復(fù)時(shí)能回到濕度基線上。上述調(diào)試結(jié)果表明,本系統(tǒng)能穩(wěn)定、快速、準(zhǔn)確地遠(yuǎn)程測(cè)量環(huán)境的溫/濕度,并顯示在手機(jī)APP界面上。
圖11 溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)集成調(diào)試:(a)測(cè)試方法示意圖;(b)測(cè)試結(jié)果Fig.11 Integration debugging of the temperature/humidity remote monitoring system:(a)schematic diagram of the test method;(b)test results
表1 標(biāo)準(zhǔn)濕度與溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng)測(cè)量結(jié)果對(duì)比Table 1 Results comparison between standard humidity and measurement data from the temperature/humidity remote monitoring system
本課題設(shè)計(jì)了基于STM32單片機(jī)的環(huán)境溫/濕度遠(yuǎn)程監(jiān)控系統(tǒng),在實(shí)現(xiàn)對(duì)環(huán)境溫/濕度進(jìn)行實(shí)時(shí)、遠(yuǎn)程監(jiān)測(cè)的同時(shí),還具有準(zhǔn)確性較高(平均相對(duì)誤差小于3.1%)、穩(wěn)定性較好(每次濕度恢復(fù)時(shí)都能回到基線,以及在響應(yīng)時(shí)讀數(shù)穩(wěn)定準(zhǔn)確且沒有較大的波動(dòng))、響應(yīng)快速(響應(yīng)/恢復(fù)時(shí)間均小于30 s)的特點(diǎn)。該系統(tǒng)不僅可用于對(duì)光催化氧化降解氣態(tài)污染物過程中環(huán)境溫/濕度的監(jiān)控,以規(guī)避其影響,還可以運(yùn)用到如溫室種植等領(lǐng)域的溫/濕度監(jiān)控需求中,以實(shí)現(xiàn)對(duì)溫/濕度的遠(yuǎn)程實(shí)時(shí)監(jiān)控、顯示及異常報(bào)警,具有廣闊的應(yīng)用前景。