基于多線程溫度控制專家系統
摘要:針對常規模糊溫度控制存在有較大穩態誤差、在設定點附近易產生振蕩等不足,在此提出將專家系統引入模糊控制,以達到精確控溫的目的。介紹了一種以80C196KB單片機為控制核心,以多線程和專家系統為算法的控制方法,并介紹了簡單的多線程和專家知識在溫度控制上的應用。應用結果表明,基于多線程的溫度控制專家系統,穩態誤差小、控制精度高,控制方案有效、可行。
關鍵詞:單片機;多線程;專家系統;溫度控制
0 引言
隨著科學技術的發展,溫度的自動控制已經廣泛地應用在生產和生活中,因此對自動控溫方法的研究具有很強的實際意義。由于溫度具有大慣性和純延滯的非線性特性,實際溫度控制過程的復雜性又使溫度控制系統的參數不易確定,因此實際的溫度控制系統是一個復雜的自動控制系統,用一般的控制理論難以得到較為滿意的結果。以此為目的,在此設計了基于80C196KB單片機為核心的溫度控制系統,通過多線程和專家系統優化程序的算法,對溫度進行閉環控制,從而達到精確控溫的目的。
1 硬件系統設計
圖1為系統原理框圖,通過圖示可以看出,硬件系統分為:溫度采樣及放大、顯示、按鈕輸入、溫度控制四個部分。系統首先通過AD590采樣將溫度信號轉化為電壓信號,電壓信號經過放大通過80C196KB單片機對其進行A/D采樣,通過采樣的結果,可以算得控制系統的溫度并顯示出來,然后將實際溫度與設定的溫度(設定溫度可以通過輸入按鈕進行輸入)進行比較,根據比較的結果控制加熱電阻和風扇的占空比,從而達到閉環控溫的目的。
2 軟件系統設計
在軟件設計中,采用了多線程的編程結構并結合專家知識,對整個系統的控制性能進行改善。
2.1 多線程結構
多線程是指“同時”存在幾個執行體,按幾條不同的執行線索共同工作的情況。多線程實現單個進程中的并發計算,各線程間共享進程空間的數據,并利用這些共享單元來實現數據交換、實時通信與必要的同步操作。在單片機編程里面,多線程可以通過編寫中斷子程序進行實現。一個中斷子程里面可以包含優先級不同的線程,優先級高的排在該中斷子程的開始,優先級最低的排在最后。執行順序如下:屏蔽其他線程→讀系統共用資源→執行操作→改寫系統共用資源→開放所有線程→返回主進程。
2.2 專家系統
在該系統中,加熱電阻的控制脈沖和風扇的控制脈沖是控制溫度關鍵,其脈寬的設置決定了系統溫度控制的精度和穩定性,而脈寬的設置是由專家知識進行判定的。
2.2.1 專家系統概述
所謂專家系統,是指具有專家知識,能夠像專家一樣解決特定領域復雜問題的計算機軟件系統。其特征如下:
(1)系統功能的針對性。ES通過犧牲通用問題求解能力而換得在某一狹窄領域高水平處理問題的能力。
(2)符號推理啟發性。ES主要處理不良結構問題,需運用多種啟發性經驗知識。這些啟發式知識往往具有不完全性和不確定性,因此ES常要采用不精確推理等非常規推理方法。
(3)透明性。ES可向用戶解釋其推理過程,并能回答一些關于它自身的問題。
(4)靈活性。由于ES知識庫采用了獨立于程序的外部顯式表示方法,用戶很容易對其進行修改或補充。
2.2.2 脈寬控制
從經驗可以知道,當實際溫度和目標相差(下面統一稱作△T)甚遠時,希望電阻發熱量大些或者風扇轉速高些;而△T較小時。希望電阻發熱量小些或者風扇轉速低些。
評論