備注:本文曾發表于單片機資尋網 一、前 言
目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補償導線,而溫度補償導線價格很貴,并且線路太長也會影響測量精度。在實際應用中往往需要對較遠處(1KM左右)的溫度信號進行監視?,F有的解決方案有很多,例如:
1、 在現場用智能儀表對溫度信號進行測量,用計算機作上位機與智能儀表進行通訊來實現遠程溫度監測(采用這種方案要增加計算機設備及相關計算機軟件)。
2、 NCU+DDC實現遠程溫度監測。用兩個DDC,一個安裝在現場測量溫度,另一個安裝在監視地,兩個DDC通過NCU進行通訊從而實現遠程溫度監測。
但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實,在單片機應用日益廣泛的今天,完全可以用單片機以極低的成本來實現遠程溫度監測。
二、問題的提出
我單位管理的鍋爐房同時給兩棟建筑物內供應蒸汽,由安裝在兩棟建筑物地下室的熱交換器進行熱交換后產生熱水送至房間。從鍋爐房至兩個熱交換站的距離分別約600米,值班人員要不停地奔波于兩個熱交換站與鍋爐房之間進行設備巡視,檢查熱水溫度是否控制在規定的范圍,這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經常無人(因每班1人值班)。如果能在鍋爐房顯示兩個熱交換站內各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到各熱交換站檢查設備,這樣便可解決上述問題。經過分析,本人發現可以用單片機+智能儀表以低成本實現溫度遠程顯示,并且經過實驗取得了成功,現將設計方案簡述如下:
三、控制要求及解決方案選擇
1、 兩個熱交換站分高低區共安裝有8個熱交換器,正常水溫在45oC至65oC之間;兩個熱交換站與鍋爐房的距離分別為500米和600米左右。
2、 要求在鍋爐房能以巡回及定點兩種方式顯示8個熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點方式時每按上鍵或下鍵一次則顯示上或下一個熱交換器熱水溫度,每3秒自動更新數據一次。
3、 根據控制要求選擇單片機+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現場測量溫度,設計制作一個單片機裝置完成與智能儀表的通訊及數據顯示。
四、通訊協議、智能儀表選擇及其參數介紹
因熱水溫度信號變化較慢,因而對通信的速度要求不高,對于這種低速率遠距離的通訊選用RS-485總線適宜。它以半雙工方式通信,支持多點連接,傳統驅動器允許創建多達32個節點的網絡,且其具有傳輸距離遠(最大傳輸距離為1200M),傳輸速度快(1200M時為100KBPS)等優點。其連接方法如下圖所示。
file:///C:/Documents%20and%20Settings/Administrator/桌面/xingyi/溫度濕度儀器/用單片機實現溫度遠程顯示.files/20070903211423254.jpg
為了滿足現場溫度檢測及與單片機裝置通訊的要求,必須選擇至少有5個溫度檢測點及具有RS—485通訊端口的智能儀表。經過對市場上常用的溫度檢測儀進行分析,選擇XJ-08S型巡回檢測儀作現場測量儀表。
(一)該儀表主要特點如下:
1、 多量程方式,熱電偶、熱電阻,1-5V標準信號混合輸入,可通過鍵盤進行設置;
2、 最多8個測量通道(能測量8個溫度信號);
3、 采用RS-485通訊標準,可將各通道最新數據向上位機傳送。
重要的是,該儀表的說明書詳細介紹了與該儀表進行數據交換的命令及格式,其通訊協議也相對較簡單,這給我們用單片機實現溫度遠程顯示降減低了難度(雖然有RS-485端口的儀表很多,但大多沒有通訊命令的詳細說明,給我們用單片機編程增加了難度)。
(二)XJ-08S巡回檢測儀通訊協議
1、通訊口設置
? 通訊方式:RS-485標準電平
? 同步方式:起停同步方式
? 波特率:9600BPS
? 通訊距離:不大于1200M
? 通訊線:二線
? 數據代碼:ASCII碼
? 數據格式:每字符10位,1個起始位,8個數據位,1個停止位
2、 數據傳輸格式
? 地址:2字節(高字節在前,低字節在后);
? 數據:按地址順序,儀表數據傳輸格式為十六進制2字節定點數;
2字節定點數=低字節高4位(ASCII碼)+低字節低4位(ASCII碼)
高字節高4位(ASCII碼)+高字節低4位(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號儀表的全部動態數據
命令:[email=’@1CRD64’,0D(ASCII]’@1CRD64’,0D(ASCII[/email]碼40 31 43 52 44 36 34 0d)
錯誤返回碼 [email=‘@1C**72’,0D(ASCII]‘@1C**72’,0D(ASCII[/email]碼40 31 43 2A 2A 37 32 0D)
正確返回數據’@ 1C RD XXXX XXXX XXXX XXXX XXXX XXXX
第0通道 第1通道 第2通道
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
第3通道 第4通道 第5通道 第6通道
XXXX XXXX XX’,0D
第7通道 校驗
五、單片機選擇及硬件電路設計
1、 選用ATMEL公司生產的AT89S8252-24PC單片機,其主要參數及特點如下:
? 與MCS-51產品兼容(其引腳圖見原理圖)
? 具有8K字節可擦寫的FLASH內部程序存儲器,可擦寫1000次;2K字節EEPROM,可擦寫100,000次,SPI口(用PC機的并口連接5條線即可通過SPI口下載程序,下載軟件可從網上下載,這樣可節省購買編程器的費用;)。
? 256字節RAM,32根可編程I/O線,可編程串行口,內置看門狗。
file:///C:/Documents%20and%20Settings/Administrator/桌面/xingyi/溫度濕度儀器/用單片機實現溫度遠程顯示.files/20070903211423499.jpg
與看門狗有關的特殊功能寄存器WMCON 地址= 96H,與看門狗有關的控制位為96h第0、1、5、6、7位,第5、6、7位用于設置看門狗定時時間,本應用中第5、6、7位均置1,設置看門狗溢出時間為2048ms,第0位為看門狗使能控制位,該位置1將使能看門狗,其第1位為復用位,向第1位寫1將復位看門狗定時器,具體操作如下:
a,使能看門狗,并將其溢出時間設定為2048ms:ORL 96H, #0E1H;
b,看門狗定時器清0:ORL 96H, #2
2、按鍵設計:
為方便使用,設計了三個按鍵,分別為巡回/定點切換鍵、上鍵、下鍵。切換鍵用于巡檢與定點模式的切換,上鍵向上切換通道,下鍵向下切換通道;其中巡檢/定點切換鍵通過外部中斷1以中斷方式工作,中斷程序將巡回/定點標志取反后直接跳到主程序中巡回/定點標志判斷程序前運行,由判斷程序完成巡回/定點的切換。按鍵信號由單片機P3.3,P3.4,P3.5引腳輸入。
3、顯示電路設計
為方便觀察,選用三個二位共陽級8段數碼顯示管(TOD5201AE)動態顯示,一位顯示儀表地址(從A至F),一位顯示通道號(從0至7通道),其余四位用來顯示實時溫度值;用單片機P1口驅動一片74HC244以吸收電流的方式控制段碼,用單片機P0.0至P0.5引腳驅動六個PNP三極管(9012)控制位選。
4、電源選用5V/1A市售成品開關電源。
5、 根據智能儀表通訊協議的要求,串行口定義為方式1工作,一幀10位:1個起始位、8個數據位、一個停止位;用一片75176完成數據的發送與接收,由于RS-485為半雙工,故用單片機P3.2引腳控制發送與接收的切換;兩個智能儀表處于RS-485總線的兩個端點,為提高可靠性,在RS-485總線的兩個端點上分別并聯一個120Ω、1/4W終端電阻。
? 系統方框圖如右示:
file:///C:/Documents%20and%20Settings/Administrator/桌面/xingyi/溫度濕度儀器/用單片機實現溫度遠程顯示.files/20070903211423644.jpg
? 單片機裝置電原理圖見下頁:
file:///C:/Documents%20and%20Settings/Administrator/桌面/xingyi/溫度濕度儀器/用單片機實現溫度遠程顯示.files/20070903211424586.jpg
[ 本帖最后由 OUYANGGANG 于 2008-11-21 00:36 編輯 ] |
|