賈麗霞
(鹽城生物工程高等職業(yè)技術(shù)學(xué)校,江蘇鹽城 224051)
隨著社會經(jīng)濟的發(fā)展和科學(xué)技術(shù)的不斷進步,許多情況下都需要對環(huán)境的溫濕度進行限定。因此,為了隨時可以檢測環(huán)境溫濕度以進行監(jiān)測[1],減少由于溫濕度對工程帶來的經(jīng)濟損失,本文設(shè)計基于SHT11對溫濕度進行測量的系統(tǒng),可以實現(xiàn)對環(huán)境溫濕度的監(jiān)測。
溫度監(jiān)測系統(tǒng)以msp430為核心,采用溫濕度傳感器SHT11測量溫濕度,系統(tǒng)由溫濕度數(shù)據(jù)采集模塊、主控模塊、顯示模塊、按鍵模塊組成,由溫濕度數(shù)據(jù)采集模塊采集數(shù)據(jù)送入單片機,處理之后根據(jù)按鍵操作完成相應(yīng)的溫度和濕度顯示,并且具有超限報警的功能,圖1為系統(tǒng)結(jié)構(gòu)圖。

圖1 系統(tǒng)結(jié)構(gòu)框圖
1.2.1 主控模塊
MSP430單片機是由TI 公司推出的一系列超低功耗微處理器[2]。它的顯著特性是具有超低功耗,有5個低功耗模式可供選擇;數(shù)字控制的振蕩器可以使硬件從低功耗狀態(tài)快速轉(zhuǎn)化到喚醒狀態(tài),可以在少于6μs時間內(nèi)達到激活工作方式;開發(fā)語言有匯編語言和C 語言等特點。以上特性使之成為電池供電便攜設(shè)備的首選微處理器。
1.2.2 溫濕度監(jiān)測模塊
本設(shè)計采用SHT11傳感器測量溫濕度。溫濕度測量芯片由一個電容式聚合體測濕元件和一個能隙式測溫元件組成,并與14位的模數(shù)轉(zhuǎn)換芯片以及串行接口電路無縫連接[3]。因此,該芯片與其他同類芯片相比,具有抗干擾能力強、測量精度高、相應(yīng)時間極短、性價比高等優(yōu)勢。
SHT11的內(nèi)部硬件結(jié)構(gòu)如圖2所示。

圖2 SHT11芯片的內(nèi)部結(jié)構(gòu)
SHT11傳感器測量溫度和相對濕度的默認精度分別為14位、12位,如果設(shè)置狀態(tài)寄存器,可將精度降至12位、8位。可以測量溫度的范圍為-40~123.8℃,如果設(shè)置的精度為14位,則溫度分辨率為0.01℃;可以測量的濕度范圍為0%~100%RH,如果設(shè)置的精度為12位,則濕度分辨率為0.03%RH[6]。SHT11傳感器芯片在出廠前,進行了極為精確的濕度標定,校準系數(shù)在OTP 內(nèi)存以程序形式進行儲存。在測量過程中,程序能夠?qū)ο鄬穸茸詣有剩瑐鞲衅鞯男盘柕男逝c校準系數(shù)相關(guān)。SHT11芯片利用溫濕度傳感器分別產(chǎn)生的相對溫度、相對濕度模擬信號,經(jīng)過放大器進行信號放大,然后經(jīng)過模數(shù)轉(zhuǎn)換芯片進行模數(shù)轉(zhuǎn)換、信號校準和糾錯,最后通過RS232串行接口將相對溫度及濕度傳送到MSP430單片機進行處理。

表1 溫濕度結(jié)果對比
如圖4所示,SHT11的傳輸過程為當(dāng)SCK 是高電平時DATA線是低電平,接著SCK 給出一個低脈沖,當(dāng)SCK 再次為高電平時DATA 再次升高[7]。之后的命令序列由三個地址位(目前支持只000)和五個命令位組成。SHT11通過第八個SCK時鐘的下降沿后的DATA的下拉引腳來指示命令的正確接收。在SCK時鐘的第九個下降沿時,DATA 線被釋放(升為高電平),如圖4所示。傳輸兩個字節(jié)的測量數(shù)據(jù)和一個字節(jié)的CRC 校驗和傳輸,μC 必須通過DATA 線的下拉引腳接收每一個字節(jié)。
當(dāng)外部與SHT11傳感器芯片的之間的通信突然中斷,則依據(jù)下面的時序可以使串口復(fù)位:如圖4所示,置位DATA 線處于高電平,觸發(fā)SCK 脈沖9次以上,緊接著在SCk 線上傳送一個“傳輸開始”命令序列。當(dāng)執(zhí)行溫(濕)度測量命令序列后,溫濕度測量控制器需要測量完成后才能接受新的命令。當(dāng)使用12位和14位測量精度時,分別需要55和210ms的測量時間。當(dāng)一次測量完成時,SHT11芯片將置位數(shù)據(jù)線為低電平,此時溫濕度測量控制器必須重新啟動SCK 信號后,傳輸2字節(jié)的隨機測量數(shù)據(jù)和1字節(jié)CRC校驗和。溫濕度測量控制器必須通過置位DATA 線為低電平,來確認接收的每一個字節(jié),接收到數(shù)據(jù)是以MSB 序列傳輸?shù)腫8]。溫濕度測量控制器在確認CRC 數(shù)據(jù)正確后便停止工作,如果CRC-8校驗和不存在或沒有被是以,則溫濕度測量控制器在接收到LSB位后保持SCK 線為高電平來停止數(shù)據(jù)的傳輸,SHT11芯片會在測量溫濕度和數(shù)據(jù)通信完成后,返回睡眠模式自動節(jié)能。
1)顯示和按鍵模塊
系統(tǒng)的顯示模塊采用8位數(shù)碼管顯示,加上4*1的按鍵模塊控制。其中K1、K2分別在數(shù)碼管上顯示當(dāng)前溫度和濕度,K3、K4顯示0,方便硬件調(diào)試。
2)報警模塊
系統(tǒng)采用了聲光報警。若系統(tǒng)檢測到周圍環(huán)境的溫濕度超過或低于測量的要求范圍,則單片機驅(qū)動P3.5接口的LED 閃爍,同時蜂鳴器響起,提醒報警。
整個程序主要包括了主程序、溫濕度數(shù)據(jù)采集、數(shù)碼管顯示、按鍵處理、聲光報警等模塊的設(shè)計。

圖3 SHT11開始傳輸時序圖

圖4 SHT11復(fù)位時序圖
圖5是監(jiān)測儀主程序流程圖,在程序設(shè)計時采用按鍵選擇的結(jié)構(gòu),主要為溫濕度顯示選擇。按鍵后,由單片機系統(tǒng)判斷,若為K1,則顯示當(dāng)前溫度;若為K2,則顯示當(dāng)前濕度;若為K3或者K4,則顯示“0”。最后判斷溫濕度有沒有超限,若超限,則進入聲光報警,LED 閃爍和蜂鳴器響起;若正常,則繼續(xù)測量溫濕度。
本系統(tǒng)的溫濕度測量模塊中,SHT11芯片的I2C 口與MSP430單片機通用I/O 口連接進行數(shù)據(jù)命令的傳輸。溫濕度測量程序放在定時器的中斷服務(wù)程序里,系統(tǒng)自動判斷事件后調(diào)用“寫”命令子程序、“讀”命令子程序、數(shù)值計算子程序和顯示子程序,最后將實際溫濕度值存儲于2個固定存儲單元中,溫、濕度各占一個單元。
為了檢驗SHT11顯示溫濕度的正確性,利用可以顯示溫濕度的鬧鐘與本系統(tǒng)放在離加熱到一定溫度的熱水旁,觀察其讀數(shù)變化并記錄。表1為鬧鐘與本系統(tǒng)監(jiān)測的溫濕度記錄結(jié)果對比。
溫濕度鬧鐘的參數(shù):
溫度測量范圍:-20℃~+60℃
溫濕度測量精度:±1.0℃(15℃~30℃)±5%RH(40%RH~80%RH)
溫度分辨率:0.1℃
濕度測量范圍:10%RH~99%RH
濕度分辨率:1%RH
從得到的實驗結(jié)果可以看出,系統(tǒng)測量出來的溫度值與鬧鐘顯示的數(shù)值很接近,而相對溫度與鬧鐘的顯示數(shù)值有大概1%到2%的誤差,但在溫濕度鬧鐘的測量精度的誤差范圍內(nèi)。在用兩種不同的儀器測量溫濕度的時候,本系統(tǒng)實時顯示當(dāng)前溫濕度,可以較快的得到實時數(shù)值,而溫濕度鬧鐘需要5s時間的取樣刷新,所以相對于系統(tǒng)來說要得到當(dāng)前溫濕度時間較長,且測量數(shù)據(jù)也不如本系統(tǒng)精準。
本設(shè)計在傳統(tǒng)的溫濕度監(jiān)測和報警系統(tǒng)的基礎(chǔ)上加以改進,設(shè)計出低功耗的溫濕度監(jiān)測系統(tǒng)。通過軟硬件測試證明該系統(tǒng)能夠安全可靠的運行測量誤差小,具有良好的應(yīng)用效果。

圖5 系統(tǒng)流程圖
[1]張艷麗,張勇.基于SHT11的溫濕度控制器[J].自動測量與控制.2007,26(5):83-84
[2]張艷麗,楊仁弟.數(shù)字溫濕度傳感器SHT11及應(yīng)用[J].工礦自動化.2007,3:113-114
[3]樊建明,陳淵睿.基于SHT11的溫室多點測量系統(tǒng)設(shè)計[J].國外電子測量技術(shù).2006,25(11):4-8
[4]謝楷,趙建.MSP430系列單片機系統(tǒng)工程設(shè)計與實踐[M].北京:機械工業(yè)出版社,2009