孫域鐠 魏穎 沈陽工學院信息與控制學院
近年來,隨著大規模集成電路的發展,單片機繼續朝快速、高性能方向發展,從4位、8位單片機發展到16位、32位單片機。單片機主要用于控制,它的應用領域遍及各行各業,大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。本設計是基于單片機ATMAGE16設計的實時溫度采集儀,通過本次設計,我成功的實現了利用單片機對溫度的采集和測量。
溫度測量采用DS18B20 數字式溫度傳感器。由DS18B20 構成的智能溫度測量裝置由三部分組成:DS18B20 溫度傳感器、ATMAGE16、顯示模塊。產品的主要技術指標:①測量范圍:-55℃~+125℃,②測量精度:0.5℃,③反應時間≤500ms。為了達到更高的精度,則在對DSl8B20測溫原理進行詳細分析的基礎上,采取直接讀取DSl8B20內部暫存寄存器的方法,將DSl8B20 的測溫分辨率提高到0.01℃~0.1℃,其中第7字節存放的是當溫度寄存器停止增值時計數器l的計數剩余值,第8字節存放的是每度所對應的計數值。這樣,就可以通過下面的方法獲得高分辨率的溫度測量結果。溫度測量電路如圖1所示。

圖1 溫度測量電路
溫度傳感器DS18B20將被測環境溫度轉化成帶符號的數字信號(以十六位補碼形式,占兩個字節),傳感器可置于離裝置150米以內的任何地方,輸出腳I/O直接與單片機的P1.1 相連,R1為上拉電阻,傳感器采用外部電源供電。ATMAGE16 是整個裝置的控制核心,ATMAGE16內帶1K字節的FlashROM,用戶程序存放在這里。顯示器模塊由四位一體的共陽數碼管和4個9012組成。系統程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照DS18B20的通信協議編制。系統的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。
數字式傳感器一般采用單總線技術(1-WIREBUS),即在單片機或計算機接口中只用一根導線(輸入/ 輸出信號線),美國Dallas公司最新推出的1-WireBus數字式溫度傳感器DS18B20,與傳統的溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式,可以分別在93.75ms 和750ms內將溫度值轉化為9 位和12位的數字量,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃;為實現與PC機串口長距離數據通信,系統采用了RS232 串行接口,通信距離可以達到15m,如果采用RS422或RS485串行接口可以達到1000m。串口通信由PC機與單片機的通信和單片機多機通信組成,每個從機負責溫度的測量然后通過多機通信把溫度數據發送到主單片機上,最后PC機通過VB程序控制串口把主單片機上的所有溫度數據收集起來。系統框圖如圖2所示。

圖2 系統框圖
在傳統的溫度測量系統中,往往采用模擬的溫度傳感器進行設計,必須經過A/D轉換后才可以被微處理器識別和處理。這樣的設計方法不僅對前端模擬信號處理電路提出了更高的要求,而且不具有數字通信和網絡功能。本設計文結合DSl8B20的新特性和現代溫度測量系統提出的新要求,提出了基于智能數字溫度傳感器DSl8820的高精度、分布式多點溫度測量系統設計方案。該方案具有安裝方便、數字化程度高、精度高、適應性強等特點,在多種溫度檢測中具有廣闊的應用前景。經過模塊化的電路測試、軟件調試和系統組裝,測溫精度可以達到±0.01℃。設計出的多路遠距離自動化、智能化溫度采集系統可以廣泛應用于工業控制領域。本次設計只給出2路從機采集,根據需要可以增加更多從機進行溫度采集。