MCS 51單片機的溫度控制系統(tǒng)方案
在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。、采用MCS-51單片機來對溫度進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。本文以它為例進行介紹,希望能收到舉一反三和觸類旁通的效果。
1硬件電路設(shè)計
以熱電偶為檢測元件的單片機溫度控制系統(tǒng)電路原理圖如圖1所示 。
1.1 溫度檢測和變送器
溫度檢測元件和變送器的類型選擇與被控溫度的范圍和精度等級有關(guān)。鎳鉻/鎳鋁熱電偶適用于0℃-1000℃的溫度檢測范圍,相應(yīng)輸出電壓為0mV-41.32mV。
變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的0mV-41.32mV變換成4mA-20mA的電流;電流/電壓變送器用于把毫伏變送器輸出的4mA-20mA電流變換成0-5V的電壓。
為了提高測量精度,變送器可以進行零點遷移。例如:若溫度測量范圍為500℃-1000℃,則熱電偶輸出為20.6mV-41.32mV,毫伏變送器零點遷移后輸出4mA-20mA范圍電流。這樣,采用8位A/D轉(zhuǎn)換器就可使量化溫度達到1.96℃以內(nèi)。
1.2接口電路
接口電路采用MCS-51系列單片機8031,外圍擴展并行接口8155,程序存儲器EPROM2764,模數(shù)轉(zhuǎn)換器ADC0809等芯片。
由圖1可見,在P2.0=0和P2.1=0時,8155選中它內(nèi)部的RAM工作;在P2.0=1和P2.1=0時,8155選中它內(nèi)部的三個I/O端口工作。相應(yīng)的地址分配為:
0000H - 00FFH 8155內(nèi)部RAM
0100H 命令/狀態(tài)口
0101H A 口
0102H B 口
0103H C 口
0104H 定時器低8位口
0105H 定時器高8位口[!--empirenews.page--]8155用作鍵盤/LED顯示器接口電路。圖2中鍵盤有30個按鍵,分成六行(L0-L5)五列(R0-R4),只要某鍵被按下,相應(yīng)的行線和列線才會接通。圖中30個按鍵分三類:一是數(shù)字鍵0-9,共10個;二是功能鍵18個;三是剩余兩個鍵,可定義或設(shè)置成復位鍵等。為了減少硬件開銷,提高系統(tǒng)可靠性和降低成本,采用動態(tài)掃描顯示。A口和所有LED的八段引線相連,各LED的控制端G和8155C口相連,故A口為字形口,C口為字位口,8031可以通過C口控制LED是否點亮,通過A口顯示字符。
2764是8K EPROM型器件。8031的PSEN和2764的OE相連,P2.5和CE相連,所以2764的地址空間為:0000H---1FFFH,ADC0809的0通道(IN0 其他輸入端可作備用)和變送器的輸出端相連,所以從通道0(IN0)上輸入的0V--+5V范圍的模擬電壓經(jīng)A/D轉(zhuǎn)換后可由8031通過程序從P0口輸入到它的內(nèi)部RAM單元,在P2.2=0和WR=0時,8031可使ALE和START變?yōu)楦唠娖蕉鴨覣DC0809工作;在P2.2=0和RD=0時,8031可以從ADC0809接收A/D轉(zhuǎn)換后的數(shù)字量。也就是說ADC0809可以視為8031的一個外部RAM單元,地址為03F8H(地址重復范圍很大),因此,8031執(zhí)行如下程序可以啟動ADC0809工作。
MOV DPTR,#03F8H
MOVX @DPTR,A
若8031執(zhí)行下列程序:
MOV DPTR,#03F8H
MOVX A,@DPTR
則可以從ADC0809輸入A/D轉(zhuǎn)換后的數(shù)字量。
1.3溫度控制電路
8031對溫度的控制是通過雙向可控硅實現(xiàn)的。如圖一所示,雙向可控硅管和加熱絲串接在交流220V、50Hz市電回路。在給定周期T內(nèi),8031只要改變可控硅管的接通時間即可改變加熱絲的功率,以達到調(diào)節(jié)溫度的目的。
可控硅接通時間可以通過可控硅控制極上觸發(fā)脈沖控制。該觸發(fā)脈沖由8031用軟件在P1.3引腳上產(chǎn)生,在過零同步脈沖同步后經(jīng)光電耦合管和驅(qū)動器輸出送到可控硅的控制極上。
3. 溫度控制的算法和程序框圖
3.1溫度控制算法
通常,電阻爐爐溫控制都采用偏差控制法。偏差控制的原理是先求出實測爐溫對所需爐溫的偏差值,然后對偏差值處理獲得控制信號去調(diào)節(jié)電阻爐的加熱功率,以實現(xiàn)對爐溫的控制。在工業(yè)上,偏差控制又稱PID控制,這是工業(yè)控制過程中應(yīng)用最廣泛的一種控制形式,一般都能收到令人滿意的效果 。
3.2溫度控制程序框圖
溫度控制程序的設(shè)計應(yīng)考慮如下:1)鍵盤掃描、鍵碼識別和溫度顯示;2)爐溫采樣、數(shù)字濾波;3)數(shù)據(jù)處理;4)越限報警和處理;5)PID計算、溫度標度轉(zhuǎn)換
3.2.1主程序框圖
主程序包括8031本身的初始化、并行接口8155初始化等等。大體說來,本程序包括設(shè)置有關(guān)標志、暫存單元和顯示緩沖區(qū)清零、T0初始化、CPU開中斷、溫度顯示和鍵盤掃描等程序。
3.2.2中斷服務(wù)程序框圖
T0中斷服務(wù)程序是溫度控制系統(tǒng)的主體程序,用于啟動數(shù)/模轉(zhuǎn)換器、讀入采樣數(shù)據(jù)、數(shù)字濾波、越限溫度報警和越限處理、PID計算和輸出可控硅的觸發(fā)脈沖等。P1.3引腳上輸出的該同步觸發(fā)脈沖寬度由T1計數(shù)器的溢出中斷控制,8031利用等待T1溢出中斷的空閑時間(形成P1.3輸出脈沖頂寬)完成把本次采樣值轉(zhuǎn)換成顯示值而放入顯示單元緩沖區(qū)和調(diào)用溫度顯示程序。8031從T1中斷服務(wù)程序返回后即可恢復現(xiàn)場和返回主程序。[!--empirenews.page--]3.2.3主要子服務(wù)程序
主要服務(wù)子程序包括溫度檢測采樣及數(shù)字濾波子程序、帶符號雙字節(jié)乘法子程序和標度轉(zhuǎn)換子程序目的是把實際采樣取得的二進制值轉(zhuǎn)換成BCD碼形式的溫度值,然后存放到顯示緩沖區(qū)中,供顯示子程序調(diào)用。
對于一般線性儀表來說,標度轉(zhuǎn)換公式為:
Tx=A0 + (Am-A0)
其中,A0為一次測量儀表的下限; Am為一次測量儀表的上限;Vx 為實際測量值(工程量);Vm為儀表上限對應(yīng)的數(shù)字量; V0為儀表下限對應(yīng)的數(shù)字量。
4 其它控制算法
不同的控制對象,所采用的算法有所不同。例如對于熱慣性大、時間滯后明顯、耦合強、難于建立精確數(shù)學模型的大型立式淬火爐,可以采用人工智能模糊控制算法,通過對淬火爐電熱元件通斷比的調(diào)節(jié),實現(xiàn)對爐溫的自動控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的聯(lián)合控制方案,實際應(yīng)用時應(yīng)靈活運用。
5結(jié)束語
本文的溫度控制系統(tǒng),只是單片機廣泛應(yīng)用于各行各業(yè)中的一例,相信讀者會依靠自己的聰明才智,使單片機的應(yīng)用更加廣泛化。