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