溫濕度的測(cè)量在倉(cāng)儲(chǔ)管理、生產(chǎn)制造、氣象觀測(cè)、工農(nóng)業(yè)生產(chǎn)、科學(xué)研究以及日常生活中被廣泛應(yīng)用,傳統(tǒng)的模擬式濕度傳感器一般都要設(shè)計(jì)信號(hào)調(diào)理電路并需要經(jīng)過(guò)復(fù)雜的校準(zhǔn)和標(biāo)定過(guò)程,因此測(cè)量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。為了克服這些缺點(diǎn),本設(shè)計(jì)采用瑞士Sensirion公司生產(chǎn)的具有I2C總線接口的單片全校準(zhǔn)數(shù)字式相對(duì)濕度和溫度傳感器SHT10。該傳感器采用獨(dú)特的CMOSensTM技術(shù),具有數(shù)字式輸出、免調(diào)試、免標(biāo)定、免外圍電路及全互換的特點(diǎn)。 1 系統(tǒng)組成與硬件設(shè)計(jì) 本設(shè)計(jì)是實(shí)現(xiàn)溫度和濕度的測(cè)量,通過(guò)單片機(jī)(STC89C52)直接控制SHT10,將得到的溫度和濕度數(shù)據(jù)顯示在液晶屏上,同時(shí)還顯示當(dāng)時(shí)的測(cè)量時(shí)期與時(shí)間,通過(guò)按鍵記錄溫度與濕度和與之對(duì)應(yīng)的時(shí)期與時(shí)間。利用串口可以傳送到上位機(jī)。原理框圖如圖1所示。 (1)電源部分:電源采用9 V(4.5~20 V都可以)電池作為輸入,通過(guò)電壓轉(zhuǎn)換芯片SPX1117輸出5 V電壓,為系統(tǒng)提供電源,電源電路圖如圖2所示。調(diào)節(jié)R2與R1之間的比值可以調(diào)節(jié)輸出電壓的大小:Vout=VREF(1+R2/R1),VREF=1.25 V。 (2)單片機(jī)與SHT10接口電路部分:兩者都采用I2C接口,由于STC89C52沒(méi)有I2C接口,所以通過(guò)模擬來(lái)實(shí)現(xiàn)。DATA需要一個(gè)外部的上拉電阻(例如:4.7 kΩ)將信號(hào)提拉至高電平,單片機(jī)最小系統(tǒng)且與SHT10,AT24C04接口電路如圖3所示。 (3)單片機(jī)與時(shí)鐘芯片DS1302接口電路部分:DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,采用SPI三線接口與CPU進(jìn)行同步通信,可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓2.5~5.5 V。應(yīng)用電路如圖4所示。 (4)單片機(jī)與液晶顯示屏的接口電路部分:液晶顯示屏的數(shù)據(jù)接口線與單片機(jī)的P0口相接,P2.0、P2.1、P2.2用于使能和控制對(duì)液晶屏的讀寫(xiě)等操作。具體的電路如圖4所示。 (5)單片機(jī)與數(shù)據(jù)存儲(chǔ)芯片AT24C04接口電路部分:AT24C04具有I2C接口,但STC89C52沒(méi)有此接口,因此要通過(guò)模擬實(shí)現(xiàn)。連接電路如圖3所示。 (6)按鍵部分:按鍵功能如下,具體電路如圖4所示。 (7)與上位機(jī)串口通信部分,該部分采用RS 232通信模式,采用MAX232接口芯片,完整的原理圖如圖5所示。 2 軟件程序 本設(shè)計(jì)軟件編程分為以下六個(gè)部分: (1)溫、濕度傳感器SHT10測(cè)量程序; (2)時(shí)鐘DS1302測(cè)量程序; (3)液晶顯示程序; (4)數(shù)據(jù)存儲(chǔ)芯片AT2404讀寫(xiě)程序; (5)按鍵程序; (6)單片機(jī)與上位機(jī)數(shù)據(jù)通信程序。 前五部分使用C語(yǔ)言編寫(xiě),最后一部分使用VB語(yǔ)言開(kāi)發(fā)。下面給出與上述硬件電路配套的部分C51應(yīng)用程序。 2.1單片機(jī)測(cè)量控制C51語(yǔ)言程序 (1)向?qū)崟r(shí)時(shí)鐘DS1302寫(xiě)入一字節(jié) (3)帶校驗(yàn)和的測(cè)量溫度濕度 2.2 溫度、濕度上傳到上位機(jī)軟件 上位機(jī)的主要工作通過(guò)串口,使用RS 232通信協(xié)議完成和下位機(jī)的STC89C52的通信,接收下位機(jī)的溫度濕度數(shù)據(jù),并做進(jìn)一步處理分析,形成直觀的用戶操作界面。這里使用VB語(yǔ)言開(kāi)發(fā)《溫度、濕度數(shù)據(jù)接收軟件》,VB提供了很好的解決方案。 VB下的串行端口通信是通過(guò)其提供的控件MSComm實(shí)現(xiàn)的。該控件屏蔽了通信過(guò)程中的底層操作,程序員只需要設(shè)置并監(jiān)視MSComm控件的屬性和事件,結(jié)合其他VB提供的控件就可以對(duì)串口初始化及數(shù)據(jù)的發(fā)送、接收,如圖6所示。 3 結(jié)語(yǔ) 溫濕度傳感器SHT10集溫度傳感器和濕度傳感器于一體,因此采用SHT10進(jìn)行溫濕度實(shí)時(shí)監(jiān)測(cè)的系統(tǒng)具有精度高、成本低、體積小、接口簡(jiǎn)單等優(yōu)點(diǎn);另外SHT10芯片內(nèi)部集成了14位A/D轉(zhuǎn)換器,且采用數(shù)字信號(hào)輸出,因此抗干擾能力也比同類芯片高。該芯片在溫濕度監(jiān)測(cè)、自動(dòng)控制等領(lǐng)域均已得到廣泛應(yīng)用,在現(xiàn)代化溫室控制系統(tǒng)中具有廣闊的發(fā)展前景。本文設(shè)計(jì)的便攜式數(shù)顯溫濕度檢測(cè)儀體積小,重量輕,性能穩(wěn)定可靠,且便于攜帶;與傳統(tǒng)的模擬式溫濕度計(jì)相比具有明顯的優(yōu)勢(shì):由于用數(shù)字式顯示方便讀出數(shù)值;可以保存溫度濕度值,不需要記錄;可以通過(guò)串口傳到上位機(jī)。 |