0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AT89S52單片機(jī)和DS18B20溫度傳感器實現(xiàn)智能溫度控制系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:微計算機(jī)信息 ? 作者:余瑾 ? 2020-10-28 10:03 ? 次閱讀

溫度是工業(yè)控制中主要的被控參數(shù)之一.對典型的溫度控制系統(tǒng)進(jìn)行研究具有很廣泛的意義。根據(jù)不同場所、不同溫度范圍、精度等要求.所采用的測溫元件、測溫方法以及對溫度的控制方法也不同.本文以實驗室電烤箱為被控對象,以AT89S52單片機(jī)為控制核心,溫度傳感單元采用DS18B20.采用PID算法,實現(xiàn)智能的溫度控制系統(tǒng)。

1 系統(tǒng)組成

整個系統(tǒng)主控部分采用AT89S52構(gòu)成單片機(jī)應(yīng)用系統(tǒng):溫度檢測部分采用DS18B20單總線數(shù)字溫度傳感器對溫度進(jìn)行檢測:控制部分由固態(tài)繼電器控制加熱管的通斷。工作時.由鍵盤輸入設(shè)定溫度值,系統(tǒng)采用PID控制算法進(jìn)行運箅,通過單片機(jī)AT89S52的開關(guān)量控制固態(tài)繼電器(SSR)的通斷,以調(diào)節(jié)烤箱內(nèi)溫度至設(shè)定值,穩(wěn)態(tài)誤差在+(-)1℃。液晶實時顯示烤箱內(nèi)溫度和設(shè)定溫度值。

單片機(jī)溫度控制系統(tǒng)原理圖如圖1所示。

基于AT89S52單片機(jī)和DS18B20溫度傳感器實現(xiàn)智能溫度控制系統(tǒng)的設(shè)計

圖1 單片機(jī)溫度控制系統(tǒng)原理圖

2 溫度檢測電路

溫度檢測部分采用集成溫度傳感器DS18B20,它采用獨特的單口接線方式傳輸,在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊,不需要外圍器件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只i極管的集成電路內(nèi),外加電源范圍是3.0~5.5V,測溫范圍從-55%到+125℃,在-1O℃~+85℃同有分辨率為0.5℃,測量結(jié)果以9位到12位數(shù)字量方式直接輸出數(shù)字溫度信號,以”一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。

DS18B20測溫原理如圖2所示。圖中低溫度系數(shù)品振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55%所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時。溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。

圖2 DS18B20測溫原理圖

3 系統(tǒng)軟件設(shè)計

3.1溫度檢測子程序

DS18B20使用的關(guān)鍵在于清楚總線的讀寫時序。

由于DS18B20外接電路極為簡單,所以電路連接沒有問題;但在軟件編程上,就要求嚴(yán)格按照它的時序進(jìn)行讀寫操作。具體操作如下:

對DS18B20操作時,首先要將它復(fù)位。將DQ線拉低480至960μs,再將數(shù)據(jù)線拉高15至60μs,然后,DS18B20發(fā)出60至此240μs的低電平作為應(yīng)答信號,這時主機(jī)才能對它進(jìn)行其它操作。

寫操作:將數(shù)據(jù)線從島電平拉至低電平,產(chǎn)生寫起始信號。從DQ線的下降滑起計時,在15μs到60μs這段時問內(nèi)對數(shù)據(jù)線進(jìn)行檢測,如數(shù)據(jù)線為高電平則寫1;若為低電平,則寫0,完成了一個寫周期。在開始另一個寫周期前,必須有1μs以上的高電平恢復(fù)期。每個寫周期必須要有60μs以上的持續(xù)期。

讀操作:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1μs以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。從主機(jī)將數(shù)據(jù)線從高電平拉至低電平起15μs至60μs,主機(jī)讀取數(shù)據(jù)。每個讀周期最短的持續(xù)期為60μs。周期乏問必須有1μs以上的高電平恢復(fù)期。

系統(tǒng)軟件采用keil c51編制。

復(fù)位子程序:

sbit DQ=P3^3:定義數(shù)據(jù)線口地址

unsigned char reset()

{

unsigned char presence;

DQ=O; //拉低DQ總線開始復(fù)位

delay(30); //保持低電平480us

DQ=1; //釋放總線

delay(3); //等待芯片應(yīng)答信號75us

presence=DQ; //獲取應(yīng)答信號

delay(28); //延時以完成整個時序

return(presence); //返回應(yīng)答信號,有芯片應(yīng)答返同0,無芯片則返回1

}

讀一位數(shù)據(jù)子程序

unsigned char read_bit()

{

unsigned char i,value_bit;

DQ=0; //拉低DQ,開始讀時序

DQ=1; //釋放總線

for(i=0;i《2;i++){} //8us delay

value_bit=DQ;

return(value_bit);

}

讀一字節(jié)數(shù)據(jù)子程序:

unsigned char read__byte()

{

unsigned char i,value=0;

for(i=0;i《8;i++)

{

if(read_bit()) //讀一字節(jié)數(shù)據(jù),一個時序中讀一次,并作移位處理

value!=0x01《 delay(4); //延時80us以完成此次都時序,之后再讀下一數(shù)據(jù)

}

return(value);

}

延時子程序void delay(unsigned char time).延時時間為25usx time

3.2 控制算法子程序

目前數(shù)字PID控制器被廣泛應(yīng)用十溫度控制系統(tǒng)之中,本系統(tǒng)即以PID控制算法為核心,通過實驗測試的方法獲得控制參數(shù)范圍.然后應(yīng)用試湊法進(jìn)行參數(shù)整定,最終達(dá)到較為快速,精確的控制。通過PID算法得到SSR固態(tài)繼電器“通”在總通斷時間的百分比。

PID算法的增量表達(dá)式為:

其中,k表示第k次采樣,s(k)為設(shè)定溫度,y(k)為實際溫度,u(k)為電爐功率控制,KP為比例系數(shù),e(t)為誤差,e(k)=y(k)一s(k)。T1為積分時間常數(shù),TD為微分時問常數(shù):T為采樣周期。

PID控制器的這些參數(shù),分別對系統(tǒng)性能產(chǎn)生不同的影響。Kp加大,響應(yīng)速度加快,可以減小穩(wěn)態(tài)誤差.積分時間常數(shù)T1越小。積分作用越強(qiáng),積分控制能消除系統(tǒng)的穩(wěn)態(tài)誤差,提高控制系統(tǒng)的控制精度。微分時問常數(shù)Tn越大,微分作用越強(qiáng),微分控制可以改善動態(tài)特性,如超調(diào)量減小,調(diào)節(jié)時問縮短。采樣周期T直接影響到系統(tǒng)的控制性能。采樣周期太小偏差信號也會過小,計算機(jī)將會失去調(diào)節(jié)的作用,采樣周期過長,又會引起過大的誤差,因此采樣周期必須綜合考慮。

擴(kuò)充響應(yīng)曲線法是當(dāng)系統(tǒng)在給定值處于平衡后,加一階躍輸入(如圖3a所示)。用儀表記錄下被調(diào)參數(shù)在階躍作用下的變化過程曲線,如圖3b所示。在曲線最大斜率k處做切線,求得滯后時間t,對象時問常數(shù)Tm,以及它們的比值Tm/t。根據(jù)所求得的Tm、t和Tm/t的值,查表1即可求得控制器的T、Kp、Ti和Td。由于溫度控制過程千差萬別,經(jīng)驗數(shù)據(jù)不一定就合適,最后可用試湊法逐步調(diào)試進(jìn)行確定。

圖3 擴(kuò)充響應(yīng)曲線法

表1 擴(kuò)充響應(yīng)曲線法整定參數(shù)表

為了得到最佳的控制效果,我們采用了擴(kuò)允響應(yīng)曲線法和現(xiàn)場經(jīng)驗試湊法來整定各項參數(shù)。

所謂試湊法是人們在長期工作程實踐中,從各種控制規(guī)律對系統(tǒng)控制質(zhì)量的影響的定性分析總結(jié)出來的一種行之有效、并得到廣泛應(yīng)用的工程整定方法。在實際現(xiàn)場整定過程中,我們首先通過擴(kuò)充響應(yīng)曲線法整定參數(shù),設(shè)定初始的PID參數(shù)進(jìn)行控制,為了達(dá)到理想的控制目標(biāo),對PID參數(shù)進(jìn)行了不斷的調(diào)整,原則是要保持PID參數(shù)按先比例,后積分,最后微分的順序進(jìn)行反復(fù)試湊至獲得滿意的控制效果和PID控制參數(shù)。

4 結(jié)束語

該系統(tǒng)利用DS18B20進(jìn)行測溫,基于單片機(jī)AT89S52進(jìn)行溫度控制,具有硬件電路簡單,控溫精度高(誤差在±1℃范圍內(nèi))、功能強(qiáng)、體積小、價格低.簡單靈活等優(yōu)點,可以應(yīng)用于控制溫度在-55℃到+125℃之間的各種場合,可以實現(xiàn)溫度的實時采集、顯示與控制功能,是一種較理想的智能化控制系統(tǒng)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6041

    文章

    44616

    瀏覽量

    637419
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2969

    瀏覽量

    156274
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6655

    瀏覽量

    110771
收藏 人收藏

    評論

    相關(guān)推薦

    智能溫度報警系統(tǒng)設(shè)計資料下載

    \AT89S52 specification5000.doc \AT89S52 主要性能.doc \at89s52.pdf \AT89S52單片機(jī)
    發(fā)表于 07-19 07:18

    基于DS18B20數(shù)字溫度傳感器的設(shè)計方案

    主機(jī)就可以開始對從機(jī)進(jìn)行ROM命令和功能命令操作。  3 基于DS18B20高精度數(shù)字溫度傳感器  基于DS18B20高精度數(shù)字
    發(fā)表于 11-12 16:30

    基于DS18B20的MOA溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計

    溫度, 就可以判斷MOA 的當(dāng)前工作狀態(tài)?! ≌撐脑O(shè)計的MOA溫度在線監(jiān)測系統(tǒng), 以DS18B20溫度
    發(fā)表于 12-04 15:57

    單片機(jī)AT89S52溫度檢測與保護(hù)電路設(shè)計如何實現(xiàn)?

    廣泛應(yīng)用于溫度檢測和溫度控制中;同時單片機(jī)控制可控硅觸發(fā)信號也成為今后發(fā)展趨勢。因此,設(shè)計了基于Atmel公司的
    發(fā)表于 04-21 07:20

    基于DS18B20測溫的單片機(jī)溫度控制系統(tǒng)

    介紹了以AT89S52單片機(jī)控制核心的溫度控制系統(tǒng),系統(tǒng)采用數(shù)字
    發(fā)表于 12-19 16:47 ?799次下載

    基于DS18B20與JHD12232D的智能溫度測控設(shè)計

    基于STC單片機(jī)智能溫度測控系統(tǒng),是以STC89C51單片機(jī)
    發(fā)表于 08-15 10:02 ?139次下載
    基于<b class='flag-5'>DS18B20</b>與JHD12232D的<b class='flag-5'>智能</b><b class='flag-5'>溫度</b>測控<b class='flag-5'>器</b>設(shè)計

    DS18B20溫度顯示報警控制設(shè)計

    本文設(shè)計了一種基于AT89C51 單片機(jī)DS18B20溫度控制系統(tǒng)。該設(shè)計通過AT89S52
    發(fā)表于 12-17 00:24 ?696次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>顯示報警<b class='flag-5'>控制</b>設(shè)計

    基于AT89S52單片機(jī)的紅外遙控溫度報警的設(shè)計

    溫度報警系統(tǒng)AT89S52單片機(jī)為主控制器,對溫度
    發(fā)表于 11-26 15:01 ?251次下載
    基于<b class='flag-5'>AT89S52</b><b class='flag-5'>單片機(jī)</b>的紅外遙控<b class='flag-5'>溫度</b>報警<b class='flag-5'>器</b>的設(shè)計

    基于AT89S52溫度自動控制檢測系統(tǒng)設(shè)計

    基于當(dāng)前落后的辣椒烘干處理方法,本文利用AT89S52單片機(jī)溫度傳感器DS18B20)技術(shù),設(shè)計了一種能自動顯示、檢測、
    發(fā)表于 07-25 11:39 ?221次下載
    基于<b class='flag-5'>AT89S52</b><b class='flag-5'>溫度</b>自動<b class='flag-5'>控制</b>檢測<b class='flag-5'>系統(tǒng)</b>設(shè)計

    使用51單片機(jī)DS18B20溫度傳感器設(shè)計數(shù)字溫度計的論文免費下載

    本設(shè)計采用的主控芯片是ATMEL公司的AT89S52單片機(jī),數(shù)字溫度傳感器是DALLAS公司的DS18B20。本設(shè)計用數(shù)字
    發(fā)表于 09-09 08:00 ?9次下載
    使用51<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>設(shè)計數(shù)字<b class='flag-5'>溫度</b>計的論文免費下載

    使用51單片機(jī)實現(xiàn)DS18B20溫度傳感器溫度顯示的例程合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實現(xiàn)DS18B20溫度傳感器溫度顯示的例程合集免費下載
    發(fā)表于 03-09 08:00 ?56次下載
    使用51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b><b class='flag-5'>溫度</b>顯示的例程合集免費下載

    基于51單片機(jī)DS18B20溫度傳感器

    DS18B20溫度傳感器選用芯片:AT89S52函數(shù)功能:如下
    發(fā)表于 11-20 18:36 ?52次下載
    基于51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>

    DS18B20溫度傳感器的數(shù)字溫度計設(shè)計案例

    本設(shè)計采用的主控芯片是ATMEL公司的AT89S52單片機(jī),數(shù)字溫度傳感器是DALLAS公司的DS18B20。本設(shè)計用數(shù)字
    發(fā)表于 05-09 16:02 ?57次下載

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼
    發(fā)表于 05-12 16:12 ?7次下載

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼
    發(fā)表于 05-18 09:56 ?8次下載