目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器。這種傳感器至儀表之間一般都要用專用的溫度補償導線;而溫度補償導線價格很貴,并且線路太長也會影響測量精度。在實際應用中往往需要對較遠處(1 km左右)的溫度信號進行監視。現有的解決方案有很多,例如:① 在現場用智能儀表對溫度信號進行測量, 用計算機作上位機與智能儀表進行通信來實現遠程溫度監測。采用這種方案要增加計算機設備及相關計算機軟件。② NCU+DDC實現遠程溫度監測。用2個DDC,一個安裝在現場測量溫度,另一個安裝在監視地,2個DDC通過NCU進行通信,從而實現遠程溫度監測。 但以上方案都存在成本高的問題。有沒有低成本的解決方案呢?其實,在單片機應用日益廣泛的今天,完全可以用單片機以極低的成本來實現遠程溫度監測。 1 問題的提出 我單位管理的鍋爐房同時給2棟建筑物內的2家酒店供應蒸汽,由安裝在2棟建筑物地下室的熱交換器進行熱交換后產生熱水送給客房。從鍋爐房至2個熱交換站的距離分別約600 m,值班人員要不停地奔波于2個熱交換站與鍋爐房之間進行設備巡視,檢查熱水溫度是否控制在規定的范圍。這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經常無人(因每班1人值班)。如果能在鍋爐房顯示2個熱交換站內各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到熱交換站檢查設備,這樣便可解決上述問題。經過分析,本人用單片機+智能儀表以低成本實現溫度遠程顯示,并且經過實驗取得了成功。 2 控制要求及解決方案選擇 ① 2個熱交換站分高低區共安裝有8個熱交換器,正常水溫在45"65℃之間;2個熱交換站與鍋爐房的距離分別為500 m和600 m左右。 ② 要求在鍋爐房內能以巡回及定點2種方式顯示8個熱交換器的熱水溫度:巡回方式以3 s為周期輪流更新及顯示各熱交換器熱水溫度;定點方式時,每按上鍵或下鍵1次則顯示上或下1個熱交換器熱水溫度,每3 s自動更新數據1次。 ③ 根據控制要求選擇單片機+智能儀表的解決方案:用帶通信接口的智能儀表安裝在現場測量溫度,設計制作1個單片機裝置完成與智能儀表的通信及數據顯示。 3 通信協議、智能儀表選擇及其參數介紹 因熱水溫度信號變化較慢,因而對通信的速度要求不高。對于這種低速率、遠距離的通信選用RS485總線適宜。RS485是EIA(美國電子工業聯合會)在1983年公布的新的平衡傳輸標準,是工業界使用最為廣泛的雙向、平衡傳輸線標準接口。它以半雙工方式通信,支持多點連接,傳統驅動器允許創建多達32個節點的網絡,且其具有傳輸距離遠(最大傳輸距離為1200 m),傳輸速度快(1200 m時為100 Kbps)等優點,連接方法如圖1所示。 為了滿足現場溫度檢測及與單片機裝置通信的要求,必須選擇至少有5個溫度檢測點及具有RS485通信端口的智能儀表。經過對市場上常用的溫度檢測儀進行分析,選擇由重慶川儀十八廠生產的XJ-08S型巡回檢測儀作現場測量儀表。 3.1 XJ-08S主要特點 ① 多量程方式,熱電偶、熱電阻,1"5 V標準信號混合輸入,可通過鍵盤進行設置; ② 最多8個測量通道(能測量8個溫度信號); ③ 采用RS485通信標準,可將各通道最新數據向上位機傳送。 重要的是,該儀表的說明書詳細介紹了與該儀表進行數據交換的命令及格式,其通信協議也相對較簡單,這給我們用單片機實現溫度遠程顯示降低了難度(雖然有RS485端口的儀表很多,但大多沒有通信命令的詳細說明。 3.2 XJ-08S巡回檢測儀通信協議 (1) 通信口設置 ◇ 通信方式:RS485標準電平。 ◇ 同步方式:起停同步方式。 ◇ 波特率:9600 bps。 ◇ 通信距離:不大于1200 m。 ◇ 通信線:2線。 ◇ 數據代碼:ASCII碼。 ◇ 數據格式:每字符10位,即1個起始位,8個數據位,1個停止位。 (2)數據傳輸格式 ◇ 地址:2字節(高字節在前,低字節在后)。 ◇ 數據:按地址順序,儀表數據傳輸格式為十六進制2字節定點數。 2字節定點數 = 低字節高4位+低字節低4位 (ASCII碼) (ASCII碼) 高字節高4位+高字節低4位 (ASCII碼) (ASCII碼) 若數據為負數,則采用補碼方式傳輸。 ◇ 在傳輸實時測量值時,傳輸完2字節定點數后,緊接著又傳輸2字節定點數,其中高字節低4位為小數位數。 例:(50.0)10 表示為 46 34 30 31 30 30 30 31 低字節 高字節 小數位數 (3)儀表通信格式 @ DE 幀類型 幀數據 CRC CR ◇ @:通信起始符。 ◇ DE:儀表設備號(地址)。 ◇ 幀類型:操作命令。 ◇ 幀數據:各種操作命令所對應的命令及數據。 ◇ CRC:校驗字節(除@外CRC之前的其它幾個字節的異或值)。 ◇ CR:結束符(回車符)。 (4)應用中用到的命令及數據格式 ◇ 讀儀表全部動態數據命令幀 @ DE RD CRC CR ◇ 命令回送幀 正確 @DE RD 幀數據 CRC CR 錯誤 @DE * * CRC CR 例:讀28號儀表的全部動態數據 命令: '@1CRD64',0D(ASCII碼40 31 43 52 44 36 34 d) 錯誤返回碼 '@1C**72',0D(ASCII碼40 31 43 2A 2A 37 32 0D) 正確返回數據 '@ 1C RD XXXX XXXX 第0通道 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 第1通道 第2通道 第3通道 第4通道 第5通道 第6通道 XXXX XXXX XX' ,0D 第7通道 校驗 4 單片機選擇及硬件電路設計 ① 選用Atmel公司生產的AT89S8252-24PC單片機,其主要參數及特點如下。 ◇ 與MCS-51產品兼容。 ◇ 具有8K字節可擦寫的Flash內部程序存儲器,可擦寫1000次;2K字節EEPROM,可擦寫 100 000次;SPI口(用PC機的并口連接5條線即可通過SPI口下載程序,軟件可從網上下載,這樣可節省購買編程器的費用;如果用1片AT89C2051自編1個小程序可制成1個燒寫式仿真器,不占用單片機任何資源,并且燒寫完可自動運行程序,非常方便。本文介紹的遠程溫度顯示裝置就是用這種方法開發完成的)。 ◇ 256字節RAM,32根可編程I/O線,可編程串行口,內置看門狗。 與看門狗有關的特殊功能寄存器WMCON 地址= 96H,與看門狗有關的控制位為96H中的第0、1、5、6、7位。第5、6、7位用于設置看門狗定時時間。本應用中第5、6、7位均置1,設置看門狗溢出時間為2048 ms,第0位為看門狗使能控制位。該位置1將使能看門狗,其第1位為復用位,向第1位寫1將復位看門狗定時器,具體操作如下: a. 使能看門狗,并將其溢出時間設定為2048 ms:ORL 96H, #0E1H; b. 看門狗定時器清0:ORL 96H, #2。 ② 按鍵設計。為方便使用,設計了3個按鍵,分別為巡回/定點切換鍵、上鍵、下鍵。切換鍵用于巡檢與定點模式的切換,上鍵向上切換通道,下鍵向下切換通道。其中巡檢/定點切換鍵通過外部中斷1以中斷方式工作,中斷程序將巡回/定點標志取反后直接跳到主程序中巡回/定點標志判斷程序前運行,由判斷程序完成巡回/定點的切換。按鍵信號由單片機P3.3、P3.4、P3.5引腳輸入。 ③ 顯示電路設計。為方便觀察,選用3個2位共陽級8段數碼顯示管(TOD5201AE)動態顯示,1位顯示儀表地址(A"F),1位顯示通道號(0"7通道),其余4位用來顯示實時溫度值;用單片機P1口驅動1片74HC244以吸收電流的方式控制段碼,用單片機P0.0"P0.5引腳驅動6個PNP三極管(9012)控制位選。 ④ 電源選用5V/1A市售成品開關電源。 ⑤ 根據智能儀表通信協議的要求,串行口定義為方式1工作,1幀10位:1個起始位、8個數據位、1個停止位;用1片75176完成數據的發送與接收,由于RS485為半雙工,故用單片機P3.2引腳控制發送與接收的切換;2個智能儀表處于RS485總線的2個端點,為提高可靠性,在RS485總線的2個端點上分別并聯1個120Ω、1/4W終端電阻。 看門狗溢出時間表如表1所列。系統方框圖如圖2所示。 表1 看門狗溢出時間表 7 6 5 定時值/ms 0 0 0 16 0 0 1 32 0 1 0 64 0 1 1 128 1 0 0 256 1 0 1 512 1 1 0 1024 1 1 1 2048 5 單片機軟件設計說明及程序流程圖 6 調試及運行情況 調試步驟如下。 ◇ 硬件連接:將各芯片插在面包板上并用導線按原理圖連接。 ◇ 軟件開發環境:Keil uVision2 for Windows。該軟件的模擬調試器支持C語言及匯編語言源代碼調試,其匯編程序支持宏匯編及模塊化編程,使用方便。 ◇ 首先在模擬調試器中調試各子模塊,各子模塊調試正常后再將各子模塊及主模塊全部匯編連接成目標文件,最后將目標代碼下載到單片機中并連接智能儀表進行統調。 該系統軟硬件已全部開發完成并投入使用,經過近半年的連續運行觀察,運行可靠穩定,完全滿足使用要求。 結束語 用單片機+智能儀表構成的溫度遠程顯示系統總造價約人民幣7000元(2塊智能儀表+溫度傳感器約3500元,通信電纜約2000元,單片機裝置及施工費用約1500元),與采用其它方案的系統比較,造價較低。其硬件及軟件的設計、制作都較簡單,有一定的電子及單片機知識便可完成。同時對該裝置軟件稍加修改即可與其它帶有RS485通信端口的儀器儀表通信(如變頻器、電路傳感器等),實現遠程測量、監視及控制。 |