基于SHT11的混凝土結(jié)構(gòu)環(huán)境溫濕度測量系統(tǒng)的設(shè)計
關(guān)鍵詞:SHT11;溫濕度監(jiān)測系統(tǒng);PIC16F73;Visual Basic
引言
為了有效地開展現(xiàn)代混凝土結(jié)構(gòu)耐久性的基礎(chǔ)研究,揭示混凝土結(jié)構(gòu)生命全過程的損傷演變規(guī)律,從根本上改善混凝土工程的耐久性,保證其應有的使用壽命,對混凝土使用環(huán)境進行溫濕度檢測顯得尤為重要。
通常使用熱敏電阻和濕敏電容來分別測量溫度和濕度,A/D轉(zhuǎn)換后送入計算機,但這種測量方法一般都要設(shè)計相應的信號調(diào)理電路,還要經(jīng)過復雜的標定過程,其測量精度很難保證。這種測量溫濕度的系統(tǒng)在測量點數(shù)較少,而且精度要求不高的場合還可以勝任,而需要多點測量且精度要求較高時,其缺點就顯露無疑了。而且,當涉及到兩個參數(shù)的監(jiān)測時,每一個測量點都必須使用兩個獨立的傳感器和獨立的信號調(diào)理電路,這不僅使得測量系統(tǒng)的成本和體積大為提高,也在一定程度上增加了系統(tǒng)設(shè)計的復雜性。本文將采用SHT11芯片,實現(xiàn)更為優(yōu)化的設(shè)計方案。
SHT11內(nèi)部結(jié)構(gòu)和工作原理
SHT11數(shù)字式溫濕度傳感器采用CMOSens(Ce-mo-Sens)專利技術(shù)(CMOS和傳感器技術(shù)的融合)制造,它的特點為:全量程標定,二線數(shù)字輸出;濕度測量范圍為0~100%RH,溫度測量范圍為-40℃~+123.8℃,濕度測量精度為±3.0% RH,溫度測量精度為±0.4℃,響應時間<4s;低功耗 ( 30mW),可完全浸沒。其外形尺寸僅為7.5mm×5mm×2.5mm,體積與大火柴頭相近。芯片能輸出經(jīng)過完全校準的相對濕度和溫度數(shù)字信號,便于實現(xiàn)系統(tǒng)的集成。
SHT11內(nèi)部結(jié)構(gòu)
其內(nèi)部結(jié)構(gòu)如圖1所示。主要包括:相對濕度傳感器、溫度傳感器、放大器、14位ADC、校準存儲器E2PROM、RAM、CRC(循環(huán)冗余校驗碼)寄存器、二線制串行接口和低壓監(jiān)測電路等。
圖1 SHT11內(nèi)部結(jié)構(gòu)
該芯片的DATA引腳在SCK時鐘的下降沿之后改變狀態(tài),并僅在SCK時鐘上升沿之后有效,所以,微控制器可以在SCK高電平時讀出數(shù)據(jù),而當其向SHT11發(fā)送數(shù)據(jù)時,則必須保證DATA上的電平狀態(tài)在SCK高電平段穩(wěn)定。在需要輸出高電平時,微控制器將置為高阻態(tài),由外部的上拉電阻將信號拉至高電平,從而實現(xiàn)高電平輸出。
工作原理
首先由兩個傳感器分別產(chǎn)生相對濕度和溫度信號,經(jīng)過放大后分別送到14位的ADC進行A/D轉(zhuǎn)換、標準和糾錯,最后通過二線制的串行接口,將相對濕度和溫度的數(shù)據(jù)送至微控制器,再利用微控制器完成非線性補償和溫度補償。
溫濕度測量系統(tǒng)
硬件電路的設(shè)計
本系統(tǒng)以PIC16F73單片機作為微控制器。PIC16F73為8位28引腳微處理器,具有4KB的FLASH程序存儲器;22條雙向可編程I/O口線;192字節(jié)數(shù)據(jù)存儲器;3個定時器;5路8位A/D通道。
該系統(tǒng)由測量、顯示和通信三部分組成。由于PIC16F73具備I2C總線接口,所以不需要進行虛擬。分別在DATA端接入1個4.7KW的上拉電阻,在VDD和GND端接入一個0.1mF的去耦電容。硬件連線圖如圖2所示。
圖2 系統(tǒng)硬件電路圖
SHT11采用二線制的數(shù)據(jù)傳輸方式,為節(jié)省有限的I/O口資源,采用如下連接方式:將每個SHT11的SCK線都接到微控制器的同一個I/O口線上,而DATA線則分別掛接到不同I/O端口。同時,這樣的接線方式還有一個優(yōu)點:由于多個SHT11共用一條SCK線,因此,在每次測量中可以同時發(fā)出測量指令,這樣,各個傳感器同時進行測量,只需一次等待時間就可以完成整體數(shù)據(jù)的采集??s短了數(shù)據(jù)的采集時間,從而為控制系統(tǒng)的快速響應提供了條件。
顯示部分電路采用帶有高速串行接口的4位LED控制驅(qū)動器ZLG7219實現(xiàn),接口采用同步串行外設(shè)接口SPI,編程簡單而且節(jié)省I/O口。溫度和濕度顯示各用4位,通過改變連接電源與ISET端口的電阻值,可以調(diào)節(jié)數(shù)碼管的顯示亮度。
與上位機的數(shù)據(jù)通信部分采用接口芯片MAX232實現(xiàn)的RS-232的通信方式。
為提高系統(tǒng)的可靠性,由MAX813LEUA組成看門狗電路,以防止程序跑飛而使系統(tǒng)失控。如果在1.6s內(nèi)PIC16F73不給WDI輸入端發(fā)送觸發(fā)信號,說明程序跑飛,MAX813LEUA將發(fā)出復位信號,使系統(tǒng)復位重新進行。
溫濕度測量系統(tǒng)軟件的設(shè)計
在單片機內(nèi)部寫有數(shù)據(jù)的采集和顯示等程序,能使當前的溫濕度值實時顯示在現(xiàn)場,另外,該溫濕度值通過RS-232總線接口送至PC,運行VB程序使溫濕度值在監(jiān)控界面上顯示。單片機軟件的流程如圖3所示。
圖3 軟件流程圖
為實現(xiàn)溫濕度測量,使用VB編寫了上位機顯示畫面,能實時顯示出當前現(xiàn)場每個點位的溫濕度值,下面是對溫濕度進行轉(zhuǎn)化的部分程序:
Select Case
MSComm1.CommEvent
Case comEvReceive
Label11.Visible = True
Label12.Visible = True
buffer = MSComm1.Input
arr = buffer
For i = 1 To 11
w_1(i) = arr(i - 1)
Text1.Text = Text1.Text +
" " + w_1(i)
Next i
Humidity = Str$((Val(w_1(4)) * 256 + Val(w_1(5))) / 100)
Temperature = Str$(((Val(w_1(6)) * 256 + Val(w_1(7))) - 27315) / 100)
Label2.Caption = Humidity
Label10.Caption = Temperature
End Select
圖4是對其中的一個點進行采集的畫面,在圖中有串口號、波特率、檢驗位、數(shù)據(jù)位和停止位等設(shè)置,被測量點的當前溫濕度一目了然。
圖4 溫濕度顯示界面
這里顯示的只是一個點,當然,也可以把所要顯示的多個點一起顯示,也可以切換到每一個點的歷史溫濕度值曲線,只要在程序上做一些修改就可以了。
結(jié)語
本文采用PIC16F73單片機和SHT11溫濕度傳感器及相關(guān)外圍芯片構(gòu)成了高性能溫濕度采集系統(tǒng),并使用VB實現(xiàn)了數(shù)據(jù)現(xiàn)場和上位機的實時通信,從而很方便地知曉現(xiàn)場每個點位的溫濕度狀況,為混凝土結(jié)構(gòu)的使用提供了強有力的依據(jù)?!?/P>
參考文獻
1. SHT1x / SHT7x Humidity & Temperature Sensor v3.00,March 2007
2. PIC16F7X Data Sheet 28/40-pin, 8-bit COMOS FLASH Microcontrollers. Microchip Technology Inc. 2002
3.(美)普雷德科(Predko,M.)編. 劉任平,劉玉琳等譯. PIC單片機便攜手冊. 北京:機械工業(yè)出版社,2005