張彥來
摘要:利用單片機(jī)對溫度進(jìn)行實(shí)時監(jiān)測和控制具有非常重要的實(shí)用價值。其結(jié)構(gòu)和實(shí)現(xiàn)較為簡單,應(yīng)用領(lǐng)域廣泛,已經(jīng)成為現(xiàn)代集成工業(yè)控制系統(tǒng)中的一個重要組成部分。通過對單片機(jī)溫度控制系統(tǒng)的設(shè)計可以增強(qiáng)我們的實(shí)際操作能力和應(yīng)對能力。
關(guān)鍵詞:溫度控制系統(tǒng) 單片機(jī) 設(shè)計
在工業(yè)生產(chǎn)中,電流、電壓、溫度等都是常用的被控參數(shù)。比如:在化工生產(chǎn)、機(jī)械制造等領(lǐng)域中,我們都必須對各種加熱爐、反應(yīng)爐的溫度加以檢測與控制。通常情況下,對溫度的檢測和控制可以借助單片機(jī)來實(shí)現(xiàn),這主要是因?yàn)閱纹瑱C(jī)不僅體積較小,而且重量非常輕便,具有很強(qiáng)的抗干擾能力,另外,對環(huán)境沒有很高的要求等優(yōu)點(diǎn)。即便不是電子專業(yè)的人員,經(jīng)過自己不斷的對單片機(jī)理論知識的學(xué)習(xí),再加上一定的實(shí)踐經(jīng)驗(yàn),也能開發(fā)會預(yù)期的單片機(jī)系統(tǒng)。而文章所探討的單片機(jī)的溫度控制系統(tǒng)是工業(yè)生產(chǎn)中應(yīng)用最廣泛的例子,相信廣大學(xué)者憑借自己的聰明才智,將單片機(jī)系統(tǒng)廣泛應(yīng)用到工業(yè)生產(chǎn)中,從而提高工業(yè)生產(chǎn)產(chǎn)品的數(shù)量與質(zhì)量,使單片機(jī)在市場中占有較大的比例,利用最科學(xué)設(shè)計為企業(yè)帶來更大的經(jīng)濟(jì)效益。
1.單片機(jī)溫度控制中的硬件部分
實(shí)現(xiàn)對溫度的控制不僅需要中央處理和控制部件如單片機(jī),還涉及溫度檢測和采集部分、模數(shù)轉(zhuǎn)換部分、信號放大部分、顯示部分等構(gòu)成。其中,非常重要的一部分是溫度測量部分。選用適當(dāng)?shù)臒崦綦娮杩梢跃_感應(yīng)溫度的變化,進(jìn)而實(shí)現(xiàn)溫度的控制。整個系統(tǒng)的設(shè)計思想主要包括如下幾個部分:首先是利用溫度傳感器對溫度進(jìn)行采集,然后通過A/D 轉(zhuǎn)換器將采集到的模擬信號轉(zhuǎn)變?yōu)閿?shù)字電信號傳遞給單片機(jī)部分和顯示部分,如數(shù)碼管等。進(jìn)而單片機(jī)根據(jù)系統(tǒng)要求發(fā)送相應(yīng)的控制信號,通過定時器或者其他控制部件等實(shí)現(xiàn)保溫或者加熱等操作,完成對整個系統(tǒng)的溫度控制的目的。本文以控制一個加熱爐的溫度為例,進(jìn)行具體說明。
主機(jī)部分采用89C52 芯片作為單片機(jī)溫度控制系統(tǒng)的核心。該芯片的選取主要鑒于對溫度控制的要求不是非常高,控制和運(yùn)算處理等879C52 可以滿足實(shí)際要求。溫度檢測部分由溫度傳感器、電傳感器(變送器)、A/D轉(zhuǎn)換器等三個部分構(gòu)成。其中,系統(tǒng)要求不同,所需要采用的溫度傳感器和變送器也不盡相同。這主要是由溫度傳感器中的熱敏電阻所能工作的范圍決定的。由于熱電偶的結(jié)構(gòu)簡單,測量范圍廣,即便是在較高溫度中也可以實(shí)現(xiàn)較為精確的測量,因此電傳感器部分可以選擇采用熱電偶。利用熱電偶將測量溫度信號轉(zhuǎn)變?yōu)殡娦盘?,?jīng)過放大濾波等處理后進(jìn)行A/D 轉(zhuǎn)換,送入單片機(jī)進(jìn)行分析和處理。溫度控制部分,本文使用可控硅調(diào)功器實(shí)現(xiàn)對電爐的溫度控制。采用這種控制方式的優(yōu)勢在于可以將雙向可控硅和電爐的加熱電阻絲直接與220V 交流市電進(jìn)行串接,增強(qiáng)了系統(tǒng)的適應(yīng)性。通過軟件編程,控制單片機(jī)的某一輸出端口將控制幀經(jīng)過光耦合和驅(qū)動電路輸送到可控硅的控制端,這樣可以提高系統(tǒng)的穩(wěn)定度,減少干擾。通過控制幀的變化可以控制可控硅的狀態(tài),進(jìn)而實(shí)現(xiàn)對電爐通電加熱或斷電等待的控制。為便于管理,本系統(tǒng)還設(shè)計了人機(jī)對話部分。該部分主要由輸入鍵盤,LED顯示、超范圍報警燈三部分組成。其中,鍵盤主要用來對單片機(jī)輸入溫度控制信號,控制溫度控制系統(tǒng)所需要維持的溫度,或者對系統(tǒng)溫度進(jìn)行調(diào)整。LED顯示部分與單片機(jī)進(jìn)行連接,接收單片機(jī)輸出的當(dāng)前溫度信號并進(jìn)行顯示,便于操作人員對溫度控制系統(tǒng)進(jìn)行操作和修正。報警部分可以對單片機(jī)連接一個簡單的蜂鳴器。當(dāng)系統(tǒng)溫度高于或者低于限定溫度時,單片機(jī)輸出警報信號,蜂鳴器進(jìn)行報警。為滿足系統(tǒng)要求,還需要對系統(tǒng)添加實(shí)時時鐘電路和看門狗電路。實(shí)時時鐘電路可以用來進(jìn)行采樣周期、PLD控制算法等的控制??撮T狗電路用來提高系統(tǒng)的可靠性和穩(wěn)定性。
2.單片機(jī)溫度控制中的軟件部分
2.1 系統(tǒng)上電后工作流程
系統(tǒng)上電后首先等待單片機(jī)響應(yīng),單片機(jī)響應(yīng)由鍵盤啟動鍵控制。此時,可以先由鍵盤進(jìn)行預(yù)定溫度設(shè)置,設(shè)置完畢后,啟動系統(tǒng),然后單片機(jī)根據(jù)預(yù)定工作方式對當(dāng)前系統(tǒng)實(shí)時采集的溫度進(jìn)行檢測并與預(yù)設(shè)溫度進(jìn)行對比,根據(jù)對比結(jié)果控制電爐是否進(jìn)行加熱。若采集溫度值低于最小預(yù)設(shè)值則啟動加熱,若采集溫度值達(dá)到預(yù)設(shè)最高溫度則停止加熱。同時,LED對系統(tǒng)采集溫度進(jìn)行實(shí)時顯示。通過上述過程可以實(shí)現(xiàn)對溫度的自動控制。若需要改變控制溫度范圍可以通過鍵盤調(diào)用單片機(jī)中斷服務(wù)程序,重新輸入預(yù)設(shè)溫度,改變系統(tǒng)工作狀態(tài)。
2.2 資源分配
根據(jù)系統(tǒng)設(shè)計思想,對單片機(jī)進(jìn)行地址分配如下:地址位50H~51H 用來存儲當(dāng)前的檢測溫度,高位在前;地址位52H~53H 用來存儲預(yù)設(shè)溫度,高位在前;54H~56H為采用BCD碼存儲的溫度顯示緩沖區(qū),分別表示百十個位;59H~7FH為堆棧區(qū);報警標(biāo)志位為PSW.5位,F(xiàn)0為0時表示禁止報警,F(xiàn)0 為1 時表示允許報警。系統(tǒng)初始化時上述地址中的內(nèi)容均為0。單片機(jī)的接口分配如下:I/O 口的P1.0~P1.3 為鍵盤輸入端口;P1.6~P1.7為報警和電爐控制端口。若系統(tǒng)溫度不是非常高,A/D 轉(zhuǎn)換器使用ADC0809即可滿足要求。
2.3 軟件設(shè)計
主程序的功能實(shí)現(xiàn)主要通過中斷的方式實(shí)現(xiàn),各中斷中為相應(yīng)的功能模塊。系統(tǒng)完成初始化后,進(jìn)行溫度預(yù)設(shè)和定時器0的設(shè)置。定時器0主要用于產(chǎn)生中斷。根據(jù)系統(tǒng)需求,可以設(shè)定中斷方式和中斷間隔,本系統(tǒng)設(shè)定中斷時間為5秒。本系統(tǒng)使用的晶振頻率為6MHz,最大定時是130ms,因此,需要通過編程計數(shù),實(shí)現(xiàn)5秒的定時采樣
3.結(jié)論
本文所設(shè)計的單片機(jī)的溫度控制系統(tǒng)經(jīng)調(diào)試運(yùn)行良好, 電路簡單、性能可靠,且性價比很高, 因此具有一定的應(yīng)用價值。