關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于模糊控制的恒溫控制系統(tǒng)設(shè)計

基于模糊控制的恒溫控制系統(tǒng)設(shè)計

作者: 時間:2010-12-10 來源:網(wǎng)絡(luò) 收藏

1.3 溫度控制和超界報警模塊
系統(tǒng)利用控制電熱絲在一個加熱周期內(nèi)的加熱時間來實現(xiàn)對水溫的控制。端口信號經(jīng)過光耦隔離后,利用三級管驅(qū)動電磁繼電器的閉合與斷開,從而控制加熱時間。當(dāng)溫度超過100℃或者實時溫度變化超過10℃時,將驅(qū)動蜂鳴器進(jìn)行長時間報警提示,當(dāng)設(shè)置溫度變化超過10℃時,蜂鳴器進(jìn)行短時間報警提示。

2 軟件系統(tǒng)設(shè)計
系統(tǒng)的控制思路為:根據(jù)模糊控制模型和實際應(yīng)用情況推理出模糊查詢表,模糊查詢表表示對于不同狀態(tài)的加溫周期時間。單片機(jī)根據(jù)實時采樣溫度的變化查取模糊查詢表,對加溫周期做出調(diào)整,從而達(dá)到對溫度控制的目的。
2.1 主程序
主程序一直處于等待接收串口信號狀態(tài),同時判斷是否需要發(fā)送數(shù)據(jù)。定時中斷每秒對采樣溫度進(jìn)行平均值濾波后,置串口發(fā)送標(biāo)志,在主程序中發(fā)送。單片機(jī)接收到PC信號的第一個字節(jié)時,調(diào)用接收數(shù)據(jù)子程序,將剩余數(shù)據(jù)接收到緩沖區(qū)內(nèi),并判斷接收數(shù)據(jù)的類型,執(zhí)行相應(yīng)操作。
為避免串口干擾信號,系統(tǒng)采用應(yīng)答模式和單向傳輸混用的串口通信,以提高通信的穩(wěn)定性和系統(tǒng)的實時性。上位機(jī)下發(fā)命令采用應(yīng)答模式,單片機(jī)實時溫度信息上傳采用單向通信模式。通信協(xié)議由包頭、命令、數(shù)據(jù)長度、數(shù)據(jù)包、校驗位組成。
2.2 1ms定時中斷程序
1ms定時中斷作為系統(tǒng)的總時鐘。每1 ms刷新一位數(shù)碼管,每10 ms掃描一次按鍵,每1 s的最后100 ms中,每隔10 ms采樣一次溫度值,將10次采樣值冒泡排序,去掉最大值和最小值后的平均值,作為本次實時采樣的最終值送入顯示緩沖區(qū)。若恒溫控制開關(guān)打開,則每1 s還要調(diào)用恒溫控制程序。若報警開關(guān)打開,則每1 s取反一次揚(yáng)聲器輸出。定時中斷返回前將重置看門狗。
2.3 模糊控制模型建立
系統(tǒng)利用了雙輸入單輸出的模糊控制模式。2個輸入語言變量E,EC分別表示溫度誤差和溫度誤差的變化率,輸出語言變量U表示繼電器的閉合時間。語言變量E賦8個值,即正小(PS)、正零(PO)、負(fù)零(NO),負(fù)小(NS),負(fù)中(NM),負(fù)大(NL),負(fù)加大(NXL),負(fù)超大 (NXXL),考慮到系統(tǒng)中并未設(shè)置降溫措施,E的賦值并不對稱。EC賦7個值,即正大(PL)、正中(PM)、正小(PS)、零(PO)、負(fù)小 (NS)、負(fù)中(NM)、負(fù)大(N-L)。U賦4個值:零(O)、正小(PS)、正中(PM)、正大(PL)。為補(bǔ)償溫度控制無超調(diào)量,E的量化值為 -10~2,EC,U的量化值分別為-6~6,0~6。每個值采用三角形隸屬函數(shù)模型,如圖3~圖5所示。

本文引用地址:http://butianyuan.cn/article/162581.htm

f.JPG

g.JPG

依靠經(jīng)驗來建立控制規(guī)則,但是得到的控制量并是一個模糊量,不能直接用來作為控制輸出,采用C語言進(jìn)行解模糊處理,得到模糊查詢表,并在測試中反復(fù)調(diào)整,最終得到模糊查詢表如表1所示。
2.4 模糊控制程序
在單片機(jī)的程序中,設(shè)置了變量TOUT表示恒溫控制周期,TSET表示一個恒溫控制周期中韻加熱輸出時間,即表中的U。每隔TOUT的時間,將調(diào)用模糊推理程序,求出誤差E和誤差變化率EC。其中:
E=實時采樣溫度值-設(shè)定溫度值
EC=當(dāng)前誤差-上次誤差
當(dāng)誤差較大時,不必進(jìn)行模糊控制,只需判斷是全速加熱或是停止加熱。當(dāng)誤差進(jìn)入預(yù)設(shè)的控制范圍時,量化E,EC,并由量化值查詢模糊查詢表,得出該周期應(yīng)該輸出的加熱時間TSET。
在測試中發(fā)現(xiàn),采用單一的E,EC論域的效果并不讓人滿意,系統(tǒng)靈敏度較低??紤]加熱慣性和高溫散熱較快的影響,采用了兩級控制的方式。在第一級控制中,E和EC的論域范圍較大,可快速加熱到恒溫設(shè)定溫度附近;此后進(jìn)入第二級控制,縮小E和EC的論域范圍,提高控制的靈敏度。經(jīng)測試,采用此方式可在各溫度層次控制過程中將恒溫誤差穩(wěn)定在±0.3℃以內(nèi)。



關(guān)鍵詞: 單片機(jī) 傳感器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉