軟件設(shè)計(jì)包括單片機(jī)的核心算法PID控制算法和各程序模塊設(shè)計(jì)。
一、PID控制算法
單片機(jī)溫度控制主要采用PID控制算法,其參數(shù)整定足重點(diǎn)。實(shí)際使用時(shí)必須在現(xiàn)場(chǎng)進(jìn)行反復(fù)調(diào)試和修正,才能找出理想調(diào)節(jié)參數(shù)。采樣周期r的選擇首先必須滿足采樣定理。從理論上說(shuō),r越小,即采樣頻率越高,準(zhǔn)確度越高;T趨于0時(shí),離散系統(tǒng)變成連續(xù)系統(tǒng)。但是,采樣頻率過(guò)高時(shí),既加重計(jì)算負(fù)擔(dān),又影響調(diào)節(jié)效果。這是因?yàn)閱纹瑱C(jī)系統(tǒng)根據(jù)偏差信號(hào)進(jìn)行調(diào)節(jié)計(jì)算,采樣周期丁太短,偏差信號(hào)也會(huì)過(guò)小,影響單片機(jī)系統(tǒng)的調(diào)節(jié)作用。應(yīng)綜合考慮被控系統(tǒng)的滯后特性、時(shí)間常數(shù)以及加到對(duì)象上的擾動(dòng)頻率等因素,合理地選擇采樣周期。比例作用是在溫度實(shí)際值與設(shè)定值出現(xiàn)偏差時(shí)才起作用的。
在控制過(guò)程中,偏差總是存在的。一般講,比例作用越大,超調(diào)量也越大,雖然調(diào)整周期短了,但會(huì)使溫度猛漲猛落,波動(dòng)范圍大,過(guò)渡時(shí)間加長(zhǎng),甚至?xí)霈F(xiàn)長(zhǎng)時(shí)間等幅振蕩,被控溫度長(zhǎng)時(shí)間達(dá)不到穩(wěn)定狀態(tài);比例作用弱時(shí),輸出超調(diào)量過(guò)小,會(huì)使溫度波動(dòng)周期明顯增長(zhǎng),偏差長(zhǎng)時(shí)間不能消除I 4I。積分作用可理解為調(diào)節(jié)系統(tǒng)的惰性大小。積分時(shí)間長(zhǎng),積分作用小,偏差消除得慢,即調(diào)過(guò)程慣性大,不能靈敏地調(diào)節(jié)溫度;積分時(shí)間過(guò)短時(shí),調(diào)節(jié)過(guò)程增快,往往會(huì)出現(xiàn)振蕩,也使過(guò)渡時(shí)間延長(zhǎng)。微分作用使P與,調(diào)節(jié)的過(guò)渡時(shí)間短,溫度盡快恢復(fù)正常。不加微分,偏差消除緩慢;加入適當(dāng)?shù)奈⒎肿饔,可以較快地消除振蕩現(xiàn)象。采用L述方法無(wú)需熟悉系統(tǒng)的動(dòng)態(tài)特性,根據(jù)經(jīng)驗(yàn)直接在閉環(huán)系統(tǒng)中反復(fù)測(cè)試確定,因此往往耗時(shí)很長(zhǎng)。而本設(shè)計(jì)通過(guò)測(cè)試系統(tǒng)的動(dòng)態(tài)特性,采用擴(kuò)充響應(yīng)曲線法整定調(diào)節(jié)參數(shù)。步驟如下:
1)斷開(kāi)單片機(jī)控制系統(tǒng),人工操作加熱裝置,給系統(tǒng)施加階躍信號(hào);
2)記錄在此階躍信號(hào)作用下溫度變化曲線(這一步不能靠觀察溫度計(jì)進(jìn)行,應(yīng)在溫度變送器的輸出端接入記錄儀記錄溫度變化情況);
3)由曲線求出滯后時(shí)問(wèn)0、對(duì)象時(shí)間常數(shù)丁以及它們的比值;
4)根據(jù)求得的0,f和r/O,查表1求出參數(shù)r,KP,71I,五);
一般選擇控制度為1.05,計(jì)算求得的參數(shù)還需在現(xiàn)場(chǎng)進(jìn)行調(diào)試修改,從而得出理想調(diào)節(jié)參數(shù)。
二、程序模塊
程序模塊設(shè)計(jì)包括主程序和子程序兩個(gè)部分。子程序主要包括定時(shí)子程序、超限處理子程序和加熱控制子程序等。主程序功能:完成系統(tǒng)初始化操作,檢測(cè)和顯示溫度值;然后,分析和判斷工作狀態(tài)。根據(jù)其輸入狀態(tài),分為前、中、后期工作狀態(tài),對(duì)照前中后期不同的工作狀態(tài)而設(shè)定的不同溫度范圍來(lái)判斷檢測(cè)溫度是否超限。如果超限,則轉(zhuǎn)報(bào)警處理和相應(yīng)的超限處理子程序;如未超限,則返回重新運(yùn)行。主程序流程如圖4所示。定時(shí)子程序通過(guò)對(duì)系統(tǒng)進(jìn)行定時(shí)操作,并且在定時(shí)操作后繼續(xù)分析和判斷工作狀態(tài),并做出相應(yīng)的溫度控制措施。軟件流程圖如圖5所示。如果檢測(cè)到溫度超限,應(yīng)進(jìn)行報(bào)警處理。然后,判斷溫度是過(guò)高或過(guò)低,并執(zhí)行相應(yīng)的升溫處理和降溫處理,使得系統(tǒng)的溫度達(dá)到并且符合設(shè)定的溫度值。超限子程序流程圖如圖6所示。
加熱子程序主要完成對(duì)加熱器的控制,根據(jù)檢測(cè)到的溫度實(shí)際值進(jìn)行占空比調(diào)整,使固態(tài)繼電器通斷時(shí)間得以調(diào)整,從而達(dá)到加熱控制的目的。其程序流程圖如圖7所示。http://petgroup.cn