《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DS18B20的溫度控制系統(tǒng)設(shè)計(jì)
基于DS18B20的溫度控制系統(tǒng)設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2013年第17期
艾 誠(chéng)1,,韓峻峰2
(1.廣西科技大學(xué),,廣西 柳州 545006;2.廣西機(jī)電職業(yè)技術(shù)學(xué)院,,廣西 南寧 530007)
摘要: 該溫度控制系統(tǒng)以STC89C52單片機(jī)為核心,,采用DS18B20數(shù)字溫度傳感器采集溫度,,并以PWM形式輸出,確保溫度輸出的穩(wěn)定,,再結(jié)合PID閉環(huán)控制,,使系統(tǒng)能夠更穩(wěn)定地運(yùn)行。先利用Proteus軟件結(jié)合Keil軟件仿真,,再用STC89C52單片機(jī)進(jìn)行實(shí)測(cè),,從而進(jìn)一步驗(yàn)證了設(shè)計(jì)的可靠性和準(zhǔn)確性,所控制溫度的精度能達(dá)到±1 ℃范圍之內(nèi),。該系統(tǒng)具有靈活性強(qiáng),、電路簡(jiǎn)單、可靠性高,、易于操作等優(yōu)點(diǎn),,能夠?qū)崿F(xiàn)對(duì)溫度的穩(wěn)定控制。
Abstract:
Key words :

摘  要: 該溫度控制系統(tǒng)以STC89C52單片機(jī)為核心,,采用DS18B20數(shù)字溫度傳感器采集溫度,,并以PWM形式輸出,確保溫度輸出的穩(wěn)定,,再結(jié)合PID閉環(huán)控制,,使系統(tǒng)能夠更穩(wěn)定地運(yùn)行。先利用Proteus軟件結(jié)合Keil軟件仿真,,再用STC89C52單片機(jī)進(jìn)行實(shí)測(cè),,從而進(jìn)一步驗(yàn)證了設(shè)計(jì)的可靠性和準(zhǔn)確性,所控制溫度的精度能達(dá)到±1 ℃范圍之內(nèi),。該系統(tǒng)具有靈活性強(qiáng),、電路簡(jiǎn)單、可靠性高,、易于操作等優(yōu)點(diǎn),,能夠?qū)崿F(xiàn)對(duì)溫度的穩(wěn)定控制。
關(guān)鍵詞: STC89C52;DS18B20,;PID閉環(huán)控制,;Proteus

 溫度的變化影響各種系統(tǒng)的自動(dòng)運(yùn)作,例如冶金,、機(jī)械,、食品、化工等工業(yè)中,,廣泛使用各種加熱爐,、散熱處理、反應(yīng)爐等,,要求對(duì)工件的溫度進(jìn)行控制,。對(duì)于不同的控制系統(tǒng),其適宜的溫度總是在一個(gè)范圍,,超過(guò)這個(gè)范圍,,系統(tǒng)或許會(huì)停止運(yùn)行或遭受破壞,因此必須能實(shí)時(shí)獲取溫度的變化,,對(duì)于超過(guò)適宜范圍的溫度能夠報(bào)警,。同時(shí)也希望在適宜溫度范圍內(nèi)可以由檢測(cè)人員根據(jù)實(shí)際情況加以改變。溫度控制在工業(yè)及日常生活中應(yīng)用廣泛,,分類(lèi)較多,,不同溫度控制系統(tǒng)的控制方法也不盡相同,其中以PID控制法最為常見(jiàn),。
1 溫度控制系統(tǒng)的組成及硬件設(shè)計(jì)
 本設(shè)計(jì)采用STC89C52單片機(jī)為處理器,,利用溫度傳感器DS18B20采集溫度,,結(jié)合Keil軟件編程[1],,實(shí)現(xiàn)用PID算法來(lái)控制PWM波形的產(chǎn)生,進(jìn)而控制加熱電阻以實(shí)現(xiàn)溫度控制,。該設(shè)計(jì)利用Proteus仿真為基礎(chǔ),,再結(jié)合單片機(jī)最小系統(tǒng)調(diào)試驗(yàn)證結(jié)果。系統(tǒng)的總體結(jié)構(gòu)框架圖如圖1所示,。

 本溫度閉環(huán)控制系統(tǒng)由溫度傳感器,、控制器、PWM控制模塊,、加熱電路,、鍵盤(pán)和顯示模塊等部分組成。單片機(jī)選用宏晶科技推出的新一代高速,、低功耗,、超強(qiáng)抗干擾的單片機(jī)STC89C52RC[2]。溫度經(jīng)過(guò)DS18B20傳感器模塊傳給控制器,控制器根據(jù)檢測(cè)值與設(shè)定值的偏差,,計(jì)算PID控制值,,其結(jié)果通過(guò)PWM模塊控制加熱電路功率,實(shí)現(xiàn)對(duì)溫度的控制,。系統(tǒng)硬件電路原理圖如圖2所示,。

 

 LCD1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的兩條線是背光電源線,。該模塊用D0~D7作為8 bit雙向數(shù)據(jù)線,,4 bit數(shù)據(jù)分兩次傳送,可以節(jié)省CPU的I/O口資源[4],。
 VSS,、VDD分別接地和5 V電源。VEE為液晶顯示器對(duì)比度調(diào)整端,,接正電源時(shí)對(duì)比度最弱,,接地電源時(shí)對(duì)比度最高。RS為寄存器選擇,,高電平時(shí)選擇數(shù)據(jù)寄存器,、低電平時(shí)選擇指令寄存器。R/W為讀寫(xiě)信號(hào)線,,高電平時(shí)進(jìn)行讀操作,,低電平時(shí)進(jìn)行寫(xiě)操作。E(或EN)端為使能(Enable)端,,下降沿使能,。DB0~DB7為雙向數(shù)據(jù)總線。
2 溫度控制系統(tǒng)軟件設(shè)計(jì)
 系統(tǒng)程序主要包括主程序,、初始化子程序,、PID計(jì)算子程序、溫度比較處理子程序,、延時(shí)子程序,、T0中斷服務(wù)子程序和DS18B20驅(qū)動(dòng)程序等。主程序流程圖如圖6所示,。

2.1 加熱功率PWM控制
 本設(shè)計(jì)采用的STC89C52單片機(jī)雖然不具有4路16位的可編程計(jì)數(shù)器陣列(SPA)或8位的可調(diào)制脈沖輸出(PWM)模塊,,但在本設(shè)計(jì)中,利用軟件編程,,通過(guò)PID控制,,調(diào)整PWM占空比,通過(guò)P1.5口輸出PWM信號(hào),,去控制外圍加熱電路,。PWM的輸出頻率決定于PCA定時(shí)器的時(shí)鐘源,。PCA定時(shí)器的時(shí)鐘輸入源有4種可供選擇,分別是Fosc/12,、Fosc/2,、定時(shí)器0的溢出頻率以及P3.4/ECT的輸入頻率。由于PWM是8位的,,因此PWM的輸出頻率=PCA時(shí)鐘輸入頻率/256,。本設(shè)計(jì)采用的是定時(shí)器0的溢出頻率作為PCA的時(shí)鐘輸入,這樣可以通過(guò)設(shè)置定時(shí)器0的計(jì)數(shù)值改變PWM的頻率,。本設(shè)計(jì)先進(jìn)行溫度比較,,再采用定時(shí)器0中斷來(lái)實(shí)現(xiàn)PWM輸出,從而實(shí)現(xiàn)溫度的實(shí)時(shí)控制,。
2.2 PID算法設(shè)計(jì)
 PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,,它將給定值R(t)與實(shí)際輸出值C(t)的偏差的比例(P)、積分(I),、微分(D)通過(guò)定值線性組合構(gòu)成控制量,,對(duì)控制對(duì)象進(jìn)行控制。其模擬PID控制系統(tǒng)原理框圖如圖7所示,。

 


void PIDInit(struct PID*pp)
{
……
{
unsigned int dError,,Error;
Error=pp->SetPoint-NextPoint,;//偏差
pp->SumError+=Error,;//積分
dError=pp->LastError-pp->PrevError;//當(dāng)前微分
pp->PrevError=pp->LastError,;
pp->LastError=Error,;
return(pp->Proportion*Error//比例
+pp->Integral*pp->SumError//積分項(xiàng)
+pp->Derivative*dError);//微分項(xiàng)
}
3 實(shí)驗(yàn)結(jié)果
 現(xiàn)利用Keil編輯程序結(jié)合Proteus所做的原理圖進(jìn)行仿真處理,,仿真結(jié)果可以達(dá)到設(shè)計(jì)要求,。本設(shè)計(jì)制作了硬件設(shè)計(jì)實(shí)物,通過(guò)PID控制,,當(dāng)加熱電阻靠近溫度傳感器時(shí),,測(cè)量溫度明顯上升,,并達(dá)到31℃(設(shè)置溫度),。此后加熱變緩,溫度維持在31℃,,系統(tǒng)溫度誤差精度可達(dá)到±1℃之內(nèi),,并且用蜂鳴器發(fā)出鳴響。當(dāng)加熱電阻離開(kāi)溫度傳感器,,測(cè)量溫度會(huì)降低,,當(dāng)實(shí)測(cè)溫度低于設(shè)置溫度,蜂鳴器不響。再次設(shè)置溫度,,當(dāng)加熱電阻再次靠近溫度傳感器時(shí),,測(cè)量溫度又明顯上升到設(shè)置溫度。
 為了更好地觀察實(shí)驗(yàn)結(jié)果,,證明仿真結(jié)果的可靠性,,體現(xiàn)本設(shè)計(jì)對(duì)溫度控制的穩(wěn)定性和精確性,經(jīng)過(guò)多次設(shè)置不同的溫度,,實(shí)驗(yàn)記錄數(shù)據(jù)如表1所示,。從記錄數(shù)據(jù)分析可知,本設(shè)計(jì)達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),,控制溫度誤差范圍在±1℃之內(nèi),。

 本系統(tǒng)以單片機(jī)為控制核心,采用PID算法進(jìn)行溫度閉環(huán)控制,,具有控制精度高,,能夠克服容量滯后的特點(diǎn),特別適用于負(fù)荷變化大,、容量滯后較大,、控制品質(zhì)要求高的控制系統(tǒng)[6-7]。以DS18B20溫度傳感器設(shè)計(jì)的溫度閉環(huán)控制系統(tǒng)線路簡(jiǎn)單,、硬件少,、成本低廉、軟件設(shè)計(jì)簡(jiǎn)單,,尤其是其具有完善的單總線通信協(xié)議,,無(wú)需復(fù)雜的布線,只需3根連線就能很容易地組成多點(diǎn)測(cè)溫系統(tǒng),,因此在工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中有著廣闊的應(yīng)用前景[8],。
參考文獻(xiàn)
[1] 胡壽松.自動(dòng)控制原理[M].北京:科學(xué)出版社,2002.
[2] 馬淑華,,王鳳文,,張美金,等.單片機(jī)原理與接口技術(shù)[M].北京:北京郵電大學(xué)出版社,,2005.
[3] 黃建偉.基于DS18B20無(wú)線溫度測(cè)量系統(tǒng)[J].煤礦機(jī)械,,2008,29(7):118-119.
[4] 潘新民,,王燕芳.微型計(jì)算機(jī)控制技術(shù)實(shí)用教程[M].北京:電子工業(yè)出版社,,2006.
[5] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1991.
[6] 呂俊亞.一種基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,,2012,,29(7):230-233.
[7] 葉丹,,齊國(guó)生,洪強(qiáng)寧,,等.基于單片機(jī)的自適應(yīng)溫度控制系統(tǒng)[J].傳感器技術(shù),,2002,21(3):27-30.
[8] 趙娜,,趙剛,,于珍珠,等.基于51單片機(jī)溫度測(cè)量系統(tǒng)[J].微計(jì)算機(jī)信息,,2007,,(12):146-148.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。