基于單片機(jī)及PC機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:給出了采用STC89C52單片機(jī)進(jìn)行自適應(yīng)控制來(lái)控制PWM波,進(jìn)而控制電爐的加熱,以實(shí)現(xiàn)溫度控制的設(shè)計(jì)方法。這套溫度測(cè)控系統(tǒng)彌補(bǔ)了傳統(tǒng)PID控制結(jié)構(gòu)在特定場(chǎng)合下性能下降的不足。與傳統(tǒng)的系統(tǒng)相比,該電路結(jié)構(gòu)簡(jiǎn)單,測(cè)溫精度高,溫度控制誤差小,并在不同時(shí)間常數(shù)下均可達(dá)到技術(shù)指標(biāo)。文章同時(shí)給出了用串口調(diào)試精靈將PID控制器的輸出和溫度采樣值顯示在PC機(jī)上,以方便溫度的監(jiān)控的實(shí)現(xiàn)方法。
關(guān)鍵詞:溫度控制;自適應(yīng);PID;PC機(jī)
0 引言
目前,水溫控制被廣泛應(yīng)用于食品、醫(yī)藥、化工、家電等很多領(lǐng)域,水溫控制的好壞直接影響著產(chǎn)品的品質(zhì),因此,水溫控制具有十分重要的意義。本設(shè)計(jì)的任務(wù)與要求為1 L水由1 kW的電爐加熱,要求水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)定的溫度基本不變。主要性能指標(biāo):溫度設(shè)定范圍為25.0~100℃,最小區(qū)分度為0.1℃,溫度控制的靜態(tài)誤差小于或等于0.1℃,用SMC1602A液晶顯示模塊顯示實(shí)際水溫和PID控制算法中的三個(gè)主要參數(shù)Kc、Ti、Td的賦值,用串口調(diào)試精靈將PID控制器的輸出和溫度采樣值顯示在PC機(jī)上。
1 系統(tǒng)方案
本設(shè)計(jì)以STC89C52單片機(jī)為核心,采用了溫度傳感器DS18B20、RS232標(biāo)準(zhǔn)接口及PID控制算法對(duì)溫度進(jìn)行控制。
該水溫控制系統(tǒng)是一個(gè)典型的檢測(cè)、控制型應(yīng)用系統(tǒng),它要求系統(tǒng)完成從水溫檢測(cè)、信號(hào)處理、輸入、運(yùn)算,到輸出控制電爐加熱功率以實(shí)現(xiàn)水溫控制的全過(guò)程。本設(shè)計(jì)實(shí)現(xiàn)了水溫的智能化控制以及提供完善的人機(jī)交互界面及PC機(jī)與單片機(jī)通信接口,系統(tǒng)由PC機(jī)與單片機(jī)通信模塊、溫度檢測(cè)及其顯示模塊、PID控制算法等模塊組成,其特點(diǎn)在于采用PC機(jī)與單片機(jī)通信,系統(tǒng)框圖如圖1所示。
2 硬件電路設(shè)計(jì)
本電路總體設(shè)計(jì)包括四部分:主機(jī)控制部分(STC89C52)、溫度采樣與顯示電路、溫度控制電路、PC機(jī)與單片機(jī)通信電路。
2.1 主機(jī)控制部分
主機(jī)控制部分是電路的核心,系統(tǒng)的控制采用單片機(jī)89C52。單片機(jī)89C52內(nèi)部有8 KB單元的程序存儲(chǔ)器以及512 B的數(shù)據(jù)存儲(chǔ)器,因此,系統(tǒng)不必?cái)U(kuò)展外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,這樣就可以大大減少系統(tǒng)硬件部分的復(fù)雜度。
2.2 溫度采樣與顯示電路
系統(tǒng)的信號(hào)采集與顯示電路主要由溫度傳感器DS18B20和SMC1602A液晶顯示模塊兩部分組成。
DS18B20采用獨(dú)特的單線接口方式,在與微處理器連接時(shí),僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信。測(cè)溫范圍為-55~+125℃,固有測(cè)溫分辨率為0.5℃,工作電源為3~5 V/DC,在使用中不需要任何外圍元件,測(cè)量結(jié)果以9~12 b數(shù)字量方式串行傳送,適用于DN15~25、DN40~DN250各種介質(zhì)工業(yè)管道和狹小空問(wèn)設(shè)備的測(cè)溫。
SMC1602液晶顯示器以其微功耗、小體積、使用靈活等諸多優(yōu)點(diǎn)在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用。液晶顯示器通常可分為兩大類(lèi),一類(lèi)是點(diǎn)陣型,另一類(lèi)是字符型。點(diǎn)陣型液晶通常面積較大,可以顯示圖形;而一般的字符型液晶只有兩行,面積小,只能顯示字符和一些很簡(jiǎn)單的圖形,簡(jiǎn)單、易控制且成本低。目前,市面上的字符型液晶絕大多數(shù)是基于HD44780液晶芯片的,所以控制原理是完全相同的,為HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。字符型LCD通常有14條引腳線(市面上也有很多16條引腳線的LCD,多出來(lái)的2條線是電源線VCC(15腳)和地線GND。
2.3 溫度控制電路
此部分電路主要由光電耦合器、三極管和繼電器組成。光電耦合器的耐壓值為400 V,它的輸出級(jí)經(jīng)三極管將功率放大后控制繼電器常開(kāi)觸點(diǎn)的通斷,從而最終達(dá)到控制電爐子的目的,100 Ω電阻與0.01 μF電容組成雙向可控硅保護(hù)電路。
2.4 PC機(jī)與單片機(jī)通信電路
為了使系統(tǒng)具有更好的人機(jī)交換界面,在系統(tǒng)設(shè)計(jì)中我們通過(guò)Visual Basic語(yǔ)言設(shè)計(jì)了微機(jī)控制界面。系統(tǒng)與微機(jī)的通信大大提高了系統(tǒng)的各方面陛能。
由于單片機(jī)89C52串行口為T(mén)TL電平,而PC機(jī)為RS232電平,因此,系統(tǒng)采用了MAX232電平轉(zhuǎn)換芯片來(lái)進(jìn)行電平轉(zhuǎn)換。
因?yàn)橄到y(tǒng)設(shè)計(jì)了通信功能,即主系統(tǒng)(89C52)和PC機(jī)的通信,所以在觀察PID控制器的輸出時(shí)更加明顯,很大程度上降低了參數(shù)整定的難度。另外,通過(guò)可視化窗口能夠看到系統(tǒng)的采樣值。
3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)主要包括三大部分:PC機(jī)與單片機(jī)通信模塊的軟件設(shè)計(jì)、溫度采樣與顯示電路模塊的軟件設(shè)計(jì)、溫度控制模塊的軟件設(shè)計(jì)。
3.1 主程序流程圖
主程序流程如圖2所示,程序主要完成以下的幾部分任務(wù):
(1)初始化:設(shè)定各參數(shù)的初始值,設(shè)定串行口、定時(shí)器以及液晶顯示模塊。
(2)PC機(jī)與單片機(jī)通信:此部分程序主要完成數(shù)據(jù)在PC機(jī)和單片機(jī)間的相互發(fā)送,其主要通過(guò)89C52單片機(jī)的半雙工串行口完成,從而完成與微機(jī)控制接口RS232的連接及通信的控制。
(3)溫度采集及其顯示:主要完成溫度信號(hào)的采集及其對(duì)轉(zhuǎn)換后的數(shù)字量進(jìn)行處理,進(jìn)而用字符型液晶顯示模塊將實(shí)時(shí)溫度進(jìn)行顯示。
3.2 PID控制算法
PID算法是此溫控系統(tǒng)性能好壞的決定性因素。其一般算式及模擬控制規(guī)律表達(dá)式如下:
式中,u(t)為控制器的輸出;e(t)為偏差,即設(shè)定值與反饋值之差;Kc為控制器的放大系數(shù),即比例增益;Ti為控制器的積分常數(shù);Td為控制器的微分時(shí)間常數(shù)。PID算法的原理即調(diào)節(jié)Kc、Ti、Td三個(gè)參數(shù),使系統(tǒng)達(dá)到穩(wěn)定。
由于PID的一般算式不易與單片機(jī)處理,因此,在設(shè)計(jì)中采用了增量型PID算法。將式(1)轉(zhuǎn)換成
式(3)中的u(k)即輸出PWM波的導(dǎo)通時(shí)間。其控制算法如圖3所示。
4 測(cè)試方法與測(cè)試結(jié)果
4.1 測(cè)試方法
在電爐子中放入1 L清水,電爐子和控制系統(tǒng)相連,給系統(tǒng)上電,系統(tǒng)進(jìn)入準(zhǔn)備工作狀態(tài)。分別設(shè)定溫度為35.3℃、40.2℃、45℃、60℃、74.0℃、81℃,觀察設(shè)定溫度和實(shí)際溫度,并記錄數(shù)據(jù)。填寫(xiě)表1,同時(shí)觀察水溫變化的動(dòng)態(tài)情況,并記錄溫度穩(wěn)定的時(shí)間,填寫(xiě)表2。
4.2 測(cè)試結(jié)果
設(shè)定溫度與實(shí)測(cè)溫度的數(shù)據(jù)對(duì)比如表1所列。表2所列是溫度穩(wěn)定和時(shí)間的關(guān)系,表2中的設(shè)定溫度為50℃,每隔30 s記錄實(shí)測(cè)溫度。
5 結(jié)論
從表1中的數(shù)據(jù)可知,系統(tǒng)的誤差基本穩(wěn)定在±0.3℃,因而能很好地滿足系統(tǒng)的設(shè)計(jì)要求。從表2所得的數(shù)據(jù)可知,系統(tǒng)運(yùn)行5 min時(shí),基本達(dá)到了穩(wěn)定,說(shuō)明系統(tǒng)能很好地控制溫度達(dá)到理想值,為需要精確控制溫度的任務(wù)提供了參考。同時(shí),系統(tǒng)實(shí)現(xiàn)了PC機(jī)與單片機(jī)的通信,把控制參數(shù)和控制結(jié)果顯示PC機(jī)上,方便監(jiān)控,實(shí)現(xiàn)了溫度的控制和智能監(jiān)控。