《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于多線程溫度控制專家系統(tǒng)
基于多線程溫度控制專家系統(tǒng)
現(xiàn)代電子技術(shù)
王惠平 青海大學(xué)
摘要: 設(shè)計(jì)了基于80C196KB單片機(jī)為核心的溫度控制系統(tǒng),通過多線程和專家系統(tǒng)優(yōu)化程序的算法,對溫度進(jìn)行閉環(huán)控制,從而達(dá)到精確控溫的目的。
Abstract:
Key words :

    隨著科學(xué)技術(shù)的發(fā)展,溫度的自動(dòng)控制已經(jīng)廣泛地應(yīng)用在生產(chǎn)和生活中,因此對自動(dòng)控溫方法的研究具有很強(qiáng)的實(shí)際意義。由于溫度具有大慣性和純延滯的非線性特性,實(shí)際溫度控制過程的復(fù)雜性又使溫度控制系統(tǒng)的參數(shù)不易確定,因此實(shí)際的溫度控制系統(tǒng)是一個(gè)復(fù)雜的自動(dòng)控制系統(tǒng),用一般的控制理論難以得到較為滿意的結(jié)果。以此為目的,在此設(shè)計(jì)了基于80C196KB單片機(jī)為核心的溫度控制系統(tǒng),通過多線程和專家系統(tǒng)優(yōu)化程序的算法,對溫度進(jìn)行閉環(huán)控制,從而達(dá)到精確控溫的目的。


1 硬件系統(tǒng)設(shè)計(jì)

    圖1為系統(tǒng)原理框圖,通過圖示可以看出,硬件系統(tǒng)分為:溫度采樣及放大、顯示、按鈕輸入、溫度控制四個(gè)部分。系統(tǒng)首先通過AD590采樣將溫度信號(hào)轉(zhuǎn)化為電壓信號(hào),電壓信號(hào)經(jīng)過放大通過80C196KB單片機(jī)對其進(jìn)行A/D采樣,通過采樣的結(jié)果,可以算得控制系統(tǒng)的溫度并顯示出來,然后將實(shí)際溫度與設(shè)定的溫度(設(shè)定溫度可以通過輸入按鈕進(jìn)行輸入)進(jìn)行比較,根據(jù)比較的結(jié)果控制加熱電阻和風(fēng)扇的占空比,從而達(dá)到閉環(huán)控溫的目的。



2 軟件系統(tǒng)設(shè)計(jì)

    在軟件設(shè)計(jì)中,采用了多線程的編程結(jié)構(gòu)并結(jié)合專家知識(shí),對整個(gè)系統(tǒng)的控制性能進(jìn)行改善。

2.1 多線程結(jié)構(gòu)

    多線程是指“同時(shí)”存在幾個(gè)執(zhí)行體,按幾條不同的執(zhí)行線索共同工作的情況。多線程實(shí)現(xiàn)單個(gè)進(jìn)程中的并發(fā)計(jì)算,各線程間共享進(jìn)程空間的數(shù)據(jù),并利用這些共享單元來實(shí)現(xiàn)數(shù)據(jù)交換、實(shí)時(shí)通信與必要的同步操作。在單片機(jī)編程里面,多線程可以通過編寫中斷子程序進(jìn)行實(shí)現(xiàn)。一個(gè)中斷子程里面可以包含優(yōu)先級不同的線程,優(yōu)先級高的排在該中斷子程的開始,優(yōu)先級最低的排在最后。執(zhí)行順序如下:屏蔽其他線程→讀系統(tǒng)共用資源→執(zhí)行操作→改寫系統(tǒng)共用資源→開放所有線程→返回主進(jìn)程。

2.2 專家系統(tǒng)

    在該系統(tǒng)中,加熱電阻的控制脈沖和風(fēng)扇的控制脈沖是控制溫度關(guān)鍵,其脈寬的設(shè)置決定了系統(tǒng)溫度控制的精度和穩(wěn)定性,而脈寬的設(shè)置是由專家知識(shí)進(jìn)行判定的。

2.2.1 專家系統(tǒng)概述

    所謂專家系統(tǒng),是指具有專家知識(shí),能夠像專家一樣解決特定領(lǐng)域復(fù)雜問題的計(jì)算機(jī)軟件系統(tǒng)。其特征如下:

    (1)系統(tǒng)功能的針對性。ES通過犧牲通用問題求解能力而換得在某一狹窄領(lǐng)域高水平處理問題的能力。

    (2)符號(hào)推理啟發(fā)性。ES主要處理不良結(jié)構(gòu)問題,需運(yùn)用多種啟發(fā)性經(jīng)驗(yàn)知識(shí)。這些啟發(fā)式知識(shí)往往具有不完全性和不確定性,因此ES常要采用不精確推理等非常規(guī)推理方法。

    (3)透明性。ES可向用戶解釋其推理過程,并能回答一些關(guān)于它自身的問題。

    (4)靈活性。由于ES知識(shí)庫采用了獨(dú)立于程序的外部顯式表示方法,用戶很容易對其進(jìn)行修改或補(bǔ)充。

2.2.2 脈寬控制

    從經(jīng)驗(yàn)可以知道,當(dāng)實(shí)際溫度和目標(biāo)相差(下面統(tǒng)一稱作△T)甚遠(yuǎn)時(shí),希望電阻發(fā)熱量大些或者風(fēng)扇轉(zhuǎn)速高些;而△T較小時(shí)。希望電阻發(fā)熱量小些或者風(fēng)扇轉(zhuǎn)速低些。



圖2為系統(tǒng)溫度控制電路圖,從圖中可以看出,脈寬越小,電阻的發(fā)熱量越大,風(fēng)扇的轉(zhuǎn)速越高。至于控制的具體脈寬是多少,這就需要不斷的嘗試,通過經(jīng)驗(yàn)進(jìn)行判斷,看哪些組合最適合。判斷的原則如下:保證系統(tǒng)控制的穩(wěn)定性;盡量不要出現(xiàn)超調(diào)的現(xiàn)象;保證溫度的控制精度。通過實(shí)驗(yàn),得到了如下數(shù)據(jù)的脈沖控制,見表1。



2.3 程序具體結(jié)構(gòu)

    在軟件系統(tǒng)中,一共有3個(gè)線程,按照優(yōu)先級從高到低的順序如下:溫度設(shè)置線程、溫度采樣線程、溫度顯示線程。另外系統(tǒng)有1個(gè)主進(jìn)程。

2.3.1 主進(jìn)程

    主進(jìn)程實(shí)現(xiàn)如下操作:設(shè)置各個(gè)中斷(及設(shè)置線程)、初始化全局變量以及等待中斷。它的流程圖如圖3所示。



2.3.2 溫度設(shè)置線程

    該線程通過HIS上升沿觸發(fā)事件來實(shí)現(xiàn),其中HSI.0為溫度加10,H1S.1為溫度減10,HIS.2為OPTION取反,其流程圖如圖4所示。





2.3.3 溫度采樣線程

    溫度采樣線程如圖5所示,該線程的掃描周期為3 000。在該線程中,對溫度的采集進(jìn)行了平均化的處理,即每16次平均作為最終結(jié)果,這個(gè)處理降低了毛刺信號(hào)的影響,使得溫度采樣趨于穩(wěn)定,從而使溫度顯示變得比較穩(wěn)定,提高了系統(tǒng)的抗干擾能力。另外,在“設(shè)置HSO_ PWM和PWM_CONTROL”這一步中,采用了專家知識(shí)設(shè)置控制的脈寬,使得溫度的控制趨于更精確。



2.3.4 溫度顯示線程

    溫度顯示線程圖6所示,該線程的掃描周期為1 000。在該線程中,單片機(jī)的P1.0~P1.3管腳輸出至74LS48譯碼器,而單片機(jī)的P1.4~P1.6管腳分別控制十位、個(gè)位、小數(shù)點(diǎn)三個(gè)數(shù)碼管的通與斷。每一個(gè)狀態(tài)中,數(shù)碼管只有一個(gè)被點(diǎn)亮,在足夠短的時(shí)間內(nèi),通過循環(huán)點(diǎn)亮三個(gè)數(shù)碼管,就可以得到數(shù)碼顯示的效果,這一步可以通過對狀態(tài)的循環(huán)移位來實(shí)現(xiàn)。



3 結(jié)語

    由于一般控制理論難以對溫度這種大慣性、純延滯的非線性且參數(shù)不易確定的系統(tǒng)進(jìn)行控制。為此以溫度控制為例,介紹了一類多線程溫度控制專家系統(tǒng),該系統(tǒng)具有調(diào)節(jié)時(shí)間短、超調(diào)量小、穩(wěn)態(tài)精度高的特點(diǎn),能夠?qū)囟冗M(jìn)行較為滿意的控制。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。