麻小娟,朱維娜,黨建林
(西安明德理工學(xué)院 信息工程學(xué)院,陜西 西安 710124)
溫度、濕度和空氣質(zhì)量等實(shí)驗(yàn)室環(huán)境對(duì)人體健康、設(shè)備和安全生產(chǎn)起著非常重要的影響,對(duì)于環(huán)境變量在檢測(cè)上的研究和技術(shù)已經(jīng)很成熟,但在數(shù)據(jù)傳輸方式上多數(shù)為傳統(tǒng)方案,即數(shù)據(jù)可以在本地及時(shí)的進(jìn)行傳輸和反饋,往往研究方向主要是對(duì)數(shù)據(jù)的測(cè)量和監(jiān)控方面,對(duì)環(huán)境變量的控制方面研究很少,在數(shù)據(jù)的傳輸上多以有線方式進(jìn)行,導(dǎo)致施工難度和成本大幅度上升、需要人工干預(yù)控制,不宜進(jìn)行大規(guī)模推廣和實(shí)際應(yīng)用;伴隨著科學(xué)技術(shù)的不斷發(fā)展,人類對(duì)智能化和網(wǎng)絡(luò)化的需求日益增加,特別是進(jìn)入21世紀(jì)以來,計(jì)算機(jī)技術(shù)、智能設(shè)備、集成電路及物聯(lián)網(wǎng)技術(shù)得到大力發(fā)展,人們對(duì)信息傳播的交互需求更加強(qiáng)烈,越來越多的用戶將借助智能設(shè)備進(jìn)行工作和學(xué)習(xí),從信息化發(fā)達(dá)程度衡量來看,信息傳播的準(zhǔn)確性和效率在很大程度上決定了生產(chǎn)力。為了將實(shí)驗(yàn)室溫濕度和空氣質(zhì)量等環(huán)境參數(shù)及時(shí)的進(jìn)行反饋,發(fā)現(xiàn)環(huán)境參數(shù)的異常變量,減少不利環(huán)境因素對(duì)人體健康或設(shè)備安全造成影響,本文借助物聯(lián)網(wǎng)技術(shù)設(shè)計(jì)了一款基于STM32 的實(shí)驗(yàn)室環(huán)境控制系統(tǒng),實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室環(huán)境變量的高效傳輸和控制。
實(shí)驗(yàn)室環(huán)境的遠(yuǎn)程檢測(cè)和控制系統(tǒng)主要包含微處理器、顯示模塊、傳感器、網(wǎng)絡(luò)模塊、電源模塊等部分,系統(tǒng)工作原理為傳感器負(fù)責(zé)采集環(huán)境變量信息,微處理器負(fù)責(zé)對(duì)環(huán)境變量數(shù)據(jù)進(jìn)行解析、處理和控制,液晶顯示模塊將數(shù)據(jù)進(jìn)行本機(jī)顯示,網(wǎng)絡(luò)模塊將環(huán)境數(shù)據(jù)通過互聯(lián)網(wǎng)傳送到服務(wù)器并最終呈現(xiàn)在客戶端上位機(jī)軟件,通過對(duì)閾值的設(shè)置和比較,從而實(shí)現(xiàn)對(duì)環(huán)境數(shù)據(jù)遠(yuǎn)程傳輸和控制,系統(tǒng)整體設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)框架
為了實(shí)現(xiàn)更高性能和可靠性,微處理選用意法半導(dǎo)體設(shè)計(jì)開發(fā)的STM32F103C8T6,相比傳統(tǒng)的8051 系列單片機(jī),其內(nèi)核采用ARM 32-bit Cortex ?-M3 CPU,數(shù)據(jù)處理位數(shù)高達(dá)32 bit,具有高達(dá)72 MHz 的主頻率,支持64 KB的內(nèi)部存儲(chǔ)、6×20 K 的RAM 容量、32 個(gè)IO 口,接口豐富支持USB 全速接口、CAN、2 個(gè)SPI、2 個(gè)I2C 和3 個(gè)USART 等,工作環(huán)境溫度范圍-40 ℃~85 ℃,工作電壓支持2.0 ~3.6 V 低電壓供電,可運(yùn)行操作系統(tǒng),基于以上功能特點(diǎn),使得STM32 微處理器可適用于各種不同和復(fù)雜應(yīng)用場(chǎng)合,整個(gè)系統(tǒng)中STM32 除負(fù)責(zé)對(duì)環(huán)境傳感器數(shù)據(jù)的解析和處理,還集成了空調(diào)遙控指令集對(duì)空調(diào)系統(tǒng)發(fā)送加熱、制冷、除濕、加濕等指令進(jìn)行控制,使實(shí)驗(yàn)室環(huán)境控制系統(tǒng)和空調(diào)系統(tǒng)進(jìn)行聯(lián)動(dòng)控制,STM32F103C8T6 工作時(shí)只需要給芯片提供電源、復(fù)位電路和外部時(shí)鐘電路即可,在IO 分配由PB0、PB1、PB3、PB4、PB5、PB6、PB7、PB8、PB9、PB10、PB11 控制12864 的使能腳和數(shù)據(jù)腳,PA9、PA10 控制ESP8266EX 的UTXD 和URXD 引腳,PA1、PA2、PA3、PA4 控制PM2.5 傳感器,PA0 與DHT22 數(shù)據(jù)引腳相連接,微處理器的控制電路如圖2所示。
圖2 微處理器控制電路
整個(gè)系統(tǒng)的工作流程為系統(tǒng)上電、微處理器程序加載和參數(shù)配置、傳感器初始化配置,系統(tǒng)初始化完成后,微處理器開始接收傳感器上傳的環(huán)境參數(shù)數(shù)據(jù),之后對(duì)數(shù)據(jù)進(jìn)行解析并將結(jié)果顯示在12864 液晶顯示器上供現(xiàn)場(chǎng)人員查看,通過客戶端軟件設(shè)定濕度、濕度和PM2.5 的標(biāo)準(zhǔn)閾值,當(dāng)傳感器實(shí)際采集的環(huán)境參數(shù)變量大于閾值后,將觸發(fā)空調(diào)系統(tǒng)執(zhí)行對(duì)應(yīng)動(dòng)作如加濕、除濕、加溫、降溫等,以此循環(huán)維持環(huán)境參數(shù)在設(shè)定的范圍內(nèi),系統(tǒng)控制流程和算法如圖3所示。
圖3 控制流程和算法
為了提高對(duì)環(huán)境變量的測(cè)量范圍,溫濕度傳感器模塊采取高精度、數(shù)字式的DHT22,其由濕度檢測(cè)電容、NTC熱敏電阻和一個(gè)8 位單片機(jī)構(gòu)成,可測(cè)量的溫度范圍為-40℃~80 ℃,采集溫度的誤差小于±0.5 ℃,濕度采集范圍為0%~99.9%RH,濕度誤差可達(dá)到±2 %RH,最小采樣周期可以達(dá)到2 秒,響應(yīng)時(shí)間最快可在5 秒以內(nèi),DHT22的高性能可以適應(yīng)于絕大部分環(huán)境的測(cè)量需求,其封裝上只有4 個(gè)引腳,將Data 腳與微處理器連接,DHT22 每次數(shù)據(jù)輸出為40 bit,其40 bit 數(shù)據(jù)包含16 bit 濕度數(shù)據(jù)、16 bit 溫度數(shù)據(jù)以及8 bit 校驗(yàn)和;其初始化是通過微處理器作為主機(jī)拉低總線500 μs 后釋放總線,延時(shí)20 ~40 μs 后主機(jī)開始檢測(cè)從機(jī)(DHT22)的響應(yīng)信號(hào),從機(jī)的響應(yīng)信號(hào)是一個(gè)80 μs 左右的低電平,隨后從機(jī)在拉高總線80 μs 左右進(jìn)入數(shù)據(jù)傳送階段,為確保傳感器數(shù)據(jù)的正確性采樣周期應(yīng)不小于2 秒,傳感器上電1 秒后開始讀數(shù)據(jù);DHT22在輸出數(shù)據(jù)邏輯表達(dá)上70 μs 高電平代表數(shù)據(jù)“1”,使用26 ~28 μs 的高電平表示數(shù)據(jù)“0”,每次數(shù)據(jù)傳送輸出40 bit 的二進(jìn)制數(shù)據(jù),通過微處理器將數(shù)據(jù)轉(zhuǎn)換為10 進(jìn)制,即可實(shí)現(xiàn)溫濕度數(shù)據(jù)的輸出和顯示,無需復(fù)雜編程極大的簡(jiǎn)化了開發(fā)過程和周期。
PM2.5 是指大氣中直徑小于或等于2.5 微米的顆粒物,也稱為可入肺顆粒物,空氣中PM2.5 的含量越高對(duì)人體的傷害會(huì)越大,實(shí)驗(yàn)室的電子設(shè)備由于存在大量的靜電可對(duì)空氣中的粉塵進(jìn)行吸附,尤其是更小顆粒的粉塵,為了精確的檢測(cè)空氣中的顆粒物含量,我們選用北京攀藤科技有限公司的PMS5003S-[180]型傳感器,其支持0.3 ~10 μm 顆粒物的檢測(cè),可有效檢測(cè)0 ~500 微克/立方米的顆粒物濃度,可在-20 ℃~+50 ℃溫度范圍內(nèi)穩(wěn)定工作,通信上支持UART標(biāo)準(zhǔn)通信協(xié)議,使用時(shí)可直接通過RXD、TXD 與微處理器相連接獲取數(shù)據(jù),顆料物的檢測(cè)是根據(jù)激光散射原理,對(duì)空氣中懸浮的顆粒物濃度進(jìn)行檢測(cè),同時(shí)在特定角度收集散射光,通過米氏散射理論和算法計(jì)算出空氣中的顆粒物濃度和直徑,將顆粒物濃度輸出為電信號(hào)通過微處理器最終輸出數(shù)字信號(hào),傳感器輸出的數(shù)據(jù)再通過微處理器進(jìn)行解析,最終輸出PM2.5 的具體數(shù)值,其工作原理和控制電路如圖4所示。
圖4 PMS5003S 傳感器工作原理
為了實(shí)現(xiàn)環(huán)境數(shù)據(jù)在互聯(lián)網(wǎng)上進(jìn)行傳輸,網(wǎng)絡(luò)模塊我們選擇由上海樂鑫科技設(shè)計(jì)開發(fā)的ESP8266EX 模塊,其為Xtensa? 32-bit LX6 單核處理器,信號(hào)發(fā)發(fā)射頻率為免申請(qǐng)頻段2.4 GHz,內(nèi)置TCP/IP 網(wǎng)絡(luò)協(xié)議,支持 802.11 b/g/n/e/i,時(shí)鐘頻率高達(dá)160 MHz,+19.5 dBm 天線端輸出功率,能確保良好的覆蓋范圍,在深度睡眠模式下工作電流小于20 μA,并且可以在2 ms 以內(nèi)被喚醒,因此適用于電池供電的可穿戴電子設(shè)備,外設(shè)接口包括UART、GPIO、I2S、I2C、SDIO、PWM、ADC 和SPI 等,工作模式支持AP 模式、STA 模式和AP+STA 模式,其內(nèi)部已集成TCP/IP 網(wǎng)絡(luò)協(xié)議棧和Socket AT 指令直接調(diào)用即可,ESP8266EX 已有集成模塊,封裝接口為8pin 雙列排針,在硬件連接和使用時(shí)可直接焊接在PCB 主板上,對(duì)模塊進(jìn)行3.3 V 供電、將UTXD和URXD 與微處理器連接,即可實(shí)現(xiàn)數(shù)據(jù)的無線傳送,使用AT 指令對(duì)模塊進(jìn)行參數(shù)配置,關(guān)鍵指令為:
為了更加全面的顯示環(huán)境變量信息,液晶顯示器的選型上使用經(jīng)典的12864 型液晶模塊,其形態(tài)為封裝好的液晶模塊,IO 口已封裝為外接單列排針且內(nèi)置漢字庫,支持顯示圖形、字母及漢字,在使用時(shí)直接焊接在控制主板上,無需其他額外工作,12864液晶模塊屬于點(diǎn)陣型圖形顯示器,工作電壓范圍為3.3 V~+5 V,支持內(nèi)置字庫可直接調(diào)用,最大可以顯示32個(gè)漢字、64 個(gè)字母,對(duì)于本系統(tǒng)研究的溫度、濕度、PM2.5 環(huán)境變量信息及日期信息可以足夠顯示,其為L(zhǎng)ED 背光驅(qū)動(dòng)顯示,在程序配置上和LCD1602 液晶模塊相同,使能引腳為E、RS、R/W 按照規(guī)定時(shí)序即可完成初始化配置,其中DB0 ~DB7 為雙向數(shù)據(jù)引腳,可對(duì)數(shù)據(jù)進(jìn)行讀寫操作,其初始化過程為寫命令、寫數(shù)據(jù)、設(shè)置顯示模式、開啟顯示屏、清屏操作、游標(biāo)或顯示移位控制,四行首地址分別為0X80、0X90、0X88、0X98,在實(shí)際控制時(shí)需要按顯示內(nèi)容對(duì)地址進(jìn)行偏移,即可將數(shù)據(jù)顯示到對(duì)應(yīng)的坐標(biāo)上,12864 初始化主代碼為:
考慮到后期維護(hù)成本及避免廢舊電池造成的環(huán)境問題,采用電源模塊對(duì)整個(gè)系統(tǒng)進(jìn)行供電,通過變壓繞圈將交流市電220 V 轉(zhuǎn)為DC12 V,再通過三端穩(wěn)壓器LM7805 將電壓穩(wěn)定在5 V,其最大可輸出2 A 電流,最大提供10 W 功率,可滿足系統(tǒng)的供電需求;由于網(wǎng)絡(luò)模塊ESP8266EX 和微處理器需要有3.3 V 供電,因此還需要通過AMS1117-3.3 穩(wěn)壓器進(jìn)行降壓并穩(wěn)定輸出3.3 V,輸出端增加電容對(duì)輸出電壓進(jìn)行濾波處理,輸出端增加發(fā)光二極管做為電源指示燈,電源模塊為整個(gè)系統(tǒng)進(jìn)行供電,電壓轉(zhuǎn)換控制電路原理如圖5所示。
圖5 電源轉(zhuǎn)換電路
為了驗(yàn)證傳感器數(shù)據(jù)是否可以正確向微處理器上報(bào)數(shù)據(jù),借助串口工具對(duì)ESP8266EX 模塊回傳的溫濕度及PM2.5 數(shù)據(jù)進(jìn)行打印,經(jīng)過回傳數(shù)據(jù)可以看出,計(jì)算機(jī)回傳數(shù)據(jù)與液晶顯示數(shù)據(jù)一致,在使用熱風(fēng)槍對(duì)傳感器加熱測(cè)試時(shí),輸出的溫度和濕度信息有相應(yīng)變化,說明傳感器模塊輸出和配置是正確的,計(jì)算機(jī)串口打印數(shù)據(jù)如圖6所示。
圖6 傳感器回傳數(shù)據(jù)
本系統(tǒng)通過對(duì)STM32F103C8T6 微處理器、傳感器和網(wǎng)絡(luò)模塊的算法研究和參數(shù)調(diào)試,對(duì)于硬件和軟件應(yīng)用有了更深的理解,系統(tǒng)成功的實(shí)現(xiàn)溫濕度和PM2.5傳感器數(shù)據(jù)的遠(yuǎn)程傳輸,傳感器采集的數(shù)據(jù)與設(shè)置閾值進(jìn)行對(duì)比確定出空調(diào)系統(tǒng)最優(yōu)的工作模式,從而實(shí)現(xiàn)對(duì)環(huán)境變量的精確和自動(dòng)化控制,同時(shí)也節(jié)約了電能,提高了對(duì)生產(chǎn)和生活場(chǎng)所的環(huán)境變量控制效率和準(zhǔn)確性,對(duì)于改善和控制生產(chǎn)和生活環(huán)境有著指導(dǎo)性的意義,特別適用于對(duì)溫濕度及空氣質(zhì)量有嚴(yán)格要求的實(shí)驗(yàn)室、機(jī)房等場(chǎng)所,整個(gè)系統(tǒng)具有功耗小、運(yùn)行穩(wěn)定、數(shù)據(jù)量小、施工方便和可無限擴(kuò)展等特點(diǎn),有很強(qiáng)的現(xiàn)實(shí)指導(dǎo)意義。