<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)字式溫濕度傳感器SHT11在51單片機(jī)系統(tǒng)的應(yīng)用

          數(shù)字式溫濕度傳感器SHT11在51單片機(jī)系統(tǒng)的應(yīng)用

          作者: 時(shí)間:2011-12-28 來源:網(wǎng)絡(luò) 收藏

          1 概述

          溫濕度的測量在倉儲(chǔ)管理、生產(chǎn)制造、氣象觀測、科學(xué)研究以及日常生活中被廣泛應(yīng)用,傳統(tǒng)的模擬式濕度傳感器一般都要設(shè)計(jì)信號(hào)調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,因此測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。SHT11是瑞士Sensirion公司推出的基于CMOSensTM技術(shù)的新型。該傳感器將CMOS芯片技術(shù)與傳感器技術(shù)結(jié)合起來,從而發(fā)揮出它們強(qiáng)大的優(yōu)勢互補(bǔ)作用。

          2 性能特點(diǎn)

          SHT11的主要特性如下:

          ●將、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、I2C總線接口全部集成于一芯片(CMOSensTM技術(shù));

          ●可給出全校準(zhǔn)相對(duì)濕度及溫度值輸出;

          ●帶有工業(yè)標(biāo)準(zhǔn)的I2C總線數(shù)字輸出接口;

          ●具有露點(diǎn)值計(jì)算輸出功能;

          ●具有卓越的長期穩(wěn)定性;

          ●濕度值輸出分辨率為14位,溫度值輸出分辨率為12位,并可編程為12位和8位;

          ●小體積(7.65×5.08×23.5mm),可表面貼裝;

          ●具有可靠的CRC數(shù)據(jù)傳輸校驗(yàn)功能;

          ●片內(nèi)裝載的校準(zhǔn)系數(shù)可保證100%互換性;

          ●電源電壓范圍為2.4~5.5V;

          ●電流消耗,測量時(shí)為550μA,平均為28μA,休眠時(shí)為3μA。

          SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,管腳排列如圖1所示,其引腳說明如下:

          (1)GND:接地端;

          (2)DATA:雙向串行數(shù)據(jù)線;

          (3)SCK:串行時(shí)鐘輸入;

          (4)VDD電源端:0.4~5.5V電源端;

          (5~8)NC:空管腳。

          3 工作原理

          SHT11的濕度檢測運(yùn)用電容式結(jié)構(gòu),并采用具有不同保護(hù)的“微型結(jié)構(gòu)”檢測電極系統(tǒng)與聚合物覆蓋層來組成傳感器芯片的電容,除保持電容式濕敏器件的原有特性外,還可抵御來自外界的影響。由于它將溫度傳感器與濕度傳感器結(jié)合在一起而構(gòu)成了一個(gè)單一的個(gè)體,因而測量精度較高且可精確得出露點(diǎn),同時(shí)不會(huì)產(chǎn)生由于溫度與濕度傳感器之間隨溫度梯度變化引起的誤差。CMOSensTM技術(shù)不僅將溫濕度傳感器結(jié)合在一起,而且還將信號(hào)放大器、模/數(shù)轉(zhuǎn)換器、校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、標(biāo)準(zhǔn)I2C總線等電路全部集成在一個(gè)芯片內(nèi)。SHT11傳感器的內(nèi)部結(jié)構(gòu)框圖如圖2所示。

          SHT11的每一個(gè)傳感器都是在極為精確的濕度室中校準(zhǔn)的。SHT11傳感器的校準(zhǔn)系數(shù)預(yù)先存在OTP內(nèi)存中。經(jīng)校準(zhǔn)的相對(duì)濕度和溫度傳感器與一個(gè)14位的A/D轉(zhuǎn)換器相連,可將轉(zhuǎn)換后的數(shù)字溫濕度值送給二線I2C總線器件,從而將數(shù)字信號(hào)轉(zhuǎn)換為符合I2C總線協(xié)議的串行數(shù)字信號(hào)。

          由于將傳感器與電路部分結(jié)合在一起,因此,該傳感器具有比其它類型的濕度傳感器優(yōu)越得多的性能。首先是傳感器信號(hào)強(qiáng)度的增加增強(qiáng)了傳感器的抗干擾性能,保證了傳感器的長期穩(wěn)定性,而A/D轉(zhuǎn)換的同時(shí)完成,則降低了傳感器對(duì)干擾噪聲的敏感程度。其次在傳感器芯片內(nèi)裝載的校準(zhǔn)數(shù)據(jù)保證了每一只濕度傳感器都具有相同的功能,即具有100%的互換性。最后,傳感器可直接通過I2C總線與任何類型的微處理器、微控制器系統(tǒng)連接,從而減少了接口電路的硬件成本,簡化了接口方式。

          3.1 輸出特性

          (1)濕度值輸出

          SHT11可通過I2C總線直接輸出數(shù)字量濕度值,其相對(duì)濕度數(shù)字輸出特性曲線如圖3所示。由圖3可看出,SHT11的輸出特性呈一定的非線性,為了補(bǔ)償濕度傳感器的非線性,可按如下公式修正濕度值:

          RHlinear=c1+c2SORH+c3SORH2

          式中,SORH為傳感器相對(duì)濕度測量值,系數(shù)取值如下:

          12位:SORH:c1=-4,c2=0.0405,c3=-2.8×10-6

          8位:SORH:c1=-4,c2=0.648,c3=-7.2×10-4

          (2)溫度值輸出

          由于SHT11溫度傳感器的線性非常好,故可用下列公式將溫度數(shù)字輸出轉(zhuǎn)換成實(shí)際溫度值:

          T=d1+d2SOT

          當(dāng)電源電壓為5V,且溫度傳感器的分辨率為14位時(shí),d1=-40?d2=0.01,當(dāng)溫度傳感器的分辨率為12位時(shí),d1=-40?d2=0.04。

          (3)露點(diǎn)計(jì)算

          空氣的露點(diǎn)值可根據(jù)相對(duì)濕度和溫度值來得出,具體的計(jì)算公式如下:

          LogEW=(0.66077+7.5T/(237.3+T)+[log10(RH)-2]

          Dp=[(0.66077-logEW)×237.3]/(logEW-8.16077)

          3.2 命令與接口時(shí)序

          SHT11傳感器共有5條用戶命令,具體命令格式見表1所列。下面介紹一下具體的命令順序及命令時(shí)序。

          表1 傳感器命令列表

          命 令編 碼

          說 明

          測量溫度00011溫度測量
          測量濕度00101濕度測量
          讀寄存器狀態(tài)00111“讀”狀態(tài)寄存器
          寫寄存器狀態(tài)00110“寫”狀態(tài)寄存器
          軟啟動(dòng)11110重啟芯片,清除狀態(tài)記錄器的錯(cuò)誤記錄11毫秒后進(jìn)入下一個(gè)命令

          (1)傳輸開始

          初始化傳輸時(shí),應(yīng)首先發(fā)出“傳輸開始”命令,該命令可在SCK為高時(shí)使DATA由高電平變?yōu)榈碗娖剑⒃谙乱粋€(gè)SCK為高時(shí)將DATA升高。

          接下來的命令順序包含三個(gè)地址位(目前只支持“000”)和5個(gè)命令位,當(dāng)DATA腳的ack位處于低電位時(shí),表示SHT11正確收到命令。

          (2)連接復(fù)位順序

          如果與SHT11傳感器的通訊中斷,下列信號(hào)順序會(huì)使串口復(fù)位:即當(dāng)DATA線處于高電平時(shí),觸發(fā)SCK 9次以上(含9次),此后應(yīng)接著發(fā)一個(gè)“傳輸開始”命令。

          表2 狀態(tài)寄存器類型及說明

          類型說 明缺 省 
          7 保留0 
          6工檢限(低電壓檢查)X 
          5 保留0 
          4 保留0 
          3 只用于試驗(yàn),不可以使用0 
          2讀/寫加熱0關(guān)
          1讀/寫不從OTP重下載0重下載
          0讀/寫'1'=8位相對(duì)濕度,12位溫度分辨率。'0'=12位相對(duì)濕度,14位濕度分辨率012位相對(duì)濕度,14位濕度

          (3)溫濕度測量時(shí)序

          當(dāng)發(fā)出了溫(濕)度測量命令后,控制器就要等到測量完成。使用8/12/14位的分辨率測量分別需要大約11/55/210ms的時(shí)間。為表明測量完成,SHT11會(huì)使數(shù)據(jù)線為低,此時(shí)控制器必須重新啟動(dòng)SCK,然后傳送兩字節(jié)的測量數(shù)據(jù)與1字節(jié)CRC校驗(yàn)和??刂破鞅仨毻ㄟ^使DATA為低來確認(rèn)每一個(gè)字節(jié),所有的量均從右算,MSB列于第一位。通訊在確認(rèn)CRC數(shù)據(jù)位后停止。如果沒有用CRC-8校驗(yàn)和,則控制器就會(huì)在測量數(shù)據(jù)LSB后保持ack為高來停止通訊,SHT11在測量和通訊完成后會(huì)自動(dòng)返回睡眠模式。需要注意的是:為使SHT11的溫升低于0.1℃?此時(shí)的工作頻率不能大于標(biāo)定值的15%(如:12位精確度時(shí),每秒最多進(jìn)行3次測量)。測量溫度和濕度命令所對(duì)應(yīng)的時(shí)序如圖4所示。



          3.3 寄存器配置

          SHT11傳感器中的一些高級(jí)功能是通過狀態(tài)寄存器來實(shí)現(xiàn)的,寄存器各位的類型及說明見表2所列。下面對(duì)寄存器相關(guān)位的功能說明:

          (1)加熱

          使芯片中的加熱開關(guān)接通后,傳感器溫度大約增加5℃,從而使功耗增加至8mA@5V。加熱用途如下:

          ●通過對(duì)啟動(dòng)加熱器前后的溫、濕度進(jìn)行比較,可以正確地區(qū)別傳感器的功能;

          ●在相對(duì)濕度較高的環(huán)境下,傳感器可通過加熱來避免冷凝。

          (2)低電壓檢測

          SHT11工作時(shí)可以自行檢測VDD電壓是否低于2.45V,準(zhǔn)確度為±0.1V。

          (3)下載校準(zhǔn)系數(shù)

          為了節(jié)省能量并提高速度,OTP在每次測量前都要重新下載校準(zhǔn)系數(shù),從而使每一次測量節(jié)?。福玻恚蟮臅r(shí)間。

          (4)測量分辨率設(shè)定

          將測量分辨率從14位(溫度)和12位(濕度)分別減到12位和8位可應(yīng)用于高速或低功耗場合。

          4 應(yīng)用說明

          4.1 運(yùn)行條件

          測量量程以外的溫度會(huì)使?jié)穸刃盘?hào)暫時(shí)地偏移+3%。然后傳感器會(huì)慢慢返回到校準(zhǔn)條件。若將芯片在濕度小于5%環(huán)境下加熱24小時(shí)到90℃,芯片就會(huì)迅速恢復(fù)高相對(duì)濕度、高溫度環(huán)境的影響,但是,延長強(qiáng)度條件會(huì)加速芯片的老化。

          4.2 安裝注意事項(xiàng)

          由于大氣的相對(duì)濕度與溫度的關(guān)系比較密切,因此,測量大氣溫度時(shí)的要點(diǎn)是將傳感器與大氣保持同一溫度,如果傳感器線路板上有發(fā)熱元件,SHT11應(yīng)與熱源保持良好的通風(fēng),為減少SHT11和PCB之間的熱傳導(dǎo),應(yīng)使銅導(dǎo)線最細(xì)并在其中加上窄縫,同時(shí)應(yīng)避免使傳感器在強(qiáng)光或UV下曝曬。

          傳感器在布線時(shí),SCK和DATA信號(hào)平行且相互接近,或信號(hào)線長于10cm時(shí),均會(huì)產(chǎn)生干擾信息,此時(shí)應(yīng)在兩組信號(hào)之間放置VDD或GND。

          5 具體應(yīng)用

          圖5是AT89C2051單片機(jī)與SHT11的接口電路。由于AT89C2051不具備I2C總線接口,故使用單片機(jī)通用I/O口線來虛擬I2C總線,并利用P1.0來虛擬數(shù)據(jù)線DATA,利用P1.1口線來虛擬時(shí)鐘線,并在DATA端接入一只4.7kΩ的上拉電阻,同時(shí),在VDD及GND端接入一只0.1μF的去耦電容。下面給出與上述硬件電路配套的C51應(yīng)用程序。

          #define DATA P1_1

          #define SCK P1_0

          #define ACK 1

          #define noACK 0

          #define MEASURE_(tái)TEMP 0x03 //測量溫度命令

          #define MEASURE_(tái)HUMI 0x05 //測量濕度命令

          //讀溫濕度數(shù)據(jù)

          char s-measure(unsigned char *p- value, un-signed char *p_checksum, unsigned char mode)

          {

          unsigned char error=0;

          unsigned int i;

          s_transstart(); //傳輸開始

          switch(mode){

          case

          TEMP:error+=s_write_byte(measure_temp);

          break;

          case

          HUMI:error+=s_write_byte(measure_humi);break;

          default:break;

          }

          for(i=0;i<65535;i++) if(DATA==0) break;

          if (DATA) reeor+=1;

          *(p_value)=s_read_byte(ACK);

          *(p_value+1)=s_read_byte(ACK);

          *p_checksum=s_read_byte(noACK);

          return error;

          }

          //溫濕度值標(biāo)度變換及溫度補(bǔ)償

          void calc_sth15(float *p_humidity,float *p_tempera-ture)

          {

          const float c1=-4.0;

          const float c2=0.0405;

          const float c3=-0.0000028;

          const float t1=-0.01;

          const float t2=0.00008;

          float rh=×p_humidity;

          float t=×p_temperature;

          float rh_lin;

          float th_ture;

          float t_c;

          t_c=t×0.01-40;

          rh_lin=c3×rh×rh+c2×rh+c1;

          trh_ture=(t_c-25)×(t1+t2×rh)+rh_lin;

          ×p_temperature=t-c;

          ×p_humidity=rh_ture;

          }

          //從相對(duì)溫度和濕度計(jì)算露點(diǎn)

          char calc_dewpoint(float h,float t)

          {float logex,dew_point;

          logex=0.66077+7.5×t/(237.3+t)+[log10(h)-2];

          dew_point=(logex-0.66077)×237.3/(0.66077+7.5-logex);

          return dew_point;

          }

          限于篇幅,上述程序中未給出傳輸開始、寫字節(jié)數(shù)據(jù)、讀字節(jié)數(shù)據(jù)函數(shù)。

          6 結(jié)束語

          SHT11數(shù)字式溫濕度傳感器由于將溫度傳感器、濕度傳感器、信號(hào)調(diào)理、模/數(shù)轉(zhuǎn)換器、標(biāo)定參數(shù)及I2C總線接口全部集成到傳感器內(nèi)部,因此,既提高了傳感器的性能,又降低了成本、減少了體積,同時(shí)也非常便于和微控制器接口,由此可見,該傳感器是嵌入式系統(tǒng)溫濕度測試的理想選擇。

          電流變送器相關(guān)文章:電流變送器原理
          電容傳感器相關(guān)文章:電容傳感器原理
          上拉電阻相關(guān)文章:上拉電阻原理
          土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
          溫濕度控制器相關(guān)文章:溫濕度控制器原理


          關(guān)鍵詞: I2C總線 溫濕度傳感器 SHT11

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();