單片機(jī)與模糊控制的溫控儀設(shè)計(jì)與實(shí)現(xiàn)
0 引言
溫度控制對(duì)于工業(yè)和日常生活等領(lǐng)域都具有廣闊的應(yīng)用前景,很多應(yīng)用領(lǐng)域,需要精度較高的恒溫控制,由于其控制具有非線性、時(shí)滯性和不確定性,用傳統(tǒng)的控制達(dá)不到好的控制效果。模糊控制是一種基于規(guī)則的控制,它直接采用語(yǔ)言型控制規(guī)則,出發(fā)點(diǎn)是現(xiàn)場(chǎng)操作人員的控制經(jīng)驗(yàn)或相關(guān)專家的知識(shí),其魯棒性強(qiáng),干擾和參數(shù)變化對(duì)控制效果的影響被大大減弱,所以特別適合于0~100℃溫度的精確控制。
MSP430系列單片機(jī)是一個(gè)16位的、具有精簡(jiǎn)指令集的、超低功耗的混合型單片機(jī)。MSP430F149單片機(jī)采用了精簡(jiǎn)指令(RISC),具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址)、簡(jiǎn)潔的27條內(nèi)核指令以及大量的模擬指令,大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算,還有高效的查表處理指令;有較高的處理速度,在8MHz晶體驅(qū)動(dòng)下指令周期為125 ns。這些特點(diǎn)保證了可編制出高效率的源程序。MSP430F149單片機(jī)具有10位/12位ADC、16位Sigma-Delta A/D、直接尋址模塊(DMA)、端口1~6、基本定時(shí)器(Basic Timer)等的一些外圍模塊的不同組合。其中,看門狗可以使程序失控時(shí)迅速?gòu)?fù)位;模擬比較器進(jìn)行模擬電壓的比較,配合定時(shí)器,可設(shè)計(jì)出A/D轉(zhuǎn)換器。該系統(tǒng)采用MSP430F149單片機(jī),可以省去A/D等硬件電路,使其成本降低,可靠性大大增強(qiáng)。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)以MSP430F149單片機(jī)為控制核心,溫度測(cè)量由鉑電阻恒流調(diào)理電路完成,調(diào)理電路的輸出電壓送入單片機(jī),在單片機(jī)內(nèi)部實(shí)現(xiàn)A/D轉(zhuǎn)換,并對(duì)采樣數(shù)據(jù)進(jìn)行濾波及標(biāo)度變換處理,溫度值由3位數(shù)碼管顯示。輸入的溫度設(shè)定值由4位獨(dú)立式鍵盤電路進(jìn)行,設(shè)定值送入單片機(jī)后,由另一個(gè)3位數(shù)碼管顯示。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
2 主要硬件電路設(shè)計(jì)
2.1 鉑電阻測(cè)溫調(diào)理電路
在本系統(tǒng)中,實(shí)際溫度值由鉑電阻恒流工作調(diào)理電路進(jìn)行測(cè)量。為了克服鉑電阻的非線性特點(diǎn),在信號(hào)調(diào)理電路中加入負(fù)反饋非線性矯正網(wǎng)絡(luò)。如圖2所示,鉑電阻選用標(biāo)稱值為100Ω的RT100作為溫度傳感器。A1,A2和A3采用低溫漂運(yùn)放OP07,由于有電流流經(jīng)鉑電阻傳感器,所以當(dāng)溫度為0℃時(shí),在鉑電阻傳感器上有壓降,這個(gè)電壓為鉑電阻傳感器的偏置電壓,是運(yùn)放A1輸出電壓的一部分,使恒流工作調(diào)理電路的輸出實(shí)際不為0,所以需要對(duì)這個(gè)偏置電壓調(diào)零,圖中R3為調(diào)零電阻。圖中運(yùn)放A3及電阻R1,R4和R6構(gòu)成負(fù)反饋非線性校正網(wǎng)絡(luò)。R5用于調(diào)整運(yùn)放A2的增益。
2.2 溫度控制電路
系統(tǒng)加熱絲與風(fēng)扇均采用圖3所示電路形式。電路采用了晶體管驅(qū)動(dòng)的直流電磁繼電器。當(dāng)單片機(jī)的P5.4為低電平時(shí),繼電器RL1吸合,當(dāng)P5.4為高電平時(shí),繼電器RL1釋放。采用這種控制邏輯可以使繼電器在上電復(fù)位或單片機(jī)受控復(fù)位時(shí)不吸合。繼電器由晶體管2N222A驅(qū)動(dòng),可以提供所需的驅(qū)動(dòng)電流。
3 模糊控制規(guī)則表及軟件流程圖
3.1 建立模糊控制規(guī)則表
采用溫度誤差E和溫度誤差變化率Ec作為模糊控制器的輸入變量,溫度控制量U作為模糊控制器的輸出變量。系統(tǒng)中溫度誤差E、溫度誤差變化率Ec和溫度控制量U(單位:℃)的基本域分別為[-5,+5],[-2,+2]和[0,1]。輸入語(yǔ)言變量的語(yǔ)言值取7個(gè),輸出控制量用于控制繼電器驅(qū)動(dòng)電路。將占空比模糊控制量設(shè)定為0,1/4,1/2,3/4,1五個(gè)單點(diǎn)模糊量和1個(gè)控制風(fēng)扇吹風(fēng)的單點(diǎn)模糊量。輸出語(yǔ)言變量的語(yǔ)言值取6個(gè)。當(dāng)U=0時(shí),單片機(jī)P3.5口置低電平,使風(fēng)扇控制電路工作;當(dāng)U=1時(shí),加熱絲控制電路工作,且繼電器在1個(gè)周期內(nèi)全關(guān)斷;當(dāng)U=2時(shí),加熱絲控制電路工作,且繼電器在1/4個(gè)周期內(nèi)接通,在3/4個(gè)周期內(nèi)關(guān)斷;當(dāng)U=5時(shí),加熱絲控制電路工作,且繼電器在1個(gè)周期內(nèi)全接通。本控制系統(tǒng)選用三角函數(shù)、升半梯形函數(shù)與降半梯形函數(shù)作為輸入量語(yǔ)言值的隸屬函數(shù),用脈沖函數(shù)作為輸出量語(yǔ)言值的隸屬函數(shù)。模糊控制規(guī)則如表1所示。
由模糊規(guī)則進(jìn)行推理可以得出模糊控制器語(yǔ)言規(guī)則的輸入輸出關(guān)系,其關(guān)系是一個(gè)非線性的關(guān)系曲面。當(dāng)偏差較大時(shí),控制量的變化應(yīng)盡力使偏差迅速減?。划?dāng)偏差較小時(shí),除了要消除偏差外,還要考慮系統(tǒng)的穩(wěn)定性,防止系統(tǒng)出現(xiàn)過(guò)沖,甚至引起系統(tǒng)振蕩。
3.2 軟件流程圖
主程序軟件流程如圖4所示。
溫度采集和顯示、鍵盤處理等在編程時(shí)作為相對(duì)獨(dú)立的功能模塊來(lái)實(shí)現(xiàn),并自主程序運(yùn)行中按照設(shè)定的流程來(lái)調(diào)用,完成相應(yīng)的任務(wù)后再返回主程序即可。
4 仿真分析
在Proteus仿真軟件中加入編譯后的HEX文件,使用分析圖表分析系統(tǒng)分析加熱器控制信號(hào)與風(fēng)扇控制信號(hào)輸出端口的占空比。當(dāng)輸入電壓為2.7 V時(shí),系統(tǒng)的輸出顯示實(shí)際溫度為54℃,系統(tǒng)的設(shè)定溫度為55℃,此時(shí)P5.4輸出占空比為2:1的加熱器控制信號(hào);而當(dāng)系統(tǒng)的實(shí)際溫度大于設(shè)定溫度時(shí),系統(tǒng)輸出適當(dāng)?shù)娘L(fēng)扇控制信號(hào)以恒定的功率散熱,說(shuō)明滿足設(shè)計(jì)要求。
5 結(jié)語(yǔ)
本系統(tǒng)采用低功耗MSP430系列單片機(jī)作為控制核心,整個(gè)控制電路較簡(jiǎn)單,用模糊控制算法設(shè)計(jì)程序,設(shè)定溫度值與測(cè)量溫度值實(shí)時(shí)顯示,控制精度可達(dá)±0.5℃,在實(shí)際生產(chǎn)和生活中具有廣泛的實(shí)用性。
評(píng)論