<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 紅外通信技術(shù)在溫濕度變送器上的運用

紅外通信技術(shù)在溫濕度變送器上的運用

作者: 時(shí)間:2010-11-09 來(lái)源:網(wǎng)絡(luò ) 收藏

  接收部分電路框圖如圖2所示,在本系統中我們采用一體化接收頭HS0038,HS0038是黑色環(huán)氧樹(shù)脂封裝,不受日光、熒光燈等光源干擾,內附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號情況下,其接收距離可達35m,它能與TTL、COMS電路兼容。HS0038為直立側面收光型,它接收信號頻率為38kHz,周期約26μs,同時(shí)能對信號進(jìn)行放大、檢波、整形,得到TTL 電平的編碼信號。三個(gè)管腳分別是地、+5V電源、解調信號輸出端。

  PIC16F73經(jīng)過(guò)解碼得到SHT75的溫度和濕度數據后,通過(guò)處理程序進(jìn)行線(xiàn)性補償等處理,隨后將結果送LED顯示,同時(shí)也將結果通過(guò)PWM以及硬件電路,輸出工程上常用的4-20mA或者0-10V。

  4.系統各部分功能的實(shí)現

  系統軟件用C語(yǔ)言編寫(xiě),采用模塊化設計方法。分為發(fā)射部分程序和接收部分程序。發(fā)射部分包括主程序、編碼程序、發(fā)射程序等;接受部分包括主程序、解碼程序、數據處理程序、LED顯示程序、93C46讀寫(xiě)程序、定時(shí)驅動(dòng)程序、中斷服務(wù)程序、PWM輸出程序等。

  主程序是控制和管理的核心。系統上電后首先進(jìn)行系統初始化操作,初始化主要完成對芯片內部晶振的設定,所用芯片管腳的定義,雙向管腳輸入輸出方向的設定,對定時(shí)器的初始化,PWM模塊的初始化,中斷的初始化等。對芯片管腳的定義要做到資源的合理調配,比如說(shuō)每個(gè)IO在各個(gè)時(shí)間段用作什么功能要分配好,中斷初始化是因為在主程序運行起來(lái)后就要隨時(shí)等待中斷信號,實(shí)現系統的各部分功能,中斷初始化主要是定義中斷的觸發(fā)方式、中斷形式、中斷服務(wù)程序等。初始化完成后,系統開(kāi)始正常運轉,進(jìn)行檢測、編碼、紅外發(fā)射、接收、解碼、轉換、計算等,除此之外還要進(jìn)行PWM輸出等操作。

  溫濕度數據處理程序主要包括對溫度值和濕度值的檢測、計算、對結果進(jìn)行線(xiàn)性補償等。SHT75的相對濕度數字輸出特性曲線(xiàn)如圖3所示,由圖3可以看出,濕度輸出特性呈一定的非線(xiàn)性,因而要采用公式(1)進(jìn)行修正,其中SORH 為傳感器相對濕度測量值,各系數如表1所示。


表1 線(xiàn)性補償系數

圖3 濕度輸出特性

  濕度值還與當前溫度值相關(guān),因此還要對其進(jìn)行溫度補償,補償公式如公式(2)所示,各系數如表2所示。

表2 溫度補償系數

  除此之外,溫濕度處理程序還具有以下功能:一是設定溫度濕度測量的分辨率,默認的測量分辨率分別為14bit(溫度)、12bit(濕度),也可分別降至12bit和8bit,通常在高速或超低功耗的應用中采用該功能;二是“電量不足監測功能,該功能可監測到Vdd電壓低于2.47V(SHT75正常工作電壓范圍是2.4V~5.5V)的狀態(tài),精度為±0.05V;三是可以通過(guò)程序控制芯片上集成的可通斷加熱元件,接通后可將SHT75的溫度提高大約5℃(9H),功耗增加8mA@5V,此功能主要為了比較加熱前后的溫度和濕度值,可以綜合驗證兩個(gè)傳感器元件的性能,在高濕(>95%RH)環(huán)境中,加熱傳感器還可以預防結露,同時(shí)縮短響應時(shí)間,提高精度。

  LED共4位,每位8段,共占用12個(gè)IO通道。LED用于實(shí)時(shí)顯示當前溫度值或濕度值。4位LED中第一位用于區分溫度值和濕度值,如果該位不顯示或者是一個(gè)負號(-)就代表溫度,如果該位顯示(H)就代表濕度。后三位顯示相應的數值,其中最后一位是小數。

  結合93C46存儲芯片修改溫度和濕度上下限報警值。在測量過(guò)程中,如果溫度值或者濕度值達到報警值,蜂鳴器就會(huì )發(fā)出聲音。

  5.CRC校驗

  在現代工業(yè)中,利用微控制器進(jìn)行數據通訊的工業(yè)控制越來(lái)越廣泛。由于傳輸距離、現場(chǎng)狀況等諸多可能出現不確定因素的影響,微控制器與傳感器之間的通訊數據常會(huì )發(fā)生難以預測的錯誤。為了保證數據傳輸的可靠性,SHT75內部集成了循環(huán)冗余校驗(CRC-cyclicredundancy check)硬件電路。CRC是一種強有力的錯誤檢測技術(shù),在傳送信息時(shí),發(fā)送方根據所發(fā)送信息的具體內容計算出一個(gè)稱(chēng)為CRC的值,并連同信息串一起發(fā)送;而接收方則根據接收到的信息串用同樣的方法生成一個(gè)CRC值,若與收到的CRC值一致,則可以認為信息傳送正確。使用CRC雖然不能保證100%檢測到錯誤,但它可以極大地增加發(fā)現錯誤的機會(huì ),而且它只需要極少的硬件消耗就能實(shí)現,所以CRC被廣泛用作校驗手段。

  SHT75采用的CRC碼(又稱(chēng)為多項式碼)為,它能檢測出下列錯誤:所有的雙錯、奇數位錯、突發(fā)長(cháng)度小于等于8的突發(fā)錯、絕大部分突發(fā)長(cháng)度較長(cháng)的突發(fā)錯。測量完溫度(或濕度)后,根據測量的信息生成一個(gè)CRC值,然后一同發(fā)送到微控制器中去。微控制器根據接收到的信息按照同樣的方法生成一個(gè)CRC值,若與接收到的CRC值一致,則可以認為信息傳送正確;否則要求傳感器重新測量數據然后再按同樣的方式發(fā)送。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>