黨存祿 ,李永強
(1.蘭州理工大學電氣工程與信息工程學院,甘肅 蘭州 730050;2.甘肅省先進工業(yè)過程控制重點實驗室,甘肅 蘭州 730050;3.蘭州理工大學國家級電氣與控制工程教學中心,甘肅 蘭州 730050)
集中供熱系統(tǒng)存在的問題是大部分系統(tǒng)處于半自動化運行或人工調節(jié)狀態(tài),熱源、供熱管網和換熱站的運行數據依靠抄表和電話上報,整個系統(tǒng)的自動化程度和效率低下且往往伴隨著供熱中斷的現象,嚴重影響了居民的生活質量。隨著物聯(lián)網技術以及無線技術的快速發(fā)展,人們提出智慧城市概念[3],城市的集中供熱監(jiān)控系統(tǒng)也朝著自動化、科技化、智能化方向發(fā)展。為了解決傳統(tǒng)供熱系統(tǒng)存在的問題與不足,需要采用先進的科學技術對集中供熱系統(tǒng)進行改造和提升。勞拉(long rang,Lora)技術是一種基于線性Chirp擴頻調制和前向糾錯編碼技術的新興廣域網技術[1],具有功耗低、傳輸距離遠的特點,大大提升了接收端識別信號的靈敏度和信噪比(signal to noise ratio,SNR),保證了信號傳輸的魯棒性和抗干擾性。Lora技術對建筑物也具有更強的穿透能力,解決了某些地下管網或者地下室因信號差難以傳輸數據的問題。
本文選用Lora低功耗廣域網技術和上位機軟件對集中供熱系統(tǒng)的熱源、換熱站、管網和熱用戶的主要運行參數、管網信息、設備運行狀況進行動態(tài)監(jiān)測,從而優(yōu)化熱源的調度,保障供熱過程的安全、高效運行。
城市供熱監(jiān)控系統(tǒng)總體由傳感器節(jié)點、網關、網絡服務器和PC軟件四部分構成。Lora模塊與各類傳感器、執(zhí)行器相連,采集供熱一次網和二次網的壓力、流量、熱水溫度以及泵和閥門運行狀態(tài)等數據,經微控制單元處理后經無線收發(fā)器調制擴頻發(fā)送給網關。網關對其匯總解調,并將其上傳給網絡服務器和上位機。網關與終端之間遵循Lorawan協(xié)議。數據傳輸過程中,數據流通過網絡會話密鑰(NwkSkey)和應用中斷密鑰(AppSkey)來保證數據完整性。NwkSkey在終端設備與網絡服務器之間共享,用于加密和解密應用程序數據。
系統(tǒng)總體設計如圖1所示。
圖1 系統(tǒng)總體設計圖
傳感器節(jié)點模塊由溫度傳感器、壓力傳感器、流量傳感器以及Lora終端F8L10T組成。F8L10T內置高性能工業(yè)級芯片和無線收發(fā)器,支持速率自適應(adaptive ddate rate,ADR)算法、多級休眠和喚醒模式,最大限度降低功耗、延長電池壽命。模塊提供5路I/O口,將I/O口配置成模擬量輸入,可實現A/D采集功能。F8L10T作為一種嵌入式無線終端,內部結構按模塊可劃分為微處理器、電源管理模塊、射頻模塊、UART轉換模塊、內存模塊及周邊電路。
2.1.1 電源管理模塊
Lora模塊由于使用較低的發(fā)射速率和定時喚醒模式,具有很低的功耗??紤]到本文供熱系統(tǒng)中的Lora設備要大多放在無法插座供電的供熱設備上,因而系統(tǒng)采用9 V的鋰電池對其供電。模塊芯片工作電壓為3.3 V。為確保電源供電穩(wěn)定、可靠且無噪聲,在電源的輸入端設計了一個線性穩(wěn)壓器。它采用AP2139AK-3.3TRG1貼片,具有輸出電壓穩(wěn)定、低輸出波紋、低噪聲的特點。降壓電路如圖2所示。
圖2 降壓電路
2.1.2 射頻模塊
射頻模塊采用CMT2380F32超低功耗射頻收發(fā)器,使用擴頻調制和前向糾錯技術。與傳統(tǒng)的頻移鍵控(frequency shift keying,FSK)、開關鍵控(on off keying,OOK)調制技術相比,Lora擴大了無線通信鏈路的覆蓋范圍,實現了遠距離無線傳輸,提高了鏈路的魯棒性。CMT2380F32支持高達+20 dBm的發(fā)射功率及-121 dBm的接收靈敏度,集成了豐富的外設,支持標準的UART、I2C和SPI接口,并支持多種數據包格式和編解碼方式、至多64位 Tx/Rx FIFO及高精度RSSI和多通道輸入12位ADC等。射頻模塊如圖3所示。
圖3 射頻模塊
圖3中,AS179為射頻開關。當管腳A使能高電平、管腳B使能低電平時,RF2打開進入接收模式,天線感應進來的射頻信號。經π型電路處理以后,通過正交混頻電路變頻至中頻,由鏡像抑制濾波器濾波,限幅放大器進一步放大后送入數字域作數字解調處理。當電平B高A低時,調制數據由一個高效的單端功率放大器通過RFO管腳發(fā)射。輸出功率可以通過寄存器讀寫。
2.1.3 硬件復位
MCU控制三極管復位電路如圖4所示。
圖4 MCU控制三極管復位電路
由于工作環(huán)境復雜、工作時間長,模塊存在死機、假連接等異常狀況。出現異常時如何自動恢復,在設計模塊時必須充分考慮。F8L10T默認上電立即啟動,沒有開機和關機引腳,但是提供一個硬件復位管腳,數字輸入,低電平有效。由于模塊采用鋰電池供電,所以系統(tǒng)采用MCU控制RESET腳(復位)為低電平200 ms,使模塊硬復位,類似于處理器硬復位。
網關選用內置32位CPU系統(tǒng)和Lora通信模塊的F8926-L物聯(lián)網無線通信路由器。該網關配置有以太網接口模塊、交換機模塊、WiFi模塊以及蜂窩無線模塊,具有強大的數據處理和協(xié)議轉換功能。F8926-L網關數據接收靈敏度可達到-140 dBm,無論發(fā)射端是否使用同一頻率發(fā)射數據,只要不同的終端使用不同的擴頻碼,網關便可輕易識別,從而保證數據接收不收影響。這使得F8926-L網關具有較大的網絡容量,滿足了供熱管網覆蓋面積廣、監(jiān)測點多的要求。
系統(tǒng)中節(jié)點坐標要寫入數據庫中,因此要收集節(jié)點坐標。本文先運用接收信號強度指示(received signal strength indication,RSSI)測距原理測量建立信號衰減模型[2-7],進而測量節(jié)點與上位機距離,再運用三邊定位法對其坐標進行定位。RSSI算法是運用傳輸損耗來進行測距的,傳輸損耗的計算是通過對發(fā)送功率和接收功率進行測量后進行計算的。該算法的優(yōu)勢在于不需要安裝額外的設備,成本小且容易實現。另外,Lora技術抗干擾能力及物體穿透力較強,信號傳播中受多徑反射的影響較小,測量的結果誤差相對較小,可實現精準定位。RSSI信號衰減模型為:
RSSI=A-10ηlog(d)+v
(1)
式中:A為常數;η為路徑損耗指數;d為發(fā)送端與接收端的距離;v為環(huán)境噪聲,其通常為均值為0的高斯分布隨機變量。
RSSI值距離擬合曲線如圖5所示。
圖5 RSSI值距離擬合曲線
以蘭州理工大學為例,本文設定電信大樓C513為基點,初始坐標為(0,0,20),每隔20 m測量多個不同位置的RSSI值,通過求取其加權平均值抵消到環(huán)境噪聲的影響。RSSI值的測量要將F8L10T模塊轉換到AT模式并顯示其信號強度值,通過串口工具下發(fā)相同的數據包便可得其信號衰減值。上位機與終端距離在20 m之內時,RSSI值達到峰值117,隨后隨著距離的增大,RSSI值呈現對數函數型衰減。當距離值超過700時,RSSI值維持在50而不隨距離增大而改變。
通過RSSI測量值散點圖,運用最小二乘法擬合信號衰減模型距離曲線作為校園環(huán)境信號衰減模型:
RSSI=115-2.261log(d)
(2)
運用均值RSSI數值測量信號距離的公式為:
(3)
根據三邊定位法,待定位節(jié)點收到三個不同的已知坐標的應用節(jié)點發(fā)送相同數據包,測得其接收端RSSI值。根據信號衰減模型測出距離,接著運用三邊定位法計算節(jié)點坐標。待測節(jié)點與3個已知錨節(jié)點的未知關系如式(4)所示:
(4)
式中:(X,Y,Z)為待測節(jié)點坐標;(X1,Y2,Z3)、(X2,Y2,Z2)、(X3,Y3,Z3)分別為3個錨節(jié)點坐標數據。
化簡后,轉換為矩陣形式:
QX=B
(5)
式中:Q為3×3維矩陣;X為坐標向量;B為3維向量。
(6)
X=[XYZ]T
(7)
(8)
則待測節(jié)點坐標X=Q-1B。
無線網絡應用采用低功耗操作模式,即空中喚醒模式:即使節(jié)點處于休眠狀態(tài),當節(jié)點需要工作時,也可以通過無線方式直接喚醒該節(jié)點??罩袉拘训幕驹硎牵簡拘寻l(fā)起端在有效數據前頭加一段較長的前導碼,待喚醒端的無線節(jié)點進行周期性喚醒,監(jiān)聽網絡。一旦捕捉到前導碼就進入正常的接收流程,若沒有則立即休眠,等待下一次喚醒。定時激活模式如圖6所示。
圖6 定時激活模式
數據交互流程如圖7所示。
圖7 數據交互流程圖
由于終端和網關共享32個信道,且均遵循Lorawan協(xié)議,所以終端通信模塊與網關通信模塊設計近似。這就為定時手法收發(fā)提供了硬件基礎。網關周期性發(fā)送前導碼,終端周期性地打開接收窗口,監(jiān)聽到前導碼后,解析下行鏈路幀地址與終端設備地址是否匹配、有效信息是否完整,確定無誤后開始信道檢查、發(fā)送數據。網關承擔網絡中樞的功能,將終端發(fā)送的數據打包封裝傳輸給上位機監(jiān)控軟件反映終端管網系統(tǒng)參數,并將其傳輸到云服務器進行數據備份。管理人員根據系統(tǒng)參數進行反饋操作,下發(fā)的數據包由網關解析為感知層協(xié)議能夠識別的控制指令再下發(fā)給終端,完成一次完整的數據交互。
網關和主機通過RS-485相連,網關接收傳感器節(jié)點發(fā)送的采集數據,并通過RS-485串行總線實時發(fā)給主控機。上位機程序收集供熱系統(tǒng)溫度、流量、壓力等信息,存儲于數據庫系統(tǒng)中。在監(jiān)控界面,可以實現歷史曲線、報表查詢、報警顯示等功能。一旦某項數據超出閾值,上位機程序會進行蜂鳴器報警,并以短信等方式通知管理人員,以便管理人員實時作出決策,調度人力物力及時排除故障,防止意外事故的發(fā)生。
考慮到溫度、壓力、流量等采集信號均為低頻信號且Lora模塊模擬量采集口均接收0~5 V的電壓信號,本文利用正弦波波表采用單片機控制程序來控制PCF8591芯片,使其輸出一個正弦波來模擬采集信號。PCF8591是一個單電源。低功耗的8位CMOS數據采集元件, AIN0~3為4路模擬量輸入,AOUT用于模擬量輸出,AO、A1、A2用于編程硬件地址,單片機通過I2C總線發(fā)送3個字節(jié)與PCF8591進行通信。第一個字節(jié)與EEPROM類似為器件地址字節(jié),前七位代表地址,最后一位為讀/寫方向。第二個字節(jié)為控制字節(jié),用于控制PCF5891的功能,這一字節(jié)第6位為D/A使能位,設置為1以實現模擬電壓輸出功能,第4位和第5位可將PCF8591的4路模擬輸入配置為單端模式或差分模式。第三個字節(jié)為D/A數據寄存器字節(jié),表示模擬輸出的電壓值。由于信號為低頻信號,程序源碼中選取了32個點建立了正弦波表,定時器計數頻率設定為1 Hz。核心控制程序如下:
Void main()
{EA=1; ConfigTimer0(1);
pWave=SinWave; SetWaveFreq=(0.03125) }
Void SetDACOut(unsigned char val)
{
I2C Start();
If(!I2C Write(0x48<<1))
{I2C Stop(); return();}
I2C Write(0x40);
I2C Write(val);
I2C Stop();
}
Vref為基準源,用杜邦線將Vref與外圍J17雙排插針上的+5 V CC短接,可以產生一個+5 V的基準電壓,再將AOUT端口和GND插針分別接在F8L10T的I/O口和GND口便可實現信號的采集。報警表示當系統(tǒng)中某些量的值超過所規(guī)定的臨界值時,系統(tǒng)自動生成相應的警告信息,表明數量值已超限值,提醒操作人員。由于溫度、壓力和流量均為同一種類型的信號,測試過程中僅建立一個iotest的數據庫變量便可驗證整個系統(tǒng)的運行狀況。系統(tǒng)測試時,運用單片機供給采集終端連續(xù)變化的模擬電壓信號,數據庫變量iotest的報警上限值設為4.2 V,下限值設為1 V。經測試,上位機監(jiān)控界面運行日志中能夠實時顯示終端設備信息、系統(tǒng)工作模式及網絡連接狀況。當終端采集值超出報警閾值區(qū)間時,報警窗口事項閃爍顯示并且蜂鳴器發(fā)出警報。云端數據庫可有效調用歷史運行數據及歷史曲線,運用Android客戶端也可訪問網絡服務器監(jiān)測供熱官網運行狀況。測試證明,該系統(tǒng)不僅可以有效地采集電壓信號并實現報警功能[8-10],而且能夠正常存儲和調離數據。
本文設計并開發(fā)了基于Lora技術的城市供熱監(jiān)控系統(tǒng),從系統(tǒng)總體設計、硬件選擇、軟件開發(fā)及系統(tǒng)運行測試4個方面對系統(tǒng)進行綜合闡述。該系統(tǒng)克服了傳統(tǒng)無線網絡滲透力差和丟包率較為嚴重的缺點,實現了對供熱系統(tǒng)溫度、流量、壓力參數的實時監(jiān)控及報警功能。系統(tǒng)對于合理調度熱力資源、節(jié)能減排具有重要意義。