大型服務(wù)器遠(yuǎn)程溫度監(jiān)控系統(tǒng)設(shè)計(jì)
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)檢測(cè),單片機(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)程通信。本文引用地址:http://www.biyoush.com/article/170755.htm
單片機(jī)程序采用C語言和匯編語言混合編寫,向溫度傳感器讀指令以及定時(shí)部分,由于要求的時(shí)序較嚴(yán)格,用匯編語言編程效果較好,數(shù)據(jù)處理部分用C語言編寫相對(duì)簡(jiǎn)單。單片機(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í)際測(cè)試表明:該溫度遠(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à)值。
評(píng)論