基于DS18B20測溫的單片機溫度控制系統

發(fā)布時(shí)間:2010-5-3 22:47    發(fā)布者:我芯依舊
關(guān)鍵詞: DS18B20 , 測溫 , 單片機 , 溫度控制
溫度是工業(yè)控制中主要的被控參數之一.對典型的溫度控制系統進(jìn)行研究具有很廣泛的意義。根據不同場(chǎng)所、不同溫度范圍、精度等要求.所采用的測溫元件、測溫方法以及對溫度的控制方法也不同.本文以實(shí)驗室電烤箱為被控對象,以AT89S52單片機為控制核心,溫度傳感單元采用DS18B20.采用PID算法,實(shí)現智能的溫度控制系統。

1 系統組成

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

單片機溫度控制系統原理圖如圖1所示。


圖1 單片機溫度控制系統原理圖

2 溫度檢測電路

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

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


圖2 DS18B20測溫原理圖

3 系統軟件設計

3.1溫度檢測子程序

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

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

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

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

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

系統軟件采用keil c51編制。

復位子程序:

sbit DQ=P3^3:定義數據線(xiàn)口地址
unsigned char reset()
{
unsigned char presence;
DQ=O; //拉低DQ總線(xiàn)開(kāi)始復位
delay(30);   //保持低電平480us
DQ=1;   //釋放總線(xiàn)
delay(3);  //等待芯片應答信號75us
presence=DQ;   //獲取應答信號
delay(28);   //延時(shí)以完成整個(gè)時(shí)序
return(presence);  //返回應答信號,有芯片應答返同0,無(wú)芯片則返回1
}
讀一位數據子程序
unsigned char read_bit()
{
unsigned char i,value_bit;
DQ=0;   //拉低DQ,開(kāi)始讀時(shí)序
DQ=1;   //釋放總線(xiàn)
for(i=0;i<2;i++){}  //8us delay
value_bit=DQ;
return(value_bit);
}
讀一字節數據子程序:
unsigned char read__byte()
{
unsigned char i,value=0;
for(i=0;i<8;i++)
{
if(read_bit())   //讀一字節數據,一個(gè)時(shí)序中讀一次,并作移位處理
value!=0x01< delay(4);   //延時(shí)80us以完成此次都時(shí)序,之后再讀下一數據
}
return(value);
}
延時(shí)子程序void delay(unsigned char time).延時(shí)時(shí)間為25usx time

3.2 控制算法子程序

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

PID算法的增量表達式為:


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

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

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


圖3 擴充響應曲線(xiàn)法

表1 擴充響應曲線(xiàn)法整定參數表


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

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

4 結束語(yǔ)

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

本文作者創(chuàng )新點(diǎn):文中采用數字溫度計芯片DS18B20構成測溫單元,采用PID控制算法調節烤箱內溫度。


作者:余瑾      來(lái)源:《微計算機信息》(嵌入式與SOC)2009年第3-2期
本文地址:http://selenalain.com/thread-10958-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
lixupeng 發(fā)表于 2011-7-18 13:12:35
mark!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页