任志華,李永紅
(中北大學(xué),山西太原 030051)
隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們?cè)絹碓街匾暅囟冗@一因素,許多產(chǎn)品對(duì)溫度要求嚴(yán)格,而目前市場上普遍存在的溫度檢測儀器大都是單點(diǎn)測量,同時(shí)還有溫度信息傳遞不及時(shí)、精度不夠的特點(diǎn),不利于工業(yè)控制者根據(jù)溫度變化及時(shí)做出決定[1-2]。在這樣的形式下,開發(fā)一種能夠同時(shí)測量多點(diǎn),并且實(shí)時(shí)性高、精確度高,能夠綜合處理多點(diǎn)溫度信息的測量系統(tǒng)就很有必要。
本文采用單總線數(shù)字溫度傳感器DS18B20和單片機(jī)AT89C51構(gòu)成的溫度測量裝置,它可直接輸出溫度的數(shù)字信號(hào)[3]。測溫系統(tǒng)結(jié)構(gòu)簡單,體積也不大,而且AT89C51可以帶多個(gè)DSB1820,可以非常容易實(shí)現(xiàn)多路測溫,輕松的組建傳感器網(wǎng)絡(luò)。
本系統(tǒng)由單片機(jī)AT89C51、顯示電路、串口通訊電路、報(bào)警電路、數(shù)據(jù)存儲(chǔ)和上位機(jī)組成。單片機(jī)AT89C51的I/O線作為總線可以掛接多個(gè)溫度傳感器DS18B20,I/O總線處于高電平時(shí),可以為數(shù)字溫度傳感器提供電源。單片機(jī)AT89C51通過巡回檢測,獲取各點(diǎn)溫度,貯存在數(shù)據(jù)存儲(chǔ)卡上,通過MAX232串行通信接口接上位機(jī),同時(shí)可以送顯示器進(jìn)行顯示,并且溫度超限時(shí)可以報(bào)警。系統(tǒng)硬件整體結(jié)構(gòu)設(shè)計(jì)框圖如圖1所示。

圖1 硬件整體結(jié)構(gòu)框圖
本文為多路溫度測試,因此DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個(gè)DS18B20,但實(shí)踐應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的DS18B20仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過80 m,否則也會(huì)影響到數(shù)據(jù)的傳輸。在這種情況下我們采用分組的方式,用單片機(jī)的多個(gè)I/O來驅(qū)動(dòng)多路DS18B20。在實(shí)際應(yīng)用中還可以使用一個(gè)MOSFET將I/O口線直接和電源相連,起到上拉的作用。
在本文中選擇液晶顯示模塊LCD1602,它是一種可編程器件,可以顯示兩行,每行16個(gè)字符,采用單+5 V電源供電,外圍電路配置簡單,價(jià)格便宜,具有很高的性價(jià)比,可以定時(shí)循環(huán)檢測和通過LCD1602顯示多路的溫度,因此選擇LCD1602。
AT89C51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。其電路如圖2所示。
在實(shí)際的工作中,工作的溫度可能會(huì)超出設(shè)定值的范圍,在本文中,如果外界溫度低于9℃或高于85℃,系統(tǒng)將產(chǎn)生報(bào)警聲音,并且對(duì)應(yīng)的LED同步閃爍,LED-YELLOW為低溫閃爍,LED-RED為高溫閃爍。
整體電路圖如圖2所示。

圖2 整體電路圖
整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,軟件設(shè)計(jì)部分采用模塊化設(shè)計(jì)和C語言編程,主程序流程圖如圖3所示。

圖3 主程序流程圖

圖4 溫度采集流程圖
通過對(duì)多個(gè)DS18B20進(jìn)行操作就能實(shí)現(xiàn)對(duì)溫度的采集,程序中對(duì)DS18B20的操作主要有幾個(gè)步驟:初始化;搜索DS18B20;匹配DS18B20;發(fā)送溫度轉(zhuǎn)換指令;讀取溫度值[5]。其溫度采集流程圖如圖4所示。
通過對(duì)各個(gè)部分電路的設(shè)計(jì),本文基本上實(shí)現(xiàn)了對(duì)4路溫度的測量和控制。以AT89C51作為控制主機(jī),以單總線數(shù)字溫度傳感器DS18B20作為現(xiàn)場測溫元件,當(dāng)外界溫度低于-20℃或高于70 ℃時(shí),具有報(bào)警功能。

數(shù)字溫度傳感器DS18B20具有測量速度快、精度高、智能化等特點(diǎn),以AT89C51作為控制主機(jī)組成的多路溫度采集系統(tǒng)可靠性高、維修方便、抗干擾性能好、具有CRC校驗(yàn)功能,適用于各種溫度檢測和控制系統(tǒng)。因此,在大型倉庫、工廠、醫(yī)療與健診等系統(tǒng)需要多點(diǎn)溫度檢測中有著廣闊的應(yīng)用前景。
[1]吳東霞,陳天勝,王佳.基于MCS-51的多路溫度檢測系統(tǒng)的硬件設(shè)計(jì)[J].科技信息,2009(35).
[2]劉岑俐,張明.多路溫度檢測系統(tǒng)的設(shè)計(jì)[J].四川大學(xué)學(xué)報(bào),2008(10).
[3]朱群峰,黃磊,唐杰,王躍球.基于DSl8B20的單總線多路溫度采集系統(tǒng)[J].儀表技術(shù),2008(12).
[4]黃宇飛,吳江,秦旭,等.單片機(jī)單總線技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2001(1): 22-25,47.
[5]月霞,孫傳友.DS18B20 硬件連接及軟件編程[J].傳感器世界,2001(12):25-29.
[6]王玲,王中訓(xùn),王恒.基于MSP430單片機(jī)的多路無線溫度檢測系統(tǒng)[J].現(xiàn)代電子技術(shù),2011,34(1).
[7]張慧坤.溫度檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].北京電力高等專科學(xué)校學(xué)報(bào):自然科學(xué)版,2011,28(5).
[8]東耀,汪仁煌.數(shù)字溫度傳感器在倉庫溫度檢測系統(tǒng)的應(yīng)用[J].傳感器世界,2001(12):30-33.