基于AT89C51單片機的溫度自動監(jiān)控系統(tǒng)
引言
化工合成對溫度檢測與控制要求較高,是化工合成工藝的關(guān)鍵環(huán)節(jié)。對化工合成裝置的溫度進行檢測,并按工藝要求,控制最高加熱溫度;在升溫階段,控制合成溫度以每小時15℃的速率上升;加入觸媒以后的溫度采用恒值控制:前期為370℃,中期為380℃,后期為390℃;控制精度為±3℃l最高溫度連續(xù)三次達到400℃時發(fā)出報警信號。顯示檢測溫度值;每半小時打印一次最高溫度值及檢測時間;留有擴充余地,以實現(xiàn)多回路控制。
1 溫度檢測控制系統(tǒng)硬件結(jié)構(gòu)
本系統(tǒng)的硬件電路由溫度檢測、信號放大、A/D轉(zhuǎn)換、AT89C51單片機、功率放大及執(zhí)行電路、打印、顯示及報警電路等部分組成。選用AT89C51單片機作為主控機,采用帶有死區(qū)的PID控制算法,當溫度在給定的死區(qū)范圍內(nèi)時,不予調(diào)節(jié);超出給定范圍時,由單片機按照運算結(jié)果,驅(qū)動步進電機,調(diào)節(jié)加熱裝置,以控制合成溫度。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 溫度檢測控制系統(tǒng)
1.1溫度信號輸入通道
溫度信號輸入通道由溫度傳感器、信號放大、A/D轉(zhuǎn)換等電路組成。
1)溫度傳感器:溫度傳感器采用鉑電阻。這類材料具有性能穩(wěn)定、抗干擾能力強和測量精度高等優(yōu)點。測溫元件R.和電阻元件組成橋式電路,將由于溫度變化所引起的鉑電阻的阻值變化轉(zhuǎn)化成電壓信號送入放大器。由于鉑電阻安裝在測量現(xiàn)場,通過長線接入控制臺,為了減小引線電阻的影響,采用三線式接線法。因而,外界溫度變化對連接導(dǎo)線電阻r的影響在橋式電路中被相互抵消了。
2)信號放大電路:信號放大電路由單芯片集成精密放大器AD522組成。該電路共有14腳,其中IN+和IN-為信號差動輸入端,2、14腳之間外接電阻Rc,用于調(diào)整放大倍數(shù),4、6腳為調(diào)零端,13腳為數(shù)據(jù)屏蔽端,12腳為測量端,11腳為參考端,這兩端間的電位差即為加到后級A/D轉(zhuǎn)換器的輸入信號電壓。使用時,測量端與輸出端(7腳)在外部相連接為放大后的輸出信號。將信號地與放大器的電源地(9腳)相連接,為放大器的偏置電流提供通路。
3)A/D轉(zhuǎn)換電路:采用ICL7109組成A/D轉(zhuǎn)換電路,ICL7109是INTEL公司的產(chǎn)品。ICL7109采用雙積分式工作原理,轉(zhuǎn)換速率不高,但可滿足本系統(tǒng)對采樣速率的要求。因芯片具有較強的抗干擾特性,對于保證系統(tǒng)的檢測與控制精度,是非常有利的。ICL7109的分辨率為12位;轉(zhuǎn)換速率為7.5
圖2 信號檢測放大及A/D轉(zhuǎn)換電路
次/秒(時鐘為3.58MHz);轉(zhuǎn)換后以12位二進制碼輸出。A/D轉(zhuǎn)換器直接與單片機Pl口、P0口相連,轉(zhuǎn)換后的12位數(shù)據(jù)直接由P0口輸入而存入片內(nèi)RAM中。12位數(shù)據(jù)需分兩次讀入,MCS一51的P1.0、P1.1、P1.2分別與A/D轉(zhuǎn)換器的運行/保持輸入端(RUN/HOLD)、字節(jié)使能端(HBEH、HBEL)以及A/D轉(zhuǎn)換器的狀態(tài)輸出端(STATUS)相連接,片選端(c肌0AD)與P2.2相連,在片選和字節(jié)使能信號的控制下可以直接讀取轉(zhuǎn)換后的數(shù)據(jù)。
1.2控制溫度設(shè)定電路
采用AT89C5 1的P1.7~P1.4設(shè)置4個開關(guān)K4-K1分別表示降溫控制開關(guān)、設(shè)置控溫的后期、中期、前期開關(guān)。當KI合上為0時,表示設(shè)置控制溫度為370℃(觸媒使用的前期溫度);K2合上時,設(shè)置控制溫度為380℃(觸媒使用的中期),K3合上時,設(shè)置控制溫度為390℃(觸媒使用的后期);K4合上時,停止加熱,系統(tǒng)進入降溫過程。通過軟件檢測P1.7~P1.4的狀態(tài),發(fā)現(xiàn)某開關(guān)合上,則設(shè)置對應(yīng)的控制溫度,并轉(zhuǎn)入相應(yīng)的工作過程。
1)功率放大及執(zhí)行電路:由于步進電機具有快速啟停、精確步進以及直接接受數(shù)字量的特點等,本系統(tǒng)采用步進電機作為執(zhí)行元件??刂葡到y(tǒng)采用步進電機作為執(zhí)行元件,其作用是將計算機送出的電脈沖信號轉(zhuǎn)換為相應(yīng)的機械位移,它具有以下主要特點:(1)步距值不受各種干擾因素的影響,轉(zhuǎn)子運動的速度主要取決于電脈沖信號的頻率,而轉(zhuǎn)子的總位移量取決于總脈沖的個數(shù);(2)誤差不會長期積累,轉(zhuǎn)子每轉(zhuǎn)動一圈積累誤差為零;(3)反應(yīng)性能好。啟動、停車、反轉(zhuǎn)及其他任何運動方式的改變都在少數(shù)脈沖內(nèi)完成。在一定的頻率范圍內(nèi)運行時,任何運行方式都不會丟失一步。
2)執(zhí)行控制系統(tǒng)的組成:如圖3所示。步進電機的控制系統(tǒng)主要由步進電機控制器、功率放大器及步進電機組成。步進控制器包括環(huán)形脈沖分配器、控制邏輯及正反轉(zhuǎn)控制門組成,其作用是把輸入脈沖信號按一定順序進行分配,再通過功率放大送入步進電機繞組,以驅(qū)動步進電機轉(zhuǎn)動。
圖3 步進電機控制系統(tǒng)方框圖
3)步進電機的工作原理及分配方式:進電機的種類較多,如單相、雙相、三相、四相、五相及六相等多種類型。本設(shè)計采用三相反應(yīng)式步進電機。該電機的步距角為1.5°,最大靜力距為50kg·cm,最高空載啟動頻率為550步/秒。
三相步進電機有A、B、C三個繞組,按一定規(guī)律循環(huán)給三個繞組供電,就能使它按要求的規(guī)律運轉(zhuǎn),其工作原理如圖4所示。圖中的脈沖發(fā)生器按要求產(chǎn)生一定頻率的脈沖信號,通過脈沖分配器產(chǎn)生一定規(guī)律的電脈沖輸出給驅(qū)動器,以驅(qū)動步進電機運轉(zhuǎn)。此部分可由計算機或單片機作為主控機。而脈沖分配器可以使用編程I/O接口。
圖4 三相步進電機工作原理框圖
步進電機脈沖分配方式及通電順序如下:
脈沖分配器每給出一組脈沖,步進電機走一步,轉(zhuǎn)一個角度。單片機通過程序隨時改變脈沖分配方式和輸出脈沖的頻率,因此能靈活、方便地控制步進電機的轉(zhuǎn)速和旋轉(zhuǎn)方向。步進電機的控制部分由單片機和8155并行接口完成,8155的A口PA0~PA2分別作步進電機的三相控制端口。步進電機驅(qū)動電路部分采用光電耦合將單片機系統(tǒng)與步進電機驅(qū)動電路隔離,以增強系統(tǒng)抗干擾能力,并能防止當三極管損壞時電機驅(qū)動電路的高壓對單片機的安全造成的威脅??筛鶕?jù)步進電機的電流選用合適的大功率的三極管VT,以完成功率放大及電機驅(qū)動任務(wù)。二極管VD為保護元件,為斷流時的電機繞組提供低阻搞續(xù)流回路,把集電極電位鉗制在電源電壓,防止過高的反向電壓擊穿三極管。
為了及時記錄合成裝置的溫度和檢測時間,選用微型打印機TPμP一40作為記錄打印裝置。選用AT89C5 1內(nèi)部定時器,每隔半小時啟動TPμP一40打印一次,TPμP-40打印機通過8155與單片機相連。為了能隨機顯示檢測的溫長值,選用一片8155作為LED數(shù)碼管的接口。步進電機、打印驅(qū)動電路如圖5。
圖5 步進電機、打印驅(qū)動電路圖
2 溫度檢測控制系統(tǒng)軟件設(shè)計
2.1系統(tǒng)軟件功能
1)檢測開關(guān)K1、K2、K3、K4的狀態(tài),設(shè)定溫度控制值,并將控制系統(tǒng)轉(zhuǎn)入相應(yīng)的加熱或降溫階段;
2)啟動A/D轉(zhuǎn)換,連續(xù)讀取5次轉(zhuǎn)換結(jié)果,經(jīng)濾波和非線性校正處理之后,作為一次溫度檢測信號,并顯示檢測的溫度值;
3)進行PID運算,按照運算結(jié)果,驅(qū)動步進電機以調(diào)節(jié)溫度;
4)每隔半小時,由定時器產(chǎn)生中斷申請,在中斷服務(wù)程序中啟動打印機,打印記錄溫度值及檢測時;
5)若發(fā)現(xiàn)溫度超限時,發(fā)出報警信號。
2.2溫度檢測與控制主程序
主程序功能:完成系統(tǒng)初始化操作;判斷溫度是否超限,如果超限則轉(zhuǎn)報警處理,如果未超限則讀入K1、K2、K3、K4狀態(tài),并根據(jù)其輸入狀態(tài),散轉(zhuǎn)執(zhí)行相應(yīng)的功能子程序。主程序流程圖如圖6所示。
圖6 主程序流程圖
2.3主要的子程序流程圖
1)PID運算子程序:取出溫度給定值與測量值,計算出偏差信號e(k),將e(k)與設(shè)定的死區(qū)值比較,如果P(足)未超出死區(qū)范圍,則本次輸出調(diào)節(jié)量為0,返回檢測程序;如果e(k)超出死區(qū)范圍,則計算出p(k)=Pp(k)+P1(k)+Pn(k)的調(diào)節(jié)輸出值。
2)步進電機驅(qū)動程序:本系統(tǒng)選用三相步進電機,采用三相六拍工作方式,各繞組供電的步進信號由8155的A口控制,其轉(zhuǎn)動方向及通電順序字見表1。
表1 步進電機轉(zhuǎn)動方向及通電順序字
根據(jù)步進電機的轉(zhuǎn)向與工作時繞組通電順序變化規(guī)律,可以在8155的RAM中設(shè)置步進電機的控制字表,如表1所示,表頭地址為TABO,表尾地址為TAB7。顯然,驅(qū)動信號從TAB0開始控制通電順序,電機為正轉(zhuǎn);若從TAB7開始控制通電順序,則電機為反轉(zhuǎn)。
步進電機的轉(zhuǎn)速由脈沖信號的周期T決定。脈沖信號的周期由CPU通過延時程序或定時器/計數(shù)器的定時時間來確定。系統(tǒng)中的三相繞組由8155的A口控制是,程序中的延時時間為10電機的轉(zhuǎn)速為:n=60/(N×T)轉(zhuǎn)/分
式中N一