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

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


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

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



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

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

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

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

2.2 專家系統(tǒng)

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

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

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

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

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

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

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

2.2.2 脈寬控制

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



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



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

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

2.3.1 主進程

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



2.3.2 溫度設(shè)置線程

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





2.3.3 溫度采樣線程

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



2.3.4 溫度顯示線程

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



3 結(jié)語

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

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