基于單片機的溫度測控系統(tǒng)
摘要:本次設(shè)計的溫度測控系統(tǒng)采用MCS-51系列單片機中的STC89C58作為微處理器,使用集成溫度傳感器AD-590采集溫度信息,光電耦合雙向晶閘管為驅(qū)動電路,可精確地采集環(huán)境溫度信息,穩(wěn)定性高,抗干擾性強。接受信息后處理器可快速地作出反應(yīng),導(dǎo)通驅(qū)動電路,實現(xiàn)溫度調(diào)節(jié)。本文從硬件和軟件兩方面介紹了MCS-51單片機溫度控制系統(tǒng)的設(shè)計思路,對硬件原理圖和程序框圖作了簡捷的描述。
本文引用地址:http://www.ex-cimer.com/article/201610/307605.htm關(guān)鍵詞:MCS-51單片機;溫度檢測;溫度控制;溫度傳感器
溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術(shù)和微型計算機的迅速發(fā)展,微機測量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。單片機具有處理能力強、運行速度快、功耗低等優(yōu)點,應(yīng)用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。本設(shè)計使用單片機作為核心進行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途。
1 系統(tǒng)結(jié)構(gòu)及工作原理
根據(jù)應(yīng)用系統(tǒng)的要求及軟硬件功能的劃分,初步確定應(yīng)用系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
利用溫度傳感器AD590可以直接瀆取被測溫度值,進行轉(zhuǎn)換的特性,模擬溫度值經(jīng)過ADC0809處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機中進行數(shù)據(jù)處理,并與設(shè)置的溫度報警限比較,超過限度后通過揚聲器報警。同時處理后的數(shù)據(jù)送到LCD中顯示。
1.1 系統(tǒng)硬件設(shè)計
1.1.1 微處理器選擇和主機系統(tǒng)設(shè)計
由于本設(shè)計對控制精度要求不高,控制功能一般,故選擇常用的MSC-51系列單片機中的STC89C58作為微處理器。片外程序存儲器選用2732,容量為4 k×8位。因采集和處理的數(shù)據(jù)不多且不需要保留,估計數(shù)據(jù)存儲器使用片內(nèi)的即能滿足要求。其中,硬件元器件STC89C58有40條引腳,有兩條專門用于電源的引腳,兩條外接晶振的引腳,四條控制或與其他電源復(fù)用的引腳,32條L/O引腳。
1.1.2 輸入通道設(shè)計
輸入通道只有一個,包括溫度傳感器、放大器和A/D轉(zhuǎn)換器三部分。本次設(shè)計的溫度檢測范圍屬于低溫,適用于低溫的檢測元件有熱電偶、熱敏電阻、集成溫度傳感器等。
1)這里采用集成溫度傳感器AD590。這種傳感器是一個雙端元件,其工作溫度范圍為-55℃~+150℃,要求工作電源為直流+4 V~+30 V。它能把溫度信號變?yōu)榕c絕對溫度成比例的電流信號,比例因子為1 μA/K。其穩(wěn)定性高,線形度好,測溫誤差有±1、±0.5、±0.3幾種等級。
AD590本身產(chǎn)生的電流信號,通過運算放大器TD07對電流做加法運算。在運放輸出端可得到合適的電壓信號,作為A/D轉(zhuǎn)換的輸入。電阻RP1、RP2的選擇原則是使運放輸出電壓為0;當(dāng)溫度為60℃時,調(diào)節(jié)RP2使運放輸出電壓為4.69 V。如果0℃不能實現(xiàn),也可以在另外一個溫度點上(如室溫)來調(diào)整。0 V和4.69 V經(jīng)A/D轉(zhuǎn)換后的數(shù)字量為00H和F0H(240),這樣對應(yīng)1℃的數(shù)字量為04H,便于進行溫度的標(biāo)度變換。
AD590是電流型溫度傳感器,通過對電流的測量可得到所需要的溫度值。根據(jù)特性分擋,AD590的后綴以I,J,K,L,M表示。AD590L,AD 590M一般用于精密溫度測量電路,它采用金屬殼3腳封裝,其中1腳為電源正端V+;2腳為電流輸出端IO;3腳為管殼,一般不用。
AD590的工作原理是在被測溫度一定時,AD590相當(dāng)于一個恒流源,把它和5~30 V的直流電源相連,并在輸出端串接一個1 kΩ的恒值電阻,那么,此電阻上流過的電流將和被測溫度成正比,此時電阻兩端將會有1 mV/K的電壓信號。
2)本系統(tǒng)的運算放大器采用TD07。TD07高精度運算放大器具有極低的輸入失調(diào)電壓,極低的失調(diào)電壓溫漂,非常低的輸入噪聲電壓幅度及長期穩(wěn)定等特點??蓮V泛應(yīng)用于穩(wěn)定積分、精密絕對值電路、比較器及微弱信號的精確放大,尤其適應(yīng)于宇航、軍工及要求微型化、高可靠的精密儀器儀表中。
3)本系統(tǒng)的AD轉(zhuǎn)換芯片采用ADC0809。ADC0808是精度為8位的CMOS器件,不僅包括一個8位的逐次逼近型的ADC部分,而且還提供一個8通道的模擬多路開關(guān)和通道尋址邏輯,因而有理由把它作為簡單的“數(shù)據(jù)采集系統(tǒng)”。利用它可直接輸入8個單端的模擬信號分時進行A/D轉(zhuǎn)換。
1.1.3 輸出通道設(shè)計
輸出通道有3條,分別控制3臺電爐通電和斷電。這是3條具有相同結(jié)構(gòu)的開關(guān)量輸出通道,擬采用前面介紹的光電耦合雙向晶閘管驅(qū)動電路。
2 系統(tǒng)軟件設(shè)計
2.1 軟件總體設(shè)計
應(yīng)用程序結(jié)構(gòu)采用中斷方式,由定時器發(fā)出定時中斷申請。主程序進行系統(tǒng)初始化,包括定時器、I/O口和中斷系統(tǒng)的初始化,等待定時中斷。在中斷服務(wù)程序中,先判斷是否到30 s。若不到30s,則返回;若到30s,進行以下操作:撥盤設(shè)定值檢測、溫度檢測、標(biāo)度變換、溫度顯示和溫度控制,并根據(jù)溫度檢測值決定是否報警。
在應(yīng)用程序總體結(jié)構(gòu)中,將以下6個功能程序作為模塊程序:溫度設(shè)定輸入、溫度檢測、溫度值標(biāo)度變換、溫度顯示、溫度控制和報警程序模塊。
2.2 程序模塊設(shè)計
下面說明溫度檢測和溫度控制這兩個模塊的程序設(shè)計。
1)溫度檢測程序模塊。溫度檢測程序的功能是連續(xù)進行4次A/D轉(zhuǎn)換,求取轉(zhuǎn)換結(jié)果的平均值,存入內(nèi)部50 H單元,A/D轉(zhuǎn)換采用查詢方式。
2)溫度控制程序模塊。溫度控制程序的功能是將溫度實測值(存于50H)與設(shè)定值(存于51H)作比較,如測值高于設(shè)定值1℃(注意,此值小于要求誤差2℃,對應(yīng)的數(shù)字量為04H),則關(guān)閉1臺電爐;如實測值低于設(shè)定值,則接通一臺電爐;否則不與調(diào)節(jié)。3臺電爐接通的順序是3#、2#、1#,這樣可以保持電爐的通斷具有相對穩(wěn)定性。
3)主程序和中斷服務(wù)程序設(shè)計。在定時中斷服務(wù)程序中,各功能程序都已模塊化,可直接調(diào)用。
先說明30 s定時的實現(xiàn)方法。當(dāng)振蕩頻率為6 MHz時,STC89C58內(nèi)部定時器的最大定時值為131 ms。要實現(xiàn)30 s定時,需要另外設(shè)置一軟件計數(shù)器?,F(xiàn)使定時器T0工作于方式1,定時時間為130 ms,則其時間常數(shù)為:
N=216-130*10-3*6*106/12=536=0218H
軟件計數(shù)器的初值=30、0.13≈E7H
主程序清單:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT//轉(zhuǎn)定時中斷服務(wù)程序
ORC 0030H
評論