王博 曾方 程一哲
摘要:為得到穩(wěn)定的水溫控制功能,本文設計了一個基于STC89C52單片機的PID自動水溫控制系統(tǒng)。該系統(tǒng)具有實時顯示溫度、修改設定溫度,PID自動控制溫度和溫度上下限報警等功能。該系統(tǒng)通過單片機進行溫度實時測量,并基于PID算法達到溫度恒定控制的功能。系統(tǒng)由單片機STC89C52將溫度傳感器DS18B20 所采集的溫度在LED顯示屏上實時顯示,并通過PID控制算法令水溫保持為指定的溫度值。
關鍵詞:單片機;STC89C52;DS18B20;PID算法;LED顯示
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)27-0242-02
1 系統(tǒng)概述
本文采用PID 控制算法實現(xiàn)保持水溫恒定的系統(tǒng)功能。該溫控系統(tǒng)采用螺旋加熱管加熱——將螺旋加熱管固定到容器的內(nèi)部,給加熱管通電時,會使容器中的水產(chǎn)生對流,令水溫快速上升,加熱效率高。溫控系統(tǒng)的制冷元件使用半導體制冷片,能夠達到快速制冷的目的。測量水溫的溫度傳感器選擇DS18B20,該溫度傳感器使用單總線與主機進行通信,信號傳輸速度快,靈敏度高,能大大減少系統(tǒng)的響應時間。系統(tǒng)的顯示部分放置在容器外壁上,采用4位七段LED數(shù)碼管實時顯示溫度和預設溫度。電源采用PWM方式調(diào)節(jié)加熱或制冷的輸出功率,從而改變加熱與制冷的功效,達到可變輸出功效的效果。
該系統(tǒng)主要特點為:
1) 通過DS18B20溫度傳感器減少了A/D轉換電路,簡化了電路結構。
2) 采用SSR固態(tài)繼電器,簡化了功率控制電路,提高了系統(tǒng)的穩(wěn)定性。
3) 基于PID算法和PWM調(diào)制的系統(tǒng)設計,能夠充分保證系統(tǒng)的可靠性和安全性,并使系統(tǒng)的動態(tài)性能也達到較好的效果。
2 硬件電路
系統(tǒng)采用方形玻璃魚缸作為裝水容器。系統(tǒng)硬件電路主要包含四個部分:溫度采集電路,加熱控制電路,制冷電路以及顯示電路。硬件電路的系統(tǒng)框圖如圖1所示:
2.1 溫度采集電路
本系統(tǒng)使用DS18B20溫度傳感器來測量水溫。該傳感器可以直接輸出數(shù)字量,與總線接口只需一根信號線,能夠節(jié)省單片機的引腳接口資源,電路設計簡單,容易實現(xiàn)。
DS18B20溫度傳感器僅有三個引腳,三個引腳中一端接電源,一端接地,另一端接單片機的數(shù)據(jù)傳輸引腳,進行總線通信。本系統(tǒng)使用三個溫度傳感器采集不同深度位置的水溫取平均值以減小誤差。溫度采集電路如圖2所示:
2.2 加熱電路
本系統(tǒng)使用螺旋加熱管對容器中的水進行加熱。在螺旋加熱管的加熱輸出方面,采用單片機結合繼電器進行電源通斷控制,讓單片機通過PWM調(diào)制方法控制繼電器來達到加熱力度可調(diào)的加熱效果。PWM調(diào)制方法可令繼電器對系統(tǒng)的干擾較小,調(diào)節(jié)響應時間短,能方便的達到控制水溫的目的。另外,PWM脈沖調(diào)制可以方便地在軟件編程中實現(xiàn),比硬件實現(xiàn)方法要簡單和高效。圖3為繼電器PWM控制電路的仿真圖(圖中使用12V燈泡來模擬替代加熱管)。
2.3 鍵盤、顯示電路
如圖4所示,本系統(tǒng)使用按鍵實現(xiàn)溫度預設值的設定調(diào)節(jié)。進行預設溫度調(diào)節(jié)時,設置了三個按鍵,一個按鍵實現(xiàn)溫度的菜單顯示,一個按鍵實現(xiàn)溫度預設值的增加,第三個按鍵實現(xiàn)溫度預設值的減小。
設置好溫度預設值之后,系統(tǒng)的顯示電路能讓預設的溫度值顯示在LED數(shù)碼管上。按下菜單鍵時,數(shù)碼管能夠顯示當前溫度傳感器采集的溫度數(shù)值。顯示電路使用四位七段數(shù)碼管,溫度顯示時保留一位小數(shù),能夠實時顯示溫度傳感器所采集的溫度值。系統(tǒng)使用單片機的P1、P2引腳分別控制數(shù)碼管的段選端和位選端,并用程序中的延時函數(shù)來設置數(shù)碼管的動態(tài)顯示,令數(shù)碼管能夠穩(wěn)定的顯示溫度值。
3 軟件設計
3.1 程序流程圖
軟件系統(tǒng)能夠實現(xiàn)對水溫的測量與控制,并能將溫度數(shù)據(jù)用數(shù)碼管顯示出來。控制程序能夠實現(xiàn)1℃精度范圍內(nèi)溫度的PID控制,以達到在設定的溫度下水溫保持恒定不變的功能。
主程序流程圖如圖5所示,可實現(xiàn)對預設溫度值的設定、控制,和顯示實時溫度數(shù)據(jù)功能。
3.2 PID算法
在使用PID算法進行水溫調(diào)節(jié)時,通過單片機來調(diào)整PWM波的占空比,PWM波的頻率為50HZ,可根據(jù)不同的溫度情況通過調(diào)節(jié)占空比的不同來實現(xiàn)對水溫的控制。通過PWM調(diào)制,可以對加熱管的輸出功率進行控制,減小水的溫度慣性。
另外,使用PID算法可減小水溫接近預設溫度時產(chǎn)生的靜態(tài)誤差,僅使用加熱管進行加熱就可以達到恒溫控制效果,從而去除溫度靜差的影響。
4 結論
在科技高速發(fā)展的今天,自動控制技術已經(jīng)被廣泛應用于我們的生活、工作和科研等各個領域。本文研究了一種由控制電路、制熱電路、顯示電路和按鍵電路等部分組成的水溫控制系統(tǒng)。控制單元采用51系列單片機,通過DS18B20集成溫度傳感器,進行溫度數(shù)據(jù)的采集和反饋;為了提高電路系統(tǒng)的穩(wěn)定性,使用PWM調(diào)制方法控制SSR固態(tài)繼電器通斷,從而將功率控制電路進行簡化;采用軟件控制方法,基于PID算法來控制水溫恒定,減小了水溫控制的慣性值。本文設計的水溫控制系統(tǒng)操作方便、顯示清晰、穩(wěn)定性好、精準度高、實用性強,具有廣泛的應用前景。
參考文獻:
[1] 丁元杰. 單片機原理及應用[M]. 北京:機械工業(yè)出版社,2010:62-74.
[2] 王建華. 計算機控制[M]. 北京:高等教育出版社, 2009:31-116.
[3] 孫安青. AT89S51單片機實驗及實踐教程[M]. 北京:機械工業(yè)出版社,2012:113-125.
[通聯(lián)編輯:梁書]