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