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