衛(wèi)道柱, 曾億山, 楊 沁, 高 雷
(合肥工業(yè)大學(xué)機械與汽車工程學(xué)院,安徽合肥 230009)
溫度是生產(chǎn)和生活中常見的和最基本的參數(shù)之一。在現(xiàn)代社會中,溫度控制不僅應(yīng)用于生產(chǎn)方面,也應(yīng)用于生活的各個方面[1]。
本文針對酒店、賓館房間的溫度進行檢測和監(jiān)控,使得酒店各個房間的溫度既可以在控制室進行集中控制,也可以在各個房間單獨控制,得到一個合適、舒服的溫度。
系統(tǒng)運用主從分布式思想,由一臺工控機作上位機,多臺單片機作下位機,組成2級分布式多點溫度測量的巡回檢測系統(tǒng)[2]。硬件結(jié)構(gòu)如圖1所示。
系統(tǒng)中,工控機作為上位機,進行現(xiàn)場可視化檢測,負責(zé)與下位機進行通訊,控制多臺單片機進行現(xiàn)場溫度采集,對傳送回工控機的溫度值進行數(shù)據(jù)處理、顯示。
單片機選用A TM EL的 8位單片機AT89S52產(chǎn)品,可在工控機控制下工作,也可以單獨工作,實時顯示當(dāng)前各點的溫度值,對各點進行實時溫度控制,并具有超溫聲光報警功能[3]。
圖1 系統(tǒng)結(jié)構(gòu)示意圖
溫度傳感器采用 DALLAS公司生產(chǎn)的DS18B20溫度芯片。DS18B20是一線式數(shù)字溫度傳感器,測量溫度范圍為-55~125℃,測溫分辨率可達0.062 5℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出[4,5]。其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。
如圖2所示,DS18B20支持“一線總線”接口[6,7],利用單總線的特點可以方便地實現(xiàn)多點溫度的測量,輕松地組建傳感器網(wǎng)絡(luò),且系統(tǒng)的抗干擾性好、設(shè)計靈活、方便,適合于在惡劣的環(huán)境下進行現(xiàn)場溫度測量。
圖2 DS18B20的單總線結(jié)構(gòu)
本系統(tǒng)為多點溫度測試。DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個DS18B20,但在實際應(yīng)用中發(fā)現(xiàn),如果掛接25個以上的 DS18B20仍然有可能產(chǎn)生功耗問題。
另外單總線長度也不宜超過80 M,否則也會影響到數(shù)據(jù)的傳輸[8,9],在這種情況下可以采用分組的方式,用單片機的多個I/O來驅(qū)動多路DS18B20。在實際應(yīng)用中還可以使用一個MOSFET將I/O口線直接和電源相連,起到上拉的作用[10]。
圖3所示為一路溫度控制電路,信號通過7重達林頓反相驅(qū)動器ULN2003A控制直流繼電器,由直流繼電器再去控制給空調(diào)供電的220 V交流電源的開關(guān)。
圖3 溫度控制電路
串口通訊電路如圖4所示。A T89S52有一個全`雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。
進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,采用了專用芯片MAX 232進行轉(zhuǎn)換,雖然也可以用幾個三極管進行模擬轉(zhuǎn)換,但還是用專用芯片更簡單可靠[11]。
圖4 串口通訊電路
3.1.1 單片機主程序
單片機主程序流程如圖5所示。主程序是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。
主程序調(diào)用了9個子程序,分別是溫度轉(zhuǎn)換開始子程序、讀出溫度值子程序、根據(jù)溫度進行控制子程序、溫度顯示模式設(shè)定子程序、溫度數(shù)據(jù)計算處理子程序、顯示數(shù)據(jù)BCD碼刷新子程序、數(shù)碼管顯示子程序、鍵盤掃描與按鍵處理程序以及單片機與工控機串口通訊程序,這9個子程序完成了整個系統(tǒng)的溫度控制。
圖5 主程序流程圖
3.1.2 部分模塊子程序設(shè)計
(1)讀出溫度值、報警值子程序 READTEMP的設(shè)計。從多路DS18B20溫度傳感器中分別讀出相應(yīng)的溫度值和溫度報警值,其程序流程圖如圖6所示。
圖6 讀溫度值流程圖
(2)溫度控制子程序TEMP-CONTROL的設(shè)計根據(jù)各個溫度傳感器設(shè)定的上下限報警值和實時溫度值來控制各個繼電器的通斷,并進行聲光報警。
其程序流程如圖7所示[12]。
采用VB環(huán)境下工控機與單片機之間實現(xiàn)串行通訊的軟硬件方案。VB是M icrosoft公司推出的W indow s應(yīng)用程序開發(fā)工具,因其具有界面友好、編程簡便等優(yōu)點而受到廣泛的使用。工控機程序結(jié)構(gòu)如圖8所示。
圖7 溫度控制流程圖
圖8 工控機主程序結(jié)構(gòu)圖
經(jīng)過測試運行,單片機多路溫度報警控制系統(tǒng)能夠及時采集溫度,并通過數(shù)碼管進行溫度顯示;能夠準(zhǔn)確可靠地進行溫度控制,并具有超溫聲光報警功能;能夠?qū)崿F(xiàn)自動巡回檢測溫度,也可以指定監(jiān)測點檢測其溫度,同時通過單片機鍵盤可以方便地設(shè)定各溫度傳感器上下限溫度報警值。
工控機通過串行通訊能夠直觀顯示實時溫度和上下限報警溫度,并通過紅綠燈變化直觀顯示是否超溫;通過圖形界面可以非常方便地設(shè)定各溫度傳感器的上下限溫度報警值。
[1] 劉永亮,趙 磊,甄 鵬.分布式多點溫度測量系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2008,24(9):145-146.
[2] 董慧敏,朱智民.多點溫度檢測系統(tǒng)電路設(shè)計[J].漯河職業(yè)技術(shù)學(xué)院學(xué)報,2007,6(3):167-168.
[3] 董小艷,朱瑞祥,吳憲莉.多倉位分布式糧庫溫度自動巡檢系統(tǒng)設(shè)計[J].糧食加工,2008,33(2):74-75.
[4] 王俊杰,曹衛(wèi)鋒.DS18B20在糧倉測溫系統(tǒng)上的應(yīng)用[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2007,22(5):83-84.
[5] 史 軍,趙國榮.多點溫度傳感無線采集系統(tǒng)的研究[J].寧夏大學(xué)學(xué)報:自然科學(xué)版,2008,29(1):48-50.
[6] 趙佩華.DS1820在單片機溫度測控中的應(yīng)用[J].上海電機學(xué)院學(xué)報,2008,11(4):301-302.
[7] 袁海斌,李文斌.大功率電力電子裝置的分布式溫度檢測系統(tǒng)[J].電力電子,2007,(4):33-34.
[8] 王瑞更.高精度多點溫度數(shù)據(jù)采集系統(tǒng)[J].河北工業(yè)科技,2008,25(5):312-313.
[9] 張玉健.基于DS18B20的溫度檢測系統(tǒng)[J].計算機與信息技術(shù),2007,(11):311-312.
[10] 曹海平基于單片機和DS18B20的分布式多點溫度檢測系統(tǒng)的設(shè)計[J].自動化技術(shù)與應(yīng)用,2008,27(11):91-92.
[11] 朱奕丹,倪浩如.基于單片機控制的高精度多點溫度檢測顯示系統(tǒng)[J].自動化儀表,2008,29(8):60-61.
[12] 王冬云,劉福才,張 寅.基于M SP430與Modem的光伏電站遠程監(jiān)控系統(tǒng)設(shè)計[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2009,32(7):986-988.
合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版)2011年4期