楊遠(yuǎn),杜忠華
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京 210094)
近年來,城市集中供熱系統(tǒng)規(guī)模不斷擴(kuò)大,同時(shí)出現(xiàn)了諸多問題,用戶對(duì)供熱質(zhì)量提出了較高要求[1]。對(duì)用戶終端供熱狀態(tài)信息采集不及時(shí),將導(dǎo)致用戶供熱質(zhì)量沒有達(dá)到預(yù)想效果。在采集多處數(shù)據(jù)信息、出現(xiàn)多處故障及調(diào)節(jié)多處流量時(shí),造成時(shí)間和人力的耗費(fèi),不能及時(shí)處理用戶的需求[2]。在物聯(lián)網(wǎng)技術(shù)迅速發(fā)展的同時(shí),現(xiàn)有的遠(yuǎn)程監(jiān)測(cè)技術(shù)面臨的問題也隨之而來[5-6]。文獻(xiàn)[3]采用GPRS 物聯(lián)網(wǎng)技術(shù)設(shè)計(jì)了集中供熱在線監(jiān)測(cè)系統(tǒng),該技術(shù)容易受覆蓋范圍的限制,存在通信死角,導(dǎo)致實(shí)時(shí)性差。傳統(tǒng)上采用以太網(wǎng)技術(shù)設(shè)計(jì)熱力站在線監(jiān)測(cè)系統(tǒng),該技術(shù)采用超時(shí)重發(fā)機(jī)制,單點(diǎn)故障容易擴(kuò)散,導(dǎo)致整個(gè)網(wǎng)絡(luò)系統(tǒng)癱瘓不能正常工作。該文提出一種基于NB_IOT 的供熱遠(yuǎn)程監(jiān)測(cè)系統(tǒng),基于蜂窩網(wǎng)絡(luò)的NB_IOT 自身具備廣覆蓋、低功耗、強(qiáng)鏈接等優(yōu)勢(shì)[7-8],彌補(bǔ)了現(xiàn)有監(jiān)測(cè)方式的不足。
從未來發(fā)展的視角來說,若想確保供熱系統(tǒng)有較高的運(yùn)行效益且提高用戶供熱質(zhì)量,用戶流量調(diào)節(jié)是一種可行性較高的模式。為提高用戶供熱質(zhì)量,對(duì)傳統(tǒng)的供熱系統(tǒng)進(jìn)行合理改進(jìn),在保證用戶質(zhì)量的基礎(chǔ)上采用變流量調(diào)節(jié),能滿足供熱需求且能減低熱源的能耗。調(diào)節(jié)用戶流量大小時(shí),需實(shí)時(shí)監(jiān)測(cè)用戶室內(nèi)外溫度和輸送管道內(nèi)的熱源信息,否則并不能達(dá)到預(yù)想的效果?;镜淖兞髁抗嵯到y(tǒng)結(jié)構(gòu)圖如圖1 所示。變流量調(diào)節(jié)的引入可以更好地對(duì)不同用戶提供相同的服務(wù),并能進(jìn)行相應(yīng)的供熱調(diào)節(jié)和管控[4]。
圖1 變流量供熱系統(tǒng)基本結(jié)構(gòu)圖
遠(yuǎn)程監(jiān)測(cè)系統(tǒng)框圖如圖2 所示,其主要由用戶采集端、NB_IOT 模塊、物聯(lián)網(wǎng)云平臺(tái)和應(yīng)用終端構(gòu)成。其中,用戶采集端負(fù)責(zé)用戶室內(nèi)溫濕度數(shù)據(jù)采集、流量調(diào)節(jié)閥控制和管道內(nèi)溫度數(shù)據(jù)采集等。NB_IOT 模塊與云平臺(tái)進(jìn)行數(shù)據(jù)交互,將數(shù)據(jù)上傳到物聯(lián)網(wǎng)云平臺(tái),并對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存。用戶和供暖企業(yè)可以通過PC 端、移動(dòng)端實(shí)時(shí)查看供熱系統(tǒng)用戶端狀態(tài)信息和下發(fā)流量調(diào)節(jié)控制指令。
圖2 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)終端結(jié)構(gòu)圖如圖3 所示,構(gòu)成部分主要包含溫濕度傳感器、流量調(diào)節(jié)閥、管道內(nèi)溫度傳感器、NB_IOT 模塊、STM32微控制器、電源電路、時(shí)鐘電路、復(fù)位電路及ADC 轉(zhuǎn)換電路。電源主要由電池和外部人工接口供電,電池提供5 V 的電源電壓。整個(gè)電路設(shè)計(jì)做低功耗處理,3.3 V降壓電源電路設(shè)計(jì)如圖4所示。電源電路主要負(fù)責(zé)給STM32微控制器及NB_IOT模組提供3.3 V 電壓。
圖3 控制終端結(jié)構(gòu)圖
圖4 電源電路
傳感器與STM32 微控制器完成數(shù)據(jù)的采集;NB_IOT 模塊與物聯(lián)網(wǎng)云平臺(tái)交互完成數(shù)據(jù)上傳及指令接收控制;驅(qū)動(dòng)電機(jī)模塊負(fù)責(zé)控制用戶流量調(diào)節(jié)閥閥體動(dòng)作,通過電機(jī)驅(qū)動(dòng)電路與微控制器STM32 連接;根據(jù)微控制器STM32 接收的控制指令進(jìn)行處理并發(fā)送控制信號(hào)至驅(qū)動(dòng)電機(jī)模塊;最終實(shí)現(xiàn)用戶流量的調(diào)節(jié)。主控制器作為系統(tǒng)運(yùn)行的核心控制部分,根據(jù)供熱的實(shí)際需求以及對(duì)低功耗的要求,該文選擇STM32 作為主控制器芯片。以提供動(dòng)態(tài)電壓調(diào)節(jié)、超低功耗時(shí)鐘振蕩器和超低功耗下的通信外設(shè)接口,動(dòng)態(tài)運(yùn)行模式下電流消耗低至87 μA/MHz;在停止模式下,喚醒時(shí)間可低至3.5 μs。
在數(shù)據(jù)采集模塊設(shè)計(jì)中,STM32 微控制器的串口與傳感器通信接口相連接,采集傳感器所測(cè)數(shù)據(jù)信息。數(shù)據(jù)采集模塊主要包括溫濕度傳感器、管道內(nèi)溫度傳感器及流量調(diào)節(jié)閥。溫濕度傳感器主要采集用戶室內(nèi)溫濕度數(shù)據(jù),管道內(nèi)溫度傳感器采集用戶熱源管道內(nèi)的熱源溫度。根據(jù)系統(tǒng)的設(shè)計(jì)需求,管道采集溫度選擇了PT100 防水溫度傳感器,輸出信號(hào)為模擬信號(hào),工作溫度為-50~500 ℃。溫濕度傳感器選用了TE Connectivity 生產(chǎn)的HPP845E031R4,是專用的濕度和溫度即插即用傳感器,嵌入在可回流焊接的雙扁平無引線封裝中;其工作電壓為1.5~3.6 V,工作溫度在-40~125 ℃,數(shù)字輸出模塊可實(shí)現(xiàn)與微控制器接口直接連接[11]。
根據(jù)用戶流量調(diào)節(jié)閥閥體結(jié)構(gòu)和需求,選用了RF310-17192-5.0V 帶開關(guān)的減速電機(jī),其性能參數(shù)如表1 所示。通過電機(jī)驅(qū)動(dòng)電路實(shí)現(xiàn)微控制器STM32 控制RF310 減速電機(jī)的啟動(dòng)與停止,電機(jī)驅(qū)動(dòng)模塊直接與微控制器STM32 連接。供熱企業(yè)可根據(jù)供熱系統(tǒng)實(shí)時(shí)監(jiān)測(cè)狀態(tài)信息,在控制終端上發(fā)送控制指令;通過云平臺(tái)與NB_IOT 模塊交互,將控制指令傳輸至微控制器STM32;最終通過微控制器STM32 串口發(fā)送控制信號(hào)至電機(jī)驅(qū)動(dòng)模塊。
表1 RF310減速電機(jī)性能參數(shù)表
該設(shè)計(jì)中NB_IOT 通信模塊選用了移遠(yuǎn)通信生產(chǎn)的BC25,BC25 是一款高性能、多頻段、低功耗、支持OpenCPU 的無線通信模塊;可節(jié)約MCU,采用LCC貼片封裝,支持2.1~3.6 V 低電壓供電;支持多頻段及豐富外部接口,支持海量的連接數(shù)量;內(nèi)嵌網(wǎng)絡(luò)協(xié)議棧。在低功耗模式下電流功耗可低至3.8 μA,只消耗低至180 kHZ的帶寬[7-8]。根據(jù)系統(tǒng)的設(shè)計(jì)需求,NB_IOT 模塊硬件電路設(shè)計(jì)主要包括電源電路、串口通信電路、USIM 卡座電路等,BC25硬件電路如圖5所示。由于NB_IOT 通信輸出引腳的輸出電壓為1.8 V,微控制器STM32 串口輸入引腳默認(rèn)為3.3 V,需設(shè)計(jì)通信轉(zhuǎn)換電路,其轉(zhuǎn)換電路設(shè)計(jì)如圖6 所示。
圖5 BC25硬件電路
圖6 轉(zhuǎn)換電路
在系統(tǒng)運(yùn)行后,初始化微控制器STM32、各類傳感器及NB_IOT 模組,數(shù)據(jù)采集終端通過NB_IOT 模組嘗試網(wǎng)絡(luò)連接,判斷網(wǎng)絡(luò)連接狀態(tài);若連接成功,根據(jù)系統(tǒng)開發(fā)需求設(shè)置數(shù)據(jù)采集周期及頻率;微控制器STM32 根據(jù)用戶設(shè)置采集周期和頻率,對(duì)各節(jié)點(diǎn)傳感器的數(shù)據(jù)進(jìn)行采集;NB_IOT 模塊將采集的數(shù)據(jù)上傳至云平臺(tái),通過云平臺(tái)返回的標(biāo)志位判斷是否上傳成功;若為真,表示完成采集數(shù)據(jù)的上傳。同時(shí),微控制器STM32 通過判斷是否存在控制指令下發(fā);若用戶控制終端存在下發(fā)控制指令,微控制器STM32 控制驅(qū)動(dòng)電機(jī)作相應(yīng)動(dòng)作。主控制程序流程圖如圖7 所示。
圖7 主控制程序流程圖
云平臺(tái)將用戶端的傳感器、網(wǎng)絡(luò)、用戶聯(lián)系起來,用戶可以根據(jù)需求簡(jiǎn)便及靈活地搭建遠(yuǎn)程監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)采集終端與用戶建立連接[9-11]。該系統(tǒng)設(shè)計(jì)采用阿里云服務(wù)平臺(tái),云平臺(tái)的搭建主要包括創(chuàng)建產(chǎn)品及設(shè)備,同時(shí)生成設(shè)備序列號(hào),用于網(wǎng)絡(luò)通信時(shí)設(shè)備的一一對(duì)應(yīng),保證數(shù)據(jù)的安全傳輸。
NB_IOT 模塊與云平臺(tái)采用MQTT 通信協(xié)議進(jìn)行網(wǎng)絡(luò)連接,MQTT 協(xié)議底層采用TCP 網(wǎng)絡(luò)通信協(xié)議,可保證數(shù)據(jù)上傳的安全性和可靠性。采用MCU發(fā)送AT 命令語言進(jìn)行網(wǎng)絡(luò)連接,連接流程圖如圖8所示。在進(jìn)行連接前需完成設(shè)備屬性與序列號(hào)的匹配,每個(gè)設(shè)備對(duì)應(yīng)一個(gè)序列號(hào);在數(shù)據(jù)上傳和指令下發(fā)時(shí)對(duì)應(yīng)具體的設(shè)備信息。通過命令語言可查詢連接狀態(tài)、附著網(wǎng)絡(luò)、網(wǎng)絡(luò)信號(hào)等功能。
圖8 網(wǎng)絡(luò)連接流程圖
云平臺(tái)與應(yīng)用服務(wù)器通過不同的網(wǎng)絡(luò)通信協(xié)議完成連接。云平臺(tái)通過服務(wù)器端的訂閱請(qǐng)求,將設(shè)備產(chǎn)生的數(shù)據(jù)通過HTTP/2 通道推送到用戶服務(wù)器。HTTP/2 具有方便、快捷、低延時(shí)的優(yōu)勢(shì)。用戶服務(wù)器通過數(shù)據(jù)發(fā)布下發(fā)數(shù)據(jù)并由HTTPS 通道推送至云平臺(tái),云平臺(tái)通過MQTT 通道推送至采集終端。
用戶服務(wù)器軟件是將終端數(shù)據(jù)最直觀地展示給用戶的人機(jī)交互軟件。該文設(shè)計(jì)采用阿里云平臺(tái)提供的人機(jī)交互平臺(tái),用戶可根據(jù)需求自動(dòng)搭建人機(jī)交互頁(yè)面[12-16]。人機(jī)界面如圖9 所示,分為設(shè)備上線連接、數(shù)據(jù)上報(bào)、異常告警以及主題訂閱窗口。根據(jù)設(shè)備序列號(hào)查看每個(gè)用戶的供熱實(shí)時(shí)狀態(tài),每個(gè)窗口通過訂閱云平臺(tái)的訂閱主題實(shí)現(xiàn)數(shù)據(jù)接收,通過推送主題發(fā)布數(shù)據(jù)至云平臺(tái)。
圖9 系統(tǒng)測(cè)試圖
系統(tǒng)測(cè)試主要包括采集數(shù)據(jù)信息的上報(bào)和下發(fā)控制指令對(duì)流量的調(diào)節(jié)兩部分。移動(dòng)端與云平臺(tái)匹配身份三元組信息進(jìn)行網(wǎng)絡(luò)連接;發(fā)送連接請(qǐng)求后,根據(jù)云平臺(tái)返回標(biāo)志判斷是否連接成功;點(diǎn)擊設(shè)備數(shù)據(jù)上報(bào),用戶可查看用戶端供熱實(shí)時(shí)狀態(tài)信息,如圖9 所示。該系統(tǒng)可以實(shí)時(shí)監(jiān)測(cè)供熱狀態(tài)信息。當(dāng)供熱出現(xiàn)異常時(shí),可查詢歷史報(bào)警時(shí)間、報(bào)警內(nèi)容等信息,為查明故障原因提供幫助。企業(yè)工作人員可在PC 端上登錄云平臺(tái),下發(fā)控制指令;主控制器接收到下發(fā)的指令時(shí)進(jìn)行控制指令處理分析,發(fā)送控制信號(hào)至驅(qū)動(dòng)電機(jī)模塊或上傳相應(yīng)狀態(tài)信息,以調(diào)節(jié)用戶流量[17-20]。
該文對(duì)整個(gè)系統(tǒng)的硬件電路設(shè)計(jì)與軟件程序設(shè)計(jì)流程進(jìn)行了介紹,并進(jìn)行了基本功能的測(cè)試。該系統(tǒng)是基于NB_IOT 的供熱遠(yuǎn)程監(jiān)測(cè)系統(tǒng),可實(shí)時(shí)采集供熱系統(tǒng)的供熱狀態(tài),上傳數(shù)據(jù)至服務(wù)器終端進(jìn)行顯示;控制終端下發(fā)控制指令,調(diào)節(jié)供熱系統(tǒng)的用戶流量,實(shí)現(xiàn)了供熱系統(tǒng)數(shù)據(jù)的遠(yuǎn)程監(jiān)測(cè)及供熱系統(tǒng)的用戶流量遠(yuǎn)程調(diào)節(jié);可遠(yuǎn)程保障供熱系統(tǒng)的正常運(yùn)行,同時(shí)也為故障排查提供數(shù)據(jù)支持。該系統(tǒng)具有成本低、功耗低、可擴(kuò)展性高等優(yōu)勢(shì),可為開發(fā)基于NB_IOT 的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)提供參考。