張卓林
(吉化股份有限公司有機(jī)合成廠,吉林 132022)
目前在國內(nèi)供熱行業(yè)生產(chǎn)管理過程中,存在著城鎮(zhèn)供熱服務(wù)過程中遇到的供熱效果不易掌握,調(diào)節(jié)供熱糾紛無法提供事實(shí)依據(jù)等問題;而對于供熱企業(yè)來說,也面臨著區(qū)域供熱效果無法量化,不同地點(diǎn)室溫難以同時采集和進(jìn)行數(shù)據(jù)比較,也就無法有針對性地科學(xué)調(diào)配生產(chǎn),結(jié)果導(dǎo)致提高供熱效果和降低生產(chǎn)成本兩者無法兼顧[1]。為了解決以上問題,需從技術(shù)上體現(xiàn)用戶故意降低室溫的行為和對用熱終端溫度的不間斷測量,通過無線傳輸方式將溫度和測溫裝置的狀態(tài)信息送至供熱中心[2],以提供不同供熱時段的溫度響應(yīng)曲線,用于輔助生產(chǎn)調(diào)配和提供供熱糾紛事實(shí)依據(jù)。
本文采用如圖1所示的組成結(jié)構(gòu)來完成需求。單片機(jī)選擇STC12C5A60S2,其具有豐富IO資源和雙路UART;測溫元件選擇DS18B20;獲取測溫時刻的日期和時間利用DS1302實(shí)現(xiàn);為判別用戶是否惡意改變測溫地點(diǎn)(如擱置于溫度較低的陽臺),利用方向探測器RPI1031實(shí)現(xiàn);在GPRS不可用時,將溫度和時間數(shù)據(jù)就地存儲于芯片AT45DB041中;顯示模塊采用LCD1602;遠(yuǎn)程數(shù)據(jù)傳輸模塊選擇SIM300,利用標(biāo)準(zhǔn)AT指令完成與數(shù)據(jù)中心服務(wù)器的TCP連接,將用熱端的日期時間、溫度和裝置方向狀態(tài)所構(gòu)成的數(shù)據(jù)報(bào)文實(shí)時傳送至服務(wù)器。
圖1 溫度測量的組成結(jié)構(gòu)Fig.1 Component structure of temperature measuring
如圖2的電路中,實(shí)現(xiàn)了室內(nèi)溫度的測量、測量時刻的日期時間的獲取、測量時刻測溫裝置的方向信息、以及本地FLASH存儲和顯示。測溫元件選擇數(shù)字式單總線溫度傳感器DS18B20[3],其溫度測量范圍為-55℃~125℃,其精度可達(dá)±0.0625℃。
圖2 溫度測量及輔助電路Fig.2 Temperature measuring and accessory circuit
為了獲得采集溫度時刻的日期和時間,選擇串行通信的實(shí)時時鐘DS1302[4],其內(nèi)含時鐘和日歷。通過SCLK和IO實(shí)現(xiàn)對DS1302時鐘寄存器的讀寫操作。利用RPI1031方向傳感器獲取測溫裝置的方向信息[5],它由發(fā)光二極管、光敏接收三極管以及圓柱型遮光物構(gòu)成。根據(jù)遮擋物所處的4個位置,方向傳感器輸出[0 0]、[0 VDD]、[VDD 0]和[VDD VDD]4個狀態(tài)。若用戶挪動了測量位置,其輸出狀態(tài)將會發(fā)生變化,即可判別是否人為挪動測溫裝置。存儲溫度值和測量時刻的日期和時間利用SPI總線的AT45DB041D存儲器完成[6],存儲容量為 4 MB,工作電壓為2.7~3.6 V,但所有的引腳均能承受5 V的電壓,可直接和5 V供電的單片機(jī)的I/O口連接,單片機(jī)利用時鐘端SCK、輸入端SI和輸出端SO實(shí)現(xiàn)命令字和地址以及數(shù)據(jù)的輸入和存儲數(shù)據(jù)的讀取。顯示單元選擇LCD1602[7],用于顯示實(shí)時溫度、日期時間、GPRS連接狀態(tài)、方向狀態(tài)和測溫裝置ID等信息。通過指令數(shù)據(jù)選擇端RS和讀寫控制RW以及并行數(shù)據(jù)口P0完成對顯示地址和內(nèi)容的輸出。
遠(yuǎn)程數(shù)據(jù)傳輸采用SIM300模塊,它是三頻段GSM/GPRS模塊,內(nèi)部集成了TCP/IP協(xié)議棧和擴(kuò)展了TCP/IP的AT指令,單片機(jī)通過標(biāo)準(zhǔn)串行異步通信控制SIM300,其接口電路如圖3所示。
圖3 SIM300模塊與單片機(jī)接口電路Fig.3 Interface circuit of SIM300 and MCU
SIM300工作電壓為3.4V~4.5 V,VDD_EXT在運(yùn)行時為3.0V輸出,利用P1.1判別SIM300運(yùn)行狀態(tài)。SIM_VDD、SIM_I/O、SIM_CLK和SIM_RST是SIM300對SIM卡提供的I2C協(xié)議的讀寫和控制端口,22 Ω電阻串聯(lián)于SIM卡和模塊之間以匹配阻抗。當(dāng)利用AT指令對SIM卡注冊成功后,利用NetworkLed輸出的VDD_EXT脈沖電壓控制DS2的閃爍指示網(wǎng)絡(luò)狀態(tài)。在SIM300上電時,首先利用P3.6控制PWRKEY來打開SIM300,當(dāng)PWRKEY持續(xù)3 s低電平后,SIM300啟動后再置PWRKEY高電平;SIM300提供雙UART,單片機(jī)通過UART1來控制SIM300。
遠(yuǎn)程測溫裝置軟件包括主程序、定時器T0的中斷服務(wù)程序、TCP連接子程序。主程序流程圖如圖4所示,首先設(shè)置單片機(jī)UART1異步通信工作方式和通信波特率。設(shè)置Timer0定時周期為1 s,用于周期采樣溫度數(shù)據(jù)和實(shí)時時鐘日期時間和方向探測器狀態(tài)以及數(shù)據(jù)顯示;然后讀取E2PROM獲得設(shè)備ID號和服務(wù)器IP地址,該ID同時用于數(shù)據(jù)上傳過程中標(biāo)識數(shù)據(jù)來源。而服務(wù)器IP地址是進(jìn)行TCP連接的必須字段,利用短消息對裝置進(jìn)行設(shè)置。然后啟動SIM300,并通過"AT"指令測試通信,并發(fā)送"AT+CMGF=1x00Dx00A",將SMS設(shè)置為英文格式。然后建立TCP連接,若連接成功,利用"AT+CIPSENDx00Dx00A"指令發(fā)送溫度報(bào)文。同時判別FLASH中是否存儲有GPRS網(wǎng)絡(luò)不可用時的報(bào)文數(shù)據(jù),若存在則一并發(fā)送。若TCP連接不可用,需要重新連接。同時查詢是否有設(shè)置服務(wù)器IP的SMS進(jìn)入SIM300,若有則提取IP信息并存儲于E2PROM和建立新的連接。
圖4 主程序流程圖Fig.4 Main program flow chart
在Timer0中斷服務(wù)程序中分別獲取溫度、方向狀態(tài)和日期時間數(shù)據(jù),并組建信息報(bào)文,通過主程序中設(shè)置的TCP連接可用標(biāo)志位來決定是否將報(bào)文信息就地存儲,同時就地顯示。
TCP連接子程序完成對SIM卡的注冊和TCP連接的創(chuàng)建,其工作過程如圖5所示。
圖5 TCP連接子程序流程圖Fig.5 Flow chart of TCP connection program
發(fā)送指令"AT+CREG?x00Dx00A",通過其返回值是否為"'0''1'"可知SIM卡是否注冊成功;成功后啟動移動場景,發(fā)送"AT+CSTTx00Dx00A",若返回值為"OK "則啟動成功;成功后發(fā)送激活移動場景指令"AT+CIICRx00Dx00A",若返回值為"OK "則激活成功;再發(fā)送打開場景指令"AT+CLPORT="TCP","PORT_NUMBER"x00Dx00A",若返回"OK "則打開成功;接著發(fā)送"AT+CIFSRx00Dx00A"獲取本地IP地址,若返回"AL READY CONNECT"則已經(jīng)連接,利用"AT+CIP START="TCP","SERVER_IP","PORT_NUMBER"x00Dx00A"進(jìn)行TCP連接,若返回值包含"CONNECT"則連接成功。
數(shù)據(jù)中心服務(wù)器端程序采用VC6.0的套接字線程池偵聽遠(yuǎn)程測溫裝置的連接請求。功能測試過程中首先給遠(yuǎn)程測溫裝置發(fā)送如下SMS:
"IP042.184.026.155MOBILE14745185740"
其中"14745185740"為遠(yuǎn)程測溫裝置手機(jī)號即設(shè)備ID,"042.184.026.155"為服務(wù)器的公網(wǎng)IP地址。LCD1602顯示了當(dāng)前時間、溫度、設(shè)備ID號和方向探測器狀態(tài)和TCP連接狀態(tài)。服務(wù)器端程序?qū)崟r更新來自遠(yuǎn)程測溫裝置傳送的數(shù)據(jù)報(bào)文,同時通過后臺SQL Sever數(shù)據(jù)庫將數(shù)據(jù)報(bào)文存入相應(yīng)字段。
在當(dāng)前供熱公司利用手持測溫方式的基礎(chǔ)上,引入GPRS通信和方向探測技術(shù),有效降低了工作量和剔除了人為干擾因素,同時獲取了整個供熱時段的溫度數(shù)據(jù),更有利于指導(dǎo)供熱生產(chǎn)。通過設(shè)備在哈爾濱熱電廠供熱公司的長時間運(yùn)行,表明該設(shè)計(jì)的有效性和可靠性。
[1] 李寶山,王方周.無線遠(yuǎn)傳測溫裝置在供熱系統(tǒng)中的應(yīng)用[J].供熱制冷,2013(12):72-74.
[2]SIMCOM 公司.SIM300_HD_V3.03[Z],2006.
[3] 張軍.智能溫度傳感器DS18B20及其應(yīng)用[J].儀表技術(shù),2010(4):68-70.
[4] ROHM CO LTD.Surface Mount type 4 Direction Detector RPI-1031[Z],2008.
[5] 姚德法,張洪林.串行時鐘芯片DS1302的原理與使用[J].信息技術(shù)與信息化,2006(1):92-94.
[6] 張杏珍,孫健.IC卡芯片AT45DB041的原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(10):17-19.
[7] 于志贛,劉國平,張旭斌.液顯LCD1602模塊的應(yīng)用[J].機(jī)電技術(shù),2009(3):21-23. ■