溫度濕度監(jiān)控系統(tǒng)的設計
摘要 提出了一種對溫度和濕度進行實時監(jiān)控的一種設計與實現(xiàn)方法。說明了設計過程并給出了硬件連接圖。為了實現(xiàn)測量數(shù)據(jù)的傳輸,介紹了軟件設計的部分方案。設計出的測量系統(tǒng)可以滿足對溫度和濕度的實時監(jiān)控。
關鍵詞 溫度濕度測量;SHTll芯片;MSP430F149芯片
文中將介紹一種采用數(shù)字溫度濕度傳感器SHTll和超低功耗單片機MSP430F149實現(xiàn)的溫度濕度測量系統(tǒng),該系統(tǒng)可方便的實現(xiàn)對溫度和濕度的實時監(jiān)控。
1 芯片簡介
SHTll是Sensirion公司生產的一款數(shù)字溫度濕度傳感器。它是一款將溫度敏感元件、濕度敏感元件、信號放大調理器、14位的A/D轉換器和二線串行接口電路集于一體的全校準數(shù)字輸出傳感器。該芯片可以直接提供溫度在-40~120℃范圍內分辨率為14 bit的數(shù)字輸出和濕度在O~100%RH范圍內分辨率為12 bit的數(shù)字輸出。由于該芯片具有響應速度快、抗干擾能力強和性價比高等優(yōu)點,因此采用SHTll芯片作為測量單元。
該SHTll芯片內部還有一個加熱器,利用加熱器可以實現(xiàn)以下功能。
(1)經(jīng)過加熱前后測出的相對溫度值和濕度值的比較可以確定傳感器是否處于正常工作的狀態(tài)。
(2)在潮濕的環(huán)境下使用加熱器可以避免傳感器凝露,同時還可以縮短響應時間,提高測量精度。
(3)在實現(xiàn)高質量露點測量的時候也需要使用加熱器。
2 硬件設計
在硬件設計中,溫度和濕度信號經(jīng)過SHTll內部的溫度敏感元件和濕度敏感元件轉化為模擬電壓信號,該模擬電壓信號經(jīng)過SHTll內部的信號放大調理器放大、然后再經(jīng)過A/D轉換器進行模/數(shù)轉換、校準和糾錯,最后才將相對溫度或濕度的數(shù)據(jù)通過二線串行接口的雙向數(shù)據(jù)口DATA端傳送至超低功耗微處理器MSP430F149。當MSP430F149微處理器接收到數(shù)據(jù)后,通過P4和P5口經(jīng)由LED顯示溫度值和濕度值。由于P1口具有中斷功能,可以通過其設置矩陣鍵盤來輸入報警的具體參數(shù),經(jīng)過比較如果需要報警,則通過P3口經(jīng)過相關外圍電路輸出溫度、濕度警報。具體的硬件連接如圖1所示。
因為SHTll是通過二線串行接口來訪問,所以硬件的接口電路非常簡單。其中需要注意的是:DATA數(shù)據(jù)線需要外接電阻。時鐘線SCLK用于超低功耗微處理器MSP430F149和SHTll之間的同步通信,由于接口包含完全靜態(tài)邏輯,所以對SCLK最低頻率沒有要求。
溫度和濕度數(shù)值可以通過LED顯示。如果需要節(jié)約管腳,可以采用移位寄存器來實現(xiàn)LED的靜態(tài)顯示。例如8位的移位寄存器SN74HC595D芯片。該芯片的工作電壓為2~6 V,可以和MSP430系列單片機直接連接。部分連接電路如圖2所示。
其中通過SN74HC595D的串行輸出管腳實現(xiàn)串行級聯(lián),這樣可以控制兩個數(shù)碼段的顯示。微處理器的P4.1和P4.2分別與鎖存輸入信號端口RCLK 和移位時鐘信號端口SRCLK相連,分別產生鎖存信號和移位時鐘信號。OE接地,使輸出使能?;谝陨想娐?,只要增加SN74HC595D的個數(shù)就可以增加顯示的位數(shù)。
矩陣鍵盤由行線和列線組成。主要通過掃描來實現(xiàn)捕獲鍵盤的輸入,掃描就是單片機不斷地對行線依次設置低電平,然后檢查列線的輸入狀態(tài),圖3為鍵盤電路。
3 軟件設計
3.1 測量設計
在程序開始時,微處理器首先用一組“啟動傳輸”時序表示數(shù)據(jù)傳輸?shù)某跏蓟?,然后發(fā)出一個8位的命令碼,這個命令碼包含3個地址位(必須設定為000)和5 個命令位。發(fā)送完該命令代碼(命令代碼含義如表l所示),將DATA數(shù)據(jù)線設為輸入狀態(tài)等待SHTll的響應。SHTll接收到上述地址和命令碼后,在第 8個時鐘下降沿將DATA數(shù)據(jù)線下拉為低電平作為響應信號。在第9個時鐘下降沿之后,SHTll將DATA數(shù)據(jù)線恢復為高電平,這表示已經(jīng)正確地接收到測量指令。DATA數(shù)據(jù)線恢復后,SHTll開始測量當前溫度或濕度,測量結束后,再次將DATA數(shù)據(jù)線下拉為低電平,這表示測量已經(jīng)結束。微處理器檢測到 DATA數(shù)據(jù)線被拉低后,給出時鐘信號。SHTll接著傳輸2 bit的測量數(shù)據(jù)和1 bit的校驗數(shù)據(jù),微處
理器需要通過下拉DATA數(shù)據(jù)線以確認每個字節(jié)。首先在8個時鐘下降沿輸出高字節(jié)數(shù)據(jù),在第9個時鐘下降沿,微處理器將DATA數(shù)據(jù)線拉低作為響應信號,然后釋放DATA數(shù)據(jù)線。在隨后8個時鐘下降沿SHTll發(fā)出低字節(jié)數(shù)據(jù);接下來的時鐘下降沿微處理器再次將DATA數(shù)據(jù)線拉低作為接收數(shù)據(jù)的響應信號。最后8個時鐘下降沿SHTll發(fā)出校驗數(shù)據(jù),微處理器不予應答則表示通訊結束。在測量和通訊結束后,SHTll自動進入休眠模式。經(jīng)測試,該系統(tǒng)可以對溫度和濕度進行監(jiān)控。
3.2 LED顯示設計
微處理器通過P4.0口串行輸出數(shù)據(jù)到SN74HC595D。輸出完成一個字節(jié)后,如果給一個鎖存信號,則SN74HC595D就并行輸出,在數(shù)碼管上顯示數(shù)據(jù)。如果沒有給鎖存信號,而是繼續(xù)輸出第二個字節(jié),這時第一個SN74HC595D將前一個字節(jié)的數(shù)據(jù)通過串行輸出管腳輸出到第二個SN7 4HC595D的輸入管腳。當輸出結束時,兩個SN74HC595D分別存儲了兩個字節(jié)的數(shù)據(jù)。此時如果微處理器給出鎖存信號,則兩個SN74HC595D通過并行輸出將數(shù)據(jù)分別顯示在兩個數(shù)碼管上。
3.3 鍵盤輸入設計
由于所有的列線都被上拉到3.3 V,因此當任何鍵都沒有被按下的情況下,所有的列線上都是高電平。如果在P1.7管腳上輸出低電平,同時行線的其他管腳上輸出高電平時,當“S01”鍵被按下時,P1.0就為低電平;當“S02”鍵被按下時,P1.1就為低電平;當“S03”鍵被按下,則P1.2就為低電平;當“S04”鍵被按下,P1.3為就低電平。通過設置一條行線的輸出就可以獲取列線上的相應狀態(tài),從而獲得鍵盤輸入值。同理,如果依次在其他列線上輸出低電平,就可以獲取到其他鍵的輸入值。通過這樣的掃描方式,就可以實現(xiàn)鍵盤的輸入。鍵盤掃描結果如圖4所示。
可以看出,當按鍵盤的4、0、5和6鍵時,單片機可以接收到準確的數(shù)據(jù)。當輸入?yún)?shù)后,微處理器每次測量數(shù)據(jù)后都會與存儲的參數(shù)進行比較,如果超出則發(fā)出警報。
4 結束語
文中介紹了數(shù)字溫度濕度監(jiān)控系統(tǒng)的實現(xiàn)方案,硬件連接以及各個功能部分的設計。經(jīng)測試,該系統(tǒng)可以實現(xiàn)對溫度和濕度進行實時測量和監(jiān)控,達到了設計要求。