本文討論了環境溫濕度對基礎設施、電子系統和人體健康的影響。然后介紹并展示了如何使用TEConnectivity Measurement Specialties的小型濕度和溫度傳感器,以及設計人員怎樣利用該傳感器更輕松地滿足各種應用的關鍵測量要求。
01
準確測量濕度和溫度的重要性在很多領域準確監控和調節濕度和溫度水平的能力都發揮著關鍵作用,這些領域包括供暖、通風和空調 (HVAC) 系統以及用于睡眠呼吸暫停的持續正壓氣道壓力 (CPAP) 設備,甚至影響人類的幸福指數。相對濕度 (RH) 這個耳熟能詳的名詞,表示空氣中的含水量,是指在給定溫度下空氣所能容納的最大水量的百分比。和溫度一樣,濕度過高或過低都會讓人感到不舒服,甚至對建筑結構以及機械設備和電子設備造成損害。建筑物濕度過高,會導致混凝土和其他材料的腐蝕、霉菌生長和分解。在電子設備中,濕度過高,特別是當設備從陰涼處進入潮濕環境時,會因結露而導致短路。濕度低會造成材料收縮、紙制品損壞、靜電積聚。隨著積聚量的增加,產生的靜電會對電子設備造成損害,并在揮發性有機化合物 (VOC) 含量較高的環境中引發火災。因此,RH 傳感器在為建筑提供安全、健康的環境方面發揮著重要作用。在促進人類健康和福祉方面,類似問題越來越多。人類通常會注意到不舒服的溫度而不是濕度水平,但過低或過高的濕度水平都會影響健康。濕度過高或過低會加重哮喘和過敏患者的癥狀,并導致睡眠質量較低,即使健康的人也會有影響。在極低的濕度下,人體組織會干燥,造成對眼睛或鼻腔的刺激。CPAP 制造商通常依靠濕度傳感器來確保他們的設備為用戶提供合適的潮濕空氣。濕度的測量和控制在公共衛生中發揮著更廣泛的作用。研究人員發現,濕度水平不需要達到極端的干燥或潮濕,就能對人體生理發生作用。正常情況下,鼻腔中的水分有助于排出氣溶膠化病毒(懸浮在微滴中的病毒)。當鼻腔干燥時,氣溶膠病原體可以更深入地滲透到呼吸系統,更容易引起感染 [1]。由于這些因素和其他生理因素的影響,當濕度低于 40% RH 時,氣溶膠化流感病毒的感染力明顯提高(圖 1)[2]。最近的研究表明,相對濕度在 40%~60% 之間對降低新冠肺炎感染也有一定作用,甚至可以降解引起新冠肺炎的 SARS-CoV-2 病毒 [3]。圖 1:研究表明,低相對濕度與氣溶膠化病毒感染性增加之間的關系持續推動對較精確測量解決方案的需求的增長。(圖片來源:TE Connectivity Measurement Specialties)
雖然在眾多不同的應用中,準確測量濕度和溫度至關重要,但相應的設計要求卻限制了開發人員輕松構建有效解決方案的能力。除了對高精度和低長期漂移要求外,許多應用還要求傳感器以最小封裝提供快速測量和低功耗操作能力,以便將傳感器放置在理想的測量點上,無論是 HVAC 加濕器、CPAP 濕度控制裝置還是精密環境監測系統。TE Connectivity 的HTU31D濕度和溫度數字傳感器可滿足越來越多依賴精確數據的應用的要求。
02
滿足關鍵測量要求的解決方案
HTU31D 具有體積小、精度高的特點,適用于從消費類產品到醫療和專業監測系統的各種應用。它采用 6 引腳封裝,尺寸為 2.5 x 2.5 x 0.9 毫米 (mm),已完全校準,無需額外的現場校準。由于其體積小,開發人員可以將傳感器放置在對早期傳感解決方案來說太小的位置,并使用現成的I2C緩沖器或電平移位器,通過其 I2C 串行接口將遠程放置的HTU31D 連接到其主機控制器。
HTU31D 測量的相對濕度范圍為 0 到 100%,典型精度為 ±2%,相對濕度滯后為 ±0.7%,典型長期漂移小于 0.25% RH/年。該器件的溫度測量范圍為 -40 至 125℃,典型精度為 ±0.2℃,典型長期漂移為 0.04℃/年。為了保持其可靠性,該傳感器集成了一個加熱元件,用于消除高濕度水平下的冷凝水,同時帶有內部診斷功能,以檢測測量誤差、加熱元件誤差和內部存儲器誤差。
在用于濕度和溫度測量的基準模式下,該傳感器的分辨率為 0.020% RH 和 0.040°C,轉換時間分別為 1 毫秒 (ms) 和 1.6 毫秒。對于更苛刻的要求,該器件還提供了讓開發人員以轉換時間為代價來提高分辨率的操作模式。在每個傳感器的最大分辨率模式下,HTU31D 可以提供 0.007% 的RH(轉換時間為 7.8 毫秒)和 0.012℃(轉換時間為 12.1 毫秒)的精度。
對于某些應用,如電池供電型產品,器件的低電流消耗是同樣重要的特性。在其基本分辨率模式下工作,每秒執行一次相對濕度和溫度測量,器件通常只需要 1.04 微安 (μA)。在非活動期間,可將器件置于休眠模式,通常只消耗 0.13 μA。當然,短暫地使用內部加熱器來消除冷凝水或測試溫度傳感器,同樣會導致電流短暫但顯著增加。
03
簡單的硬件和軟件接口
HTU31D 濕度和溫度數字傳感器為開發人員的設計提供了簡單的硬件和軟件集成接口。除了 3 至 5.5 伏供電電壓 (VDD)和接地 (GND) 引腳外,該器件的硬件接口還包括用于 I2C 標準串行數據 (SDA) 和串行時鐘 (SCL) 線路的引腳。其余兩個引腳包括一個復位 (RST) 引腳和一個地址 (IC_ADD) 引腳。當 IC_ADD 與 GND 或 VDD連接在一起時,該器件分別響應 I2C 地址 0x40 或 0x41,允許兩個 HTU31D 器件共享同一 I2C 總線而不發生沖突。
主機處理器使用基本的 I2C 串行事務處理進行命令和讀取結果發送。命令使用一個由 I2C 地址組成的雙字節序列,后接一個命令字節,通過設置各個位來指定支持的功能,具體包括綜合溫度和濕度測量、僅濕度測量、復位、加熱器打開或關閉、設備序列號和診斷。
例如,如要執行溫度和相對濕度 (T & RH) 綜合測量,主機將發送地址字節和一個包含轉換命令位和指定溫度和相對濕度測量所需分辨率的位的字節。該器件支持簡單輪詢方法,因此在發送兩個字節的轉換命令序列后,主機處理器將等待規格書中規定的與分辨率相關的持續時間,然后再發出一個帶有地址字節(0x40 或 0x41)的兩個字節序列,然后是 T&RH 讀命令字節 (0x0)(圖 2,頂行)。每次請求溫度和濕度測量時,HTU31D 會將通過發送原始值的上、下字節來做出響應(圖 2,下兩行)。利用 HTU31D 規格書中提供的一對公式將原始值轉換為相應的物理溫度和濕度值。
圖 2:HTU31D 濕度和溫度數字傳感器為快速獲得溫度和相對濕度測量提供了一個直接的接口。(圖片來源:TE Connectivity Measurement Specialties)
如圖 2 所示,HTU31D 在每一個 16 位數據序列后面都有一個字節,其中包含了器件生成的數據循環冗余校驗 (CRC) 值。該 CRC-8 校驗和能夠檢測出數據傳輸中任何地方的單個位錯誤或雙位錯誤,或 8 位窗口內的位錯誤群集。通過將這個傳輸的 CRC 值與從所接收數據計算出的 CRC 值進行比較,主機處理器可以快速識別失敗的傳輸,并采取適當的行動,如重復測量命令,短暫地打開 HTU31D 集成加熱元件,發出復位,或提醒用戶測量系統可能出現故障。
傳輸序列的另一個特點是,當發生某種覆蓋需求時,主機可以在其正常完成之前停止響應序列。在正常事務處理中,HTU31D 期望在第一個數據字節后有一個確認 (ack),在數據序列的最后有一個最后的不確認 (nack) 和停止序列(見圖 2)。當不需要 CRC 數據或濕度數據時,或者急需設備復位或加熱器激活等新命令時,開發人員可以使用此功能停止進一步傳輸。在這里,主機可以發出最后的 ack/stop 序列來立即終止來自傳感器的數據傳輸,而不是在數據或 CRC 字節之后發送預期的 ack。
TE 的 HTU31D 提供了一個直接的電氣和功能接口,但采用任何高敏感度的傳感器都需要仔細的物理設計,以避免因與板上其他設備的電氣或熱相互作用而產生測量偽影。同樣,在實現命令序列協議或值轉換等式方面時出錯也會拖延不斷演進的產品中的濕度和溫度傳感功能的評估和原型設計。MikroElektronika提供的擴展板和相關軟件允許開發人員繞過潛在實現問題,并能立即開始設計和開發。
04
快速原型設計和加速開發
MikroElektronikaMIKROE-4306基于 HTU31D 的 Temp & Hum 14 Click 擴展板完整實現了傳感器電氣接口(圖 3,左),它安裝在一塊尺寸為 28.6 x 25.4 mm 的電路板上(圖 3,右)。
圖 3:除了作為定制開發的參考設計原理圖(左)外,MikroElektronika Temp & Hum 14 Click 板(右)還為基于 HTU31D 傳感器的測量解決方案的即時評估和快速原型設計提供了一個平臺。(圖片來源:MikroElektronika)
與MikroElektronika 和其他供應商的其他mikroBUSClick擴展板一樣,MikroElektronikaTemp & Hum 14 Click 板旨在插入到主機處理器板(如 MikroElektronikaFusion開發板)中,并與MikroElektronika 的開源mikroSDK軟件開發框架一起使用。
MikroElektronika 為 mikroSDK 環境補充了軟件包,這些軟件包為特定的 Click 板和開發板提供了驅動程序和電路板支持。對于 Temp & Hum14 Click 板,MikroElektronika 為其Fusion 和其他 MikroElektronika 板系列提供Temp-Hum 14Click軟件包的綁定。
Temp-Hum 14 Click 軟件包支持使用HTU31D 專用功能庫進行開發,該功能庫可通過應用編程接口 (API) 訪問。隨附的示例應用程序演示了 HTU31D 傳感器的操作,使用了一組簡單的 API 函數,具體包括:
-
temphum14_set_conversion,執行前面提到的轉換序列
-
temphum14_get_temp_and_hum,執行傳感器的 T 和 RH 數據序列
-
temphum14_get_diagnostic,從 HTU31D 的片上診斷寄存器讀取錯誤狀態
該示例應用程序代碼演示了系統初始化、應用初始化和應用任務的執行。列表 1 顯示了旨在在 MikroElektronika Fusion forKINETIS v8MIKROE-3515開發板上運行的軟件包的一個片段,該開發板基于NXP的MK64FN1M0VDC12Arm Cortex-M4 Kinetis K60 微控制器。
副本
#include "Click_TempHum14_types.h"
#include "Click_TempHum14_config.h"
#include "Click_TempHum14_other_peripherals.h"
temphum14_diagn_t status_data;
uint32_t ser_numb;
float temperature;
float humidity;
char log_text[ 50 ];
[code deleted]
void system_init ( )
{
mikrobus_gpioInit( _MIKROBUS1, _MIKROBUS_RST_PIN, _GPIO_OUTPUT );
mikrobus_i2cInit( _MIKROBUS1, &TEMPHUM14_I2C_CFG[0] );
mikrobus_logInit( _LOG_USBUART, 9600 );
Delay_ms( 100 );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Temp-Hum 14 click ", _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
Delay_ms( 100 );
}
void application_init ( )
{
temphum14_i2c_driver_init( (temphum14_obj_t)&_MIKROBUS1_GPIO,
(temphum14_obj_t)&_MIKROBUS1_I2C,
TEMPHUM14_I2C_SLAVE_ADDR_GND );
Delay_ms( 100 );
mikrobus_logWrite( " Hardware Reset ", _LOG_LINE );
temphum14_hw_reset( );
Delay_ms( 100 );
ser_numb = temphum14_get_serial_number( );
LongWordToStr( ser_numb, log_text );
Ltrim( log_text );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Serial Number : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Software Reset ", _LOG_LINE );
temphum14_soft_reset( );
Delay_ms( 100 );
temphum14_get_diagnostic( &status_data );
Delay_ms( 10 );
display_diagnostic( );
Delay_ms( 100 );
}
void application_task ( )
{
temphum14_set_conversion( TEMPHUM14_CONVERSION_HUM_OSR_0_020,
TEMPHUM14_CONVERSION_TEMP_0_040 );
Delay_ms( 10 );
temphum14_get_temp_and_hum( &temperature, &humidity );
Delay_ms( 10 );
FloatToStr( temperature, log_text );
mikrobus_logWrite( " Temperature : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_TEXT );
mikrobus_logWrite( " C", _LOG_LINE );
FloatToStr( humidity, log_text );
mikrobus_logWrite( " Humidity : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_TEXT );
mikrobus_logWrite( " %", _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
Delay_ms( 3000 );
}
void main ( )
{
system_init( );
application_init( );
for ( ; ; )
{
application_task( );
}
}
列表 1:來自 MikroElektronika 示例應用程序代碼片段演示了初始化和執行一個簡單任務的基本設計模式,以便從 HTU31D 傳感器獲得溫度和相對濕度測量值。(代碼來源:MikroElektronika)
軟件包中包含的示例應用展示了使用 TE HTU31D 傳感器實現軟件應用程序的基本設計模式。如列表 1 所示,主例程首先調用系統初始化函數 (system_init()) 來設置包括 HTU31D 傳感器在內的低層驅動程序,并調用函數 (application_init()) 來初始化應用資源。在這種情況下,application_init()在執行傳感器復位和函數調用 (temphum14_get_diagnostic()) 以檢索傳感器的診斷信息并顯示診斷信息 (display_diagnostic()) 之前,會用傳感器對象的實例來初始化系統的I2C 驅動程序。
在短暫的初始化階段之后,樣本應用程序進入了一個無盡的循環,每隔三秒就會調用一個應用程序任務。在列表 1 所示的示例代碼中,應用任務請求以 0.020% RH 和 0.040°C 分辨率在如前所述的HTU31D 基準工作模式下進行轉換。在這種基準模式下,HTU31D 只需要 1 ms 來測量相對濕度,1.6 ms 來測量溫度。在調用 API 函數 temphum14_get_temp_and_hum() 之前,示例應用程序會使用 10 ms 的延遲 (delay_ms(10)) 來拉長等待時間,以獲取溫度和濕度值。由于該庫執行了將 HTU31D 的原始值轉換為物理溫度和濕度測量值所需的轉換,因此可以直接使用所產生的測量值,在這種情況下,只需記錄結果。
利用這個硬件平臺和相關的軟件環境,開發人員可以快速評估并開發 HTU31D 傳感器應用原型,以獲得各種分辨率的精確相對濕度和溫度測量值。如需進行定制硬件開發,MikroElektronika Temp & Hum 14 Click 板可作為完整的參考設計使用,同時包括完整的原理圖和物理設計。如需進行定制軟件開發,Temp-Hum 14 Click 軟件包提供了一個基本的模板,可以構建更全面的應用程序。
結語
濕度和溫度對結構和設備的完整性以及人類的健康和福祉起著至關重要的作用。然而,對濕度和溫度的管理是否合適有賴于測量的精度與普遍的測量方式的結合,由于傳統傳感器方案的限制,這些很難輕易實現。
TE Connectivity Measurement Specialties 的濕度和溫度傳感器提供了獨特的精度、穩定性、尺寸和易用性組合,可滿足消費、工業和醫療應用中新出現的測量要求。
參考文獻
-
環境濕度低會影響皮膚屏障功能和對流感感染的先天性抵抗力
-
高濕度導致模擬咳嗽空間中的傳染性流感病毒活性喪失
-
溫度和濕度對 SARS-CoV-2 和其他包膜病毒穩定性的影響
小編的話
對于樓宇、工廠、農業、醫療和家居等領域實現智能化而言,準確測量濕度和溫度至關重要,而如文章所言,在具體的系統方案設計中,看起來簡單的傳感系統卻往往需要克服包括精度、體積和功耗在內的多重挑戰。通過本文對軟硬件設計資源的介紹,相信能夠為小伙伴們進行環境傳感方案設計提供具有實用價值的參考。
您正在進行溫濕度傳感系統設計嗎?您有哪些問題或經驗?歡迎留言,和大家分享!
秘技知識學不停 專屬福利享不停
就等您加入!
點此登記
賺積分、換好禮
立即到「會員權益」查看您的禮遇! 如有任何問題,歡迎聯系得捷電子DigiKey的客服團隊中國(人民幣)客服
400-920-1199服務支持 > 聯系客服 > 微信客服service.sh@digikey.com QQ在線實時咨詢:4009201199
中國(美金)/ 香港客服
400-882-4440
852-3104-0500china.support@digikey.com
點擊下方“閱讀原文”查看更多
讓我知道你在看喲
原文標題:既要準又要小 溫濕度傳感難題怎么破?
文章出處:【微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
-
得捷電子
+關注
關注
1文章
255瀏覽量
8892
原文標題:既要準又要小 溫濕度傳感難題怎么破?
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論