鞠文清 陸欣云 張鳳 童金武 吳彬
摘? 要:高溫燒結(jié)爐被廣泛應(yīng)用于材料、化工、制藥等諸多領(lǐng)域,在設(shè)置小型燒結(jié)爐的溫控曲線時,步驟煩瑣且無法獲知實際的運行曲線。為了確保燒結(jié)爐工作過程的安全與可靠,往往在工作現(xiàn)場還需要有人值守。為了降低人力成本,方便設(shè)置并監(jiān)控燒結(jié)爐的運行,將物聯(lián)網(wǎng)技術(shù)引入高溫燒結(jié)爐,實現(xiàn)對多個運行設(shè)備的遠程監(jiān)控,用戶通過手機就能實現(xiàn)遠程操控,便捷可靠,大大提高了工作的效率。
關(guān)鍵詞:高溫燒結(jié)爐;物聯(lián)網(wǎng);溫控器;MQTT協(xié)議
中圖分類號:TP317.3? ? ? ? 文獻標識碼:A文章編號:2096-4706(2022)03-0169-05
Research on Monitoring System of High Temperature Sintering Furnace Based on IoT
JU Wenqing1, LU Xinyun1, ZHANG Feng2, TONG Jinwu1, WU Bin1
(1.Industrial Center, Nanjing Institute of Technology, Nanjing? 211167, China; 2.School of Mechanical Engineering, Jinken College of Technology, Nanjing? 211156, China)
Abstract: High temperature sintering furnace is widely used in materials, chemical industry, pharmacy and many other fields. When setting the temperature control curve of small sintering furnace, the steps are cumbersome and the actual operation curve can not be obtained. In order to ensure the safety and reliability of the working process of sintering furnace, it is often necessary to have someone on duty at the work site. In order to reduce the labor cost and facilitate the setting and monitoring of the operation of the sintering furnace, the Internet of Things technology is introduced into the high-temperature sintering furnace to realize the remote monitoring of multiple operating equipment. Users can realize remote control through mobile phones, which is convenient and reliable, and greatly improves the efficiency of work.
Keywords: high temperature sintering furnace; IoT; thermostat; MQTT protocol
0? 引? 言
在新材料、化工、制藥等諸多領(lǐng)域經(jīng)常會用到高溫燒結(jié)爐。通常小型高溫燒結(jié)爐是通過溫控器面板上的4個小型輕觸按鍵來進行溫度曲線的設(shè)定,通過兩組3位的數(shù)碼管顯示當前值與設(shè)定值。這對于設(shè)定較為復(fù)雜的溫控曲線就會非常煩瑣。用戶進行了幾十次的按鍵輸入后設(shè)定的溫度曲線不能直觀呈現(xiàn),對其設(shè)定曲線的正確與否很難確定,一旦在錯誤的設(shè)定情況下將實驗進行下去,會導致所有的實驗數(shù)據(jù)是無效的。而且在整個設(shè)置過程中,一旦某一步操作失誤,可能需要完全重新設(shè)定,使用過程中非常不方便。在溫度曲線設(shè)定結(jié)束后,執(zhí)行加熱的過程中,實際加熱過程的溫度變化未能得到方便的記錄與存儲,用戶也搞不清楚實際溫度運行曲線與設(shè)定溫度曲線究竟有怎樣的差異,這對于實驗研究帶來許多問題。
近年來,物聯(lián)網(wǎng)(IoT)的普及導致了無處不在的應(yīng)用并與我們的日常生活息息相關(guān)。將物聯(lián)網(wǎng)技術(shù)引入高溫燒結(jié)爐的控制將會解決傳統(tǒng)設(shè)備使用過程中存在的諸多問題。本文基于Wi-Fi通信模塊運用MQTT協(xié)議與阿里云服務(wù)器建立連接,設(shè)計并實現(xiàn)了一種新型的高溫燒結(jié)爐遠程監(jiān)測系統(tǒng),能通過手機端或PC機設(shè)置溫控曲線發(fā)送到遠端高溫燒結(jié)爐,并且可以實時監(jiān)測當前爐溫及運行狀況,保存歷史數(shù)據(jù)在云端或本地計算機,這對爐子的控制以及加熱狀況的數(shù)據(jù)分析都帶來了極大的方便。
1? 系統(tǒng)總體方案
本系統(tǒng)采用雙向可控硅作為功率器件驅(qū)動電阻絲加熱,測溫元件采用熱電偶。選用配備有RS232串口的智能溫控器作為爐溫的控制部件,開發(fā)出基于Wi-Fi通信的無線網(wǎng)橋?qū)崿F(xiàn)溫控器與MQTT服務(wù)器的數(shù)據(jù)交互。管理端采用基于Spring Cloud的SaaS型微服務(wù)腳手架,開發(fā)出監(jiān)控燒結(jié)爐運行的應(yīng)用軟件。整個系統(tǒng)的總體框架方案如圖1所示。
2? 硬件電路設(shè)計
系統(tǒng)中的無線網(wǎng)橋一方面實現(xiàn)通過串口通信的方式來控制溫控器的工作,讀取當前燒結(jié)爐的運行狀況以及溫控器的工作參數(shù)。另一方面,通過Wi-Fi模塊或者NB-IoT模塊使用MQTT協(xié)議與云服務(wù)器建立通信,將燒結(jié)爐及溫控器的各項數(shù)據(jù)傳送至服務(wù)器存儲、分析、提供給終端用戶通過PC機或手機進行分析監(jiān)測。同樣,用戶也可以通過手機APP及PC機應(yīng)用軟件對燒結(jié)爐進行控制。無線網(wǎng)橋內(nèi)部模塊結(jié)構(gòu)如圖2所示。
整個硬件電路部分主要包括微控制器單元、溫控器數(shù)據(jù)轉(zhuǎn)換接口、Wi-Fi通信模塊、與PC端通信電路、電源轉(zhuǎn)換電路五個部分構(gòu)成。
3? 無線網(wǎng)橋與溫控器連接電路設(shè)計
無線網(wǎng)橋的主控芯片采用ST公司型號為STM32F103 C8T6 的MCU,該芯片主頻可達72 MHz;內(nèi)部用于64 KB的Flash ROM以及20 KB的RAM;在2~3.6 V單一電壓供電下工作;具備3個USART接口,將USART3接口用作與溫控器進行通信,具體電路如圖3所示。
系統(tǒng)中需要通過Wi-Fi模塊實現(xiàn)溫控器與MQTT服務(wù)器的雙向數(shù)據(jù)交互,設(shè)計中選用安信可公司自主開發(fā)的一款高性價比Wi-Fi模組ESP8266,該模塊支持標準的IEEE802.11 b/g/n協(xié)議,內(nèi)置完整的TCP/IP協(xié)議棧,完全符合設(shè)計的需求。ESP8266通過串口與MCU的USART2模塊相連,具體連接電路如圖4所示。
4? 系統(tǒng)軟件開發(fā)
本系統(tǒng)軟件開發(fā)包括無線網(wǎng)橋上運行的基于STM32微控制器的程序設(shè)計、基于Android Studio的手機端應(yīng)用軟件設(shè)計以及Visual Studio的PC端應(yīng)用軟件開發(fā)。
4.1? 無線網(wǎng)橋程序設(shè)計
4.1.1? 無線網(wǎng)橋與MQTT服務(wù)器之間建立連接
無線網(wǎng)橋是建立溫控器與MQTT服務(wù)器之間通信的橋梁。它一方面接收MQTT服務(wù)器給它的加熱爐溫控及參數(shù)設(shè)置指令,并將其轉(zhuǎn)換成溫控器能識別的數(shù)據(jù)流控制溫控器的運行。另一方面按照用戶需求定時獲取當前的爐溫等數(shù)據(jù)并將其傳送至服務(wù)器。
消息隊列遙測傳輸協(xié)議(Message Queuing Telemetry Transport, MQTT)是一種基于消息發(fā)布/訂閱(publish/subscribe)模式的“輕量級”通信協(xié)議。無線網(wǎng)橋通過MQTT協(xié)議與布置在阿里云端的服務(wù)器通信,在此之前ESP8266必須與外網(wǎng)連接的路由器建立TCP連接.對于任何一臺設(shè)備最初并不知道它所需連接路由器的SSID及密碼,因此,設(shè)計中可以先開啟ESP8266中所具備的SmartConfig智能配網(wǎng)功能,通過手機端開發(fā)的應(yīng)用軟件以UDP的方式廣播當前所需連接路由器的SSID及密碼。待配網(wǎng)的設(shè)備掃描所有的可用無線信道,找到發(fā)送配網(wǎng)的報文,與路由器建立連接開始接收數(shù)據(jù)。配網(wǎng)成功之后可以通過AT+CWAUTOCONN=1指令,實現(xiàn)下一次上電自動連接路由器。
為了與路由器可靠通信,ESP8266需要被設(shè)置為station、單連接透傳模式,并且與遠端MQTT服務(wù)器建立TCP連接。無線網(wǎng)橋以客戶端的角色發(fā)送CONNECT控制報文請求連接服務(wù)器,請求消息中包含ClientID、心跳包時間、用戶名及密碼,若連接成功服務(wù)器會返回一個CONNACK報文至客戶端。
4.1.2? 無線網(wǎng)橋與控制終端的主題訂閱機制
在系統(tǒng)中無線網(wǎng)橋與控制終端(包括手機端或PC機)都是客戶端的角色,它們之間的數(shù)據(jù)通信采用消息發(fā)布/訂閱模式,用戶控制端發(fā)布的主題格式是/Server/Device ID,其中Server表示控制端發(fā)布的這個消息是要通過MQTT服務(wù)器轉(zhuǎn)發(fā)出去,DeviceID是需要訪問設(shè)備的ID號,每臺設(shè)備在出廠時被分配唯一的ID號并訂閱屬于本機ID號的消息,接受MQTT服務(wù)器對它的控制。
無線網(wǎng)橋端發(fā)布的主題格式是/Device Type/Device ID,其中Device Type表示網(wǎng)橋所連接設(shè)備的類型,Device ID是設(shè)備的ID號,網(wǎng)橋把設(shè)備的參數(shù)及狀態(tài)信息通過該主題發(fā)送至MQTT服務(wù)器,服務(wù)器自動將信息轉(zhuǎn)發(fā)給訂閱了該主題的相關(guān)控制終端。
通過MQTT協(xié)議的機制,控制終端訂閱多個設(shè)備所發(fā)布的主題可以實現(xiàn)對多臺設(shè)備的同時監(jiān)控。同樣,一個加熱爐設(shè)備的主題被多個控制終端訪問也可以實現(xiàn)多點控制同一臺設(shè)備。真正實現(xiàn)物聯(lián)網(wǎng)系統(tǒng)中的多對多的控制模式。
4.1.3? 無線網(wǎng)橋與控制終端的數(shù)據(jù)交互
網(wǎng)橋與控制終端建立好網(wǎng)絡(luò)連接后,二者隨后的數(shù)據(jù)交互可以劃分為若干個階段,采用有限狀態(tài)機的方法確保兩端工作的時序高效運行。起始狀態(tài)網(wǎng)橋會主動訪問溫控器獲取當前爐溫作為設(shè)置加熱曲線的起始溫度,并將該數(shù)據(jù)通過MQTT服務(wù)器轉(zhuǎn)接給控制終端,控制終端設(shè)置好目標加熱曲線后及采樣時間間隔等參數(shù)后發(fā)送給無線網(wǎng)關(guān),啟動加熱爐的運行,整個控制過程的時序如圖5所示。
設(shè)計中選用的AI-516PD2K5S溫控器使用異步串行通信接口,讀參數(shù)指令和寫參數(shù)指令都是8個字節(jié),無線網(wǎng)橋?qū)ζ溥M行控制時,無論是讀操作還是寫操作都會有一個10字節(jié)的返回值。例如,當要設(shè)置溫控器的給定值SV時,可以通過向控制接口發(fā)送以下格式的8個字節(jié)數(shù)據(jù)即可:地址代號+43H+要寫的參數(shù)代號+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗碼。
當發(fā)送了0x86,0x86,0x43,0x00,0xE8,0x03,0x31,0x04的數(shù)據(jù)流就表示設(shè)定溫控器的給定值SV=100 ℃,隨后無線網(wǎng)橋會接收到0xDB 0x00 0x08 0x02 00 60 08 02 F1 64的比特流,表示當前溫控器測量出來的溫度是21.9 ℃。
無線網(wǎng)橋與MQTT服務(wù)器之間的數(shù)據(jù)交互采用數(shù)據(jù)格式(JavaScript Object Notation, JSON)。JSON是一種輕量級的數(shù)據(jù)交換格式,它采用完全獨立于語言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時也易于機器解析和生成。在設(shè)備獲取到燒結(jié)爐的初始溫度之后,會自動發(fā)送一條JSON數(shù)據(jù)流到服務(wù)器,數(shù)據(jù)流的格式為:
{“DeviceType”:“a”,“DeviceID”:“123456”,“DataType”:“B”,“Data”:32.1,“Count”:0}
上述字符串中:
DeviceType:a表示是高溫燒結(jié)爐。
DeviceID:123456表示該設(shè)備的唯一的ID號。
DataType:B表示這是爐子與云端鏈接上之后初始握手數(shù)據(jù)包。
Data:初始的握手數(shù)據(jù)包的數(shù)據(jù)載荷將會是爐子的初始溫度值。
Count:數(shù)據(jù)包計數(shù)器的值為0表示這是初始的握手數(shù)據(jù)包。
監(jiān)控終端設(shè)置溫控曲線的JSON數(shù)據(jù)流根據(jù)加熱工作的模式分成兩類:一類是恒溫模式,適用于要求爐子直接加熱對象到某一固定溫度的場合。其數(shù)據(jù)流格式進行以下設(shè)置:{“DirectMode”:[{“temp”:600,“time”:0}],”interval”:6,“taskId”:100086}
上述字符串中的第一個字符串表示命令要求是恒溫加熱模式,后面表示目標溫度是600 ℃,采樣周期是6 s。
如果是需要設(shè)置溫控曲線進行加熱,加熱模式需要設(shè)置為斜率模式,即”SlopeMode”,生成的數(shù)據(jù)流格式是:
{“SlopeMode”:[{“temp”:20, “time”:15},{“temp”:260,“time”:10},
{“temp”:260,“time”:20},{“temp”:200,“time”:0}],“interval”:6,“taskId”:100087}
該數(shù)據(jù)流表示對溫控器進行如圖7所示的溫控曲線的設(shè)置。
4.2? 手機端應(yīng)用軟件程序設(shè)計
在Android Studio集成開發(fā)環(huán)境中開發(fā)了系統(tǒng)中的手機端應(yīng)用軟件。高溫燒結(jié)爐監(jiān)控軟件首先需要建立與路由器的連接,獲取連接Wi-Fi的名稱,然后需要在AndroidMainfest.xml文件中添加權(quán)限。
<uses-permission android:name=
“android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=
“android.permission.ACCESS_WIFI_STATE” />
應(yīng)用軟件端與MQTT服務(wù)器建立連接后,在將接收到的JSON數(shù)據(jù)包信息圖形展示之前需要先對其進行解析。設(shè)計中采用是Google出品的JSON解析函數(shù)庫GSON,可以將JSON字符串反序列化為對應(yīng)的Java對象,或者反過來將Java對象序列化為對應(yīng)的字符串,免去了開發(fā)者手動通過JSONObject和JSONArray將JSON字段逐個進行解析的煩惱,也減少了出錯的可能性,增強了代碼的質(zhì)量。使用GSON解析時候,對應(yīng)的Java實體類無需要使用注解進行標記,支持任意復(fù)雜Java對象,包括沒有源代碼的對象。
在對溫控曲線進行設(shè)置時根據(jù)兩種加熱模式設(shè)計成如圖6所示的界面,界面中是采用斜率模式進行溫控曲線設(shè)置,生成的溫控曲線如圖7所示,通過按下開始運行按鈕,手機端將會發(fā)出“SlopeMode”模式下的JSON數(shù)據(jù)流控制燒結(jié)爐啟動運行。
5? 系統(tǒng)的測試
在實驗室中對高溫燒結(jié)爐的監(jiān)控系統(tǒng)進行測試,在第一次的上電使用中,由于無線網(wǎng)關(guān)不知道連接外網(wǎng)的路由器的SSID和密碼,無線網(wǎng)橋上的蜂鳴器會鳴叫以提示用戶設(shè)備沒有連上網(wǎng)絡(luò),此時可以通過手機端應(yīng)用軟件上智能配網(wǎng)按鈕對其進行配網(wǎng)。設(shè)備連接成功后,通過手機設(shè)置成恒溫模式,目標溫度300 ℃,啟動加熱后得到的目標溫度與實際溫度的實時監(jiān)控圖如圖8所示;從監(jiān)控曲線可以發(fā)現(xiàn)爐子從室溫27 ℃加熱到300 ℃大約花費了750 s左右的時間,溫度上升的趨勢并不是一個斜率固定的直線。當爐溫升高到300 ℃,由于溫控器經(jīng)過合適的自整定,有了比較匹配的PID參數(shù),爐溫只有很小的超調(diào)量,并且能一直維系在300 ℃左右在微小的變化。
6? 結(jié)? 論
通過設(shè)計高溫燒結(jié)爐物聯(lián)網(wǎng)監(jiān)控系統(tǒng),實現(xiàn)了在阿里云物聯(lián)網(wǎng)平臺對燒結(jié)爐設(shè)備的運行監(jiān)控。通過測試結(jié)果表明該系統(tǒng)既可以實現(xiàn)在手機端或PC端對加熱爐設(shè)置溫控曲線,也可以在無人值守的情況下實時監(jiān)測爐子的運行數(shù)據(jù),并且方便對爐子的實際工作數(shù)據(jù)進行存儲分析。工程中可以將這項技術(shù)應(yīng)用到實驗室不同設(shè)備,從而實現(xiàn)智慧實驗室。
參考文獻:
[1]? ALAHI M E E E,PEREIRA-ISHAK N,MUKHOPADHYAY S C,et al. An Internet-of-Things Enabled Smart SensingSystem for Nitrate Monitoring [J].IEEE Internet of Things Journal,2018,5(6):4409-4417.
[2] 周春月,閆子淇.基于物聯(lián)網(wǎng)技術(shù)的智慧實驗室架構(gòu)研究 [J].實驗室研究與探索,2014,33(5):239-243.
[3] 張金菊.基于物聯(lián)網(wǎng)技術(shù)的智慧實驗室架構(gòu)設(shè)計與研究 [J].科技展望,2017(12):12.
[4] 李延香,趙薔,袁輝.基于Wi-Fi物聯(lián)網(wǎng)技術(shù)的智慧實驗室架構(gòu)研究 [J].信息技術(shù),2018,42(8):34-38.
[5] 彭剛,秦志強.基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實踐 [M].北京:電子工業(yè)出版社,2011.
[6] 張勝宇.HTML5跨平臺移動開發(fā)實訓教程 [M].北京:清華大學出版社,2019.
[7] HUANG Y H,LI G Y. Descriptive models for Internet of Things [C]//2010 International Conference on Intelligent Control and Information Processing.Dalian:IEEE,2010:483-486.
作者簡介:鞠文清(2000.02—),女,漢族,河南信陽人,本科在讀,研究方向:計算機測控系統(tǒng)。