文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)08-0046-03
在空調(diào)生產(chǎn)過(guò)程中,為確保空調(diào)產(chǎn)品的質(zhì)量,空調(diào)制造商在產(chǎn)品出廠前都必須對(duì)空調(diào)進(jìn)行加熱帶、制熱、制冷等環(huán)節(jié)的測(cè)試,通過(guò)標(biāo)準(zhǔn)機(jī)的電壓、功率、輸入管溫、輸出管溫、回氣溫度、排氣溫度等參數(shù)判斷空調(diào)是否合格,其中溫度參數(shù)檢測(cè)是整個(gè)空調(diào)檢測(cè)系統(tǒng)的重要部分。
在傳統(tǒng)的空調(diào)檢測(cè)系統(tǒng)中,溫度采集模塊多以熱電阻、熱電偶為溫度傳感器,溫度模擬信號(hào)必須經(jīng)過(guò)專(zhuān)門(mén)的調(diào)理電路轉(zhuǎn)換為數(shù)字信號(hào)后才能被單片機(jī)處理,使用一段時(shí)間后,系統(tǒng)檢測(cè)到的溫度值往往不夠準(zhǔn)確,同時(shí)由于溫度采集點(diǎn)分布范圍廣,增加了布線難度,也給系統(tǒng)維護(hù)帶來(lái)不便。
本文采用DS18B20數(shù)字溫度傳感器、AT89S52單片機(jī),設(shè)計(jì)出適合空調(diào)檢測(cè)現(xiàn)場(chǎng)的溫度采集模塊,實(shí)現(xiàn)現(xiàn)場(chǎng)16個(gè)采集點(diǎn)溫度數(shù)據(jù)的同步采集和傳輸。
1 系統(tǒng)構(gòu)成
空調(diào)檢測(cè)系統(tǒng)溫度采集模塊的結(jié)構(gòu)框圖如圖1所示。溫度采集模塊包括電源子模塊、16路溫度采集子模塊、看門(mén)狗子模塊、報(bào)警子模塊、RS485接口子模塊。微控制器采用Atmel公司的AT89S52,溫度采集采用Dallas公司的數(shù)字溫度傳感器DS18B20。上位機(jī)采用研祥工控機(jī),監(jiān)控軟件采用Visual Basic 6.0編程。
溫度采集模塊電路板固定在每個(gè)工作站的控制柜里,并將現(xiàn)場(chǎng)采集到的各點(diǎn)溫度值實(shí)時(shí)傳送給上位機(jī),因此,溫度采集模塊并沒(méi)有集成LCM子模塊和鍵盤(pán)電路。
2 硬件連接
2.1 DS18B20數(shù)字溫度傳感器
DS18B20數(shù)字溫度傳感器溫度測(cè)量范圍為-55 ℃~+125 ℃,在-10 ℃~+85 ℃范圍內(nèi),精度為±0.5 ℃,可實(shí)現(xiàn)9 bit~12 bit溫度讀取。DS18B20具有一線總線的特點(diǎn),可以輕松組建溫度采集網(wǎng)絡(luò),并且體積小、分辨率高、抗干擾能力強(qiáng),實(shí)用性和可靠性比同類(lèi)產(chǎn)品更高[1],因此,在軸承測(cè)溫[2]、凍土區(qū)公路路基溫度測(cè)量[3]等場(chǎng)合有著廣泛的應(yīng)用。
DS18B20溫度寄存器中的溫度值以9 bit數(shù)據(jù)格式表示,而輸出溫度則是以16 bit符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式提供,其中低8 bit用補(bǔ)碼表示,第9 bit~16 bit為擴(kuò)展符號(hào)位??照{(diào)檢測(cè)系統(tǒng)所需檢測(cè)的溫度值均在0 ℃以上,這樣,只需讀取緩存9個(gè)字節(jié)的前兩個(gè)字節(jié)即可。
2.2 DS18B20硬件連接
DS18B20器件都有一個(gè)唯一的64 bit ROM地址,通過(guò)協(xié)議就能識(shí)別這些序列號(hào),這樣多個(gè)DS18B20可以掛接在同一條單總線上,構(gòu)成多點(diǎn)溫度采集網(wǎng)絡(luò)。由于DS18B20具有“單總線”的技術(shù)特點(diǎn),因此可以采用兩種不同的方式連接單片機(jī)。
(1)單端口并聯(lián)連接:所有DS18B20均連接在同一條總線上,然后再連接到單片機(jī)的某個(gè)I/O端口。這種連接方式具有硬件開(kāi)銷(xiāo)小的優(yōu)點(diǎn),理論上一根總線可以掛接256個(gè)DS18B20,但若連接的數(shù)字傳感器數(shù)量較多,單片機(jī)需要花較多的時(shí)間才能獲得每個(gè)傳感器的序列號(hào),會(huì)降低系統(tǒng)的實(shí)時(shí)性,同時(shí)使得軟件編程變得復(fù)雜。
(2)多端口并行連接:每個(gè)DS18B20獨(dú)占單片機(jī)某個(gè)I/O端口。這種并行連接方式使得單片機(jī)能夠?qū)λ械臄?shù)字傳感器進(jìn)行并行操作,同一時(shí)間能實(shí)現(xiàn)多個(gè)輸入輸出,實(shí)現(xiàn)對(duì)溫度數(shù)據(jù)的快速讀取,從而提高系統(tǒng)的實(shí)時(shí)性,同時(shí)也使得軟件編程變得簡(jiǎn)單,縮短了項(xiàng)目的開(kāi)發(fā)周期。這種連接方式的缺點(diǎn)是硬件開(kāi)銷(xiāo)比較大。
根據(jù)空調(diào)檢測(cè)系統(tǒng)的實(shí)際需要,系統(tǒng)使用16片DS18B20構(gòu)成小型溫度數(shù)據(jù)采集網(wǎng)絡(luò),結(jié)合單端口并聯(lián)連接和多端口并行連接的連接特點(diǎn),每個(gè)I/O端口連接兩片DS18B20,共使用8個(gè)I/O端口,單片機(jī)與16片DS18B20連接框圖如圖2所示。DS18B20芯片的DQ端和單片機(jī)的I/O端口相連,并接上一個(gè)4.3 kΩ的上拉電阻,芯片的GND端接地線, VDD端接5 V電源線。AT89S52是一種低功耗、高性能CMOS 8 bit微控制器,具有8 KB Flash,256 B RAM,32 bit I/O口線,3個(gè)16 bit定時(shí)器/計(jì)數(shù)器,其資源性能可以滿足空調(diào)檢測(cè)系統(tǒng)溫度采集的需要。
單片機(jī)需要通過(guò)接口電路實(shí)現(xiàn)與DS18B20的連接,接口電路圖如圖3所示。J1是接線端子臺(tái), DS18B20通過(guò)三芯電纜連接到J1;二極管IN4148實(shí)現(xiàn)電壓鉗位;RWDS1和單片機(jī)AT89S52的一個(gè)I/O端口相連;16片DS18B20通過(guò)J1~J8與溫度采集模塊連接。
3 程序設(shè)計(jì)
3.1 DS18B20溫度采集
DS18B20溫度采集基本流程:?jiǎn)纹瑱C(jī)發(fā)出復(fù)位脈沖,當(dāng)信號(hào)線上的DS18B20發(fā)出存在脈沖后,即完成DS18B20的初始化工作;單片機(jī)檢測(cè)到存在脈沖,便發(fā)起ROM操作命令;發(fā)送內(nèi)存操作指令,啟動(dòng)DS18B20溫度轉(zhuǎn)換;延時(shí)2 μs等待溫度轉(zhuǎn)換完成;發(fā)出匹配ROM命令后緊接著發(fā)送片內(nèi)ROM序列號(hào);讀取序列號(hào)對(duì)應(yīng)的DS18B20暫存器,從而讀出溫度值;讀完一個(gè)DS18B20溫度值后,接著轉(zhuǎn)向下一個(gè)DS18B20的操作。這樣的操作循環(huán)進(jìn)行,從而完成對(duì)所有DS18B20溫度值的讀取。溫度采集基本流程圖[1]如圖4所示。
DS18B20作為智能集成溫度傳感器,其智能化實(shí)現(xiàn)要以高質(zhì)量代碼作保障。因?yàn)樽x取每一個(gè)DS18B20都需要匹配序列號(hào),復(fù)位、讀、寫(xiě)操作都需要針對(duì)不同的I/O口,所以,16片DS18B20經(jīng)單片機(jī)8個(gè)I/O口接入,需要定義對(duì)應(yīng)8個(gè)I/O口的變量:18b20_0~18b20_7、18b20_0定義語(yǔ)句表示如下:“sbit 18b20_0=P1^0;”;需要定義8個(gè)復(fù)位(初始化)函數(shù):void re18b20_0()~void re18b20_7();需要定義8個(gè)寫(xiě)函數(shù):void wr18b20_0(uchar ml)~void wr18b20_7(uchar ml);需要定義8個(gè)讀函數(shù):void rd18b20_0()~void rd18b20_7()。對(duì)于單個(gè)I/O口(如P1.0),單片機(jī)在發(fā)送溫度轉(zhuǎn)換命令后,發(fā)送匹配命令wr18b20_0(0x55);連續(xù)調(diào)用8次寫(xiě)函數(shù)發(fā)送序列號(hào);發(fā)送讀溫度暫存器命令wr18b20_0(0xbe);調(diào)用讀函數(shù)rd18b20_0()讀取溫度低8 bit;經(jīng)溫度轉(zhuǎn)換函數(shù)處理后,將溫度整數(shù)部分保存在wd[0],小數(shù)部分保存到wd[1]。讀取另外一片DS18B20,其溫度值的整數(shù)和小數(shù)部分分別保存到wd[2]、wd[3]。讀取P1.1端口,溫度讀取過(guò)程相同。所有傳感器的溫度值都保存到wd數(shù)組中,最后由單片機(jī)AT89S52按照Modbus協(xié)議發(fā)送給上位機(jī)。
3.2 程序編寫(xiě)需要注意以下幾點(diǎn)
(1)單片機(jī)采用C51編程,代碼功能模塊清晰,可讀性強(qiáng)。從本應(yīng)用狀況來(lái)看,其實(shí)時(shí)性能得到保證,因此,匯編語(yǔ)言不一定是最好的選擇。
(2)空調(diào)檢測(cè)系統(tǒng)所采集的溫度均在0 ℃以上,并且上位機(jī)軟件可以實(shí)現(xiàn)溫度報(bào)警功能,因此,讀函數(shù)讀取RAM寄存器只需讀取前兩個(gè)字節(jié)。
(3)單片機(jī)和上位機(jī)軟件通信采用Modbus協(xié)議的RTU模式,因此,溫度轉(zhuǎn)換函數(shù)實(shí)現(xiàn)的功能就是將溫度低字節(jié)轉(zhuǎn)化為十六進(jìn)制數(shù)據(jù),并保存到數(shù)組里。
4 應(yīng)用分析
空調(diào)檢測(cè)是在一個(gè)溫濕度變化復(fù)雜、干擾源多的空調(diào)檢測(cè)房里進(jìn)行,空調(diào)檢測(cè)系統(tǒng)包括1#~6#工作站,每個(gè)工作站均配有5臺(tái)標(biāo)準(zhǔn)室內(nèi)機(jī)。定頻、變頻一拖一、一拖多等機(jī)型的室外機(jī)由生產(chǎn)線運(yùn)送到各站臺(tái),電源線、信號(hào)線等連接完畢后,即可掃描條碼進(jìn)行檢測(cè)。檢測(cè)過(guò)程中,上位機(jī)軟件能實(shí)時(shí)檢測(cè)溫度、壓力等參數(shù),檢測(cè)完畢,系統(tǒng)自動(dòng)存儲(chǔ)各種數(shù)據(jù),如果參數(shù)不合格,則發(fā)出報(bào)警信號(hào)。
基于空調(diào)檢測(cè)環(huán)境溫濕度變化復(fù)雜的現(xiàn)場(chǎng)狀況,數(shù)字溫度傳感器DS18B20需要采用不銹鋼外殼封裝,以達(dá)到防水防潮目的。DS18B20溫度采集點(diǎn)主要分布在室內(nèi)標(biāo)準(zhǔn)機(jī)的進(jìn)風(fēng)口、出風(fēng)口和盤(pán)管。測(cè)量壓縮機(jī)排氣管溫度時(shí),不銹鋼封裝的DS18B20需要嵌入固定到金屬夾里面,通過(guò)這樣測(cè)量方式得到的是排氣管表面溫度,需要利用上位機(jī)軟件進(jìn)行必要的數(shù)據(jù)處理,才能得到排氣管的實(shí)際溫度。
上位機(jī)監(jiān)控軟件采用模塊化設(shè)計(jì),軟件分為數(shù)據(jù)通信、數(shù)據(jù)采集、數(shù)據(jù)顯示、數(shù)據(jù)管理、用戶管理模塊,并將各模塊的實(shí)現(xiàn)代碼封裝成模塊和類(lèi)模塊。需要注意的是:為了方便對(duì)DS18B20數(shù)字溫度傳感器進(jìn)行安裝、測(cè)試和維護(hù),監(jiān)控軟件應(yīng)該有針對(duì)連接溫度傳感器的I/O端口,以及I/O端口上的溫度傳感器的測(cè)試界面。上位機(jī)監(jiān)控界面溫度顯示區(qū)如圖5所示,圖中顯示的是某機(jī)型在制冷期間某時(shí)刻溫度值,圖中排氣溫度1和排氣溫度2為壓縮機(jī)管溫。
采用DS18B20的溫度采集模塊已應(yīng)用到某大型空調(diào)生產(chǎn)廠的空調(diào)檢測(cè)系統(tǒng)中,溫度采集的準(zhǔn)確性和實(shí)時(shí)性均滿足系統(tǒng)的要求。數(shù)字溫度傳感器DS18B20和單片機(jī)AT89S52組成的溫度采集模塊,能同時(shí)滿足成本和技術(shù)的要求,對(duì)組建多點(diǎn)溫度采集網(wǎng)絡(luò)具有一定的借鑒意義。
參考文獻(xiàn)
[1] 周月霞,孫傳友.DS18B20硬件連接及軟件編程[J].傳感器世界,2001(12):25-29.
[2] 張海傳,吳晨霞,許東衛(wèi),等.低功耗軸承溫度無(wú)線檢測(cè)系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,35(10).
[3] 何東坡,任貴波,韓春鵬,等.DS18B20在季凍土區(qū)公路路基溫度場(chǎng)測(cè)量中的應(yīng)用[J].電子技術(shù)應(yīng)用,2010,36(4).
[4] 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2004.