基于單片機(jī)與模糊PID控制的熱水器溫度智能控制設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
溫度是工業(yè)生產(chǎn)過(guò)程中重要的物理量,尤其在冶金、機(jī)械、食品、化工等工業(yè)中,對(duì)工件的處理溫度都要求嚴(yán)格控制,對(duì)溫度的精確度和穩(wěn)定性均有較高要求,溫度的測(cè)量與控制直接關(guān)系到企業(yè)的生產(chǎn)利益甚至存亡。
目前在國(guó)內(nèi)外很多溫度控制系統(tǒng)都采用ARM 作為處理器,PID 作為溫度控制方式[1]。該控制方式對(duì)大多數(shù)控制對(duì)象均可達(dá)到滿(mǎn)意的控制效果,但對(duì)于有特殊要求或具有復(fù)雜對(duì)象特性的系統(tǒng),采用數(shù)字PID控制一般難以達(dá)到目的?;跍囟茸兓姆蔷€性與模糊控制魯棒性強(qiáng)、干擾和參數(shù)變化對(duì)控制效果的影響較小,尤其適合于非線性、時(shí)變及純滯后系統(tǒng)的控制,將PID與模糊控制相結(jié)合來(lái)實(shí)現(xiàn)對(duì)溫度的控制。
因此,本文以熱水器為對(duì)象,運(yùn)用系統(tǒng)控制理論,以模糊控制與數(shù)字PID控制相結(jié)合方式進(jìn)行溫度控制系統(tǒng)的設(shè)計(jì)。
1 整體方案設(shè)計(jì)
系統(tǒng)采用晶控電子的STC系列單片機(jī)進(jìn)行下位機(jī)溫度控制,同時(shí)采用PC機(jī)進(jìn)行上位機(jī)控制。上位機(jī)首先給下位機(jī)發(fā)出命令,下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào)直接控制相應(yīng)設(shè)備。下位機(jī)不時(shí)讀取設(shè)備狀態(tài)數(shù)據(jù),轉(zhuǎn)化成數(shù)字信號(hào)反饋給上位機(jī)。下位機(jī)實(shí)現(xiàn)現(xiàn)場(chǎng)實(shí)時(shí)控制,上位機(jī)實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)監(jiān)控。
系統(tǒng)的實(shí)現(xiàn)采用模塊化設(shè)計(jì)思想,分別從硬件、軟件來(lái)設(shè)計(jì)并綜合應(yīng)用。硬件分為溫度檢測(cè)模塊、輸入輸出模塊、串口通信模塊及加熱模塊幾個(gè)部分;軟件由上下位機(jī)同時(shí)控制,包括溫度采集子程序、液晶顯示子程序、鍵盤(pán)輸入子程序、模糊PID控制子程序、串口通信子程序等。設(shè)計(jì)主要針對(duì)控制算法來(lái)實(shí)現(xiàn),系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
2 硬件電路設(shè)計(jì)
2.1溫度檢測(cè)模塊
DS18B20是DALLAS公司生產(chǎn)的數(shù)字溫度傳感器,溫度測(cè)量范圍為-55℃~+125℃,測(cè)溫分辨率可達(dá)0.062 5 ℃,它集溫度測(cè)量與A/D轉(zhuǎn)換于一體,直接輸出數(shù)字量,傳輸距離遠(yuǎn),可以實(shí)現(xiàn)多點(diǎn)檢測(cè),硬件結(jié)構(gòu)簡(jiǎn)單,避免了傳統(tǒng)熱電偶、熱電阻模擬信號(hào)到數(shù)字信號(hào)轉(zhuǎn)換、硬件結(jié)構(gòu)復(fù)雜、成本高的缺點(diǎn),其電路連接如圖2所示。
2.2 串口通信模塊
接口RS232是用正負(fù)電壓來(lái)表示邏輯狀態(tài)的,而單片機(jī)采用正邏輯TTL電平,因此必須在此分立元件實(shí)現(xiàn)電平和邏輯關(guān)系的變換。通信電路中,下位機(jī)串口使用查詢(xún)法接收和發(fā)送資料,上位機(jī)發(fā)出指定字符,下位機(jī)收到后返回給上位機(jī)原字符,其電路連接如圖3所示。
2.4 加熱模塊
系統(tǒng)的加熱過(guò)程通過(guò)單片機(jī)控制繼電器的開(kāi)關(guān)來(lái)實(shí)現(xiàn),當(dāng)檢測(cè)溫度與設(shè)定溫度有差距時(shí)繼電器處于接通狀態(tài),加熱器持續(xù)加熱,當(dāng)檢測(cè)溫度與設(shè)定溫度一致時(shí),繼電器處于斷開(kāi)狀態(tài),加熱器停止加熱。繼電器電路連接如圖5所示[2]。
3 軟件設(shè)計(jì)
3.1模糊PID控制算法
模糊PID控制是找出Kp、Ki、Kd與E、Ec之間的模糊關(guān)系,通過(guò)不斷檢測(cè)E和Ec,根據(jù)模糊推理對(duì)Kp、Ki、Kd進(jìn)行在線修改,滿(mǎn)足了不斷變化的E、Ec對(duì)控制參數(shù)的要求,從而使被控對(duì)象具有良好的動(dòng)、靜態(tài)性能。模糊PID結(jié)構(gòu)圖如圖6所示。模糊PID控制器的調(diào)整規(guī)則是[3]:
(1)當(dāng)E較大時(shí),為加快系統(tǒng)響應(yīng)速度,應(yīng)取較大的Kp和較小的Kd,由于積分太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,因而要對(duì)積分作用加以限制,通常取Ki=0或者較小值;
(2)當(dāng)E和Ec中等大小時(shí),為減少系統(tǒng)超調(diào)并保證一定的響應(yīng)速度,Kp應(yīng)適當(dāng)取小些,同時(shí)Kd的取值對(duì)系統(tǒng)影響很大,也應(yīng)取小些,Ki的取值要適當(dāng);
(3)當(dāng)E較小時(shí),為減小穩(wěn)態(tài)誤差,Kp與Ki應(yīng)取得大些,而Kd的取值要適當(dāng),取值不當(dāng)會(huì)引起系統(tǒng)震蕩。其原則是:當(dāng)Ec較小時(shí),Kd取大些,當(dāng)Ec較大時(shí),Kd取較小的值,通常Kd為中等大小。
3.2 下位機(jī)程序流程圖
下位機(jī)采用keil軟件,C語(yǔ)言進(jìn)行程序的編寫(xiě),采用STC-ISP進(jìn)行軟件燒寫(xiě),程序流程圖如圖7所示。
3.3 上位機(jī)界面顯示
上位機(jī)采用VB6.0對(duì)溫度監(jiān)控界面進(jìn)行編寫(xiě),通過(guò)界面可以選擇不同的串口進(jìn)行通信,在不同時(shí)間可以通過(guò)多個(gè)溫度檢測(cè)器對(duì)不同熱水器進(jìn)行溫度檢測(cè)并自行設(shè)定溫度,界面可以實(shí)時(shí)顯示溫度變化曲線如圖9所示。
本系統(tǒng)將單片機(jī)與模糊PID控制相結(jié)合,不僅單片機(jī)控制效果顯著而且易于操作,還實(shí)現(xiàn)了智能控制與常規(guī)PID控制兩者的優(yōu)點(diǎn):它具備自學(xué)習(xí)、自適應(yīng)、自組織的能力,能夠自動(dòng)識(shí)別被控過(guò)程參數(shù),自動(dòng)整定控制參數(shù),能夠適應(yīng)被控過(guò)程參數(shù)的變化;它又具備常規(guī)PID控制器結(jié)構(gòu)簡(jiǎn)單、魯棒性強(qiáng)、可靠性高、為現(xiàn)場(chǎng)設(shè)計(jì)人員所熟悉等特點(diǎn),較易應(yīng)用與推廣。