電熱鍋爐溫度控制器的設(shè)計(jì) 作者:李愛(ài)民(女) 楊順普 【摘要】 本文介紹了以AT89S51單片機(jī)為核心的溫度控制器的設(shè)計(jì),在該設(shè)計(jì)中采用高精度的溫度傳感器AD590對(duì)電熱鍋爐的溫度進(jìn)行實(shí)時(shí)精確測(cè)量,用超低溫漂移高精度運(yùn)算放大器OP07將溫度-電壓信號(hào)進(jìn)行放大,再送入12位的AD574A進(jìn)行A\D轉(zhuǎn)換,從而實(shí)現(xiàn)自動(dòng)檢測(cè),實(shí)時(shí)顯示及越限報(bào)警。控制部分采用PID算法,實(shí)時(shí)更新PWM控制輸出參數(shù),控制可控硅的通斷時(shí)間,最終實(shí)現(xiàn)對(duì)爐溫的高精度控制。 【關(guān)鍵詞】 水溫控制系統(tǒng) PID控制單片機(jī) 溫度控制是工業(yè)生產(chǎn)過(guò)程中經(jīng)常遇到的過(guò)程控制,有些工藝過(guò)程對(duì)其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是非常有價(jià)值的。 一 系統(tǒng)設(shè)計(jì)方案的論證與比較 根據(jù)題目要求,電熱鍋爐溫度控制系統(tǒng)由核心處理模塊、溫度采集模塊、鍵盤顯示模塊、及控制執(zhí)行模塊等組成。 方案一 采用8031作為控制核心,以使用最為普遍的器件ADC0809作模數(shù)轉(zhuǎn)換,控制上使用對(duì)電阻絲加電使其升溫和開(kāi)動(dòng)風(fēng)扇使其降溫。此方案簡(jiǎn)易可行,器件的價(jià)格便宜,但8031內(nèi)部沒(méi)有程序存儲(chǔ)器,需要擴(kuò)展,增加了電路的復(fù)雜性,且ADC0809是8位的模數(shù)轉(zhuǎn)換,不能滿足本題目的精度要求。 方案二 采用比較流行的AT89S51作為電路的控制核心,使用12位的高精度模數(shù)轉(zhuǎn)換器AD574A進(jìn)行數(shù)據(jù)轉(zhuǎn)換,控制電路部分采用PWM控制可控硅的通斷以實(shí)行對(duì)鍋爐溫度的連續(xù)控制,此方案電路簡(jiǎn)單并且可以滿足題目中的各項(xiàng)要求的精度。 綜上分析,我們采用方案二。系統(tǒng)設(shè)計(jì)總體框圖如下。

圖1 控制器設(shè)計(jì)總體框圖 根據(jù)溫度變化慢,并且控制精度不易掌握的特點(diǎn),我們?cè)O(shè)計(jì)了以AT89S51單片機(jī)為檢測(cè)控制中心的電熱鍋爐溫度自動(dòng)控制系統(tǒng)。溫度控制采用改進(jìn)的PID數(shù)字控制算法,顯示采用3位LED靜態(tài)顯示。該設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,控制算法新穎,控制精度高,有較強(qiáng)的通用性。所設(shè)計(jì)的控制系統(tǒng)有以下功能: · 溫度控制設(shè)定波動(dòng)范圍小于±1%,測(cè)量精度小于±1%,控制精度小于±2%,超調(diào)整量小于±4%; · 實(shí)現(xiàn)控制可以升溫也可以降溫; · 實(shí)時(shí)顯示當(dāng)前溫度值; · 按鍵控制:設(shè)置復(fù)位鍵、運(yùn)行鍵、功能轉(zhuǎn)換鍵、加一鍵、減一鍵; · 越限報(bào)警。 二 硬件電路設(shè)計(jì) 硬件電路主要有兩大部分組成:模擬部分和數(shù)字部分:從功能模塊上來(lái)分有:主機(jī)電路、數(shù)據(jù)采集電路、鍵盤顯示電路、控制執(zhí)行電路。 1 主機(jī)電路的設(shè)計(jì) 主機(jī)選用ATMEL公司的51系列單片機(jī)AT89S51來(lái)實(shí)現(xiàn),利用單片機(jī)軟件編程靈活、自由度大的特點(diǎn),力求用軟件完善各種控制算法和邏輯控制。本系統(tǒng)選用的AT89S51芯片時(shí)鐘可達(dá)12MHz,運(yùn)算速度快,控制功能完善。其內(nèi)部具有128字節(jié)RAM,而且內(nèi)部含有4KB的flash ROM 不需要外擴(kuò)展存儲(chǔ)器,可使系統(tǒng)整體結(jié)構(gòu)更為簡(jiǎn)單、實(shí)用。 2 I/0通道的硬件電路的設(shè)計(jì) 就本系統(tǒng)來(lái)說(shuō),需要實(shí)時(shí)采集水溫?cái)?shù)據(jù),然后經(jīng)過(guò)A/D轉(zhuǎn)換為數(shù)字信號(hào),送入單片機(jī)中的特定單元,然后一部分送去顯示;另一部分與設(shè)定值進(jìn)行比較,通過(guò)PID算法得到控制量并經(jīng)由單片機(jī)輸出去控制電熱鍋爐加熱或降溫。 2.1 數(shù)據(jù)采集電路的設(shè)計(jì) 數(shù)據(jù)采集電路主要由AD590, 0P07,74LS373,AD574A等組成。由于控制精度要求為0.1 度,而考慮到測(cè)量干擾和數(shù)據(jù)處理誤差,則溫度傳感器和AD 轉(zhuǎn)化器的精度應(yīng)更高才能保證控制精度的實(shí)現(xiàn),這個(gè)精度可處粗略定為0.1 度。故溫度傳感器需要能夠區(qū)分0.1 度;而對(duì)于AD 轉(zhuǎn)換器,由于測(cè)量范圍為40-90 度,以0.1 度作為響應(yīng)的AD 區(qū)分度要求,則AD 需要區(qū)分(90-40)/0.1=500 個(gè)數(shù)字量,顯然需要10 位以上的AD 轉(zhuǎn)換器。為此,選用高精度的12位AD574A。 為了達(dá)到測(cè)量高精度的要求,選用溫度傳感器AD590,AD590具有較高精度和重復(fù)性(重復(fù)性優(yōu)于0.1℃,其良好的非線形可以保證優(yōu)于0.1℃ 的測(cè)量精度,利用其重復(fù)性較好的特點(diǎn),通過(guò)非線形補(bǔ)償,可以達(dá)到0.1℃測(cè)量精度.)超低溫漂移高精度運(yùn)算放大器0P07將溫度一電壓信號(hào)進(jìn)行放大,便于A/D進(jìn)行轉(zhuǎn)換,以提高溫度采集電路的可靠性。模擬電路硬件部分見(jiàn)圖2。  圖2 溫度電壓轉(zhuǎn)換電路 2.2 電控制執(zhí)行電路的設(shè)計(jì) 由輸出來(lái)控制電爐,電爐可以近似建立為具有滯后性質(zhì)的一階慣性環(huán)節(jié)數(shù)學(xué)模型。其傳遞函數(shù)形式為:

可控硅可以認(rèn)為是線形環(huán)節(jié)實(shí)現(xiàn)對(duì)水溫的控制。單片機(jī)輸出與電爐功率分別屬于弱電與強(qiáng)電部分,需要進(jìn)行隔離處理,這里采用光耦元件TLP521 在控制部分進(jìn)行光電隔離,此外采用變壓器隔離實(shí)現(xiàn)弱強(qiáng)電的電源隔離。 單片機(jī)PWM 輸出電平為0 時(shí),光耦元件導(dǎo)通,從而使三極管形成有效偏置而導(dǎo)通,通過(guò)整流橋的電壓經(jīng)過(guò)集電極電阻以及射集反向偏壓,有7V 左右的電壓加在雙向可控硅控制端,從而使可控硅導(dǎo)通,交流通路形成,電阻爐工作;反之單片機(jī)輸出電平為0 時(shí),光耦元件不能導(dǎo)通,三極管不能形成有效偏置而截止,可控硅控制端電壓幾乎為零,可控硅截止從而截?cái)嘟涣魍?電爐停止工作。此外,還有越限報(bào)警,當(dāng)溫度低于下限時(shí)發(fā)光二極管亮;高上限時(shí)蜂鳴器叫。控制執(zhí)行部分的硬件電路如下圖。 圖3 控制執(zhí)行部分電路 3 鍵盤及顯示的設(shè)計(jì) 鍵盤采用軟件查詢和外部中斷相結(jié)合的方法來(lái)設(shè)計(jì),低電平有效。圖3 中按鍵AN1,AN2,AN3,AN4, AN5的功能定義如表1所示。 按鍵AN3與P3.2相連,采用外部中斷方式,并且優(yōu)先級(jí)定為最高;按鍵AN5和AN4分別與P1.7和P1.6相連,采用軟件查詢的方式;AN1則為硬件復(fù)位鍵,與R、C構(gòu)成復(fù)位電路。 表1 按鍵功能 按鍵 | 鍵名 | 功能 | AN1 | 復(fù)位鍵 | 使系統(tǒng)復(fù)位 | AN2 | 運(yùn)行鍵 | 使系統(tǒng)開(kāi)始數(shù)據(jù)采集 | AN3 | 功能轉(zhuǎn)換鍵 | 按鍵按下(D1亮)時(shí),顯示溫度設(shè)定值;按鍵升起(D1不亮)時(shí),顯示前溫度值 | AN4 | 加一鍵 | 設(shè)定溫度漸次加一 | AN5 | 減一鍵 | 設(shè)定溫度漸次減一 |
顯示采用3位共陽(yáng)LED靜態(tài)顯示方式,顯示內(nèi)容有溫度值的十位、個(gè)位及小數(shù)點(diǎn)后一位,這樣可以只用P3.0(RXD)口來(lái)輸出顯示數(shù)據(jù),從而節(jié)省了單片機(jī)端口資源,在P1.4 口和P3.1(TXD)的控制下通過(guò)74LS164來(lái)實(shí)現(xiàn)3位靜態(tài)顯示。數(shù)字電路硬件部分見(jiàn)圖4.  圖4 數(shù)字硬件電路示意圖 三 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件由三大模塊組成:主程序模塊、功能實(shí)現(xiàn)模塊和運(yùn)算控制模塊。 1 主程序模塊 在主程序中首先給定PID算法的參數(shù)值,然后通過(guò)循環(huán)顯示當(dāng)前溫度,并且設(shè)定鍵盤外部中斷為最高優(yōu)先級(jí),以便能實(shí)時(shí)響應(yīng)鍵盤處理;軟件設(shè)定定時(shí)器T0為5秒定時(shí),在無(wú)鍵盤響應(yīng)時(shí)每隔5秒響應(yīng)一次,以用來(lái)采集經(jīng)過(guò)A/D轉(zhuǎn)換的溫度信號(hào);設(shè)定定時(shí)器T1為嵌套在T0之中的定時(shí)中斷,初值由PID算法子程序提供。在主程序中必須分配好每一部分子程序的起始地址,形式如下: ORG 0000H AJMP MAIN ORG 0003H AJMP INTO ORG 000BH AJMP TT0 ORG 001BH AJMP TT1 主程序流程圖見(jiàn)圖5。 
圖5 主程序流程圖 圖6 鍵盤及中斷程序圖 2 功能實(shí)現(xiàn)模塊 以用來(lái)執(zhí)行對(duì)可控硅及電爐的控制。功能實(shí)現(xiàn)模塊主要由A/D轉(zhuǎn)換子程序、中斷處理子程序、鍵盤處理子程序、顯示子程序等部分組成。 2.1 T0中斷子程序 該中斷是單片機(jī)內(nèi)部5s定時(shí)中斷,優(yōu)先級(jí)設(shè)為最低,但卻是最重要的子程序。在該中斷響應(yīng)中,單片機(jī)要完成A/D數(shù)據(jù)采集轉(zhuǎn)換、數(shù)字濾波、判斷是否越限、標(biāo)度轉(zhuǎn)換處理、繼續(xù)顯示當(dāng)前溫度、與設(shè)定值進(jìn)行比較,調(diào)用PID算法子程序并輸出控制信號(hào)等功能。 |