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