李昌祿,李海賓,李希茜
基于STC89C52的自動水溫控制系統(tǒng)設(shè)計與實現(xiàn)
李昌祿,李海賓,李希茜
(天津大學(xué) 電氣電子實驗中心,天津 300072)
文中以單片機(jī)STC89C52為控制核心,單線數(shù)字溫度傳感器DS18B20構(gòu)成前置信號采集電路,固體繼電器SSR構(gòu)成后向控制電路,根據(jù)分段控制的思想簡化復(fù)雜的增量型數(shù)字PID算法,對加熱系統(tǒng)的水溫進(jìn)行控制。目標(biāo)溫度可在30℃~80℃范圍內(nèi)任意設(shè)定,靜態(tài)誤差小于1℃。經(jīng)過實驗測試,系統(tǒng)運行穩(wěn)定,控制效果良好。
水溫控制;STC89C52單片機(jī);DS18B20溫度傳感器;PID算法
現(xiàn)代工業(yè)生產(chǎn)中,很多的電子產(chǎn)品都要用到溫度檢測和溫度控制;在科研、生產(chǎn)中,常需要對某些系統(tǒng)進(jìn)行溫度的監(jiān)測和控制[1]。各種適用于不同場合的智能溫度控制器應(yīng)運而生,智能化的控制系統(tǒng)成為一種發(fā)展趨勢[2]。傳統(tǒng)的通過人工使用溫度計測量,再使用設(shè)備加熱來控制溫度的方法,不僅效率低、質(zhì)量差,而且不易及時控制溫度變化,導(dǎo)致生產(chǎn)的變質(zhì),造成較大經(jīng)濟(jì)損失[3]。目前,國外也開發(fā)出了一些基于單片機(jī)的溫度控制設(shè)備,但價格較高,且其操作系統(tǒng)均為英文,普及性不強(qiáng)[4]。本文設(shè)計的基于STC89C52單片機(jī)的自動水溫控制系統(tǒng),不僅精度較高,能夠滿足生產(chǎn)、生活中的各項指標(biāo)要求,而且可靠性好、靈活度高,達(dá)到穩(wěn)定熱平衡的時間較短。
1.1 系統(tǒng)概述
設(shè)計一個自動水溫控制系統(tǒng)來控制容器中的500 mL水,設(shè)計要求應(yīng)滿足調(diào)節(jié)溫度為30℃~80℃,最小區(qū)分度為1℃,溫度控制的靜態(tài)誤差≤0.5℃。
采用基于PID思想的控制方法,當(dāng)設(shè)定的溫度發(fā)生突變時使系統(tǒng)的響應(yīng)加快,盡可能減小調(diào)節(jié)時間和超調(diào)量,并且實時顯示控制溫度和實際溫度。
1.2 整體方案
通過對系統(tǒng)進(jìn)行深入分析和思考,可以將系統(tǒng)硬件分為以下四個部分:STC89C52單片機(jī)最小系統(tǒng)、DS18B20溫度采集電路、加熱控制電路和顯示電路。系統(tǒng)框圖如圖1所示。
圖1 整體系統(tǒng)框圖
2.1 溫度采集模塊
由于溫度傳感器DS18B20可直接使用數(shù)字量與單片機(jī)通信,讀取測溫數(shù)據(jù)控制方便,且它能夠達(dá)到0.5℃的固有分辨率[5],滿足我們對于精度的要求。
該傳感器的特點包括:(1)基于DS18B20;(2)具有專門設(shè)計的不銹鋼外殼,壁厚僅0.2 mm;(3)具有導(dǎo)熱性高的密封膠,保證靈敏度,可在水中長期使用。DS18B20是美國DALLAS公司推出的一種可組網(wǎng)數(shù)字式溫度傳感器,采用1-wire總線接口,測溫范圍為-55℃~+125℃,精度可達(dá)0.067 5℃,最大轉(zhuǎn)換時間為200 ms[6]。DS18B20的工作電壓為3~5 V,而且測量的精度可以在程序中設(shè)置,最大可達(dá)0.062 5℃。
DS18B20內(nèi)置AD轉(zhuǎn)換器,無須外加電路,其接口電路有三部分:單線數(shù)據(jù)傳輸總線端口P3.7、外供電源線VCC和地線,如圖2所示。
圖2 DS18B20溫度傳感器接口電路
2.2 加熱電路
固態(tài)繼電器使用簡單,不需要外加光耦而且沒有觸點,本身就能實現(xiàn)良好的電氣隔離效果,故選用固態(tài)繼電器來頻繁地控制加熱器工作。通過單片機(jī)根據(jù)溫差調(diào)節(jié)PWM波占空比,以控制固態(tài)繼電器的通斷時間來達(dá)到控制加熱器功率的目的[7],適合于功率較小的系統(tǒng),滿足我們的要求。
根據(jù)設(shè)計要求,當(dāng)水溫大于設(shè)定溫度值時,停止加熱,當(dāng)水溫低于設(shè)定溫度值時開始加熱。根據(jù)設(shè)定溫度與實際溫度的溫差Δu(k)的大小,通過單片機(jī)產(chǎn)生占空比不同的PWM波來控制繼電器進(jìn)行通斷以調(diào)節(jié)加熱時間,由于功率與占空比成正比,所以可實現(xiàn)加熱功率的控制。加熱電路圖如圖3所示。
圖3 自動水溫控制系統(tǒng)加熱電路
2.3 顯示電路
用STC89C52單片機(jī)系統(tǒng)的BCD數(shù)碼管顯示被測溫度和設(shè)定溫度[8]。用4個獨立按鍵組成鍵盤,分別實現(xiàn)設(shè)定溫度的升高與降低及系統(tǒng)的啟動與關(guān)斷。該方案程序簡單且直觀,具有良好的效果。
程序主要由三部分構(gòu)成,包括一個主程序和兩個中斷子程序。主程序負(fù)責(zé)解決傳感器初始化、兩個中斷程序初始化、數(shù)據(jù)溫度顯示以及計算控制等問題;兩個中斷程序分別負(fù)責(zé)溫度采樣和PMW波的占空比控制。
本系統(tǒng)的核心就是加熱控制算法的確定。利用增量式PID算法思想,我們根據(jù)溫差大小產(chǎn)生不同占空比的PWM波來控制固體繼電器的通斷,從而控制加熱功率。
Δu(k)=A e(k)-B e(k-1)+C e(k-2)
式中:e(k)為誤差值;A、B、C為PID系數(shù)。
加熱分兩種狀態(tài):(1)若當(dāng)前值小于輸入的設(shè)定值,則PWM波形占空比增加,輸出加熱,直到輸出值等于設(shè)定值;(2)若輸出值大于或等于設(shè)定值,則PWM輸出占空比減小,讓系統(tǒng)(水)自然散熱,一旦檢測到輸出值小于設(shè)定值時,又改變PWM波型輸出,返回狀態(tài)(1)[9]。通過時間長短不同的加熱和持續(xù)緩慢的散熱,讓水溫維持恒定。
主程序的流程圖如圖4所示:
圖4 主程序流程圖
4.1 靜態(tài)溫度測量
1)測試方法。斷開系統(tǒng)的供電電源,向容器中裝入500 mL水,保持環(huán)境因素不變,將數(shù)字溫度計放入水中測量實際水溫,與系統(tǒng)的顯示溫度相比較。由于水溫下降速度與測溫速度相比變化較慢,在測試過程中可視為靜態(tài)過程,因此,可以得出系統(tǒng)的靜態(tài)溫度測量結(jié)果。
2)測試儀器采用標(biāo)準(zhǔn)數(shù)字溫度計。
3)測試結(jié)果如表1所示。
表1 靜態(tài)溫度測試數(shù)據(jù) ℃
4.2 動態(tài)溫度測量
1)測試方法。接上系統(tǒng)的供電電源后,裝入500 mL水(溫度約等于室溫),通過鍵盤鍵入設(shè)定溫度。記錄設(shè)定溫度、起始溫度、穩(wěn)定溫度、調(diào)節(jié)時間、超調(diào)溫度、穩(wěn)態(tài)誤差等數(shù)據(jù)。
2)測試儀器采用數(shù)字溫度計。
3)要求測試條件為環(huán)境溫度24.2℃(附:加熱棒功率300 W)。
4)測試結(jié)果如表2所示。繪出的溫度-時間曲線圖,如圖5所示。
表2 動態(tài)溫度測試數(shù)據(jù)
圖5 溫度-時間曲線圖
通過理論分析和實驗驗證,本文使用STC89C52單片機(jī)、利用PWM波占空比控制算法設(shè)計的智能水溫控制系統(tǒng)可以方便、自動控制設(shè)備工作,并具有測量溫度準(zhǔn)確、控溫精度高、顯示直觀、運行可靠、使用簡單等優(yōu)點。本系統(tǒng)的工作溫度為30℃~80℃,測量誤差和控溫誤差均小于1℃,利用算法使得在溫度調(diào)節(jié)階段達(dá)到平衡溫度時間相對較短,在現(xiàn)場測試及應(yīng)用中收到了相當(dāng)好的效果,在實際生產(chǎn)過程中具有一定的應(yīng)用價值。
[1]彭建英,謝國慶.水溫智能控制系統(tǒng)的設(shè)計[J].中國儀器儀表,2005(7):77-78.
[2]明鑫,陳可中,王戎丞,等.基于單片機(jī)的水溫控制系統(tǒng)[J].現(xiàn)代電子技術(shù),2005(6):1-2.
[3]劉健,龐興龍.基于AT89S51的糧倉溫度測控系統(tǒng)設(shè)計[J].制造業(yè)自動化,2012(5):143-146.
[4]李震,洪添勝,黎嘉銘.基于AVR單片機(jī)和LabVIEW的水溫控制系統(tǒng)[J].計算機(jī)工程與設(shè)計,2007,28(3):615-617.
[5]陳良光,管聰慧.由數(shù)字式傳感器DS18B20構(gòu)成的多點測溫系統(tǒng)[J].傳感器世界,1999(9):32-35.
[6]趙亮,侯國銳.單片機(jī)C語言編程與實例[M].北京:人民郵電出版社,2003:307-311.
[7]孫明超,靳亞林,肖術(shù)雷.基于AT89C51單片機(jī)的水溫控制系統(tǒng)[J].數(shù)字技術(shù)與應(yīng)用,2011(7):163.
[8]蔡振江.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[9]肖恩忠.基于AT89C52的電阻爐智能溫度控制系統(tǒng)[J].農(nóng)機(jī)化研究,2005(3):238-239.
Circuit Design and Im p lementation of W ater Tem perature Control System Based on STC89C52
LIChanglu,LIHaibin,LIXixi
(Experimental Center of Electrical and Electronic Technology,Tianjin University,Tianjin 300072,China)
The system takes the STC89C52 SCM as its controlling core.Its hardwaremainly consists of two parts.The single digital temperature sensor DS18B20 constitutes a pre-signal acquisition circuit,while the back controlling circuit ismainly composed of the SSR solid-state relay.The system controls the temperature of the water with an arithmetic named Proportion-Integra-Derivative(PID).The temperature can be discretionarily set in the work region,which is from 30℃to 80℃.In our system the static error can be limited in 1 centigrade.Through experiment analysis,the system works stably and controlswell.
temperature control;STC89C52 single chip;DS18B20 temperature sensor;PID controlling arithmetic
TP273
A
10.3969/j.issn.1672-4550.2014.05.009
2013-09-13;修改時間:2013-10-15
李昌祿(1975-),男,碩士,工程師,主要從事電子技術(shù)應(yīng)用研究工作。