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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于DS18B20和nRF2401的庫區(qū)測溫網(wǎng)絡(luò)無線傳輸系統(tǒng)

          基于DS18B20和nRF2401的庫區(qū)測溫網(wǎng)絡(luò)無線傳輸系統(tǒng)

          作者:劉寧 陳煒 時間:2015-10-09 來源:電子產(chǎn)品世界 收藏
          編者按:為解決庫區(qū)溫度測量布線難度大、材料成本高、維護(hù)檢修難的問題,論文提出了一種用單片機(jī)作為控制核心,用DS18B20搭建多點(diǎn)測溫網(wǎng)絡(luò),nRF2401作為傳輸器件的庫區(qū)溫度數(shù)據(jù)無線傳輸系統(tǒng)。經(jīng)實(shí)際測試,該系統(tǒng)測量準(zhǔn)確度高、傳輸距離遠(yuǎn)、性能可靠,具有較好的應(yīng)用前景。

            發(fā)送過程為:設(shè)置Config寄存器使器件處于發(fā)送模式,當(dāng)測溫節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送時,溫度和地址數(shù)據(jù)送到中,將CE管腳置高,激活ShockBurst發(fā)送模式,完成數(shù)據(jù)打包并高速發(fā)送,然后等待中斷。

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

            接收過程為:設(shè)置Config寄存器使器件處于接收模式,將CE管腳置高,激活ShockBurst接收模式,延時130μs后檢測空中信息,若接收到有效的數(shù)據(jù)包,則發(fā)送確認(rèn)信號,產(chǎn)生中斷,同時讀出有效數(shù)據(jù)并發(fā)送給,單片機(jī)通過串口將數(shù)據(jù)發(fā)給PC機(jī)。

          3.3.2 收發(fā)模式的自動識別設(shè)計

            為簡化編程,增強(qiáng)代碼通用性,本文為上位單片機(jī)和下位單片機(jī)設(shè)計了完全相同的同一套程序代碼,系統(tǒng)自動識別并設(shè)置工作模式,無需人為區(qū)分單片機(jī)是接收還是發(fā)送。實(shí)現(xiàn)接收和發(fā)送模式自動切換的代碼如下:

            void Switch_RT(uchar SW, uchar mode)

            { //收發(fā)模式切換子函數(shù)

            CE=0; //待機(jī)

            if(SW) //為1

            SPI_WR_Reg(CONFIG, SPI_RD(CONFIG) & 0xfe); //發(fā)射模式

            else //為0

            SPI_WR_Reg(CONFIG, SPI_RD(CONFIG) | 0x01); //接收模式if(mode)

            CE=1; //拉高CE啟動收發(fā)

            }

            程序默認(rèn)無線模塊處于接收模式,下位單片機(jī)測得溫度數(shù)據(jù)后,將Config寄存器的PRIM_RX位置0,控制工作于發(fā)送模式,將數(shù)據(jù)打包發(fā)出,隨即將PRIM_RX位置1,處于接收模式;上位機(jī)端接收到數(shù)據(jù)包后,即由上位單片機(jī)將其讀出并通過串口傳給上位PC機(jī)。

            PC機(jī)向下位機(jī)發(fā)送指令時,首先將指令發(fā)給上位單片機(jī),上位單片機(jī)一旦接到指令,即將PRIM_RX位置0,控制nRF2401工作于發(fā)送模式,發(fā)出數(shù)據(jù)包;下位單片機(jī)通過nRF2401接收后將數(shù)據(jù)包讀出執(zhí)行。

          4 系統(tǒng)運(yùn)行情況

            PC機(jī)應(yīng)用程序采用Visual Studio2010 VB.net編寫,上位單片機(jī)與PC機(jī)應(yīng)用程序之間的通信通過串口控件實(shí)現(xiàn),二者之間的參數(shù)設(shè)置需一致。

            程序運(yùn)行界面如圖4所示,各庫區(qū)溫度正常時,溫度值字體顏色正常,某庫區(qū)溫度超過正常值時,相應(yīng)溫度值字體以紅色顯示并閃爍,下位單片機(jī)自動接通對應(yīng)庫區(qū)繼電器,啟動散熱風(fēng)扇進(jìn)行降溫;當(dāng)溫度下降至正常值后,單片機(jī)控制繼電器關(guān)斷散熱風(fēng)扇,同時溫度值字體顏色恢復(fù)正常。溫度值右側(cè)標(biāo)簽顯示的數(shù)據(jù)是設(shè)定的正常溫度范圍。

            “庫區(qū)選擇”組合框中有10個復(fù)選框,對應(yīng)10個庫區(qū);按下“啟動風(fēng)扇”按鈕可對所選庫區(qū)進(jìn)行強(qiáng)制通風(fēng);按下“關(guān)閉風(fēng)扇”按鈕可強(qiáng)制關(guān)閉散熱風(fēng)扇;按下“溫度范圍設(shè)定”按鈕可對所選庫區(qū)報警溫度閾值進(jìn)行設(shè)置;按下“保存數(shù)據(jù)”按鈕可將庫區(qū)編號、溫度值、時間信息等保存至指定位置,便于查看分析。

          5 結(jié)論

            利用本文設(shè)計的系統(tǒng),可以采集10個重要庫所的溫度數(shù)據(jù),經(jīng)過單片機(jī)的處理,將數(shù)據(jù)通過nRF2401傳輸給PC機(jī)顯示。經(jīng)實(shí)測證明,此方案能準(zhǔn)確采集并傳送溫度數(shù)據(jù),傳送距離可達(dá)60米,空曠地帶接近100米,既避免了繁瑣的布線,又可有效防止惡劣天候的影響,采用元件少、簡單易行、成本低廉、性能可靠、便于檢修,是一種新穎實(shí)用的庫區(qū)溫度監(jiān)控系統(tǒng)。

          參考文獻(xiàn):

            [1]劉斌.基于nRF2401和GPRS的無線溫度傳輸系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012;35(15):46-48

            [2]王旭,馬汝建,王洪斌. 基于nRF24E1的多點(diǎn)無線測溫報警系統(tǒng)設(shè)計[J]. 濟(jì)南大學(xué)學(xué)報(自然科學(xué)版),2013;27(4);352-357

            [3]丁恩杰,蹤曉志.基于nRF24E1和的無線測溫系統(tǒng)[J].儀表技術(shù)與傳感器,2010;11(3);60-62

            [4]李飛,沈玲,黃熹. 1-Wire總線的構(gòu)建[J]. 電子產(chǎn)品世界,2012;(10);43-44

            [5]孫保群,王瓊. 基于nRF2401軟件跳頻協(xié)議的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012;38(5);46-48,51

            [6]郭吉術(shù),林明星,劉偉,等. 基于nRF2401的無線扭矩監(jiān)測系統(tǒng)[J].儀表技術(shù)與傳感器,2012;(12);57-60

            [7]朱嶸濤,徐愛鈞,葉傳濤. STC15單片機(jī)和nRF2401的無線門禁系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014;(6);57-60

            [8]王曉峰,張致恒,張 波,等. 基于nRF2401的高速路不停車收費(fèi)系統(tǒng)[J]. 電力學(xué)報,2009;24(5);431-433

            [9]呂勝杰,霍淑艷. 基于的單總線多點(diǎn)測溫技術(shù)[J].現(xiàn)代電子技術(shù),2011;34(2);185-187

            [10]陳佳聞. 基于多點(diǎn)測溫的溫室智能控制系統(tǒng)設(shè)計[J].山東農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2010;41(3);435-439


          上一頁 1 2 下一頁

          評論


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