基于AT89C51溫度智能控制系統(tǒng)的軟件設(shè)計(jì)
摘要 以溫度控制系統(tǒng)為例研究嵌入式系統(tǒng),實(shí)現(xiàn)了對(duì)工業(yè)現(xiàn)場(chǎng)的溫度實(shí)時(shí)監(jiān)測(cè)和控制。以AT89C51單片機(jī)為控制核心,采用典型大慣性環(huán)節(jié)的PID閉環(huán)控制裝置,可自動(dòng)控制惡劣環(huán)境下的溫度,使被控對(duì)象溫度保持在恒定范圍內(nèi)。該系統(tǒng)通用性強(qiáng),可廣泛應(yīng)用予工業(yè)過(guò)程控制中。
關(guān)鍵詞 單片機(jī);PID;工業(yè)控制;溫度
超大規(guī)模集成電路技術(shù)的發(fā)展促進(jìn)了單片機(jī)的誕生,單片機(jī)具有功能強(qiáng)、性?xún)r(jià)比高、可靠性高、功耗低、體積小等特點(diǎn)。單片機(jī)技術(shù)的出現(xiàn)既提高了產(chǎn)品質(zhì)量,又豐富了產(chǎn)品功能,同時(shí)還簡(jiǎn)化了控制系統(tǒng)的設(shè)計(jì)。單片機(jī)主要應(yīng)用在電力、化工、石油、冶金、航空航天、機(jī)械制造等生產(chǎn)實(shí)踐中,用來(lái)實(shí)現(xiàn)信號(hào)檢測(cè)、數(shù)據(jù)采集以及對(duì)應(yīng)用對(duì)象的控制。
隨著國(guó)民經(jīng)濟(jì)的發(fā)展,需要對(duì)工業(yè)現(xiàn)場(chǎng)中的溫度進(jìn)行監(jiān)測(cè)和控制。溫度是表征對(duì)象和工程狀態(tài)的重要參數(shù)之一。研究和設(shè)計(jì)高性能的溫度控制系統(tǒng)具有重要意義。所以本設(shè)計(jì)選用溫度作為被控量進(jìn)行研究。溫度控制系統(tǒng)一般具有非線性、時(shí)滯以及不確定性,為了能實(shí)現(xiàn)較高的控制精度,采用PID閉環(huán)算法進(jìn)行控制。智能溫度控制系統(tǒng)滿足產(chǎn)品對(duì)成本低、性能穩(wěn)定、可遠(yuǎn)程監(jiān)控制現(xiàn)場(chǎng)溫度的要求。
1 系統(tǒng)方案設(shè)計(jì)
本系統(tǒng)采用AT89C51作為溫度控制系統(tǒng)主控單元。AT89C51是一種帶4 kB閃存可編程可擦除只讀存儲(chǔ)器的低電壓、高性能CMOS的8位微處理器。指令系統(tǒng)和引腳與典型的MCS-51系列完全兼容,方便軟件的編寫(xiě)。系統(tǒng)整體電路包括:主控電路、A/D數(shù)據(jù)采集、信號(hào)調(diào)理、LED顯示、控制輸出、控制對(duì)象、雙向可控硅模塊、設(shè)定輸入等電路,如圖1所示。
(1)主機(jī)電路。包括核心控制器件單片機(jī),以及由時(shí)鐘電路、復(fù)位電路、電源電路構(gòu)成的最小系統(tǒng)。主要完成功能運(yùn)算,是控制系統(tǒng)數(shù)據(jù)處理的重要電路。
(2)數(shù)據(jù)采集電路。本系統(tǒng)需要實(shí)時(shí)采集溫度數(shù)據(jù),經(jīng)過(guò)A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào),存入AT89C51的內(nèi)部數(shù)據(jù)存儲(chǔ)器,送LED顯示器顯示,并與設(shè)定值比較,經(jīng)過(guò)PID算法得到控制量并由單片機(jī)輸出以控制電熱絲加熱。
(3)鍵盤(pán)處理電路。本系統(tǒng)采用獨(dú)立鍵盤(pán),主要功能為輸入控制系統(tǒng)的設(shè)定值,以便與系統(tǒng)采樣值比較。鍵盤(pán)共有4個(gè)鍵,其中第2個(gè)選用雙穩(wěn)態(tài)開(kāi)關(guān),為后續(xù)鍵盤(pán)處理子程序提供便利。第1個(gè)、第3個(gè)和第4個(gè)鍵選用按鈕開(kāi)關(guān)。第1個(gè)鍵按下則轉(zhuǎn)入外部中斷處理。第2個(gè)鍵判斷是十位還是個(gè)位進(jìn)行加減操作,第2個(gè)鍵按下轉(zhuǎn)十位進(jìn)行加減操作,否則轉(zhuǎn)入個(gè)位加減操作。第3個(gè)和第4個(gè)鍵分別為加1和減1操作。
(4)LED顯示電路。顯示電路采用兩個(gè)4位LED顯示數(shù)碼管,共陰極接法。由于LED顯示電路較多選用動(dòng)態(tài)掃描方式,為實(shí)現(xiàn)LED顯示管的動(dòng)態(tài)掃描,要給顯示器提供段和位控。
(5)控制執(zhí)行電路。系統(tǒng)用加熱絲進(jìn)行加熱,加熱時(shí)間的長(zhǎng)短取決于PWM波高電平時(shí)間的長(zhǎng)短。
2 軟件部分
系統(tǒng)采用AT89C51單片機(jī)進(jìn)行數(shù)據(jù)處理分析,設(shè)置相應(yīng)的溫度初始值并對(duì)采集到的信號(hào)進(jìn)行實(shí)時(shí)處理顯示。首先由溫度的采樣值與設(shè)定值之差求出溫度誤差,通過(guò)PID閉環(huán)控制算法獲得控制量U,然后由定時(shí)子程序處理,發(fā)出可以改變占空比的PWM控制信號(hào),控制加熱片的工作時(shí)間,從而達(dá)到調(diào)節(jié)溫度的目的。軟件設(shè)計(jì)時(shí)采用了模塊化設(shè)計(jì),由主程序模塊、功能實(shí)現(xiàn)模塊和運(yùn)算控制模塊組成。
2.1 主程序模塊
在主程序中首先給定PID算法的參數(shù)值,然后通過(guò)循環(huán)顯示當(dāng)前溫度,以等待中斷,并且使鍵盤(pán)處于最高優(yōu)先級(jí)。外部中斷為高優(yōu)先級(jí),以便使主程序能及時(shí)響應(yīng)鍵盤(pán)處理。初值由PID算法子程序提供,以用來(lái)執(zhí)行對(duì)加熱絲的控制。系統(tǒng)總體程序流程圖如圖2所示。
評(píng)論