溫濕度傳感器
溫濕度傳感器多以溫濕度一體式的探頭作為測溫元件,將溫度和濕度信號(hào)采集出來,經(jīng)過穩(wěn)壓濾波、運(yùn)算放大、非線性校正、V/I轉(zhuǎn)換、恒流及反向保護(hù)等電路處理后,轉(zhuǎn)換成與溫度和濕度成線性關(guān)系的電流信號(hào)或電壓信號(hào)輸出,也可以直接通過主控芯片進(jìn)行串口或I2C等接口輸出。
主要使用場景
室內(nèi)環(huán)境監(jiān)測:溫濕度傳感器可以用于監(jiān)測室內(nèi)空氣的溫度和濕度水平,例如在辦公室、住宅、實(shí)驗(yàn)室等場所中。這對(duì)于保持室內(nèi)環(huán)境的舒適性、控制空調(diào)和加濕設(shè)備的運(yùn)行非常重要。
倉儲(chǔ)和物流:在倉儲(chǔ)和物流行業(yè)中,溫濕度傳感器被用于監(jiān)測存儲(chǔ)和運(yùn)輸環(huán)境的溫度和濕度。這對(duì)于保持貨物的質(zhì)量和安全非常關(guān)鍵,特別是對(duì)于某些易受溫濕度影響的產(chǎn)品,如食品、藥品等。
農(nóng)業(yè)和溫室種植:溫濕度傳感器在農(nóng)業(yè)和溫室種植中起著重要作用。它們可以幫助農(nóng)民監(jiān)測土壤的溫度和濕度水平,從而確定最佳的種植條件。此外,溫濕度傳感器還可用于控制溫室內(nèi)的溫度、濕度和灌溉系統(tǒng),以促進(jìn)作物的生長。
醫(yī)療保?。涸卺t(yī)療保健領(lǐng)域,溫濕度傳感器被廣泛應(yīng)用于醫(yī)院、實(shí)驗(yàn)室和藥房等地方。它們可以監(jiān)測藥品和生物樣本的溫度和濕度,確保其質(zhì)量和有效性。此外,溫濕度傳感器還可以用于監(jiān)測手術(shù)室和病房等區(qū)域的溫度和濕度,以提供舒適和安全的環(huán)境。
工業(yè)自動(dòng)化:在工業(yè)領(lǐng)域,溫濕度傳感器用于監(jiān)測和控制生產(chǎn)過程中的溫度和濕度。它們可以幫助維持設(shè)備的正常運(yùn)行,并監(jiān)測潛在的問題或故障。此外,溫濕度傳感器還可用于監(jiān)測工廠環(huán)境中的溫度和濕度,確保工作人員的安全和舒適。
這些只是溫濕度傳感器的一些主要使用場景,實(shí)際上它們在許多其他領(lǐng)域和應(yīng)用中也有廣泛的應(yīng)用,如能源管理、氣象預(yù)測、電子設(shè)備保護(hù)等。
基本原理
開發(fā)板集成了一個(gè)i2c接口的的AHT20溫濕度傳感器。i2c硬件原理見硬件手冊,通信協(xié)議見3.2.2小節(jié),我們前面這些章節(jié)已經(jīng)介紹了i2c的基本通信原理,本節(jié)我們主要關(guān)注的是AHT20作為i2c從設(shè)備,是如何與ELF 1板卡進(jìn)行通訊的。
傳感器通訊過程
(一)啟動(dòng)傳感器
第一步,將傳感器上電,電壓為所選擇的 VDD電源電壓(范圍介于2.0V與5.5V之間)。上電后傳感器最多需要20ms時(shí)間。(此時(shí)SCL為高電平)以達(dá)到空閑狀態(tài)即做好準(zhǔn)備接收由主機(jī) (MCU)發(fā)送的命令。
(二)啟動(dòng)/停止時(shí)序
每個(gè)傳輸序列都以Start狀態(tài)作為開始并以Stop 狀態(tài)作為結(jié)束。
啟動(dòng)傳輸狀態(tài)( S )- 當(dāng)SCL 為高電平時(shí),SDA 由高電平轉(zhuǎn)換為低電平。開始狀態(tài)是由主機(jī)控制的一種特殊的總線狀態(tài),指示從機(jī)傳輸開始( Start 之后,BUS 總線一般被認(rèn)為處于占線狀態(tài))
停止傳輸狀態(tài)(P)- 當(dāng)SCL 高電平時(shí),SDA 線上從低電平轉(zhuǎn)換為高電平。停止?fàn)顟B(tài)是由主機(jī)控制的一種特殊的總線狀態(tài),指示從機(jī)傳輸結(jié)束(Stop 之后,BUS 總線一般被認(rèn)為處于閑置狀態(tài))
(三)發(fā)送命令
在啟動(dòng)傳輸后,隨后傳輸?shù)氖鬃止?jié)包括7位的I2C設(shè)備地址 0x38和一個(gè)SDA方向位 x(讀R:‘1',寫W:‘0’)。在第8個(gè)SCL時(shí)鐘下降沿之后,通過拉低 SDA引腳 (ACK位),指示傳感器數(shù)據(jù)接收正常。 在發(fā)送測量命令0xAC之后,MCU必須等到測量完成,基本的命令在下方進(jìn)行概述。從機(jī)返回的狀態(tài)位說明。
???
(四)傳感器讀取流程
1.上電后要等待40ms,讀取溫濕度值之前, 首先要看狀態(tài)字的校準(zhǔn)使能位Bit[3]是否為 1(通過發(fā)送0x71可以獲取一個(gè)字節(jié)的狀態(tài)字),如果不為1,要發(fā)送0xBE命令(初始化),此命令參數(shù)有兩個(gè)字節(jié), 第一個(gè)字節(jié)為0x08,第二個(gè)字節(jié)為0x00,然后等待10ms。
2.直接發(fā)送 0xAC命令(觸發(fā)測量),此命令參數(shù)有兩個(gè)字節(jié),第一個(gè)字節(jié)為 0x33,第二個(gè)字節(jié)為0x00。
3.等待80ms待測量完成,如果讀取狀態(tài)字Bit[7]為0,表示測量完成,然后可以連續(xù)讀取六個(gè)字節(jié);否則繼續(xù)等待。
4.當(dāng)接收完六個(gè)字節(jié)后,緊接著下一個(gè)字節(jié)是CRC校驗(yàn)數(shù)據(jù),用戶可以根據(jù)需要讀出,如果接收端需要CRC校驗(yàn),則在接收完第六個(gè)字節(jié)后發(fā)ACK應(yīng)答,否則發(fā)NACK結(jié)束,CRC初始值為0XFF,CRC8校驗(yàn)多項(xiàng)式為:
5.計(jì)算溫濕度值。
(五)軟復(fù)位
用于在無需關(guān)閉和再次打開電源的情況下,重新啟動(dòng)傳感器系統(tǒng)。在接收到這個(gè)命令之后,傳感器系統(tǒng)開始重新初始化,并恢復(fù)默認(rèn)設(shè)置狀態(tài),軟復(fù)位所需時(shí)間不超過20 毫秒。