任衛紅,史君誠
(1.新疆鐵道職業技術學院,新疆 烏魯木齊 830011;2.機科發展科技股份有限公司,北京 100044)
隨著自動化技術不斷發展,溫濕度控制系統日趨完善。一般情況下,溫濕度控制系統往往由若干個傳感器和數模轉換器組成。與人工測量和調整方法相比,先進的溫濕度控制系統可快速完成溫濕度檢測而且控制精度較高[1-2]。溫控系統可在很大程度上降低勞動強度,提高相關行業的智能化水平。但是在實際操作過程中,一些特殊工況會導致系統可靠性降低、穩定性變差進而影響檢測精度,如儀器平穩性差、靈敏度不高、灰塵和振動等。大多數溫濕度系統采用熱敏電阻和濕敏電容,這種模擬式溫濕度傳感器均需要信號調理電路,同時校驗和標定過程十分復雜,因此測量精度很難保證[3-5]。除此之外,模擬式溫濕度傳感器還要解決線性度、重復性和互換性等問題。為解決此問題,可采用集成式溫濕度傳感器和單片機設計一種溫濕度控制系統。溫濕度信號通過總線傳送到單片機并進行處理,單片機會根據處理結果得到相關控制信號,然后發送到執行模塊實現相應控制;同時會將溫濕度檢測數值發送到LCD設備并顯示;如果涉及到復雜算法,可將初步處理結果傳送到上位機,由上位機進行處理[6-8]。
結合溫濕度傳感器和單片機設計一種溫濕度控制系統,結合智能控制算法實現溫濕度高精度控制,通過實驗驗證所述系統的可行性和有效性。
溫濕度控制系統總體結構如圖1所示。總體來說,該系統設計主要包括硬件系統設計和軟件系統設計2部分。由圖1可知,溫濕度控制系統由DHT11傳感器模塊、液晶顯示模塊、驅動和執行模塊、單片機主控模塊、無線通信模塊和上位機等組成。

圖1 溫濕度控制系統總體結構
溫濕度傳感器可實現溫度、濕度的實時采集,并將其發送到主控單片機模塊。選用的溫濕度傳感器型號為DHT11,它是一種數字型溫濕度傳感器,其應用專用的數字模塊采集技術和溫濕度傳感技術,可確保產品具有比較高的可靠性和穩定性。DHT11傳感器包含1個NTC測溫元件和電阻式感濕元件,可靈活方便地與單片機連接。DHT11采用單排引腳封裝,具有穩定性好、誤差小、響應快和抗干擾能力強等優勢。
主控模塊選用8位ATmega16單片機,其各項性能指標比較理想。整體來說,該芯片的指令集比較豐富,功耗比較低,數據吞吐率高。全靜態工作方式可確保數據的完整性。因此,該芯片能夠在比較復雜的環境中穩定運行。
考慮到需要顯示的內容并不是很多,系統的液晶顯示模塊采用低功耗LCD1602液晶顯示屏即可。
無線通信模塊則基于無線收發芯片CC2500PA進行設計。CC2500PA功能強大、通信距離遠、穩定性高,在工業控制領域的應用十分廣泛。
驅動模塊可實現執行模塊按照信號要求的相關操作。執行模塊包括加濕裝置、除濕(通風)裝置、加熱裝置和降溫裝置,可以實現溫度和濕度的調節[9-13]。系統主電路如圖2所示。

圖2 系統主電路
可選用智能控制算法實現溫濕度控制。眾所周知,在實際運行過程中,需要采集大量溫濕度數據并及時處理,以判斷和預測溫濕度變化趨勢。參考深度學習原理,采用深度學習網絡來實現溫濕度原始數據處理。目前,使用比較廣泛的深度學習網絡主要包括多個受限玻爾茲曼機(RBM)和單個BP神經網絡。
受限玻爾茲曼機是深度學習網絡的基本組件,包含2層神經元,即:顯層,可作為輸入用于訓練數據;隱層,可用于特征提取。
假設受限玻爾茲曼機網絡結構的顯層節點數目為m;隱層節點數目為n,具體如圖3所示。定義顯層偏置向量為r=(r1,r2,…,rm)T,隱層偏置向量為s=(s1,s2,…,sn)T。

圖3 受限玻爾茲曼機網絡結構
受限玻爾茲曼機是基于能量的模型(EBM),需要為其定義一個能量函數,并利用能量函數引入一系列相關的概率分布函數。對于給定某一狀態(r,s),可定義能量函數為
(1)
ri為第i個顯層神經元的偏移量;sj為第j個隱層神經元的偏移量;u為顯層狀態向量;v為隱層狀態向量;wij為顯層和隱層節點的權重系數。
定義隱層神經元vj的激活概率為P(vj|u),其計算公式為
(2)
同理,可定義顯層神經元ui的激活概率為P(ui|v),其計算公式為
(3)
如上所述,深度學習網絡往往包含多個受限玻爾茲曼機,所用深度學習網絡包括2層受限玻爾茲曼機和1層BP神經網絡,結構如圖4所示。

圖4 深度學習網絡結構
由圖4可知,上一層受限玻爾茲曼機通過學習得到特征數值并輸出,該輸出可作為下一層輸入,這樣每層就可以很好地獲取上一層特征。頂層BP神經網絡以最后一個受限玻爾茲曼機輸出作為輸入,并對輸入特征進行分類、預測。
受限玻爾茲曼機的層數和各層節點數對模型預測性能的影響比較大。大量實驗表明,隱層節點過少會導致預測效果偏差;隱層節點過多會導致系統泛化能力降低,出現“過擬合”現象。
軟件設計主要包括2部分,即溫濕度檢測部分和系統控制部分。
溫濕度檢測流程可描述為:系統開始運行后,首先執行系統初始化操作;如果系統運行正常,蜂鳴器就不會發出報警聲;LCD液晶顯示屏初始化完成后,先顯示預設值然后顯示傳感器實時采樣值;DHT11溫濕度傳感器實時采集工作點位的溫濕度值,并通過數據轉換,傳送給ATmega16單片機;ATmega16單片機根據實時溫濕度數值進行判斷并將溫濕度數據傳送至上位機;上位機根據智能算法預測溫濕度發展趨勢。如果溫濕度數值超過預設值,蜂鳴器會報警同時繼電器吸合,執行加熱、降溫、除濕和加濕等操作。
系統控制流程可描述為:根據實時溫濕度數據,單片機會判斷當前溫濕度是否超過預設值;上位機則會判斷溫濕度的發展趨勢,并得到相關控制信號發送給單片機。單片機通過內部處理,實現繼電器吸合控制,即加熱、降溫、除濕或加濕。如果溫濕度數值恢復到預設范圍之內,單片機就會關閉相關繼電器。如此,不斷開啟和關閉繼電器就可以實現整個環境的溫濕度控制。
溫濕度系統控制流程如圖5所示。

圖5 溫濕度控制流程
為驗證所述控制系統的可行性和有效性,進行了相關實驗研究。
實驗場所為一個面積約200 m2的溫濕度大棚,在實驗場所設定10個數據采集點,實時采集溫濕度數據并顯示。實驗過程中,記錄實際溫濕度數值以及系統恢復穩定狀態所需時間。
作為對比,設置2組實驗,第1組使用普通PID控制,溫度提高5 ℃,濕度提高5%,分別記錄溫濕度采樣值和穩態時間;第2組使用本文控制算法,溫度提高 5 ℃,濕度提高5%,同樣記錄溫濕度采樣值和穩態時間。實驗結果如表1和表2所示。

表1 PID控制實驗結果

表2 深度學習控制實驗結果
從表1和表2可以看出:如果僅僅采用PID控制,如果取絕對值,溫度偏差最大值為1.90 ℃,溫度偏差平均值為1.52 ℃,濕度偏差最大值為2.6%,濕度偏差平均值為2.28%,穩態時間平均值為16.13 min;采用深度學習控制方法,如果取絕對值,溫度偏差最大值為0.5 ℃,溫度偏差平均值為0.3 ℃,濕度偏差最大值為0.9%,濕度偏差平均值為0.6%,穩態時間平均值為5.72 min。
實驗結果表明,采用所述溫濕度控制方法可提高溫度和濕度控制精度,提高系統響應速度,降低系統達到穩態所需時間。整體來說,控制系統的性能得到了大幅提升,具有一定的使用價值和借鑒意義。
以溫濕度控制為研究對象,基于單片機設計了一種溫濕度控制系統。給出了基于ATmega16單片機和DHT11溫濕度傳感器的硬件和軟件設計方法。為進一步提高溫濕度控制精度,設計了一種基于深度學習的溫濕度控制器。實驗結果表明,所設計控制系統具有較高的控制精度和穩定性,系統整體性能大幅提高,具有一定的推廣價值。