高 楓,趙星漢,高湘飛,劉 夢
(1.中國電子科技集團公司第二十七研究所,河南 鄭州 450047;2.鄭州中電新能源汽車有限公司,河南 鄭州 450047)
無線網絡技術作為工業控制的研究熱點,將無線測溫系統應用到變電站等工業控制領域中,不僅能有效提高獲取監控數據的實時性,還可有效降低溫度監控系統的成本。結合ZigBee的優勢,針對傳統測溫系統的不足之處,提出了一種運用低功耗PIC單片機與ZigBee無線技術相結合的多節點無線測溫系統,實現多個節點數據采集的無線傳輸。采用PIC18FXXXX系列單片機和Si4432完成了基于ZigBee無線網絡測溫系統的設計與實現,實現了無線溫度采集和監控,該系統具有穩定、可靠、擴展性好以及方便維護等優點。
該無線測溫系統主要由無線溫度采集單元和溫度監測報警單元兩部分組成。工作原理如圖1所示。
無線溫度采集單元主要用來測量接觸點的溫度,在容易發熱的地方進行安裝,每個無線溫度傳感器配備唯一的ID編號,將各采集單元的安裝地點與編號一起存入工作站計算機的數據庫中,各傳感器按照設定的時間間隔自動發射監測點的實時溫度數據[1]。
溫度監測報警單元負責接收各無線溫度采集單元上報的溫度數據,并在LCD顯示器上實時顯示。本系統內設置報警溫度為80 ℃,接收溫度超出設定值立即報警。

圖1 無線測溫系統工作原理
1.2.1 溫度采集單元
作為無線節點溫度采集單元,在特殊條件下,可能只能使用電池供電,要求的供電時間往往應達到數年,所以在設計硬件電路時,必須采用具有nanoWatt XLP功耗管理功能的器件,以及合理的電路結構和優化的工作方式以實現超低功耗。該單元設計采用低功耗單片機PIC18F26J11作為MCU,熱敏電阻作為溫度傳感器,數據經MCU處理后采用無線收發芯片Si4432發送出來,硬件組成如圖2所示[2]。
1.2.2 溫度監測報警單元
該單元設計采用PIC18F46J50作為溫度監測報警單元的MCU,采用無線收發芯片Si4432將數據正確接收后通過液晶實時顯示,硬件組成如圖3所示。

圖2 溫度采集單元

圖3 溫度監測報警單元
采用LM1117-5、LM1117-3.3提供5 V、3.3 V穩壓電源,分別給LCD、PIC單片機供電。
ZigBee無線模塊是系統的重要組成部分,具有超低耗的特點。本系統采用Si4432作為ZigBee模塊的主控芯片,Si4432頻率范圍:428~438 MHz,靈敏度高達-121 dBm,供電電壓為1.8~3.6 V,工作溫度在-40~+85 ℃。可實現穩定、高效的ZigBee無線發射、無線接收[3]。
為了使整個無線測溫系統能夠得到更多的適用性,本系統采用PCB天線設計。
液晶顯示模塊采用MST-G320240DBSW-213W-E型5.7寸液晶顯示模塊,帶RA8835控制芯片,藍膜高亮,可顯示320×240點陣。LCD類型為STN,LED背光,輸入電壓為5 V,輸入電流最大值為80 mA。
該系統測溫電路部分采用低成本、低功耗的MCP9700線性有源熱敏電阻,與電阻傳感器不同,其更具抗干擾能力,且線性有源熱敏電阻IC不需要另外的信號調理電路,電壓輸出引腳(VOUT)可直接與單片機的ADC輸入端相連。該模塊考慮到三極管損耗較大,可選擇用P溝道增強型場效應管做一個電子開關。
軟件設計部分運用模塊化設計,系統中主要功能模塊均采用獨立的函數由主程序調用。功能模塊主要包括系統初始化設計、無線發送程序設計、無線接收程序設計以及液晶顯示程序設計等[4]。
系統初始化程序的主要任務是對PIC單片機、SPI以及Si4432內部寄存器進行初始化。并啟動ZigBee模塊,發送請求信號,加入ZigBee網絡。
無線發送程序主要負責寫入數據載荷,并根據數據通信協議對數據載荷進行打包,對形成的數據包進行發送。當數據包發送后,Si4432引腳nIRQ拉低,產生一個低電平通知MCU該數據包已發送完畢。數據開始發送時,需完成中斷使能,關閉除有包發送中斷外的所有中斷。如果nIRQ引腳因中斷產生而使得電平拉低,那么當nIRQ引腳變為低時將會讀取中斷狀態,并且拉高nIRQ,否則繼續等待。一旦數據發送成功,指示燈會變亮。如果一次數據發送成功后,將會進入下一次數據循環發送狀態。具體程序流程如圖4所示。

圖4 無線發送程序流程
無線接收程序主要負責接收并檢驗數據包中的CRC字節,以確保接收數據的正確性。
程序完成MCU、SPI接口和Si4432的初始化,配置寄存器寫入相應的初始化控制字。讀取寄存器的狀態獲取包長信息,完成中斷使能,打開有效包中斷、同步控制字中斷、關閉其他中斷,接收數據。當引腳nIRQ被拉低,則表示檢測到有效數據包,Si4432準備好接收數據,讀取中斷狀態,并且拉高nIRQ,否則繼續等待。一旦數據讀取成功,則顯示接收到的數據。如果一次數據接收成功,將會進入下一次數據循環接收狀態。其具體程序流程如圖5所示。
液晶顯示器上顯示接收到的數據,LCD為動態驅動結構,在模塊顯示之前首先要對模塊進行初始化,主要是對完成參數的設置,驅動程序主要包括系統設置、寫入指令和數據,完成以上工作后可方便實現漢字、字符和圖形的界面顯示,并通過忙標志(BF)檢測控制芯片RA8835是否空閑,如果BF位為0,就往總線上發送一個8 bit的數據,并對其進行顯示。具體程序流程如圖6所示。

圖5 無線接收程序流程

圖6 液晶顯示控制器程序流程
無線測溫系統可實現溫度的采集和溫度監測報警功能,溫度采集單元實驗實物如圖7所示,溫度監測報警單元設置報警溫度為80 ℃,實物如圖8所示。

圖7 溫度采集單元實物

圖8 溫度監測報警單元實物
將低成本、低功耗的無線ZigBee技術應用在溫度數據的采集系統上,不僅能實現同時對多個節點溫度進行實時采集分析,而且可有效提高系統應用的可靠性、靈活性。無線測控系統被廣泛的應用在電力系統中,但在具體應用中還需不斷提高無線測溫模塊的穩定性,無線模塊的使用壽命和供電技術也需在實踐中不斷改進。