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