多點(diǎn)測溫系統在工業(yè)領(lǐng)域及其國民生產(chǎn)中有廣泛的用途。如在化工領(lǐng)域中,經(jīng)常需要檢測和控制反應釜中的液體的溫度,使之能夠穩定在一定的溫度范圍之內;在糧食儲存以及加工過(guò)程中,會(huì )儲存高水分的糧食,高水分的糧食極易升溫發(fā)霉,因此糧食儲存的測溫顯得尤為重要。以往的測溫系統多采用熱敏電阻,精度低、易損壞,且模擬信號遠距離溫度測量系統中,需要很好地解決引線(xiàn)誤差補償問(wèn)題、多點(diǎn)測量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)問(wèn)題,才能夠達到較高的測量精度。 因此,在溫度測量系統中,具有足夠的精度和實(shí)時(shí)性,控制足夠的精度,并且盡可能具有較低的成本,這樣的產(chǎn)品才具有實(shí)用價(jià)值。本文采用新型數字溫度傳感器 DS18B20,它具有體積更小、精度更高、適用電壓更寬、采用一線(xiàn)總線(xiàn)、可組網(wǎng)等優(yōu)點(diǎn),以單片機AT89C51為控制核心完成多點(diǎn)測溫的可行性設計方案。 1 DS18B20芯片特性及管腳介紹 1.1 DS18B20芯片特性 DS18B20單線(xiàn)數字溫度傳感器是新一代溫度傳感器,它具有微型化、低功耗,與其他溫度傳感器相比,具有以下特性:供電電源為3.0~5.5 V;獨特的單線(xiàn)接口方式,支持多點(diǎn)組網(wǎng)功能;溫范圍為-55~+125℃,在-10~+85℃時(shí)精度為±O.5℃;可編程的分辨率為9~12位,對應的可分辨溫度分別為0.5℃,0.25℃,0.125℃和O.0625℃,可實(shí)現高精度測溫;轉換速度快;具有極強的抗干擾糾錯能力;電源極性接反時(shí),芯片不會(huì )因發(fā)熱而燒毀,但不能正常工作。 1.2 DS18B20引腳功能 DS18B20有2種封裝形式:3腳TO-92直插式(用的最多、最普遍的封裝)和8腳SOIC貼片式,封裝引腳如圖1所示。 DS18B20各引腳的功能如表1所示。 2 DS18B20的控制時(shí)序 硬件結構的簡(jiǎn)單是以相對復雜的軟件進(jìn)行補償,由于DS18B20與單片機問(wèn)采用串行數據傳送,因此,它們之間有嚴格的時(shí)隙概念。單線(xiàn)信號包括復位脈沖、響應脈沖、寫(xiě)“0”、寫(xiě)“1”、讀“1”、讀“0”。 (1)初始化。時(shí)序見(jiàn)圖2(a),主機總線(xiàn)t0時(shí)刻發(fā)送一復位脈沖(最短為480μs的低電平信號)接著(zhù)在t1時(shí)刻釋放總線(xiàn)并進(jìn)入接收狀態(tài)DS1820在檢測到總線(xiàn)的上升沿之后等待15~60μs,接著(zhù)DS1820在t2時(shí)刻發(fā)出存在脈沖(低電平持續60~240μs),如圖中虛線(xiàn)所示。 初始化時(shí)序、讀/寫(xiě)時(shí)序分別如圖2(a)、圖2(b)、圖2(c)昕示。 (2)寫(xiě)時(shí)間隙。當主機總線(xiàn)t0時(shí)刻從高拉至低電平時(shí),產(chǎn)生寫(xiě)時(shí)間隙,見(jiàn)圖2(b)。從t0時(shí)刻開(kāi)始15μs之內應將所需寫(xiě)的位送到總線(xiàn)上,DS1820 在t后15~60μs間對總線(xiàn)采樣,若低電平寫(xiě)入的位是O,若高電平寫(xiě)入的位是14;連續寫(xiě)2位間的間隙應大于1μs(見(jiàn)圖2(c))。主機總線(xiàn)t0時(shí)刻從高拉至低電平時(shí),總線(xiàn)只需保持低電平15μs之后,在t1時(shí)刻將總線(xiàn)拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1時(shí)刻后到t2時(shí)刻前(約15μs)產(chǎn)生讀時(shí)隙,t3時(shí)刻前主機必須完成讀位,然后將總線(xiàn)釋放。 3 硬件電路設計 3.1 系統硬件結構 系統的硬件結構如圖3所示。該系統以單片機AT89C51為核心,由溫度傳感器DS18B20、開(kāi)關(guān)和LCD顯示電路等構成。其中第一個(gè)單片機作為從機,進(jìn)行8個(gè)溫度傳感器的采集,從機通過(guò)485接口與主機可以遠距離相連,主機接開(kāi)關(guān),同時(shí)接液晶顯示,如果主機想知道某點(diǎn)的溫度可以通過(guò)合上某個(gè)開(kāi)關(guān)檢測到相應點(diǎn)的溫度,以做到實(shí)時(shí)監控。 3.2 數據采集 Atmel的AT89C5l單片機,內有4 kB閃爍可編程可擦除只讀存儲器,128 B的數據存儲器空間,可直接推動(dòng)LCD。由溫度傳感器DS18B20采集被控對象的實(shí)時(shí)溫度,提供給從機AT89C51的P1.1口,作為數據輸入。 3.3 接口電路 主機的P2口接8個(gè)開(kāi)關(guān),P0與LCD相連,每條行線(xiàn)接10 kΩ的電阻到電源,作為上拉電阻。P2口的PO.1~PO.2作為液晶控制讀/寫(xiě)使能端,P0.4~P0.7為L(cháng)CD數據端口。 4 軟件部分設計 通過(guò)以上分析計算,在加上軟件編程如圖4所示,即可得到多點(diǎn)測溫。ROM的匹配先要另外寫(xiě)一個(gè)程序讀取每個(gè)DSl8B2O的64位序列號,匹配時(shí)只需按照像往DS18B20里寫(xiě)命令操作一樣即可。 初始化函數如下: 5 結語(yǔ) 本文在介紹數字溫度傳感器DS18B20的基礎上,采用AT89C5l單片機設計多點(diǎn)采集溫度系統的方案,并給出了重要電路圖和初始化DS18B20程序。該方案采用從機采集多點(diǎn)溫度,主機顯示溫度,主、從機之間通過(guò)RS 485通信,且具有廣闊的應用前景。 |