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