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