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