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