摘 要:近年來隨著我國信息化進程的加快,在很多大專院校、科研院所建設了大量的計算機、服務器機房。因此,在一個不大的空間區域內使用了大量的貴重設備,再加上與之配套的空調、試驗平臺等附屬設備,整個機房就需要有幾十個電源接插裝置(即電源插座)。某些插座接點中通過的電流可能達到幾十安培,甚至會更高。電線接點又是容易出現局部高溫高熱的,那么就需要一種監測系統,在那些平時難以看到、發生危險無法在第一時間察覺的地方,“替”機房的管理人員監視這些地點(例如暗藏的供電線路接頭)。一旦發生危險情況,就可以及時準確的報告給機房人員,以保證能準確及時的處理危險狀況。
關鍵詞:單片機;溫度;監測
一、系統硬件電路設計
1.系統硬件電路設計方案。DS1820的所有功能、操作均是在單片機控制下進行的,線上接有若干個DS 1820傳感器,即可進行多點的溫度采集.值得注意的是所有的命令碼均以串行方式通過一線總線輸出到DS 1820,讀出的數字溫度值也以串行方式輸入到單片機,并存入數據緩存。根據DS 1820數字溫度傳感器的功能特點,選擇一線總線的網絡結構。該網絡基于DS1820以及一線總線協議。本系統的硬件,主要由三個部分組成:基于AT89C51單片機及其外圍電路的主機控制單元;DS 1820串行組成的一線總線型網絡;LED數字顯示及其驅動電路。
AT89C51單片機功能強、I/O口多、但是其內部的數據暫存存儲器空間比較小,只有128個字節。而DS 1820的ROM碼有64位,也就是說,記錄一個ROM碼要占據8個字節的數據暫存存儲器空間,再加上用于搜索、溫度值存儲、指針等操作所必須額外分配的存儲器空間。實際上AT89C51單片機內部已經沒有多少富余了,在程序編寫中發現,10個ROM碼是能允許的最大值。哪怕再增加一個8字節的ROM碼都必須使用擴展的片外RAM。考慮到本系統目前只計劃應用在較小的機房中,監測點不多;同時,本設計的重點在于數字溫度傳感器及其一線總線技術的應用研究。因此,沒有使用外擴RAM的方法來擴大一線總線網絡的規模。相信,即便本系統由于某種原因需要對一線總線網絡進行擴展,無論是選擇單片機換型,或者選擇外擴RAM,實現它們都應沒有太大的障礙。
AT89C51具有4個I/O口,它們分別是P0口、P1口、P2口和P3口。利用其中的3個I/O口,與本系統其它部分連接,分別實現了不同的功能:P1口連接著由10個DS 1820傳感器組成一線總線網絡,還連接著用于顯示單個DS 1820傳感器ROM碼的接口電路。P0、P2口連接著LED數字顯示單元。P0口連接一片14引腳的反相門芯片7406,用于對6個LED顯示燈的選擇控制。同時,7406也起到了反向驅動器的作用。P2口連接兩片14引腳的7407芯片,用于發送顯示內容。同時7407也起到正向驅動器的作用。
最多由10片DS 1820組成的一線總線網絡,由三條線連接。它們分別是電源線、數據傳輸線、共用地線。電源線根據DS1820的要求,使用5V的直流供電。在具體設計上可以和AT89C51使用同一個電壓源。數據傳輸線直接連接在P1口的P1.5引腳上,對應著P1寄存器的P1.5數據位,因此主機對總線上的DS 1820的操作實際上就是對P1.5數據位的操作。所以在程序設計時需要注意這一點。
還有,就是出于對特殊情況的特別考慮,本系統設置了一個插口,用于讀出某個DS 1820傳感器ROM碼。這個插口除了中間的引腳連接在AT89C51的P1.6引腳上,從硬件上說和一線總線網絡的接口沒有什么不同。但是從軟件上來說,它專用于對單個DS 1820的ROM碼讀取。實際的設計上,作者在數據線上設置了一個切換跳線,當需要系統進行讀 ROM碼操作時,就將該引腳接上帶5K左右上拉電阻的上拉電;需要系統轉入正常的溫度監測運行時,就將該引腳的數據傳輸線連至地線。
AT89C51通過對P1.6引腳的讀和判斷,就可以決定是轉入讀ROM操作還是運行溫度監測。通過一個小小的切換跳線,就可以實現在兩種功能之間方便地進行切換。這個跳線以及DS 1820插口都設置在主機的面板上,很便于使用。
2.LED數字顯示及其驅動電路。LED顯示器的工作情況有兩種:一種是溫度顯示;另一種是ROM碼顯示。DS 1820測溫范圍上限是125℃,因此溫度的十進制顯示需要用3位;本系統總線上有10個DS 1820傳感器的溫度值需要顯示,所以要顯示系統為每個傳感器自動分配的編號,必須設置2位顯示;另外考慮到編號和溫度的顯示值緊挨在一起可能造成混淆,因此在它們之間還增加了分隔的一位。最終選擇在這里設置了6位的LED顯示。
當顯示ROM碼時,即使用十六進制顯示,也最少需要顯示16個十六進制數。因此設計上,只能是讓6個LED從低位到高位逐個顯示三次,如此才能全部顯示完。考慮到人工記錄需要時間,所以軟件設計上采用無限循環的顯示方式。要想中止顯示ROM的操作,只要拔下待測的DS 1820,并且將切換跳線跳至測量溫度運行模式即可。
二、主要元器件介紹
用微型計算機滲透到測試領域并得到充分發揮,是現代測試技術發展的必然趨勢,也是目前作為智能儀表的設計的一般方法,目前市場上的單片機從數據總線寬度上來分主要有8位機、16位機、32位機,其中的32位單片機近年來在信號分析與處理、語音處理、數字圖象處理等數字信號處理運用領域得到廣泛的運用,但在工業測控現場,占主導地位的還是8位機和16位機,對本課題涉及的多路溫度的監測,運用單片機的主要目的是構成一個具有一定判斷、運算能力以及具有存儲、顯示、通信等功能的智能測量儀表,它所處理的信息量和復雜程度由于是溫度因而用8位機已經足夠了。目前,生產單片機的廠商有很多,尤其是近年來微電子技術、計算機技術的飛速發展,比較著名的有Intel,Philips,Microchip, Motorola,Zilog, Atmel等半導體企業。
由于采用智能化的數字溫度傳感器省去了A/D轉換電路和信號放大電路等外圍電路,只需要從一個I/O口引腳引出一條總線就可以連接數個傳感器,構成一個多點檢測系統。考慮到一般單片機I/O口的驅動能力,一條總線上能夠搭載的傳感器數量是有限的,傳感器數量過多會導致丟失數據和誤碼的問題。原則上,一條總線上搭載的傳感器數量,應以測試結果為依據。當檢測點很多,超過一條總線的負載能力時,根據需要,還可以考慮從軟件和硬件方面進行改進,以期總線上可以搭載更多的傳感器。
另外,單片機內必須分配足夠的存儲器以存儲DS 1820的ROM碼。由于DS 1820的ROM碼非常長(64位),因此將會占據很大的寄存器空間。如果占據的空間太大,就有必要為單片機設計外擴寄存器。在這里,出于方便開發的考慮,選用了經典的單片機AT89C51。
三、結論
通過介紹基于單片機和智能溫度傳感器的監測系統的一般工作原理以及應用,使用DS 1820的測溫系統電路簡單,應用方便靈活。在常溫測量中有較大優勢,應用前景廣闊。如在工業、空調系統、智能樓宇等領域的溫度測量中可以有廣泛的應用。作為新型的通信協議,一線總線(1-Wire Bus)技術己經在很多方面表現出特有的優勢,已經成為一種非常有發展潛力和廣闊應用前景的通信協議。而智能化的數字溫度傳感器是傳感器發展上的一次革命,將會給諸多領域的技術發展帶來深刻的變化。
參考文獻:
[1]單片機應用程序設計技術(修訂版) 作者: 周航慈 著 出版社:北京航空航天大學出版社 2009.
[2]單片機語言C51程序設計 作者: 趙文博 劉文濤 出版社:人民郵電出版社 2015.
[3]單片微型計算機原理及其C語言程序設計 作者: 陳光東著 出版社:華中理工大學出版社 2014.
[4]單片機原理及應用技術(第2版) 作者: 李全利 出版社:高等教育出版社 2012.