咸陽師范學(xué)院 樊戰(zhàn)亭
本文以STC89C51單片機(jī)為核心設(shè)計(jì)出了溫度測量與控制系統(tǒng),給出了溫度測控系統(tǒng)總體設(shè)計(jì)方案。比較詳細(xì)地設(shè)計(jì)出了溫度測控系統(tǒng)的硬件電路,包括由DS18B20溫度傳感器構(gòu)成溫度測量電路、溫度設(shè)定、LED溫度顯示、溫度控制及高低溫度報(bào)警等主要電路,并給出了控制系統(tǒng)軟件流程。制作出了溫度測控系統(tǒng)實(shí)物,驗(yàn)證了本文所設(shè)計(jì)的溫度測控可行性。
引言:溫度測量及控制在工農(nóng)業(yè)生產(chǎn)和科研實(shí)驗(yàn)過程中有著重要的應(yīng)用和要求,精準(zhǔn)的溫度測量、顯示和控制特別重要(江杰,李計(jì)川.基于DS18B20的高溫度測量系統(tǒng)在高爐上的應(yīng)用[J].傳感器與微系統(tǒng),2012,31(11):144-146)。單片機(jī)因價(jià)格便宜、功能強(qiáng)和通用性良好等優(yōu)點(diǎn)在電子產(chǎn)品設(shè)計(jì)方便得到了廣泛應(yīng)用(孫培軍.基于單片機(jī)的溫濕度測控系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2016(24):256-257)。DS18B20是美國DALLS公司生產(chǎn)的單一總線數(shù)字式溫度傳感器,能夠直接把測量的溫度值存儲在自身的RAM中,方便單片機(jī)進(jìn)行讀取,克服了模擬式溫度傳感器與單片機(jī)接口需要的A/D轉(zhuǎn)換器件及時(shí)序電路。同時(shí)由于DS18B20結(jié)構(gòu)簡單、低功耗、抗干擾強(qiáng)、測量范圍廣等優(yōu)點(diǎn),溫度測量系統(tǒng)能夠更加精確(戴蓉,游鳳荷等.由單片機(jī)荷多片DS1820組成的多點(diǎn)溫度測控系統(tǒng),2001(1):60-62)。本文應(yīng)用STC89C51單片機(jī)及DS18B20單一總線數(shù)字溫度傳感器設(shè)計(jì)出溫度測量、控制及實(shí)時(shí)顯示系統(tǒng),可以把系統(tǒng)溫度控制在設(shè)定溫度區(qū)間并實(shí)時(shí)顯示測量溫度。整個系統(tǒng)硬件結(jié)構(gòu)簡單,主要功能通過軟件編程實(shí)現(xiàn),可靠性高,應(yīng)用范圍比較廣泛。
溫度測量與控制系統(tǒng)基本功能要能夠完成溫度的實(shí)時(shí)測量與顯示、最高和最低溫度區(qū)間的設(shè)定;在溫度高于設(shè)定高溫要進(jìn)行散熱降溫操作,或者在溫度低于設(shè)定低溫要進(jìn)行加熱升溫控制,并且能夠在以上兩種情況時(shí)進(jìn)行報(bào)警。根據(jù)功能設(shè)定要求,溫度測量與控制系統(tǒng)總體設(shè)計(jì)如圖1所示。
系統(tǒng)采用了STC單片機(jī)STC89C51作為主控芯片,輸入控制部分主要包含溫度測量和溫度設(shè)定兩部分,溫度測量用來進(jìn)行溫度測量并且把結(jié)果輸入單片機(jī);溫度設(shè)定部分主要對單片機(jī)進(jìn)行高溫及低溫溫度的設(shè)定。輸出控制部分主要包括溫度顯示、溫度控制和溫度報(bào)警三部分,溫度顯示通過單片機(jī)把測量出的溫度通過LED進(jìn)行顯示;溫度控制部分主要在測量溫度大于設(shè)定最高溫時(shí)進(jìn)行降溫控制或者小于設(shè)定最低溫進(jìn)行加熱控制,最終能夠使測量溫度達(dá)到設(shè)定區(qū)間;溫度報(bào)警部分主要在溫度超出設(shè)定區(qū)間時(shí)進(jìn)行報(bào)警。
圖1 溫度測量與控制系統(tǒng)總體設(shè)計(jì)框圖
溫度測量與控制系統(tǒng)的核心為STC公司單片機(jī)STC89C51,它有著快速高效、較低的功率消耗以及強(qiáng)的抗干擾能力的特征,是8051系列單片機(jī)芯片的兼容型,它的程序和一般的8051系列單片機(jī)可以相融合,而且效率更高??刂葡到y(tǒng)硬件設(shè)計(jì)圖如圖2所示。
圖2 溫度測量與控制系統(tǒng)硬件設(shè)計(jì)圖
溫度測量部分主要由美國DALLAS公司單總線數(shù)字式溫度傳感器DS18B20構(gòu)成,僅有三條管腳,能夠?qū)崿F(xiàn)全數(shù)字溫度轉(zhuǎn)換及輸出,完成單一總線數(shù)據(jù)通信功能。具有體積小、硬件開銷低,抗干擾能力強(qiáng)、精度較高等優(yōu)點(diǎn),支持3V~5.5V的電壓范圍,能夠使溫度測量系統(tǒng)設(shè)計(jì)靈活、方便(DALLS公司.DALLS公司半導(dǎo)體手冊[M].2002)。
DS18B20數(shù)字溫度傳感器中VDD、GND兩個引腳分別接+5V及地,DQ單一數(shù)據(jù)總線接5k歐上拉電阻并與單片機(jī)P3.7口連接。DS18B20能夠把測量到的溫度值直接存儲到自身RAM中的第一和第二個字節(jié)中。單片機(jī)根據(jù)DS18B20單一總線的工作時(shí)序進(jìn)行編程處理就能夠讀取到測量的溫度值。
P3.1、P3.2和P3.3輸入口對應(yīng)的控制按鈕按下時(shí),相應(yīng)輸入端口為零,分別進(jìn)行溫度設(shè)定、減1和加1操作。P3.1接口按鈕按下可以分別進(jìn)行最低、最高溫及其十位、個位及小數(shù)位設(shè)置的選擇,連續(xù)按下可退出溫度設(shè)定;P3.2接口按下能夠?qū)υO(shè)定目標(biāo)溫度的十位、個位及小數(shù)位進(jìn)行減1操作;P3.3接口按下能夠?qū)υO(shè)定目標(biāo)溫度的十位、個位及小數(shù)位進(jìn)行加1操作。通過三個按鍵的配合,就能夠完成對最低、最高溫度的設(shè)定操作。
報(bào)警電路主要由PNP三極管、限流電阻和蜂鳴器組成,PNP三極管發(fā)射極接+5V電源正極,基極通過限流電阻與單片機(jī)P3.6端口相接,集電極接地。
當(dāng)測量溫度在最低、最高溫度區(qū)間時(shí),單片機(jī)控制P3.6輸出高電平+5V,三極管發(fā)射極與基極不能導(dǎo)通,發(fā)射極、集電極回路不能導(dǎo)通,蜂鳴器不會報(bào)警。反之,如果當(dāng)測量測量溫度小于最低設(shè)定溫度或者大于最高設(shè)定溫度時(shí),單片機(jī)控制P3.6輸出低電壓,三極管發(fā)射極與基極導(dǎo)通,控制發(fā)射極、集電極放大回路導(dǎo)通,蜂鳴器導(dǎo)通進(jìn)行報(bào)警。
溫度控制電路有加熱和降溫兩部分電路組成。兩部分電路主要由PNP三極管、兩個限流電阻、加熱(降溫)指示發(fā)光二極管、繼電器、加熱(降溫)裝置組成。
加熱控制電路中PNP發(fā)射極通過發(fā)光二極管、限流電阻支路與加熱繼電器線圈支路并聯(lián)接+5V電源正極,基極通過限流電阻與單片機(jī)P1.2端口相接,集電極接+5V電源的負(fù)極;交流電源、發(fā)熱電阻和加熱繼電器常開觸點(diǎn)相連。降溫控制電路與加熱控制電路基本相同,差別在于基極通過限流電阻與單片機(jī)P1.3端口相接,交流電源、風(fēng)扇和降溫繼電器常開觸點(diǎn)相連接。
當(dāng)測量測量溫度小于最低設(shè)定溫度時(shí),單片機(jī)控制P1.2端口輸出低電壓,三極管發(fā)射極與基極導(dǎo)通,發(fā)射極、集電極放大回路導(dǎo)通,二極管發(fā)光指示正在加熱;加熱繼電器線圈通電,其常開觸點(diǎn)閉合,控制交流電源回路導(dǎo)通,發(fā)熱電阻通電進(jìn)行加熱工作。當(dāng)溫度大于等于最低設(shè)定溫度時(shí),單片機(jī)控制P1.2端口輸出高電壓,三極管發(fā)射極與基極斷開,發(fā)射極、集電極放大回路斷開,加熱二極管停止發(fā)光;加熱繼電器線圈回路斷電,其常開觸點(diǎn)斷開,交流電源回路斷開停止加熱工作。同樣原理,當(dāng)測量測量溫度大于最高設(shè)定溫度時(shí),單片機(jī)控制P1.3端口輸出低電壓,控制降溫回路風(fēng)扇運(yùn)轉(zhuǎn)進(jìn)行降溫工作;溫度小于設(shè)定最高溫度時(shí),P1.3斷開輸出高電壓,控制降溫回路風(fēng)扇停止工作。
顯示部分主要由4位八段碼構(gòu)成的LED構(gòu)成,由單片機(jī)STC89C51的P0口中P0.0~P0.6分別與段碼A~G相連,P0.7與段碼DP相連,同時(shí)接上拉電阻;P2.7、P2.5、P2.3和P2.1分別和位碼S1~S4相連。LED數(shù)碼管使用共陰極接法,采用動態(tài)掃描方法。第1、2和3位分別顯示溫度的十位、個位和小數(shù)位,第4位顯示c(表示攝氏度)。
本控制系統(tǒng)軟件設(shè)計(jì)主要包括數(shù)字溫度傳感器初始化、溫度讀取顯示、溫度設(shè)定和溫度控制等部分,主程序軟件流程圖如圖3所示。
軟件系統(tǒng)首先進(jìn)行系統(tǒng)及溫度傳感器的初始化,單片機(jī)開始通過溫度傳感器讀取測量溫度值并在數(shù)碼管中顯示溫度值,當(dāng)設(shè)定鍵按下時(shí),配合加、減鍵完成最高、最低溫度的設(shè)定;當(dāng)檢測溫度大于溫度上限或小于下限時(shí),蜂鳴器工作進(jìn)行報(bào)警,降溫或加熱指示燈亮同時(shí)啟動降溫或加熱裝置進(jìn)行度溫度控制,一直到檢測溫度到達(dá)設(shè)定范圍為止,整個溫度控制裝置才停止工作。
圖3 軟件流程框圖
溫度測控系統(tǒng)實(shí)物如圖4所示。進(jìn)行系統(tǒng)測試時(shí),首先給系統(tǒng)上電,然后通過控制系統(tǒng)電路板右上角的三個按鍵設(shè)定最高、最低溫度,單片機(jī)能夠讀取DS18B20數(shù)字溫度傳感器檢測到的溫度值并通過LED進(jìn)行顯示。電路板右下角為加熱、降溫繼電器,當(dāng)測量溫度大于最高設(shè)定溫度或小于最低設(shè)定溫度時(shí),控制風(fēng)扇(右上角黑色物體)或加熱電阻工作控制溫度達(dá)到設(shè)定值。
圖4 溫度測控系統(tǒng)實(shí)物圖
文中以STC89C51單片機(jī)為核心、DB18B20為溫度傳感器設(shè)計(jì)了溫度測控系統(tǒng),還包括溫度設(shè)定、溫度報(bào)警和LED顯示電路等,并給出了溫度測控系統(tǒng)軟件流程。通過制作控制系統(tǒng)實(shí)物驗(yàn)證設(shè)計(jì)的正確性,整個系統(tǒng)結(jié)構(gòu)簡單、成本低、操作方便、應(yīng)用范圍廣。