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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應用 > 設(shè)施農(nóng)業(yè)中溫度動態(tài)測控系統(tǒng)的設(shè)計

          設(shè)施農(nóng)業(yè)中溫度動態(tài)測控系統(tǒng)的設(shè)計

          作者: 時間:2011-09-19 來源:網(wǎng)絡(luò) 收藏

          2.2 采集模塊
          采集模塊主要完成對環(huán)境數(shù)據(jù)的采集和轉(zhuǎn)換,并將采集到的溫度數(shù)據(jù)送給處理器。該模塊選用數(shù)字溫度傳感器DS18B20。數(shù)字溫度傳感器DS18B20是美國DALLAS公司推出的一種改進型智能溫度傳感器,能直接讀出被測溫度值,可利用串行方式與單片機實現(xiàn)通信,且僅占用一條數(shù)據(jù)線,僅需要一個端口引腳進行通信,因此從主機CPU到DS18B20僅需一條線連接,而且DS18B20的電源可由數(shù)據(jù)線本身提供(相對于外部電源,轉(zhuǎn)換時間要延長),占用單片機資源少;每一個DS18B20在出廠時已經(jīng)給定了唯一的序號,線上,實現(xiàn)多點組網(wǎng)功能;是數(shù)字傳感器,送入單片機的數(shù)據(jù)為二進制數(shù)據(jù),無需A/D轉(zhuǎn)換,便于處理,大大加快了微處理器的運算速度。DS18B20的測量范圍從-55~+125℃,增量為0.5℃(最高精度可達0.1℃),轉(zhuǎn)換速度小于1 s(典型值)。與單片機的連接方式如圖2所示。

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

          b.JPG


          由于該傳感器是單線通信,所以其通信時序就非常的重要。根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:
          1)每一次讀寫之前都必須要對DS18B20進行復位,即初始化時序;
          2)復位成功后發(fā)送一條ROM指令,進行寫時序;
          3)最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作,即讀時序。
          2.3 數(shù)據(jù)輸入模塊
          數(shù)據(jù)輸入模塊作為人機交換端口,目的是為了方便根據(jù)不同農(nóng)作物的生長需要,設(shè)定不同的最適生長的溫度值范圍,由小鍵盤和驅(qū)動電路組成。對小鍵盤的操作一是檢測是否有按鍵被按下;二是識別被按下的是哪一個鍵,并執(zhí)行相應的任務。
          2.4 控制模塊
          控制模塊是根據(jù)微處理器的處理結(jié)果,控制顯示與報警等外圍模塊電路的工作。若采集到的環(huán)境溫度值低于標準溫度范圍的最小值或者高于標準溫度范圍的最大值時,該模塊能夠通過繼電器控制加熱或者降溫設(shè)備工作。從而達到控制溫度的目的。

          c.JPG


          繼電器電路如圖3所示,圖中P1.1引腳用于控制加熱繼電器。給P1.1低電平,三極管導通,電磁鐵觸頭放下開始工作。



          評論


          相關(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); })();