摘要:本文介紹數字溫濕度傳感器SHTll的工作原理、測量時序及輸出特性。溫濕度傳感器采用SHT11為主要硬件,用LED數碼管顯示測量數據,設計了一種基于單片機的溫濕度測控系統,最終實現簡易數字式溫濕度測量儀的硬件電路與軟件程序的設計。
關鍵詞:sht11;溫濕度傳感器;51單片機
中圖分類號:TP21文獻標識碼:A文章編號:1674-7712 (2014) 08-0000-01
溫濕度傳感器已經在眾多場合取得廣泛的應用。包括消費電子、自動化、測試與測量、IT、醫療等。消費電子包括運動腕表、戶外手持設備、家用溫濕度測量儀、滾筒洗衣機以及存放新鮮蔬菜的冰箱。
SHT11為具有二線串行接口的單片校準數字式新型相對濕度和溫度傳感器,可用來測量相對溫度、濕度和露點等參數,具有數字式輸出、免調試、免標定、免外圍電路及全互換等特點。與傳統溫濕度傳感器不同,SHT11是基于CMOSens技術的新型智能溫濕度傳感器,它將溫濕度傳感器、信號放大調理、A/D轉換、二線串行接口全部集成于一個芯片內,融合了CMOS芯片技術與傳感器技術,使傳感器具有品質卓越、超快響應、抗干擾能力強、極高的性價比等優點;SHT11傳感器默認的測量溫濕度和相對溫度的分辨率分別為14位、12位,通過狀態寄存器可降至12位、8位。溫度測量范圍是0~100%RH,對于12位的分辨率為%0.03%RH;測溫范圍為-40~+123.8,對于14位的分辨率為0.01℃。每個傳感器芯片都在極為精確的濕度室中標定,校準系數以程序形式存儲在OTP內存中,在測量過程中可對相對濕度自動校準,使SHT11具有100%的互換性。其測量原理首先是利用兩只傳感器分別產生相對濕度、溫度的信號;然后經過放大,分別送至A/D轉換器進行模數轉換、校準和糾錯;再通過二線串行接口相對濕度及溫度的數據送至微控器;最后利用微控器完成非線性補償和溫度補償。
在對基于SHT11溫濕度傳感器的系統設計的時候,將整個系統分為兩個部分,硬件電路設計和系統軟件設計。測控系統硬件設計電路包括采樣電路、鍵盤顯示電路、電源電路和電器驅動電路。測控系統以SM89C52為主機,由SHT11實現溫度和濕度的測量。SM89C52是八位MCU,內含4KB FLASH ROM,128 B RAM、拓展I/O,自帶看門狗定時器、低EMI、DBANK尋址、片內WDT TC振蕩器、PWM等。因此本系統不需要外擴ROM,也不必用外置的看門狗電路。SM89C52與SHT11鏈接,只需要2條I/O口線分別作為數據線DATA和時鐘線SCK,并在DATA端接入1只上拉電阻,同時在VDD和GND端接入1只去耦電容,通過相應的軟件設計,即可完成數據的采集和傳輸。在硬件電路我們再接入低功耗的LCD1602,分兩行將測得的溫濕度顯示在液晶屏上。電路驅動電路控制設備主要包括風機、吸濕機等,可分別采用固態繼電器控制工作。通過開關風機或加濕系統的工作狀態,實現對測控系統的實時控制。繼電器采用交流固態繼電器。交流固態繼電器是一種無觸點通斷電子開關,為四端有源器件,其中兩端為控制端,另外兩端為輸出受控端,中間采用光電隔離,作為輸入輸出之間的電氣隔離(浮空),有效避免電磁干擾。當單片機檢測到溫度或濕度超出預設范圍是,I/O口P1.2輸出控制信號觸發繼電器,啟動電器工作,從而實現對相對設備的控制。設計時應注意各個電器不應同時啟動,以免沖擊電網,這部分工作由軟件延時完成。
GPRS模塊我們使用的器件是華為GTM900B,該器件支持GSM網絡,4V電壓,只有2W的發射功率,頻段是900~1800MHz,支持GSM標準的AT命令,也支持華為擴展的AT命令。而移動的GSM通信網絡由若干個功能實體組成。各個功能實體實現的功能的集合就是GSM網絡提供給用戶的基本業務與補充業務。GSM移動通信網絡結構主要由移動臺、基站子系統、網絡子系統、操作與維護子系統三部分組成。無線接口是MS與BTS之間的通信接口,又稱為空中接口,用于移動臺與GSM系統固定部分之間的通信,其物理連接通過無線鏈路實現。此接口傳遞的信息包括無線資源管理、移動管理和接續管理等。我們通過對AT命令的編寫實現了用C控制GSM的功能,將總控制權交個了單片機,這樣就使得兩個硬件系統成為一個整體。
系統軟件的設計部分,系統軟件程序基于KEILC開發平臺,采用C51語言編寫。該部分的程序采用模塊化設計的方法,主要包括主程序初始化,鍵盤掃描,溫濕度測量以及信息發送模塊。主程序初始化主要完成系統上電后進行定時器和LCD液晶模塊、通信電路的初始化,包括關掉某縣中斷、設定各個數據的存儲單元地址、初始化完成后,系統將正常運行,并進行鍵盤掃描機溫度濕度的控制操作。鍵盤掃描模塊則提供人機信息交換接口,完成溫濕度上下限值的設定與顯示功能,并將兩個限值存入到固定單元中。溫濕度測量模塊則是微控制器首先發布一個啟動傳輸時序,接著調用寫時序發布溫度和濕度的測量命令,然后延時等待測量的完成。在完成測量后,再調用讀時序讀回測量結果,進行溫濕度的計算,最后將實際溫度值存儲于固定單元中。采集溫濕度的數據送至ATmega128(L)中的溫濕度數據僅是測量值,我們還要進行處理才能得到真實的數據,處理好的溫濕度數據將由方波信號發送至上位機,其中溫濕度數據與方波頻率的關系由公式可以推出,所有這些都可以進行編程來實現計算。
參考文獻:
[1]朱飛,楊平.AVR單片機C語言開發入門與典型實例[M].北京:人民郵電出版社,2010.
[2]張艷麗,楊仁弟.數字溫濕度傳感器SHT11及其應用工礦自動化[J],2007(03).