基于數(shù)字PID和89C52單片機的溫度控制系統(tǒng)
1 系統(tǒng)結(jié)構(gòu)及主要硬件電路設(shè)計
1.1 系統(tǒng)結(jié)構(gòu)
該系統(tǒng)的控制對象是水溫,水溫經(jīng)測溫傳感器DSl820轉(zhuǎn)換成電壓信號,經(jīng)A/D轉(zhuǎn)換成計算機可以接收的數(shù)字信號,保存在89C52單片機采樣值單元中;再利用鍵盤輸入設(shè)定溫度,經(jīng)溫度標度轉(zhuǎn)換成二進制數(shù),保存在單片機內(nèi)設(shè)定值單元;然后,調(diào)用顯示子程序,顯示設(shè)定溫度和采樣溫度,然后把采樣值與設(shè)定值輸入單片機內(nèi)進行數(shù)字PID控制算法的運算,運算結(jié)果由單片機輸出,通過可控硅交流調(diào)壓裝置來控制時間的導通和關(guān)斷,在達到設(shè)定溫度后利用PWM方法來保持此溫度,以此來調(diào)節(jié)溫度。該系統(tǒng)原理圖如圖1所示。
l.2 硬件電路設(shè)計
根據(jù)任務(wù)要求,確定了器件和系統(tǒng)電路。系統(tǒng)電路簡圖如圖2所示。該系統(tǒng)以高性能/價格比的89C252單片機為控制系統(tǒng)的核心,采用新型單片機數(shù)字測溫傳感器DSl820來測量溫度,由雙向可控硅驅(qū)動電路MOC3854和雙向可控硅TLC253A組成輸出控制通道。除此之外,還有鍵盤電路、顯示電路、報警電路等。
89C52單片機是控制系統(tǒng)的核心,實現(xiàn)水溫檢測、數(shù)字濾波、控制算法運算、信息存儲等功能。89C52通過數(shù)據(jù)、地址、控制總線與A/D轉(zhuǎn)換器相連,完成模擬量與數(shù)字量之間的轉(zhuǎn)換。測量機構(gòu)采用溫度傳感器DSl820作為溫度測量電路的核心器件,DSl820是一款兩端器件,只需要一個直流電壓源,功率的需求比較低,可量測范圍-40~180℃,其輸出是高阻抗電流,因而大阻值的電阻對器件工作影響不大,具有非常好的線性輸出性能。執(zhí)行機構(gòu)是可控硅交流調(diào)壓裝置,其輸入信號為高低電平,通過改變輸入信號來調(diào)節(jié)加熱爐絲的電壓。鍵盤部分主要在程序中引入3個中斷,即串位鍵、+l鍵、-1鍵分別對應(yīng)3個中斷,當某個鍵按下時,中斷口便產(chǎn)生一個下降沿,從而進入相應(yīng)的中斷服務(wù)子程序。顯示利用8155進行擴展成4位BCD碼,前2位為設(shè)定值,后2位為采樣值,實現(xiàn)了動態(tài)循環(huán)顯示特性。
2 程序流程及溫控算法
2.1 程序流程
系統(tǒng)的程序流程主要包括系統(tǒng)的主程序、對89C52單片機硬件電路的初始化、環(huán)境溫度采集子程序、溫度控制子程序、鍵盤控制子程序、報警子程序等部分構(gòu)成。程序流程圖如圖3所示,該系統(tǒng)的軟件是在89C5l單片機仿真開發(fā)環(huán)境下采用基于51系列的C語言編寫的,用C語言來設(shè)計程序大大提高了開發(fā)調(diào)試的工作效率,使得程序結(jié)構(gòu)清晰,便于進一步擴展系統(tǒng)的功能。
2.2 溫控算法
溫控系統(tǒng)采用數(shù)字PID算法,并由軟件實現(xiàn),所謂PID控制就是按設(shè)定值與測量值之間偏差的比例、偏差的積累和偏差變化的趨勢進行控制。它根據(jù)采樣時刻的偏差值計算控制量。因此PID控制律的實現(xiàn),必須用數(shù)值逼近法。當采樣周期相當短時,可以用求和代替積分,用差商代替微分,即做如下近似變換:
式中,k為采樣序號,k=l,2,…;T為采樣周期。
顯然,上述離散化過程中,采樣時間T必須足夠短,才能保證有足夠的精度。為了書寫方便,將e(kT)簡化表示成e(k)等,即省去T??梢缘玫诫x散的PID表達式為:
式中,k為采樣序號,k=1,2,…,;u(k)為第k次采樣時刻的計算機輸出值;e(k)為第k次采樣時刻輸入的偏差值;e(k-1)為第(k-1)次采樣時刻輸入的偏差值;K1為積分系數(shù),;KD為積分系數(shù)。
該系統(tǒng)采用增量式PID控制算法,是指數(shù)字控制器輸出只是控制量的增量,該算法編程簡單,數(shù)據(jù)可以遞推使用,占用存儲空間少,運算快。
根據(jù)遞推原理可得:
3 結(jié)束語
本文主要從硬件和軟件兩個方面具體描述了基于數(shù)字PID的89C52單片機溫度控制系統(tǒng)的構(gòu)造。該系統(tǒng)充分發(fā)揮了89C52單片機對模擬量的采集處理和增量式數(shù)字PID控制算法的功能,可以比較靈活的調(diào)節(jié)控制信號的導通時間來控制加熱電路和冷卻電路的工作。該系統(tǒng)基本滿足了溫度控制的要求,具有超調(diào)量小,振蕩幅度小,設(shè)定值可以隨時用按鍵人為設(shè)定等優(yōu)點,同時該系統(tǒng)還避免了控制過程中的不確定性及噪聲,提高了系統(tǒng)的工作效率。理論和實踐證明,該系統(tǒng)具有高可靠性、高性價比、控制簡單方便等優(yōu)點,大大提高測量的精度。