<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計應(yīng)用 > 單片智能溫度計及其在燙金機中的應(yīng)用

          單片智能溫度計及其在燙金機中的應(yīng)用

          ——
          作者:張迅 古江漢 南華大學(xué)電氣工程學(xué)院 時間:2007-01-26 來源:《電子元器件應(yīng)用》 收藏

          引言

          溫度是工業(yè)控制中主要的被控對象之一,如印刷、食品、化工等各類工業(yè)中廣泛使用的各種加熱設(shè)備、熱處理爐、反應(yīng)爐等,它們都對工件的處理溫度有嚴(yán)格控制要求,計算機控制技術(shù)在這方面的應(yīng)用,使得溫度控制技術(shù)指標(biāo)得到了大幅度的提高,本文介紹了一種用at89c2051單片機制作用于燙金機中的電子溫度計,和普通的溫度控制儀相比,該溫度計具有測溫速度快、讀數(shù)方便等特點,測溫范圍為-40-125℃,而且穩(wěn)定實用,輔以適當(dāng)?shù)母魺岵牧希淇刂品秶鷮⒏摺?br>
          燙金機是根據(jù)熱壓原理,將彩色電化鋁印在紙、木、塑、革等各種商品上,其燙印色彩鮮艷、美觀大方,是當(dāng)前小型商品裝潢、名片和包裝印刷的必備機器,燙金機的燙金原理是通過一定的溫度和壓力,并利用色箔將飾版上的圖案和文字瞬間附著在塑膠表面上,燙金必備的是溫度、壓力、色箔、燙飾版、其中溫度控制是本設(shè)計要解決的主要問題。

          ds18b20溫度傳感器

          ds18b20是美國dallas半導(dǎo)體公司繼ds1820之后推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻相比,它不需要運算放大器,就能直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編程來實現(xiàn)9-12位的數(shù)字值讀數(shù),通過設(shè)計可以分別在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,而且從ds18b20讀出的信息或?qū)懭雂s18b20的信息僅需要一根口線(單線接口)讀寫,ds18b20的溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的ds18b20供電,而無需額外電源。因此,使用ds18b20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。由于ds18b20在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較ds1820有了很大的改進,因而可給用戶帶來更方便的使用和更令人滿意的效果。

          ds18b20的性能特點

          ds18b20的主要性能特點如下:

          具有獨特的單線接口方式,ds18b20與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊。

          在使用中不需要任何外圍元件。

          可用數(shù)據(jù)線供電,電壓范圍為3.0-5.5v,測量范圍為-55-+125℃,固有測溫分辨率為0.5℃。

          通過編程可實現(xiàn)9-12位的數(shù)字讀數(shù)方式。

          用戶可自己設(shè)定非易失性的報警上下門限值,并支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上實現(xiàn)多點測溫。

          具有獨特的負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。

          ds18b的內(nèi)部結(jié)構(gòu)

          ds18b20采用3腳pr-35封裝或8腳soic封裝,其內(nèi)部結(jié)構(gòu)框圖如圖1所示,其中64位閃速rom中的開始8位是產(chǎn)品類型的編碼,接著是每個器件唯一的序號,共有48位,最后8位是前56位的crc校驗碼,這也是多個ds18b20可以采用一線進行通信的原因,通過非易失性溫度報警觸發(fā)器th和tl可用軟件寫入用戶報警的上下門限。ds18b20溫度產(chǎn)傳感器的內(nèi)部存儲器包括一個高速ram和一個非易失性的可電擦除的eepram,后者用于存儲th、tl值,數(shù)據(jù)線寫入ram,經(jīng)校驗后再傳給eepram。片中的配置寄存器為高速存儲器中的第5個字節(jié),其內(nèi)容可用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,ds18b20工作時,按此寄存器中的分辨率可將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。

          ds18b20的測溫原理

          ds18b20的測溫原理如圖2所示,圖中的低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,故可用于產(chǎn)生固定頻率的脈沖信號給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化,其振蕩頻率會有明顯改變,其所產(chǎn)生的信號可作為減法計數(shù)器2的脈沖輸入,圖中隱含著的計數(shù)門可在打開時,使ds18b20對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器決定,每次測量前,首先將-55℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,以使測量時減法計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值,減法計數(shù)器1可對低溫度系數(shù)晶振所產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,此后減法計數(shù)器1的預(yù)置將重新被裝入,此后減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,系統(tǒng)將停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度,圖3中的斜率累加器用于補償和修正測溫度過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門未關(guān)閉,系統(tǒng)就會重復(fù)上述過程,直到溫度寄存器達到被測溫度值。

          本文引用地址:http://www.ex-cimer.com/article/21504.htm

          測溫工作電路

          該燙金機控溫系統(tǒng)的主電路如圖3所示,該電路由單片機電路、溫度傳感器電路、可控硅電路、數(shù)碼顯示電路等部分組成,其中at89c2051、x1、r1、c1等組成單片機電路,r1、c1是單片機的復(fù)位電路,在接通電源的瞬間,由于電源電壓通過r1對c1的充電過程,單片機at89c2051的復(fù)位端1腳將獲得一個高電平復(fù)位脈沖,該脈沖可使得單片機進入初始狀態(tài)。

          單片機的p3.7為輸出控制口,通過一只電阻接至一片"光電耦合型過零觸發(fā)雙向"芯片gk的輸入端,設(shè)計時,可適時通過"gk"觸發(fā)外接的雙向晶閘管skg的導(dǎo)通與截止,來控制電爐絲的加電與斷電、大電流與小電流,從而實現(xiàn)對燙金機的升溫和恒溫的控制。

          at89c2051內(nèi)部有一個模擬信號比較器,at89c2051的p1.0和p1.1除了作i/o口外,還分別是模擬信號比較器的同相輸入端和反相輸入端,模擬信號比較器的比較結(jié)果存入p3.6對應(yīng)的寄存器,p3.6在at89c2051外部無引腳,利用這個模擬信號比較器和鋸齒波信號發(fā)生器電路可以組成一個a/d轉(zhuǎn)換電路,以把p1.1輸入的模擬信號轉(zhuǎn)換成數(shù)字信號,數(shù)碼管ds1、ds2、ds3、ds4、三極管vt1、vt2、vt3、vt4、電阻r3-r13等可組成動態(tài)掃描數(shù)碼顯示電路,可把溫度值用數(shù)字顯示出來,本設(shè)計采用ds18b20作為溫度傳感器。

          現(xiàn)以mcs-51單片機為例,圖3中采用的是寄生電源供電方式,p1.1口接單總線是為了保證在有效的ds18b20時鐘周期內(nèi)提供足夠的電流,設(shè)計時可用一個mosfet管和at89c2051的p1.o來完成對總線的上拉。當(dāng)ds18b20處于寫存儲器操作和溫度a/d變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。采用寄生電源供電方式時,vdd和gnd端均接地,由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的,主機控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過初始化、rom操作指令、存儲器操作指令等三個步驟,假設(shè)單片機所用的晶振頻率為12mhz,那么,就可以根據(jù)ds18b20的初始化時序、寫時序和讀時序、來分別編寫init初始化子程序、write寫(命令或數(shù)據(jù))子程序和read讀數(shù)據(jù)子程序等3個子程序,這些程序可在網(wǎng)上讀取,所有的數(shù)據(jù)讀寫均由最低位開始。

          軟件設(shè)計

          設(shè)計程序時,可使用匯編語言編寫,程序由主程序、定時中斷服務(wù)程序、延時子程序等模塊組成,其中主程序由初始化、數(shù)碼動態(tài)掃描顯示等部分組成,圖4所示是其定時中斷服務(wù)程序流程圖。

          采用動態(tài)掃描顯示方式,雖然簡化了電路,節(jié)省了i/o線,但占用cpu的時間較多,而采用調(diào)用定時中斷的方式來測溫可以減小cpu的負(fù)擔(dān),定時器0的定時時間為50ms,每過250ms(5次中斷)測一次溫度,延時子程序主要供數(shù)碼顯示程序調(diào)用,延時時間為0.5ms,延時時間決定了數(shù)碼顯示的刷新周期,因為顯示數(shù)碼為三位,所以刷新周期為1.5ms,字形碼的輸出采用p3口的p3.1-p3.5、p3.7、p3口輸出的數(shù)據(jù)可通過查表獲得。因為數(shù)碼管為共陽型,所以相應(yīng)的輸出位為0時筆段亮。存儲器20h、21h、22h單元可分別作為個位數(shù)、十位數(shù)、百位數(shù)的存儲單元,其數(shù)值可作為查表的指針。動態(tài)掃描顯示由數(shù)碼顯示儲蓄完成,當(dāng)個位數(shù)送到p3口時,p1.3輸出低電平,vt4導(dǎo)通,數(shù)碼管ds3顯示個位數(shù),當(dāng)十位數(shù)送到p3口時,p1.4輸出低電平,vt3導(dǎo)通,數(shù)碼管ds2顯示十位數(shù),而當(dāng)百位數(shù)送到p3口時,p1.5輸出低電平,vt2導(dǎo)通,數(shù)碼管ds1顯示百位數(shù),如果溫度為負(fù)值,則百位數(shù)顯示負(fù)號,這樣輪流工作即可顯示溫度值,測溫結(jié)束時,p3.6由0翻轉(zhuǎn)為1,由于程序判斷p3.6為高電平要用兩個機器周期,且關(guān)閉定時器1停止計數(shù)也要用1個機器周期,總共這3個機器周期會使定時器1得計數(shù)值增加3,因此,在程序中對此誤差要進行修正,即將計數(shù)值減去3。

          結(jié)束語

          ds18b20雖然具有測溫系統(tǒng)簡單,測溫精度高、連接方便、占用口線少、擴展方便等優(yōu)點,但在實際應(yīng)用中還應(yīng)注意以下幾方面的問題:

          (1)較小的硬件開銷需要相對復(fù)雜的軟件進行補償,由于ds18b20與微處理器采用的是串行數(shù)據(jù)傳送,因此,在對ds18b20進行讀寫編程時,必須嚴(yán)格地保證讀寫時序,否則將無法讀取測溫結(jié)果,對ds18b20的操作部分最好采用匯編語言編寫。

          (2)ds18b20工作時的電流高達1.5ma,故在總線上掛接點數(shù)較多且同時進行轉(zhuǎn)換時要考慮增加總線驅(qū)動,可用單片機端口在溫度轉(zhuǎn)換時導(dǎo)通一個mosfet。

          (3)由于連接ds18b20的總線電纜是有長度限制的,因此,在用ds18b20進行長距離測溫系統(tǒng)設(shè)計時,要充分考慮總線分布電容和阻抗匹配等問題。

          (4)在ds18b20測溫程序設(shè)計中,向ds18b20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds18b20的返回信號,一旦某個ds18b20接觸不好或斷線,那么,在程序讀該ds18b20時,將沒有返回信號,程序進入死循環(huán),這一點在進行ds18b20硬件連接和軟件設(shè)計時也要給予一定的重視。

          (5)和ds1820一樣,ds18b20的讀寫時序必須仔細(xì)調(diào)整,在反復(fù)的調(diào)試中找出合適的延時時間。

          p2p機相關(guān)文章:p2p原理




          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();