蕪湖職業(yè)技術(shù)學(xué)院電氣與自動(dòng)化學(xué)院 潘 麗
隨著工業(yè)的發(fā)展,溫度是非常重要的一個(gè)過程變量。在軍事上,需要對彈藥庫進(jìn)行測溫;在工業(yè)生產(chǎn)中,經(jīng)常需要水循環(huán)測溫,對鍋爐測溫;在農(nóng)業(yè)生產(chǎn)中對溫室的溫度等進(jìn)行檢測;在醫(yī)療系統(tǒng)中,需要對冷藏室、潔凈室溫度進(jìn)行檢測,以及新生兒保溫箱中都涉及到溫度控制。在日常生活中,需要對室內(nèi)溫度進(jìn)行檢測等等。本系統(tǒng)采用單片機(jī)與DS18B20以及LCD1602等模塊實(shí)現(xiàn),當(dāng)溫度超過預(yù)定警戒值時(shí)系統(tǒng)會報(bào)警,很好的的完成了溫度的監(jiān)控與報(bào)警。實(shí)驗(yàn)證明,該系統(tǒng)性能穩(wěn)定,很好的實(shí)現(xiàn)了溫度檢測與報(bào)警功能。
隨著現(xiàn)代工業(yè)的發(fā)展,溫度成為生產(chǎn)生活中一個(gè)重要的物理量,在軍事領(lǐng)域、工業(yè)領(lǐng)域、醫(yī)學(xué)領(lǐng)域以及日常生活中都有重要的應(yīng)用?;谝陨显颍瑢囟鹊臋z測成為一個(gè)重要的研究方向,本文的目的是設(shè)計(jì)一個(gè)溫度檢測系統(tǒng),當(dāng)溫度低于-55。C以及高于120。C的時(shí)候進(jìn)行報(bào)警該系統(tǒng)基于51單片機(jī),采用DS18B20作為溫度傳感器,LCD1602作為溫度顯示模塊,AT24C02作為數(shù)據(jù)存儲模塊,蜂鳴器和LED燈作為溫度報(bào)警模塊。
系統(tǒng)由單片機(jī)系統(tǒng),溫度檢測模塊,數(shù)據(jù)存儲模塊,以及溫度顯示模塊和溫度報(bào)警模塊四個(gè)部分組成。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
單片機(jī)最小系統(tǒng)包括時(shí)鐘電路以及復(fù)位電路并有電源供應(yīng)電路。本系統(tǒng)單片機(jī)采用宏晶公司生產(chǎn)的89C51,這里單片機(jī)的晶振為11.0592Mhz。
這里我們采用DS18B20溫度傳感器,實(shí)物如圖2所示,從左往右第一個(gè)管腳為GND管腳,第二個(gè)為數(shù)據(jù)總線管腳,第三個(gè)管腳為電源VCC管腳。DS18B20數(shù)字溫度傳感器接線方便,封裝后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,圖3所示為其硬件結(jié)構(gòu)。其適應(yīng)電壓范圍更寬,從3.0V到5.5V,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。其量程較大,從-55℃到+125℃,可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測溫。DS18B20的核心功能是它可以直接讀出數(shù)字的溫度數(shù)值。溫度傳感器的精度為用戶可編程的9,10,11或12位,分別以0.5℃,0.25℃,0.125℃和0.0625℃增量遞增。在上電狀態(tài)下默認(rèn)的精度為12位。得到的12位數(shù)據(jù)存儲在DS18B20的兩個(gè)8位的RAM中,高字節(jié)的前5位是符號位,如果測得的溫度大于0,這5位為‘0’,只要將測到的數(shù)值乘以0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為‘1’,測到的數(shù)值需要先減1再取反再乘以0.0625即可得到實(shí)際溫度。
圖2 DS18b20實(shí)物
圖3 DS18b20硬件結(jié)構(gòu)
在溫度檢測模塊中,我們首先初始化18b20,然后根據(jù)18b20的指令表進(jìn)行編寫程序,向DS18b20發(fā)送44H指令啟動(dòng)溫度傳感器進(jìn)行轉(zhuǎn)換,一般采用12位分辨率進(jìn)行轉(zhuǎn)換,接著讀取轉(zhuǎn)換好的溫度數(shù)據(jù),首先讀取低字節(jié)的溫度,接著讀取高字節(jié)的溫度,然后設(shè)置一個(gè)變量先保存溫度的高字節(jié)然后左移8位,使高字節(jié)變?yōu)?6位中高8位,最后和低8位相或,將高8位于低8位組合在一起。然后,先判斷讀取的溫度值是正值還是負(fù)值進(jìn)行不同處理。
圖4 AT24C02管腳圖
圖5 AT24C02實(shí)物圖
數(shù)據(jù)存儲模塊我們采用具有IIC總線接口的AT24C02存儲器,圖4所示為其管腳圖,其中A0-A3是地址輸入管腳,SDA和SCL分別是地址數(shù)據(jù)輸入和時(shí)鐘輸入管腳,WP為寫保護(hù),VCC是電源,VSS是接地。其具有1.8到6.0伏工作電壓范圍,當(dāng)WP為高電平時(shí)進(jìn)入寫保護(hù),具有100萬次編程/擦除周期,可保存數(shù)據(jù)100年,有DIP SOIC或TSSOP封裝兩種封裝形式,圖5所示為其實(shí)物圖。采用串行總線技術(shù)可以簡化系統(tǒng)設(shè)計(jì)、減小系統(tǒng)體積、提高系統(tǒng)可靠性。同時(shí),增加系統(tǒng)的可移植性。
顯示模塊我們采用LCD1602液晶顯示器來完成溫度顯示。LCD1602是一種專門用來顯示字母、數(shù)字、符號的點(diǎn)陣型液晶模塊。它是由若干個(gè)5x7或者5x10的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。在使用LCD1602顯示溫度值值時(shí),我們首先對LCD1602進(jìn)行初始換操作,接著改變數(shù)據(jù)命令控制端,首先設(shè)置(RS=L)寫命令,設(shè)置顯示坐標(biāo),然后設(shè)置(RS=H)來寫數(shù)據(jù)。
圖6 蜂鳴器實(shí)物圖
圖7 蜂鳴器接線圖
圖8 系統(tǒng)流程圖
溫度報(bào)警模塊我們采用蜂鳴器加led燈的結(jié)構(gòu),蜂鳴器分為有源和無源兩種,我們系統(tǒng)中采用無源蜂鳴器,如圖6、圖7所示。當(dāng)溫度超過或者低于預(yù)設(shè)的警戒值時(shí),蜂鳴器會報(bào)警。
LED燈的陽極串聯(lián)一個(gè)電阻,然后連接到電源VCC,而LED的陰極連接到單片機(jī)的I/O口,發(fā)生溫度報(bào)警時(shí),我們將如果一個(gè)LED相對應(yīng)的IO交替賦為高低電平,讓LED燈完成閃爍功能。
圖8所示為其流程圖,首先我們初始化溫度傳感器參數(shù),設(shè)定最高報(bào)警值與最低報(bào)警值,接著通過溫度檢測模塊與溫度顯示模塊獲取溫度并顯示溫度,當(dāng)檢測出溫度大于最高報(bào)警值或小于最低報(bào)警值時(shí),溫度報(bào)警模塊開始報(bào)警。
Proteus軟件是英國Lab Center Electronics公司出版的。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是比較好的仿真單片機(jī)及外圍器件的工具。本系統(tǒng)我們采用Proteus仿真,如圖9所示。根據(jù)以上的模塊以及系統(tǒng)的流程圖,我們首先設(shè)計(jì)出了仿真電路。
機(jī)的溫度檢測與報(bào)警系統(tǒng),可實(shí)現(xiàn)系統(tǒng)溫度預(yù)設(shè)置,溫度檢測,溫度存儲和溫度報(bào)警功能,實(shí)驗(yàn)表現(xiàn),系統(tǒng)能完成預(yù)定功能,且性能穩(wěn)定,擴(kuò)展性好,可以滿足眾多領(lǐng)域的溫度檢測功能。
圖9 Proteus仿真圖