<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于nRF905的低功耗溫濕度無線測量系統(tǒng)

          基于nRF905的低功耗溫濕度無線測量系統(tǒng)

          作者: 時間:2010-03-24 來源:網(wǎng)絡(luò) 收藏

          2.4 測量模塊
          本設(shè)計的測量所采用的是瑞士Sensiri2on公司生產(chǎn)的具有二線串行接口的單片全校準(zhǔn)數(shù)字式新型相對濕度和溫度傳感器SHT11,SHT11可用來測量相對濕度、溫度和露點(diǎn)等參數(shù),具有數(shù)字式輸出、免調(diào)試、免標(biāo)定、免外圍電路及全互換等特點(diǎn)。
          SHT11的濕度/溫度傳感器系統(tǒng)測量相對濕度的范圍是0~100%,分辨力達(dá)0.03%RH,最高精度為±2%RH。測量溫度的范圍是-40~+123.8℃,分辨力為O.1℃。
          SHT11傳感器默認(rèn)的測量溫度和相對濕度的分辨率分別為14位和12位,通過狀態(tài)寄存器可降至12位和8位,并具有可靠的C2RC數(shù)據(jù)傳輸校驗(yàn)功能。另電源電壓范圍為2.4~5.5 V;電流消耗?。簻y量時為550 μA,平均為28 μA,休眠時為3μA。是產(chǎn)品的最佳選擇之一。
          SHT11的應(yīng)用電路如圖5所示,VDD與GND間通過O.1μF的去耦電容相連,且其I2C接口的SCK,DATA直接與Atmega16L的兩線串行接口通過4.7 kΩ上拉電阻SCL與SDA相連,用于數(shù)據(jù)的傳輸交換。

          本文引用地址:http://www.ex-cimer.com/article/195488.htm


          2.5 上位機(jī)接口電路
          為了便于監(jiān)控,引入上位機(jī)功能,并加入串口通信模塊。3.3 V到RS 232電平(±12 V)的專用轉(zhuǎn)換芯片MAX3232的外圍電路如圖6所示,其中五個電容均取O.1μF的典型值。串口DB9只用三根線,5端公共端接系統(tǒng)的地,2,3端分別是接收和發(fā)送端。DB9接口通過交叉串口線連到PC機(jī)上,這樣就可以完成硬件串行通信。


          3 系統(tǒng)軟件設(shè)計
          系統(tǒng)軟件設(shè)計包括測量和無線收發(fā)兩個部分。
          3.1 溫濕度測量
          對于溫度和濕度,它們并非是急劇變化的物理量,溫濕度的變化往往是緩慢進(jìn)行的,因此針對這個特點(diǎn)對于溫濕度的測量采集并非需要時時刻刻都在進(jìn)行。而是每隔T時間(T根據(jù)實(shí)際需要而定,本系統(tǒng)選用1 s)采集一次,其余時間由于的要求使得MCU處于休眠狀態(tài)。其程序流程如圖7所示。其中Atmega16L進(jìn)入休眠狀態(tài)是通過對SE編程休眠使能,并且對SM 2.0編程后進(jìn)入相應(yīng)的省電模式狀態(tài),然后通過定時器的計時中斷將Atmega16L喚醒,再進(jìn)行測量以及數(shù)據(jù)傳輸。



          關(guān)鍵詞: nRF 905 低功耗 溫濕度

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();