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