成晉軍,張曉娟
(山西大學(xué)商務(wù)學(xué)院,山西 太原 030006)
溫度不論對于工業(yè)設(shè)計生產(chǎn)還是日常的家居使用來說都是特別重要的控制參數(shù),那么溫度控制自然就成了研究的熱點問題,溫度控制的精度以及靈活性是其中的重難點。當前的溫度控制系統(tǒng)多采用熱電偶、熱敏電阻等一些硬件通過相應(yīng)的信號處理電路[1],將溫度信號通過數(shù)模轉(zhuǎn)換送到核心的處理器中,完成對整個溫度變化的實時監(jiān)控。但是這種方案的信號處理電路實現(xiàn)較為復(fù)雜并且容易受到外界干擾,穩(wěn)定性不強難以達到工業(yè)要求。本設(shè)計采用DS18B20溫度傳感器作為溫度信號的采集器,以數(shù)字傳感器和單片機為主體完成對整個溫度的監(jiān)控,再配以相應(yīng)的繼電電路完成對整個溫度系統(tǒng)的控制。這種方案實現(xiàn)簡便,精度高,穩(wěn)定性好,可以達到工業(yè)要求標準。隨著科技走進生活,熱水器、電烤箱、微波爐等電器對智能化要求越來越高,使用單片機為核心完成對溫度的檢測與控制有著性價比高、穩(wěn)定性強等優(yōu)點。
本設(shè)計采用AT89C51單片機系統(tǒng)輔以外圍電路為控制核心,以DS18B20溫度傳感器為溫度感應(yīng)裝置,繼電器和金屬加熱棒構(gòu)成了溫度調(diào)控裝置,電源提供電能,按鍵部分方便用戶隨時設(shè)定想要達到的溫度,LED數(shù)碼管提供顯示功能。DS18B20溫度傳感器把感受到的溫度數(shù)字信息傳到以單片機為核心的微處理器中,同時單片機發(fā)出指令到數(shù)碼管控制數(shù)碼管輸出。數(shù)碼管顯示出杯內(nèi)的實時水溫。當杯內(nèi)的水溫小于用戶設(shè)置的目標溫度時,單片機就會發(fā)出指令到繼電器控制電路。繼電器控制電路對杯內(nèi)水進行加熱,一直加熱到目標設(shè)置的溫度為止。同理,當水溫高于目標溫度時,單片機發(fā)出指令到繼電控制電路進行降溫,一直降溫到目標溫度時停止降溫。如此周而復(fù)始,達到了智能溫控水杯的溫度的控制。用戶可以通過按鍵對水杯內(nèi)的水溫進行設(shè)置[2]。LED數(shù)碼管上的最小顯示精度達到0.1度。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
本設(shè)計所用的單片機電源用三節(jié)1.5 V干電池即可提供。連接方式為單片機中的VCC管腳接5 V的正電壓[3],而VS管腳S接電源地端。本設(shè)計主要有溫度檢測電路,驅(qū)動電路,顯示電路,繼電器加熱以及降溫電路。主控制系統(tǒng)電路如圖2所示。
圖2 主控制系統(tǒng)電路
智能溫控水杯采用的是四位數(shù)碼管顯示,當數(shù)碼管顯示溫度時,用相應(yīng)的段碼打開顯示溫度信息,溫度變換則相應(yīng)的段碼關(guān)閉,其他段碼打開,不同的段碼之間切換不超過20 ms,按照人類的視覺特點,在觀察者眼中會呈現(xiàn)所有數(shù)碼管都打開的視覺畫面。顯示電路如圖3所示。
圖3 顯示電路
驅(qū)動電路的作用是在于對控制電路中的一些信號實現(xiàn)放大,即為放大控制電路中的信號,讓它們能夠驅(qū)動功率晶體管的中間電路,保障系統(tǒng)能夠正常工作。
溫度采集指的是感受與測量熱電偶、熱電阻和溫度變送器輸出的各種信號,再將這些采集到的溫度數(shù)據(jù)傳送到單片機來進行進一步的分析與處理。
溫度控制電路是以PNP型三極管驅(qū)動的,這里以加熱電路為例,闡述一下它的工作原理,當單片機的第二個端口輸出低電平時,繼電器線圈閉合導(dǎo)通,電路即接通,金屬加熱棒開始工作并對水溫進行加熱,控制電路中的發(fā)光二極管接通,紅燈亮起則表示水杯正在處于加熱的狀態(tài)。反之,當?shù)诙€端口輸出低電平時,電路即斷電,金屬加熱棒停止工作停止對水溫進行加熱,發(fā)光二極管斷電,紅燈熄滅。繼電器加熱控制電路圖如圖4所示。
圖4 繼電器加熱控制電路
本設(shè)計的主程序主要包括了三個子程序,分別是:按鍵輸入子程序、溫度顯示子程序和溫度調(diào)控子程序。按鍵輸入程序的作用主要是用戶通過鍵盤輸入設(shè)定用戶理想中溫度的最高值以及最低值,溫度顯示程序的作用主要是單片機控制數(shù)碼管顯示出實時水溫,溫度調(diào)控程序的作用主要是單片機控制繼電器電路進行加熱或降溫工作來控制杯內(nèi)的水溫[4]。
主程序的作用就是對系統(tǒng)進行初始化設(shè)置,對系統(tǒng)程序整體框架的建立,主要包含有單片機初始化及檢測水溫電路的初始化。主程序是處理DS18B20傳來的溫度信息并控制數(shù)碼管使這些信息實時顯示出來,溫度測量間隔為1 s,這樣數(shù)碼管上的溫度信息每隔1 s就會自動地更新一次。其程序流程如圖5所示。
圖5 系統(tǒng)程序流程圖
本設(shè)計的主題是智能溫控水杯的設(shè)計與實現(xiàn),采用AT89C51單片機作為控制核心完成對水杯內(nèi)溫度的監(jiān)控與控制,DS18B20溫度傳感器作為采集杯內(nèi)的水溫信息的裝置,繼電器電路作為直接調(diào)控水杯內(nèi)水溫的裝置,最后用串行LED數(shù)碼管把杯內(nèi)的水溫信息表示出來。用戶通過按鍵設(shè)定一個期望的初始溫度,溫度傳感器采集到杯內(nèi)的水溫信息傳送至單片機,單片機通過控制繼電器電路對杯內(nèi)水溫進行適當調(diào)節(jié),當水溫低于設(shè)定的溫度時,加熱三極管導(dǎo)通,熱得快開始工作對杯內(nèi)的水進行加熱。DS18B20再把檢測到的水溫信息傳到單片機,當達到用戶設(shè)定的溫度時,單片機控制金屬加熱棒停止加熱工作,以此來達到恒溫控制的目的。本設(shè)計功能十分實用,結(jié)構(gòu)及其穩(wěn)定,操作簡單方便,調(diào)試容易,經(jīng)過實驗的調(diào)試,結(jié)果相當成功。