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