《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于RS-485總線的溫濕度監(jiān)控系統(tǒng)設(shè)計
基于RS-485總線的溫濕度監(jiān)控系統(tǒng)設(shè)計
摘要: 介紹了一種基于RS-485總線的溫濕度監(jiān)控系統(tǒng)。給出了其整體結(jié)構(gòu)、硬件設(shè)計、系統(tǒng)通信網(wǎng)絡(luò)方案以及系統(tǒng)軟件的開發(fā)和實現(xiàn)。該監(jiān)控系統(tǒng)可方便地應(yīng)用于大多數(shù)溫度和濕度控制場合。經(jīng)實際驗證,系統(tǒng)的穩(wěn)定性好,精度高,符合監(jiān)控要求。
Abstract:
Key words :

鄧亞君 徐遵磊 張穎

1 概述
  
環(huán)境條件中的溫濕度指標是許多工作場合中的重要參數(shù),不論是倉庫管理、圖書保存還是工業(yè)測量與計量檢定,都需要符合操作規(guī)定的溫濕度環(huán)境條件。而溫濕度也是最不容易保障的指標,針對這一情況,研制可靠且實用的溫濕度監(jiān)控系統(tǒng)顯得非常重要。監(jiān)控系統(tǒng)以RS-485總線協(xié)議為基礎(chǔ)組成分布式網(wǎng)絡(luò)結(jié)構(gòu),采用PC機與單片機組成的多機系統(tǒng)完成測量與控制任務(wù)。

2 系統(tǒng)硬件結(jié)構(gòu)及工作原理
  
2.1網(wǎng)絡(luò)監(jiān)控系統(tǒng)結(jié)構(gòu)

圖1 系統(tǒng)結(jié)構(gòu)原理圖
  
系統(tǒng)結(jié)構(gòu)原理圖如圖1。系統(tǒng)采用兩級主從式總線型網(wǎng)絡(luò)拓撲結(jié)構(gòu)。由1臺PC機(作為上位機)、若干臺AT89S52單片機(作為下位機)和RS-485總線通信網(wǎng)絡(luò)組成。整個系統(tǒng)在監(jiān)控系統(tǒng)管理軟件的控制下,統(tǒng)一協(xié)調(diào)工作,完成設(shè)計功能。
  
2.2 主從式通信網(wǎng)絡(luò)
  
監(jiān)控系統(tǒng)中網(wǎng)絡(luò)通信采用RS-485串行總線連接,串行通信具有傳輸距離長、連接簡單、使用靈活方便、數(shù)據(jù)傳輸可靠性高的特點,在工業(yè)監(jiān)控、數(shù)據(jù)采集和實時控制系統(tǒng)中得到了廣泛應(yīng)用。其中采用差分通信方式進行信號發(fā)送與接收的RS-485(EIA-485Standard)總線協(xié)議較RS-232C協(xié)議提高了抗共模干擾能力和傳輸速率,擴大了傳輸距離,更適合作為現(xiàn)場總線應(yīng)用于復(fù)雜的環(huán)境中的工業(yè)控制和實時監(jiān)控系統(tǒng)中[1]。
  
下位現(xiàn)場數(shù)據(jù)采集與控制單元掛接于同一條數(shù)據(jù)通信總線,總線為各現(xiàn)場單元共享,為避免總線通信的競爭與沖突,系統(tǒng)網(wǎng)絡(luò)通信采用主從式和廣播式通信控制方法。由主控微機決定一次通信過程的啟動和終止,通過給需要通信的現(xiàn)場單元分配總線通信使用權(quán)的方法來實現(xiàn)與下位單片機與主控微機之間的網(wǎng)絡(luò)通信。網(wǎng)絡(luò)中的下位單片機請求通信時必須等待主控微機將總線使用權(quán)分配給它后才能收發(fā)數(shù)據(jù)[2]。采用主從通信控制方法雖然速度稍慢,但由于現(xiàn)場單片機與主控微機間的信息交換不是特別頻繁,因此對于本監(jiān)控系統(tǒng)是適用的。
  
PC主控微機與各現(xiàn)場單元單片機之間所采用的通信規(guī)約是自定義的、非標準的、比較簡單的格式。主控PC微機通過RS-232C串口向總線通信協(xié)議轉(zhuǎn)換控制器發(fā)送命令幀信息,總線控制器接口電路負責(zé)RS-232C電平和RS-485電平之間的相互轉(zhuǎn)換,轉(zhuǎn)發(fā)此通信幀向RS-485總線網(wǎng)絡(luò)廣播。在通信幀中包含主控微機所要求的下位現(xiàn)場單元編號,所有下位現(xiàn)場單元單片機都收聽廣播,在收到廣播幀后,進行編號對比操作,各下位單片機把收到的編號與自己的編號進行比較,編號相同的下位單片機控制器為被選中的下位機,對接收到的幀信息進行處理,其余下位單片機控制器皆為未選中的下位機,需要丟棄收到的幀信息并繼續(xù)進行網(wǎng)絡(luò)偵聽工作[3]。同樣,下位現(xiàn)場單元單片機向主控微機發(fā)送信息幀時,由總線通信協(xié)議轉(zhuǎn)換控制器轉(zhuǎn)換為RS-232C通信協(xié)議電平向主控微機轉(zhuǎn)發(fā)。在設(shè)計實驗中,監(jiān)控系統(tǒng)在串行通信波特率為9600bit/s,無奇偶校驗位,8位數(shù)據(jù)位,1位停止位的設(shè)置下通信正常,沒有發(fā)生丟幀或錯幀的現(xiàn)象。
  
2.3 下位機數(shù)據(jù)采集與控制單元
  
下位機是一個以AT89S52單片機為核心的數(shù)據(jù)采集與控制單元。AT89S52是一個低功耗,高性能CMOS 8位單片機,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),功能強大的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S52具有如下資源:40個引腳,8k Bytes Flash片內(nèi)程序存儲(In system programmable可反復(fù)擦寫1000次),256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器??赏ㄟ^軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,直至外中斷激活或硬件復(fù)位[4]。下位機分別接有8路溫度濕度傳感器,進行溫度濕度檢測,并根據(jù)各路的平均溫度和平均濕度,控制除濕機、空調(diào)機或其他設(shè)施,以使環(huán)境溫度與濕度控制在特定的范圍內(nèi),并輪流顯示平均溫度、濕度值。下位機還設(shè)有煙霧、火光和熱釋電紅外傳感器及其相關(guān)電路 ,組成防火、防盜報警系統(tǒng)。下位單片機通過TTL/RS-485通信接口電路與總線網(wǎng)絡(luò)相連接構(gòu)成半雙工主從式串行通信網(wǎng)絡(luò),實現(xiàn)下位機通過串行口與上位機交換數(shù)據(jù)。下位機是一個相對獨立的智能型區(qū)域數(shù)據(jù)測量與控制子系統(tǒng),當(dāng)監(jiān)控主機與下位單片機之間的通信發(fā)生故障時,各下位機仍可獨立完成相關(guān)區(qū)域的數(shù)據(jù)采集、告警和控制功能。
  
各溫度和濕度傳感器分別將檢測到的溫度和濕度物理量轉(zhuǎn)換成電信號,經(jīng)各自的低噪聲放大器放大、模數(shù)轉(zhuǎn)換器(A/ D)后,送到AT89S52單片機進行數(shù)據(jù)分析處理。下位機可接受上位機的訪問,根據(jù)需要將溫度、濕度數(shù)據(jù)實時傳遞給上位機,由上位機對各倉庫的溫濕度數(shù)據(jù)進行記錄并做相應(yīng)處理。由于不同武器裝備對環(huán)境溫、濕度要求不同,用戶可通過外加鍵盤,在所需要的范圍內(nèi)隨意設(shè)置系統(tǒng)監(jiān)控的溫、濕度指標,以便系統(tǒng)適應(yīng)不同的需要。

3 軟件設(shè)計
  
3.1網(wǎng)絡(luò)監(jiān)控系統(tǒng)軟件的設(shè)計與開發(fā)
  
網(wǎng)絡(luò)監(jiān)控系統(tǒng)軟件的設(shè)計與開發(fā)采用基于面向?qū)ο蟪绦蛟O(shè)計思想和關(guān)系數(shù)據(jù)庫技術(shù),在Windows9x/2000/XP系統(tǒng)平臺上采用Borland C++ Builder編程語言開發(fā)而成。監(jiān)控系統(tǒng)軟件完成的主要任務(wù)和功能有:系統(tǒng)組態(tài)、串行通信管理、圖形顯示管理、數(shù)據(jù)存儲、報表打印、統(tǒng)計分析、異常處理等。倉儲網(wǎng)絡(luò)監(jiān)控系統(tǒng)的軟件設(shè)計功能較多而復(fù)雜,而且層次比較多。因此在設(shè)計上首先基于Windows的多任務(wù)處理機制,前臺完成命令響應(yīng)、各模塊調(diào)用以及系統(tǒng)工作狀態(tài)的動態(tài)實時圖形化顯示等,后臺負責(zé)實時監(jiān)視接收各下位現(xiàn)場單元發(fā)送的數(shù)據(jù)、定時巡檢或隨機抽檢工作現(xiàn)場的單片機控制器、進行異常處理和報警處理等;在編程技術(shù)上采用VCL組件開發(fā)技術(shù),應(yīng)用多線程技術(shù)進行多任務(wù)處理;其次,采用模塊化程序設(shè)計,把一個大的程序劃分為若干個小的功能模塊,每個模塊之間既相互獨立又相互聯(lián)系,這樣可以提高軟件的可維護性、可讀性、可靠性和高效性[2]。
  
3.2 下位機程序設(shè)計[5]
  
下位機主程序流程圖如圖2所示。包括對系統(tǒng)進行初始化處理;判斷中斷方式(含優(yōu)先級)設(shè)置;串行口工作方式設(shè)置;系統(tǒng)各種指標的裝入;鍵盤初始化;控制信號初始化以及建立數(shù)據(jù)指針、通道初值并啟動 A/ D轉(zhuǎn)換。

圖2 下位機主程序流程圖
  
以下僅給出下位機處理呼叫應(yīng)答時的部分程序:

  # define ADD0 x01
  …
  sbit tr=p1.3;
  void service serial(void) interrupt4using1
 ?。?br />   uchar  rs;
  RI=0;
  ES=0;  //關(guān)串行中斷
  tr=0;
  rs=SBUF;
  …
  }
  if(rs!=ADD)  //不是呼叫本機
 ?。?br />   ES=1;
  if(P3.3=0 ) //A/D轉(zhuǎn)換請求中斷
  …
  Return;
 ?。?br />   SM2 =0;
  tr=1;
  SBUF=ADD;  //應(yīng)答
  While(TI=0);
  TI=0;
  tr=0;   //執(zhí)行通信命令
  …
4 結(jié)語
  
實踐證明,基于RS-485總線協(xié)議的網(wǎng)絡(luò)監(jiān)控系統(tǒng)依托集中管理、分散控制的現(xiàn)代控制技術(shù),組成監(jiān)控系統(tǒng)的硬件和軟件采用標準化、模塊化和系統(tǒng)化的設(shè)計,系統(tǒng)的配置具有通用性強、系統(tǒng)組態(tài)靈活、控制功能完善以及系統(tǒng)安裝、調(diào)試和維修簡便等特點,并且還可以通過智能通信接口或標準的通信網(wǎng)絡(luò)協(xié)議和其它監(jiān)控系統(tǒng),如門禁管理子系統(tǒng)相交聯(lián)通信,組成功能更完善的自動化網(wǎng)絡(luò)管理系統(tǒng)。

參考文獻
  
[1] 邱公偉,趙祥元,巫淑萍.實時控制與智能儀表多微機系統(tǒng)的通信技術(shù)[M].北京:清華大學(xué)出版社,1996
[2] 周海峰,趙春宇,陳大躍.基于RS-485的種子處理成套設(shè)備的網(wǎng)絡(luò)控制設(shè)計[J].測控技術(shù),2004,23(12):48-49
[3] 韓世進,張樂年.基于RS-485的多路數(shù)據(jù)采集系統(tǒng)[J].現(xiàn)代電子技術(shù),2003(11):14-15
[4] 孫育才,王榮興,孫華芳. ATMEL新型AT89S52系列單片機及其應(yīng)用[M].北京:清華大學(xué)出版社,2005
[5] 李華,孫曉民,李紅青,等.MCS-51系列單片機實用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1993

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。