





摘要:本設計介紹了DS18B20數字溫度傳感器的內部結構和工作過程,提出了基于DS18B20和AT89C51的數字溫度計設計方案,并提出了基于51單片機和DS18B20數字溫度傳感器的溫度測量方法,包括溫度傳感器芯片的選擇,微控制器與溫度傳感器之間的接口電路設計以及溫度信息收集和數據傳輸的軟件設計。 該數字溫度計的溫度測量范圍為-50至+110°C,精度誤差在0.1°C以內,具有很高的溫度測量精度和出色的控制性能。電子溫度計適合一般使用,也可用于冷熱警報,遠程多點溫度測量控制等。
關鍵詞:數字溫度計;單片機;溫度傳感器
前言
傳統的溫度測量系統通常使用熱電偶或鉑電阻進行溫度測量。這些電路有一些問題需要解決。為了執行準確的溫度測量,鉑電阻器必須提供合適的恒流源。來自熱電偶的信號是模擬信號,必須發送到CPU。首先執行A / D轉換,然后發送到CPU進行處理。另外,熱電偶信號非常弱,只有12 mA,因此通常需要在A / D轉換之前執行增益放大。因此,使用熱電偶和鉑熱電阻進行溫度測量需要大量考慮,并且配置的系統更加復雜。 DALLAS發布的DS18B20數字溫度傳感器很好地解決了這些問題。 DS18B20使用單線接口,該接口僅在微型計算機上占用一個I / O端口,其外圍電路也非常簡單。 DS18B20測量溫度信號。 DS18B20可以轉換為數字輸出,無需信號放大或A / D轉換即可直接連接至單片機,使其用作溫度采集的溫度傳感器,大大簡化了電路設計。
一、設計的目的及意義
設計目標:整個系統基于微波AT89C51,與數字溫度傳感器DS18B20,數字電子管顯示器等結合以實現溫度顯示。
單芯片應用系統具有體積小,功耗低,功能強大,性價比高,易于開發和推廣等優點,廣泛應用于自動控制、儀器儀表和家用電器領域。
二、設計方案論證
解決方案1:實施熱電偶需要更多的外部硬件支持,復雜的電路,復雜的軟件調試和較高的制造成本。 為此,需要進行溫度補償,并且難以滿足精度要求。
解決方案2:使用智能傳感器DS18B20作為檢測元件,溫度范圍為-55°C至125°C,最大分辨率為0.0625°C。DS18B20可以直接讀取測得的溫度值。 此外,由于它是通過3線系統連接到單芯片微波的,因此外部硬件電路很少,而且成本低廉且易于使用。 作為顯示設備,LED數字管用于通過89C51構建最小的系統。
總結一下,權衡不同方面的優點和缺點,選擇使用方案2。
三、電子溫度計電路分析
(一)總體設計
該系統基于AT89C51芯片,該芯片檢測DS18B20是否正常工作,將內部數字溫度讀取到單片機,并通過相應的數字管顯示出來。 如果溫度超過設定溫度,將使用蜂鳴器警告提醒,其外圍電路包括復位電路和晶體振蕩器電路。
(二)元件電路分析
該電路的功能是完成具有上電復位和按鈕復位功能的單芯片計算機的復位。單片機千分尺千分尺復位是一種單片機初始化,可恢復程序執行。即,它將微控制器的PC寄存器初始化為0000H。正常初始化是指程序的正常初始化,但是如果系統由于程序錯誤或操作錯誤而死鎖,請按“重設”按鈕以重新啟動系統并解決難題。這是一種責任。有自動重置和手動重置方法。該設計采用上電復位模式進行自動復位。晶體單位為12MHz。
AT89C51具有一個用于構成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是放大器的輸入和輸出。放大器和片外晶體或陶瓷諧振器用作反饋組件,以形成自激振蕩器。
外部晶體振蕩器(或陶瓷諧振器)以及電容器C1和C2連接到放大器的反饋環路,以形成并聯振蕩電路。對于外部電容器C1和C2沒有嚴格的要求,但是電容器容量的大小對振蕩頻率,振蕩器穩定性,開始振蕩的難度和溫度穩定性幾乎沒有影響。使用晶體振蕩器時的推薦電容器為30pF±10pF,而使用陶瓷諧振器時的推薦電容器為40pF±10F。用戶還可以使用外部時鐘。圖3-1顯示了使用外部時鐘的電路。在這種情況下,外部時鐘脈沖連接到內部時鐘發生器的輸入端子XTAL1,而XTAL2保持懸空。報警電路設置的原理是電子溫度計的極限范圍是0到100度。如果超出此范圍,則應發出警報。 PNP晶體管9015用于驅動蜂鳴器并在開/關狀態下工作。原理圖如圖3-2所示。
電源單元的功能是保持單片機千分尺穩定運行,每個順序都必須嚴格,對電源的要求也更高。我們建議使用開關電源。這是自制電源。變壓器將輸出電壓從高電壓轉換為低電壓,并且輸出電壓值為正弦曲線圖。橋完全整流后,橋堆的輸出電壓呈波狀。即,正弦波的負半周期變為正半周期。 C1整流后,C1充電,從而產生衰減波形。 7805是恒定輸出調節器模塊。 5V,C3和C2電壓可以消除雜散波的共同頻率。 7805的輸出端不能高于輸入端,因此添加二極管保護7805。原理圖如圖3-3所示。
數據顯示電路的功能是顯示傳感器檢測到的溫度數據。 由于必須以0.1°C的分辨率顯示0°C至100°C,因此該部件至少具有四個數字管來顯示這些值。 單芯片計算機的資源有限,此處僅提供動態掃描。 通過這種連接方法,微控制器千分尺使用的端口線是端口P0,必須將其拔出作為輸出端口,電阻為10K,數字管使用共用陽極管。
四、電子溫度計系統設計
軟件部分主要是:(1) 溫度的采集;(2) 溫度數據的處理(3) 數值的顯示。
(一)溫度的采集
設計的這一部分主要考慮DS18B20的工作過程和時序。
ROM操作命令存儲器操作命令處理數據的初始化
(1)初始化
單個總線上的所有內容均始于初始化
(2)ROM操作產品訂購
總線主機可以檢測到DS1820的存在并發出ROM操作命令之一。
(3)內存操作命令
(4) ?時 序
主機使用時間隙(time slots)來讀寫DSl8B20的數據位和寫命令字的位
a).初始化
時序如下圖4-1所示,主機總線發送一個復位脈沖(最短的480us低電平信號),釋放總線進入接收狀態。 DS18B20在檢測到總線的上升沿后等待15-60us,然后DS18B20發送一個應答脈沖(低電平持續60-240 us)。
b).寫時間隙
當主機總線從高電平拉低到低電平時,存在寫時間間隔。 從開始算起的15us內,要寫入的位被發送到總線上的DS18B20。 公交車的采樣時間為15-60us。 低電平寫入的位在下面的圖4-2左側顯示為0。 如果以高電平寫入的位數為1,請參見下面的圖4-2右側,以寫入兩個連續位之間的間隙應大于1us 。
c).讀時間隙
見下圖4-3所示,當主機總線從高電平拉至低電平時,總線應保持低電平15 s。 然后在t1處將總線拉高以產生讀取間隙。 讀取間隙在t1和t2之后有效。 到的tz距離為15μs或tz。 前端主機必須完成讀取位并在60μs至120μs內釋放總線。
設計軟件部分的核心是DS18B20的使用,讀取溫度需要嚴格的時間,模塊設計的主程序流程圖如下:溫度轉換子例程如下:
(二)溫度數據的處理
這部分是將溫度傳感器的數字量讀入單片機后的處理內容。 它主要包括正負號處理,負數,正數,小數點處理,溫度比較,最后決定是否發出警報。
(三)數值的顯示
端口P0連接到7段顯示器和數字管的小數點,P2的前四個端口連接到數字管的公共端作為芯片選擇信號。 由于這里使用了動態掃描方法,因此在軟件仿真中很容易接收。
四、總結
該設計是根據單片機應用系統開發步驟,硬件電路開發和軟件開發的基本思想和方法進行的,采用模塊化設計的思想實現了軟件系統。模塊化設計是將大型程序分為幾個較小的模塊,具體取決于它們的功能。每個模塊都是相對獨立的,具有定義明確的結構,并且具有簡單的界面。這種模塊化設計降低了程序設計的復雜性,提高了組件的可靠性,縮短了開發周期,避免了重復的程序開發任務,促進了維護和增強,等等。有優點。本設計中的軟件功能模塊分為溫度采集,溫度數據處理,主程序模塊,延遲子程序等。在系統范圍的設計過程中嚴格遵循硬件電路設計規則,使整個系統的設計完全成功。
參考文獻
[1]楊海波,張瑋,劉曉靜,等. 一種基于數字溫度傳感器DS18B20的多功能電子溫度計設計[J]. 中國醫學物理學雜志,2013,30(1):3890-3893.
[2]王林勝. 基于單片機控制的數字溫度計的電路設計[J]. 通訊世界,2016(11):223-224.
[3]向繼文,劉昕,陳善榮. 基于DS18B20的數字溫度計設計與仿真[J]. 電腦與信息技術,2019,27(01):47-50.
作者簡介:廖敏(1981-10),女,彝族,籍貫:云南鎮沅,職稱:講師,學歷:工程碩士,單位:普洱市職教中心,研究方向:電工電子。