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