大型服務(wù)器遠程溫度監(jiān)控系統(tǒng)設(shè)計
2.2 單片機系統(tǒng)的設(shè)計
單片機系統(tǒng)電路由單片機STC89C52RC、數(shù)字溫度傳感器DS18B20、串口通信電路、步進電機驅(qū)動電路和繼電器驅(qū)動電路組成,如圖3所示。文中使用10個DS18B20可對服務(wù)器溫度進行多點檢測,單片機用一根總線就可實現(xiàn)對所有傳感器的數(shù)據(jù)采集。3端穩(wěn)壓集成電路7805為單片機提供穩(wěn)定的5 V電源,ULN2003是一個多輸入多輸出的放大電路,它將單片機輸出的信號進行放大可以直接驅(qū)動步進電機。集成電路MAX 232把單片機的TTL電平轉(zhuǎn)換成RS232電平,這樣通過電腦的RS232串行接口,可以直接下載程序到單片機;用RS232/RS485電平轉(zhuǎn)換卡完成電平轉(zhuǎn)換后,就可以用RS485總線進行遠程通信。本文引用地址:http://2s4d.com/article/170755.htm
單片機程序采用C語言和匯編語言混合編寫,向溫度傳感器讀指令以及定時部分,由于要求的時序較嚴格,用匯編語言編程效果較好,數(shù)據(jù)處理部分用C語言編寫相對簡單。單片機程序的流程圖如圖4所示,單片機按照一定的時間間隔,依次從10個數(shù)字溫度傳感器DS18B20中循環(huán)讀取溫度數(shù)據(jù),并立刻將其發(fā)送到PC機,同時查詢是否收到PC機的控制指令,若收到控制指令,則將目標溫度值同當前溫度值進行對比,從而決定如何調(diào)整溫度調(diào)節(jié)設(shè)備的工作狀態(tài),即改變步進電機位置抑或改變繼電器動作。
2.3 PC機程序設(shè)計
PC機的主要功能是實現(xiàn)與單片機的串行通信及監(jiān)控人員查看溫度和調(diào)節(jié)服務(wù)器機房溫度。單片機將溫度數(shù)據(jù)發(fā)送到PC機串行接口時,程序能及時獲得該數(shù)據(jù),并將溫度值呈現(xiàn)給監(jiān)控人員,同時更新溫度曲線的顯示,從而以動態(tài)的效果表達溫度的變化情況。當監(jiān)控人員需要改變服務(wù)器溫度時,通過PC機能向單片機發(fā)送相應(yīng)溫度控制指令。
PC機程序采用VC6.0進行編寫。VC6.0具有一個串口通信控件,開發(fā)人員利用它可以方便地完成串口通信部分的程序編寫。每當串行接口收到數(shù)據(jù)時,系統(tǒng)會發(fā)生一個接收事件響應(yīng),系統(tǒng)就會執(zhí)行該事件響應(yīng)所對應(yīng)的程序,進而完成溫度數(shù)據(jù)的接收與貯存。同時,當監(jiān)控人員進行溫度調(diào)節(jié)時,使用該控件的發(fā)送數(shù)據(jù)函數(shù),串行接口就向單片機發(fā)送相應(yīng)控制指令。
利用VC6.0的定時器Timer,可以實現(xiàn)溫度曲線的定時更新顯示。設(shè)置一個時間間隔,并使能該Timer控件,每經(jīng)過一個這樣的時間間隔,就會發(fā)生Timer事件響應(yīng),系統(tǒng)則執(zhí)行該事件響應(yīng)對應(yīng)的程序。因此,在PC機程序中用一個二維數(shù)組存貯溫度曲線上各點的橫軸與縱軸坐標,分別與溫度的大小與時刻對應(yīng);利用Timer控件,每隔一定時間,把接收的溫度值存貯,通過數(shù)組中元素的移動,并移人最新溫度值對應(yīng)坐標,從而將二維數(shù)組中元素更新,進而更新溫度曲線,使曲線總是顯示當前時間段的溫度。PC機程序的流程如圖5所示。
3 結(jié)束語
經(jīng)實際測試表明:該溫度遠程監(jiān)控系統(tǒng)對1 000 m以內(nèi)的服務(wù)器機房溫度進行監(jiān)控,溫度誤差在2 ℃以內(nèi),而且依次對10個溫度傳感器進行數(shù)據(jù)讀取,完成一個循環(huán)僅需2 s時間。表明該系統(tǒng)滿足了通信距離、準確性和實時性的要求。
系統(tǒng)在合肥某大型超市服務(wù)器機房投入使用以來,運行可靠,且由于其直觀的溫度顯示效果,獲得用戶好評,表明該系統(tǒng)的設(shè)計具有較高的實用價值。
評論