大型服務(wù)器遠(yuǎn)程溫度監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 介紹了某大型服務(wù)器溫度遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)過程。在現(xiàn)場環(huán)境使用單片機(jī)系統(tǒng)采集溫度數(shù)據(jù),利用RS485總線實(shí)現(xiàn)遠(yuǎn)程通信,在監(jiān)控終端使用PC機(jī)完成溫度的監(jiān)測與控制,并完成了相應(yīng)軟件的設(shè)計(jì)。該系統(tǒng)在測試中滿足大型服務(wù)器溫度的監(jiān)控要求,在實(shí)際應(yīng)用中運(yùn)行穩(wěn)定可靠,表明系統(tǒng)的設(shè)計(jì)具有良好的應(yīng)用價(jià)值。
關(guān)鍵詞 服務(wù)器;溫度;監(jiān)控;單片機(jī);PC機(jī)
服務(wù)器是計(jì)算機(jī)網(wǎng)絡(luò)中為計(jì)算機(jī)用戶提供文件傳輸、電子郵件、數(shù)據(jù)和應(yīng)用程序等各種服務(wù)的高性能計(jì)算機(jī)。計(jì)算機(jī)網(wǎng)絡(luò)需要服務(wù)器能夠長期可靠地運(yùn)行,而大型服務(wù)器運(yùn)行過程中,會(huì)產(chǎn)生很大熱量,導(dǎo)致服務(wù)器溫度升高,影響服務(wù)器的穩(wěn)定工作,可能導(dǎo)致網(wǎng)絡(luò)故障,甚至造成服務(wù)器的損壞。因此,大型服務(wù)器機(jī)房需要溫度調(diào)節(jié)設(shè)備,使機(jī)房溫度維持在一定范圍內(nèi)。同時(shí),還需要對(duì)其溫度進(jìn)行遠(yuǎn)程監(jiān)控,必要時(shí)進(jìn)行人工干預(yù),保證服務(wù)器的可靠運(yùn)行。
文中進(jìn)行了某大型服務(wù)器機(jī)房溫度遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)。提出應(yīng)用利用單片機(jī)系統(tǒng)和PC機(jī)相結(jié)合的方式,完成了服務(wù)器遠(yuǎn)程溫度監(jiān)控系統(tǒng)設(shè)計(jì)。單片機(jī)系統(tǒng)進(jìn)行溫度數(shù)據(jù)采集和現(xiàn)場設(shè)備控制,監(jiān)控人員通過PC機(jī)能直觀地了解機(jī)房內(nèi)溫度變化情況,并利用RS485總線進(jìn)行單片機(jī)和PC機(jī)之間的遠(yuǎn)程通信,可在較遠(yuǎn)距離監(jiān)控服務(wù)器機(jī)房的溫度。
1 溫度遠(yuǎn)程監(jiān)控系統(tǒng)總體情況
該溫度遠(yuǎn)程監(jiān)控系統(tǒng)由單片機(jī)系統(tǒng)電路、RS485總線和PC機(jī)和相應(yīng)軟件構(gòu)成。
單片機(jī)系統(tǒng)主要由傳感器DS18820和單片機(jī)STC89C52RC組成。DS18B20是一種采用單總線的數(shù)字溫度傳感器,可編為9~12位的A/D轉(zhuǎn)換精度,編程為12位時(shí),4位表示溫度數(shù)據(jù)的小數(shù)部分,7位表示溫度數(shù)據(jù)的整數(shù)部分,被測溫度用符號(hào)擴(kuò)展的16位數(shù)字方式串行輸出。其溫度測量范圍為-55~125℃,精度為0.5 ℃,使用DS18B20作為溫度傳感器,可滿足機(jī)房溫度的測量要求的同時(shí),電路設(shè)計(jì)和編程工作也相應(yīng)簡化。STC89C52RC是51系列單片機(jī)的一種,是一款性價(jià)比較高的單片機(jī),它具有一個(gè)全雙工的串行接口,能夠?qū)崿F(xiàn)和PC機(jī)之間的異步通信。
PC機(jī)通常由一個(gè)RS232接口來進(jìn)行串口通信,由于RS232總線電平與RS485總線電平不一致,可以使用RS232/RS485轉(zhuǎn)換卡完成電平轉(zhuǎn)換RS232接口的最大傳輸距離約為30 m,RS485總線的傳輸距離可達(dá)1 200 m,信號(hào)最高速率為100 kbit·s-1。由于服務(wù)器機(jī)房與監(jiān)控中心的距離一般在1 000 m以內(nèi),采用RS485總線可滿足通信要求。
2 溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)工作原理
系統(tǒng)工作原理可用圖1進(jìn)行說明。單片機(jī)每隔一定時(shí)間,通過單總線向溫度傳感器讀取溫度值。同時(shí),單片機(jī)經(jīng)RS485總線向PC機(jī)傳輸溫度數(shù)據(jù),并接收PC機(jī)發(fā)送的溫度控制指令,直接指揮溫度調(diào)節(jié)設(shè)備進(jìn)行工作。溫度調(diào)節(jié)設(shè)備上有數(shù)字旋轉(zhuǎn)編碼開關(guān),數(shù)字編碼開關(guān)既是溫度調(diào)節(jié)設(shè)備的開關(guān),又可旋轉(zhuǎn)來調(diào)整調(diào)節(jié)設(shè)備的工作。繼電器通過控制電磁閥驅(qū)動(dòng)數(shù)字編碼開關(guān),使得溫度調(diào)節(jié)設(shè)備運(yùn)行或停止;用聯(lián)軸器將步進(jìn)電機(jī)輸出軸與數(shù)字編碼開關(guān)軸相連,這樣步進(jìn)電機(jī)就能夠通過旋轉(zhuǎn)來控制溫度調(diào)節(jié)設(shè)備。
PC機(jī)收到數(shù)據(jù)后,存貯該時(shí)刻的溫度值,并顯示在顯示器上;以時(shí)間軸為橫軸,以溫度值為縱軸,這樣坐標(biāo)軸上的點(diǎn)就可以用來描述該溫度的發(fā)生時(shí)刻和大小,由于相鄰兩點(diǎn)之間在時(shí)間軸上相差很小,很多點(diǎn)出現(xiàn)在屏幕上,就成了一條連續(xù)的曲線,這樣溫度變化情況就被溫度曲線形象地展示出來,同時(shí),當(dāng)曲線到達(dá)顯示器邊緣時(shí),曲線將沿橫軸正向移動(dòng),溫度變化情況就被動(dòng)態(tài)表示出來了,如圖2所示。
2.2 單片機(jī)系統(tǒng)的設(shè)計(jì)
單片機(jī)系統(tǒng)電路由單片機(jī)STC89C52RC、數(shù)字溫度傳感器DS18B20、串口通信電路、步進(jìn)電機(jī)驅(qū)動(dòng)電路和繼電器驅(qū)動(dòng)電路組成,如圖3所示。文中使用10個(gè)DS18B20可對(duì)服務(wù)器溫度進(jìn)行多點(diǎn)檢測,單片機(jī)用一根總線就可實(shí)現(xiàn)對(duì)所有傳感器的數(shù)據(jù)采集。3端穩(wěn)壓集成電路7805為單片機(jī)提供穩(wěn)定的5 V電源,ULN2003是一個(gè)多輸入多輸出的放大電路,它將單片機(jī)輸出的信號(hào)進(jìn)行放大可以直接驅(qū)動(dòng)步進(jìn)電機(jī)。集成電路MAX 232把單片機(jī)的TTL電平轉(zhuǎn)換成RS232電平,這樣通過電腦的RS232串行接口,可以直接下載程序到單片機(jī);用RS232/RS485電平轉(zhuǎn)換卡完成電平轉(zhuǎn)換后,就可以用RS485總線進(jìn)行遠(yuǎn)程通信。
單片機(jī)程序采用C語言和匯編語言混合編寫,向溫度傳感器讀指令以及定時(shí)部分,由于要求的時(shí)序較嚴(yán)格,用匯編語言編程效果較好,數(shù)據(jù)處理部分用C語言編寫相對(duì)簡單。單片機(jī)程序的流程圖如圖4所示,單片機(jī)按照一定的時(shí)間間隔,依次從10個(gè)數(shù)字溫度傳感器DS18B20中循環(huán)讀取溫度數(shù)據(jù),并立刻將其發(fā)送到PC機(jī),同時(shí)查詢是否收到PC機(jī)的控制指令,若收到控制指令,則將目標(biāo)溫度值同當(dāng)前溫度值進(jìn)行對(duì)比,從而決定如何調(diào)整溫度調(diào)節(jié)設(shè)備的工作狀態(tài),即改變步進(jìn)電機(jī)位置抑或改變繼電器動(dòng)作。
2.3 PC機(jī)程序設(shè)計(jì)
PC機(jī)的主要功能是實(shí)現(xiàn)與單片機(jī)的串行通信及監(jiān)控人員查看溫度和調(diào)節(jié)服務(wù)器機(jī)房溫度。單片機(jī)將溫度數(shù)據(jù)發(fā)送到PC機(jī)串行接口時(shí),程序能及時(shí)獲得該數(shù)據(jù),并將溫度值呈現(xiàn)給監(jiān)控人員,同時(shí)更新溫度曲線的顯示,從而以動(dòng)態(tài)的效果表達(dá)溫度的變化情況。當(dāng)監(jiān)控人員需要改變服務(wù)器溫度時(shí),通過PC機(jī)能向單片機(jī)發(fā)送相應(yīng)溫度控制指令。
PC機(jī)程序采用VC6.0進(jìn)行編寫。VC6.0具有一個(gè)串口通信控件,開發(fā)人員利用它可以方便地完成串口通信部分的程序編寫。每當(dāng)串行接口收到數(shù)據(jù)時(shí),系統(tǒng)會(huì)發(fā)生一個(gè)接收事件響應(yīng),系統(tǒng)就會(huì)執(zhí)行該事件響應(yīng)所對(duì)應(yīng)的程序,進(jìn)而完成溫度數(shù)據(jù)的接收與貯存。同時(shí),當(dāng)監(jiān)控人員進(jìn)行溫度調(diào)節(jié)時(shí),使用該控件的發(fā)送數(shù)據(jù)函數(shù),串行接口就向單片機(jī)發(fā)送相應(yīng)控制指令。
利用VC6.0的定時(shí)器Timer,可以實(shí)現(xiàn)溫度曲線的定時(shí)更新顯示。設(shè)置一個(gè)時(shí)間間隔,并使能該Timer控件,每經(jīng)過一個(gè)這樣的時(shí)間間隔,就會(huì)發(fā)生Timer事件響應(yīng),系統(tǒng)則執(zhí)行該事件響應(yīng)對(duì)應(yīng)的程序。因此,在PC機(jī)程序中用一個(gè)二維數(shù)組存貯溫度曲線上各點(diǎn)的橫軸與縱軸坐標(biāo),分別與溫度的大小與時(shí)刻對(duì)應(yīng);利用Timer控件,每隔一定時(shí)間,把接收的溫度值存貯,通過數(shù)組中元素的移動(dòng),并移人最新溫度值對(duì)應(yīng)坐標(biāo),從而將二維數(shù)組中元素更新,進(jìn)而更新溫度曲線,使曲線總是顯示當(dāng)前時(shí)間段的溫度。PC機(jī)程序的流程如圖5所示。
3 結(jié)束語
經(jīng)實(shí)際測試表明:該溫度遠(yuǎn)程監(jiān)控系統(tǒng)對(duì)1 000 m以內(nèi)的服務(wù)器機(jī)房溫度進(jìn)行監(jiān)控,溫度誤差在2 ℃以內(nèi),而且依次對(duì)10個(gè)溫度傳感器進(jìn)行數(shù)據(jù)讀取,完成一個(gè)循環(huán)僅需2 s時(shí)間。表明該系統(tǒng)滿足了通信距離、準(zhǔn)確性和實(shí)時(shí)性的要求。
系統(tǒng)在合肥某大型超市服務(wù)器機(jī)房投入使用以來,運(yùn)行可靠,且由于其直觀的溫度顯示效果,獲得用戶好評(píng),表明該系統(tǒng)的設(shè)計(jì)具有較高的實(shí)用價(jià)值。