黃睿
摘 要: 設(shè)計(jì)一款數(shù)字式溫濕度檢測(cè)儀,可用于日常環(huán)境中的溫、濕度的測(cè)量與記錄。系統(tǒng)以MSP430F2232為核心,利用單片全校準(zhǔn)數(shù)字式相對(duì)溫、濕度傳感器SHT15檢測(cè)溫/濕度,利用電擦寫式只讀存儲(chǔ)器24LC512作為存儲(chǔ)元件。系統(tǒng)可完成溫、濕度的測(cè)量和記錄,同時(shí)還可以記錄對(duì)應(yīng)的日期與時(shí)間,并通過(guò)液晶屏顯示溫、濕度數(shù)據(jù)及其變化曲線。利用VC語(yǔ)言開發(fā)的溫、濕度數(shù)據(jù)接收軟件還可以把數(shù)據(jù)傳送到PC機(jī),便于對(duì)這些數(shù)據(jù)進(jìn)行分析和對(duì)比。系統(tǒng)預(yù)留有擴(kuò)展口,以便于更新和升級(jí)。
關(guān)鍵詞: SHT15; 24LC512; MSP430F2232; 溫濕度檢測(cè)
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)05-41-03
Abstract: Design a digital temperature and humidity tester, which can be used for measuring and recording the daily environment temperature and humidity. The system takes MSP430F2232 as the core, uses monolithic full calibration digital temperature and relative humidity sensor SHT15 to detect temperature and humidity, and uses electrically erasable read-only memory 24LC512 as the storage element. The system can measure and record temperature and humidity, and can also record the corresponding date and time. The temperature, humidity and the variation curve can be displayed on the LCD. The software developed with VC language for receiving temperature and humidity can send the data to PC machine for analysis and contrast. The system also has set aside a expansion port, easy to update and upgrade.
Key words: SHT15; 24LC512; MSP430F2232; temperature and humidity detection
0 引言
在現(xiàn)代工業(yè)環(huán)境中,溫度和濕度影響到工業(yè)生產(chǎn)環(huán)境中電氣設(shè)備的使用壽命,在農(nóng)業(yè)環(huán)境中溫濕度影響到農(nóng)作物的正常生產(chǎn),而在人居環(huán)境中,溫濕度影響到人們身體的健康。因此,設(shè)計(jì)一款溫濕度檢測(cè)系統(tǒng)實(shí)時(shí)檢測(cè)環(huán)境的溫濕度,控制抽濕機(jī)和溫控設(shè)備有效的進(jìn)行工作,保護(hù)工業(yè)環(huán)境中的電氣設(shè)備、農(nóng)業(yè)環(huán)境中的農(nóng)作物以及人們的身體健康,具有一定的現(xiàn)實(shí)意義。本課題設(shè)計(jì)的溫濕度記錄儀不但可以檢測(cè)溫濕度信號(hào),還能記錄其變化趨勢(shì),可以輸出溫濕度的日均值和小時(shí)均值。具有更準(zhǔn)確地?cái)?shù)據(jù)記錄、更方便的數(shù)據(jù)存儲(chǔ)、更便捷的數(shù)據(jù)分析等功能。
1 系統(tǒng)介紹及硬件電路
1.1 系統(tǒng)介紹
為了提高檢測(cè)的準(zhǔn)確性和數(shù)據(jù)的有效性,本設(shè)計(jì)溫濕度傳感器選用I2C總線接口的單片全校準(zhǔn)數(shù)字式傳感器SHT15[1],數(shù)據(jù)記錄選用電擦寫式只讀存儲(chǔ)器24LC512,為了提高環(huán)境監(jiān)測(cè)的穩(wěn)定性和精密性,系統(tǒng)還選用了低功耗單片機(jī)MPS430F2252作為中央處理單元[2]。系統(tǒng)通過(guò)溫濕度傳感探頭檢測(cè)溫濕度數(shù)據(jù)后,送至中央處理單元,處理結(jié)果實(shí)時(shí)地通過(guò)液晶屏顯示出來(lái),并通過(guò)24LC512數(shù)據(jù)記錄單元存儲(chǔ)下來(lái),還可通過(guò)鍵盤設(shè)定相應(yīng)的數(shù)據(jù)記錄間隔和報(bào)警范圍。具體結(jié)構(gòu)如圖1所示。
1.2 溫濕度檢測(cè)電路設(shè)計(jì)
系統(tǒng)選擇濕度和溫度的集成傳感器SHT15,該傳感器將溫濕度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、串行數(shù)字通信接口電路、數(shù)字校準(zhǔn)等功能模塊集成在一塊微形芯片上,不需要外圍元件,可直接輸出經(jīng)過(guò)標(biāo)定的相對(duì)濕度和溫度的數(shù)字信號(hào)。濕度測(cè)量范圍0~100%RH ,溫度測(cè)量范圍-40℃~123.8℃。工作電壓在 2.4V~5.5V范圍,測(cè)量狀態(tài)下功耗約3mW。
⑴ 電路設(shè)計(jì)
溫濕度傳感器SHT15通過(guò)串行時(shí)鐘(SCK)輸入接口和串行數(shù)據(jù)(DATA)輸出接口與單片機(jī)相連。DATA三態(tài)門用于數(shù)據(jù)的讀取。電源引腳(VDD,GND)之間需增加一個(gè)100nF的電容,主要目的是去耦濾波。為保證在時(shí)鐘下降沿?cái)?shù)據(jù)的有效性,DATA 需要保持在高電平,因此需要在DATA數(shù)據(jù)接口上接一個(gè)10k的上拉電阻。具體電路見圖2所示。SHT15通過(guò)后,要等待11ms以越過(guò)“休眠”狀態(tài)[3-4]。
⑵ 溫濕度傳感器SHT15的使用
DATA在SCK時(shí)鐘下降沿之后改變狀態(tài),并僅在 SCK 時(shí)鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK時(shí)鐘高電平時(shí),DATA必須保持穩(wěn)定。為避免信號(hào)沖突,單片機(jī)應(yīng)驅(qū)動(dòng)DATA在低電平。需要一個(gè)外部的上拉電阻(例如:10kΩ)將信號(hào)提拉至高電平(參見圖2)。
單片機(jī)發(fā)布一組測(cè)量命令(‘00000101表示相對(duì)濕度RH,‘00000011表示溫度T)后,控制器要等待測(cè)量結(jié)束。這個(gè)過(guò)程大約需要320ms,14bit 測(cè)量。確切的時(shí)間隨內(nèi)部晶振速度,可能有-30%的變化。SHT15 通過(guò)下拉DATA 至低電平并進(jìn)入空閑模式,表示測(cè)量的結(jié)束。控制器再次觸發(fā)SCK 時(shí)鐘前,必須等待這個(gè)“數(shù)據(jù)備妥”信號(hào)來(lái)讀出數(shù)據(jù)。檢測(cè)數(shù)據(jù)可以先存儲(chǔ),這樣控制器可以繼續(xù)執(zhí)行其他任務(wù),在需要時(shí)再讀出數(shù)據(jù)[5]。
1.3 數(shù)據(jù)記錄單元電路設(shè)計(jì)
為方便數(shù)據(jù)的記錄及查詢,設(shè)計(jì)中采用24lc512作為存儲(chǔ)單元。該芯片由美國(guó)微芯科技公司生產(chǎn)的電擦寫式只讀存儲(chǔ)器容量范圍為512K,最大頻率為400kHz。支持I2C串行接口,以x8位存儲(chǔ)器塊進(jìn)行組合。允許工作電壓2.5-5.5V,待機(jī)電流和工作電流分別為1μA和1mA,具有頁(yè)寫入能力。功能性地址線允許連接到同一條總線上的器件數(shù)目最多可達(dá)8個(gè),具體電路如圖3所示,本設(shè)計(jì)中使用了4個(gè)24lc512。
A0、A1和A2引腳用于多器件工作,當(dāng)這些輸入引腳上的電平與從器件地址中的相應(yīng)位作比較,如果比較結(jié)果為真,則該器件被選中。串行數(shù)據(jù)引腳SDA為雙向引腳,用于把地址和數(shù)據(jù)輸入/輸出器件。該引腳為內(nèi)部漏極開路。因此,SDA總線要求在該引腳與VCC之間接入10k的上拉電阻。對(duì)于正常的數(shù)據(jù)傳輸,只允許在SCL為低電平期間改變SDA電平。而 SDA電平在SCL高電平期間若發(fā)生變化,表明起始和停止條件產(chǎn)生。時(shí)鐘SCL引腳用于數(shù)據(jù)傳輸同步。寫保護(hù)(WP)引腳必須連接到VSS或者VCC。如果連接到VSS,能寫操作。如果連接到VCC,則禁止寫操作,但讀操作不受影響。具體電路見圖3。
1.4 電源電路
為實(shí)現(xiàn)記錄儀的小巧便于攜帶,系統(tǒng)采用鋰電池供電。BL8503是一款正電壓輸出,低功耗低壓差的三端線性穩(wěn)壓器,在輸入輸出電壓差低至400mV時(shí)都可提供250mA(Vin=4.0V、Vout=3.0V時(shí))的負(fù)載電流。BL8503極低的靜態(tài)功耗(Iq=1.5uA)可極大的提高電池使用時(shí)間。電路如圖4所示,輸入端外接11uF鉭電容作為旁路電容,保證電路的穩(wěn)定性,在輸入端接1uF鉭電容作電源濾波電容。具體電路見圖4所示。
外圍應(yīng)用電路簡(jiǎn)單,只需輸入輸出兩個(gè)電容和負(fù)載即可工作。芯片內(nèi)部包括電壓基準(zhǔn)源電路,過(guò)流保護(hù),誤差放大器,功率管及其驅(qū)動(dòng)電路等模塊組成。其中過(guò)流保護(hù)能夠在應(yīng)用電路的負(fù)載電流大于250mA時(shí),保證芯片和系統(tǒng)的安全。BL8503的參考電壓電路提供穩(wěn)定的參考電平,由于采用內(nèi)部的修正技術(shù),保證輸出電壓精度達(dá)到±2%,同時(shí)由于參考電壓經(jīng)過(guò)精心的溫度補(bǔ)償設(shè)計(jì)考慮,使得芯片的輸出電壓的溫度漂移系數(shù)小于100ppm/℃。
1.5 主控中心電路設(shè)計(jì)
本設(shè)計(jì)選擇MSP430F2232芯片作為核心芯片, 該芯片是一款超低功率混合信號(hào)微控制器,此微控制權(quán)具有兩個(gè)內(nèi)置 16 位定時(shí)器、一個(gè)通用串行通信接口,具有集成基準(zhǔn)和數(shù)據(jù)傳輸控制器。S0~S10,COM0~COM3用于LCD顯示,P3.1,P3.2 用于數(shù)據(jù)存儲(chǔ),P6.4,P6.5 用于溫濕度測(cè)量。TXD,RXD分別作為輸入端、USB串口電路。JTAG端口為在線編程接口。具體電路如圖5所示。
2 軟件設(shè)計(jì)
本設(shè)計(jì)軟件編程主要分為以下幾部分:溫濕度傳感器SHT15測(cè)量程序、數(shù)據(jù)存儲(chǔ)芯片24lc512讀寫程序、液晶顯示程序、按鍵程序以及按鍵控制程序等。程序采用VC語(yǔ)言編寫,下面給出與上述硬件電路配套的部分C51應(yīng)用程序[5]。
⑴ 溫濕度采集部分代碼
char s measure(uchar*p value,uchar*p checksum,uchar mode)
{ unsigned error=0;
uint i;
stransstart(); //transmission start
switch(mode); //send command to sensor
{ case TEMP :error+=s write byte(MEASURE TEMP);break;
case HUMI :error+=s write byte(MEASURE HUMI);
break; default :break;
}
for(i=0; i<65000; i++)
{ delay(1);
if(DAT==0) break;
} //wait until sensor has finished the measurement
*(p value)=s read byte(ACK);//read the first byte(MSB)
*(p value+1)=s read byte(ACK);//read the second byte(LSB)
*p checksum=s read byte(noACK);//read checksum
return error;
}
⑵ 存儲(chǔ)器部分代碼
Write_NByte(&RXBuffer[7],RXBuffer[6],(RXBuffer[3]*2-0x14));
//-0x14為了不跨頁(yè)
if(DataAddr==Userdata1)
{ Bvale.Byte8[1]=RXBuffer[7];
Bvale.Byte8[0]=RXBuffer[8];
if((Bvale.Byte16<3000) &&(Bvale.Byte16>5000))
{ Bvale.Byte16=3950; }
writeOK=1;
}
else if((DataAddr>=0x02c0) && (DataAddr<0x02c6))
//Writing the system time
{ TimeInit_8563(&RXBuffer[7]);
DispTime(0);
writeOK=1;
}
else if(DataAddr==0x02c6) //writ RAM
{ DataAddr+=(RXBuffer[6]-1);
for(i=0; i{* (uchar *)DataAddr=RXBuffer[7+i];
//From the high bytes starting assignment
DataAddr --;
}
writeOK=1;
}
3 結(jié)束語(yǔ)
溫濕度傳感器SHT15集溫度傳感器和濕度傳感器于一體,因此,采用SHT15進(jìn)行溫濕度實(shí)時(shí)監(jiān)測(cè)的系統(tǒng)具有精度高、成本低、體積小、接口簡(jiǎn)單等優(yōu)點(diǎn)。該芯片在溫濕度監(jiān)測(cè)、自動(dòng)控制等領(lǐng)域均已得到廣泛應(yīng)用,在現(xiàn)代化溫室控制系統(tǒng)中具有廣闊的發(fā)展前景。另外24lc512芯片內(nèi)部集成存儲(chǔ)容量大,性能穩(wěn)定便于操作。本文設(shè)計(jì)的便攜式數(shù)顯溫濕度檢測(cè)記錄儀體積小,重量輕,性能穩(wěn)定可靠,且便于攜帶;與傳統(tǒng)的模擬式溫濕度計(jì)相比具有明顯的優(yōu)勢(shì),即數(shù)字式顯示,方便讀出數(shù)值;保存溫度濕度值,通過(guò)輸出變化曲線,可以掌握環(huán)境溫濕度的變化趨勢(shì),從而可以做出相對(duì)性的措施進(jìn)行環(huán)境的改良。系統(tǒng)電路簡(jiǎn)單,留有擴(kuò)展接口,便于系統(tǒng)的升級(jí)和改良[4-6]。
參考文獻(xiàn):
[1] 張瑾,周彬,朱文藝. 基于SHT10單片機(jī)技術(shù)的溫室監(jiān)測(cè)系統(tǒng)[J].電子測(cè)量技術(shù),2013.36(10):136-138
[2] 孫繼平.煤礦安全生產(chǎn)監(jiān)控與通信技術(shù)[J].煤炭學(xué)報(bào),2010.35(11):1925-1929
[3] 孫環(huán),滕召勝.基于SHT10單片集成傳感器溫濕度檢測(cè)模塊設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2009.41(13):107-109
[4] 顏麗娜,王順忠,張鐵民.基于DHT11溫濕度測(cè)控系統(tǒng)的設(shè)計(jì)[J].海南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2013.24(4):128-130
[5] 陸榮鑑,李品,孫周.SHT10傳感器在溫濕度監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].傳感器與微系統(tǒng),2012.9:45-47
[6] 張中華,王澤勇.基于SHT10的便攜式數(shù)顯溫濕度檢測(cè)儀的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009.179(304):137-139