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