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