基于AT89S52單片機(jī)的雙模糊溫度控制器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
現(xiàn)代工業(yè)控制中,溫度控制十分重要且日益復(fù)雜化。由于溫度控制具有的非線性、大滯后、時(shí)變性、升溫單向性等特點(diǎn),在實(shí)際應(yīng)用中難以建立精確的數(shù)學(xué)模型,無(wú)法用經(jīng)典控制理論及現(xiàn)代控制理論來(lái)解決實(shí)現(xiàn)溫度控制效果。目前,現(xiàn)代智能控制中不依賴(lài)對(duì)象數(shù)學(xué)模型、能有效控制時(shí)變和非線性系統(tǒng)的模糊控制已普遍應(yīng)用于工業(yè)溫度控制中。通過(guò)對(duì)溫度的基本模糊控制,可達(dá)到較好的控制效果,但存在一定的穩(wěn)態(tài)誤差,難以達(dá)到較高的控制精度。若根據(jù)系統(tǒng)不同的工作狀態(tài)采用不同的溫度模糊控制,即雙模糊控制,可大幅度改善穩(wěn)態(tài)誤差,提高控制精度,同時(shí)利用單片機(jī)作為主控芯片,可有效完成溫度模糊處理及溫度實(shí)時(shí)控制且可靠性高。
1 控制器功能及硬件設(shè)計(jì)
雙模糊溫度控制器主要以單片機(jī)為主控芯片,主要負(fù)責(zé)溫度的模糊化處理、模糊控制算法實(shí)現(xiàn)、輸出溫度的大小控制處理。工業(yè)現(xiàn)場(chǎng)溫度通過(guò)溫度傳感器采集,傳感器輸出信號(hào)經(jīng)變送器轉(zhuǎn)變?yōu)?~5 V 的標(biāo)準(zhǔn)信號(hào),經(jīng)A/D 轉(zhuǎn)換后與溫度設(shè)定值進(jìn)行比較, 得到溫度誤差信號(hào)e 及溫度變化率ec,并在系統(tǒng)初始階段和穩(wěn)態(tài)階段將兩者送入不同的單模糊控制器進(jìn)行模糊處理,得到輸出控制量u,經(jīng)隔離放大后控制功率可控硅改變加熱元件功率,從而完成溫度的調(diào)節(jié)。其溫度控制系統(tǒng)原理框圖如圖1 所示。
溫度控制器主控芯片采用ATMEL 公司的AT89S52 單片機(jī),該單片機(jī)是一種低功耗、高性能CMOS 8 位微控制器,具有8 kB 在系統(tǒng)可編程Flash 存儲(chǔ)器和256B RAM,32 位I/O線,3 個(gè)16 位定時(shí)器,6 個(gè)中斷源以及看門(mén)狗定時(shí)器等,可滿(mǎn)足溫度控制器的基本設(shè)計(jì)及擴(kuò)展設(shè)計(jì)需求。
溫度傳感器采用鎳鉻/鎳硅熱電偶,該熱電偶具有線性度好,熱電動(dòng)勢(shì)較大,靈敏度高,穩(wěn)定性和均勻性較好等特點(diǎn),其使用溫度為0~1 300 ℃,對(duì)應(yīng)輸出為0~52.37 mV[1]。溫度變送器采用DBW 型, 把熱電偶輸出的毫伏信號(hào)轉(zhuǎn)換為0~5 V標(biāo)準(zhǔn)模擬信號(hào)。該信號(hào)通過(guò)A/D 轉(zhuǎn)換器ADC0809 的IN0 通道輸入,從而轉(zhuǎn)換為數(shù)字信號(hào),再由AT89S52 單片機(jī)利用控制程序從P0 口輸入其內(nèi)部RAM 單元,以便與溫度設(shè)定值進(jìn)行比較[2]。模糊控制器輸出控制量通過(guò)P1.0 輸出,通過(guò)光電雙向可控硅驅(qū)動(dòng)器MOC3051 去驅(qū)動(dòng)功率可控硅, 從而改變加熱元件的加熱功率,以實(shí)現(xiàn)溫度調(diào)節(jié)的目的。
考慮到系統(tǒng)的人機(jī)互動(dòng),利用并行接口芯片8155 進(jìn)行I/O 口擴(kuò)展,以完成鍵盤(pán)輸入及顯示器輸出的設(shè)計(jì)。其中鍵盤(pán)采用矩陣式鍵盤(pán),負(fù)責(zé)參數(shù)的設(shè)定和一些開(kāi)關(guān)量的輸入,如:?jiǎn)?dòng)、停止、復(fù)位、溫度設(shè)定、設(shè)定值修改、溫度數(shù)字鍵等;而顯示器采用LED 顯示器,用于同時(shí)顯示系統(tǒng)設(shè)定溫度及實(shí)際溫度。
2 雙模糊控制算法設(shè)計(jì)
2.1 雙模糊控制器結(jié)構(gòu)設(shè)計(jì)
本模糊控制器采用雙模糊控制結(jié)構(gòu)以及典型的雙輸入、單輸出方式,如圖2 所示。將溫度設(shè)定值與溫度反饋值之間的誤差e 及變化率ec 作為輸入量,將溫度控制量u 作為輸出量。由于系統(tǒng)在不同的控制狀態(tài)下存在大小不同的誤差,若考慮單模糊控制器設(shè)計(jì),將使系統(tǒng)的快速響應(yīng)及控制精度之間存在矛盾[3],兩者無(wú)法兼顧。為此,采用雙模糊控制器設(shè)計(jì),并人為設(shè)置一個(gè)誤差臨界值完成雙??刂魄袚Q[4]。在系統(tǒng)初始階段,系統(tǒng)誤差較大,使用系統(tǒng)因子Kec、Ku相對(duì)較小(如Kec1、Ku1)的模糊控制器,以實(shí)現(xiàn)快速響應(yīng),消除誤差的目的;在系統(tǒng)穩(wěn)態(tài)階段,系統(tǒng)誤差較小,使用系統(tǒng)因子Kec、Ku適當(dāng)增加(如Kec2、Ku2)的模糊控制器,以改善系統(tǒng)的穩(wěn)態(tài)性能。
2.2 雙模糊控制策略
考慮溫度控制的特點(diǎn), 將誤差e、變化率ec 及輸出量u的論域設(shè)為[-6,6],將其量化為13 個(gè)等級(jí),并分別為誤差e、變化率ec、輸出量u 選取7 個(gè)語(yǔ)言值,即{NL,NM,NS,ZO,PS,PM,PL}。三者的隸屬度函數(shù)均采用梯形分布[5],如圖3 所示。根據(jù)對(duì)工業(yè)過(guò)程控制的經(jīng)驗(yàn)總結(jié),制定相應(yīng)的模糊控制規(guī)則表如表1 所示。
為提高系統(tǒng)的實(shí)時(shí)響應(yīng)速度,事先根據(jù)模糊控制規(guī)則表及語(yǔ)言變量賦值表, 離線計(jì)算出模糊控制總表如表2 所示,該表經(jīng)嚴(yán)格的實(shí)踐檢驗(yàn)和反復(fù)修改后存放在單片機(jī)的程序存儲(chǔ)器中。然后根據(jù)輸入量e 及ec 在不同工作狀態(tài)的實(shí)際變化范圍及其論域,計(jì)算出量化因子Ke1、Kec1和Ke2、Kec2,并確定出比例因子Ku1和Ku2。實(shí)際控制時(shí),模糊控制器把系統(tǒng)在不同工作狀態(tài)下的輸入量e 及ec 分別乘以相應(yīng)的Ke、Kec,并量化到輸入量的語(yǔ)言變量論域中,再根據(jù)量化的結(jié)果與模糊控制總表進(jìn)行比較,通過(guò)查表程序得到所需的輸出量U,最后乘以Ku,得到系統(tǒng)在不同工作狀態(tài)下的實(shí)際輸出控制量u。
3 控制器軟件設(shè)計(jì)
雙模糊溫度控制器的軟件采用模塊化設(shè)計(jì)思想,主要包括主程序、溫度采集程序、鍵盤(pán)/顯示控制程序、模糊控制算法程序等。下面主要給出主程序及模糊控制算法程序流程圖,分別如圖4、圖5 所示[6]。
4 結(jié)束語(yǔ)
文中提出的以單片機(jī)為控制核心的雙模糊溫度控制器,是以比例因子自整定模糊控制理論為基礎(chǔ),根據(jù)系統(tǒng)誤差大小利用兩個(gè)系統(tǒng)因子不同的模糊控制器分別進(jìn)行溫度控制。結(jié)構(gòu)簡(jiǎn)單、易于實(shí)現(xiàn)、適應(yīng)力強(qiáng),可較大提高穩(wěn)態(tài)精度,對(duì)于溫度控制可以達(dá)到很好的控制效果,可廣泛應(yīng)用于工業(yè)生產(chǎn)中。