薛義鵬,陳 鑫,孫馨瑤,李松軍
(1.西安工程大學(xué) 電子信息學(xué)院,西安 710048;2.浙江偉盈智能科技股份有限公司,諸暨 311800)
棉紡車間溫濕度對紡紗工藝的影響很大[1]。 在不同的溫濕度條件下, 纖維的物理特性和機械特性,如強力、伸長度、導(dǎo)電性、柔軟性、回潮率、摩擦因數(shù)等都將發(fā)生不同程度的變化,其溫濕度的變化直接影響到棉紡廠各道工序半制品質(zhì)量和生產(chǎn)狀況[2-3]。 由于我國的紡織業(yè)仍無法完全擺脫對人力成本的依賴,使得棉紡車間的信息化與智能化發(fā)展受限,對棉紡車間監(jiān)測依舊停留在小范圍的、零散的、相互獨立的層面上,如對棉紡車間環(huán)境溫濕度的監(jiān)控依舊停留在人力監(jiān)測,人工控制通風(fēng)噴霧等原始方式上[4-5]。
本文以STM32F103 單片機作為微系統(tǒng)控制器設(shè)計了棉紡車間環(huán)境監(jiān)測系統(tǒng),使用DHT11 數(shù)字溫濕度傳感器對溫濕度數(shù)據(jù)進行采集,利用ZigBee 和WiFi 通信技術(shù)進行環(huán)境數(shù)據(jù)的傳輸,采集得到的數(shù)字信號通過ZigBee 通信直接送入微處理器進行處理, 處理后的數(shù)據(jù)通過WiFi 通信技術(shù)傳輸?shù)桨⒗镌莆锫?lián)網(wǎng)平臺, 最終實現(xiàn)用戶PC 端和手機端的溫濕度數(shù)據(jù)遠程監(jiān)測與預(yù)警。 以此實時監(jiān)測棉紡車間溫濕度狀況,能夠?qū)ζ溥M行及時修正,減少不必要的損失。
溫濕度監(jiān)測系統(tǒng)總體設(shè)計如圖1 所示,系統(tǒng)包括應(yīng)用服務(wù)層、網(wǎng)絡(luò)層和感知層3 個層次,其中網(wǎng)絡(luò)層包括傳輸層以及平臺層[6]。
圖1 溫濕度監(jiān)測系統(tǒng)總體設(shè)計框圖Fig.1 Overall design block diagram of temperature and humidity monitoring system
(1)感知層由DHT11 溫濕度傳感器、STC89C52單片機、ZigBee 通信模塊、ZigBee 協(xié)調(diào)器、STM32F103單片機構(gòu)成,該系統(tǒng)設(shè)置有3 個采集節(jié)點和1 個采集終端,各模塊之間的ZigBee 通信網(wǎng)采用星狀網(wǎng)絡(luò)拓撲結(jié)構(gòu),用于采集溫濕度數(shù)據(jù)后傳送至微系統(tǒng)控制器進行數(shù)據(jù)處理;
(2)網(wǎng)絡(luò)層采用WiFi 通信技術(shù),通過WiFi 通信模塊將采集節(jié)點采集的數(shù)據(jù)上傳到阿里云物聯(lián)網(wǎng)平臺,平臺層使用阿里云物聯(lián)網(wǎng)平臺,能夠?qū)崿F(xiàn)不同類型終端及不同應(yīng)用的統(tǒng)一接入和管理,實現(xiàn)互通互聯(lián);
(3)應(yīng)用層為客戶端,通過PC 端和手機APP 實時監(jiān)測溫濕度信息。
采集終端主要用于接收采集節(jié)點所測的溫濕度數(shù)據(jù),系統(tǒng)采用可充電式電池供電,采用STM32F103單片機作為核心控制器,RTC(real time clock)功能可以實現(xiàn)定時喚醒功能,不工作時系統(tǒng)休眠,降低功耗,此時單片機的IO 口均設(shè)為低電平輸出,時鐘頻率也為最低,電流一般小于1 μA[7]。
采集終端硬件設(shè)計如圖2 所示,核心控制器外圍主要由液晶顯示屏、聲光學(xué)報警器、按鍵、ZigBee通信模塊以及ESP8266 WiFi 模塊組成。
圖2 采集終端硬件設(shè)計圖Fig.2 Hardware design drawing of acquisition terminal
采集節(jié)點主要用于采集溫濕度數(shù)據(jù),采集節(jié)點硬件設(shè)計如圖3 所示。采集節(jié)點由STC89C52 單片機、聲光學(xué)報警器、ZigBee 通信模塊、 按鍵以及DHT11溫濕度傳感器組成。 其中STC89C52 單片機是一個低功耗、高性能的51 內(nèi)核的CMOS 8 位單片機,使用簡單且價格非常低廉[8]。
圖3 采集節(jié)點硬件設(shè)計圖Fig.3 Hardware design drawing of acquisition node
棉紡車間處于穩(wěn)定的環(huán)境條件下,因此棉紡車間的溫濕度狀況不會發(fā)生較大變化,本文選用限幅濾波法對遞推算法進行優(yōu)化,以此來設(shè)計合適的移動平均濾波器。
將一段時間內(nèi)連續(xù)的采樣數(shù)據(jù)設(shè)成長度為N 的隊列,測出一個新數(shù)據(jù)后,將隊列的首個數(shù)據(jù)去掉,其余N-1 個數(shù)據(jù)依次前移一位,將新測量的數(shù)據(jù)插入隊列的列尾,形成新的隊列,并對新隊列重復(fù)上述運算,將n 次后的結(jié)果確定為最終采樣結(jié)果[9]。 設(shè)輸入值為x(n),最終采樣值為y(n),隊列長度為N,則:
通過限幅濾波法對移動平均濾波器進行優(yōu)化,判斷被測量信號的變化幅度,以此消除緩變信號中的尖脈沖干擾,有效克服偶然因素引起的脈沖干擾。通過比較相鄰兩個時刻的采樣值y(n)和y(n+1),根據(jù)前一隊列n 個數(shù)據(jù)的離散程度, 確定兩次采樣值的最大偏差值ε。若采樣值超過最大偏差范圍U,認為最新的采樣值y(n+1)為非法值,應(yīng)該刪除,用y(n)代替y(n+1);若采樣值未超過偏差范圍,認為數(shù)據(jù)有效,加入隊列。
溫濕度監(jiān)測系統(tǒng)軟件程序部分主要包括采集終端主程序、采集節(jié)點程序及連接服務(wù)器程序等組成。程序關(guān)鍵部分如圖4 所示。系統(tǒng)上電后,初始化采集終端和采集節(jié)點的單片機串口、時鐘、GPIO 口以及云平臺等,然后計算MQTT 連接參數(shù),連接到阿里云平臺并訂閱相關(guān)主題。 之后,進入主循環(huán),先檢查MQTT 是否連接成功,接著獲取當(dāng)前采集節(jié)點傳感器的信息并實時更新傳感器的狀態(tài),得到溫濕度數(shù)據(jù),并將檢測到的數(shù)據(jù)發(fā)送給采集終端,采集終端利用OLED 顯示屏顯示當(dāng)前各區(qū)域溫濕度信息;同時系統(tǒng)自行判斷溫濕度數(shù)據(jù)是否超過設(shè)定的閾值,若超過設(shè)定的閾值自動報警,發(fā)布報警事件,并將數(shù)據(jù)發(fā)送到設(shè)備屬性當(dāng)中,最后,上傳設(shè)備屬性數(shù)據(jù),然后發(fā)布設(shè)備屬性,進入下一次循環(huán)。
圖4 采集終端主程序流程Fig.4 Main program flow chart of acquisition terminal
采集終端要與阿里云物聯(lián)網(wǎng)平臺進行數(shù)據(jù)交互,設(shè)備首先要接入SDK。 阿里云物聯(lián)網(wǎng)平臺的Link Kit 軟件開發(fā)包可以實現(xiàn)設(shè)備的連云開發(fā),且有多種編程語言選擇,比如Java、C 語言和Python。 本文方案選用C 語言版本SDK,以便支持底層硬件驅(qū)動訪問和兼容Libmodbus。訪問阿里云物聯(lián)網(wǎng)平臺官網(wǎng)(https://iot.console.aliyun.com/)登錄并注冊用戶,根據(jù)平臺的標準接入流程在平臺上創(chuàng)建相應(yīng)的產(chǎn)品和設(shè)備,并得到產(chǎn)品設(shè)備的三元組(product Key,device Name,device Secret)與軟件開發(fā)包綁定,即可實現(xiàn)數(shù)據(jù)傳輸。
本系統(tǒng)中ESP8266 WiFi 模塊對接阿里云物聯(lián)網(wǎng)平臺采用MQTT 協(xié)議,使得采集終端與阿里云物聯(lián)網(wǎng)平臺進行數(shù)據(jù)互通。 Link Kit 支持與云端的MQTT進行通信, 該方案為低成本的設(shè)備連云提供了基礎(chǔ)。MQTT 是一種基于發(fā)布/訂閱(Publish/Subscribe)機制的“輕量級”通訊協(xié)議,專為一些軟硬件資源較少的物聯(lián)網(wǎng)設(shè)備設(shè)計[10],MQTT 訂閱發(fā)布機制如圖5所示。由于阿里云平臺只接受Alink 協(xié)議的數(shù)據(jù),所以在本文中選擇將ESP8266 所采集到的數(shù)據(jù)進行嵌套, 嵌套完成后再由MQTT 協(xié)議發(fā)送至云端,平臺即可實時監(jiān)測溫濕度值。
圖5 MQTT 訂閱發(fā)布機制Fig.5 MQTT subscription publishing mechanism
將本文設(shè)計的溫濕度監(jiān)測系統(tǒng)應(yīng)用于100 m2的實驗室中,實地監(jiān)測實驗室的溫濕度,由于本文系統(tǒng)設(shè)計的有3 個采集節(jié)點,因此將A 節(jié)點放置在實驗室左上角位置,B 節(jié)點放置于實驗室右下角位置,C 節(jié)點放置在實驗室中間位置;也可將該系統(tǒng)放在對環(huán)境溫濕度要求較高的特殊實驗室、 廠房、大棚等環(huán)境中。 用華盛昌溫濕度檢測儀DT-83 來檢驗本系統(tǒng)采集數(shù)據(jù)的準確性(DT-83 溫度測量范圍為-20~60 ℃,測量精度為±1 ℃;濕度檢測范圍為0~100%RH,檢測精度為±3.5%RH)。同時,用DT-83 的COM端采集到的溫濕度數(shù)據(jù)作為本文系統(tǒng)采集溫濕度數(shù)據(jù)的對比,本次連續(xù)測試8 小時(8:00-16:00),以此驗證該溫濕度監(jiān)測系統(tǒng)傳輸過程中數(shù)據(jù)是否準確、數(shù)據(jù)是否丟失等,數(shù)據(jù)對比如圖6 所示。用本文系統(tǒng)連續(xù)采集100 組溫濕度數(shù)據(jù),在網(wǎng)頁端查看數(shù)據(jù)傳輸與接收情況,記錄數(shù)據(jù)并分析,平臺的數(shù)據(jù)收發(fā)界面如圖7 所示,結(jié)果表明本系統(tǒng)在數(shù)據(jù)傳輸過程中傳輸速率較快且準確,極少出現(xiàn)丟包現(xiàn)象,證明了本系統(tǒng)的可行性和穩(wěn)定性。 采集節(jié)點采用ZigBee 技術(shù)進行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸快,由于工作時間較短、收發(fā)信息功耗較低且采用了休眠模式,使得ZigBee 設(shè)備非常節(jié)能,在非工作模式時,ZigBee 節(jié)點處于休眠模式, 耗電量僅僅只有1 μW,本系統(tǒng)一節(jié)點連續(xù)測量一個星期,消耗電量占原電量的12%。借助阿里云平臺,設(shè)計了對應(yīng)的手機APP,如圖8 所示,手機APP 能直接查看各區(qū)域溫濕度、設(shè)置各區(qū)域溫濕度閾值以及查看歷史數(shù)據(jù), 更加方便使用者對環(huán)境狀況的實時監(jiān)測,提高用戶的使用感。
圖6 PC 端和華盛昌DT-83 溫濕度檢測儀實際測量的溫濕度數(shù)據(jù)對比圖Fig.6 Comparison of temperature and humidity data actually measured by PC terminal and Hua Sheng Chang DT-83 temperature and humidity detector
圖7 平臺數(shù)據(jù)收發(fā)界面Fig.7 Platform data sending and receiving interface
圖8 手機APP 界面Fig.8 Mobile APP interface
本文提出了一種以STM32F103 單片機為采集終端主控制器, 以STC89C52 單片機為采集節(jié)點控制器的棉紡車間溫濕度監(jiān)測系統(tǒng),并將其成功應(yīng)用在實驗室的溫濕度監(jiān)測中。 本系統(tǒng)具有成本低、易實現(xiàn)、運行可靠、功耗低等特點。 同時,本系統(tǒng)在硬件設(shè)計時預(yù)留出一對傳感器接口,可與PH 傳感器、煙霧傳感器等其它環(huán)境監(jiān)測傳感器連接,可在地下車庫、倉庫、大棚等眾多環(huán)境實現(xiàn)多元化場景運用,使得運用領(lǐng)域與用戶輻射面更為廣闊。