利用ATmega16L設計的溫度控制系統
(4)增量式PID處理程序 該溫度控制系統具有滯后性、時(shí)變性和非線(xiàn)性,不可能建立該系統的精確數學(xué)模型,因此如果使用常規的線(xiàn)性控制理論,要達到滿(mǎn)意的控制效果非常困難。采用 增量式數字PID控制器,可解決這個(gè)難題。
增量式PID是指數字控制器的輸出只是控制量的增量,由于計算機輸出的是增量,所以誤動(dòng)作時(shí)對輸出的影響較小??刂圃隽康拇_定僅與最近的k、k-1、k-2次的采樣有關(guān),所以能夠較容易地通過(guò)加權處理而獲得較好的控制效果。另外,對于數字控制系統,由于A(yíng)/D轉換器位數的限制,其輸出控制量受最小和最大值的限制,系統加入抗積分飽和法對其優(yōu)化。圖5為增量式PID控制算法程序流程。
以下是增量式PID控制的程序代碼:
(5)串行通信程序 系統與上位計算機之間采用RS-488的串行數據傳輸方式。單片機采用中斷方式接收數據,而發(fā)送數據則采用查詢(xún)方式。
(6)顯示處理程序 LCD-TC1602A LCD接口設計采用4位控制方式,使用4位數據線(xiàn)D4~D7控制時(shí)序分兩次傳送,先傳送高4位數據,再傳送低4位數據。
(7)數據讀寫(xiě)處理程序 ATmega16單片機內部集成有512 B的EEPROM,它是作為一個(gè)獨立的數據空間而存在的。ATmesa16單片機通過(guò)對相關(guān)寄存器的操作實(shí)現對EEPROM按字節讀寫(xiě)。
(8)看門(mén)狗處理程序 ATmega16單片機內部集成有硬件看門(mén)狗,看門(mén)狗由片內獨立的振蕩器驅動(dòng),設置看門(mén)狗的步驟為:先初始化并打開(kāi)看門(mén)狗,然后把喂狗指令放在循環(huán)程序中。
4 系統測試分析
各個(gè)模塊測試完成后,將下位機由測試端的硬件通過(guò)串口與PC機連接,構成完整的溫度測試系統。在上位機中運行Visual Basic編寫(xiě)的監控程序,通過(guò)下位機的鍵盤(pán)設置加熱爐溫度為80℃.單擊“打開(kāi)通信端口”,選擇所要通信的端口后,單擊“開(kāi)始測溫”,這時(shí)下位機就會(huì )向上位機發(fā)送實(shí)時(shí)溫度值,并實(shí)時(shí)繪出溫度趨勢曲線(xiàn)。
當單擊“結束”時(shí),整個(gè)系統停止工作。上位機顯示的溫度趨勢曲線(xiàn)如圖6所示,測試結果顯示,該系統對加熱爐溫度的采集和控制比較準確。
5 結束語(yǔ)
充分利用AVR ATmega16單片機的內部資源,系統集成 度高,系統利用增量式PID算法改變PWM的輸出值,然后控制可控硅的開(kāi)關(guān),最終使被控對象的溫度值趨向于給定的溫度值。該系統操作容易、可靠性好,具有較高的實(shí)用價(jià)值。就其采樣頻率和分辨率來(lái)說(shuō)屬于中速類(lèi)型,適合于對數據采樣頻率要求不是特別高的應用場(chǎng)合。
評論