基于ATmega16L單片機的溫度控制系統設計
(1)主程序 系統主程序主要完成系統各部件初始化操作,此外,在系統開始運行后等待按鍵處理。圖4為其流程。 本文引用地址:http://www.104case.com/article/173433.htm
(2)按鍵處理程序 鍵盤處理程序通常采用查詢方法實現按鍵的識別,CPU只要一有空閑就調用鍵盤掃描程序,查詢鍵盤,識別鍵值,并予以處理。
(3)A/D轉換程序 ATmega16有一個10位包括采樣保持電路的逐次逼近型A/D轉換器,該轉換器與一個8通道模擬多路復用器連接,能對來自端口A的8路單端輸入電壓進行采樣。通過設置ADCSRA寄存器的ADEN即可啟動A/D轉換器,只有當ADEN置位時,參考電壓及輸入通道選擇才生效。向A/D轉換器啟動轉換位ADSC位寫“1”可啟動單次轉換。在轉換過程中此位保持為高電平,直到轉換結束觸發中斷。然后被硬件清零。
(4)增量式PID處理程序 該溫度控制系統具有滯后性、時變性和非線性,不可能建立該系統的精確數學模型,因此如果使用常規的線性控制理論,要達到滿意的控制效果非常困難。采用 增量式數字PID控制器,可解決這個難題。
增量式PID是指數字控制器的輸出只是控制量的增量,由于計算機輸出的是增量,所以誤動作時對輸出的影響較小。控制增量的確定僅與最近的k、k-1、k-2次的采樣有關,所以能夠較容易地通過加權處理而獲得較好的控制效果。另外,對于數字控制系統,由于A/D轉換器位數的限制,其輸出控制量受最小和最大值的限制,系統加入抗積分飽和法對其優化。圖5為增量式PID控制算法程序流程。
評論