中心議題:
- 溫、濕度及光照三合一傳感器設(shè)計
解決方案:
- 溫濕度傳感器工作時序
- 光傳感器I2C通訊格式
- 溫、濕度及光照三合一傳感器應用設(shè)計
在對環(huán)境溫度、濕度和光照度進行測量時,大多使用熱敏電阻、濕敏電容和光敏器件來分別測量溫度、濕度和光照度。這種測量方法一般要設(shè)計相應的信號調(diào)理電路,還要經(jīng)過復雜的標定過程,測量精度難以保證。當對兩個以上的參數(shù)進行監(jiān)測時,每一個測量點都必須使用獨立傳感器和獨立的信號調(diào)理電路,這不僅使得測量系統(tǒng)的成本和體積大幅提高,也在一定程度上增加了系統(tǒng)設(shè)計的復雜性。本設(shè)計采用SHT11溫濕度傳感器芯片和一款集成了ADC的環(huán)境光傳感器MAX9635,實現(xiàn)溫、濕度及光照三合一傳感器設(shè)計。
1 三合一傳感器簡介
該傳感器集環(huán)境溫、濕度和光照度傳感器于一體,使測量系統(tǒng)的成本和體積大為降低,減少了系統(tǒng)設(shè)計的復雜性。
1.1 溫濕度測量
環(huán)境溫度、濕度測量采用SHT11數(shù)字溫濕度傳感器芯片。其主要特點有:(1)高度集成。(2)提供二線數(shù)字串行接口,接口簡單。(3)測量精度可編程調(diào)節(jié)。(4)測量精確度高,可以提供溫度補償?shù)臐穸葴y量值和高質(zhì)量的露點計算。(5)測量和通信結(jié)束后,自動轉(zhuǎn)入低功耗模式。(6)高可靠性,自校準。
SHT11將溫度、濕度感測、A/D轉(zhuǎn)換和加熱器等功能集成到一個芯片上,該芯片分別將濕度和溫度轉(zhuǎn)換成電信號,經(jīng)14位A/D轉(zhuǎn)換后;由二線串行數(shù)字接口輸出數(shù)字信號。在測量過程中,校準系數(shù)會自動校準來自傳感器的信號。
由于將傳感器與電路部分結(jié)合在一起,因此,該傳感器具有比其他類型濕度傳感器優(yōu)越得多的性能。首先是傳感器信號強度的增加增強了傳感器的抗干擾性能,保證了傳感器的長期穩(wěn)定性。傳感器可直接通過I2C總線與任何類型的微處理器、微控制器系統(tǒng)連接,從而減少了接口電路的硬件成本,簡化了接口方式。
1.2 光照度測量
環(huán)境光傳感器采用集成了光電二極管和ADC,且提供I2C數(shù)字接口的光傳感器MAX9635。傳感器IC具有超低電流損耗(典型值為0.65μA)和極寬的光動態(tài)范圍為0.045~188 000 lx。片內(nèi)自動量程調(diào)整機制無需用戶干涉增益范圍的設(shè)置。
2 溫濕度傳感器工作時序
SHT11的I2C通訊數(shù)據(jù)格式與普通格式不兼容。
(1)傳輸開始。在SCK為高時使SDA由高電平變?yōu)榈碗娖?,并在下一個SCK為高時將SDA升高,如圖1所示。
[page]
(2)地址與測試對象命令。該命令包含3個地址位和5個命令位,其后為應答ACK位,表示SHT11正確收到命令。傳感器命令列表,如表2所示。
(3)溫濕度測量時序。當發(fā)出了溫/濕度測量命令后,控制器就要等到測量完成(使用8/12/14位的分辨率測量分別需要大約11/55/210 ms)。當測量完成后,SHT11將數(shù)據(jù)線拉低,然后傳送2 Byte的測量數(shù)據(jù)與1 Byte CRC校驗和。通訊在確認CRC數(shù)據(jù)位后停止。如果沒有用CRC校驗和,則控制器就會在測量數(shù)據(jù)LSB后保持ACK為高來停止通訊,測量和通訊完成后會自動返回睡眠模式。測量溫度和濕度命令所對應的時序見SHT11說明書。
(4)溫濕度寄存器配置。溫濕度傳感器中一些高級功能是通過狀態(tài)寄存器實現(xiàn)的。寄存器中各位的類型及說明詳見SHT11使用說明書。
3 光傳感器I2C通訊格式
Start和Stop條件:主機通過發(fā)送Start條件啟動通信,Start、Repeated Start條件如圖2所示,Stop條件如圖3所示。
從地址:寫操作從地址0x94,讀操作0x95。
應答:寫操作模式下,應答位(ACK)是第9個時鐘位,是傳感器IC對其接收的每個數(shù)據(jù)字節(jié)的握手信號,如圖4所示。如果成功接收主機發(fā)送確認,若數(shù)據(jù)傳輸失敗,總線主機會重試通信。每次讀取字節(jié)后,主機均發(fā)送應答信號,使數(shù)據(jù)繼續(xù)傳輸。當主機從傳感器IC讀取數(shù)據(jù)的最后Byte時,發(fā)送非應答,隨后是Stop。
寫數(shù)據(jù)格式:圖4所示為向傳感器IC寫入1個字節(jié)數(shù)據(jù)時的正確幀格式。
讀數(shù)據(jù)格式:圖5所示為讀1 Byte數(shù)據(jù)時的正確幀格式。
寄存器定義:0x00和0x01中斷狀態(tài)與中斷使能;0x02功能配置;0x03和0x04存放流明讀數(shù);0x05和0x06中設(shè)置流明上限和流明下限;0x07中設(shè)置適當?shù)拈T限定時器數(shù)據(jù)。
自動量程調(diào)整模式:自動模式配置下,自動量程調(diào)整電路采用兩種方法改變其靈敏度。光照超過700 lx時,分流器通過除以系數(shù)8來降低光電二極管的電流。默認設(shè)置下,分流比為1,電流直接送入A/D轉(zhuǎn)換器。當光強降低時,自動量程調(diào)整電路將積分時間從100 ms提高到200 ms、400 ms或800 ms。分流器和不同積分時間相組合,可使A/D轉(zhuǎn)換范圍比其16位標稱范圍提高8倍,或降低8倍。從而獲得22位或略高于4 000 000:1的動態(tài)范圍。
流明讀數(shù)的數(shù)據(jù)格式:傳感器IC提供用戶易于接收的數(shù)字輸出格式。它由4位指數(shù)和隨后的8位尾數(shù)組成。在最高靈敏度模式下,1個計數(shù)值表示0.045 lx。尾數(shù)最大值為255,指數(shù)最大值為14。所以,最大量程為255×214=4 177 920。在此模式下,最大讀數(shù)為188 000 lx,大于該值的任何讀數(shù)均被認為是過載。
門限寄存器數(shù)據(jù)格式:傳感器IC中斷電路要求按照特定格式給出上限和下限,以便正確解析數(shù)據(jù)。寄存器0x05和0x06中的上限和下限數(shù)值必須與高字節(jié)流明格式相匹配,由4位指數(shù)和尾數(shù)的4個最高有效位組成。
[page]
4 三合一傳感器的應用設(shè)計
微處理器采用二線串行數(shù)字接口和傳感器進行通信,硬件接口非常簡單;然而,通信協(xié)議是芯片廠家定義的,所以在軟件設(shè)計中,需要用微處理器通用I/O口模擬通信協(xié)議.
4.1 硬件設(shè)計
硬件連接如圖6所示。
4.2 軟件設(shè)計
由于SHT11和MAX9635的二線串行通信協(xié)議和I2C協(xié)議不兼容。必須使用GTIO口模擬出如圖4和圖5所示的數(shù)據(jù)格式。
基于以上宏定義,可以方便地使SCK和SDA總線輸出持續(xù)一定時間的高電平或低電平,從而實現(xiàn)傳感器的讀寫。
4.3 溫度、濕度光照值的計算
4.3.1 濕度線性補償和溫度補償
SHT11可通過SDA數(shù)據(jù)總線直接輸出數(shù)字量濕度值為“相對濕度”,需要進行線性補償和溫度補償后才能得到較為準確的濕度值。可按式(1)修正濕度值。
式中,RHlinear為經(jīng)過線性補償后的濕度值,SORH為相對濕度測量值,C1,C2和C3為線性補償系數(shù),取值如表3所示。
由于溫度對濕度的影響十分明顯,而實際溫度和測試參考溫度25℃有所不同。補償公式如式(2)所示。
[page]
式中,RHtrue為經(jīng)過線性補償和溫度補償后的濕度值;T為測試濕度值時的溫度;t1和t2為溫度補償系數(shù),取值如表4所示。
4.3.2 溫度值輸出
由于SHT11具有較好的線性輸出。實際溫度值可由式(3)算得。
式中,d1和d2為特定系數(shù)。d1的取值與SHT11工作電壓有關(guān),d2的取值則與SHT11內(nèi)部A/D轉(zhuǎn)換器采用的分辨率有關(guān),其對應關(guān)系分別如表5和表6所示。
5 結(jié)束語
該傳感器集溫度傳感器、濕度傳感器和環(huán)境光傳感器于一體,可用于對環(huán)境溫、濕度和光照度實時監(jiān)測,具有精度高、成本低、體積小、接口簡單等優(yōu)點;由于芯片采用采用數(shù)字信號輸出,因此抗干擾能力比同類芯片高。傳感器IC具有超低電流損耗、極寬的光動態(tài)范圍、免調(diào)試和自動量程調(diào)整的特點,無需用戶干涉增益范圍的設(shè)置。因此,該傳感器在對溫室、汽車等環(huán)境溫濕度、光監(jiān)測和其他自動控制等領(lǐng)域?qū)⒌玫綇V泛應用。